Previous Topic: Submitting JCL Using the REXX EXECNext Topic: The $CAJCL_ERROR Subroutine


The INITIAL PROCESSING and DO WHILE Loop

Important! Do not remove or modify any lines prior to the Initial Processing Subroutine. All variables prefixed with $CA are required.

The following initialization and main DO WHILE loop demonstrate the external function calls available for the REXX EXEC. The CAZ1JRXI interface passes the proper values to the REXX EXEC variables. The interface directs the processing flow throughout execution for each statement type encountered in the JCL member you submit for standards processing.

      /********************************REXX********************************/
      /*  CA JCLCheck       REXX programming interface for JCLNeat/       */
      /********************************************************************/
      /*  Initialization logic                                            */
      /********************************************************************/
      PARSE ARG $CAJCL_PARM;               /* Get argument */
      /*                                                                  */
      Call INITIAL_PROCESSING                                             */
      /*                                                                  */
      /*      Continually call the appropriate statement subroutine       */
      /*      until there are no more jobs to process                     */
      /*                                                                  */
      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*/
       $CAJCL_REASON = RESULT;           /* Save result in $CAJCL_REASON  */
      End
      EXIT

The CALL INITIAL_PROCESSING statement executes a subroutine to set any user-defined variables to be used in this EXEC.

The DO WHILE loop executes the appropriate subroutine function as the JCL is processed. The INITIAL PROCESSING statement and DO WHILE loop contain $CAJCL statements. These are required and should not be changed.

Note: For more information, see REXX for CA JCLCheck and JCLNeat in the Programming Guide.