■  サマリーの結果を編集するには


サマリーの結果を編集するには、
    1.サマリー結果を中間ファイルに出力
    2.中間ファイルを入力
    3.編集してPrint
という手順で可能です。

EX)
//FILEA    DD *                               ←入力データ
0010000100
0010000200
0030000300
0030001000
1110008000
//SYSLIN   DD   *
LIST OFF
PARM LIST(NOPARM NOFILE)
FILE FILEA                                   ←入力データ定義
TEN  1 3 N
DAT  * 7 N 0
FILE FILEZ FB(80 8000) VIRTUAL RETAIN        ←中間ファイル
Z-TEN  1  3  N   HEADING('ミセ') MASK('999')
Z-TALLY * 10 P   HEADING('ケンスウ')             ←TALLYフィールドが自動的に挿入される
Z-DAT2  * 10 P 0 HEADING('DATA')
*
WKPER   W  3 P 1 HEADING('ヘイキン') MASK('ZZZ9.9')
*
JOB INPUT FILEA
     PRINT REPT1
REPORT REPT1 SUMMARY SUMFILE FILEZ NOHEADING  ←サマリー結果を中間ファイルに出力
CONTROL  TEN
LINE 1 TEN DAT                                ←複数のLINEがあっても1件で出力されます
*
JOB INPUT FILEZ                               ←中間ファイルをREAD
    WKPER = Z-DAT2 / Z-TALLY                  ←編集して
    PRINT REPT2                               ←PRINTする
REPORT REPT2 TITLESKIP 1 SPACE 1
TITLE 1 '***** TEST *****'
LINE 1 Z-TEN Z-DAT2 Z-TALLY WKPER
/*

                              ↓実行結果

                        ***** TEST *****
   ミセ            DATA                  ケンスウ         ヘイキン
   001                     300                   2  150.0
   003                   1,300                   2  650.0
   111                   8,000                   1 8000.0


※この例では、
    入力ファイル=5件
    中間ファイル=3件
    レポート=3件
  となります。

※JCL上、FILEZのDDは不要です。

 



BEFORE PAGE

TOP PAGE