-1

私はこの条件を含める必要があります:

 1) Total no.of records per combination of field1 and field3 (INCLUDE=(1,2,8,3,CH,A)

入力ファイル: FIELD1 と FIELD3 には 5 つの組み合わせがあります。以下の例を参照してください。

 field1 field2 field3 field4
 AA     00000  123    ABC
 AA     00000  123    ABC
 AA     00000  456    ABC
 BB     00000  123    ABC
 BB     00000  123    ABC
 BB     00000  789    ABC
 AA     00000  567    ABC

出力ファイル: 組み合わせごとに 1 つずつ、5 つの行を取得し、その出現回数を示します。

 FIELD1 FIELD3  COUNT-OF-COMBINATION
 AA     123     2
 AA     456     1
 AA     567     1
 BB     123     2
 AA     789     1

My method is:
 //SYSIN    DD  *                                                       
   SORT FIELDS=COPY                                                     
   OPTION COPY                                                          
   OUTFIL REMOVECC,NODETAIL,                                            
   TRAILER1=(1,2,'ON',8,3,'=',COUNT=(M11,LENGTH=10)))

/*

私が得た答えは:

           AA ON 123 = 7

どちらが間違っているか: そうあるべきだった

  AA  ON   123   =  2
  AA  ON   456   =  1
  AA  ON   567   =  1
  BB  ON   123   =  2
  AA  ON   789   =  1
4

1 に答える 1

2

あなたが持っている:

 SORT FIELDS=COPY                                                     
 OPTION COPY                                                          
 OUTFIL REMOVECC,NODETAIL,                                            
 TRAILER1=(1,2,'ON',8,3,'=',COUNT=(M11,LENGTH=10)))

最初の問題は、 と を持っていることSORT FIELDS=COPYですOPTION COPY。これらは同じ意味です。どちらかを削除します (私は OPTION COPY を使用する傾向があります)。

次に、予備の右括弧があります。

次に、TRAILER1 を使用しています。TRAILERn には 3 つのタイプがあります。1 は「レポートの最後」です。2 はページの最後にあります。3 はコントロール ブレークにあります。

TRAILER1 を使用しているため、ファイルの最後に、ファイルの合計を含む 1 つのレコードが取得されます。

その後、TRAILER1 の位置は、入力ファイルではなく出力と一致します。

これにより、そのデータで並べ替えコントロール カードを実行していないという事実がわかりました。コントロール カードには構文エラーがあり、実行されません。カードを修正し、TRAILER1 を保持するとAAON567=0000000007.

これにより、不足しているコントロール ブレークが発生します。

コントロール ブレークは SECTIONS で定義します。TRAILER3 は SECTIONS の一部です。

出力形式以外のすべてを修正します。

 OPTION COPY 
 OUTFIL REMOVECC,NODETAIL, 
        SECTIONS=(1,2,
                  15,3, 
                  TRAILER3=(1,2,
                            'ON',
                             15,3,
                             '=',
                             COUNT=(M11,
                                    LENGTH=10))) 

これにより、次のことが得られます。

 AAON123=0000000002
 AAON456=0000000001
 BBON123=0000000002
 BBON789=0000000001
 AAON567=0000000001

列見出しが必要な場合は、HEADER3 の使用方法を参照してください (この単純なケースでは、HEADER1 と HEADER2 も機能します)。「ページの合計」が必要な場合は、TRAILER2 をご覧ください。ファイルの合計が必要な場合は、TRAILER1 を使用します。

于 2013-11-08T15:15:54.210 に答える