WebSphere ロゴ Classic Federation Server for z/OS バージョン 9.1
WebSphere ロゴ Classic Replication Server for z/OS バージョン 9.1
WebSphere ロゴ Classic Data Event Publisher for z/OS バージョン 9.1
WebSphere ロゴ Data Integration Classic Connector for z/OS バージョン 9.1


配列定義の例

これらの例を使用すると、COBOL および PL/I の配列定義を理解するのに役立ち、表およびビューを正確にマップすることができます。

データ・サーバーにリレーショナル表またはビューを作成するとき、Classic Data Architect は、COBOL サンプル集または PL/I インクルード・ファイルに含まれているデータ定義を使用して、データ定義言語 (DDL) を生成します。次に、データ・サーバーで DDL を実行して、メタデータ・カタログにユーザー表を作成します。

COBOL の例

例: 固定長配列の COBOL 定義。

DEPENDENTS-ARRAY 文節は、固定長を持ち、ちょうど 20 回反復する 4 つのフィールドの配列構造を定義します。CREATE TABLE または CREATE VIEW ステートメントで NULL-IS パラメーターを使用して、空の配列のインスタンスに NULL 値を指定できます。
01  EMPLOYEE-RECORD.
    05 EMP-LAST-NAME               PIC X(20).
    05 EMP-FIRST-NAME              PIC X(20).
    05 EMPID                       PIC 9(9).
....
    05 DEPENDENTS-ARRAY OCCURS 20 TIMES
       10 DEP-ID                    PIC 9(9).
       10 DEP-NAME                  PIC X(20).
       10 DEP-DOB                   PIC 9(6).
       10 DEP-RELATIONSHIP-TO-EMPL  PIC X.

例: 可変長配列の COBOL 定義。

配列は、DEPENDING ON 文節で指定された変数 NUMBER-OF-DEPENDENTS の値に応じて、1 回から 20 回の範囲で表示できます。
01  EMPLOYEE-RECORD.
    05 EMP-LAST-NAME PIC X(20).
    05 EMP-FIRST-NAME PIC X(20).
    05 EMP-ID PIC 9(9).
....
    05 NUMBER-OF-DEPENDENTS PIC 9(4) COMP.
    05 DEPENDENTS-ARRAY OCCURS 1 TO 20 TIMES
       DEPENDING ON NUMBER-OF-DEPENDENTS.
       10 DEP-SSN PIC 9(9).
       10 DEP-NAME PIC X(20).
       10 DEP-DOB PIC 9(6).
       10 DEP-GENDER PIC X.

例: COBOL サンプル集に基づいた CREATE TABLE ステートメント。

DDL は以下のデータ項目のサブセットをマップします。

CREATE TABLE CAC.EMPL .....
(
  EMP_ID SOURCE DEFINITION
   DATAMAP OFFSET 40 LENGTH 9 DATATYPE C
   USE AS CHAR(9),
  NUMBER_OF_DEPENDENTS SOURCE DEFINITION
   DATAMAP OFFSET 49 LENGTH 2 DATATYPE H
   USE AS SMALLINT,
 BEGINLEVEL 1 OFFSET 51 LENGTH 36 OCCURS 20
   DEPENDING ON COLUMN NUMBER_OF_DEPENDENTS,
  DEP_ID SOURCE DEFINITION
   DATAMAP OFFSET 0 LENGTH 9 DATATYPE C
   USE AS CHAR(9),
  DEP_NAME SOURCE DEFINITION
   DATAMAP OFFSET 9 LENGTH 20 DATATYPE C
   USE AS CHAR(20),
 ENDLEVEL 1
)

PL/I の例

例: 従業員レコードを記述する PL/I インクルード・ファイル。

DIMENSION (DIM) 属性は、ちょうど 20 回反復する固定長配列構造を定義します。CREATE TABLE または CREATE VIEW ステートメントで NULL-IS パラメーターを使用して、空の配列のインスタンスに NULL 値を指定できます。
DCL 1 EMPLOYEE_RECORD BASED,
      5 EMP_LAST_NAME CHAR(20),
      5 EMP_FIRST_NAME CHAR(20),
      5 EMPID   PIC '(9)9',
....
      5 DEPENDENTS_ARRAY DIM(20)
        10 DEP_ID PIC '(9)9',
        10 DEP_NAME CHAR(20),
        10 DEP_DOB PIC '(6)9',
        10 DEP_RELATIONSHIP_TO_EMPL CHAR(1);

例: 可変長配列を定義する PL/I インクルード・ファイル。

PL/I DIM 属性は、従属の数が配列のインスタンスの数を決定するよう指定します。配列は、REFER 属性で指定された変数 NUMBER_OF_DEPENDENTS の値に応じて、1 回から 20 回の範囲で表示されます。
DCL 1 EMPLOYEE_RECORD BASED,
      5 EMP_LAST_NAME CHAR(20),
      5 EMP_FIRST_NAME CHAR(20),
      5 EMPID   PIC '(9)9',
....
      5 NUMBER_OF_DEPENDENTS BIN FIXED(15),
      5 DEPENDENTS_ARRAY DIM(N1 REFER(NUMBER_OF_DEPENDENTS)),
        10 DEP_ID PIC '(9)9',
        10 DEP_NAME CHAR(20),
        10 DEP_DOB PIC '(6)9',
        10 DEP_RELATIONSHIP_TO_EMPL CHAR(1);

例: PL/I インクルード・ファイルに基づいた CREATE TABLE ステートメント。

DDL は以下のデータ項目のサブセットをマップします。

データ・サーバーで DDL を実行して表を作成するときに、データ・サーバーは自動的に、配列のインスタンスの数を計算します。ただし、可変長配列の後の構造で現れる列のマッピングにおける制限は引き続き適用されます。

CREATE TABLE "AA"."EMPLOYEE_RECORD" DBTYPE SEQUENTIAL
	DS "D"
(

	"EMPID" SOURCE DEFINITION
		DATAMAP OFFSET 40 LENGTH 9
		DATATYPE C
		USE AS CHAR(9),
	"NUMBER_OF_DEPENDENTS" SOURCE DEFINITION
		DATAMAP OFFSET 49 LENGTH 2
		DATATYPE H
		USE AS SMALLINT,
	BEGINLEVEL 1 OFFSET 51 LENGTH 0
		OCCURS DEPENDING ON COLUMN "NUMBER_OF_DEPENDENTS",
	"DEP_ID" SOURCE DEFINITION
		DATAMAP OFFSET 0 LENGTH 9
		DATATYPE C
		USE AS CHAR(9),
	"DEP_NAME" SOURCE DEFINITION
		DATAMAP OFFSET 9 LENGTH 20
		DATATYPE C
		USE AS CHAR(20),
	ENDLEVEL 1	);
関連概念
レコード配列
複数のレコード配列でのパフォーマンスの考慮
フェデレーションおよび変更キャプチャーのレコード配列定義


フィードバック

更新アイコン 最終更新日: 2007 年 7 月 11 日