特殊なデータ構造として、次のものがあります。
上記のデータ構造はサブプロシージャーの中には定義できないことに注意してください。
定義仕様書の 23 桁目の U によって識別されるデータ域データ構造は、 コンパイラーに対して、 プログラムの初期化時に同じ名前のデータ域を読み込み、ロックする必要があ り、プログラムの終了時には同じデータ域を書き出し、アンロックする必要があ ることを指示します。 ロックは内部データ域には適用されま せん (内部データ域 (LDA)を参照)。 データ域データ構造は、他のすべてのデータ構造と同様に、タイプ文字を持って います。 また、データ域データ構造に読み込まれるデータ域は文字でなければなりません。 *DTAARA DEFINE 命令コードまたは DTAARA キーワードを使用して ILE RPG プログラムの中でデータ域の名前を変更した場合を除いて、データ域とデータ域データ構造は同じ名前でなければなりません。
暗黙の読み込みおよび書き出しが行われるデータ域に対するデータ域命令 (IN、 OUT、および UNLOCK) を指定することができます。 これらの命令でデータ域データ構造を使用する前に、*DTAARA DEFINE 命令の結果 のフィールドの中か、または DTAARA キーワードによってそのデータ域データ 構造名を指定しなければなりません。
*ENTRY PLIST の PARM 命令の結果のフィールドにデータ域データ構造を指定する ことはできません。
データ域データ構造 (23 桁目に U が入っている定義仕様書の 7 から 21 桁目) に ブランクを指定した場合には、コンパイラーはローカル・データ域を 使用します。 内部データ域に名前を指定するためには、演算項目 2 に *LDA、および結果のフィ ールドに名前あるいは定義仕様書に DTAARA(*LDA) を持つ *DTAARA DEFINE 命令 を使用してください。
プログラム中の各ファイルについて (ファイル仕様書でキーワード INFDS に よって定義される) ファイル情報データ構造を指定することができます。 これによって、ファイル例外/エラーが起こった場合の状況情報が提供されます。 ファイル情報データ構造名は、各ファイルごとに固有でなければなりません。 ファイル情報データ構造には、ファイル例外/エラーが起こった場合に情報を提 供する事前定義のサブフィールドが含まれています。ファイル情報データ構造およびそのサブフィールドの説明については、 ファイル情報データ構造を参照してください。
定義仕様書の 23 桁目の S によって識別されるプログラム状況データ構造は、プロ グラム例外/エラー情報をプログラムに提供します。 プログラム状況データ構造および その事前定義のサブフィールドの説明について プログラム状況データ構造を参照してください。
標識データ構造は、ファイル仕様書の INDDS キーワードに よって識別されます。 この構造は、ファイルのデータ管理機能との間で渡される、 条件付け標識および応答標識を記憶するために使用します。 標識データ構造は、デフォルトにより、すべてゼロ (複数の '0') に初期化されます。
このデータ構造を定義するための規則は次のとおりです。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.