You are on page 1of 12

T284.PANEL.

ISPCLIB(QMITSTAT)
/* REXX */ 00010000
/* THIS IS INVOKED BY USERACPT PANEL OPTION 9 */
/* REPORT GENERATION.PROCESSES THAT RUN FOR THE PRESENT CYCLE IN TRN1*/
/* PROCESS STATUS : DOMESTIC, INTERNATIONAL OR ALL */
/* REPORT STATUS : PROCESSES PROGRESS, COMPLETED, FAILED & SUMMARY */ 00020000
/* AUTHOR : MUTHUKUMARAN K */
/*---------------------------- MAIN ---------------------------------*/ 00080000
/* TRACE ALL */
PROCESS='Y'
DO WHILE PROCESS='Y'
ZCMD = ' ' 00170000
/* LOADS PANEL TO SELECTION */ 00160000
ADDRESS ISPEXEC "LIBDEF ISPPLIB DATASET ID('T284.PANEL.ISPPLIB')" 00150000
ADDRESS ISPEXEC 'DISPLAY PANEL('QMITSTAP')' 00180000
OPTION = ZCMD 00190000
IF OPTION = 'CAN' THEN 00200000
RETURN 00210000
ELSE 00220000
STA_RPT=G
IF STA_RPT \= D & STA_RPT \= I & STA_RPT \= A THEN 00230000
DO
SAY ' PLEASE ENTER VALID PROCESS OPTIONS'
ITERATE
END
RPT_OPT=H
IF RPT_OPT \= C & RPT_OPT \= F & RPT_OPT \= P & RPT_OPT \= A &,
RPT_OPT \= ' ' THEN
DO
SAY ' PLEASE CHECK THE REPORT OPTIONS'
ITERATE
END
OUTDSND = "'TESTWORK."USERID()".PROCESS.DUMMY'" 07700000
ZZ=OUTTRAP('DELETE.') 07740000
"DELETE " OUTDSND 07750000
"NEWSTACK"
QUEUE "//N4590QS1 JOB (N800,0000),'QMITT',CLASS=D, "
QUEUE "// MSGLEVEL=(1,1),MSGCLASS=X "
QUEUE "/*ROUTE XEQ NJEDVLP "
QUEUE "/*JOBPARM S=DVLP "
QUEUE "//* "
QUEUE "//SN459010 EXEC PGM=ESP, "
QUEUE "// PARM='SUBSYS(UATM)' "
QUEUE "//SYSOUT DD SYSOUT=* "
QUEUE "//SYSPRINT DD SYSOUT=* "
QUEUE "//SYSIN DD * "
QUEUE " TR BIL0ESP.SPT_QMITT_STAT USER1("USERID()")"
QUEUE "GO"
DUMMY = OUTTRAP("OUTLINE.","*")
"SUBMIT * END(GO)"
DUMMY = OUTTRAP("OFF")
"DELSTACK"
CKDMMY = 1
CKDSLP = 1
DO UNTIL CKDMMY = 0
IF SYSDSN(OUTDSND) = 'OK' THEN CKDMMY = 0
CKDSLP = CKDSLP + 1
IF CKDSLP = 3500 THEN CKDMMY = 0
END
SELECT
WHEN RPT_OPT = P THEN
CALL QUEUE_IN_PROG
WHEN RPT_OPT = F THEN
CALL QUEUE_FAILED
WHEN RPT_OPT = C THEN
CALL QUEUE_COMPLETED
OTHERWISE
DO
CALL QUEUE_IN_PROG
CALL QUEUE_FAILED
CALL QUEUE_COMPLETED
END
END
/******************************************************************/
/* STARTING OF REPORT HEADING */
/******************************************************************/
'NEWSTACK' 08110000
OUTREC = 'STATUS REPORT AS OF ' DATE(U) TIME('CIVIL') 08510027
QUEUE OUTREC 08520000
IF CKDSLP = 3500 THEN
QUEUE '************************************'
OUTREC = ' ' 08530000
QUEUE OUTREC 08540027
/******************************************************************/
/* END OF REPORT HEADING */
/******************************************************************/
SELECT
WHEN RPT_OPT = P THEN
CALL REPORT_IN_PROG 04900028
WHEN RPT_OPT = F THEN
CALL REPORT_FAILED 04910000
WHEN RPT_OPT = C THEN
CALL REPORT_COMPLETED 04910000
OTHERWISE
DO
CALL REPORT_IN_PROG 04900028
CALL REPORT_FAILED 04910000
CALL REPORT_COMPLETED 04910000
CALL SUMMARY_REPORT
END
END
OUTDSN4 = "'TESTWORK."USERID()".PROCESS.FINAL'" 07700000
ZZ=OUTTRAP('DELETE.') 07740000
"DELETE " OUTDSN4 07750000
07780000
"ALLOC FI(OUTFILE4) DSN("OUTDSN4") SPACE(1 1) CYLINDERS ", 07790000
"LRECL(133) BLOCK(27930) RECFM(F B)" 07800000
"FREE FI(OUTFILE4)" 07810000
07820000
"ALLOC FI(OUTFILE4) DSN("OUTDSN4") MOD REU" 07830000
"EXECIO "QUEUED()" DISKW OUTFILE4 (FINIS" 07850000
"FREE FI(OUTFILE4)" 07860000
07870000
LOG_DSN = "'TESTWORK."USERID()".PROCESS.FINAL'" 07880000
ADDRESS ISPEXEC "BROWSE DATASET("LOG_DSN")" 07900000
END 04920000
RETURN
/***************************************************************/
/* INPROGRESS QUEUE GENERATION BLOCK */
/***************************************************************/
QUEUE_IN_PROG : PROCEDURE
ADDRESS TSO 00300000
"ALLOC FI(INPUT1) DSN('T284.RUNTEAM.WINDOW.INPROG') SHR REU" 00310045
"EXECIO * DISKR INPUT1 (STEM BIP. FINIS" 00330000
"FREE FI(INPUT1)" 00350000
"ALLOC FI(INPUT4) DSN('T284.PANEL.QMITT.LAP.STATUS.SORTED') SHR REU" 00551044
"EXECIO * DISKR INPUT4 (STEM SAP. FINIS" 00570000
"FREE FI(INPUT4)" 00590000
00430000
"ALLOC FI(INPUT3) DSN('T284.PANEL.MASTER.LIST') SHR REU" 00471044
"EXECIO * DISKR INPUT3 (STEM LST. FINIS" 00500000
"FREE FI(INPUT3)" 00520000
'NEWSTACK' 01550000
DO J = 3 TO BIP.0 01590000
JSTAT = " "
DESC = COPIES(' ',42) 01670000
GROUP = COPIES(' ',20) 01680000
DO Y = 1 TO SAP.0 01810000
IF WORD(SAP.Y,1) = STRIP(SUBSTR(BIP.J,82,8)) &, 01830000
WORD(SAP.Y,2) = WORD(BIP.J,5) THEN 01840000
DO 01850000
JSTAT = WORD(SAP.Y,3) 01860000
LEAVE 02080000
END 02090000
END 02100000
IF JSTAT \= "COMP" THEN
DO
DO X = 1 TO LST.0 02110000
IF WORD(LST.X,1) = WORD(BIP.J,3) THEN 02120000
DO 02130000
DESC = SUBSTR(LST.X,10,42) 02140000
GROUP = SUBSTR(LST.X,53,20) 02150041
LEAVE 02430000
END 02440000
ELSE IF SUBSTR(LST.X,1,2) = '##' &,
SUBSTR(LST.X,3,6) = SUBSTR(WORD(BIP.J,3),3,6) THEN
DO
DESC = SUBSTR(LST.X,10,42) 02140000
GROUP = SUBSTR(LST.X,53,20) 02150041
POSN = INDEX(DESC,'#') 04340000
DESC = OVERLAY(SUBSTR(WORD(BIP.J,3),1,2),DESC,POSN,2)
LEAVE 02430000
END
ELSE IF SUBSTR(LST.X,1,1)='V' & SUBSTR(LST.X,2,2) = '##' &,
SUBSTR(WORD(BIP.J,3),1,1) = 'V' &,
SUBSTR(LST.X,4,5) = SUBSTR(WORD(BIP.J,3),4,5) THEN
DO
DESC = SUBSTR(LST.X,10,42) 02140000
GROUP = SUBSTR(LST.X,53,20) 02150041
POSN = INDEX(DESC,'#') 04340000
DESC = OVERLAY(SUBSTR(WORD(BIP.J,3),2,2),DESC,POSN,2)
LEAVE 02430000
END
ELSE NOP
END
OUTREC = SUBSTR(WORD(BIP.J,1),1,5) 02160000
OUTREC = OUTREC||" "||SUBSTR(WORD(BIP.J,2),1,5) 02170000
OUTREC = OUTREC||" "||LEFT(DESC,42) 02190000
OUTREC = OUTREC||" "||LEFT(GROUP,20) 02280036
GEN = STRIP(SUBSTR(BIP.J,44,6)) 02240000
GEN = RIGHT(GEN,6) 02250000
OUTREC = OUTREC||" "||GEN 02260000
OUTREC = OUTREC||" "||SUBSTR(BIP.J,82,8) 02180000
OUTREC = OUTREC||" "||SUBSTR(BIP.J,51,7) 02220000
QUEUE OUTREC 02360000
END 02450000
END 02760000
OUTDSN1 = "'TESTWORK."USERID()".PROCESS.STATUS'" 02820000
ZZ=OUTTRAP('DELETE.') 02860000
"DELETE " OUTDSN1 02870000
02900000
"ALLOC FI(OUTFILE1) DSN("OUTDSN1") SPACE(1 1) CYLINDERS ", 02910000
"LRECL(133) BLOCK(27930) RECFM(F B)" 02920000
"FREE FI(OUTFILE1)" 02930000
02940000
"ALLOC FI(OUTFILE1) DSN("OUTDSN1") MOD REU" 02950000
"EXECIO "QUEUED()" DISKW OUTFILE1 (FINIS" 02960000
"FREE FI(OUTFILE1)" 02970000
'ALLOC DD(MYPROC) DA(''T284.PANEL.ISPCLIB'')' 03011044
'CONCAT (SYSPROC MYPROC)' 04870047
ADDRESS ISPEXEC "EDIT DATASET("OUTDSN1") MACRO(QINPRSRT)" 04880000
RETURN
/******************************************************************/
/* END INPROGRESS QUEUE GENERATION BLOCK */
/******************************************************************/

