BEFORE-BREAK、AFTER-BREAKプロシジャー使用上の注意点は?

Document created by Masaaki_Iyama Employee on Jun 23, 2015Last modified by Masaaki_Iyama Employee on Jun 24, 2015
Version 1Show Document
  • View in full screen mode

文書番号: JTEC001016

製品名: CA-Easytrieve Plus

バージョン: ALL

OS: z/OS, MSP, VOS3

 

Question

BEFORE-BREAK、AFTER-BREAKプロシジャー使用上の注意点は? 

 

Answer

合計値、コントロール・キー・フィールド以外のデータは、次の入力データが参照されます。また、レポ-ト・プロシジャー内では使用できないステートメントもあります。 BEFORE-BREAK、AFTER-BREAK プロシジャーは、以下の点に注意して使用してください。

 

● 合計値やコントロール・キー・フィールド以外のデータは参照しない。

BEFORE-BREAK、AFTER-BREAKプロシジャーは、コントロール・レポートの合計値を変更したり、合計行にコメントをつけたりするために用意されているレポート・プロシジャーです。キ-・ブレイクの発生を判断するために、入力エリアには次のレコードが入力されています。コントロール・キー・フィールドや合計値は、EASYPLUSが用意したコントロール処理のためのエリアを参照しますが、その他の明細データはつぎのデータが参照されてしまいます。BEFORE-BREAK、AFTER-BREAKプロシジャーではコントロール・キー・フィールド、合計値以外のフィ-ルドは参照しないようにします。

 

● レポート・プロシジャーでは、下記のステートメントは使用できません。

        GET          (データベース・オプション使用時)

        PUT

        READ

        WRITE        

       POINT         

        PRINT

    (データベース・オプション使用時)

        DLI

        IDMS

        SQL

        AIM


SEARCH、CALLは使用可能です。

 

● DISPLAY実行時ライン・カウンターの値の判定は行われません。

EASYPLUSは内部でもつライン・カウンターの値を判断して自動改頁処理を実行しますが、この判断は明細行の出力直前にのみ実行され、DISPLAYによる出力直前には実行されません。このため、DISPLAY実行途中に改頁のタイミングがくる場合は注意が必要です。

 

記述例

(例) 合計行の見出しをBEFORE-BREAKプロシジャーで変更する

   FILE       FILEA

    HIN-CODE      *      5    A     HEADING ‘商品コード'

  HIN-NAME     *     10    A     HEADING ‘商品名'

  TANKA         *      5    N  0    HEADING ‘単価'

  SURYO         *       5    N  0   HEADING ‘数量'

    W-URIAGE    W     10    N  0   HEADING ‘売上げ金額'

  *

  JOB

  PRINT

  *

  REPORT

  SEQUENCE    HIN-CODE

  CONTROL     FINAL   NOPRINT  HIN-CODE  NOPRINT

  TITLE   ‘商品別売上一覧表'

  LINE           HIN-CODE   HIN-NAME   TANKA   SURYO  W-URIAGE

  BEFORE-BREAK.   PROC

     IF LEVEL = 1

         DISPLAY  ‘ *** TOTAL ***  ' POS 1   HIN-CODE  +

        POS 2   HIN-NAME  POS 4  SURYO  POS 5   W-URIAGE

  END-IF

END-PROC

 

この例では、商品コード別に集計処理を行い、合計行は自動出力せずに、BEFORE-BREAKプロシジャーでDISPLAYしています。ところが、このままだと商品名はコントロール・キー・フィールドではないブレイク後の次のデータの内容がDISPLAYされてしまいます。この場合、CONTROLステートメントの指定を次のように変更します。

CONTROL   FINAL   NOPRINT   HIN-CODE   NOPRINT   HIN-NAME   NOPRINT

 

商品名と商品コードとは同時にブレイクする項目であり商品名をコントロール・キー・フィールドに指定しても新たなキー・ブレイクを指定したことにはなりません。商品名はコントロール・キー・フィールドとして指定したことにより、BAFORE-BREAK、AFTER-BREAKプロシジャーで正しい値を参照できるようになります。

 

※LEVEL: キー・ブレイクのレベルを判定するシステム定義フィールド

※POS   : DISPLAYによる出力位置を指定するキーワード

Attachments

    Outcomes