RETURN ステートメント
RETURN ステートメントは、ソートまたはマージの操作の最終フェーズから OUTPUT PROCEDURE へレコードを転送します。
RETURN ステートメントは、SORT または MERGE ステートメントと関連する出力プロシージャーの範囲内でしか使用できません。
RETURN ステートメント - 形式 >>-RETURN--ファイル名-1--+--------+--+------------+--------------> '-RECORD-' '-INTO--ID-1-' >--+----+--END--命令ステートメント-1-----------------------------> '-AT-' >--+----------------------------------------+--------------------> '-NOT--+----+--END--命令ステートメント-2-' '-AT-' >--+------------+------------------------------------------------>< '-END-RETURN-'
OUTPUT PROCEDURE の中には、少なくとも 1 つの RETURN ステートメントを指定しなければなりません。
RETURN ステートメントが実行されると、ファイル名-1 内の次のレコードが OUTPUT PROCEDURE による処理用に使用できるようになります。
ファイル名-1 および ID-1 に対応するレコード域は、同じ記憶域であってはなりません。
- ファイル名-1
- ファイル名-1 は、データ部の SD 記入項目の中で記述されていなければなりません。
ファイル名-1 に複数のレコード記述が関連付けられている場合には、これらのレコードは自動的に同じ記憶域を共用します。 つまり、それらは暗黙に再定義されます。 RETURN ステートメントが実行された後、現行レコードの内容だけが使用可能になります。 現行レコードの長さを超えて存在するデータ項目がある場合には、それらの内容は未定義となります。
- INTO ID-1
- この句によって、RETURN INTO ステートメントは次のステートメントと同等になります。
RETURN file-name-1 MOVE record-name TO identifier-1IBM ExtensionIBM Extension ID-1 は、DBCS、浮動小数点、または日時 データ項目とすることがで きます。 End of IBM Extension
End of IBM Extension移動は、CORRESPONDING 句のない MOVE ステートメントの規則に従って実行されます。
現行レコードのサイズは、RECORD 文節について指定されている規則によって判別されます。 ファイル記述記入項目に RECORD IS VARYING 文節が含まれている場合には、暗黙の MOVE はグループの移動となります。 ただし、RETURN が成功しなければ、暗黙の MOVE は行われません。
ID-1 に関連する添え字付け、指標付け、または参照変更は、レコードが戻された後、 ID-1 へ移動される直前に評価されます。
次の 1 つまたは両方が真の場合には、RETURN ステートメントに INTO 句を指定できます。- ソート・マージ・ファイル記述記入項目に従属しているレコード記述が 1 つだけである。
- ファイル名-1 に関連付けられているすべてのレコード名、および ID-1 によって参照されているデータ項目が、 グループ項目または基本英数字項目を記述している。
