データ域命令

データ域命令には以下のものがあります。

これらの命令は、従来型の構文と自由形式構文の両方で使用可能です。

IN および OUT 命令では、演算項目 2 の指定によって、プログラム内の 1 つ またはすべてのデータ域の検索および書き出しを行うことができます。

また、IN および OUT 命令では、ユーザーがデータ域のロックやアンロック を制御することもできます。 データ域がロックされている場合には、他のプログラムまたはプロシージャー によって読み取ることはできますが、更新することはできません。

次のロック状態が使用されます。

データ域との実際のデータの転送中には、データ域にシステムの内部ロック があります。 複数のユーザーが同じデータ域に対して競合している場合には、ユーザーは、 データ域が使用できないことを示すエラー・メッセージを受け取ります。

IN、OUT、および UNLOCK 命令を使用する場合には、次のことに留意してく ださい。

変更の始まり データ域データ構造はプログラムの初期化時に自動的に読み取られてロックされ、 プログラムが LR オンで終了したときにデータ構造の内容がデータ域に 書き込まれます。データ域データ構造のためのデータ域が見付からない場合、 初期値としてブランクを使用して、データ域が作成されます。 データ域を見付けるためにライブラリー・リストが検索された場合、 新規データ域は QTEMP 内に作成されます。 変更の終わり

変更の始まり 自由形式では、DTAARA(*AUTO) キーワードは、データ構造がデータ域データ構造である ことを指定します。 固定形式では、定義仕様の 23 桁目に U を記入して定義された データ構造は、そのデータ構造がデータ域であることを示します。 変更の終わり

変更の始まり 場合によっては、 IN、OUT、および UNLOCK 命令コードを使用して、データ域に対してさらに命令を指定することができます。 自由形式の定義の場合、パラメーターとして *USRCTL も指定します。 固定形式の定義の場合、DTAARA キーワードを指定します。 変更の終わり

データ域データ構造のためのデータ域が見付からない場合、 初期値としてブランクを使用して、データ域が作成されます。 データ域を見付けるためにライブラリー・リストが検索された場合、 新規データ域は QTEMP 内に作成されます。

内部データ域 (*LDA) を定義するために、次のいずれかを行うことができ ます。

*PDA を定義するためには、データ域の定義仕様書に DTAARA(*PDA) キーワー ドを指定するか、あるいは *DTAARA DEFINE ステートメントの演算項目 2 に *PDA を指定することができます。