CONTROLステートメント使用時に自動集計されるフィールドは?  MASKパラメータで編集形式を指定しているフィールドを自動集計できるか?

Document created by Masaaki_Iyama Employee on Jun 22, 2015
Version 1Show Document
  • View in full screen mode

文書番号: JTEC001009

製品名: CA-Easytrieve Plus

バージョン: ALL

OS: z/OS, MSP, VOS3

 

Question

CONTROLステートメント使用時に自動集計されるフィールドは?

数値フィールドで合計を出力したい項目と出力したくない項目がある場合の取り扱い方法は?

CONTROLステートメントを記述したのに合計が出力されない。

MASKパラメータで編集形式を指定しているフィールドを自動集計できるか? 

 

Answer

数値フィールドで合計を出力したい項目と出力したくない項目がある場合の取り扱い方法は?

CONTROLステートメントを記述したのに合計が出力されない。

MASKパラメータで編集形式を指定しているフィールドを自動集計できるか? 

A  : 自動集計の対象となるフィールドは、数量数値フィールド(フィールド定義で数字マスクを指定したフィールド)で、LINEステートメントに指定されているフィールドです。レポート定義でSUMステートメントを使用した場合には、数量数値フィールドのうちSUMステートメントに指定されているフィールドが自動集計されます。

EASYPLUSの自動集計機能で集計対象となるフィールドは以下のとおりです。

 

・SUMステートメントがない場合 → LINEステートメントに指定されている数量数値フィールド (Wタイプのワークフィールドを含む)

・SUMステートメントがある場合 → SUMステートメントに指定されている数量数値フィールド (Wタイプのワークフィールドを含む)

(この場合、SUMステートメントに指定されているフィールドだけが対象になります。 LINEステートメントに指定されていてもSUMステートメントに指定がないと合計 は集計されません。)


参考 以下のような場合には、SUMステートメントを使用します。

1.プログラム中で演算やデータ移送を行うので、数字マスクで小数点以下の桁数を指定したいがその項目については自動集計の必要はない。

2.数字マスクを指定しEASYPLUSの標準フォーマットで編集して出力したいが、その項目については、自動集計の必要はない。

3.サマリー・ファイルの作成で、集計項目が多くLINEステートメントで指定していくと、「B061 レポート行のオーバーフロー」エラーが発生する。(LINEでの項目指定はLINESIZEのチェックが入りますが、SUMで指定した場合には指定できる項目数に制限はなくなります。)


注意  数量数値フィールド とはフィールド定義をする際に、数字マスクを指定したフィールドをいいます。 数字マスク とは数字の0から18の指定です。MASKパラメータだけ指定したフィールドは含まれません。数値属性(N、P、U、B)で定義しても数字マスクを指定しないフィールドは自動集計されません。この場合には数字マスクとMASKパラメータを併用します。

 

記述例

(例1) SUMステートメントなし

FILE    FILEA

   FLD1      1    5    N   0

   FLD2      6    5    N   0

   FLD3     11   5    N   0

   FLD4     16   5    N   0

   FLD5     21   5    N   0

  JOB

   PRINT

  REPORT

   CONTROL

   TITLE   '***  ~ ***'

 

   LINE   FLD1  FLD2  FLD3  FLD4  FLD5 ←  すべての項目の総合計が出力される。

                                           


(例2) SUMステートメントあり

  FILE    FILEA

   FLD1      1    5    N   0

   FLD2      6    5    N   0

   FLD3     11   5    N   0

   FLD4     16   5    N   0

   FLD5     21   5    N   0

  JOB

   PRINT

  REPORT

   CONTROL

 

       SUM     FLD3  FLD4  FLD5 ←    SUMステートメントで指定した項目だけが、自動集計される。

 

  TITLE   '*** ~ ***'

   LINE    FLD1  FLD2  FLD3  FLD4  FLD5

                                        


(例3) 数字マスクとMASKパラメータを併用したフィールド定義の例 (数字マスクが指定されていることでCONTROLにより自動集計されます。)

FLD-1    1    5    N   0  MASK '\\,\\9'

                                           

※数字マスクとMASKパラメータを併用した場合、出力編集形式はMASKパラメータが優先されます。

 

Attachments

    Outcomes