COBOL 生成に使用するシンボリック・パラメーター

シンボリック・パラメーターは、生成時に値で置換される変数です。 これは、以下の場所で使用することができます。
シンボリック・パラメーターには、次の 3 種類があります。
自動設定される事前定義シンボリック・パラメーター
これらのパラメーターは、生成時に自動設定される事前定義シンボルに対して代入される 値で、生成中のパーツや生成プロセスで使用可能なその他の情報に基づいています。これらのシンボルの値は、 変更できません。
ユーザーが設定可能な事前定義シンボリック・パラメーター
ビルド・スクリプト・テンプレートで使用する所定の事前定義シンボルがあり、 生成時にこれらを設定することができます。また、生成される COBOL コードを制御する、ユーザーが設定可能な事前定義シンボルがいくつかあります。 これらのシンボリック・パラメーターは、大部分のお客様が必要とする情報に対して 使用されますが、通常、お客様ごとに固有の値を持っています。 例えば、通常、COBOL コンパイラーが含まれているデータ・セットの名前はお客様ごとに異なります。これらのタイプのパラメーターについて詳しくは、ユーザーが設定可能な事前定義シンボリック・パラメーターを参照してください。
ユーザー定義のシンボリック・パラメーター
ターゲット・ランタイム環境用に、次のカスタマイズが必要となる場合があります。
  • EGL 提供ビルド・スクリプト
  • EGL 提供の、z/OS 用ランタイム JCL テンプレートまたは iSeries 用ランタイム CL テンプレート
  • バインディング・パッケージ用のテンプレートとして使用するバインド制御パーツ
  • テンプレートとして使用するリンク・エディット・パーツ
上記のいずれかをカスタマイズする際、追加のステップまたは処理が必要となる場合があります。 場合によっては、追加の作業で生成時に変更可能な変数が必要となります。 これを行うために、ユーザー定義のシンボリック・パラメーターを作成または変更することができます。 それには、EGL ビルド・パーツ・エディターを使用して、ビルド記述子でシンボリック・パラメーターに値を指定します。 すると、ビルド・スクリプトまたはテンプレートでこれらのユーザー定義のシンボリック・ パラメーターを参照することができるようになります。

定義済みのシンボリック・パラメーターとユーザー定義のシンボリック・パラメーターはともに、COBOL 出力を準備するために使用するビルド・スクリプト内で、 置換変数として使用できます。COBOL のビルド時に、EGL はすべてのシンボリック・パラメーターをビルド・サーバーに渡します。 渡された値によって、同じ名前のビルド・スクリプト置換変数の値が提供され、 これらの置換変数のデフォルト値 (ある場合) がオーバーライドされます。詳しくは、z/OS 用の EGL ビルド・スクリプトの変更および「IBM® Rational® Business Developer EGL Server Guide for IBM i」を参照してください。

事前定義シンボリック・パラメーターの値をいくつか指定できます。事前定義シンボリック・パラメーターのほか、独自のシンボリック・パラメーターを定義することもできます。定義したこれらの各パラメーターに値を割り当てます。 例えば、シンボリック・パラメーター MYDIR には、ディレクトリー名を含めることができます。 同じビルド記述子内に同じシンボリック・パラメーター (MYDIR など) を 2 回定義することはできません。

生成に使用するビルド記述子で、複数のビルド記述子をチェーニングするための nextBuildDescriptor オプションを使用し、かつ、互いにチェーニングされる複数のビルド記述子内で同じ名前のシンボリック・パラメーターを定義した場合、生成時に使用される値は、ビルド記述子パーツで説明されている優先順位のルールに従って決定されます。 例えば、マスター・ビルド記述子内のシンボリック・パラメーター MYDIR に割り当てられる値は、その他のビルド記述子内の MYDIR に割り当てられる値よりも高い優先順位を持ちます。

zSeries COBOL 環境の言語コード・ページの設定

EGL ビルド記述子シンボリック・パラメーターを使用して zSeries 用の 言語コード・ページを設定できます。

