//JOBNAME JOB (ACCT),NAME,CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1) //********************************************************************* //ASMCG PROC AOPT=,APARM=,LOPT=, // MAC1='SYS1.MACLIB', // MAC2='SYS1.MACLIB', // MAC3='SYS1.MODGEN' //ASM EXEC PGM=ASMA90, // PARM=('OBJ,NODECK,LC(32767),XREF(SHORT),TERM,RLD,ASA,&AOPT', // 'US(MAP,WARN(11)),SYSPARM(&APARM)') //SYSPRINT DD SYSOUT=* //SYSTERM DD SYSOUT=* //SYSLIB DD DISP=SHR,DSN=&MAC1 // DD DISP=SHR,DSN=&MAC2 // DD DISP=SHR,DSN=&MAC3 //SYSUT1 DD UNIT=SYSALLDA,SPACE=(TRK,(80,20)) //SYSLIN DD DISP=(,PASS),UNIT=SYSALLDA,SPACE=(TRK,(30,15),RLSE), // DCB=(RECFM=FB,BLKSIZE=0,LRECL=80) //GO EXEC PGM=LOADER,COND=(5,LT,ASM), // PARM=('LIST,LET,MAP,XREF,&LOPT') //SYSLOUT DD DUMMY //SYSLIN DD DSN=*.ASM.SYSLIN,DISP=(OLD,DELETE) //SYSPRINT DD SYSOUT=* // PEND //********************************************************************* //STEP1 EXEC ASMCG //ASM.SYSIN DD * *=====================================================================* * MVS STANDARD HOUSE KEEPING PROCEDURE * *=====================================================================* * *----------------------------------* * * ENTRY PROCESSING * * *----------------------------------* MYASMPGM CSECT , DEFINE CONTROL SECTION MYASMPGM AMODE 31 DEFINE DEFAULT AMODE=31 MYASMPGM RMODE 24 DEFINE DEFAULT RMODE=24 USING *,12,11 DEFINE BASE REGISTER SAVE (14,12),,* SAVE CALLER REGISTERS LA 12,0(,15) GR12 --> OUR 1ST BASE ADDRESS LA 11,4095(,12) LA 11,1(,11) GR11 --> OUR 2ND BASE ADDRESS LR 15,13 SAVE CALLER SAVEAREA CNOP 0,4 INSURE FULL WORD BOUNDARY BAS 13,*+4+72 AROUND OUR SAVEAREA DC 18F'-1' OUR GPR SAVEAREA ST 15,4(,13) SAVE CALLER SAVEAREA POINTER ST 13,8(,15) SET BACK CHAIN FOR LINK TRACE B MAINPROC DO MAINLINE PROCESSING * *----------------------------------* * * EXIT PROCESSING * * *----------------------------------* EXITPROC DS 0H L 13,4(,13) RESTORE CALLER SAVEAREA ST 15,16(,13) PASS RETURN CODE TO CALLER RETURN (14,12),T RESTORE CALLER REGISTERS + AND RETURN TO CALLER EJECT , *********************************************************************** * MAIN LINE PROCESSING. * * ===================================================== * * GR1 -- EXEC PARAMETER PLIST * * GR12 - BASE REGISTER * * GR13 - OUR REGISTER SAVEAREA * *---------------------------------------------------------------------* * SAMPLE CODE OF 'MVS ADVANCED SKILL Vol-1' CHAPTER 5.8 * * ===================================================== * * LISTING JOBS AND SYSOUT IN JES2 JOB AND OUTPUT QUEUE. * * ===================================================== * * >>> Correct for z/OS V1R9 or higher. 2020/04/03 <<< * * >>> Removed MODESET macro to call SSI(STAT,SAPI). <<< * * >>> No longer need SUP authority to call SSI(STAT,<<< * * >>> SAPI) under z/OS V1R9 or higher. <<< * *********************************************************************** MAINPROC DS 0H OPEN (SYSPRINT,OUTPUT) OPEN SYSPRINT DATASET PUT SYSPRINT,HEADLINE PRINT HEADER LINE PUT SYSPRINT,SEPALINE PRINT SEPARATOR LINE SPACE , * *----------------------------------* * * SETUP STAT/SAPI * * * SSI INTERFACE AREA * * * ============================== * * * BUILD SSOB AND SSOB EXTENSION * * *----------------------------------* LA R0,JOBQSSOB INIT SSOB AND EXTENSION LA R1,LOBQSSOB I SLR RF,RF I MVCL R0,RE V Q USING SSOB,JOBQSSOB ADDRESS TO STAT SSOB(FOR JOBQ) MVC Q.SSOBID,=CL4'SSOB' SET SSOB IDENTIFIER MVC Q.SSOBLEN,=Y(SSOBHSIZ) SET SSOB HEADER LENGTH MVC Q.SSOBFUNC,=Y(SSOBESTA) INDICATE SSI FUNCTION CODE LA R0,Q.STAT LOAD SSOB STAT EXTENSION ST R0,Q.SSOBINDV SET FUNCTION DEPENDENT AREA PTR SPACE , MVC Q.STATLEN,=Y(STATSIZE) SET STAT AREA LENGTH MVC Q.STATEYE,=CL4'STAT' SET STAT IDENTIFIER MVI Q.STATVERL,STATCVRL SET SSOB VERSION LEVEL MVI Q.STATVERM,STATCVRM SET SSOB VERSION MODIFIER MVI Q.STATTYPE,STATTERS INDICATE TO INCLUDE JOB LV INFO MVI Q.STATSEL1,STATSJBN INDICATE JOBNAME FILTER MVC Q.STATJOBN,=CL8'*' SET REQUEST FILTER KEY(JOBNAME) SPACE , LA R0,OUTQSSOB INIT SSOB AND EXTENSION LA R1,LUTQSSOB I LA RE,JOBQSSOB I LA RF,LOBQSSOB I MVCL R0,RE V O USING SSOB,OUTQSSOB ADDRESS TO STAT SSOB(FOR OUTQ) LA R0,O.STAT LOAD SSOB STAT EXTENSION ST R0,O.SSOBINDV SET FUNCTION DEPENDENT AREA PTR MVI O.STATSEL1,STATSJBI INDICATE JOBID FILTER SPACE , LA R0,SAPISSOB INIT SSOB AND EXTENSION LA R1,LAPISSOB I SLR RF,RF I MVCL R0,RE V S USING SSOB,SAPISSOB ADDRESS TO SAPI SSOB MVC S.SSOBID,=CL4'SSOB' SET SSOB IDENTIFIER MVC S.SSOBLEN,=Y(SSOBHSIZ) SET SSOB HEADER LENGTH MVC S.SSOBFUNC,=Y(SSOBSOU2) INDICATE SSI FUNCTION CODE LA R0,S.SSS2 LOAD SSOB SAPI EXTENSION ST R0,S.SSOBINDV SET FUNCTION DEPENDENT AREA PTR SPACE , MVC S.SSS2LEN,=Y(SSS2SIZE) SET SSS2 AREA LENGTH MVI S.SSS2VER,SSS2CVER SET SSOB VERSION LEVEL MVC S.SSS2EYE,=CL4'SSS2' SET SSS2 IDENTIFIER MVI S.SSS2TYPE,SSS2PUGE INDICATE REQUEST IS PUT/GET OI S.SSS2SEL1,SSS2SAWT SELECT FROM ALL OUTPUT TYPES OI S.SSS2SEL5,SSS2SCTK SELECT BY SYSOUT CLIENT TOKEN OI S.SSS2SEL5,SSS2SBRO INDICATE BROWSE ONLY OI S.SSS2DISP,SSS2DKPE+SSS2RNPR INDICATE KEEP AND + DOESN'T NOTIFY TO US AGAIN SPACE , *---------------------------------------------------------------------* * INVOKE SSI(80) TO EXTRACT CURRENT JES2 JOB QUEUE LIST * * ===================================================== * * GET JOB QUEUE INFORMATION BY EXT-STAT SSI BASE FROM JQE. * *---------------------------------------------------------------------* LA R1,SSIJOBQP LOAD PLIST POINTER IEFSSREQ , CALL SSI REQUEST ROUTINE TO ASK+ NEXT JOB-QUEUE INFOMATION L RF,Q.SSOBRETN LOAD SSOB RETURN CODE CH RF,=Y(STATRTOK) SUCCESSFUL ? BNE ENDPROC NO, PROCESSING DONE SPACE , LA R6,Q.STATJOBF LOCATE TO 1ST JOBQ POINTER SH R6,=Y(STJQNEXT-STATJQ) ADJUST FOR CHAIN LOOP USING STATJQ,R6 ADDRESS TO SJQE AREA B SJQESTRT SJQELOOP DS 0H PUT SYSPRINT,BLANK INSERT BLANK LINE SJQESTRT DS 0H ICM R6,B'1111',STJQNEXT LOAD NEXT SJQE POINTER BZ ENDPROC IF ZERO, ITS END OF CHAIN LH RF,STJQOHDR LOAD OFFSET TO SJQE 1ST HEADER LA R9,STATJQ(RF) LOCATE TO SJQE 1ST HEADER LA R9,STHDSIZE(,R9) LOCATE TO SJQE QUICK/TERSE + SECTION USING STATJQTR,R9 ADDRESS IT SPACE , MVC COMPCC,BLANK CLEAR COMPLETION CODE CLI STTRXIND,0 ENDED JOB ? BNE SJQEOUT YES, MVC QTYPE1,=CL3'XEQ' NO, INDICATE IT CLC STTRMEM,BLANK ACTIVE JOB ? BNE SJQEXEQ YES, SPACE , * *----------------------------------* * * EDIT XEQ QUEUE JOB INFORMATION * * * ============================== * * *----------------------------------* SJQEINQ DS 0H MVC QTYPE2,BLANK CLEAR QUEUE TYPE2 CLI STTRHOLD,STTRJHLD JOB IS HELD ? BNE *+4+6 NO, MVC QTYPE2,=CL4'HOLD' YES, INDICATES IT CLI STTRHOLD,STTRJDUP DUPLICATE JOB ? BNE *+4+6 NO, MVC QTYPE2,=CL4'DUP' YES, INDICATES IT L RF,WAIT# LOAD CURRENT WAITING JOBS LA RF,1(,RF) INCREMENT IT ST RF,WAIT# UPDATE IT B SJQECOMN DO COMMON PROCESSING SPACE , SJQEXEQ DS 0H MVC QTYPE2,=CL4'****' ASSUME JOB IS EXECUTING L RF,XEQ# LOAD CURRENT XEQ JOBS LA RF,1(,RF) INCREMENT IT ST RF,XEQ# UPDATE IT B SJQECOMN DO COMMON PROCESSING SPACE , * *----------------------------------* * * EDIT OUT/PPU QUEUE * * * JOB INFORMATION * * * ============================== * * *----------------------------------* SJQEOUT DS 0H MVC QTYPE2,BLANK CLEAR QUEUE TYPE2 MVC QTYPE1,=CL3'OUT' NO, INDICATE IT CLI STTRHOLD,STTRJHLD JOB IS HELD ? BNE *+4+6 NO, MVC QTYPE2,=CL4'HOLD' YES, INDICATES IT L RF,OUTQ# LOAD CURRENT OUT/PPU JOBS LA RF,1(,RF) INCREMENT IT ST RF,OUTQ# UPDATE IT SPACE , * *----------------------------------* * * EDIT JOB MAX COMPLETION CODE * * *----------------------------------* TM STTRXIND,STTRXCDE EXIST COMPLETION CODE ? BNO SJQEABND NO, MVC COMPCC(3),=CL3'CC=' INDICATE NORMAL END L R0,STTRMXRC LOAD COMPLETION CODE N R0,=A(X'00000FFF') EXTRACT COMPLETION CODE CVD R0,DOUBLE CONVERT TO DOUBLE OI DOUBLE+7,X'0F' CORRECT SIGN BITS UNPK COMPCC+3(4),DOUBLE CONVERT TO ZONE B SJQENDCC END COMP CODE EDIT SPACE , SJQEABND DS 0H TM STTRXIND,STTRXAB EXIST ABEND CODE ? BNO SJQENRUN NO, MVC COMPCC(6),=CL6'ABEND=' INDICATE ABNORMAL END L R0,STTRMXRC LOAD COMPLETION CODE N R0,=A(X'00FFF000') EXTRACT ABEND CODE BZ *+4+4+6+6+6+4 IF USER ABEND MVI COMPCC+6,C'S' INDICATE SYSTEM ABEND UNPK DOUBLE(5),STTRMXCC(3) CONVERT ABEND CODE(HEX) TR DOUBLE(3),HEXTRANS I MVC COMPCC+7(3),DOUBLE V B SJQENDCC END COMP CODE EDIT SPACE , MVI COMPCC+6,C'U' INDICATE USER ABEND L R0,STTRMXRC LOAD COMPLETION CODE N R0,=A(X'00000FFF') EXTRACT ABEND CODE CVD R0,DOUBLE CONVERT TO DOUBLE UNPK COMPCC+7(4),DOUBLE CONVERT TO ZONE OI COMPCC+7+3,C'0' MAKE IT READABLE B SJQENDCC END COMP CODE EDIT SPACE , SJQENRUN DS 0H MVC COMPCC,=CL11'JCL ERROR' ASSUME JCL ERROR CLI STTRXIND,STTRXJCL JCL ERROR ? BE SJQENDCC YES, MVC COMPCC,=CL11'SEC ERROR' ASSUME SECURITY ERROR CLI STTRXIND,STTRXSEC SECURITY ERROR ? BE SJQENDCC YES, SJQENDCC DS 0H B SJQECOMN DO COMMON PROCESSING SPACE , * *----------------------------------* * * EDIT ALL QUEUE * * * JOB COMMON INFORMATION * * * ============================== * * *----------------------------------* SJQECOMN DS 0H MVC JOBNAME,STTRNAME SET JOBNAME MVC JOBID,STTRJID SET JOBID MVC XCLASS,STTRCLAS SET JOB CLASS MVC XNODE,STTRXNOD SET EXECUTED NODE MVC OWNER,STTROUID SET JOB OWNER ID SLR R0,R0 SET JOB PRIORITY IC R0,STTRPRIO I CVD R0,DOUBLE I MVC XPRTY,=XL4'40202120' I ED XPRTY,DOUBLE+6 I MVI XPRTY,C'=' V PUT SYSPRINT,JQELINE PRINT JOB INFORMATION LINE SPACE , *---------------------------------------------------------------------* * INVOKE SSI(80) TO CURRENT JOBS OUTPUT ELEMENT LIST * * ===================================================== * * GET JOB OUTPUT ELEMENT BY EXT-STAT SSI BASE FROM JOE. * *---------------------------------------------------------------------* MVC O.STATJBIL,STTRJID SET REQUEST FILTER KEY(JOBID) MVI O.STATTYPE,STATOUTT INDICATE TO INCLUDE SYSOUT INFO LA R1,SSIOUTQP LOAD PLIST POINTER IEFSSREQ , CALL SSI REQUEST ROUTINE TO ASK+ NEXT JOB-OUTPUT ELEMENT L RF,O.SSOBRETN LOAD SSOB RETURN CODE CH RF,=Y(STATRTOK) SUCCESSFUL ? BNE SJOEDONE NO, DO NEXT JQE PROCESSING SPACE , L R7,O.STATJOBF LOAD JOBQ POINTER LA R7,STJQSE-STATJQ(,R7) LOAD JOBQ POINTER SH R7,=Y(STSEJNXT-STATSE) ADJUST FOR CHAIN LOOP USING STATSE,R7 ADDRESS TO SOUT AREA SJOELOOP DS 0H ICM R7,B'1111',STSEJNXT LOAD NEXT SOUT POINTER BZ SJOEDONE IF ZERO, ITS END OF CHAIN LH RF,STSEOHDR LOAD OFFSET TO SJQE 1ST HEADER LA R9,STATSE(RF) LOCATE TO SOUT 1ST HEADER LA R9,STSHSIZE(,R9) LOCATE TO SOUT QUICK/TERSE + SECTION USING STATSETR,R9 ADDRESS IT LH RF,STSTLEN LOAD OFFSET TO SJQE 1ST HEADER LA RF,STATSETR(RF) LOCATE TO SOUT 1ST HEADER SPACE , * *----------------------------------* * * EDIT JOE INFORMATION * * * ============================== * * *----------------------------------* MVC OUTGRP,STS2OGNM-STATSJ2T(RF) SET OUTPUT GROUP NAME MVC OCLASS,STSTCLAS SET SYSOUT CLASS MVC OHOLD,BLANK ASSUME DISP=WRITE CLI STSTHSTA,0 HOLD ? BE *+4+6 NO, MVC OHOLD,=CL5'HOLD' YES, INDICATE IT SLR R0,R0 SET OUTPUT PRIORITY IC R0,STSTPRIO I CVD R0,DOUBLE I MVC OPRTY,=XL4'40202120' I ED OPRTY,DOUBLE+6 I MVI OPRTY,C'=' V L RF,OUTREC# LOAD CURRENT OUT/PPU JOBS ICM R0,B'1111',STSTNREC LOAD THIS OUTGRP #RECS AR RF,R0 ADD IT ST RF,OUTREC# UPDATE IT SLR R0,R0 EDIT NUM OF RECORDS ICM R0,B'1111',STSTNREC I CVD R0,DOUBLE I MVC OGRECS,=XL10'40206B2020206B202120' I ED OGRECS,DOUBLE+4 I MVI OGRECS,C'=' V MVC FORM,STSTFORM SET FORM NAME MVC FLASH,STSTFLSH SET FLASH NAME MVC FCB,STSTFCB SET FCB NAME MVC UCS,STSTUCS SET UCS NAME MVC WTRPGM,STSTXWTR SET WRITER PROGRAM NAME SPACE , PUT SYSPRINT,JOELINE PRINT JOB OUTPUT GROUP LINE SPACE , *---------------------------------------------------------------------* * INVOKE SSI(79) TO CURRENT JOES OUTPUT DATASET LIST * * ===================================================== * * GET JOB OUTPUT DATASET BY SAPI SSI BASE FROM IOT/PDDB. * *---------------------------------------------------------------------* LA R0,STSTCTKN LOAD SYSOUT CLIENT TOKEN ADDR ST R0,S.SSS2CTKN SET IT NI S.SSS2MSC1,255-SSS2CTRL INDICATE RETURN SYSOUT DSNAME MVI WORKDSN,0 CLEAR WORK DSNAME FIELD SOUTLOOP DS 0H LA R1,SSISAPIP LOAD PLIST POINTER IEFSSREQ , CALL SSI REQUEST ROUTINE TO ASK+ NEXT SYSOUT DS INFOMATION L RF,S.SSOBRETN LOAD SSOB RETURN CODE CH RF,=Y(SSS2RTOK) SUCCESSFUL ? BNE SOUTDONE NO, DO NEXT JOE PROCESSING SPACE , * *----------------------------------* * * TEST DUPLICATE RETURN FOR SAME * * * DSNAME DURING SAME OUTGRP * * * PROCESSING TO AVOID LOOP. * * * THE SSS2RNPR FLAG DOESN'T * * * EFFECT FOR SSS2SCTK SELECTION. * * * ============================== * * * SEE Z/OS MVS USING THE * * * SUBSYSTEM INTERFACE MANUAL FOR * * * MORE INFORMATION. * * *----------------------------------* CLI WORKDSN,0 1ST TIME CALL ? BNE *+4+6+4 NO, CHECK DUPLICATE CALL MVC WORKDSN,S.SSS2DSN YES, SAVE 1ST TIME DSN B EDSOLINE DO EDIT SYSOUT DATASET LINE SPACE , CLC WORKDSN,S.SSS2DSN DUPLICATE CALL ? BE SOUTDONE YES, END OF THIS OUTGRP SPACE , * *----------------------------------* * * PROCESSING FOR NEXT SYSOUT DS * * * ============================== * * * SSOB OUTPUT FIELDS. * * * ------------------- * * * SSS2JOBR: SYSOUT JOBNAME * * * SSS2JBIR: SYSOUT JOBID * * * SSS2CRER: SYSOUT OWNER USERID * * * SSS2DSN : SYSOUT DSNAME * * * SSS2CLAR: SYSOUT CLASS * * * SSS2MLRL: SYSOUT MAX LRECL * * * SSS2LNCT: SYSOUT NUM OF LINES * * * SSS2PRCD: SYSOUT PROCSTEP NAME * * * SSS2STPD: SYSOUT STEP NAME * * * SSS2DDND: SYSOUT DDNAME * * * SSS2DATE: DATE 0CYYDDDF * * * SSS2TIME: TIME 1/100SEC FROM * * * MIDNIGHT * * * SSS2SYS : SYSTEM NAME * * * SSS2MBR : SMF SYSTEM NAME * * *----------------------------------* EDSOLINE DS 0H MVC STEPNAME,S.SSS2STPD SET STEP NAME MVC PROCSTEP,S.SSS2PRCD SET PROC STEP NAME MVC DDNAME,S.SSS2DDND SET DDNAME LH R0,S.SSS2MLRL SET MAX LRECL CVD R0,DOUBLE I MVC LRECL,=XL6'402020202120' I ED LRECL,DOUBLE+5 I MVI LRECL,C'=' V L R0,S.SSS2LNCT SET OUTPUT LINE# CVD R0,DOUBLE I MVC ODRECS,=XL10'40206B2020206B202120' I ED ODRECS,DOUBLE+4 I MVI ODRECS,C'=' V MVC DEST,S.SSS2DESR SET DESTINATION LA R0,3 FIND 4TH QUALIFIER LA R1,S.SSS2DSN-1 I LA R1,1(,R1) I CLI 0(R1),C'.' I BE *+4+4+4 I LA R1,1(,R1) I B *-4-4-4 I BCT R0,*-4-4-4-4-4 V MVC DSN,1(R1) SET DSNAME 4TH/5TH QUALIFIER SPACE , PUT SYSPRINT,ODSLINE PRINT JOB SYSOUT DATASET LINE B SOUTLOOP ASK NEXT SYSOUT DATASET INFO SPACE , SOUTDONE DS 0H OI S.SSS2MSC1,SSS2CTRL INDICATE PROCESSING COMPLETED + ITS MEAN RESOURCE CLEANUP LA R1,SSISAPIP LOAD PLIST POINTER IEFSSREQ , CALL SSI REQUEST ROUTINE B SJOELOOP ASK NEXT JOB OUTPUT ELEMENT SPACE , SJOEDONE DS 0H MVI O.STATTYPE,STATMEM INDICATE MEMORY MANAGEMENT + ITS MEAN RESOURCE CLEANUP LA R1,SSIOUTQP LOAD PLIST POINTER IEFSSREQ , CALL SSI REQUEST ROUTINE B SJQELOOP ASK NEXT JOB QUEUE INFORMATION SPACE , * *----------------------------------* * * END OF PROCESSING * * * ============================== * * * CLEAN UP USED SSI RESOURCES * * * AND RELEASE DATASET I/O BUFFER * * *----------------------------------* ENDPROC DS 0H MVI Q.STATTYPE,STATMEM INDICATE MEMORY MANAGEMENT + ITS MEAN RESOURCE CLEANUP LA R1,SSIJOBQP LOAD PLIST POINTER IEFSSREQ , CALL SSI REQUEST ROUTINE SPACE , SLR R0,R0 EDIT NUM OF EXECUTING JOBS L R0,XEQ# I A R0,WAIT# I CVD R0,DOUBLE I MVC SUMXEQ#,=XL7'4020206B202120' I ED SUMXEQ#,DOUBLE+5 V MVI SUMXEQ#,C'=' SLR R0,R0 EDIT NUM OF AWAITING JOBS L R0,WAIT# I CVD R0,DOUBLE I MVC SUMWAIT#,=XL7'4020206B202120' I ED SUMWAIT#,DOUBLE+5 V MVI SUMWAIT#,C'(' SLR R0,R0 EDIT NUM OF OUTPUT/PPU JOBS L R0,OUTQ# I CVD R0,DOUBLE I MVC SUMOUTQ#,=XL10'40206B2020206B202120' I ED SUMOUTQ#,DOUBLE+4 V MVI SUMOUTQ#,C'=' SLR R0,R0 EDIT TOTAL OUTPUT LINES L R0,OUTREC# I CVD R0,DOUBLE I MVC SUMOREC#,=XL15'4020206B2020206B2020206B202120' I ED SUMOREC#,DOUBLE+2 V MVI SUMOREC#,C'=' SPACE , PUT SYSPRINT,SEPALINE PRINT SEPARATOR LINE PUT SYSPRINT,TRAILINE PRINT TOTAL SUMMARY LINE CLOSE (SYSPRINT) CLOSE SYSPRINT DATASET SPACE , * *----------------------------------* * * END OF PROCESSING * * *----------------------------------* SLR 15,15 LOAD RETURN CODE = 0 B EXITPROC DO EXIT PROCESSING EJECT , *********************************************************************** * DATA AREA * *********************************************************************** DS 0D *---------------------------------------------------------------------* * *----------------------------------* * * MISCELLANEOUS * * * ============================== * * *----------------------------------* DOUBLE DC D'0' DOUBLE WORD WORKAREA DC D'0' DOUBLE WORD WORKAREA XEQ# DC F'0' TOTAL XEQ JOBS COUNTER WAIT# DC F'0' TOTAL WAITING JOBS COUNTER OUTQ# DC F'0' TOTAL OUT/PPU JOBS COUNTER OUTREC# DC F'0' TOTAL SYSOUT RECORDS COUNTER HEXTRANS EQU *-X'F0',256 BIN -> HEX TRASLATION PATTERN DC C'0123456789ABCDEF' WORKDSN DC CL44' ' 1ST SYSOUT DSN IN OUTGRP TO + CHECK DUPICATE SSS2OUTP FIELDS SPACE , * *----------------------------------* * * EXT-STATUS SSI INTERFACE AREA * * * ============================== * * *----------------------------------* SSIJOBQP CALL ,(JOBQSSOB),VL,MF=L PLIST FOR IEFSSREQ SERVICE SSIOUTQP CALL ,(OUTQSSOB),VL,MF=L PLIST FOR IEFSSREQ SERVICE SSISAPIP CALL ,(SAPISSOB),VL,MF=L PLIST FOR IEFSSREQ SERVICE JOBQSSOB DS 0D DC (SSOBHSIZ)X'00' SSOB HEADER AREA DS 0D DC (STATSIZE)X'00' EXT-STATUS SSOB AREA FOR JOB-Q LOBQSSOB EQU *-JOBQSSOB (LENGTH OF SSOB AREA) OUTQSSOB DS 0D DC (SSOBHSIZ)X'00' SSOB HEADER AREA DS 0D DC (STATSIZE)X'00' EXT-STATUS SSOB AREA FOR OUT-Q LUTQSSOB EQU *-OUTQSSOB (LENGTH OF SSOB AREA) SAPISSOB DS 0D DC (SSOBHSIZ)X'00' SSOB HEADER AREA DS 0D DC (SSS2SIZE)X'00' SAPI SSOB AREA LAPISSOB EQU *-SAPISSOB (LENGTH OF SSOB AREA) SPACE , * *----------------------------------* * * OUTPUT LIST * * * ============================== * * *----------------------------------* * 0----+----1----+----2----+----3----+----4----+---- HEADLINE DC CL120'JES2 JOB/OUTPUT QUEUE LIST' SEPALINE DC CL120'==================================================+ ========================================================+ ==============' JQELINE DC CL120'JOBNAME (JOB00130) QUEUE=XEQ/**** ABEND=U9999 CLS=+ STC PRTY= 1 NODE=N1XXXXXX OWNER=XXXXXXXX' JOBNAME EQU JQELINE+0,8 JOBID EQU JQELINE+9,8 QTYPE1 EQU JQELINE+25,3 QTYPE2 EQU JQELINE+29,4 COMPCC EQU JQELINE+34,11 XCLASS EQU JQELINE+50,3 XPRTY EQU JQELINE+58,4 XNODE EQU JQELINE+68,8 OWNER EQU JQELINE+83,8 JOELINE DC CL120' OUTGRP=99.99.99 CLS=A(HOLD) PRTY=112+ RECS=Z,ZZZ,ZZ9 FORM=XXXXXXXX OVRY=XXXX FCB=**** UCS=***+ * WTR=@@@@@@@@' OUTGRP EQU JOELINE+21,8 OCLASS EQU JOELINE+34,1 OHOLD EQU JOELINE+36,4 OPRTY EQU JOELINE+46,4 OGRECS EQU JOELINE+55,10 FORM EQU JOELINE+71,8 FLASH EQU JOELINE+85,4 FCB EQU JOELINE+94,4 UCS EQU JOELINE+103,4 WTRPGM EQU JOELINE+112,8 ODSLINE DC CL120' STEP=JES2 ( ) DD=JESM+ SGLG LRECL=ZZZZ9 RECS=Z,ZZZ,ZZ9 DEST=LOCALXXX DSN=...D00+ 00002.JESMSGLG' STEPNAME EQU ODSLINE+24,8 PROCSTEP EQU ODSLINE+33,8 DDNAME EQU ODSLINE+46,8 LRECL EQU ODSLINE+60,6 ODRECS EQU ODSLINE+71,10 DEST EQU ODSLINE+87,8 DSN EQU ODSLINE+103,17 TRAILINE DC CL120'TOTAL XEQ=ZZ,ZZ9(ZZ,ZZ9) OUT/PPU=Z,ZZZ,ZZ9 OUTPUT + RECORDS=Z,ZZZ,ZZZ,ZZ9' SUMXEQ# EQU TRAILINE+9,7 SUMWAIT# EQU TRAILINE+16,7 SUMOUTQ# EQU TRAILINE+32,10 SUMOREC# EQU TRAILINE+57,15 BLANK DC CL120' ' SPACE , SYSPRINT DCB DDNAME=SYSPRINT, DCB FOR SYSPRINT DATASET + DSORG=PS,MACRF=PM,RECFM=FB,BLKSIZE=0,LRECL=120 *---------------------------------------------------------------------* LTORG , LITERAL POOL AT HERE DROP , FORGET ALL BASE REGISTERS EJECT , *********************************************************************** * DATA AREA (OUTSIDE OUR BASE) * *********************************************************************** *---------------------------------------------------------------------* * LOCAL WORKAREA * *---------------------------------------------------------------------* *---------------------------------------------------------------------* * DSECTS * *---------------------------------------------------------------------* CVT DSECT=YES CVT IEFJESCT , JESCT IEFSSOBH SSOB(HEDAER) SSOBGN EQU * IAZSSS2 , SSOB(SAPI) IAZSSST , SSOB(EXTEND STATUS) ORG , *---------------------------------------------------------------------* * S/370, ESA/390 REGISTER EQUATES * *---------------------------------------------------------------------* YREGS , OS: REGISTER EQUATES RA EQU 10 ADD EQUATION FOR GR10 RB EQU 11 ADD EQUATION FOR GR11 RC EQU 12 ADD EQUATION FOR GR12 RD EQU 13 ADD EQUATION FOR GR13 RE EQU 14 ADD EQUATION FOR GR14 RF EQU 15 ADD EQUATION FOR GR15 END // //