Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 34 additions & 7 deletions MVP.rexx
Original file line number Diff line number Diff line change
Expand Up @@ -538,17 +538,44 @@ CHECK_JOB: PROCEDURE
JOBSTART = J

DO I=JOBSTART TO JOBEND
PARSE VAR _LINE.I . . JOBM JOBNUM TYPE DET
/* SKIP ENTRIES THAT AREN'T JOBS OR HAVE THE WRONG JOBNUMBER */
_LINE = _LINE.I /* READ THE CURRENT LINE */
/* EXTRACT JOB FIELDS USING ABSOLUTE POSITIONING */
JOBM = STRIP(SUBSTR(_LINE, 15, 3)) /* 'JOB' */
JOBNUM = STRIP(SUBSTR(_LINE, 19, 5)) /* JOB NUMBER */
JOBNAME = STRIP(SUBSTR(_LINE, 25, 8)) /* JOB NAME */
/* ENSURE IT'S A VALID JOB ENTRY */
IF JOBM \= 'JOB' | JOBNUM \= CUR_JOBNUM THEN ITERATE
IF TYPE = "IEFACTRT" THEN DO
PARSE VAR DET NAME '/' PROG '/' . '/' . '/' CC '/' JOBNAME
IF CC \= 0000 THEN DO
/* ONLY PARSE LINES THAT START WITH JOBNAME AFTER IEFACTRT*/
IF STRIP(SUBSTR(_LINE, 25, 8)) = JOBNAME THEN DO
/* EXTRACT JOB STEP FIELDS */
STEP = STRIP(SUBSTR(_LINE, 36, 8)) /* STEP NAME */
PROC = STRIP(SUBSTR(_LINE, 46, 8)) /* PROCEDURE NAME (IF PRESENT) */
PROG = STRIP(SUBSTR(_LINE, 56, 8)) /* PROGRAM NAME */
STATUS = STRIP(SUBSTR(_LINE, 66, 2)) /* 'AB' OR '*F' OR 'RC' */
CC = STRIP(SUBSTR(_LINE, 69, 5)) /* RETURN/ABEND CODE */
/* HANDLE ABEND ERRORS */
IF STATUS = "AB" THEN DO
CALL ERROR "JOB JOB"||RIGHT(JOBNUM,5,'0') "FAILED"
CALL ERROR "JOBNAME:" JOBNAME "STEP:" NAME "PROGRAM:" PROG
CALL ERROR "MAXCC:" CC
CALL ERROR "JOBNAME:" JOBNAME "STEP:" STEP "PROC:" PROC
CALL ERROR "PROGRAM:" PROG "ABEND CODE:" CC
EXIT -1
END
/* HANDLE *FLUSH* ERRORS */
IF STATUS = "*F" THEN DO
CALL ERROR "JOB JOB"||RIGHT(JOBNUM,5,'0') "FAILED"
CALL ERROR "JOBNAME:" JOBNAME "STEP:" STEP "PROC:" PROC
CALL ERROR "PROGRAM:" PROG "ABEND CODE: *FLUSH*"
EXIT -1
END
/* HANDLE NON-ZERO RETURN CODES */
IF STATUS = "RC" THEN DO
IF STRIP(CC) \= "0000" THEN DO
CALL ERROR "JOB JOB"||RIGHT(JOBNUM,5,'0') "FAILED"
CALL ERROR "JOBNAME:" JOBNAME "STEP:" STEP "PROC:" PROC
CALL ERROR "PROGRAM:" PROG "MAXCC:" CC
EXIT -1
END
END
END
END

Expand Down