Automated Billing System JCL Procedures for Generating Invoices
300 likes | 379 Vues
Review of JCL procedures for running billing jobs to generate invoices and print billing details. Includes steps for updating master data, calculating charges, and printing bills.
Automated Billing System JCL Procedures for Generating Invoices
E N D
Presentation Transcript
//CUSTBLG JOB ,SMITH,PRTY=7,CLASS=A, // MSGLEVEL=(1,1),MSGCLASS=A //JOBLIB DD //JOBCAT DD //CALCBLG EXEC PGM=CALCBLG,TIME=2, // PARM=(CYCLE1,UPDATE) //STEPLIB DD //SYSUDUMP DD SYSOUT=A //INMASTER DD DISP=(OLD,KEEP,KEEP), // DSN=BILLING.MASTER //PAYCHGS DD DISP=(OLD,DELETE,KEEP), // DSN=BILLING.CHANGES, // UNIT=DISK //TAXTBLS DD DISP=SHR,DSN=TAX.TABLES2
//UPDMSTER DD DISP=(NEW,CATLG,DELETE), // DSN=BILLING.MASTER, // UNIT=TAPE, // DCB=(LRECL=160,BLKSIZE=3200), // DCB=RECFM=FB) //BLGFILE DD DISP=(NEW,PASS,DELETE), // UNIT=SYSDA,DSN=BILLING.PRINT, // SPACE=(TRK,(20,5),RLSE), // DCB=(LRECL=100,BLKSIZE=4000) // DCB=(RECFM=VB) //ISSBILLS EXEC PGM=ISSBILLS,TIME=(,30) //SYSUDUMP DD SYSOUT=A3
//BLGRPT DD SYSOUT=A //BILLS SYSOUT=(H,,DP12) //BLGFILE DD DISP=(OLD,DELETE,CATLG), // DSN=BILLING.PRINT // 4
//CUSTBLG JOB ,SMITH,PRTY=7,CLASS=A, // MSGLEVEL=(1,1),MSGCLASS=A //CALCBLG EXEC PGM=CALCBLG,TIME=2, // PARM=(CYCLE1,UPDATE) //STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB //SYSUDUMP DD SYSOUT=A //INMASTER DD DISP=(OLD,KEEP,KEEP), // DSN=BILLING.MASTER //PAYCHGS DD DISP=(OLD,DELETE,KEEP), // DSN=BILLING.CHANGES, // UNIT=DISK //TAXTBLS DD DISP=SHR,DSN=TAX.TABLES5
//UPDMSTER DD DISP=(NEW,CATLG,DELETE), // DSN=BILLING.MASTER, // UNIT=TAPE, // DCB=(LRECL=160,BLKSIZE=3200), // DCB=RECFM=FB) //BLGFILE DD DISP=(NEW,PASS,DELETE), // UNIT=SYSDA,DSN=BILLING.PRINT, // SPACE=(TRK,(20,5),RLSE), // DCB=(LRECL=100,BLKSIZE=4000) // DCB=(RECFM=VB) //ISSBILLS EXEC PGM=ISSBILLS,TIME=(,30) //STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB //SYSUDUMP DD SYSOUT=A6
//BLGRPT DD SYSOUT=A //BILLS SYSOUT=(H,,DP12) //BLGFILE DD DISP=(OLD,DELETE,CATLG), // DSN=BILLING.PRINT // 7
//CUSTBLG JOB ,SMITH,PRTY=7,CLASS=A, // MSGLEVEL=(1,1),MSGCLASS=A //CALCBLG EXEC PGM=CALCBLG,TIME=2, // PARM=(CYCLE1,UPDATE) //STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB //SYSUDUMP DD SYSOUT=A //INMASTER DD DISP=(OLD,KEEP,KEEP), // DSN=BILLING.MASTER //PAYCHGS DD DISP=(OLD,DELETE,KEEP), // DSN=BILLING.CHANGES, // UNIT=DISK //TAXTBLS DD DISP=SHR,DSN=TAX.TABLES9
//UPDMSTER DD DISP=(NEW,CATLG,DELETE), // DSN=BILLING.MASTER, // UNIT=TAPE, // DCB=(LRECL=160,BLKSIZE=3200), // DCB=RECFM=FB) //BLGFILE DD DISP=(NEW,PASS,DELETE), // UNIT=SYSDA,DSN=BILLING.PRINT, // SPACE=(TRK,(20,5),RLSE), // DCB=(LRECL=100,BLKSIZE=4000) // DCB=(RECFM=VB) //ISSBILLS EXEC PGM=ISSBILLS,TIME=(,30) //STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB //SYSUDUMP DD SYSOUT=A10
//BLGRPT DD SYSOUT=A //BILLS SYSOUT=(H,,DP12) //BLGFILE DD DISP=(OLD,DELETE,CATLG), // DSN=BILLING.PRINT // 11
//CUSTBLG JOB ,SMITH,PRTY=7,CLASS=A, // MSGLEVEL=(1,1),MSGCLASS=A //CALCBLG EXEC PGM=CALCBLG,TIME=2, // PARM=(CYCLE1,UPDATE) //STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB //SYSUDUMP DD SYSOUT=A //INMASTER DD DISP=(OLD,KEEP,KEEP), // DSN=BILLING.MASTER //PAYCHGS DD DISP=(OLD,DELETE,KEEP), // DSN=BILLING.CHANGES, // UNIT=DISK //TAXTBLS DD DISP=SHR,DSN=TAX.TABLES13
//UPDMSTER DD DISP=(NEW,CATLG,DELETE), // DSN=BILLING.MASTER, // UNIT=TAPE, // DCB=(LRECL=160,BLKSIZE=3200), // DCB=RECFM=FB) //BLGFILE DD DISP=(NEW,PASS,DELETE), // UNIT=SYSDA,DSN=BILLING.PRINT, // SPACE=(TRK,(20,5),RLSE), // DCB=(LRECL=100,BLKSIZE=4000) // DCB=(RECFM=VB) //ISSBILLS EXEC PGM=ISSBILLS,TIME=(,30) //STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB //SYSUDUMP DD SYSOUT=A14
//BLGRPT DD SYSOUT=A //BILLS SYSOUT=(H,,DP12) //BLGFILE DD DISP=(OLD,DELETE,CATLG), // DSN=BILLING.PRINT // 15
//CUSTBLG JOB ,SMITH,PRTY=7,CLASS=A, // MSGLEVEL=(1,1),MSGCLASS=A//BILLING PROC //CALCBLG EXEC PGM=CALCBLG,TIME=2, // PARM=‘CYCLE1,UPDATE’ //STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB //SYSUDUMP DD SYSOUT=A //INMASTER DD DISP=(OLD,KEEP,KEEP), // DSN=BILLING.MASTER //PAYCHGS DD DISP=(OLD,DELETE,KEEP), // DSN=BILLING.CHANGES, // UNIT=DISK //TAXTBLS DD DISP=SHR,DSN=TAX.TABLES17
//UPDMSTER DD DISP=(NEW,CATLG,DELETE), // DSN=BILLING.MASTER, // UNIT=TAPE, // DCB=(LRECL=160,BLKSIZE=3200), // DCB=RECFM=FB) //BLGFILE DD DISP=(NEW,PASS,DELETE), // UNIT=SYSDA,DSN=BILLING.PRINT, // SPACE=(TRK,(20,5),RLSE), // DCB=(LRECL=100,BLKSIZE=4000) // DCB=(RECFM=VB) //ISSBILLS EXEC PGM=ISSBILLS,TIME=(,30) //STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB //SYSUDUMP DD SYSOUT=A18
//BLGRPT DD SYSOUT=A //BILLS DD SYSOUT=(H,,DP12) //BLGFILE DD DISP=(OLD,DELETE,CATLG), // DSN=BILLING.PRINT// PEND//BILLING EXEC BILLING //19
//CUSTBLG JOB ,SMITH,PRTY=7,CLASS=A, // MSGLEVEL=(1,1),MSGCLASS=A//BILLING PROC //CALCBLG EXEC PGM=CALCBLG,TIME=2, // PARM=‘CYCLE1,UPDATE’ //STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB //SYSUDUMP DD SYSOUT=A //INMASTER DD DISP=(OLD,KEEP,KEEP), // DSN=BILLING.MASTER //PAYCHGS DD DISP=(OLD,DELETE,KEEP), // DSN=BILLING.CHANGES, // UNIT=DISK //TAXTBLS DD DISP=SHR,DSN=TAX.TABLES21
//UPDMSTER DD DISP=(NEW,CATLG,DELETE), // DSN=BILLING.MASTER, // UNIT=TAPE, // DCB=(LRECL=160,BLKSIZE=3200), // DCB=RECFM=FB) //BLGFILE DD DISP=(NEW,PASS,DELETE), // UNIT=SYSDA,DSN=BILLING.PRINT, // SPACE=(TRK,(20,5),RLSE), // DCB=(LRECL=100,BLKSIZE=4000) // DCB=(RECFM=VB) //ISSBILLS EXEC PGM=ISSBILLS,TIME=(,30) //STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB //SYSUDUMP DD SYSOUT=A22
//BLGRPT DD SYSOUT=A //BILLS SYSOUT=(H,,DP12) //BLGFILE DD DISP=(OLD,DELETE,CATLG), // DSN=BILLING.PRINT// PEND//BILLING EXEC BILLING++BILLINGPROC++CALCBLG EXEC PGM=CALCBLG,TIME=2,++ PARM=‘CYCLE1,UPDATE’++STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB++SYSUDUMP DD SYSOUT=A++INMASTER DD DISP=(OLD,KEEP,KEEP),++ DSN=BILLING.MASTER++PAYCHGS DD DISP=(OLD,DELETE,KEEP),++ DSN=BILLING.CHANGES,++ UNIT=DISK23
++TAXTBLS DD DISP=SHR,DSN=TAX.TABLES++UPDMSTER DD DISP=(NEW,CATLG,DELETE),++ DSN=BILLING.MASTER, ++ UNIT=TAPE,++ DCB=(LRECL=160,BLKSIZE=3200),++ DCB=RECFM=FB)++BLGFILE DD DISP=(NEW,PASS,DELETE),++ UNIT=SYSDA,DSN=BILLING.PRINT,++ SPACE=(TRK,(20,5),RLSE),++ DCB=(LRECL=100,BLKSIZE=4000)++ DCB=(RECFM=VB)++ISSBILLS EXEC PGM=ISSBILLS,TIME=(,30)++STEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB++SYSUDUMP DD SYSOUT=A24
++BLGRPT DD SYSOUT=A++BILLS SYSOUT=(H,,DP12)++BLGFILE DD DISP=(OLD,DELETE,CATLG),++ DSN=BILLING.PRINT25
Create The Proc //CUSTBLG JOB ,SMITH,PRTY=7, // CLASS=A,MSGLEVEL=(1,1), // MSGCLASS=A //BILLING EXEC BILLING 26
Executing The Proc //CUSTBLG JOB ,SMITH,PRTY=7, // CLASS=A,MSGLEVEL=(1,1), // MSGCLASS=A //BILLING EXEC BILLING 27
//CUSTBLG JOB ,SMITH,PRTY=7,CLASS=A, // MSGLEVEL=(1,1),MSGCLASS=A //BILLING EXEC BILLING XXCALCBLG EXEC PGM=CALCBLG,TIME=2, XX PARM=‘CYCLE1,UPDATE’ XXSTEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB XXSYSUDUMP DD SYSOUT=A XXINMASTER DD DISP=(OLD,KEEP,KEEP), XX DSN=BILLING.MASTER XXPAYCHGS DD DISP=(OLD,DELETE,KEEP), XX DSN=BILLING.CHANGES, XX UNIT=DISK29
XXTAXTBLS DD DISP=SHR,DSN=TAX.TABLES XXUPDMSTER DD DISP=(NEW,CATLG,DELETE), XX DSN=BILLING.MASTER, XX UNIT=TAPE, XX DCB=(LRECL=160,BLKSIZE=3200), XX DCB=RECFM=FB) XXBLGFILE DD DISP=(NEW,PASS,DELETE), XX UNIT=SYSDA,DSN=BILLING.PRINT, XX SPACE=(TRK,(20,5),RLSE), XX DCB=(LRECL=100,BLKSIZE=4000) XX DCB=(RECFM=VB) XXISSBILLS EXEC PGM=ISSBILLS,TIME=(,30) XXSTEPLIB DD DISP=SHR,DSN=BILLING.LOADLIB XXSYSUDUMP DD SYSOUT=A30