Batch-loader sample

The following batch-loader sample statements create applications for the Paymore example.

OPTIONS ACTION(SCAN)         /* SYNTAX CHECK ONLY                    */
    SUBSYS(EIDA)             /* SUBSYSTEM IS EIDA                    */
ADSTART                      /* SET DEFAULTS FOR SUBSEQUENT          */
    ACTION(SETDEFAULT)       /* ADSTART STATEMENTS.                  */
    ADTYPE(A)                /* APPLICATION TYPE                     */
    DESC('PAYROLL SAMPLE')   /* DESCRIPTION TEXT                     */
    ODESC('SAMPLE APPLICATION') /* OWNER DESCRIPTION                 */
    PRIORITY(5)              /* PRIORITY                             */
    OWNER(SAMPLE)            /* OWNER ID                             */
ADRUN                        /* SET DEFAULTS FOR SUBSEQUENT          */
    ACTION(SETDEFAULT)       /* ADRUN   STATEMENTS.                  */
    TYPE(R)                  /* USE RULE-BASED RUN CYCLES            */
ADSTART ADID(PAYDAILY)       /* DEFINE PAYDAILY                      */
    DESC('DAILY PAYROLL JOBS')  /*                                   */
ADDEP
    PREADID(PAYDAILY)        /*                                      */
    DESC('WAIT FOR PAYDAILY PRED')                                   */
ADRUN   NAME(DAILY)          /* SPECIFY RULE-BASED RUN CYCLE         */
    DESCR('RUN EVERY WORK DAY') /*                                   */
    IATIME(1200)             /* INPUT ARRIVAL TIME                   */
    DLTIME(1600)             /* DEADLINE TIME                        */
ADRULE EVERY DAY(WORKDAY)    /* SPECIFY EVERY WORK DAY IN THE YEAR   */
    YEAR                     /* SELECT ALL DAYS IN THE WEEK          */
ADOP    WSID(WTO1)           /* SEND A WTO TO CLOSE THE PAYROLL      */
    OPNO(05)                 /* DATASET.                             */
    JOBN(PAYDAILY)           /* THE DESC KEYWORD SPECIFIES THE       */
    DESC('PAYX CLOSE DATASET')   /* OPERATION TEXT, WHICH CAN        */
    DURATION(1)              /* BE USED BY THE RECEIVER OF THE WTO   */
    TIME(Y)                  /* START THIS JOB AT IATIME             */
ADOP    WSID(SETP)           /* DEFINE THE SETUP OPERATION (010)     */
    OPNO(10)                 /* FOR THE PAYDAILY JOB                 */
    JOBN(PAYDAILY)           /*                                      */
    DESC('SETUP FOR PAYDAILY')   /*                                  */
    DURATION(5)              /*                                      */
    PREOP(05)                /* WTO IS PREDECESSOR                   */
ADOP    WSID(CPU1)           /* DEFINE THE PAYDAILY JOB (020)        */
    OPNO(20)                 /*                                      */
    JOBN(PAYDAILY)           /*                                      */
    DESC('PAYDAILY JOB')     /*                                      */
    DURATION(5)              /* ESTIMATED JOB DURATION               */
    PREOP(10)                /* JCL SETUP IS PREDECESSOR             */
ADSR    RES(PAYROLL.DATABASE)    /* ASK FOR EXCLUSIVE USE OF THE     */
    USAGE(X)                 /* RESOURCE PAYROLL.DATABASE SO THAT    */
                             /* PAYDAILY DOES NOT RUN ALONGSIDE OTHER*/
                             /* PAYROLL JOBS                         */
ADOPEXTN EXTNAME('CALCULATE SIMPLE PAYWEEK JOB') /*                  */
ADSTART ADID(GPAYW)          /* DEFINE THE WEEKLY PAYROLL GROUP      */
    DESCR('WEEKLY PAYROLL GROUP')  /*                                */
    ADTYPE(G)                /* APPLICATION TYPE IS G (GROUP)        */
ADRUN   NAME(THURS)          /* SPECIFY THE RUN CYCLE FOR THE        */
    RULE(1)                  /* WEEKLY PAYROLL GROUP DEFINITION      */
    DESCR('RUN ON THURSDAY') /* RUN ON THURSDAY OR ON THE PREVIOUS   */
    IATIME(1200)             /* DAY (FREE-DAY RULE 1) IF THURSDAY IS */
    DLTIME(1600)             /* A FREE DAY.                          */
