Rational Developer for System z
COBOL for Windows バージョン 7.5 言語解説書


RETURN ステートメント

RETURN ステートメントは、ソート処理またはマージ処理の最終フェーズから OUTPUT PROCEDURE へレコードを渡します。

RETURN ステートメントは、 SORT ステートメントまたは MERGE ステートメントと関連付けられた OUTPUT PROCEDURE 句の範囲内でのみ使用することができます。

フォーマット
構文図を読む構文図をスキップする>>-RETURN--ファイル名-1--+--------+--+------------+------------->
                         '-RECORD-'  '-INTO--ID-1-'  
 
>--+-----------------------------------+------------------------>
   '-+----+--END--命令ステートメント-1-'  
     '-AT-'                               
 
>--+----------------------------------------+--+------------+--><
   '-NOT--+----+--END--命令ステートメント-2-'  '-END-RETURN-'  
          '-AT-'                                               
 

OUTPUT PROCEDURE 句の中では、 少なくとも 1 つの RETURN ステートメントを指定しなければなりません。

RETURN ステートメントが実行されると、ファイル名-1 の次の位置にあるレコードが OUTPUT PROCEDURE 句による処理のため使用可能になります。

ファイル名-1
データ部の SD 項目に記述されていなければなりません。

ファイル名-1 に関連付けられた複数のレコード記述がある場合、それらのレコードは自動的に同じストレージを共用します。つまり、そのストレージは暗黙に再定義されます。RETURN ステートメントを実行した後は、現行レコードの内容のみが使用可能です。現行レコードの長さを超えるデータ項目がある場合には、それらの内容は未定義となります。

INTO 句
ファイル名-1 に関連付けられたレコード記述が 1 つだけしかない場合、または ID-1 によって 参照されるすべてのレコードとデータ項目に基本英数字項目または英数字グループ項目が記述されている場合、 INTO 句を指定した RETURN ステートメントの実行結果は、 指定された順序で以下の規則を適用するのと同じことになります。

ファイル名-1 に関連付けられたレコード記述が複数あり、それらのすべてに英数字グループ項目または基本英数字項目が記述されていない場合は、以下の規則が適用されます。

  1. ファイル名-1 によって参照されるファイルに可変長レコードが含まれている場合 は、グループ移動が行われます。
  2. ファイル名-1 で参照したファイルが固定長レコードを含んでいる場合は、最大数の文字位置を指定しているレコードを送り出しフィールド記述として使用して、MOVE ステートメントの規則に従って移動が行われます。そのようなレコードが複数存在する場合には、 選択される送り出しフィールド・レコードは、該当するレコードのうちファイル名-1 の記述のもとで最初に現れるレコードとなります。

ID-1 ID-1 は、選択された送り出しレコード記述項目に対して、MOVE ステートメントの規則に従う有効な受け取りフィールドでなければなりません。

ファイル名-1 に関連付けられたレコード域と ID-1 は、 同じストレージ域を占めることはできません。

AT END 句

AT END 句で指定された命令ステートメントは、すべてのレコードがファイル名-1 から戻された後で実行されます。 これが実行されると、 それ以上の RETURN ステートメントを現在の出力プロシージャーとして実行することはできません。

RETURN ステートメントの実行中に AT END 条件が発生しなかった場合は、レコードが使用可能にされた後、および INTO 句を指定したことで生じた暗黙の MOVE の実行後に、NOT AT END 句で指定された命令ステートメントに制御が移されます。 AT END 条件が発生した場合は、制御は RETURN ステートメントの終わりに移されます。

 

END-RETURN 句

この明示的範囲終了符号は、RETURN ステートメントの範囲を区切るために使用されます。 END-RETURN 句を使用することによって、 条件的な RETURN ステートメントを他の条件ステートメントの中にネストすることができます。 END-RETURN 句は、命令の RETURN ステートメントと共に使用することもできます。

詳しくは、範囲区切りステートメントを参照してください。


ご利用条件 | フィードバック

Copyright IBM Corporation 1996, 2008.
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)