Neu in 6.1: Der CL-Befehl INCLUDE

2. Januar 2011 | Von | Kategorie: Load`n`go, Programmierung

Eine der Neuerungen von i/OS 6.1. ist der CL-Befehl INCLUDE. Der Befehl ermöglicht es endlich, auch in OPM CL und ILE CL mit Copy-Strecken zu arbeiten. INCLUDE ist das entsprechende Gegenstück zur Anweisung /COPY in RPG und COBOL.

BurgyZapp

Load n go Dezember 2010

Mit i/OS 6.1 wurde eine Funktion eingeführt, die viele CL-Programmierer schon lange vermisst haben

von Dan Riehl

Es folgt der Download Code Dez. 2010 für Abonnenten:

Der Befehl INCLUDE wird in CLP- und CLLE-Quellen verwendet, um festzulegen, welche Quellenteildatei an der entsprechenden Stelle einkopiert werden soll. Das standardmäßige Format lautet:

INCLUDE SRCMBR(MYCOPY1) SRCFILE(*INCFILE)

Der Parameter SRCMBR bestimmt den Namen der Quellenteildatei, die während der Umwandlung an dieser Stelle eingefügt werden soll. Mit dem Parameter SRCFILE(*INCLUDE) legt man fest, dass die einzufügende Teildatei in der standardmäßigen Quellendatei gespeichert ist. Man kann aber auch eine andere Quellendatei als Repository für die einzufügende Copy-Strecke festlegen:

INCLUDE SRCMBR(MYCOPY1) SRCFILE(MYLIB/INCLUDES)

In unserem Beispiel zeigen wir zwei INCLUDE-Quellenteildateien, die man zur einheitlichen Fehlerbehandlung verwenden kann.

Die Quellenteildatei CPY_ERR

Der erste Quellcode, CPY_ERR, enthält einige DCL-Anweisungen und eine globale MONMSG-Anweisung. Die DCL-Anweisungen deklarieren die Variablen, die für die Fehlerbehandlungs-Routine in der zweiten COPY-Quelle, CPY_ERR2, benötigt werden.

DCL VAR(&MSGID) TYPE(*CHAR) LEN(7)
DCL VAR(&MSGF) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGFLIB) TYPE(*CHAR) LEN(10)
DCL VAR(&MSGDTA) TYPE(*CHAR) LEN(512)
MONMSG MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR))

Die Quellenteildatei CPY_ERR2

Die allgemeine Fehlerbehandlungs-Routine könnte so aussehen:

ERROR: RCVMSG MSGTYPE(*LAST) MSGDTA(&MSGDTA) +
MSGID(&MSGID) MSGF(&MSGF) +
SNDMSGFLIB(&MSGFLIB)
MONMSG MSGID(CPF0000) /* ZUR SICHERHEIT */
SNDPGMMSG MSGID(&MSGID) +
MSGF(&MSGFLIB/&MSGF) MSGDTA(&MSGDTA) +
MSGTYPE(&ESCAPE)
MONMSG MSGID(CPF0000) /* ZUR SICHERHEIT */

Die folgende Quellenteildatei namens TEST_ERR dient als Beispiel für ein CL-Programm, das die INCLUDE-Anweisungen an den passenden Stellen enthält.

Die Quellenteildatei TEST_ERR

Über den Autor

Dan Riehl (dan.riehl@SecureMyi.com) ist Vorstand und Sicherheitsexperte der IT Security and Compliance Group, LLC. Er schreibt seit mehr als 20 Jahren für System iNews und ist Herausgeber des System iNetwork E-Mail-Newsletters Systems Management.

Schlagworte: , , , , , , , , ,

Schreibe einen Kommentar

Sie müssen eingeloggt sein, um einen Kommentar schreiben.