z/OS 用の EGL ビルド・スクリプトの変更

EGL では、z/OS® 用の準備プロセスを管理するためにビルド・スクリプトを使用します。ビルド・スクリプトは、次のタスクを実行します。

これらのビルド・スクリプトは、疑似 JCL (いくつかの制約事項および拡張機能がある JCL の 1 形式。疑似 JCL 構文を参照) を使用して作成されます。

ビルド・サーバーは、疑似 JCL を読み取って処理し、プログラムで指定された データ・セットに対してビルド・プログラムを呼び出します。 ビルド・スクリプトには、 DB2 プリプロセッサー、CICS 変換プログラム、COBOL コンパイラー、および z/OS リンケージ・エディターのロケーションが入っているデータ・セットを参照するため、 少なくともこれらのコード準備コンポーネントの実際のロケーションを指定するために配送済みビルド・スクリプトを変更する必要があります。

z/OS 用の EGL ビルド・スクリプトを変更するには、次のようにします。
  1. System 390 ビルド・サーバー上で PROCLIB を開く。 (z/OS ビルド・サーバーのインストールについては、「IBM® Rational® COBOL Runtime Guide for zSeries」を参照してください。)
  2. 編集するメンバー (ビルド・スクリプト) を選択する。
  3. メンバーを編集する。 z/OS 環境用の出力を作成する際に環境変数として常に渡される事前定義シンボリック・パラメーターについては、自動設定される事前定義シンボリック・パラメーターを参照してください。 EGL ビルド・スクリプト内で定義された置換変数のリストについては、ユーザーが設定可能な事前定義シンボリック・パラメーターを参照してください。
  4. メンバーを保存する。

EGL ビルド・スクリプトの変更の例

以下の例は、EGL ビルド・スクリプトに対して実行できる一般的な変更の例を示しています。

EGL ビルド・スクリプトが使用するビルド・コンポーネントのロケーションの変更

コンパイラー、リンケージ・エディター、およびデータベース・ライブラリーの PDS 命名規則が、EGL ビルド・スクリプトで使用されているものと異なる場合があります。 デフォルト値を変更するには、EGL ビルド・スクリプトで VARS 文を変更しなければなりません。 以下の例は、デフォルトの CICS および COBOL コンパイラー・ライブラリーの VARS 文を示しています。

//DEFAULTS VARS EZEPID=USER,
//              COBCICS=SYS1.SCEECICS,
//              COBCOMP=SYS1.IGY.SIGYCOMP,
//              COBLIB=SYS1.SCEELKED, 
...

これらのライブラリーの高位修飾子を MYSYS に変更するには、以下の構文を使用して、VARS 文を変更します。

//DEFAULTS VARS EZEPID=USER,
//              COBCICS=MYSYS.SCEECICS,
//              COBCOMP=MYSYS.IGY.SIGYCOMP,
//              COBLIB=MYSYS.SCEELKED, 
...

代わりに、COBCICS、COBCOMP、 および COBLIB の値をビルド・スクリプトのデフォルト値に設定したままで、EGL ビルド記述子パーツの対応する事前定義シンボリック・パラメーター COBCICS、COBCOMP、および COBLIB を必要な値に設定することもできます。

ビルド・スクリプト内または、事前定義シンボリック・パラメーターを設定した EGL ビルド記述子パーツ内いずれかの、 EGL ライブラリー (ELA 置換変数) およびデータベース・ライブラリー (DSNEXIT および DSNLOAD 置換変数) に対して同様の更新を行うことができます。

生成された COBOL ソースを保存するための EGL ビルド・スクリプトの変更

デフォルトでは、FDABCL、FDABPTCL、FDABTCL、FDACL、FDAPCL、FDAPTCL、および FDATCL のビルド・スクリプトは、生成されたソース・コードをビルド・サーバーに保存しません。ソース・コードを保存する場合は、ビルド・スクリプトの UPLOAD ステップで 文をコメント解除し、COBOL ソースをユーザー EZESRC データ・セットに保存させます。 例えば、ビルド・スクリプト FDACL に以下の文があるとします。
//*UPLOAD EXEC PGM=IEFBR14 
//*EZESRC   DD  DSN=&EZEPID..&SYSTEM..EZESRC,DISP=SHR,CCUEXT=CBL
これらの文をコメント解除して、以下のようにします。
//UPLOAD EXEC PGM=IEFBR14
//EZESRC   DD  DSN=&EZEPID..&SYSTEM..EZESRC,DISP=SHR,CCUEXT=CBL

EGL ビルド・スクリプトで必要なオプション

EGL ビルド・スクリプトでは、DB2 UDB、CICS 変換プログラム、または z/OS 用 COBOL コンパイラーを使用している場合に、特定の準備オプションが必要になります。

DB2 プリコンパイラーに必要なオプション

以下のオプションは、DB2 を使用する場合に必要です。これらのオプションは、FDAPCL および FDAPTCL ビルド・スクリプトに組み込まれています。
  • HOST(COB2)
  • APOSTSQL
  • QUOTE

CICS 変換プログラムに必要なオプション

以下のオプションは、CICS を使用する場合に必要です。これらのオプションは、FDAPTCL および FDATCL ビルド・スクリプトに組み込まれています。
  • COBOL2
  • NOSEQ
  • QUOTE
  • SP

DBCHAR 変数または MBCHAR 変数、あるいはリテラルが使用されている場合、 CICS 変換プログラムには DBCS オプションが必要です。ビルド・スクリプトには、 事前定義シンボリック・パラメーター EZEDBCS の設定に基づいてこのオプションが自動的に組み込まれており、したがって DBCHAR または MBCHAR の使用に基づいて設定されます。

z/OS 用 COBOL コンパイラーに必要なオプション