/***************************************************************/
/* FAILED QUEUE GENERATION BLOCK */
/***************************************************************/
QUEUE_FAILED : PROCEDURE
04030000
"ALLOC FI(INPUT5) DSN('T284.PANEL.ESP.CYBESUTS.LAP3.SORTED'), 04051044
SHR REU" 04060000
"EXECIO * DISKR INPUT5 (STEM SBD. FINIS" 04070000
"FREE FI(INPUT5)" 04090000
"ALLOC FI(INPUT6) DSN('T284.RUNTEAM.SUS.LOG.NODUPS') SHR REU" 03980045
"EXECIO * DISKR INPUT6 (STEM SUS. FINIS" 04000000
"FREE FI(INPUT6)" 04020000
"ALLOC FI(INPUT3) DSN('T284.PANEL.MASTER.LIST') SHR REU" 00471044
"EXECIO * DISKR INPUT3 (STEM LST. FINIS" 00500000
"FREE FI(INPUT3)" 00520000
04200000
'NEWSTACK'
DO I = 1 TO SBD.0 04220000
DESC = COPIES(' ',42) 04230000
SDATE = " " 04270000
STIME = " " 04270000
LPERSONU = " "
STA_SUS = " " 04270000
SUBAPPL = " " 04240000
CYCLE = " " 04260000
JOB = SUBSTR(SBD.I,1,8) 04280000
APPL = STRIP(SUBSTR(SBD.I,19,8)) 04290000
GEN = RIGHT(SUBSTR(SBD.I,28,6),6) 04300043
DO K = 1 TO SUS.0 04320000
JOB_SUS = WORD(SUS.K,1) 04330000
POSN = INDEX(WORD(SUS.K,1),'.') 04340000
IF POSN > 0 THEN 04350000
DO 04360000
POSN = POSN - 1 04370000
JOB_SUS = SUBSTR(SUS.K,1,POSN) 04380000
END 04390000
POSN = INDEX(WORD(SUS.K,2),'.') 04400000
POSN = POSN + 1 04410000
GEN_SUS = RIGHT(SUBSTR(WORD(SUS.K,2),POSN,6),6) 04420000
POSN = POSN - 2 04430000
APPL_SUS = SUBSTR(WORD(SUS.K,2),1,POSN) 04440000
IF JOB = JOB_SUS & APPL = APPL_SUS & GEN = GEN_SUS THEN 04450000
DO
DO J = 1 TO LST.0 04520000
IF WORD(LST.J,1) = WORD(SUS.K,3) THEN DO 04530000
DESC = SUBSTR(LST.J,10,42) 04540000
LEAVE
END 04550000
ELSE IF SUBSTR(LST.J,1,2) = '##' &,
SUBSTR(LST.J,3,6) = SUBSTR(WORD(SUS.K,3),3,6) THEN
DO
DESC = SUBSTR(LST.J,10,42) 04540000
POSN = INDEX(DESC,'#') 04340000
DESC = OVERLAY(SUBSTR(WORD(SUS.K,3),1,2),DESC,POSN,2)
LEAVE
END
ELSE NOP
END 04560000
/* FIELDS FROM SUS */ 04480000
SDATE = SUBSTR(SUS.K,63,4) 04510000
STIME = SUBSTR(SUS.K,68,5)
SUBAPPL = SUBSTR(SUS.K,39,8) 04490000
CYCLE = SUBSTR(SUS.K,116,8) 04500000
IF SUBSTR(SUS.K,89,17) \= 'QMITT IS CHECKING' THEN
DO
LPERSONU = SUBSTR(SUS.K,79,7)
STA_SUS = SUBSTR(SUS.K,89,22)
END
LEAVE 04570000
END 04580000
END 04610000
IF SDATE > " " THEN 04670000
DO 04680000
SDATE = INSERT("/",SDATE,2) 04690000
END 04710000
OUTREC = JOB||" "||DESC||" "||SDATE||" "STIME
OUTREC = OUTREC||" "||LPERSONU||" "||STA_SUS
OUTREC = OUTREC||" "||SUBAPPL||" "||GEN||" "||CYCLE
QUEUE OUTREC 04730000
END 04750000
04760000
OUTDSN2 = "'TESTWORK."USERID()".FAILED.JOBS'" 04110000
ZZ=OUTTRAP('DELETE.') 04150000
"DELETE " OUTDSN2 04160000
/* WRITE TO TESTWORK HERE (OUTDSN2) */ 04770000
"ALLOC FI(OUTFILE2) DSN("OUTDSN2") SPACE(1 1) CYLINDERS ", 04780000
"LRECL(133) BLOCK(27930) RECFM(F B)" 04790000
"FREE FI(OUTFILE2)" 04800000
04810000
"ALLOC FI(OUTFILE2) DSN("OUTDSN2") MOD REU" 04820000
"EXECIO "QUEUED()" DISKW OUTFILE2 (FINIS" 04830000
"FREE FI(OUTFILE2)" 04840000
04850000
'ALLOC DD(MYPROC) DA(''T284.PANEL.ISPCLIB'')' 03011044
'CONCAT (SYSPROC MYPROC)' 04870047
ADDRESS ISPEXEC "EDIT DATASET("OUTDSN2") MACRO(QBFALSRT)" 04880000
RETURN
/***************************************************************/
/* END FAILED QUEUE GENERATION BLOCK */
/***************************************************************/
03080000
/******************************************************************/
/* COMPLETED QUEUE GENERATION BLOCK */
/******************************************************************/
QUEUE_COMPLETED :
ADDRESS TSO 00300000
"ALLOC FI(INPUT1) DSN('T284.RUNTEAM.WINDOW.INPROG') SHR REU" 00310045
"EXECIO * DISKR INPUT1 (STEM BIP. FINIS" 00330000
"FREE FI(INPUT1)" 00350000
06370000
"ALLOC FI(INPUT2) DSN('T284.RUNTEAM.WINDOW.COMPLETE') SHR REU" 00380045
"EXECIO * DISKR INPUT2 (STEM BWC. FINIS" 00400000
"FREE FI(INPUT2)" 00420000
00430000
"ALLOC FI(INPUT3) DSN('T284.PANEL.MASTER.LIST') SHR REU" 00471044
"EXECIO * DISKR INPUT3 (STEM LST. FINIS" 00500000
"FREE FI(INPUT3)" 00520000
"ALLOC FI(INPUT4) DSN('T284.PANEL.QMITT.LAP.STATUS.SORTED') SHR REU" 00551044
"EXECIO * DISKR INPUT4 (STEM SAP. FINIS" 00570000
"FREE FI(INPUT4)" 00590000
"ALLOC FI(INPUT10) DSN('T284.PANEL.MAIN.SUBAPPL') SHR REU" 00310045
"EXECIO * DISKR INPUT10 (STEM IGN. FINIS" 00330000
"FREE FI(INPUT10)" 00350000
'NEWSTACK'
DO J = 1 TO BWC.0 06610000
DESC = COPIES(' ',42)
DO K = 1 TO LST.0 06700000
IF WORD(LST.K,1) = SUBSTR(BWC.J,24,8) THEN 06710000
DO 06720000
DESC = SUBSTR(LST.K,10,42) 06730000
LEAVE 06780000
END 06790000
ELSE IF SUBSTR(LST.K,1,2) = '##' &,
SUBSTR(LST.K,3,6) = SUBSTR(WORD(BWC.J,3),3,6) THEN
DO
DESC = SUBSTR(LST.K,10,42) 02140000
POSN = INDEX(DESC,'#') 04340000
DESC = OVERLAY(SUBSTR(WORD(BWC.J,3),1,2),DESC,POSN,2)
LEAVE 02430000
END
ELSE IF SUBSTR(LST.K,1,1)='V' & SUBSTR(LST.K,2,2) = '##' &,
SUBSTR(WORD(BWC.J,3),1,1) = 'V' &,
SUBSTR(LST.K,4,5) = SUBSTR(WORD(BWC.J,3),4,5) THEN
DO
DESC = SUBSTR(LST.K,10,42) 02140000
POSN = INDEX(DESC,'#') 04340000
DESC = OVERLAY(SUBSTR(WORD(BWC.J,3),2,2),DESC,POSN,2)
LEAVE 02430000
END
ELSE NOP
END 06800000
OUTREC = SUBSTR(BWC.J,2,5) 06640000
OUTREC = OUTREC SUBSTR(BWC.J,14,5) 06640000
OUTREC = OUTREC SUBSTR(BWC.J,59,5) 06680000
OUTREC = OUTREC SUBSTR(BWC.J,71,5) 06680000
OUTREC = OUTREC DESC 06740000
GEN = STRIP(SUBSTR(BWC.J,44,6)) 06650000
GEN = RIGHT(GEN,6) 06660000
OUTREC = OUTREC GEN 06670000
OUTREC = OUTREC SUBSTR(BWC.J,24,8) 06640000
OUTREC = OUTREC WORD(BWC.J,6)
WRT_IND = 'Y'
DO L = 1 TO IGN.0
IF SUBSTR(OUTREC,75,8) = SUBSTR(IGN.L,1,8) THEN
DO
WRT_IND = 'N'
LEAVE
END
END
IF (STA_RPT = SUBSTR(OUTREC,88,1) | (STA_RPT = A &,
(SUBSTR(OUTREC,88,1) = 'D' | SUBSTR(OUTREC,88,1) = 'I'))) &,
WRT_IND = 'Y' THEN
QUEUE OUTREC 06850000
END 06900000
/* WRITE COMP PROCS FROM IN PROG TO COMPLETED SECTION */ 06920000
DO Z = 3 TO BIP.0 03100000
JSTAT = " " 03130000
DESC = COPIES(' ',42)
DO Y = 1 TO SAP.0 03140000
IF WORD(SAP.Y,1) = STRIP(SUBSTR(BIP.Z,82,8)) &, 03150000
WORD(SAP.Y,2) = WORD(BIP.Z,5) THEN 03160000
DO 03170000
JSTAT = WORD(SAP.Y,3) 03180000
LEAVE 03190000
END 03200000
END 03210000
IF JSTAT = "COMP" THEN 03250000
DO 03240000
DO X = 1 TO LST.0 03220000
IF WORD(LST.X,1) = SUBSTR(BIP.Z,82,8) THEN 03230000
DO 03260000
DESC = SUBSTR(LST.X,10,42) 03380000
LEAVE 03450000
END 03430000
ELSE IF SUBSTR(LST.X,1,2) = '##' &,
SUBSTR(LST.X,3,6) = SUBSTR(WORD(BIP.Z,3),3,6) THEN
DO
DESC = SUBSTR(LST.X,10,42) 02140000
POSN = INDEX(DESC,'#') 04340000
DESC = OVERLAY(SUBSTR(WORD(BIP.Z,3),1,2),DESC,POSN,2)
LEAVE 02430000
END
ELSE NOP
END 03460000
SDATE = SUBSTR(WORD(BIP.Z,1),1,5) 03270000
STIME = SUBSTR(WORD(BIP.Z,2),1,5) 03280000
SAPPL = SUBSTR(BIP.Z,82,8) 03300000
GEN = STRIP(SUBSTR(BIP.Z,44,6)) 03310000
GEN = RIGHT(GEN,6) 03320000
CYCLE = SUBSTR(BIP.Z,51,7) 03330000
EDATE = DATE(U) 03340000
EDATE = SUBSTR(EDATE,1,5)
ETIME = TIME(LONG) 03360000
ETIME = SUBSTR(ETIME,1,5) 03370000
OUTREC = SDATE||" "||STIME||" "||EDATE||" "||ETIME 03390000
OUTREC = OUTREC||" "||DESC||" "||GEN 03400000
OUTREC = OUTREC||" "||SAPPL||" "||CYCLE 03410000
WRT_IND = 'Y'
DO W = 1 TO IGN.0
IF SUBSTR(OUTREC,75,8) = SUBSTR(IGN.W,1,8) THEN
DO
WRT_IND = 'N'
LEAVE
END
END
IF (STA_RPT = SUBSTR(OUTREC,88,1) | (STA_RPT = A &,
(SUBSTR(OUTREC,88,1) = 'D' | SUBSTR(OUTREC,88,1) = 'I'))) &,
WRT_IND = 'Y' THEN
QUEUE OUTREC 06850000
END 03710000
END 03740000
03750000
OUTDSN3 = "'TESTWORK."USERID()".INP.TO.COMPL'" 03770000
ZZ=OUTTRAP('DELETE.') 03810000
"DELETE " OUTDSN3 03820000
03850000
"ALLOC FI(OUTFILE3) DSN("OUTDSN3") SPACE(1 1) CYLINDERS ", 03860000
"LRECL(133) BLOCK(27930) RECFM(F B)" 03870000
"FREE FI(OUTFILE3)" 03880000
03890000
"ALLOC FI(OUTFILE3) DSN("OUTDSN3") MOD REU" 03900000
"EXECIO "QUEUED()" DISKW OUTFILE3 (FINIS" 03910000
"FREE FI(OUTFILE3)" 03920000
04850000
'ALLOC DD(MYPROC) DA(''T284.PANEL.ISPCLIB'')' 03011044
'CONCAT (SYSPROC MYPROC)' 04870047
ADDRESS ISPEXEC "EDIT DATASET("OUTDSN3") MACRO(QCOMPSRT)" 04880000
RETURN
/******************************************************************/
/* END OF COMPLETED QUEUE GENERATION BLOCK */
/******************************************************************/
/****************************************************************/
/* SUB PROCEDURE REPORT_IN_PROG */
/****************************************************************/
REPORT_IN_PROG : 08830000
ADDRESS TSO 08130000
"ALLOC FI(INPUT10) DSN('T284.PANEL.MAIN.SUBAPPL') SHR REU" 00310045
"EXECIO * DISKR INPUT10 (STEM IGN. FINIS" 00330000
"FREE FI(INPUT10)" 00350000
"ALLOC FI(INPUT7) DSN('TESTWORK."USERID()".PROCESS.STATUS') SHR REU" 08140000
"EXECIO * DISKR INPUT7 (STEM PRC. FINIS" 08160000
"FREE FI(INPUT7)" 08180000
CYCLE_NO = SUBSTR(PRC.1,98,2) 08560028
/* SAY CYCLE_NO R1 */ 08561024
OUTREC = 'QMITT CYCLE' CYCLE_NO 'PROCESSES IN PROGRESS' 08570000
QUEUE OUTREC 08580000
OUTREC = COPIES('-',36) 08590000
QUEUE OUTREC 08600000
OUTREC = LEFT('START',05) LEFT('START',85) LEFT('CYCLE',07) 08610000
QUEUE OUTREC 08640000
OUTREC = LEFT('DATE',05) LEFT('TIME',05) , 08650000
LEFT('PROCESS DESCRIPTION',42) LEFT('GROUPS REQUIRED',20),
LEFT('GEN NO',06) LEFT('SUBAPPL',08) LEFT('NUMBER',07)
QUEUE OUTREC 08690000
OUTREC =COPIES('-',05) COPIES('-',05) COPIES('-',42), 08700000
COPIES('-',20) COPIES('-',06) COPIES('-',08), 08710000
COPIES('-',07) 08720000
QUEUE OUTREC 08740000
IF PRC.0 = 0 THEN
QUEUE '******* NO PROCESSES IN PROGRESS *******' 02790000
DO I = 1 TO PRC.0 08760000
WRT_IND = 'Y'
DO J = 1 TO IGN.0
IF SUBSTR(PRC.I,84,8) = SUBSTR(IGN.J,1,8) THEN
DO
WRT_IND = 'N'
LEAVE
END
END
IF (STA_RPT = SUBSTR(PRC.I,97,1) | (STA_RPT = A &,
(SUBSTR(PRC.I,97,1) = 'D' | SUBSTR(PRC.I,97,1) = 'I'))) &,
WRT_IND = 'Y' THEN
DO
OUTREC = PRC.I
QUEUE OUTREC 08780000
END
END 08800000
RETURN 08810000
/****************************************************************/
/* END OF SUB PROCEDURE REPORT_IN_PROG */
/****************************************************************/
08820000
/****************************************************************/
/* SUB PROCEDURE REPORT_FAILED */
/****************************************************************/
REPORT_FAILED : 08830000
08840000
ADDRESS TSO 08850000
"ALLOC FI(INPUT8) DSN('TESTWORK."USERID()".FAILED.JOBS') SHR REU" 08860000
"EXECIO * DISKR INPUT8 (STEM FJB. FINIS" 08880000
"FREE FI(INPUT8)" 08900000
08910000
OUTREC = " " 08920000
QUEUE OUTREC 08930000
OUTREC = "CURRENT LIST OF ALL FAILED JOBS" 08940000
QUEUE OUTREC 08950000
OUTREC = "-------------------------------" 08960000
QUEUE OUTREC 08970000
OUTREC = " LAST PERS08980000
ON UPDATED ESP" 08990000
QUEUE OUTREC 09000000
OUTREC = "JOB NAME PROCESS DESCRIPTION DATE TIM
E BY STATUS SUBAPPL GEN NO CYCLE #" 09020000
QUEUE OUTREC 09030000
OUTREC = "-------- ------------------------------------------ ----- ---
-- ------- ---------------------- -------- ------ -------" 09050000
QUEUE OUTREC 09060000
09070000
IF STA_RPT = 'D' THEN PRO = 'I'
IF STA_RPT = 'I' THEN PRO = 'D'
BWF_CTR = 0
DO I = 1 TO FJB.0 09080000
IF PRO \= SUBSTR(FJB.I,116,1) | STA_RPT = A THEN
DO
OUTREC = FJB.I 09090000
QUEUE OUTREC 09100000
BWF_CTR = BWF_CTR + 1
END
END 09110000
IF BWF_CTR = 0 THEN 07050000
QUEUE '******* NO FAILED PROCESSES ***********' 07070000
RETURN 09120000
/****************************************************************/
/* END OF SUB PROCEDURE REPORT_FAILED */
/****************************************************************/

