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
Noch nicht Abonnent? Sonderaktion nutzen.
Ü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.