2017-11-18 56 views
0

我有具有大型機 - 生成與特定字段的總和的報告

•表示6位十進制分支SORTCODE 4字節的二進制無符號整數(例如420101)

•4字節一VSAM二進制無符號整數,表示一個8位帳號(例如12345678)

•4字節符號整數保持該帳戶的當前餘額

•32字節EBCDIC字符帳戶擁有者的名稱(例如「PAT JONES」),空白填充在右側

,我想生成報告如下

enter image description here

我試圖做到這一點

INCLUDE COND=(1,7,CH,EQ,C'some sortcode')        
    SORT FIELDS=(1,7,CH,A)            
    SUM FIELDS=(9,2,BI) 

但有很多SORTCODE的。我正在考慮對所有輸入進行排序,然後將排序相同的每個記錄彙總在這些排序代碼行的正下方。 JCL有什麼辦法可以做到嗎?謝謝。

回答

2

試試這個:

//SORTSTEP EXEC PGM=SORT 
//SYSOUT DD SYSOUT=* 
//SYSPRINT DD SYSOUT=* 
//SORTIN DD DSN=YourInputDataset,DISP=SHR 
//SORTOUT DD DSN=YourOutputDataset, 
//   DISP=(NEW,CATLG,DELETE) 
//SYSIN DD * 
    SORT FIELDS=(1,4,BI,A) 
    INREC BUILD=(1,4,BI,TO=ZD,LENGTH=6,5,4,9,4,13,32) 
    OUTFIL REMOVECC, 
     SECTIONS=(1,6, 
     HEADER3=(1:C'LIST OF BANK BY BRANCH',/,X,/, 
        1:C'SORTCODE: ',1,6,/,X,/, 
        1:C'ACCOUNT',10:C'BALANCE',20:C'OWNER NAME',/, 
        1:C'-------',10:C'-------',20:C'----------'), 
     TRAILER3=(X,/, 
     1:C'BRANCH TOTAL: ',16:TOT=(11,4,BI,EDIT=(SIIIITTT),SIGNS=(,-)))), 
     TRAILER1=(X,/,1:C'GRAND TOTAL: ',TOT=(11,4,BI, 
         EDIT=(SIIIITTT),SIGNS=(,-))), 
     OUTREC=(1:7,4,BI,TO=ZD,LENGTH=8,10:11,4,BI,EDIT=(SIIIITTT), 
         SIGNS=(,-),20:15,32) 
/* 

您可以通過以下鏈接找到更多有關的部分,HEADER3和TRAILER3:https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.iceg200/ice2cg_Sections.htm

+0

NVM,整理出來。非常感謝。 –