IBM主机技术一本通
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

8.6 运行银行主文件维护平衡线程序的作业流(GOBKUPD1)

下面是运行主文件维护程序的作业流。第3行到第12行的第1个作业步用来对交易文件分类,因为我们的交易文件是按交易日志号而不是按账户的顺序排列的。第11行的SORT FIELDS短语,使用了两个字段,首先是账号(8,14,CH,A),其次是交易日志号(1,4,CH,A),这样做是必需的,因为如果不指定交易日志号作为第2个分类字段,就不能保证同账号的交易按照交易的先后顺序排列。

第13行到第22行的第2个作业步对旧主文件按照账号分类,这是可选的,理论上,旧主文件是按照账号的顺序排列好了的。

第23行到第31行的第3个作业步,才是真正运行平衡线算法的,注意所使用的交易和旧主文件都是排好序的。

        000001 //IBMUSERA JOB CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1),NOTIFY=&SYSUID,
        000002 //     REGION=4M
        000003 //SRTRAN  EXEC  PGM=ICEMAN
        000004 //SYSOUT  DD SYSOUT=*
        000005 //SORTIN  DD DSN=IBMUSER.TEST.BKTRAN,DISP=SHR
        000006 //SORTOUT DD DSN=IBMUSER.TEST.BKTRAN.SORT,DISP=OLD
        000007 //*        DISP=(NEW,PASS),
        000008 //*        SPACE=(TRK,(5,5),RLSE),
        000009 //*        DCB=(RECFM=FB,LRECL=80,DSORG=PS)
        000010 //SYSIN   DD *
        000011    SORT FIELDS=(8,14,CH,A,1,4,CH,A)
        000012 /*
        000013 //SRTMASTO EXEC  PGM=ICEMAN
        000014 //SYSOUT  DD SYSOUT=*
        000015 //SORTIN  DD DSN=IBMUSER.TEST.BKMASTO,DISP=SHR
        000016 //SORTOUT DD DSN=IBMUSER.TEST.BKMASTO.SORT,DISP=OLD
        000017 //*         DISP=(NEW,PASS),
        000018 //*         SPACE=(TRK,(5,5),RLSE),
        000019 //*         DCB=(RECFM=FB,LRECL=100,DSORG=PS)
        000020 //SYSIN   DD *
        000021    SORT FIELDS=(1,14,CH,A)
        000022 /*
        000023 //GOBKUPD  EXEC PGM=BKUPD1
        000024 //STEPLIB  DD DSN=IBMUSER.TEST.LOAD,DISP=SHR
        000025 //SYSOUT   DD SYSOUT=*
        000026 //SYSPRINT DD SYSOUT=*
        000027 //SORTOUT  DD SYSOUT=*
        000028 //SYSUDUMP DD SYSOUT=*
        000029 //BKTRAN   DD DSN=IBMUSER.TEST.BKTRAN.SORT,DISP=SHR
        000030 //BKMASTO  DD DSN=IBMUSER.TEST.BKMASTO.SORT,DISP=SHR
        000031 //BKMASTN  DD DSN=IBMUSER.TEST.BKMASTN,DISP=SHR