以下のオプションは、z/OS COBOL コンパイラーに必要で、 FDABCL、FDABPTCL、FDABTCL、FDACL、FDAPCL、FDAPTCL、および FDATCL のビルド・スクリプトに組み込まれています。
  • LIB
  • NODYNAM (後で詳しく説明する)
  • NUMPROC(NOPFD)
  • NOSEQ
  • QUOTE
  • RENT
  • TRUNC(BIN)

また、DBCHAR 変数または MBCHAR 変数、あるいはリテラルが使用されている場合、 COBOL コンパイラーには DBCS オプションが必要です。ビルド・スクリプトには、 事前定義シンボリック・パラメーター EZEDBCS の設定に基づいてこのオプションが自動的に組み込まれており、したがって DBCHAR または MBCHAR の使用に基づいて設定されます。

NODYNAM コンパイラー・オプションを使用すると、生成された COBOL プログラムへの IBM Rational COBOL Runtime for zSeries スタブ・プログラム の静的リンクが使用できるようになります。他のプログラムへの呼び出しは、 COBOL 呼び出しが CALL IDENTIFIER または CALL LITERAL のどちらで生成されているかによって 動的になる場合があります。
  • CALL IDENTIFIER は、常に動的呼び出しとなります。非 CICS 環境でデフォルトのリンケージを使用する場合、 EGL は、呼び出しまたはプログラムへ転送ステートメントに対してこのタイプの呼び出しを生成します。 また、EGL は、 DataTable プログラムおよび FormGroup 印刷サービス・プログラムへの呼び出しに対して CALL IDENTIFIER を使用します。 この方法により、印刷書式を含むデータ・テーブルおよび FormGroups を、それらを使用する プログラムとは別に生成することができます。
  • CALL LITERAL は、コンパイラー・オプションに基づいて動的呼び出しまたは静的呼び出しのいずれかに なります。静的リンケージを要求する場合、EGL はプログラムへの呼び出しステートメントまたはプログラムへ転送ステートメントに対してこのタイプの呼び出しを生成します。 EGL は、IBM Rational COBOL Runtime for zSeries モジュールへの呼び出しに対しても、このタイプの呼び出しを生成します。以下の IBM Rational COBOL Runtime for zSeries モジュールが 静的にリンクされます。
    • 頻繁に使用されるいくつかのモジュール
    • 主要なランタイム機能に動的にリンクするスタブ・モジュール

    EGL は NODYNAM コンパイラー・オプションに、すべての CALL LITERAL ステートメントを静的呼び出しとして処理するように要求します。

ビルド記述子オプションによって制御されるコンパイラー・オプション

以下の COBOL コンパイラー・オプションはビルド・スクリプトに組み込まれています。 以下のようにビルド記述子オプションを設定することによって、コンパイラー・オプションの値を変更することができます。
  • ARITH コンパイラー・オプションで、数値フィールドのサイズを指定します。 ARITH コンパイラー・オプションの設定を制御するには、maxNumericDigits ビルド 記述子オプションを ARITH(EXTEND) の 31 に、または ARITH (COMPAT) の 18 に設定します。EXTEND は数値項目の最大桁数を 18 から 31 に増やし、また、 中間結果がどのように計算されるかに影響を与えます。ビルド記述子オプションのデフォルトは 31 です。
  • DATA コンパイラー・オプションは、取得されるデータ域が 16 MB の境界より大きいか、小さいかを指定します。データ・ビルド記述子 オプションの DATA(24) に 24、DATA(31) に 31 を設定することによって、 DATA コンパイラー・オプションの設定を制御できます。ビルド記述子オプションのデフォルトは 31 です。

z/OS 用のビルド・スクリプトの他の COBOL コンパイラー・オプション

次のコンパイラー・オプションはビルド・スクリプトに組み込まれており、 そのオプションは、削除することができます。
  • OPTIMIZE コンパイラー・オプションは、高速のランタイム・パフォーマンスを提供しますが、 コンパイル時間を大幅に増やすことができます。テスト中は NOOPTIMIZE オプションを使用し、 プログラムを実動サーバーに移動する際には OPTIMIZE オプションを使用することを考慮してください。

z/OS 用のビルド・スクリプトにない COBOL コンパイラー・オプション

以下のコンパイラー・オプションはビルド・スクリプトに含まれていませんが、 これらのオプションが役に立つ場合があります。
  • オプションのリスト。COBLISTPARMS 事前定義シンボリック・パラメーターを 設定し、必要な LIST、MAP、および OFFSET の組み合わせを指定できます。 ビルド・スクリプトの COBLISTPARMS のデフォルトを NOLIST とします。
    • LIST

      COBOL ソース・コードのアセンブラー言語拡張を生成します。

    • MAP

      DATA DIVISION マップ、グローバル・テーブル、リテラル・プール、ネストされたプログラム 構造マップ、およびプログラム属性を含む、COBOL DATA DIVISION 情報のリストを生成します。

    • OFFSET

      モジュール内の 16 進数オフセットの相互参照リスト、およびそれに対応する COBOL ステートメント番号を生成します。これは、ランタイム環境でプログラムをデバッグする際に 役に立つためお勧めします。

  • SSRANGE

    実行時の添え字検査を行います。NOSSRANGE はランタイム添え字検査を 除去します。NOSSRANGE を使用するとパフォーマンスが改善されるため、 プログラムを実動環境に移動する際に NOSSRANGE を指定します。

  • TEST

    ランタイム環境において、デバッグ・ツールを使用可能にしてバッチおよび対話式デバッグを実行できるオブジェクト・コードを生成します。

COBOL コンパイラー・オプションについての詳細は、コンパイラーの文書を参照してください。

サポートされていない COBOL コンパイラー・オプション

COBOL コンパイラー・オプションの NAME はサポートされていません。


フィードバック