ファイル命令コードには次のものがあります。
ファイル組み込み関数には次のものがあります。
これらの命令は、従来型の構文と自由形式構文の両方で使用可能です。
ほとんどのファイル命令は、プログラム記述ファイルと 外部記述ファイル (ファイル仕様書の 22 桁目に それぞれ F または E) の両方に使用することができます。
外部記述ファイルを特定のファイル命令で使用する場合には、演算項目 2 に ファイル名でなくレコード様式名を指定することができます。したがって、 処理用命令コードでは、使用する演算命令コードの規則に従って、 指定したタイプのレコード様式でファイルの検索または 位置決め (あるいはその両方) が行われます。
OVRDBF (データベース・ファイルの一時変更) コマンドを MBR (*ALL) パラ メーターを指定して使用した場合には、SETLL、SETGT、および CHAIN 命令は、 現在オープンされているファイル・メンバーだけを処理します。詳細については、iSeries Information Center の「データベースおよびファイル・システム」のカテゴリーを参照してください。
CHAIN、READ、READC、READE、READP、および READPE 命令では、 結果データ構造を指定することができます。 これらの命令では、 データはファイルとデータ構造の間で直接転送され、そのファイルの入力仕様書 は処理されません。 したがって、データ構造に対する入力操作の結果として、レコード識別標識ま たはフィールド標識がオンに設定されることはありません。 ファイルに対するすべての入力操作で 結果データ構造が指定されている場合には、入力仕様書は必要ありません。
演算項目 2 にプログラム記述ファイル名を指定する WRITE および UPDATE 命令では、結果のフィールドにデータ構造名が指定されていなければなり ません。 外部記述ファイルまたはレコードに対する WRITE および UPDATE 命令では、 結果データ構造を指定することができます。 これらの命令では、 データはデータ構造とファイルの間で直接転送され、そのファイルの出力仕様書 は処理されません。 ファイルに対するすべての出力命令で 結果データ構造が指定されている場合には、出力仕様書は必要ありません。
次のような場合、外部記述ファイル名またはレコード名に対する入出力命令を実行することによって、 データ構造名を生成することができます。
レコードが見付からなかったか、操作中にエラーが起こったか、あるいは最後 のレコードがすでに検索されている (ファイルの終わり) ために入力操作 (CHAIN、 EXFMT、READ、READC、READE、READP、READPE) でレコードが検索され なかった場合には、データは抜き出されずにプログラムのすべてのフィール ドが変更されないままとなります。
更新ディスク・ファイルに対する CHAIN、READ、READE、READP、または READPE 命令 の命令拡張として N を指定した場合には、レコードはロック なしで読み取られます。 ファイルが更新ディスク・ファイルの場合には、命令 拡張が指定されていないと、レコードはロックされます。
ファイル命令の実行中に起こった例外/エラーは、プログラマーが (エラー標識をコーディングするかまたはファイル・エラー処理サブルーチンを指定して) 処理するか、あるいは RPG IV エラー処理プログラムによって処理することができます。
ヌル値可能フィールドを持つファイルの処理について は、データベースのヌル値サポートを参照してください。
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.