Übersicht über den Verbindungsoptionsabschnitt

Ein Abschnitt mit Verbindungsoptionen gibt Details zu den folgenden Punkten an:
  • Wie ruft ein generiertes Java™-Programm oder ein Wrapper anderen generierten Code auf?
  • Wie ruft ein generiertes COBOL-Programm generierten Code auf und wie wird es von anderem generierten Code aufgerufen?
  • Wie startet ein generiertes Java- oder COBOL-Programm ein anderes Programm asynchron?
  • Wie überträgt ein generiertes Java- oder COBOL-Programm die Steuerung beendet die Verarbeitung?
  • Wie greift ein generiertes CICS COBOL-Programm auf Dateien in fernen CICS-Regionen zu?

Angeben, wann Verbindungsoptionen endgültig sind

Bei einem generierten COBOL-Programm werden die bei der Generierung angegebenen Verbindungsoptionen zur Ausführungszeit wirksam. Bei generiertem Java-Code können Sie zwischen den folgenden zwei Alternativen auswählen:
  • Die bei der Generierung angegebenen Verbindungsoptionen werden zur Ausführungszeit wirksam.
  • Die bei der Implementierung in einer Verbindungseigenschaftendatei angegebenen Verbindungsoptionen werden zur Ausführungszeit wirksam, wenn Sie das Element callLink verwenden. Sie können diese Datei zwar von Hand schreiben. Doch wird sie in der folgenden Situation von EGL erstellt:
    • Sie setzen die Eigenschaft remoteBind des Elements callLink der Verbindungsoptionen auf RUNTIME und
    • Sie generieren ein Java-Programm oder einen Wrapper, für das/den die Builddeskriptoroption genProperties auf GLOBAL oder PROGRAM gesetzt ist.

    Details zur Verwendung der Datei finden Sie im Abschnitt Verbindungseigenschaftendatei.

Elemente eines Verbindungsoptionsabschnitts

Der Verbindungsoptionsabschnitt umfasst eine Gruppe von Elementen, die jeweils eine Reihe von Eigenschaften und Werten enthalten. Die folgenden Typen von Elementen stehen zur Verfügung:

  • Das Element callLink gibt die Verbindungskonventionen an, die EGL für einen bestimmten Aufruf verwendet.
    • Wenn Sie ein COBOL-Programm generieren, gelten folgende Abhängigkeiten:
      • Wenn das Element callLink auf das generierte Programm verweist, bestimmt dieses Element Aspekte der programmspezifischen Parameter. Es legt beispielsweise fest, ob das Programm Zeiger auf Daten oder die Daten selbst erwartet. Darüber hinaus können Sie mit diesem Element bestimmen, ob Sie einen Java-Wrapper generieren möchten, der den Zugriff auf den COBOL-Code über den nativen Java-Code zulässt. Einen Überblick hierzu finden Sie im Abschnitt "Java-Wrapper generieren".
      • Wenn das Element callLink auf ein Programm verweist, das von dem generierten Programm aufgerufen wird, gibt dieses Element an, wie der Aufruf implementiert wird. Es legt beispielsweise fest, ob der Aufruf lokal oder fern ausgeführt wird.
    • Wenn Sie ein Java-Programm generieren, das ein anderes Programm aufruft, und wenn das Element callLink auf das aufgerufene Programm verweist, gibt das Element callLink an, wie der Aufruf implementiert wird. Es legt beispielsweise fest, ob der Aufruf lokal oder fern ausgeführt wird.

      Wenn Sie angeben, dass das aufrufende Java-Programm für den Aufruf eine EJB-Session-Bean verwendet, bewirkt das Element callLink die Generierung einer EJB-Session-Bean.

  • Das Element asynchLink gibt an, wie ein generiertes Java- oder COBOL-Programm ein anderes EGL-generiertes Programm oder ein VisualAge Generator-Programm asynchron startet. Dies ist der Fall, wenn das Übertragungsprogramm die Systemfunktion vgLib.startTransaction aufruft.
  • Das Element transferToProgram gibt an, wie ein generiertes Programm die Steuerung auf ein Programm überträgt und die Verarbeitung beendet. Dieses Element hat nur bei einem Hauptprogramm, das die Anweisung transfer to program ausgibt, Bedeutung.
  • Das Element transferToTransaction gibt an, wie ein generiertes Programm die Steuerung an eine Transaktion übergibt und die Verarbeitung beendet. Dieses Element hat nur bei einem Hauptprogramm, das die Anweisung transfer to transaction ausgibt, Bedeutung.
  • Das Element fileLink gibt an, wie ein CICS COBOL-Programm auf eine bestimmte VSAM-Datei oder eine Warteschlange mit transienten Daten zugreift.

Programme, Dateien oder Datensätze ermitteln, die von Elementen referenziert werden

In jedem Element eines Verbindungsoptionsabschnitts ermittelt eine Eigenschaft (zum Beispiel pgmName) die Programme, Dateien oder Datensätze, auf die das Element verweist. Bei dem Wert dieser Eigenschaft kann es sich um einen gültigen Namen, einen Stern oder den Anfang eines gültigen Namens gefolgt von einem Stern handeln, sofern keine andere Angabe gemacht wurde. Der Stern entspricht einem Platzhalter für mindestens ein Zeichen und ist eine Möglichkeit, eine Gruppe von Namen zu ermitteln.

Angenommen, das Element callLink enthält den folgenden Wert für die Eigenschaft pgmName:

  myProg*

Dieses Element bezieht sich auf einen beliebigen EGL-Programmabschnitt, der mit den Buchstaben myProg beginnt.

Wenn mehrere Elemente gültig sind, verwendet EGL das erste gültige Element. Beispielsweise kann eine Gruppe von callLink-Elementen die folgenden Werte für pgmName in der angegebenen Reihenfolge aufweisen:

   YourProgram
   YourProg*
   *

Beachten Sie das Element, das dem letzten Wert zugeordnet ist. Hier ist der Wert für pgmName nur ein Stern. Ein solches Element könnte auf jedes Programm angewendet werden. Im Falle eines bestimmten Programms gilt das letzte Element jedoch nur, wenn die vorherigen Elemente nicht zutreffen. Wenn Ihr Programm beispielsweise YourProgram01 aufruft, ersetzt die im zweiten Element (YourProg*) angegebene Verbindung das dritte Element (*), um zu definieren, wie EGL den Aufruf verarbeitet.

In den meisten Fällen sollten Element mit spezifischeren Namen vor Elementen mit allgemeineren Namen stehen. Im vorherigen Beispiel steht das Element mit dem Stern an der gemäß Standardverbindungsspezifikationen richtigen Stelle.

Sehen wir uns nun ein weiteres Beispiel an, dessen fileLink-Elemente für fileName die folgenden Werte in der angegebenen Reihenfolge aufweisen:
  File01
  File*
  *

Wenn Ihr Programm auf eine Datei mit dem Namen File01 zugreift, gibt das erste Element an, wie CICS auf diese Datei zugreift. Greift Ihr Programm jedoch auf eine Datei mit dem Namen "Personnel" zu, gilt das letzte Element. Dieses gibt die Standardinformationen für die Verarbeitung der Datei an.