LIKEREC(intrecname{:*ALL|*INPUT|*OUTPUT |*KEY})
LIKEREC キーワードは、データ構造、データ構造サブフィールド、プロトタイプされた戻り値、またはプロトタイプ・パラメーターを、レコード
と同様に定義するために使用します。
データ構造のサブフィールドは、レコードのフィールドと同じになります。
LIKEREC
は、2 番目の任意指定パラメーターを使用できます。このパラメーターはレコードのどのフィールドをデータ構造に入れるかを指定します。 これには以下のものが含まれます。
- *ALL 外部レコードのすべてのフィールドが抜き出されます。
- *INPUT すべての入力可能フィールドが抜き出されます。 (これはデフォルトです。)
- *OUTPUT すべての出力可能フィールドが抜き出されます。
- *KEY キー・フィールドが、キーが DDS の K 指定に定義されている順番に抜き出されます。
LIKEREC キーワードの使用時には、次の点を考慮する必要があります。
- キーワード LIKEREC の最初のパラメーターはプログラム内のレコード名です。
レコード名の名前が変更された場合、これはレコードの内部名になります。
- LIKEREC の 2 番目のパラメーターは、関連付けられているレコードまたはファイルの定義と一致する必要があります。 *INPUT は、入力可能レコードおよび更新可能
レコードにのみ使用できます。*OUTPUT は、出力可能レコードにのみ使用できます。*ALL はどのレコード・タイプにも使用できます。
*KEY はキー付きファイルにのみ使用できます。 指定されない場合は、
このパラメーターのデフォルト値 *INPUT が使用されます。
- *INPUT および *OUTPUT の場合、データ構造に含まれるサブフィールドの開始位置は外部レコード記述の開始位置と同じになります。
- ファイルの接頭部が指定された場合、指定された接頭部はサブフィールドの名前に使用されます。
- レコード内のフィールドが入力仕様書において明示的に名前変更された場合でも、
内部名ではなく、外部名 (おそらく接頭部) が使用されます。
- LIKEREC を使用して定義されたデータ構造は、QUALIFIED データ構造です。
サブフィールドの名前は、DS1.SUBF1 という新しいデータ構造名によって修飾されます。
- LIKEREC は、修飾されたデータ構造のサブフィールドに関してコーディングすることができます。
LIKEREC がデータ構造のサブフィールド定義でコーディングされる場合、
サブフィールドのデータ構造は自動的に QUALIFIED として定義されます。
LIKEREC サブフィールドのデータ構造のサブフィールドは、完全修飾形式 "ds.subf.subfa" で
参照されます。LIKEREC を使用して定義されたサブフィールドは、
それ自体がデータ構造であり、データ構造が必要な任意の場所で使用することができます。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.