コピーブック・テンプレートについて
- ソース定義
- ソース定義は、コピーブック・メンバー、対応するデータ・セット、およびテンプレートでフィールド定義が配置される方法を記述します。最も単純な形式のソース定義は、すべての必要なレコード・レイアウトが正しい形式で入っている単一 コピーブックです。単一コピーブックのソース定義は直接参照することができ、これらのソース定義から自動的にコピーブック・テンプレートが作成されます。
あるいは、拡張コピーブックのソース定義 を準備することもできます。これは、1 つ以上のコピーブック・メンバー、挿入されたレベル 01 データ項目、組み込むステートメントの範囲、および REDEFINES または UNION 文節がレコード・レイアウトの観点から解釈される方法を記述します。
単一コピーブックのソース定義にできるのは、プログラムのソース全体か、またはフィールド定義のみです。
拡張コピーブックのソース定義は、同じ言語のフィールド定義を参照する必要があります。ソースは区分データ・セットのメンバーでなければなりません。
コピーブック・テンプレートは、ソース定義で提供されるレイアウト情報を、形式設定、再形式設定、レコード選択、およびデータ作成に関するユーザー指定の追加情報と組み合わせて、これらの機能を実行できるデータの論理ビューを作成します。
コピーブック・テンプレートでは、フィールド定義 (開始位置、長さ、タイプなど) は編集できません。ただし、コピーブック・テンプレートにより、複数のレコード・タイプが含まれたデータ・セットで使用する、いくつかの異なる形式を定義できます。レコードはデータ・セット内でタイプによって識別することができ、各タイプを異なる形式と関連付けできます。これにより、同時に異なるタイプのデータを表示して、レコードを同時に表示、編集、またはコピーできます。また、コピーブック・テンプレートでは、フィールド別にまたはフリー・フォーマットの REXX 選択式別に基準を編集できます。
新規のコピーブック・テンプレートを作成するには、データのレコード構造を記述するフィールド定義が入っている 1 つ以上のコピーブックから始めます。パネルでコピーブック (複数可) を指定すると、File Manager は記述を 1 つのテンプレートになるようコンパイルして、同じレコード構造を持つどのアプリケーション・データ・セットを使用しても保管および再使用ができるようにします。
COBOL コピーブックでは、それぞれのレベル 01 グループ項目は、アプリケーション・データ・セットにレコード・タイプを記述します。グループ中の基本項目はレコード・タイプのフィールドを記述します。例えば、次のコピーブックは、ORDERS と ITEM の 2 つのレコード・タイプが入っているアプリケーション・データ・セットのレコード構造を記述します。
01 ORDERS.
05 ORDER-ID PIC X(5).
05 CUSTOMER-ID PIC X(5).
05 ORDER-DATE.
10 ORDER-YEAR PIC 9(4).
10 ORDER-MONTH PIC 9(2).
10 ORDER-DAY PIC 9(2).
01 ITEM.
05 PRODUCT-ID PIC X(9).
05 QUANTITY PIC 9(4) BINARY.
05 UNIT-COST PIC 9(8) BINARY.
ORDERS レコードには、5 つのフィールドがあります。それは、ORDER-ID、CUSTOMER-ID、ORDER-YEAR、ORDER-MONTH、および ORDER-DAY です。ITEM レコードには、3 つのフィールドがあります。それは、PRODUCT-ID、QUANTITY、および UNIT-COST です。
PL/I コピーブックは COBOL コピーブックと同様に、大構造 (レベル 1 の名前) がレコード・タイプを記述し、基本名がフィールドを記述します。
DECLARE 1 ORDER,
2 ORDERID CHAR(9),
2 CUSTOMERID CHAR(5),
2 ORDERDATE,
3 ORDERYEAR CHAR(4),
3 ORDERMONTH CHAR(2),
3 ORDERDAY CHAR(2);
DECLARE 1 ITEM,
2 PRODUCTID CHAR(9),
2 QUANTITY BIN(15),
2 UNITCOST BIN(31);
HLASM コピーブックは COBOL コピーブックと似ていて、大構造 (DSECT 名) にはレコード・タイプが、基本名にはフィールドが記述されます。
ORDER DESCT
ORDERID DS CL9
CUSTOMERID DS CL5
ORDERDATE DS 0CL8
ORDERYEAR DS CL4
ORDERMONTH DS CL2
ORDERDAY DS CL2
ITEM DESCT
PRODUCTID DS CL9
QUANTITY DS H
UNITCOST DS F
コピーブックのコーディングについては、IBM COBOL Language Reference、IBM VisualAge PL/I Language Reference、または HLASM V1R6 Language Reference を参照してください。
関連トピック