Bindungssteuerungsabschnitt

Wenn Sie für z/OS Programme, Bibliotheken oder Services generieren, die auf eine SQL-Tabelle zugreifen, nimmt EGL die folgenden Schritte in den Buildplan auf:

Bindungssteuerungsabschnitte werden nur für DB2-Programme verwendet, die für z/OS-Systeme generiert werden. Die Bindungssteuerung dient dazu, sicherzustellen, dass das Programm und DB2 dieselbe Version haben. Mit den Informationen im Bindungssteuerungsabschnitt wird die Bindungssteuerdatei erstellt, die an den DB2-Prozessor übergeben wird. Die Bindungssteuerdatei gibt an, welche Datenbankanforderungsmodule (DBRMs) im DB2-Plan enthalten sind, der während der Vorbereitungszeit erstellt wird.

Es können mehrere Bindungssteuerungsabschnitte definiert werden. Die Builddeskriptoroption bind gibt an, welcher Bindungssteuerungsabschnitt in die Generierungsausgabe aufgenommen wird.

Standardmäßigen Bindungssteuerungsabschnitt verwenden

EGL generiert eine Bindungssteuerdatei für die Verwendung im DB2-Bindungsschritt. Standardmäßig bindet EGL einen Plan, der nur das Datenbankanforderungsmodul für das generierte Programm bzw. die generierte Bibliothek oder den generierten Service enthält, sowie alle von EGL bereitgestellten Datenbankanforderungsmodule, die abhängig von der Laufzeitumgebung erforderlich sind. EGL verwendet die folgende integrierte Schablone zum Erstellen des Bindebefehls:
TSOLIB ACTIVATE DA('%DSNLOAD%')
ALLOC FI(DBRMLIB) SHR DA('%EZEPID%.%SYSTEM%.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('%ELA%.SELADBRM')
DSN SYSTEM($DSYS%)
BIND PLAN(%EZEALIAS%) -
    MEMBER(%EZEALIAS%) -
    ACT(REP) -
    RETAIN -
    VALIDATE(BIND) -
    ISOLATION(CS)
*   OWNER(OWNERGRP)
Die integrierte Schablone verwendet symbolische Parameter (zum Beispiel %SYSTEM%), mit denen der eigentliche Bindebefehl generiert werden kann. Beispiel: Sie generieren das Programm MAILORDR und geben die folgenden Einstellungen an:
  • Die Builddeskriptoroption system wird auf "ZOSBATCH" gesetzt.
  • Die Builddeskriptoroption projectID wird auf "ORDERSYS" gesetzt.
  • Der vordefinierte symbolische Parameter "DSNLOAD" wird auf "DSN8HLQ.DSNLOAD" gesetzt.
  • Der vordefinierte symbolische Parameter "ELA" wird auf "ELAHLQ.V5R0M0" gesetzt.
  • Der vordefinierte symbolische Parameter "DSYS" wird auf "DSN8" gesetzt.
Dann erstellt EGL folgenden Bindebefehl:
TSOLIB ACTIVATE DA('DSN8HLQ.DSNLOAD')
ALLOC FI(DBRMLIB) SHR DA('ORDERSYS.ZOSBATCH.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('ELAHLQ.V5R0M0.SELADBRM')
DSN SYSTEM(DSN8)
BIND PLAN(MAILORDR)
    MEMBER(MAILORDR, ELADBRM4) -
    ACT(REP) -
    RETAIN -
    VALIDATE(BIND) -
    ISOLATION(CS)
*   OWNER(OWNERGRP)
ELADBRM4 ist ein von EGL bereitgestelltes Datenbankanforderungsmodul, das in der z/OS Batch-Umgebung verwendet wird.

Bindungssteuerungsabschnitt als Schablone einrichten

Sie ziehen es möglicherweise vor, Pakete in einem vorhandenen Plan zu binden. Dazu müssen Sie einen EGL-Bindungssteuerungsabschnitt erstellen, der eine Schablone für alle Bindungen in einer bestimmten Umgebung enthält. Diesen Abschnitt müssen Sie dann in Ihrem Arbeitsbereich speichern.

Beispiel: Sie könnten folgenden Bindungssteuerungsabschnitt mit dem Namen "BIND_TEMPLATE" erstellen:

TSOLIB ACTIVATE DA('%DSNLOAD%')
ALLOC FI(DBRMLIB) SHR DA('%EZEPID%.%SYSTEM%.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('%ELA%.SELADBRM')
DSN SYSTEM(%DSYS%)
BIND PACKAGE(%MYCOLLECTIONNAME%) -
     MEMBER(%EZEALIAS%) -
     ACT(REP) -
     RETAIN -
     VALIDATE(BIND) -
     ISOLATION(CS)
*    OWNER(OWNERGRP)

Im vorherigen Beispiel ist "MYCOLLECTIONNAME" ein benutzerdefinierter symbolischer Parameter, den Sie in Ihrem Builddeskriptorabschnitt erstellen können und für den Sie dort einen Wert festlegen können. Die anderen symbolischen Parameter sind die, die in der integrierten EGL-Schablone verwendet werden.

Außer dem Erstellen des EGL-Bindungssteuerungsabschnitts als Schablone sind die folgenden Aktionen erforderlich:
  • Builddeskriptorabschnitt ändern. Sie müssen die Builddeskriptoroption bind so definieren, dass sie auf Ihren Bindungssteuerungsabschnitt (BIND_TEMPLATE) verweist.
  • Ein Paket für die von EGL bereitgestellten Datenbankanforderungsmodule in der folgenden Situation in jedem DB2-Plan binden:
    • Wenn Sie eine z/OS Batch-Laufzeitumgebung nur mit DB2 haben, wird von EGL das Datenbankanforderungsmodul ELADBRM4 bereitgestellt.
    • Wenn Sie eine IMS/VS-Laufzeitumgebung mit einer DB2-Arbeitsdatenbank haben, wird von EGL das Datenbankanforderungsmodul ELADBRM3 bereitgestellt.

Programmspezifischen Bindungssteuerungsabschnitt einrichten

Wenn Sie Pläne binden, ist für jedes Programm regelmäßig ein anderer Bindebefehl erforderlich. Dies liegt daran, dass alle Programme für eine einzelne Ausführungseinheit (zum Beispiel eine CICS- oder IMS-Transaktion oder ein einzelner Batch-Jobschritt) mit einem einzelnen Bindebefehl gebunden werden müssen. Hierzu können Sie einen programmspezifischen Bindungssteuerungsabschnitt zum Binden eines Plans für das Programm mit allen anderen Programmen erstellen, die in derselben Ausführungseinheit enthalten sind. Es stehen zwei Verfahren zur Verfügung:
  1. Programmspezifischen Bindungssteuerungsabschnitt mit demselben Namen wie das Programm, die Bibliothek oder den Service erstellen. Standardmäßig sucht EGL nach einem Bindungssteuerungsabschnitt mit demselben Namen wie der Abschnitt, der generiert wird.
  2. Programmspezifischen Bindungssteuerungsabschnitt mit einem anderen Namen als das Programm, die Bibliothek oder den Service erstellen. In diesem Fall müssen Sie die Builddeskriptoroption bind jedes Mal auf den Namen des Bindungssteuerungsabschnitts setzen, wenn Sie das Programm, die Bibliothek oder den Service generieren.
Beispiel: ProgramA ruft ProgramB auf und beide Programme verwenden SQL. Zum Binden eines DB2-Plans, der die Datenbankanforderungsmodule für beide Programme enthält und für z/OS Batch verwendet werden kann, benötigen Sie einen programmspezifischen Bindungssteuerungsabschnitt wie folgenden:
TSOLIB ACTIVATE DA('DSN8HLQ.DSNLOAD')
ALLOC FI(DBRMLIB) SHR DA('ORDERSYS.ZOSBATCH.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('ELAHLQ.V5R0M0.SELADBRM')
DSN SYSTEM(DSN8)
BIND PLAN(MYABPLAN) -
     MEMBER(PROGRAMA,PROGRAMB,ELADBRM4) -
     ACT(REP) -
     RETAIN -
     VALIDATE(BIND) -
     ISOLATION(CS) -
*    OWNER(OWNERGRP)
ELADBRM4 ist das von EGL bereitgestellte Datenbankanforderungsmodul, das für die z/OS Batch-Umgebung erforderlich ist, wenn DB2 verwendet wird.

Sie können einen Bindungssteuerungsabschnitt mit dem Namen ProgramA und einen identischen Bindungssteuerungsabschnitt mit dem Namen ProgramB erstellen, sodass EGL automatisch den programmspezifischen Bindungssteuerungsabschnitt findet. Alternativ können Sie auch einen einzelnen Bindungssteuerungsabschnitt mit dem Namen MYABPLAN erstellen und die Builddeskriptoroption bind so definieren, dass sie auf MYABPLAN verweist, wenn Sie ProgramA oder ProgramB generieren.

Informationen zum Zugriff auf Daten in SQL-Datenbanken mit EGL finden Sie im Thema "SQL-Datenzugriff" und in verwandten Themen in der EGL-Sprachreferenz.


Feedback