EGL で定義できる STRING および UNICODE データ型の他にも、 言語には STRING として定義される内部リテラルがあります。これらの STRING および UNICODE の値はすべて、COBOL で PIC N として、USAGE NATIONAL 修飾子とともに 実装されています。COBOL コンパイラーは、これらの PIC N の値を Unicode 値に正しく変換するために、変換に使用するコード・ページを認識する必要があります。 システム・プログラマーが COBOL コンパイラー用に CODEPAGE オプションを構成していない場合、または間違ったページが指定されている場合は、自分で正しい値を設定する 必要がある場合があります。

これを EGL で行う場合は、COBOL 生成に使用するビルド計画を見つけて開きます。 パネルの右側で、ビルド・サーバーに渡される、生成固有の シンボリック・パラメーターを入力することができます。以下の例のように、COBLISTPARMS パラメーターの すべての既存の値に CODEPAGE(####) を追加します。
COBLISTPARMS	LIST,NOOPT,CODEPAGE(1147)

CODEPAGE パラメーターの正しい値については、COBOL の資料を参照してください。 下の表には、リストの一部が含まれています。

表 1. zSeries COBOL 用の CODEPAGE 値のサンプル
言語
420 アラビア語
274 ベルギー語 (旧)
275 ブラジル・ポルトガル語
935 中国語 (簡体字)
1371, 937 中国語 (繁体字)
277 デンマーク語
437 英語 (オーストラリア)
1146, 285 英語 (英国)
1140, 437 英語 (米国)
278 フィンランド語
1147, 297 フランス語
273 ドイツ語
875 ギリシャ語
424, 803 ヘブライ語
1149, 871 アイスランド語
1144, 280 イタリア語
1390, 290, 930, 939 日本語
1364, 933 韓国語
1153, 870, 1148, 500 ラテン語
277 ノルウェー語
1156 ロシア語 (バルト語)
1025, 1158 ロシア語 (キリル文字)
1122, 1157 ロシア語 (エストニア語)
1112 ロシア語 (ラトビア語)
1112 ロシア語 (リトアニア語)
1123, 1158 ロシア語 (ウクライナ語)
1145, 284 スペイン語
278 スウェーデン語
838 タイ語
1026 または 1155 トルコ語

シンボリック・パラメーターは、 genDirectory ビルド記述子オプションと destDirectory ビルド記述子オプション、ビルド・スクリプト、テンプレート、リンク・エディット・パーツ、またはバインド制御パーツの値の中で使用できます。

シンボリック・パラメーターを genDirectorydestDirectory ビルド記述子オプションで使用する場合は、パラメーター名をパーセント記号 (%) で区切って、シンボリック・パラメーターの値を参照します。例えば、生成が実行された時刻を参照したい場合は、以下のコードを使用します。
 %EZEGTIME%

値を割り当てる際に、シンボリック・パラメーターを複数使用することもできます。 例えば、次のシンボルは、日付と時刻をスペースで区切って表します。

        %EZEGDATE% %EZEGTIME%

例えば、genDirectoryC:¥MyProject¥%EZEENV% を設定し、system ビルド記述子オプションに ZOSCICS を設定した場合、生成される出力は、C:¥MyProject¥ZOSCICS に書き込まれます。

ビルド・スクリプトでシンボリック・パラメーターを使用する場合は、シンボリック・パラメーター名の前にアンパーサンド (&) を付け、パラメーター名の後にピリオド (.) を付加して値を参照します。
        &EZEGDATE.
例えば、ビルド・スクリプトに次の行が含まれている場合を考えてみます。
//EZESRC   DD DSN=&MYHLQ..;&SYSTEM..EZESRC;,DISP=SHR
system ビルド記述子オプションを ZOSCICS に設定して、ユーザー定義のシンボリック・パラメーター MYHQL を値 MYQUAL に設定した場合、ビルド・スクリプト内の結果行は、次のようになります。
//EZESRC   DD DSN=MYQUAL.ZOSCICS.EZESRC,DISP=SHR

フィードバック