Bei der COBOL-Generierung verwendete symbolische Parameter

Symbolische Parameter sind Variablen, die während der Generierungszeit durch Werte ersetzt werden. Sie können für folgende Elemente verwendet werden:
Es gibt drei verschiedene Typen symbolischer Parameter:
Vordefinierte symbolische Parameter, die automatisch gesetzt werden
Dies sind Substitutionswerte für vordefinierte Symbole, die bei der Generierung automatisch gesetzt werden. Dabei basieren die Werte auf dem Abschnitt, der generiert wird, oder auf anderen Informationen, die während des Generierungsprozesses zur Verfügung stehen. Der Wert für diese Symbole kann nicht geändert werden.
Vordefinierte symbolische Parameter, die vom Benutzer gesetzt werden können
Es gibt bestimmte vordefinierte Symbole, die in Build-Scripts und Schablonen verwendet werden und während der Generierungszeit gesetzt werden können. Zusätzlich gibt es ein paar vordefinierte Symbole, die Sie setzen können und die Auswirkungen auf den generierten COBOL-Code haben. Diese symbolischen Parameter werden für Informationen verwendet, die für die meisten Kunden erforderlich sind, die in der Regel aber für jeden Kunden einen eindeutigen Wert haben. Der Name der Datei, die den COBOL-Compiler enthält, variiert in der Regel für jeden Kunden. Informationen zu diesen Parametertypen finden Sie unter Vordefinierte symbolische Parameter, die vom Benutzer gesetzt werden können.
Benutzerdefinierte symbolische Parameter
Sie müssen möglicherweise folgende Elemente für Ihre Ziellaufzeitumgebung anpassen:
  • Von EGL bereitgestellte Build-Scripts
  • Von EGL bereitgestellte Laufzeit-JCL-Schablonen für z/OS oder Laufzeit-CL-Schablonen für iSeries
  • Bindungssteuerungsabschnitt, der als Schablone für Bindungspakete verwendet werden soll
  • Linkbearbeitungsabschnitt, der als Schablone verwendet werden soll
Wenn Sie eines der obigen Elemente anpassen, müssen Sie eventuell zusätzliche Schritte oder Verarbeitungsprozesse hinzufügen. Für einige der Ergänzungen sind möglicherweise Variablen erforderlich, die während der Generierungszeit geändert werden können. Dazu können Sie benutzerdefinierte symbolische Parameter erstellen oder ändern, indem Sie mit dem EGL-Build-Parts-Editor Werte für die symbolischen Parameter in Ihrem Builddeskriptor angeben. Anschließend können Sie in Ihren Build-Scripts oder Schablonen auf diese benutzerdefinierten symbolischen Parameter verweisen.

Die vordefinierten und benutzerdefinierten symbolischen Parameter stehen in den Build-Scripts für die Vorbereitung der COBOL-Ausgabe als Substitutionsvariablen zur Verfügung. Während der COBOL-Buildzeit übergibt EGL alle symbolischen Parameter an den Build-Server. Die übergebenen Werte stellen die Werte für die Build-Script-Substitutionsvariablen mit denselben Namen bereit und überschreiben die Standardwerte (falls vorhanden) für diese Substitutionsvariablen. Details hierzu finden Sie unter EGL-Build-Scripts für z/OS ändern und im Handbuch IBM® Rational Business Developer EGL Server Guide for IBM i.

Sie können die Werte für einige vordefinierte symbolische Parameter angeben. Zusätzlich zu den vordefinierten symbolischen Parametern können Sie auch Ihre eigenen symbolischen Parameter definieren und jedem definierten Parameter einen Wert zuordnen. Der symbolische Parameter MYDIR könnte zum Beispiel den Namen eines Verzeichnisses enthalten. Sie können nicht denselben symbolischen Parameter (wie MYDIR) zweimal in demselben Buildddeskriptor definieren.

Wenn der für die Generierung verwendete Builddeskriptor mit der Option nextBuildDescriptor mehrere Builddeskriptoren verkettet und Sie den symbolischen Parameter gleichen Namens in mehreren verketteten Builddeskriptoren definieren, wird der während der Generierungszeit verwendete Wert von den Vorrangregeln bestimmt, die in Builddeskriptorabschnitt beschrieben werden. Der dem symbolischen Parameter MYDIR im Master-Builddeskriptor zugeordnete Wert hat zum Beispiel Vorrang vor dem Wert, der MYDIR in einem der anderen Builddeskriptoren zugeordnet ist.

Sprachencodepage für zSeries-COBOL-Umgebung festlegen

