How to code REXX conditional job flow with only 1 procedure in ESP
search cancel

How to code REXX conditional job flow with only 1 procedure in ESP

book

Article ID: 55166

calendar_today

Updated On:

Products

ESP Workload Automation

Issue/Introduction

Objective: Release a job if it completes with  RC=0 or if a job completed with RC=1

Resolution

Example: Job B releases jobs C and D (if B completed with a RC=0) OR release jobs E and F (if B finished with a RC=1)

Insert a TASK (after job B) to loop through all jobs 'B' on the CSF, using JOBONCSF, and check the return code of the last job B and bypass the correct SUBAPPL. 
Make sure you complete the task as well. 

Note: If there are a lot of jobs in CSF then REXX will look at EACH "B" listed to find out the correct generation.

APPL APPL1
JOB A
  RUN DAILY
  RELEASE B
END JOB
JOB B                       
  RUN DAILY                        
  RELEASE CHECK.RC                 
ENDJOB                             
                                   
JOB CHECK.RC TASK                  
  RUN DAILY                        
  REXXON                           
    J = JOBONCSF('B','X')   
    DO I = 1 TO J                  
      IF XAPPLG.I = CLANGVAR('%ESPAPGEN') THEN                  
        DO                                                      
          IF XCONDCODE.I = 1 THEN                               
            DO                                                  
              "ESPNOMSG AJ JOBB_RC0 BYPASS APPL(%ESPAPPL..0)"   
              "ESPNOMSG AJ CHECK.RC COMPLETE APPL(%ESPAPPL..0)" 
            END                                                 
          ELSE                                                  
            DO                                                  
              "ESPNOMSG AJ JOBB_RC1 BYPASS APPL(%ESPAPPL..0)"   
              "ESPNOMSG AJ CHECK.RC COMPLETE APPL(%ESPAPPL..0)" 
            END                                                 
        END                                                     
    END                                                         
  REXXOFF                                                       
  RELEASE (C,E)                                   
ENDJOB                               
                                     
JOB C                         
  SUBAPPL JOBB_RC0                   
  RUN DAILY                          
  RELEASE (D)                 
ENDJOB                               
                                     
JOB D                         
  SUBAPPL JOBB_RC0                   
  RUN DAILY                          
ENDJOB                               
                                     
JOB E                         
  SUBAPPL JOBB_RC1                   
  RUN DAILY                          
  RELEASE (F)                 
ENDJOB                                
                                      
JOB F                          
  SUBAPPL JOBB_RC1                    
  RUN DAILY                           
ENDJOB