Previous Topic: 2.3.3.3.5 OS Job NamesNext Topic: 2.3.3.3.7 OS Job Attributes


2.3.3.3.6 OS Step Names

 Jobs generated with JCLGEN have descriptive job step names.
 In the CA MICS installation jobs, the job step names can be
 changed without impact on CA MICS operation. This is NOT true
 of the CA MICS operational jobs (i.e., DAILY, INCRccc,
 WEEKLY, MONTHLY, YEARLY, BACKUP, BACKUPM, RESTORE, RSTATUS,
 and SCHEDULE).  During the operational jobs, the current job
 step name is compared with the step which is acceptable to
 run, based on the status of the database checkpoint file.
 
 CA MICS operational job step names have a strict naming
 convention. Having operational jobs that adhere to this
 convention allows the CA MICS Product Support representatives
 to accurately and quickly isolate operational problems. This
 helps us provide you with more timely problem resolution
 should operational job problems occur. Changing the job step
 names of CA MICS operational jobs always interrupts this
 initial problem isolation, and usually lengthens problem
 resolution times.
 
 You may not be able to take full advantage of features
 provided by CA MICS if you modify the CA MICS operational job
 step names. CA MICS automatic job submission facilities in
 the batch SCHEDULE job and in the online Operational Status
 and Tracking facility create processes that include a series
 of CA MICS operational jobs. For example, a weekly process
 would consist of a DAILY, WEEKLY, and BACKUP in a single job
 stream. Job step names must be unique among all of the
 operational jobs in order to use the automatic submission
 facilities.
 
 Changing operational job step names is a process that
 involves more user modifications than any other tailoring
 operation in CA MICS. A facility is provided to allow the
 override of CA MICS operational job step names used in
 checkpoint analysis. The step names must be manually
 modified in all of the affected PROTOLIB members, and
 overridden names must be mapped to standard names. This
 mapping may change as new products are added to the database.
 
 Because of the maintenance burden this will add, and because
 modifying operational job step names usually lengthens
 support interactions, WE HIGHLY RECOMMEND THAT BEFORE THE
 EFFORT OF CHANGING JOB STEP NAMES IS BEGUN, YOU ATTEMPT TO
 GET A WAIVER OF THE INSTALLATION JOB STEP NAME STANDARD.
 
 If you find that you must change operational job step names,
 follow these steps (which are explained in more detail in the
 text that follows):
 
     MODIFYING PROTOLIB MEMBERS:
 
     o  Determine if you will be scheduling CA MICS through a
        vendor scheduling package or using a CA MICS provided
        facility.
 
     o  Identify the minimum number of job step names that
        must be changed.
 
     o  Identify the location of each job step name in
        members of sharedprefix.MICS.PROTOLIB.
 
     o  Prepare the PROTOLIB modifications.
 
     TRANSLATING STEP NAMES:
 
     o  Prepare the PROC FORMAT statements that comprise the
        $USTEP format. This format is called by operational
        job checkpoint processing to translate the actual
        (modified) job and step name of an operational job
        into the CA MICS standard job and step name.
 
     o  Prepare the _USRSTEP macro that performs the opposite
        translation; given a CA MICS standard operational job
        step name, return the actual (modified) job step name
        in which restart processing should occur.
 
     INSTALLING:
 
     o  Install the modifications, format, and macro.
 
     o  Keep complete written records of all modifications,
        and have them available for each call to the CA MICS
        Product Support group.
 
 
 Here is a detailed description of the operational job step
 name modification strategy.
 
 
 MODIFYING PROTOLIB MEMBERS:
 
 1.  Determine if you will be scheduling CA MICS through a
     vendor scheduling package or using a CA MICS provided
     facility.
 
     If you plan to use one of the CA MICS scheduling
     facilities, all operational job step names MUST be
     unique. If you use the same job step name, for example
     STEP1, in multiple CA MICS jobs, then you can NOT use the
     CA MICS batch SCHEDULE job or the Operational Status and
     Tracking SCHEDULE, DAILY, WEEKLY, MONTHLY, or YEARLY
     commands.
 
 2.  Identify the minimum number of job step names that must
     be changed.
 
     The CA MICS operational jobs and their step names are
     listed in Chapter 4. Thoroughly examine that chapter for
     an understanding of the structure and job step naming
     conventions used by CA MICS.
 
     From the list of possible job step names, select the
     fewest number of names that must be changed. Fewer name
     changes mean fewer modifications and less effort.
 
 3.  Identify the location of each job step name in members of
     sharedprefix.MICS.PROTOLIB.
 
     The PROTOLIB members that cause each operational job to
     be generated are named for the job:  DAILY, WEEKLY,
     MONTHLY, YEARLY, BACKUP, BACKUPM, RESTORE, RSTATUS, and
     SCHEDULE.  Note:  The INCRccc operational jobs are
     generated from the cccINCR protolib members.
 
     The operational update jobs (DAILY, INCRccc, WEEKLY,
     MONTHLY, and YEARLY) include other PROTOLIB members to
     complete their generation.  The names of these members
     vary according to the job step which the members
     prototype.
 
     For the DAILY, WEEKLY, MONTHLY, and YEARLY job steps that
     update CA MICS databases, the members have names of the
     form ttcccsss, where
 
        tt = DY for the DAILY job
             WK for the WEEKLY job
             MN for the MONTHLY job
             YR for the YEARLY job
       ccc = the product identifier, and
       sss = the product update step number
 
     The INCRccc jobs are in the cccINCR members and have step
     names of INCRnnn.
 
     The product identifiers (ccc) and update step numbers
     (nnn) for each CA MICS data integration product can be
     found in sharedprefix.MICS.GENLIB(COMPTDEF).
 
     An example of such a member is the CA MICS Batch and
     Operations (SMF) Analyzer. Its operational update step
     prototypes can be found in PROTOLIB members DYSMF030,
     SMFINCR, WKSMF030, MNSMF030, and YRSMF030.
 
     In addition, the DAILY, WEEKLY, and MONTHLY jobs have
     separate report step prototype members in PROTOLIB.
     These members are called:
 
         DYRPT400
         WKRPT400
         MNRPT400
 
     Finally, the DAILY, WEEKLY, MONTHLY, and YEARLY jobs have
     separate user step prototype members in PROTOLIB. These
     members are called:
 
         DYUSR500
         WKUSR500
         MNUSR500
         YRUSR500
 
 4.  Prepare the PROTOLIB modifications.
 
     If you need to change step names, to conform to a
     standard, you would typically build modifications for all
     the members identified above.
 
     As an example, we will examine a single modification.
     The first step of the DAILY job is called DAYALL. Its
     prototype is in sharedprefix.MICS.PROTOLIB(DAILY). For
     this example, lets say that the DAYALL step is located on
     a line with sequence number 00041000. The contents of
     that line are:
 
     col 1                                              col 80
     |                                                       |
     //DAYALL EXEC &MICSNDB,SYSPARM=&SYSPARM          00041000
 
     To change the name of the step from DAYALL to STPDY000,
     build an IEBUPDTE input stream that replaces the line
     with the desired contents:
 
     col 1                                              col 80
     |                                                       |
     ./ CHANGE NAME=DAILY
     //STPDY000 EXEC &MICSNDB,SYSPARM=&SYSPARM        00041000
 
     Repeat this procedure for each step and member modified.
     Be sure to add user maintenance block comments to each
     member, and save the update in the modification staging
     library sharedprefix.MICS.LOCALMOD.CNTL.
 
 
 TRANSLATING STEP NAMES:
 
 5.  Prepare the $USTEP FORMAT.
 
     The $USTEP format is generated by every JCLGEN run in a
     unit database.  The source for this format is contained
     in prefix.MICS.USER.SOURCE(USTEP) for every unit
     database.
 
     For every unit database, enter the step translation
     information in prefix.MICS.USER.SOURCE(USTEP).
 
     The distributed USTEP member contains:
 
 
     PROC FORMAT LIBRARY=TMUOLIB.MICSFMTS PRINT;
          VALUE $USTEP (MIN=16 MAX=16 DEFAULT=16)
     /*                                                   */
     /* INSERT STEP MAPPING DEFINITIONS HERE.             */
     /* FORM OF DEFINITIONS IS:                           */
     /* 'NEW_JOB_NAME_STEP_NAME'='OLD_JOB_NAME_STEP_NAME' */
     /*                                                   */
     /* EXAMPLE:                                          */
     /*  IF JOB "DAILY" STEP "DAY020" HAD BEEN RENAMED TO */
     /*  IF JOB "YLIAD" STEP "Q64A31" THE DEFINITION IS:  */
     /*  'YLIAD   Q64A31  '='DAILY   DAY020  '            */
     /*                                                   */
     /* IT IS VERY IMPORTANT THAT THE JOB AND STEP NAME   */
     /* BE SPECIFIED EXACTLY AS SHOWN. THE JOB MUST BE    */
     /* THE FIRST EIGHT POSITIONS AND THE STEP MUST START */
     /* IN POSITION NINE.                                 */
     /*                                                   */
     /*  NEW_JOB NEW_STEP   OLD_JOB OLD_STEP              */
     /* '1234567812345678'='1234567812345678'             */
     /*                                                   */
     /*                                                   */
     /*  THE FOLLOWING ENTRY REPRESENTS AN ILLEGAL        */
     /*  COMBINATION OF JOB AND STEP NAME.  IT IS         */
     /*  INCLUDED TO ENSURE THAT THIS FORMAT, AS          */
     /*  GENERATED, WILL NOT BE EMPTY.  ADD ANY SITE      */
     /*  DEPENDENT ENTRIES AFTER THIS DUMMY ENTRY.        */
     /*                                                   */
     '+               ' = '+               '
     ; RUN;
 
     The translations must be added to this member. Since the
     CA MICS automatic job submission facilities generate a
     composite job stream of multiple CA MICS operational
     jobs, you must provide a mapping of all possible
     combinations of job and step names. The resulting SAS
     code in prefix.MICS.USER.SOURCE(USTEP), with comments
     removed, will look like this:
 
     PROC FORMAT LIBRARY=TMUOLIB.MICSFMTS PRINT;
          VALUE $USTEP (MIN=16 MAX=16 DEFAULT=16)
     'SYSOPDY STPDY000' = 'DAILY   DAYALL  '
     'SYSOPDY STPDY001' = 'DAILY   DAYSMF  '
     'SYSOPDY STPDY002' = 'DAILY   DAY010  '
     'SYSOPIU STPIU010' = 'INCRTSO INCR010 '
     'SYSOPDY STPDY003' = 'DAILY   DAY020  '
     'SYSOPIU STPIU020' = 'INCRRMF INCR020 '
     'SYSOPDY STPWK001' = 'WEEKLY  WEEK010 '
     'SYSOPDY STPWK002' = 'WEEKLY  WEEK020 '
     'SYSOPDY STPMN001' = 'MONTHLY MONTH010'
     'SYSOPDY STPMN002' = 'MONTHLY MONTH020'
     'SYSOPDY STPYR001' = 'YEARLY  YEAR010 '
     'SYSOPDT STPYR002' = 'YEARLY  YEAR020 '
           . . .        =       . . .
     'SYSOPWK STPWK001' = 'WEEKLY  WEEK010 '
     'SYSOPWK STPWK002' = 'WEEKLY  WEEK020 '
           . . .        =       . . .
     'SYSOPMN STPMN001' = 'MONTHLY MONTH010'
     'SYSOPMN STPMN002' = 'MONTHLY MONTH020'
           . . .        =       . . .
     'SYSOPYR STPYR001' = 'YEARLY  YEAR010 '
     'SYSOPYR STPYR002' = 'YEARLY  YEAR020 '
 
                   ... etc ...
 
     '+               ' = '+               '
     ; RUN;
 
     Note that each DAILY job step name is mapped with the
     DAILY, WEEKLY, MONTHLY, and YEARLY job name. WEEKLY,
     MONTHLY, and YEARLY job step names must also be mapped
     with the DAILY job name.
 
     If you have duplicate job step names in the CA MICS
     operational jobs, you will not be able to code the
     multiple job name mapping. For example, if the first
     step in the DAILY job is MICS001 and this is also the
     name of the first step in the WEEKLY job, you cannot
     correctly map the MICS001 step to DAYALL when the DAILY
     operational job is part of a composite job stream of
     DAILY, WEEKLY, and BACKUP (the WEEKLY process). For this
     reason, you will not be able to use the CA MICS SCHEDULE
     job or the Operational Status and Tracking SCHEDULE,
     DAILY, WEEKLY, MONTHLY, or YEARLY commands.
 
 6.  Prepare the _USRSTEP macro.
 
     Remember that the function of the $USTEP macro was to
     translate an actual job/step name into the equivalent
     CA MICS standard job and step name. The _USRSTEP macro
     has the opposite function:  to find the name of the step
     in a failed operational job, which should be specified in
     a RESTART JCL control parameter. The step name found must
     be put into a data element called RESTEP.
 
     The macro could use any of several methods to reassign
     the new step name into the data element RESTEP. One
     method that is relatively reliable for a minimum effort
     is to use the $USTEP format to contain both directions of
     translation. For example, add to the USTEP member in the
     above example the opposite translation:
 
     PROC FORMAT LIBRARY=TMUOLIB.MICSFMTS PRINT;
          VALUE $USTEP (MIN=16 MAX=16 DEFAULT=16)
     'SYSOPDY STPDY000' = 'DAILY   DAYALL  '
     'SYSOPDY STPDY001' = 'DAILY   DAYSMF  '
     'SYSOPDY STPDY002' = 'DAILY   DAY010  '
     'SYSOPIU STPIU010' = 'INCRTSO INCR010 '
     'SYSOPDY STPDY003' = 'DAILY   DAY020  '
     'SYSOPIU STPIU020' = 'INCRRMF INCR020 '
     'SYSOPDY STPWK001' = 'WEEKLY  WEEK010 '
     'SYSOPDY STPWK002' = 'WEEKLY  WEEK020 '
     'SYSOPDY STPMN001' = 'MONTHLY MONTH010'
     'SYSOPDY STPMN002' = 'MONTHLY MONTH020'
     'SYSOPDY STPYR001' = 'YEARLY  YEAR010 '
     'SYSOPDT STPYR002' = 'YEARLY  YEAR020 '
           . . .        =       . . .
     'SYSOPWK STPWK001' = 'WEEKLY  WEEK010 '
     'SYSOPWK STPWK002' = 'WEEKLY  WEEK020 '
           . . .        =       . . .
     'SYSOPMN STPMN001' = 'MONTHLY MONTH010'
     'SYSOPMN STPMN002' = 'MONTHLY MONTH020'
           . . .        =       . . .
     'SYSOPYR STPYR001' = 'YEARLY  YEAR010 '
     'SYSOPYR STPYR002' = 'YEARLY  YEAR020 '
 
                   ... etc ...
 
     'DAILY   DAYALL  ' = 'SYSOPDY STPDY000'
     'DAILY   DAYSMF  ' = 'SYSOPDY STPDY001'
     'DAILY   DAY010  ' = 'SYSOPDY STPDY002'
     'DAILY   DAY020  ' = 'SYSOPDY STPDY003'
           . . .        =       . . .
     'INCRTSO INCR010 ' = 'SYSOPIU STPIU010'
     'INCRRMF INCR020 ' = 'SYSOPIU STPIU020'
           . . .        =       . . .
     'WEEKLY  WEEK010 ' = 'SYSOPWK STPWK001'
     'WEEKLY  WEEK020 ' = 'SYSOPWK STPWK002'
           . . .        =       . . .
     'MONTHLY MONTHL10' = 'SYSOPMN STPMN001'
     'MONTHLY MONTH020' = 'SYSOPMN STPMN002'
           . . .        =       . . .
     'YEARLY  YEAR010 ' = 'SYSOPYR STPYR001'
     'YEARLY  YEAR020 ' = 'SYSOPYR STPYR002'
 
                   ... etc ...
 
     '+               ' = '+               '
     ; RUN;
 
 
     The standard CA MICS job name can be found easily. The
     _USRSTEP macro is invoked with the CA MICS restart step
     name already in data element RESTEP. Thus, on entry to
     _USRSTEP code, RESTEP will begin with either DAY, INCR,
     WEEK, MONTH, YEAR, BKUP, or RSTR.
 
     This sample code for the _USRSTEP macro, with the
     expanded list in the $USTEP macro, may be used:
 
     MACRO _USRSTEP
       LENGTH USER16 USER16N $16 USER8 $8;
       IF RESTEP EQ :'DAY'        THEN USER8='DAILY';
       ELSE IF RESTEP EQ :'INCR'  THEN
               USER8 = 'INCR' || SCAN(PUT(RESTEP,$STEP.),1);
       ELSE IF RESTEP EQ :'WEEK'  THEN USER8='WEEKLY';
       ELSE IF RESTEP EQ :'MONTH' THEN USER8='MONTHLY';
       ELSE IF RESTEP EQ :'YEAR'  THEN USER8='YEARLY';
       USER16 = PUT(USER8,$CHAR8.)||PUT(RESTEP,$CHAR8.);
       USER16N = PUT(USER16,$USTEP.);
       IF USER16N NE USER16 AND LENGTH(USER16N) GT 8
        THEN RESTEP = SUBSTR(USER16N,8);
      %
 
 
     Note that the reverse translation does not require double
     mapping of job step names. You need only list each job
     step name once for reverse translation.
 
 
 INSTALLING:
 
 7.  Install the modifications, format, and macro.
 
     The most difficult part of installing step name
     modifications is the coordination of events. There is no
     unit-level concatenation of the JCL prototype library
     PROTOLIB, so all changes to it are complex-wide.
 
     If you are installing CA MICS for the first time, do the
     following:
 
     a. ___  Apply the changes to PROTOLIB by submitting the
             IEBUPDTE modifications explained above.
 
     b. ___  During unit database installation, after the
             COPYLIBU job is run, copy the $USTEP format
             changes to prefix.MICS.USER.SOURCE(USTEP) and
             install the _USRSTEP exit. Subsequent steps in
             the normal unit installation process will
             complete the installation of the step name
             modifications.
 
     If you have installed CA MICS previously, and have unit
     databases in production, do the following:
 
     a. ___  Suspend all JCL generation activity in all unit
             databases. CA MICS has no facility to guarantee
             this suspension, so you (the CA MICS
             administrator) must manually ensure this
             suspension.
 
     b. ___  Apply the changes to PROTOLIB by submitting the
             IEBUPDTE modifications explained above.
 
     *********************************************************
     * Perform steps c to f  for every unit database in      *
     * your CA MICS complex.                                 *
     *********************************************************
 
     c. ___  Enter the Operational Status and Tracking SUSPEND
             command to suspend operational processing in this
             unit.
 
     d. ___  Copy the $USTEP format changes to
             prefix.MICS.USER.SOURCE(USTEP), and install the
             _USRSTEP exit in the unit database.
 
     e. ___  Submit prefix.MICS.CNTL(JCLGEND). This job
             regenerates all operational JCL.
 
     f. ___  Enter the Operational Status and Tracking RESUME
             command to resume operational processing in this
             unit.
 
     *********************************************************
     * Perform steps c to f  for every unit database in      *
     * your CA MICS complex.                                 *
     *********************************************************
 
 8.  Keep complete written records.
 
     Earlier sections of this book explain the benefits of
     keeping accurate documentation on all user modifications
     to CA MICS. Several suggestions for the form and storage
     of such documentation are given.
 
     CA MICS operational job step names are not modified
     often, for the reasons listed at the beginning of this
     section. If you elect to make such modifications, you
     will help ensure your continued satisfaction from product
     support incidents by having complete documentation of
     your changes at hand when you call.