Neuerungen bei IBM i 7.5
In diesem Abschnitt finden Sie Informationen zu neuen oder erheblich geänderten Informationen für die Themensammlung zur Steuersprache.
Ausdrücke als Parameter zulassen, die im Parameter PARM für den Befehl Call (CALL) übergeben werden
Für einen Call (CALL) -Befehl, der von einer kompilierten ILE CL-Prozedur ausgegeben wird, können Sie jetzt Ausdrücke als Parameter angeben, die an die Parameter PARM übergeben werden.
Im folgenden Beispiel wird eine CL-Zeichenvariable als erster Parameter und ein numerischer Ausdruck als zweiter Parameter angegeben, der für den Befehl CALL (Aufruf) übergeben wurde.
DCL VAR(&CMD) TYPE(*CHAR) LEN(50)
CHGVAR VAR(&CMD) VALUE('call lib1/mypgm1')
CALL PGM(QSYS/QCMDEXC) PARM(&CMD %checkr(' ' &CMD))
Typ und Länge für die Parameter zulassen, die im Parameter PARM für den Befehl Call (CALL) übergeben werden
Für einen Call (CALL) -Befehl, der von einer kompilierten ILE CL-Prozedur ausgegeben wird, können Typ und Länge explizit angegeben werden, wenn die übergebenen Parameter Konstanten oder Ausdrücke sind, um anzugeben, wie die Parameter an das aufgerufene Programm übergeben werden.
Im folgenden Beispiel wird ein numerischer Ausdruck als erster Parameter und ein Zeichenausdruck als zweiter Parameter für den Befehl Call (CALL) angegeben. Art und Länge werden für jeden Parameter angegeben, um anzugeben, wie die Parameter an das aufgerufene Programm übergeben werden.
DCL VAR(&VAR1) TYPE(*INT) LEN(4) VALUE(1)
DCL VAR(&VAR2) TYPE(*INT) LEN(4) VALUE(2)
DCL VAR(&VAR3) TYPE(*CHAR) LEN(10) VALUE('sample')
DCL VAR(&VAR4) TYPE(*CHAR) LEN(10) VALUE('01')
CALL PGM(LIB1/MYPGM1) +
PARM(((&VAR1 + &VAR2) (*INT 4)) +
((&VAR3 *TCAT &VAR4) (*CHAR 50)))
MYPGM1:
PGM PARM(&ARG1 &ARG2)
DCL VAR(&ARG1) TYPE(*INT) LEN(4)
DCL VAR(&ARG2) TYPE(*CHAR) LEN(50)
...
Für einen Call (CALL) -Befehl, der interaktiv ausgeführt wird, können Typ und Länge explizit für die übergebenen Parameter angegeben werden, um anzugeben, wie diese Parameter an das aufgerufene Programm übergeben werden.
Im folgenden Beispiel eines interaktiven Aufrufs werden Typ und Länge für jeden Parameter angegeben.
===> CALL PGM(LIB1/MYPGM1) PARM((3 (*INT 4)) ('sample01' (*CHAR 50)))
Für einen Call (CALL) -Befehl, der für den Parameter CMD eines Submit Job (SBMJOB) -Befehls angegeben wird, der von einer kompilierten ILE CL-Prozedur ausgeführt wird, können Typ und Länge auch explizit angegeben werden, wenn die übergebenen Parameter CL-Variablen sind, um anzugeben, wie die Parameter an das aufgerufene Programm übergeben werden.
Im folgenden Beispiel eines übergebenen Befehls CALL werden Art und Länge für CL-Variablen angegeben, die als Parameter übergeben werden. Art und Länge der CL-Variablendeklarationen werden ignoriert.
DCL VAR(&VAR1) TYPE(*DEC) LEN(5 2) VALUE(3)
DCL VAR(&VAR2) TYPE(*CHAR) LEN(10) VALUE('sample01')
SBMJOB CMD(CALL PGM(LIB1/MYPGM1) PARM((&VAR1 (*INT 4)) +
(&VAR2 (*CHAR 50)))) +
LOG(4 0 *SECLVL)
Ausdrücke als Parameter zulassen, die im Parameter PARM für den Befehl Call Bound Procedure (CALLPRC) übergeben werden
Für einen Call Bound Procedure (CALLPRC) -Befehl, der von einer kompilierten ILE CL-Prozeduren abgesetzt wird, können Ausdrücke als Parameter angegeben werden, die an die PARM-Parameter übergeben werden.
Im folgenden Beispiel wird die integrierte Funktion %SIZE als erster Parameter angegeben, der für den Befehl Call Bound Procedure (CALLPRC) übergeben wird.
DCL VAR(&PTR) TYPE(*PTR)
DCL VAR(&BASED_DATA) TYPE(*CHAR) STG(*BASED) +
LEN(16) BASPTR(&PTR)
/* allocate 16 bytes of storage from the heap */
CALLPRC PRC('malloc') +
PARM((%SIZE(&BASED_DATA) *BYVAL (*int 4))) +
RTNVAL(&PTR)
/* set the allocated storage */
CHGVAR VAR(&BASED_DATA) VALUE('abcdefghijklmnop')
SNDPGMMSG MSG(&BASED_DATA)
/* deallocate storage */
CALLPRC PRC('free') PARM((&PTR *BYVAL))
Typ und Länge für die Parameter zulassen, die im Parameter PARM für den Befehl Call Bound Procedure (CALLPRC) übergeben werden
Bei einem Call Bound Procedure (CALLPRC) -Befehl, der von einer kompilierten ILE CL-Prozedur ausgegeben wird, können Typ und Länge explizit angegeben werden, wenn die übergebenen Parameter Konstanten oder Ausdrücke sind, um anzugeben, wie die Parameter an die aufgerufene Prozedur übergeben werden.
Im obigen Beispiel werden Typ und Länge für den ersten Parameter angegeben. Dies bedeutet, dass dieser Parameter als ganze Zahl mit 4 Byte an das aufgerufene Programm übergeben werden muss.
Mit der Suchfunktion für CL-Befehlekönnen Sie eine Liste aller neuen oder aller geänderten Befehle anzeigen.
Kennzeichnung neuer oder geänderter Informationen
- Das -Image, das markiert, wo neue oder geänderte Informationen beginnen.
- Das Symbol kennzeichnet die Stelle, an der neue oder geänderte Informationen enden.
In PDF-Dateien sehen Sie unter Umständen Änderungsmarkierungen (|) am linken Rand der neuen oder geänderten Informationen.
Weitere Informationen zu Neuerungen oder Änderungen in diesem Release finden Sie im Memo an Benutzer.