Die Eigenschaft parmForm im Element callLink im Verbindungsoptionsabschnitt gibt das Format der Aufrufparameter an.
Die Eigenschaft parmForm betrifft die Generierung des aufrufenden Programms. Bei Verwendung von COBOL in einer CICS-Umgebung betrifft diese Eigenschaft auch die Generierung des aufgerufenen Programms.
Wenn Sie ein COBOL-Programm generieren, wird
parmForm anwendbar, wenn die beiden folgenden Bedingungen zutreffen:
- Die Eigenschaft pgmName bezieht sich auf das generierte Programm oder auf ein CICS-basiertes Programm, das vom generierten Programm aufgerufen wird.
- Die Eigenschaft type ist 'localCall' oder 'remoteCall':
- Wenn type 'localCall' ist, sind die gültigen Werte für parmForm (wie nachfolgend beschrieben) CHANNEL, CICSOSLINK, COMMDATA, COMMPTR (Standardwert) und OSLINK (der Standardwert für den z/OS-Batch)
- Wenn type 'remoteCall' ist, sind die gültigen Werte parmForm
CHANNEL, CICSOSLINK, COMMDATA (Standardwert) sowie (wenn Sie sich auf ein COBOL-Programm beziehen, das vom Java™-Code aufgerufen wurde)
COMMPTR und OSLINK.
Wenn Sie ein Java-Programm generieren, ist
parmForm in dieser Situation anwendbar:
- Die Eigenschaft pgmName bezieht sich auf ein CICS-basiertes Programm, das von dem generierten Programm aufgerufen wurde. UND
- Die Eigenschaft type ist ejbCall oder remoteCall. In beiden Fällen sind die gültigen Werte für parmForm (wie nachfolgend beschrieben) CHANNEL, COMMDATA (Standardwert) und COMMPTR.
Wenn Sie einen Java-Wrapper generieren, ist
parmForm in folgendem Fall anwendbar:
- Die Eigenschaft pgmName bezieht sich auf ein generiertes COBOL-Programm, das mithilfe eines Java-Wrappers aufgerufen wird. UND
- Die Eigenschaft type ist 'ejbcall' oder 'remoteCall'. In beiden Fällen lauten die gültigen Werte für parmForm (wie nachfolgend beschrieben) CHANNEL, COMMDATA (Standardwert) oder COMMPTR.
Wählen Sie einen Wert aus dieser Liste aus:
- CHANNEL
Für das Parameterformat CHANNEL werden Container an einen Kanal übergeben. Ein Kanal ist eine Gruppe von Containern, die wie Parameter für die Übergabe von Daten zwischen CICS-Programmen funktionieren.
Es wird keine COMMAREA im Parameterformat CHANNEL übergeben.
Wenn ein mit EGL generiertes Programm einen Kanal an ein aufgerufenes Programm übergibt, hat der Kanal denselben Namen wie das aufgerufene Programm. Wenn ein von EGL aufgerufenes Programm einen Kanal empfängt, verwendet das Programm einen CICS-API-Aufruf, um den Namen des Kanals abzurufen, der übergeben wurde.
Die Container werden EGL-PARM-1
bis EGL-PARM-n genannt, wobei der maximale Wert für n 30 beträgt.
Wenn Sie zum Beispiel drei Parameter vom Typ INT, Record
(33.000 Byte) und EGL STRING übergeben, enthält der Kanal drei Container wie in der folgenden Tabelle dargestellt:
Tabelle 1. Beispiel für Container und Parameter| Containername |
Wert im Container |
| EGL-PARM-1 |
4 Byte, die INT darstellen |
| EGL-PARM-2 |
33.000 Byte, die den Datensatz darstellen |
| EGL-PARM-3 |
4 Byte, die den Verweis auf die Zeichenfolge STRING darstellen (das aufgerufene Programm muss EGL sein) |
- CICSOSLINK
- Gibt an, dass die Standardübergabekonventionen für COBOL-Parameter wirksam sind und das aufgerufene Programm daher Verweise auf Daten erwartet.
Die EIB und COMMAREA von CICS werden stets als die beiden ersten Argumente übergeben und von den programmspezifischen Argumenten gefolgt.
Die Verwendung von CICSOSLINK erfordert die folgenden Einstellungen:
- Die Eigenschaft type ist 'localCall' oder 'remoteCall'
- Die Eigenschaft linkType ist STATIC oder DYNAMIC
- COMMDATA
- Gibt an, dass das aufrufende Programm Geschäftsdaten (und keine Verweise auf Daten) in der COMMAREA angibt.
Jeder Argumentwert wird auf den Puffer verschoben und ohne Rücksicht auf die Ausrichtung auf Bytegrenzen an den vorherigen Wert angefügt.
COMMDATA
ist der Standardwert wenn die Eigenschaft type 'remoteCall' oder 'ejbCall' ist.
- COMMPTR
- Gibt an, dass das aufrufende Programm wie folgt funktioniert:
- Stellt eine Serie von 4-Byte-Verweisen in die COMMAREA, wobei ein Verweis für ein übergebenes Argument steht
- Legt für das höchstwertige Bit des letzten Verweises 1 fest.
COMMPTR ist der Standardwert, wenn die Eigenschaft type 'localCall' ist.
- OSLINK
- Gibt an, dass die Standardübergabekonventionen für COBOL-Parameter wirksam sind und das aufgerufene Programm daher Verweise auf Daten erwartet, jedoch ohne CICS EIB oder
COMMAREA.
OSLINK ist nur gültig, wenn Sie ein COBOL-Programm generieren. Die Verwendung von OSLINK erfordert die folgenden Einstellungen:
- Die Eigenschaft type ist 'localCall' oder 'remoteCall'.
- Die Eigenschaft linkType ist STATIC oder DYNAMIC.