ADRULE EVERY DAY(THURSDAY)   /*                                      */
 YEAR                        /* THIS COULD ALSO BE WEEK OR MONTH     */
ADSTART ADID(PAYW)           /* THIS WEEKLY JOB IS PART OF GPAYW, SO */
    DESCR('WEEKLY PAYROLL JOBS') /* IT DOES NOT HAVE ITS OWN ADRUN.  */
    ADGROUP(GPAYW)           /*                                      */
ADOP    WSID(CPU1)           /*                                      */
    OPNO(20)                 /*                                      */
    JOBN(PAYWEEK)            /*                                      */
    DESC('PAYWEEK JOB')      /*                                      */
    DURATION(5)              /*                                      */
ADDEP   PREWSID(CPU1)        /*                                      */
    PREOP(020)               /*                                      */
    PREADID(PAYDAILY)        /*                                      */
    DESC('WAIT FOR PAYDAILY')    /*                                  */
ADSR    RES(PAYROLL.DATABASE)    /*                                  */
    USAGE(X)                 /*                                      */
ADOP    WSID(CPU1)           /* THE PAYSLIPS JOB.                    */
    OPNO(30)                 /*                                      */
    JOBN(PAYWSLIP)           /*                                      */
    DESC('PAYWSLIP JOB')     /*                                      */
    DURATION(5)              /*                                      */
    PREOP(20)                /*                                      */
ADOP    WSID(PRT1)           /* TRACK   THE PRINTING OF THE JES      */
    OPNO(90)                 /* OUTPUT GROUP.                        */
    JOBN(PAYWSLIP)           /* SAME NAME AS THE PREDECESSOR JOB.    */
    DESC('PAYWSLIP PRINT')   /*                                      */
    DURATION(20)             /*                                      */
    PREOP(30)                /*                                      */
    PRTCLASS(D) FORM(SLIPS)  /* TRACKS THIS SYSOUT CLASS AND FORM NO */
ADOP    WSID(PAY1)           /* TRACK THE COLLATION OF PAY SLIPS   */
    OPNO(95)                 /* AND PREPARATION OF PAY PACKETS       */
    JOBN(PAYWSLIP)           /* IN THE PAY OFFICE.                   */
    DESC('PAY PACKETS')      /*                                      */
    DURATION(60)             /*                                      */
    PREOP(90)                /*                                      */
ADOPEXTN EXTNAME('  ')       /* DELETE THE EXTENDED NAME INFO        */
ADSTART ADID(GPAYM)          /* DEFINE THE MONTHLY PAYROLL GROUP     */
    DESCR('MONTHLY PAYROLL GROUP')  /*                               */
    ADTYPE(G)                /* APPLICATION TYPE IS G (GROUP)        */
ADRUN     NAME(FIRSTTHU)     /* SPECIFY THE RUN CYCLE FOR THE        */
    RULE(1)                  /* MONTHLY PAYROLL GROUP DEFINITION     */
    DESCR('RUN ON THURSDAY') /* RUN ON THE THIRD THURSDAY IN MONTH   */
    IATIME(1200)             /* OR DAY BEFORE(RULE 1) IF THURSDAY IS */
    DLTIME(1600)             /* A FREE DAY.                          */
ADRULE ONLY(3)               /*                                      */
 DAY(THURSDAY) MONTH         /*                                      */

ADSTART ADID(PAYM1)          /* THIS MONTHLY JOB IS PART OF GPAYM, SO*/
    DESCR('MONTHLY PAYROLL JOBS') /* IT DOES NOT HAVE ITS OWN ADRUN. */
    ADGROUP(GPAYM)           /*                                      */
ADOP    WSID(CPU1)           /*                                      */
    OPNO(40)                 /*                                      */
    JOBN(PAYMONTH)           /*                                      */
    DESC('PAYMONTH JOB')     /*                                      */
    DURATION(5)              /*                                      */
ADDEP   PREWSID(CPU1)        /*                                      */
    PREOP(020)               /*                                      */
    PREADID(PAYDAILY)        /*                                      */
    DESC('WAIT FOR PAYDAILY')    /*                                  */
