Die Eigenschaft
type im Element
callLink im Verbindungsoptionsabschnitt gibt die Art des Aufrufs an. Wählen Sie einen der folgenden Werte aus:
- ejbCall
- Gibt an, dass das generierte Java™-Programm oder der Wrapper den Programmaufruf mithilfe einer EJB-Session-Bean implementiert und dass die EJB-Session-Bean auf das COBOL oder Java-Programm zugreift, das in der Eigenschaft pgmName angegeben ist. Der Wert 'ejbCall' ist in zwei Fällen anwendbar:
- Sie generieren einen Java-Wrapper für ein
COBOL- oder Java-Programm und der Wrapper ruft das Programm mithilfe einer EJB-Session-Bean auf.
In diesem Fall bezieht sich die Eigenschaft pgmName auf das Programm, das vom Wrapper aufgerufen wurde, und Ihre Verwendung von 'ejbCall' bewirkt die Generierung der EJB-Session-Bean.
- Sie generieren ein Java-Programm, das ein generiertes COBOL oder Java-Programm mithilfe einer EJB-Session-Bean aufruft. In diesem Fall bezieht sich die Eigenschaft pgmName auf das aufgerufene Programm und es wird keine EJB-Session-Bean generiert.
Für beide Fälle gilt: Wenn Sie eine EJB-Session-Bean verwenden, müssen Sie einen
Java-Wrapper generieren,
und sei es nur, um die EJB-Session-Bean zu generieren.
Die generierte Session-Bean muss auf einem
Enterprise-Java-Server implementiert werden. Außerdem muss eine der folgenden Bedingungen
erfüllt sein:
- Der Namensserver, der verwendet wurde, um die EJB-Session-Bean zu lokalisieren, befindet sich auf demselben System wie der Code, der diese Session-Bean aufruft. ODER
- Die Eigenschaft providerURL identifiziert, wo der Namensserver sich befindet.
Wenn Sie eine EJB-Session-Bean verwenden möchten, müssen Sie das aufrufende Programm oder den Wrapper mit einem Verbindungsoptionsabschnitt generieren, in dem der Wert der Eigenschaft type für das aufgerufene Programm 'ejbCall' ist. Sie können die Entscheidung über die Verwendung einer Session-Bean nicht während der Implementierungszeit treffen. Wenn Sie für die Eigenschaft remoteBind RUNTIME festlegen, können Sie jedoch zur Implementierungszeit entscheiden, wie die EJB-Session-Bean auf das generierte Programm zugreift, obwohl es effizienter ist, diese Entscheidung zur Generierungszeit zu treffen.
- localCall
- Gibt an, dass der Aufruf keine EGL-Middleware verwendet. Das aufgerufene Programm ist in diesem Fall derselbe Prozess wie das aufrufende Programm.
Wenn das aufrufende Programm ein COBOL-Programm ist, wird die Situation weiter von anderen Eigenschaften definiert. Die wichtigsten sind linkType und (für CICS-COBOL-Programme) parmForm.
Diese Eigenschaften haben Standardwerte, die Sie übernehmen oder überschreiben können.
Der Standardwert ist localCall und es ist der einzige gültige Wert für ein z/OS-Batch-COBOL-Programm.
- remoteCall
- Gibt an, dass der Aufruf EGL-Middleware verwendet.
Wenn das aufrufende Programm ein CICS-COBOL-Programm ist, befindet sich das aufgerufene Programm in derselben oder einer anderen CICS-Region und verwendet den Befehl EXEC CICS LINK mit einer System-ID.
Die Quelle der System-ID wird durch den Wert der Eigenschaft location bestimmt.
Wenn das aufrufende Programm Java-Code ist, wird die Kommunikation von dem Protokoll gehandhabt, das in der Eigenschaft remoteComType angegeben wurde.
In jedem Fall finden Sie weitere Informationen zu gültigen Werten für parmForm im Abschnitt "'parmForm' im Element 'callLink'".
Wenn ein fester Datensatz mit einer Eigenschaft oder mit beiden Eigenschaften
lengthItem und
numElementsItem an einen Aufruf übergeben wird, gelten die folgenden Aussagen:
- Für die für den Datensatz angegebene maximale Länge wird Platz reserviert.
- Wenn der Wert für die Eigenschaft type von callLink 'remoteCall' oder 'ejbCall' lautet, muss sich das Feld, das von lengthItem (falls vorhanden) angegeben wird, innerhalb des Datensatzes befinden.