0

我有一个 VSAM

• 4 字节二进制无符号整数,表示 6 位十进制分支排序码(例如 420101)

• 4 字节二进制无符号整数,表示 8 位帐号(例如 12345678)

• 4 字节有符号整数,用于保存账户当前余额

• 32 字节 EBCDIC 字符帐户所有者名称(例如“PAT JONES”),右侧填充空白

我想生成如下报告

在此处输入图像描述

我试图这样做

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

但是有很多排序代码。我正在考虑对所有输入进行排序,然后在这些排序代码行下方将具有相同排序代码的每条记录相加。JCL有什么办法可以做到吗?谢谢。

4

1 回答 1

3

尝试这个:

//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)
/*

您可以在此链接中找到有关 SECTIONS、HEADER3 和 TRAILER3 的更多信息:https ://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.iceg200/ice2cg_Sections.htm

于 2017-11-18T04:28:02.970 回答