Figure 1 shows a portion of a background
job that invokes ISPF. The final job step runs only if the job step
that invoked the ISPF dialog terminates with a return code of 8 or
less.
Figure 1. Sample background ISPF job⋮
//************************************************
//* *
//* INVOKE ISPF TO EXECUTE DIALOG "DIALOG1". *
//* DIALOG1 PASSES BACK A RETURN CODE OF *
//* 20 IF IT DID NOT PROCESS SUCCESSFULLY. *
//* *
//************************************************
//ISPFSTEP EXEC PGM=IKJEFT01,DYNAMNBR=30,REGION=2048K
//*
//* ALLOCATE DIALOG AND ISPF PRODUCT LIBRARIES, *
//* ISPF LOG DATA SET, AND TSO OUTPUT DATA SET. *
//* *
//ISPPROF DD DSN=USER1.ISPF.TABLES,DISP=SHR
⋮
//* ALLOCATE TSO INPUT DATA SET. *
//* *
//SYSTSIN DD *
PROFILE PREFIX(USER1) /* ESTABLISH PREFIX */
ISPSTART CMD(%DIALOG1) /* INVOKE DIALOG1 */
/*
//************************************************
//* *
//* EXECUTE NEXT JOB STEP ONLY IF THE ISPF STEP *
//* ENDED WITH A RETURN CODE LESS THAN OR EQUAL *
//* TO 8. THAT IS, BYPASS THE STEP IF 8 IS *
//* LESS THAN THE ISPF RETURN CODE. *
//* *
//************************************************
//NEXTSTEP EXEC PGM=IKJEFT01,DYNAMNBR=30,REGION=2048K,
// COND=(8,LT,ISPFSTEP)
⋮
The portion of the invoked dialog, DIALOG1, that establishes the
value in system variable ZISPFRC is shown in Figure 2.
Figure 2. Sample dialog using system
variable ZISPFRCPROC 0
⋮
IF &MAXCC > 8 THEN +
DO
SET &ZISPFRC = 20
VPUT (ZISPFRC) SHARED
END
EXIT CODE(0)