ADSR    RES(PAYROLL.DATABASE)    /*                                  */
    USAGE(X)                 /*                                      */
ADOP    WSID(CPU1)           /* THE PAYSLIPS JOB.                    */
    OPNO(50)                 /*                                      */
    JOBN(PAYMSLIP)           /*                                      */
    DESC('PAYMSLIP JOB')     /*                                      */
    DURATION(5)              /*                                      */
    PREOP(40)                /*                                      */
ADOP    WSID(PRT1)           /* TRACK   THE PRINTING OF THE JES      */
    OPNO(99)                 /* OUTPUT GROUP.                        */
    JOBN(PAYMSLIP)           /* SAME NAME AS THE PREDECESSOR JOB.    */
    DESC('PAYMSLIP PRINT')   /*                                      */
    DURATION(20)             /*                                      */
    PREOP(50)                /*                                      */
    PRTCLASS(D) FORM(SLIPS)  /* TRACKS THIS SYSOUT CLASS AND FORM NO */
ADSTART ADID(PAYM2)          /* THIS MONTHLY JOB IS PART OF GPAYM, SO*/
    DESCR('MONTHLY GIRO')    /*      IT DOES NOT HAVE ITS OWN ADRUN. */
    ADGROUP(GPAYM)           /*                                      */
ADOP    WSID(CPU1)           /* PAYTRANS IS THE JOB THAT SENDS       */
    OPNO(40)                 /* INFORMATION ABOUT MONTHLY PAYMENTS   */
    JOBN(PAYTRANS)           /* TO THE BANKS.                        */
    DESC('GIRO TRANSFER')    /*                                      */
    DURATION(5)              /*                                      */
ADDEP   PREWSID(CPU1)        /*                                      */
    PREOP(040)               /*                                      */
    PREADID(PAYMONTH)        /*                                      */
    DESC('WAIT FOR PAYMONTH')    /*                                  */
ADDEP   PREWSID(CPU1)        /*                                      */
    PREOP(020)               /*                                      */
    PREADID(PAYWEEK)         /*                                      */
    DESC('WAIT FOR PAYWEEK') /*                                      */
ADSR    RES(PAYROLL.DATABASE)    /*                                  */
    USAGE(X)                 /*                                      */
ADSR    RES(TAPES)           /*                                      */
    USAGE(X) QUANTITY(1)     /* EXCLUSIVE USE OF ONE TAPE DRIVE      */
ADSTART ADID(PAYTAXYR)       /* DEFINE THE YEARLY TAX RUN            */
    DESC('YEARLY TAX RUN')   /*                                      */
ADRUN     NAME(FSTTHU7)      /* SPECIFY RUN CYCLES                   */
    DESCR('RUN 3RD THU IN JULY') /*                                  */
    RULE(1)                  /* RUN DAY BEFORE IF A FREE DAY         */
    IATIME(1200)             /* INPUT ARRIVAL TIME                   */
    DLTIME(2000)             /* DEADLINE TIME (SAME DAY ASSUMED)     */
ADRULE ONLY(3)               /* GENERATE THE THIRD THURSDAY IN JULY  */
  DAY(THURSDAY) MONTH(JULY)  /*                                      */
ADOP    WSID(CPU1)           /* DEFINE THE PAYTAXYR JOB              */
    OPNO(15)                 /*                                      */
    JOBN(PAYTAXYR)           /* MUST BE THE SAME NAME AS JCL MEMBER  */
    DESC('PAYTAXYR JOB')     /*                                      */
    DURATION(5)              /* ESTIMATED JOB DURATION               */
ADDEP   PREWSID(CPU1)        /*                                      */
    PREOP(040)               /*                                      */
    PREADID(PAYM2)           /* DEPEND ON THE MONTHLY GIRO JOB       */
    DESC('WAIT FOR PAYTRANS') /*                                     */
ADSR    RES(PAYROLL.DATABASE)    /* ASK FOR EXCLUSIVE USE OF THE     */
    USAGE(X)                 /* RESOURCE PAYROLL.DATABASE            */
ADSTART ADID(PAYRECOV)       /* RECOVERY JOB.                        */
    DESCR('RECOVER PAYROLL') /* RUN AS REQUIRED, SO NO ADRUN.        */
