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