ファイル仕様書のキーワードを使用して、複数の変数をファイルに関連付けることができます。 例えば、INFDS キーワードを使うと、ファイル情報データ構造がファイルに関連付けられます。 このデータ構造は、ファイル操作時に RPG によって、ファイルの現在の状態に関する情報を使用して更新されます。 SFILE キーワードを使用すると、記述するレコードの相対レコード番号に設定する数値変数が定義されます。
ファイルをパラメーターとして渡すと、呼び出し先プロシージャーのファイル・パラメーターが、呼び出し元プロシージャーで関連付けられているのと同じ物理変数に、継続的に関連付けられるようになります。 呼び出し先プロシージャーは、ファイル・パラメーターで関連付けられている変数にアクセスすることができます。 ただし、実際にアクセスできるのは RPG コンパイラーのみになります。 これによって、呼び出し先プロシージャーがファイル・パラメーターに関する操作を実行した時に、関連付けられている変数を RPG コンパイラーで処理できるようになります。 ファイル・パラメーターに対するファイル操作で、関連付けられている変数の値が必要になる場合には、関連付けられている変数の現行値が使用されます。 ファイル・パラメーターに対するファイル操作によって、関連付けられている変数の内容が変更されると、新しい値によって、関連付けられている変数がただちに更新されます。 ファイル・パラメーターを渡しても、関連付けられている変数に対して、呼び出し先プロシージャーが直接アクセスできるようにはなりません。 関連付けられている変数に呼び出し先プロシージャーがアクセスできるのは、その変数がグローバル変数である場合や、追加パラメーターとして呼び出し先プロシージャーに変数が渡されている場合のみです。
| キーワード | 使用法 | 説明 |
|---|---|---|
| COMMIT | 入力 | コミットメント制御のためにファイルをオープンするかどうかを指示する際に、RPG プログラマーが設定します。 |
| DEVID | 入力/フィードバック | 特定のデバイスに対するファイル操作を指示する際に、RPG プログラマーが設定します。 直前のファイル操作で使用されたデバイスを示す際に、RPG コンパイラーが設定します。 |
| EXTFILE | 入力 | オープンする外部ファイルを指示する際に、RPG プログラマーが設定します。 |
| EXTIND | 入力 | ファイルを使用するかどうかを制御する際に、プログラムが呼び出される前にアプリケーション開発者が設定します。 |
| EXTMBR | 入力 | オープンする外部メンバーを指示する際に、RPG プログラマーが設定します。 |
| INDDS | 入出力 (Input/Output) | ファイル操作で使用される出力可能標識の設定を、RPG プログラマーが行います。 入力可能標識の設定を、システムが操作時に行います。 |
| INFDS | 入力 | ファイルの現在の状態を表す際に、RPG コンパイラーが設定します。 |
| PRTCTL | 入力/フィードバック | 印刷装置ファイルを制御する際に、RPG プログラマーがスペースおよびスキップ・フィールドを設定します。 |
| RECNO | 入力/フィードバック | 印刷装置ファイルの現在行を示す際に、RPG コンパイラーが設定します。 |
| SAVEDS | 任意 | サブファイル・レコードに書き込まれる相対レコード番号を示す際に、RPG プログラマーが設定します。 |
| SFILE | 入力/フィードバック | 入力操作によってサブファイル・コードに取り出された相対レコード番号を示す際に、RPG コンパイラーが設定します。 |
| SLN | 入力 | 表示装置ファイルのレコード形式の開始行を示す際に、RPG プログラマーが設定します。 |