テンプレートおよびコピーブックの概念
コピーブックは、COBOL データ記述項目、PL/I DECLARE ステートメント、または HLASM データ記述項目が入っている PDS メンバーです。
- COBOL Copybook
- コピーブック内の各レベル 01 グループ項目はセグメント・レイアウトについて記述し、グループ中の基本項目はレイアウト中のフィールドについて記述しています。例えば、次のコピーブックは固定長セグメント・タイプの 3 つのレイアウト (SHIRE、SHIRE-TOWN、および SHIRE-CITY) について記述しています。
01 SHIRE. 05 SHIRE-KEY. 10 SHIRE-NAME PIC X(20). 05 SHIRE-TYPE PIC X(1). 88 SHIRETYPE-SHIRE VALUE '0'. 88 SHIRETYPE-TOWN VALUE '1'. 88 SHIRETYPE-CITY VALUE '2'. 05 SHIRE-CODE1 PIC 9(3). 05 SHIRE-CODE2 PIC 9(5). 05 SHIRE-ROAD PIC S9(15) COMP-3. 05 SHIRE-RIVER PIC S9(15) COMP-3. 05 SHIRE-BRIDGE PIC S9(15) COMP-3. 01 SHIRE-TOWN. 05 SHIRE-KEY. 10 SHIRE-NAME PIC X(20). 05 SHIRE-TYPE PIC X(1). 88 SHIRETYPE-SHIRE VALUE '0'. 88 SHIRETYPE-TOWN VALUE '1'. 88 SHIRETYPE-CITY VALUE '2'. 05 SHIRE-CODE1 PIC 9(3). 05 SHIRE-CODE2 PIC 9(5). 05 SHIRE-YEAR PIC 9(4) COMP. 05 SHIRE-BRICK PIC S9(15) COMP-3. 05 SHIRE-WOODEN PIC S9(15) COMP-3. 05 SHIRE-SCHOOL PIC S9(7) COMP-3. 05 SHIRE-GOLF PIC S9(4) COMP. 01 SHIRE-CITY. 05 SHIRE-KEY. 10 SHIRE-NAME PIC X(20). 05 SHIRE-TYPE PIC X(1). 88 SHIRETYPE-SHIRE VALUE '0'. 88 SHIRETYPE-TOWN VALUE '1'. 88 SHIRETYPE-CITY VALUE '2'. 05 SHIRE-CODE1 PIC 9(3). 05 SHIRE-CODE2 PIC 9(5). 05 SHIRE-MAJOR PIC S9(4) COMP. 05 SHIRE-MAIN-ATTRACTION PIC X(20). 05 SHIRE-MINOR PIC S9(4) COMP. - PL/I コピーブック
- COBOL コピーブックと類似していて、各大構造 (レベル 1 名) は、セグメント・レイアウトについて記述し、基本名はフィールドについて記述します。
1 SHIRE, 3 SHIRE_KEY, 5 SHIRE_NAME CHAR(20), 3 SHIRE_TYPE CHAR(1), /* '0' -SHIRE */ 3 SHIRE_CODE1 PIC'(3)9', 3 SHIRE_CODE2 PIC'(5)9', 3 SHIRE_ROAD FIXED(15), 3 SHIRE_RIVER FIXED(15), 3 SHIRE_BRIDGE FIXED(15); 1 SHIRE_TOWN, 3 SHIRE_KEY, 5 SHIRE_NAME CHAR(20), 3 SHIRE_TYPE CHAR(1), /* '1' -TOWN */ 3 SHIRE_CODE1 PIC'(3)9', 3 SHIRE_CODE2 PIC'(5)9', 3 SHIRE_YEAR FIXED BIN(15), 3 SHIRE_BRICK FIXED(15), 3 SHIRE_WOODEN FIXED(15), 3 SHIRE_SCHOOL FIXED(9), 3 SHIRE_GOLF FIXED BIN(15); 1 SHIRE_CITY, 3 SHIRE_KEY, 5 SHIRE_NAME CHAR(20), 3 SHIRE_TYPE CHAR(1), /* '2' -CITY */ 3 SHIRE_CODE1 PIC'(3)9', 3 SHIRE_CODE2 PIC'(5)9', 3 SHIRE_MAJOR FIXED BIN(15), 3 SHIRE_MAIN_ATTRACTION CHAR(20), 3 SHIRE_MINOR FIXED BIN(15); - HLASM Copybook
- HLASM コピーブックは COBOL コピーブックと似ていて、大構造 (DSECT 名) にはレコード・タイプが、基本名にはフィールドが記述されます。
SHIRE DSECT SHIRE_KEY DS 0CL20 SHIRE_NAME DS CL20 SHIRE_TYPE DS CL1 SHIRE_CODE1 DS CL3 SHIRE_CODE2 DS CL5 SHIRE_ROAD DS H SHIRE_RIVER DS H SHIRE_BRIDGE DS H * SHIRE_TOWN DSECT SHIRE_KEY DS 0CL20 SHIRE_NAME DS CL20 SHIRE_TYPE DS CL1 SHIRE_CODE1 DS CL3 SHIRE_CODE2 DS CL5 SHIRE_YEAR DS H SHIRE_BRICK DS PL8 SHIRE_WOODEN DS PL8 SHIRE_SCHOOL DS PL4 SHIRE_GOLF DS H * SHIRE_CITY DSECT SHIRE_KEY DS 0CL20 SHIRE_NAME DS CL20 SHIRE_TYPE DS CL1 SHIRE_CODE1 DS CL3 SHIRE_CODE2 DS CL5 SHIRE_MAJOR DS H SHIRE_MAIN_ATTRACTION DS CL10 SHIRE_MINOR DS H詳細については、『File Manager での HLASM コピーブックの使用』Base(File Manager ユーザーズ・ガイドおよびリファレンス) を参照してください。
テンプレートを作成または更新すると常に、FM/IMS は次の処理を行います。
- コピーブック (セグメント・タイプと突き合わせたもの) を連結して、それらのすべてをシェル・プログラムに組み込みます。
- 選択されているコンパイラーを呼び出してコピーブックの構文を検査し、ADATA ファイルを作成します。「Compiler Language Selection (コンパイラー言語の選択)」パネル (オプション 0.4.1) を使用して、FM/IMS で呼び出すコンパイラーを指定できます。次のパネルで、コンパイルで許容される戻りコード・レベルを指定できます。
- 「Set COBOL Processing Options (COBOL 処理オプションの設定)」パネル (オプション 0.4.2)
- 「Set HLASM Processing Options (HLASM 処理オプションの設定)」パネル (オプション 0.4.3)
- 「Set PL/I Processing Options (PL/I 処理オプションの設定)」パネル (オプション 0.4.4)
- コンパイルがエラーなしで完了したら、FM/IMS は、ADATA ファイルの情報を処理してテンプレートを作成します。
コンパイルが、指定された最大値より大きい戻りコードで完了した場合は、FM/IMS はポップアップ・メニューを表示します。このポップアップ・メニューから、 以下のことを選択できます。
- コンパイル・リストをブラウズする。
- テンプレート作成処理を停止する。
- コンパイルを再試行する。このオプションを選択する前に、コンパイル・リストを調べて、コピーブックのエラーを修正してください。コンパイル・リストが表示されているときには、ISPF 分割画面機能を使用して他の ISPF セッションでコピーブックを編集し、エラーを修正することができます。
- エラーを無視して、テンプレートの作成に進む。このオプションを使用できるのは、FM/IMS がテンプレートを作成できる場合のみです。警告のような一部のコンパイル・エラーは、テンプレートの作成には影響しません。不確かなときは、コンパイル・リストを参照してください。重大なコンパイル・エラーの場合には、FM/IMS はテンプレートを作成できません。
- 別の言語でコンパイラーを試行する (COBOL または PLI コンパイラー言語が選択されている場合)。