ADOP    WSID(CPU1)           /*                                      */
    OPNO(20)                 /*                                      */
    JOBN(PAYRECOV)           /*                                      */
    DESC('PAYRECOV JOB')     /*                                      */
    DURATION(5)              /*                                      */
ADSR    RES(PAYROLL.DATABASE)    /*                                  */
    USAGE(X)                 /*                                      */
ADSR    RES(TAPES)           /*                                      */
    USAGE(X) QUANTITY(1)     /* EXCLUSIVE USE OF ONE TAPE DRIVE      */
ADSTART ADID(PAYQUERY)       /* QUERY JOB.                           */
    DESCR('AD-HOC QUERY')    /* RUN AS REQUIRED, SO NO ADRUN.        */
ADOP    WSID(CPU1)           /*                                      */
    OPNO(50)                 /*                                      */
    JOBN(PAYQUERY)           /*                                      */
    DESC('PAYQUERY JOB')     /*                                      */
    DURATION(5)              /*                                      */
ADSR    RES(PAYROLL.DATABASE)    /*                                  */
    USAGE(X)                 /*                                      */
ADSTART ADID(PAYBACKP)       /* BACKUP JOB.                          */
    DESCR('BACKUP PAYROLL')  /* RUN AFTER ALL OTHER PAYROLL JOBS.    */
ADRUN   NAME(DAILY)          /* SPECIFY RULE-BASED RUN CYCLE         */
    DESCR('RUN EVERY WORK DAY') /*                                   */
    IATIME(1200)             /* INPUT ARRIVAL TIME                   */
    DLTIME(1600)             /* DEADLINE TIME                        */
ADRULE EVERY DAY(WORKDAY)    /* SPECIFY EVERY WORK DAY IN THE YEAR   */
    YEAR                     /* SELECT ALL DAYS IN THE WEEK          */
ADOP    WSID(CPU1)           /*                                      */
    OPNO(15)                 /*                                      */
    JOBN(PAYBACKP)           /*                                      */
    DESC('PAYBACKP JOB')     /*                                      */
    DURATION(5)              /*                                      */
ADSR    RES(PAYROLL.DATABASE)    /*                                  */
    USAGE(S)                 /*                                      */
ADSR    RES(TAPES)           /*                                      */
    USAGE(X) QUANTITY(1)     /* EXCLUSIVE USE OF ONE TAPE DRIVE      */
ADDEP   PREWSID(CPU1)        /*        ALL THESE                     */
    PREAD(PAYDAILY)          /*        DEPENDENCIES                  */
    PREOP(020)               /*        ARE EFFECTIVE                 */
    DESC('WAIT FOR PAYDAILY')    /*    ONLY                          */
ADDEP   PREWSID(CPU1)        /*        IF THE                        */
    PREAD(PAYWSLIP)          /*        SPECIFIED                     */
    PREOP(030)               /*        OPERATION                     */
    DESC('WAIT FOR PAYWSLIP')    /*    IS SCHEDULED                  */
ADDEP   PREWSID(CPU1)        /*        FOR THE SAME DAY              */
    PREAD(PAYMSLIP)          /*        AS PAYBACKP.                  */
    PREOP(050)               /*        SO, IF IT IS A NORMAL         */
    DESC('WAIT FOR PAYMSLIP')    /*    MONDAY, FOR EXAMPLE,          */
ADDEP   PREWSID(CPU1)        /*        PAYBACKP IS DEPENDENT         */
    PREAD(PAYTRANS)          /*        ONLY ON PAYDAILY.             */
    PREOP(040)               /*                                      */
    DESC('WAIT FOR PAYTRANS')    /*                                  */
ADDEP   PREWSID(CPU1)        /*                                      */
    PREAD(PAYTAXYR)          /*                                      */
    PREOP(015)               /*                                      */
    DESC('WAIT FOR PAYTAXYR')    /*                                  */
ADOP    WSID(WTO1)           /* SEND A WTO WHICH TRIGGERS A CICS     */
    OPNO(30)                 /* TRANSACTION TO REOPEN THE DATASET    */
    JOBN(PAYBACKP)           /*                                      */
    DESC('PAYX OPEN DATASET') /* THIS TEXT CAN BE USED AS THE COMMAND*/
    DURATION(1)              /*                                      */
    PREOP(15)                /* INTERNAL DEPENDENCY ON BACKUP JOB    */
/*