OUT (データ域の書き出し)
| 自由形式構文 | OUT{(E) } {*LOCK } データ域名 |
| コード | 演算項目 1 | 演算項目 2 | 結果フィールド | 標識 | ||
|---|---|---|---|---|---|---|
| OUT (E) | *LOCK | データ域名 | _ | ER | _ | |
OUT
命令は、データ域名 オペランドに指定されたデータ域を更新します。OUT
命令のデータ域名 オペランドにデータ域を指定するためには、次の 2 つの事項について確認する必要があります。
- データ域が、*DTAARA DEFINE ステートメントの 結果フィールドにも指定されているか、あるいは定義仕様書で DTAARA キーワードを 使用して定義されていなければなりません。
- データ域は、前に *LOCK IN ステートメントによって ロックされているか、あるいは定義仕様書の 23 桁目の U に よってデータ域データ構造として指定されていなければなりません。(RPG IV 言語では、プログラムの初期化時にデータ域データ構造が暗黙に 検索されてロックされます。)
任意指定で予約語 *LOCK を指定することができます。*LOCK を指定した場合には、データ域は更新された後でロックされたままになります。*LOCK を指定しない場合には、データ域は更新された後でアンロックされます。
データ域名 オペランドが内部データ域またはプログラム初期化パラメーター (PIP) データ域の名前である場合には、*LOCK は指定できません。
データ域名 オペランドは、データ域の名前であるかまたは予約語 *DTAARA かいずれかである必要があります。*DTAARA が指定された場合には、プログラム内で定義されているすべてのデー タ域が更新されます。 1 つまたは複数のデータ域の更新時にエラーが起こった場合 (例えば、プログラムによってロックされていないデータ域に OUT 命令を指定した場合) には、OUT 命令でエラーが起こって、RPG IV 例外/エラー処理ルーチンに制御が渡されます。要求元にメッセージが出された場合には、そのメッセージによってエラーのあ るデータ域が識別されます。
OUT 例外 (プログラム状況コード 401 から 421、431、 または 432) を処理するために、命令コード拡張 'E' またはエラー標識 ER を 指定できますが、両方を指定することはできません。 エラー処理の詳細については、プログラム例外/エラーを 参照してください。
71 から 72 桁目と 75 から 76 桁目はブランクでなければなりません。
OUT 命令に関する規則の詳細については、データ域命令を参照して ください。
OUT 命令の例については、図 1 を参照してください。