Sie können symbolische Parameter für EGL-Builddeskriptoren verwenden, um die Sprachencodepage für zSeries festzulegen.

Außer den Datentypen STRING und UNICODE, die Sie in EGL definieren können, verfügt die Sprache über interne Literale, die als STRING definiert sind. Alle diese STRING- und UNICODE-Werte werden in COBOL als PIC N mit dem Qualifikationsmerkmal USAGE NATIONAL implementiert. Damit der COBOL-Compiler diese PIC N-Werte korrekt in Unicode-Werte umsetzt, muss die Codepage für die Umsetzung bekannt sein. Wenn die Systemprogrammierer die Option CODEPAGE nicht für den COBOL-Compiler konfiguriert haben oder wenn die falsche Codepage angegeben ist, müssen Sie möglicherweise den richtigen Wert selbst definieren.

Suchen und öffnen Sie dazu in EGL den für die COBOL-Generierung verwendeten Buildplan. Auf der rechten Seite der Anzeige können Sie generierungsspezifische symbolische Parameter eingeben, die an den Build-Server übergeben werden. Fügen Sie CODEPAGE(####) zu allen vorhandenen Werten für den Parameter COBLISTPARMS hinzu; siehe dazu folgendes Beispiel:
COBLISTPARMS	LIST,NOOPT,CODEPAGE(1147)

Den korrekten Wert für den Parameter CODEPAGE können Sie den COBOL-Handbüchern entnehmen. Die folgende Tabelle enthält eine Teilliste:

Tabelle 1. Beispielwerte für CODEPAGE für zSeries-COBOL
Wert Sprache
420 Arabisch
274 Belgien (Alt)
275 Brasilianisches Portugiesisch
935 Vereinfachtes Chinesisch
1371, 937 Traditionelles Chinesisch
277 Dänisch
437 Englisch (Australien)
1146, 285 Englisch (GB)
1140, 437 Englisch (USA)
278 Finnisch
1147, 297 Französisch
273 Deutsch
875 Griechisch
424, 803 Hebräisch
1149, 871 Isländisch
1144, 280 Italienisch
1390, 290, 930, 939 Japanisch
1364, 933 Koreanisch
1153, 870, 1148, 500 Lateinischer Zeichensatz
277 Norwegisch
1156 Russisch (Baltisch)
1025, 1158 Russisch (Kyrillisch)
1122, 1157 Russisch (Estnisch)
1112 Russisch (Lettisch)
1112 Russisch (Litauisch)
1123, 1158 Russisch (Ukrainisch)
1145, 284 Spanisch
278 Schwedisch
838 Thailändisch
1026 oder 1155 Türkisch

Beispiele

Sie können symbolische Parameter in den Werten für die Builddeskriptoroptionen genDirectory und destDirectory, in Build-Scripts, Schablonen oder in den Linkbearbeitungs- oder Bindungssteuerungsabschnitten verwenden.

Wenn Sie symbolische Parameter in den Builddeskriptoroptionen genDirectory und destDirectory verwenden, verweisen Sie auf den Wert eines symbolischen Parameters, indem Sie den Parameternamen mit Prozentzeichen (%) begrenzen. Wenn Sie beispielsweise auf die Zeit verweisen wollen, zu der die Generierung ausgeführt wird, verwenden Sie folgenden Code:
 %EZEGTIME%

Sie können auch mehrere symbolische Parameter verwenden, um einen Wert zuzuordnen. Beispiel: Die folgenden Symbole stellen Datum und Uhrzeit getrennt durch ein Leerzeichen dar:

        %EZEGDATE% %EZEGTIME%

Wenn genDirectory zum Beispiel auf C:\MyProject\%EZEENV% gesetzt ist und die Builddeskriptoroption system auf ZOSCICS, wird die Generierungsausgabe in C:\MyProject\ZOSCICS geschrieben.

Wenn Sie symbolische Parameter in Build-Scripts verwenden, verweisen Sie auf den Wert, indem Sie dem Namen des symbolischen Parameters ein Et-Zeichen (&) voranstellen und einen Punkt (.) an den Parameternamen anhängen:
        &EZEGDATE.
Es folgt ein Beispiel eines Build-Scripts, das folgende Zeile enthält:
//EZESRC   DD DSN=&MYHLQ..;&SYSTEM..EZESRC;,DISP=SHR
Wenn Sie die Builddeskriptoroption system auf ZOSCICS und den benutzerdefinierten symbolischen Parameter MYHQL auf den Wert MYQUAL setzen, ergibt sich folgende Zeile im Build-Script:
//EZESRC   DD DSN=MYQUAL.ZOSCICS.EZESRC,DISP=SHR

Feedback