バージョン 4.2.5
 —  ステートメント  —

PERFORM BREAK PROCESSING

PERFORM BREAK [PROCESSING] [(r)]
AT BREAKstatement

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。

関連ステートメント:ACCEPT/REJECT | AT BREAK | AT START OF DATA | AT END OF DATA | BACKOUT TRANSACTION | BEFORE BREAK PROCESSING | DELETE | END TRANSACTION | FIND | GET | GET SAME | GET TRANSACTION DATA | HISTOGRAM | LIMIT | PASSW | READ | RETRY | STORE | UPDATE

関連機能グループ:「データベースへのアクセスと更新


機能

PERFORM BREAK PROCESSING ステートメントは、自動ブレイク処理が設定されない FORREPEATCALL LOOP、および CALL FILE ステートメントで生成されるループ内にブレイク処理を設定するために使用します。または、ユーザー開始のブレイク処理が必要な場合に使用します。 レコードが読み取られた直後に実行される自動ブレイク処理とは異なり、PERFORM BREAK PROCESSING ステートメントは、プログラムの通常の流れの中で出現したときに初めて実行されます。

このステートメントでは、(コントロールフィールドの値に基づいて)ブレイク処理の条件をチェックし、Natural システム関数を評価します。 このチェックおよびシステム関数の評価は、実行対象のステートメントが出現するたびに行われます。 このステートメントは、IF ステートメントで指定した条件に応じて実行することもできます。

Top of page

構文説明

(r)
ステートメント参照表記:

デフォルトでは、プログラム、サブプログラム、またはサブルーチンの実行終了時に最後の PERFORM BREAK 条件が真となります。

表記 (r) を使用して、PERFORM BREAK の最後の処理を特定のループに関連付けることができます。 この場合、PERFORM BREAK はそのループの終了処理の中(最後の自動 BREAK 処理後かつ AT END OF DATA ステートメントの実行前)で実行されます。

AT BREAK statement...

AT BREAK ステートメントの構文を参照してください。

Top of page

** Example 'PBPEX1S': PERFORM BREAK PROCESSING  (structured mode)       
************************************************************************
DEFINE DATA LOCAL                                                       
1 #INDEX (N2)                                                           
1 #LINE  (N2) INIT <1>                                                  
END-DEFINE                                                              
*                                                                       
FOR #INDEX 1 TO 18                                                      
  PERFORM BREAK PROCESSING                                             
  /*                                                                    
  AT BREAK OF #INDEX /1/                                                
    WRITE NOTITLE / 'PLEASE COMPLETE LINES 1-9 ABOVE' /                 
    RESET INITIAL #LINE                                                 
  END-BREAK                                                             
  /*                                                                    
  WRITE NOTITLE '_' (64) '=' #LINE                                      
  ADD 1 TO #LINE                                                        
END-FOR                                                                 
*                                                                       
END

プログラム PBPEX1S の出力:

________________________________________________________________ #LINE:   1
________________________________________________________________ #LINE:   2
________________________________________________________________ #LINE:   3
________________________________________________________________ #LINE:   4
________________________________________________________________ #LINE:   5
________________________________________________________________ #LINE:   6
________________________________________________________________ #LINE:   7
________________________________________________________________ #LINE:   8
________________________________________________________________ #LINE:   9
                                                                           
PLEASE COMPLETE LINES 1-9 ABOVE                                            
                                                                           
________________________________________________________________ #LINE:   1
________________________________________________________________ #LINE:   2
________________________________________________________________ #LINE:   3
________________________________________________________________ #LINE:   4
________________________________________________________________ #LINE:   5
________________________________________________________________ #LINE:   6
________________________________________________________________ #LINE:   7
________________________________________________________________ #LINE:   8
________________________________________________________________ #LINE:   9
                                                                           
PLEASE COMPLETE LINES 1-9 ABOVE

レポーティングモードの例はライブラリ SYSEXRM のプログラム PBPEX1R を参照してください。

Top of page