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 に対応するレコード域は、同じ記憶域であってはなりません。
レコードは、レコード域と、ID-1 によって参照されるデータ項目の両方で使用可能になります。
ファイル名-1 に複数のレコード記述が関連付けられている場合には、これらのレコードは自動的に同じ記憶域を共用します。 つまり、それらは暗黙に再定義されます。 RETURN ステートメントが実行された後、現行レコードの内容だけが使用可能になります。 現行レコードの長さを超えて存在するデータ項目がある場合には、それらの内容は未定義となります。
RETURN file-name-1 MOVE record-name TO identifier-1
+----------------------------------IBM 拡張----------------------------------+
ID-1 は、DBCS、浮動小数点、または日時データ項目とすることがで きます。
+------------------------------End of IBM 拡張-------------------------------+
移動は、CORRESPONDING 句のない MOVE ステートメントの規則に従って実行されます。
現行レコードのサイズは、RECORD 文節について指定されている規則によって判別されます。 ファイル記述記入項目に RECORD IS VARYING 文節が含まれている場合には、暗黙の MOVE はグループの移動となります。 ただし、RETURN が成功しなければ、暗黙の MOVE は行われません。
ID-1 に関連する添え字付け、指標付け、または参照変更は、レコードが戻された後、 ID-1 へ移動される直前に評価されます。
次の 1 つまたは両方が真の場合には、RETURN ステートメントに INTO 句を指定できます。