z/OS 用 EGL ビルド・スクリプトの変更
- EGL プログラム、ライブラリー、サービス、FormGroup、または DataTable パーツから生成されるコードを含め、COBOL プログラム用にコンパイルし、リンクします。
- プログラム、ライブラリー、またはサービスで SQL I/O が実行される場合、DB2® プリコンパイルおよびバインドを実行します。
- z/OS CICS® 環境用にプログラム、ライブラリー、またはサービスが生成された場合に、CICS 変換を実行します。
これらのビルド・スクリプトは、疑似 JCL (いくつかの制約事項および拡張機能がある JCL の 1 形式。疑似 JCL 構文を参照) を使用して作成されます。
ビルド・サーバーは、疑似 JCL を読み取って処理し、プログラムで指定された データ・セットに対してビルド・プログラムを呼び出します。 ビルド・スクリプトには、 DB2 プリプロセッサー、CICS 変換プログラム、COBOL コンパイラー、および z/OS リンケージ・エディターのロケーションが入っているデータ・セットを参照するため、 少なくともこれらのコード準備コンポーネントの実際のロケーションを指定するために配送済みビルド・スクリプトを変更する必要があります。
- System 390 ビルド・サーバー上で PROCLIB を開く。 (z/OS ビルド・サーバーのインストールについては、「IBM® Rational® COBOL Runtime Guide for zSeries」を参照してください。)
- 編集するメンバー (ビルド・スクリプト) を選択する。
- メンバーを編集する。 z/OS 環境用の出力を作成する際に環境変数として常に渡される事前定義シンボリック・パラメーターについては、自動設定される事前定義シンボリック・パラメーターを参照してください。 EGL ビルド・スクリプト内で定義された置換変数のリストについては、ユーザーが設定可能な事前定義シンボリック・パラメーターを参照してください。
- メンバーを保存する。
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 ビルド・スクリプトの変更
//*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 プリコンパイラーに必要なオプション
- HOST(COB2)
- APOSTSQL
- QUOTE
CICS 変換プログラムに必要なオプション
- COBOL2
- NOSEQ
- QUOTE
- SP
DBCHAR 変数または MBCHAR 変数、あるいはリテラルが使用されている場合、 CICS 変換プログラムには DBCS オプションが必要です。ビルド・スクリプトには、 事前定義シンボリック・パラメーター EZEDBCS の設定に基づいてこのオプションが自動的に組み込まれており、したがって DBCHAR または MBCHAR の使用に基づいて設定されます。
z/OS 用 COBOL コンパイラーに必要なオプション
- LIB
- NODYNAM (後で詳しく説明する)
- NUMPROC(NOPFD)
- NOSEQ
- QUOTE
- RENT
- TRUNC(BIN)
また、DBCHAR 変数または MBCHAR 変数、あるいはリテラルが使用されている場合、 COBOL コンパイラーには DBCS オプションが必要です。ビルド・スクリプトには、 事前定義シンボリック・パラメーター EZEDBCS の設定に基づいてこのオプションが自動的に組み込まれており、したがって DBCHAR または MBCHAR の使用に基づいて設定されます。
- 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 ステートメントを静的呼び出しとして処理するように要求します。
ビルド記述子オプションによって制御されるコンパイラー・オプション
- 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 ステートメント番号を生成します。これは、ランタイム環境でプログラムをデバッグする際に 役に立つためお勧めします。
- LIST
- SSRANGE
実行時の添え字検査を行います。NOSSRANGE はランタイム添え字検査を 除去します。NOSSRANGE を使用するとパフォーマンスが改善されるため、 プログラムを実動環境に移動する際に NOSSRANGE を指定します。
- TEST
ランタイム環境において、デバッグ・ツールを使用可能にしてバッチおよび対話式デバッグを実行できるオブジェクト・コードを生成します。
COBOL コンパイラー・オプションについての詳細は、コンパイラーの文書を参照してください。
サポートされていない COBOL コンパイラー・オプション
COBOL コンパイラー・オプションの NAME はサポートされていません。