プログラムとファイルとの代表的な関係の例

図 150. iSeries システムでの RPG プログラムとファイルの代表的な関係
 1 
プログラムは、オペレーティング・システムに定義されているファイルの フィールド・レベル記述を使用します。 外部記述ファイルは、ファイル仕様書の 22 桁目の E によって識別されます。 コンパイル時に、外部フィールド・レベル記述がコンパイラーによって コピーされます。
 2 
外部記述ファイル (すなわち、フィールド・レベル外部記述のある ファイル) は、プログラム内でプログラム記述ファイルとして使用されます。 プログラム記述ファイルは、ファイル仕様書の 22 桁目の F によって識別されま す。 この項目によって、外部フィールド・レベル記述にコピーしないように コンパイラーに通知します。 このファイルはコンパイル時に存在する必要はありません。
 3 
ファイルは、オペレーティング・システムに対して、レコード・レベルでのみ記述されます。 レコードのフィールドはプログラムの中で記述されます。したがって、ファイル仕様書 の 22 桁目は F を含まなければなりません。このファイルはコンパイル時に存在する必要は ありません。
 4 
ファイル名はコンパイル時に指定 (すなわち、RPG ソース・メンバー内で コーディング) することができ、別のファイル名を実行時に指定することができま す。 ファイル仕様書の 22 桁目の E は、ファイルの外部記述がコンパイル時にコピー されることを指示します。 実行時には、プログラムによって別のファイルをアクセスするように、 ファイル一時変更コマンドを使用することができます。 実行時にファイルを一時変更するためには、両方のファイルのレコード名が 間違いなく同じでなければなりません。 RPG プログラムは READ 命令などの入出力命令でレコード様式名を使用します が、その命令ではこのレコード様式名が必要なレコード・タイプを指定します。 詳細については、ファイル入出力の一時変更および指定変更を参照してください。