EXTNAME(ファイル名{:形式名}{:*ALL| *INPUT|*OUTPUT|*KEY|*NULL})

EXTNAME キーワードは、定義中のデータ構造のサブフィールド記述として使用さ れるフィールド記述が入っているファイルの名前を指定するために使用されます。

ファイル名パラメーターは必須です。 オプションで形式名を指定して、 コンパイラーにファイル内の特定の形式を指示す ることができます。 形式名パラメーターが指定されない場合には、最初のレコード様式が使用されます。

文字リテラルを指定する場合は、ファイル名または形式名の大/小文字を正確に指定する必要があります。 例えば、MYFILE という外部ファイルの場合、そのファイル名パラメーターについては、myFile、myfile などのように大/小文字を組み合わせて指定することもできますが、リテラルとして指定するのであれば「MYFILE」としなければなりません。 ファイル名が文字リテラルの場合は、以下のいずれかの形式になります。
'LIBRARY/FILE'
'FILE'
'*LIBL/FILE' 

変更の始まり残りの抜き出しタイプ・パラメーターは、外部レコード内のどのフィールドを抜き出すか指定します。変更の終わり

変更の始まりファイル内のフィールドと同じデータ・タイプを持つサブフィールドを定義するのではなく、それらのサブフィールドがすべて標識であることを示すために、*NULL を指定することもできます。 データベース・ファイルの場合、これらの標識のレイアウトは、レコードのヌル・バイト・マップと同じです。変更の終わり

注:
  1. 形式名が指定されていない場合、レコードは、デフォルトの値であるファイル内の最初のレコードになります。
  2. 変更の始まり*INPUT および *OUTPUT の場合、*NULL が指定されなければ、データ構造に含まれるサブフィールドは、外部レコード記述内と同じ開始位置を占めます。 *NULL が指定されると、標識はデータベース・ファイルの外部レコードのヌル・バイト・マップ内のヌル標識と同じ開始位置を占めます。 その他のタイプのファイルの場合は、標識サブフィールドの開始位置は順次に割り当てられます。変更の終わり

変更の始まり外部記述データ構造 (自由形式定義で EXT キーワードがあるか、 自由形式定義で 22 桁目に E がある) であり、EXTNAME キーワードが 指定されていない場合、データ構造名が外部名に使用されます。変更の終わり

変更の始まり*NULL が指定されないと、コンパイラーは外部記述データ構造のすべてのフィールドについて、次の定義仕様書項目を生成します。
  • サブフィールド名 (データ構造に ALIAS キーワードが指定されているか、 EXTFLD キーワードによってフィールドが名前変更されているか、 あるいは定義仕様書の PREFIX キーワードを使用して接頭部を適用する場合を除いて、名前は 外部名と同じになります。)
  • サブフィールドの長さ
  • サブフィールドの内部データ・タイプ (タイプ に CVTOPT 制御仕様書キーワードまたはコマンド・パラメーターを 指定した場合を除いて、外部タイプと同じになります。 このコンパイル・オプションを指定した場合には、データ・タイプは文字になります。)
変更の終わり

*NULL が指定されると、上述のようにサブフィールド名が生成されます。 ただし、長さは 1 になり、データ・タイプは標識になります。

LIKEDS および LIKEREC を除くすべてのデータ構造キーワードは、EXTNAME キーワードと一緒に使用すること ができます。

ただし、*NULL が指定された場合は、CCSID(*EXACT) を指定することはできません。

変更の始まり抜き出しタイプ *NULL で定義されたデータ構造を入出力操作と一緒に使用することはできません。変更の終わり