Previous Topic: Subroutines for CA JCLCheckNext Topic: $CAJCL_ERROR Subroutine for CA JCLCheck


The Initialization and DO WHILE Loop for CA JCLCheck

The purpose of the initialization and main DO WHILE loop section of the REXX EXEC is to set up the internal and external function calls for the program. This area moves the arguments passed to the REXX EXEC into variables that CA JCLCheck uses for all external function calls. It directs the processing flow throughout execution for each statement type encountered in the member.

Important! Do not modify or remove any lines in the Initialization and DO LOOP subroutine or the $CAJCL_ERROR subroutine. These routines contain code that is necessary to use this interface.

      /********************************REXX********************************/
      /*  CA JCLCheck  REXX Programming Interface                         */
      /*  CAI.CAZ2CLS0(CAZ1REXX)                                          */
      /********************************************************************/
      /*  Initialization logic                                            */
      /********************************************************************/
A       PARSE ARG $CAJCL_PARM                /* Get argument */
      /*                                                                  */
B       CALL INITIAL_PROCESSING              /* Do one time logic */
      /*                                                                  */
      /*      Continually call the appropriate statement subroutine       */
      /*      until there are no more jobs to process                     */
      /*                                                                  */
C       DO WHILE $CAJCL_REASON ¬= 'EOR'
      $CAJCL_VARS:
        If $CAJCL_REASON = 'JOB' then CALL JOB_PROCESSING
         If $CAJCL_REASON = 'EXE' then CALL EXEC_PROCESSING
          If $CAJCL_REASON = 'DD' then CALL DD_PROCESSING
           If $CAJCL_REASON = 'EOS' then CALL END_STEP_PROCESSING
            If $CAJCL_REASON = 'EOJ' then CALL END_JOB_PROCESSING
             If $CAJCL_REASON = 'RAW' then CALL RAW_DATA_PROCESSING
              If $CAJCL_REASON = 'MSG' then CALL MSG_PROCESSING;
        CALL 'CAZ1JRXI' $CAJCL_PARM       /* Call the interface*/
D        $CAJCL_REASON = RESULT            /* Save result in $CAJCL_REASON  */
      END
      EXIT

The following items describe the active lines of code in the sample REXX EXEC.

Note: The administrator should not change any lines in this subroutine.

A

This statement parses the arguments from the CA JCLCheck internal parameter list.

B

This statement calls the INITIALIZATION processing subroutine.

C

All lines from the DO WHILE loop to the END statement control processing flow throughout CA JCLCheck execution.

The IF statements cause processing to proceed to the preferred statement subroutine (JOB/EXEC/DD/EOS/EOJ/RAW/MSG).

D

The EXIT statement executes when $CAJCL_REASON is equal to EOR, which indicates the end of CA JCLCheck execution.