/********************************************************************/
/* SUB PROCEDURE REPORT_COMPLETED */
/********************************************************************/
REPORT_COMPLETED :
ADDRESS TSO 06930000
"ALLOC FI(INPUT9) DSN('TESTWORK."USERID()".INP.TO.COMPL') SHR REU" 06940000
"EXECIO * DISKR INPUT9 (STEM ITC. FINIS" 06960000
"FREE FI(INPUT9)" 06980000
OUTREC = " " 06380000
QUEUE OUTREC 06390000
OUTREC = "PROCESSES ALREADY COMPLETED" 06400000
QUEUE OUTREC 06410000
OUTREC = "---------------------------" 06420000
QUEUE OUTREC 06430000
OUTREC = "START START END END 06440000
CYCLE"
QUEUE OUTREC 06460000
OUTREC = "DATE TIME DATE TIME PROCESS DESCRIPTION 06470000
GEN NO SUBAPPL NUMBER"
QUEUE OUTREC 06490000
OUTREC = "----- ----- ----- ----- -------------------------------------06500000
----- ------ -------- -------" 06510000
QUEUE OUTREC 06520000
DO Z = 1 TO ITC.0 06990000
OUTREC = ITC.Z 07000000
QUEUE OUTREC 07010000
END 07030000
07040000
IF ITC.0 = 0 THEN 07050000
QUEUE '******* NO COMPLETED PROCESSES *******' 07070000
RETURN
/********************************************************************/
/* END OF SUB PROCEDURE REPORT_COMPLETED */
/********************************************************************/
07090000
/********************************************************************/
/* SUB PROCEDURE SUMMARY REPORT */
/********************************************************************/
SUMMARY_REPORT : PROCEDURE
OUTDSN5 = "'TESTWORK."USERID()".INP.TO.DUP'" 07700000
ZZ=OUTTRAP('DELETE.') 07740000
"DELETE " OUTDSN5 07750000
"NEWSTACK"
QUEUE "//N4590QS2 JOB (N800,0000),'QMITT',CLASS=D, "
QUEUE "// MSGLEVEL=(1,1),MSGCLASS=X "
QUEUE "/*ROUTE XEQ NJEDVLP "
QUEUE "/*JOBPARM S=DVLP "
QUEUE "//* "
QUEUE "//SN459010 EXEC PGM=ICETOOL "
QUEUE "//TOOLMSG DD SYSOUT=* "
QUEUE "//DFSMSG DD SYSOUT=* "
QUEUE "//INPUT DD DSN=TESTWORK."USERID()".INP.TO.COMPL,DISP=SHR "
QUEUE "//OUTPUT DD DSN=TESTWORK."USERID()".INP.TO.DUP, "
QUEUE "// DISP=(NEW,CATLG,DELETE),DCB=(*.INPUT), "
QUEUE "// SPACE=(TRK,(10,10),RLSE) "
QUEUE "//TOOLIN DD * "
QUEUE "OCCUR FROM(INPUT) LIST(OUTPUT) NOHEADER BLANK - "
QUEUE " ON(75,8,CH) ON(VALCNT,U03) "
QUEUE "/* "
QUEUE "// "
QUEUE "GO"
DUMMY = OUTTRAP("OUTLINE.","*")
"SUBMIT * END(GO)"
DUMMY = OUTTRAP("OFF")
"DELSTACK"
CKDUP = 1
CKLIST = 1
DO UNTIL CKDUP = 0
IF SYSDSN(OUTDSN5) = 'OK' THEN CKDUP = 0
CKLIST = CKLIST + 1
IF CKLIST = 1200 THEN CKDUP = 0
END
ADDRESS TSO 00300000
"ALLOC FI(INPUT11) DSN('TESTWORK."USERID()".INP.TO.DUP') SHR REU" 00310045
"EXECIO * DISKR INPUT11 (STEM CNT. FINIS" 00330000
"FREE FI(INPUT11)" 00350000
"ALLOC FI(INPUT3) DSN('T284.PANEL.MASTER.LIST') SHR REU" 00471044
"EXECIO * DISKR INPUT3 (STEM LST. FINIS" 00500000
"FREE FI(INPUT3)" 00520000
OUTREC = " " 06380000
QUEUE OUTREC 06390000
OUTREC = "SUMMARY REPORT" 06400000
QUEUE OUTREC 06410000
OUTREC = "--------------" 06420000
QUEUE OUTREC 06430000
IF CKLIST = 1200 THEN
QUEUE ' '
OUTREC = "PROCESS DESCRIPTION COUNT SUBAPPL" 06440000
QUEUE OUTREC 06460000
OUTREC = "------------------------------------------ ----- --------" 06500000
QUEUE OUTREC 06520000
DO X = 1 TO CNT.0
IF SUBSTR(CNT.X,14,3) > 1 THEN
DO
DESC = COPIES(' ',42) 01670000
DO Y = 1 TO LST.0
IF WORD(LST.Y,1) = WORD(CNT.X,1) THEN 02120000
DO 02130000
DESC = SUBSTR(LST.Y,10,42) 02140000
LEAVE 02430000
END 02440000
ELSE IF SUBSTR(LST.Y,1,2) = '##' &,
SUBSTR(LST.Y,3,6) = SUBSTR(WORD(CNT.X,3),3,6) THEN
DO
DESC = SUBSTR(LST.Y,10,42) 02140000
LEAVE
END
ELSE NOP
END
OUTREC = DESC||' '||SUBSTR(CNT.X,14,3)||' '||WORD(CNT.X,1)
QUEUE OUTREC
END
END
07690000
RETURN 07910000
/********************************************************************/
/* END OF SUMMARY REPORT */
/********************************************************************/

You might also like