//KIMU JOB (ACCT#),CLASS=F,MSGCLASS=W,NOTIFY=KIMU //* *************************************************************** //* SMF RECORD EDIT PROGRAM ! //* rec type record name dd name //* 74-4 : CF activities . TYPE74 //* : Structure requests . TYPE74S //* -2 : XCF activities . TYPE72X //* : XCF Path . TYPE72P //* //* --------------------------------------------------------------- //* 99.08.12 : Bug Fix Zero devide of CF Cpu used percent //* 99.09.27 : Bug Fix No data contain subtype-2 record //* //* //* *************************************************************** //JOBCAT DD DSN=USER.CATALOG,DISP=SHR //A EXEC PGM=ASMA90,PARM=OBJECT,REGION=2000K //SYSIN DD * START PRINT NOGEN SMFEDIT CSECT SAVE (14,12),T,* BALR R03,0 USING *,R03,R04,R05,R08 BASE REG. R03 LA R04,2048(R03) LA R04,2048(R04) 2ND BASE REG. R04 LA R05,2048(R04) LA R05,2048(R05) 3ND BASE REG. R05 LA R08,2048(R05) LA R08,2048(R08) 4ND BASE REG. R08 ST R13,SAVEAREA+4 SAVE A(OLD SAVEAREA) LR R12,R13 LA R13,SAVEAREA ST R13,8(R12) SAVE A(NEW SAVEAREA) *--- end of incantation --- *---------------------------------------------------------------------- *--- parameter --- MVI PARMWA,X'40' space clear MVC PARMWA+1(L'PARMWA-1),PARMWA MVI STRNAME,X'40' MVC STRNAME+1(L'STRNAME-1),STRNAME MVI CFNAME,X'40' MVC CFNAME+1(L'CFNAME-1),CFNAME MVI RTNAME,X'40' MVC RTNAME+1(L'RTNAME-1),RTNAME MVI PTHNAME,X'40' MVC PTHNAME+1(L'PTHNAME-1),PTHNAME * L R01,0(R01) LH R02,0(R01) LTR R02,R02 BZ PRM_EXIT BCTR R02,0 *--> PARMMVC MVC PARMWA(0),2(R01) EX R02,PARMMVC * LA R01,PARMWA LA R02,L'PARMWA PRM_LOP1 EQU * CLC 0(07,R01),=CL07'CFNAME(' BNE PRM_SKP1 LA R15,CFNAME LA R01,7(R01) B PRM_LOP2 PRM_SKP1 EQU * CLC 0(08,R01),=CL08'STRNAME(' BNE PRM_SKP2 LA R15,STRNAME LA R01,8(R01) B PRM_LOP2 PRM_SKP2 EQU * CLC 0(06,R01),=CL06'ROUTE(' BNE PRM_SKP3 LA R15,RTNAME LA R01,6(R01) B PRM_LOP2 PRM_SKP3 EQU * CLC 0(05,R01),=CL05'PATH(' BNE PRM_SKP4 LA R15,PTHNAME LA R01,5(R01) B PRM_LOP2 PRM_SKP4 EQU * LA R01,1(R01) BCT R02,PRM_LOP1 B PRM_EXIT * PRM_LOP2 EQU * CLI 0(R01),C')' BE PRM_SKP20 MVC 0(1,R15),0(R01) LA R15,1(R15) LA R01,1(R01) BCT R02,PRM_LOP2 B PRM_EXIT PRM_SKP20 EQU * LA R01,1(R01) BCT R02,PRM_LOP1 B PRM_EXIT * PRM_EXIT EQU * MVC MSG#0000(15),=CL15'SE74 : CFNAME =' MVC MSG#0000+15(65),CFNAME WTO TEXT=MSG#A000,MF=(E,WTOINFO) MVC MSG#0000(15),=CL15'SE74 : STRNAME=' MVC MSG#0000+15(65),STRNAME WTO TEXT=MSG#A000,MF=(E,WTOINFO) MVC MSG#0000(15),=CL15'SE74 : ROUTE =' MVC MSG#0000+15(65),RTNAME WTO TEXT=MSG#A000,MF=(E,WTOINFO) MVC MSG#0000(15),=CL15'SE74 : PATH =' MVC MSG#0000+15(65),PTHNAME WTO TEXT=MSG#A000,MF=(E,WTOINFO) *--- Header Base Regs --- LA R09,RECAREA USING SMF74HDR,R09 *--- File open --- OPEN (INDCB,,TYPE74,(OUTPUT),TYPE74S,(OUTPUT)) OPEN (TYPE72X,(OUTPUT),TYPE72P,(OUTPUT)) *--- Title --- PUT TYPE74,#74TTL PUT TYPE74S,#74STTL PUT TYPE72X,#72XTTL PUT TYPE72P,#72PTTL *-- Read --- LOOP01 EQU * GET INDCB,RECAREA CLI SMF74RTY,X'4A' Type 74 ( RMF activity ) BE EDIT74 B LOOP01 *--- Record type 74 process ------------------------------------------- EDIT74 EQU * BAL R14,EDIT74RMF * CLC RECAREA+22(2),=XL2'0002' XCF signalling section BE EDIT742 CLC RECAREA+22(2),=XL2'0004' CF section BE EDIT744 EDIT74X EQU * B LOOP01 *--- Record type 74 subtype 2 ----------------------------------------- EDIT742 EQU * B EDIT742_XCF EDIT742_XCFR EQU * B EDIT742_XCF2 EDIT742_XCF2R EQU * B EDIT74X *--- Record type 74 subtype 4 ----------------------------------------- EDIT744 EQU * B EDIT744_CF EDIT744_CFR EQU * B EDIT744_STR EDIT744_STRR EQU * B EDIT74X *====================================================================== * --- Record type 74 RMF Product Section ------------------------------ *====================================================================== EDIT74RMF EQU * L R10,SMF74PRS SMF74PRS * : 'RMF product section' ptr LA R10,RECAREA(R10) USING SMF74PRO,R10 Based RMF product section * MVI #H74DAT,C' ' MVC #H74DAT+1(L'#H74DAT-1),#H74DAT L R01,SMF74DAT SRL R01,12 O R01,=X'0000000F' XC WK#D1,WK#D1 ST R01,WK#DF2 CVB R01,WK#D1 ST R01,WK#F1 * MVC #H74DAT+5(4),WK#F1 * CL R01,=F'100' BL E74RMF_SKP01 L R01,WK#F1 S R01,=F'100' LA R01,2000(R01) B E74RMF_SKP02 E74RMF_SKP01 EQU * LA R01,1900(R01) E74RMF_SKP02 EQU * XC PK_AREA,PK_AREA CVD R01,PK_AREA UNPK UPK_AREA(8),PK_AREA(8) OI UPK_AREA+7,X'F0' MVC #H74DAT(4),UPK_AREA+4 MVI #H74DAT+4,C'/' * LR R06,R01 SRDA R06,32 D R06,=F'400' Year / 400 LTR R06,R06 BZ E74RMF_SKP04 LR R06,R01 SRDA R06,32 D R06,=F'100' Year / 100 LTR R06,R06 BZ E74RMF_SKP03 LR R06,R01 SRDA R06,32 D R06,=F'4' Year / 4 LTR R06,R06 BZ E74RMF_SKP04 E74RMF_SKP03 EQU * MVC MONTH(12),MONTH1 B E74RMF_SKP05 E74RMF_SKP04 EQU * MVC MONTH(12),MONTH2 B E74RMF_SKP05 E74RMF_SKP05 EQU * * L R01,SMF74DAT N R01,=X'0000FFFF' XC WK#D1,WK#D1 ST R01,WK#DF2 CVB R01,WK#D1 ST R01,WK#F1 julian date LA R02,MONTH Month Table LA R06,1 Month * B E74RMF_SKP0X E74RMF_SKP06 EQU * XR R15,R15 IC R15,0(R02) CLR R01,R15 BNH E74RMF_SKP07 SR R01,R15 substruct day LA R02,1(R02) Shift Month Table LA R06,1(R06) Month + 1 B E74RMF_SKP06 E74RMF_SKP07 EQU * * B E74RMF_SKP0X XC PK_AREA,PK_AREA CVD R06,PK_AREA UNPK UPK_AREA(8),PK_AREA(8) OI UPK_AREA+7,X'F0' MVC #H74DAT+5(2),UPK_AREA+6 MVI #H74DAT+7,C'/' * XC PK_AREA,PK_AREA CVD R01,PK_AREA UNPK UPK_AREA(8),PK_AREA(8) OI UPK_AREA+7,X'F0' MVC #H74DAT+8(2),UPK_AREA+6 E74RMF_SKP0X EQU * * XC PK_AREA,PK_AREA SMF74IST * : Monitor start time L R01,SMF74IST ST R01,PK_AREA+12 UNPK UPK_AREA(16),PK_AREA(16) OI UPK_AREA+15,X'F0' * 0123456789012345 * EDWORK : .........hhmmssF MVC #H74IST(2),UPK_AREA+10 MVI #H74IST+2,C':' MVC #H74IST+3(2),UPK_AREA+12 MVI #H74IST+5,C':' MVC #H74IST+6(2),UPK_AREA+14 * * SMF74INT : mmsstttF L R01,SMF74INT SMF74INT * : Interval SRL R01,20 O R01,=X'0000000F' XC WK#D1,WK#D1 ST R01,WK#DF2 CVB R01,WK#D1 MH R01,=H'60' ss <- mm * 60 L R02,SMF74INT N R02,=X'00FF0000' SRL R02,12 O R02,=X'0000000F' XC WK#D1,WK#D1 ST R02,WK#DF2 CVB R02,WK#D1 LA R01,0(R01,R02) ss <- mm * 60 + ss L R02,SMF74INT N R02,=X'0000FFFF' XC WK#D1,WK#D1 ST R02,WK#DF2 CVB R02,WK#D1 CL R02,=F'500' if 0.5ms > ttt BL E74RMF_SKP1 LA R01,1(R01) round E74RMF_SKP1 EQU * ST R01,#H74INT BR R14 DROP R10 *====================================================================== *--- record type 74 - 2 XCF Section ----------------------------------- *====================================================================== #SMF742SN DS H EDIT742_XCF EQU * * --- Request Data section --- L R10,SMF742SO LH R01,SMF742SN LTR R01,R01 BZ E742XCF_NEXT STH R01,#SMF742SN * LA R10,RECAREA(R10) USING R742SYS,R10 E742XCF EQU * LA R01,L'#72X Length LA R02,#72X Address MVI #72X,X'40' OUT AREA SPACE CLEAR E742XCF_CLR EQU * CL R01,=F'256' BNH E742XCF_CLRX * MVC 1(256,R02),0(R02) S R01,=F'256' LA R02,256(R02) B E742XCF_CLR E742XCF_CLRX EQU * BCTR R01,0 BCTR R01,0 EX R01,EXCLR *EXCLR MVC 1(0,R02),0(R02) * LA R01,PARTX E742XCF_INIT EQU * CLC 0(4,R01),=X'FFFFFFFF' BE E742XCF_INITX L R02,0(R01) MVI 0(R02),C',' LA R01,4(R01) B E742XCF_INIT E742XCF_INITX EQU * * MVC #72XDAT,#H74DAT Monitor start time MVC #72XIST,#H74IST Monitor start time L R01,#H74INT Interval time CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #72XINT,EDWORK+12 * --- R742SNME --------------------------------------------------- MVC #742SNME,R742SNME R742SNME * * --- R742STCN --------------------------------------------------- CLC R742STCN,=CL8' ' BE E742XCF_STCN_SKP1 MVC #742STCN,R742STCN R742STCN B E742XCF_STCN_SKP2 E742XCF_STCN_SKP1 EQU * MVC #742STCN,=CL8'INBOUND' R742STCN E742XCF_STCN_SKP2 EQU * * * --- R742SPTH --------------------------------------------------- L R01,R742SPTH R742SPTH CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742SPTH,EDWORK+8 * * --- R742SBSY --------------------------------------------------- L R01,R742SBSY R742SBSY CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742SBSY,EDWORK+8 * * --- R742SNOP --------------------------------------------------- L R01,R742SNOP R742SNOP CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742SNOP,EDWORK+8 * * --- R742SMXB --------------------------------------------------- L R01,R742SMXB R742SMXB CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742SMXB,EDWORK+8 * * --- R742SBIG --------------------------------------------------- L R01,R742SBIG R742SBIG CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742SBIG,EDWORK+8 * * --- R742SFIT --------------------------------------------------- L R01,R742SFIT R742SFIT CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742SFIT,EDWORK+8 * * --- R742SSML --------------------------------------------------- L R01,R742SSML R742SSML CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742SSML,EDWORK+8 * * --- R742SOVR --------------------------------------------------- L R01,R742SOVR R742SOVR CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742SOVR,EDWORK+8 * * --- R742STCL --------------------------------------------------- L R01,R742STCL R742STCL CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742STCL,EDWORK+8 * * ---------------------------------------------------------------- PUT TYPE72X,#72X LH R01,SMF742SL LA R10,0(R10,R01) LH R01,#SMF742SN BCTR R01,0 STH R01,#SMF742SN LTR R01,R01 BNZ E742XCF * BCT R12,E742XCF E742XCF_NEXT EQU * B EDIT742_XCFR DROP R10 * *====================================================================== *--- record type 74 - 2 XCF Section ----------------------------------- *====================================================================== #SMF742PN DS H EDIT742_XCF2 EQU * * --- Route data section --- L R10,SMF742PO LH R01,SMF742PN LTR R01,R01 BZ E742XCF2_X STH R01,#SMF742PN * LA R10,RECAREA(R10) USING R742PTH,R10 E742XCF2 EQU * LA R01,L'#72P Length LA R02,#72P Address MVI #72P,X'40' OUT AREA SPACE CLEAR E742XCF_CLR2 EQU * CL R01,=F'256' BNH E742XCF_CLRX2 * MVC 1(256,R02),0(R02) S R01,=F'256' LA R02,256(R02) B E742XCF_CLR2 E742XCF_CLRX2 EQU * BCTR R01,0 BCTR R01,0 EX R01,EXCLR *EXCLR MVC 1(0,R02),0(R02) * LA R01,PARTP E742XCF2_INIT EQU * CLC 0(4,R01),=X'FFFFFFFF' BE E742XCF2_INITX L R02,0(R01) MVI 0(R02),C',' LA R01,4(R01) B E742XCF2_INIT E742XCF2_INITX EQU * * MVC #72PDAT,#H74DAT Monitor start time MVC #72PIST,#H74IST Monitor start time L R01,#H74INT Interval time CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #72PINT,EDWORK+12 * ---------------------------------------------------------------- CLI RTNAME,C' ' BE E742XCF_PDIR0_SKPX * CLC RTNAME(8),=CL8'INBOUND ' BE E742XCF_PDIR0_SKP1 CLC RTNAME(8),=CL8'OUTBOUND' BE E742XCF_PDIR0_SKP2 B E742XCF2_NEXT E742XCF_PDIR0_SKP1 EQU * TM R742PDIR,X'80' BO E742XCF_PDIR0_SKPX B E742XCF2_NEXT E742XCF_PDIR0_SKP2 EQU * TM R742PDIR,X'40' BO E742XCF_PDIR0_SKPX B E742XCF2_NEXT E742XCF_PDIR0_SKPX EQU * * ---------------------------------------------------------------- CLI PTHNAME,C' ' BE E742XCF_PTH_FOUND CLC PTHNAME(03),=CL3'ALL' BE E742XCF_PTH_FOUND * LA R01,R742PDEV PDEV : R01 LA R15,L'R742PDEV LA R01,0(R01,R15) BCTR R01,0 E742XCF_PTH_LOOP1 EQU * CLI 0(R01),C' ' BNE E742XCF_PTH_LOOP1_EXIT BCTR R01,0 BCT R15,E742XCF_PTH_LOOP1 E742XCF_PTH_LOOP1_EXIT EQU * LTR R15,R15 BZ E742XCF_NEXTCHK1 BCTR R15,0 LA R02,L'PTHNAME LA R01,PTHNAME E742XCF_PTH_LOOP2 EQU * CLI 0(R01),C' ' BE E742XCF_NEXTCHK1 EX R15,EXCLCPDEV BE E742XCF_PTH_FOUND LA R01,1(R01) BCT R02,E742XCF_PTH_LOOP2 B E742XCF_NEXTCHK1 EXCLCPDEV CLC 0(0,R01),R742PDEV * E742XCF_NEXTCHK1 EQU * LA R01,R742PODV PODV : R01 LA R15,L'R742PODV LA R01,0(R01,R15) BCTR R01,0 E742XCF_PTH_LOOP3 EQU * CLI 0(R01),C' ' BNE E742XCF_PTH_LOOP3_EXIT BCTR R01,0 BCT R15,E742XCF_PTH_LOOP3 E742XCF_PTH_LOOP3_EXIT EQU * LTR R15,R15 BZ E742XCF_NEXTCHK2 BCTR R15,0 LA R02,L'PTHNAME LA R01,PTHNAME E742XCF_PTH_LOOP4 EQU * CLI 0(R01),C' ' BE E742XCF_NEXTCHK2 EX R15,EXCLCPODV BE E742XCF_PTH_FOUND LA R01,1(R01) BCT R02,E742XCF_PTH_LOOP4 B E742XCF_NEXTCHK2 EXCLCPODV CLC 0(0,R01),R742PODV * E742XCF_NEXTCHK2 EQU * LA R01,R742PSTR PSTR : R01 LA R15,L'R742PSTR LA R01,0(R01,R15) BCTR R01,0 E742XCF_PTH_LOOP5 EQU * CLI 0(R01),C' ' BNE E742XCF_PTH_LOOP5_EXIT BCTR R01,0 BCT R15,E742XCF_PTH_LOOP5 E742XCF_PTH_LOOP5_EXIT EQU * LTR R15,R15 BZ E742XCF_NEXTCHK3 BCTR R15,0 LA R02,L'PTHNAME LA R01,PTHNAME E742XCF_PTH_LOOP6 EQU * CLI 0(R01),C' ' BE E742XCF_NEXTCHK3 EX R15,EXCLCPSTR BE E742XCF_PTH_FOUND LA R01,1(R01) BCT R02,E742XCF_PTH_LOOP6 B E742XCF_NEXTCHK3 EXCLCPSTR CLC 0(0,R01),R742PSTR * E742XCF_NEXTCHK3 EQU * B E742XCF2_NEXT * E742XCF_PTH_FOUND EQU * * * --- R742PNME --------------------------------------------------- MVC #742PNME,R742PNME R742PNME * * --- R742PDEV --------------------------------------------------- TM R742PDIR,X'80' BO E742XCF_PDEV_SKP1 MVC #742PODV,R742PDEV R742PDEV ( outbound ) B E742XCF_PDEV_SKPX E742XCF_PDEV_SKP1 EQU * MVC #742PDEV,R742PDEV R742PDEV ( inbound ) E742XCF_PDEV_SKPX EQU * * * * --- R742PTCN --------------------------------------------------- CLC R742PTCN,=CL8' ' BE E742XCF_PTCN_SKP1 MVC #742PTCN,R742PTCN R742PTCN B E742XCF_PTCN_SKP2 E742XCF_PTCN_SKP1 EQU * * MVC #742PTCN,=CL8'INBOUND' R742PTCN E742XCF_PTCN_SKP2 EQU * * * --- R742PSTR --------------------------------------------------- CLC R742PSTR,=CL16' ' BE E742XCF_PSTR_SKP1 MVC #742PSTR,R742PSTR R742PSTR B E742XCF_PSTR_SKP2 E742XCF_PSTR_SKP1 EQU * * MVC #742PSTR,=CL16'CTC' R742PSTR E742XCF_PSTR_SKP2 EQU * * * --- R742PSTF --------------------------------------------------- TM R742PSTF,X'80' BO E742XCF_PSTF_SKP1 TM R742PSTF,X'40' BO E742XCF_PSTF_SKP2 TM R742PSTF,X'20' BO E742XCF_PSTF_SKP3 B E742XCF_PSTF_SKP4 E742XCF_PSTF_SKP1 EQU * MVC #742PSTF,=CL8'ACTIVE' B E742XCF_PSTF_SKP4 E742XCF_PSTF_SKP2 EQU * MVC #742PSTF,=CL8'DEACTIVE' B E742XCF_PSTF_SKP4 E742XCF_PSTF_SKP3 EQU * MVC #742PSTF,=CL8'RESET ' B E742XCF_PSTF_SKP4 E742XCF_PSTF_SKP4 EQU * * * --- R742PDIR --------------------------------------------------- TM R742PDIR,X'80' BO E742XCF_PDIR_SKP1 TM R742PDIR,X'40' BO E742XCF_PDIR_SKP2 B E742XCF_PDIR_SKP3 E742XCF_PDIR_SKP1 EQU * MVC #742PDIR,=CL8'INBOUND' B E742XCF_PDIR_SKP3 E742XCF_PDIR_SKP2 EQU * MVC #742PDIR,=CL8'OUTBOUND' B E742XCF_PDIR_SKP3 E742XCF_PDIR_SKP3 EQU * * * --- R742PTYP --------------------------------------------------- CLI R742PTYP,X'01' BE E742XCF_PTYP_SKP1 CLI R742PTYP,X'03' BE E742XCF_PTYP_SKP2 B E742XCF_PTYP_SKP3 E742XCF_PTYP_SKP1 EQU * MVC #742PTYP,=CL3'CTC' B E742XCF_PTYP_SKP3 E742XCF_PTYP_SKP2 EQU * MVC #742PTYP,=CL3'STR' B E742XCF_PTYP_SKP3 E742XCF_PTYP_SKP3 EQU * * * --- R742PONA --------------------------------------------------- TM R742PDIR,X'80' BO E742XCF_PONA_SKP1 MVC #742PONAT,R742PONA R742PONA ( inbound ) MVC #742PONAF,R742PNME R742PNME B E742XCF_PONA_SKPX E742XCF_PONA_SKP1 EQU * MVC #742PONAF,R742PONA R742PONA ( outbound ) MVC #742PONAT,R742PNME R742PNME E742XCF_PONA_SKPX EQU * * * --- R742PODV --------------------------------------------------- TM R742PDIR,X'80' BO E742XCF_PODV_SKP1 MVC #742PDEV,R742PODV R742PODV ( outbound ) B E742XCF_PODV_SKPX E742XCF_PODV_SKP1 EQU * MVC #742PODV,R742PODV R742PODV ( inbound ) E742XCF_PODV_SKPX EQU * * * --- R742PSTA --------------------------------------------------- TM R742PSTA,X'80' BO E742XCF_PSTA_SKP1 TM R742PSTA,X'40' BO E742XCF_PSTA_SKP2 TM R742PSTA,X'20' BO E742XCF_PSTA_SKP3 TM R742PSTA,X'10' BO E742XCF_PSTA_SKP4 TM R742PSTA,X'08' BO E742XCF_PSTA_SKP5 B E742XCF_PSTA_SKP6 E742XCF_PSTA_SKP1 EQU * MVC #742PSTA,=CL8'START' B E742XCF_PSTA_SKP6 E742XCF_PSTA_SKP2 EQU * MVC #742PSTA,=CL8'RESTART' B E742XCF_PSTA_SKP6 E742XCF_PSTA_SKP3 EQU * MVC #742PSTA,=CL8'ACTIVE' B E742XCF_PSTA_SKP6 E742XCF_PSTA_SKP4 EQU * MVC #742PSTA,=CL8'STOP' B E742XCF_PSTA_SKP6 E742XCF_PSTA_SKP5 EQU * MVC #742PSTA,=CL8'WAIT' B E742XCF_PSTA_SKP6 E742XCF_PSTA_SKP6 EQU * * * --- R742PRET --------------------------------------------------- L R01,R742PRET R742PRET CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742PRET,EDWORK+8 * * --- R742PRST --------------------------------------------------- TM R742PDIR,X'40' if not outbound then , BNO E742XCF_PRST_SKP1 L R01,R742PRST R742PRST CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742PRST,EDWORK+8 E742XCF_PRST_SKP1 EQU * * * --- R742PMXM --------------------------------------------------- L R01,R742PMXM R742PMXM CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742PMXM,EDWORK+8 * * --- R742PSIG --------------------------------------------------- L R01,R742PSIG R742PSIG CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742PSIG,EDWORK+8 * * --- R742PQLN --------------------------------------------------- L R01,R742PQLN R742PQLN CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742PQLN,EDWORK+8 * * --- R742PIBR --------------------------------------------------- TM R742PDIR,X'80' if not inbound then , BNO E742XCF_PIBR_SKP1 L R01,R742PIBR R742PIBR CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742PIBR,EDWORK+8 E742XCF_PIBR_SKP1 EQU * * * --- R742PSUS --------------------------------------------------- TM R742PDIR,X'40' if not outbound then , BNO E742XCF_PSUS_SKP1 L R01,R742PSUS R742PSUS CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742PSUS,EDWORK+8 E742XCF_PSUS_SKP1 EQU * * * --- R742PAPP --------------------------------------------------- TM R742PDIR,X'40' if not outbound then , BNO E742XCF_PAPP_SKP1 L R01,R742PAPP R742PAPP CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #742PAPP,EDWORK+8 E742XCF_PAPP_SKP1 EQU * * * ---------------------------------------------------------------- PUT TYPE72P,#72P E742XCF2_NEXT EQU * LH R01,SMF742PL LA R10,0(R10,R01) LH R01,#SMF742PN BCTR R01,0 STH R01,#SMF742PN LTR R01,R01 BNZ E742XCF2 * BCT R12,E742XCF2 E742XCF2_X EQU * B EDIT742_XCF2R DROP R10 * *====================================================================== *--- record type 74 - 4 CF Section ------------------------------------ *====================================================================== * R10 : CF section base. * R11 : CF section loop counter. EDIT744_CF EQU * MVI #74,X'40' OUT AREA SPACE CLEAR MVC #74+1(L'#74-1),#74 * LA R01,PARTCF E744CF_INIT EQU * CLC 0(4,R01),=X'FFFFFFFF' BE E744CF_INITX L R02,0(R01) MVI 0(R02),C',' LA R01,4(R01) B E744CF_INIT E744CF_INITX EQU * * MVC #74CDAT,#H74DAT Monitor start time MVC #74CIST,#H74IST Monitor start time L R01,#H74INT Interval time CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #74CINT,EDWORK+12 * --- Local Coupling Facility Data Section --- L R10,SMF74DCS SMF74DCS LH R11,SMF74DCL SMF74DCL LA R10,RECAREA(R10) USING R744FLCF,R10 * * --- R744FNAM --------------------------------------------------- MVC #744FNAM,R744FNAM R744FNAM CLI CFNAME,C' ' BE E744CF_FNAM_LOOP2_FOUND CLC STRNAME(03),=CL3'ALL' BE E744CF_FNAM_LOOP2_FOUND * LA R01,#744FNAM LA R15,L'R744FNAM LA R01,0(R01,R15) BCTR R01,0 E744CF_FNAM_LOOP1 EQU * CLI 0(R01),C' ' BNE E744CF_FNAM_LOOP1_EXIT BCTR R01,0 BCT R15,E744CF_FNAM_LOOP1 E744CF_FNAM_LOOP1_EXIT EQU * LTR R15,R15 BZ E744CF_NEXT BCTR R15,0 LA R02,L'CFNAME LA R01,CFNAME E744CF_FNAM_LOOP2 EQU * CLI 0(R01),C' ' BE E744CF_NEXT EX R15,EXCLCF BE E744CF_FNAM_LOOP2_FOUND LA R01,1(R01) BCT R02,E744CF_FNAM_LOOP2 B E744CF_NEXT EXCLCF CLC 0(0,R01),R744FNAM E744CF_FNAM_LOOP2_FOUND EQU * * --- R744FSYS --------------------------------------------------- MVC #744FSYS,R744FSYS R744FSYS * --- R744FFLG --------------------------------------------------- TM R744FFLG,X'80' R744FFLG BNO E744FFLG_SKP1 MVC #744FFLG,=CL4'CONN' E744FFLG_SKP1 EQU * TM R744FFLG,X'40' R744FFLG BNO E744FFLG_SKP2 MVC #744FFLG,=CL4'ACT ' E744FFLG_SKP2 EQU * * --- R744FPAM --------------------------------------------------- L R01,R744FPAM R744FPAM CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744FPAM,EDWORK+12 * * --- R744FPBC --------------------------------------------------- MVC WKFP(8),R744FPBC LA R01,WKFP LA R02,#744FPBC BAL R14,DF * * --- R744FSCG --------------------------------------------------- L R01,R744FSCG R744FSCG CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744FSCG,EDWORK+12 * * --- R744FSCU --------------------------------------------------- L R01,R744FSCU R744FSCU CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744FSCU,EDWORK+12 * * --- R744FSCL --------------------------------------------------- L R01,R744FSCL R744FSCL CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744FSCL,EDWORK+12 * * --- R744FSCC --------------------------------------------------- MVC WKFP(8),R744FSCC LA R01,WKFP LA R02,#744FSCC BAL R14,DF * * --- R744FTOR --------------------------------------------------- MVC WKFP(8),R744FTOR LA R01,WKFP LA R02,#744FTOR BAL R14,DF * * --- R744FAIL --------------------------------------------------- MVC WKFP(8),R744FAIL LA R01,WKFP LA R02,#744FAIL BAL R14,DF * * --- R744FTIM --------------------------------------------------- MVC WKFP(8),R744FTIM LA R01,WKFP LA R02,#744FTIM BAL R14,DF * * --- R744FSQU --------------------------------------------------- MVC WKFP(8),R744FSQU LA R01,WKFP LA R02,#744FSQU BAL R14,DF * * --- R744FCTM --------------------------------------------------- MVC WKFP(8),R744FCTM LA R01,WKFP LA R02,#744FCTM BAL R14,DF * * --- R744FCSQ --------------------------------------------------- MVC WKFP(8),R744FCSQ LA R01,WKFP LA R02,#744FCSQ BAL R14,DF * * --- Processer Data Section --- L R10,SMF744PO LH R11,SMF744PN LA R10,RECAREA(R10) USING R744PROC,R10 XC #CF#CPUT,#CF#CPUT XC #CF#USET,#CF#USET * * -- Loop All CPU -- * * #CF#CPUT (long fixed) <- R744PBSY of all CPU * #CF#USET (long fixed) <- R744PBSY + R744PWAI of all CPU * * ??? maximam interval is 71 minitus ? * E744CPU EQU * * Total CPU Used time. L R01,R744PBSY calculate X'....????' N R01,=X'0000FFFF' LH R14,#CF#USET+6 #CF#USET : X'............xxxx' N R14,=X'0000FFFF' AR R01,R14 STH R01,#CF#USET+6 SRL R01,16 L R02,R744PBSY calculate X'????....' SRL R02,16 AR R01,R02 LH R14,#CF#USET+4 #CF#USET : X'........xxxx....' N R14,=X'0000FFFF' AR R01,R14 STH R01,#CF#USET+4 SRL R01,16 L R14,#CF#USET #CF#USET : X'xxxxxxxx........' AR R01,R14 ST R01,#CF#USET * Total CPU time. L R01,R744PBSY L R06,R744PWAI AR R06,R01 Total CPU Time. LR R01,R06 calculate X'....????' N R01,=X'0000FFFF' XR R14,R14 LH R14,#CF#CPUT+6 #CF#CPUT : X'............xxxx' N R14,=X'0000FFFF' AR R01,R14 STH R01,#CF#CPUT+6 SRL R01,16 LR R02,R06 calculate X'????....' SRL R02,16 AR R01,R02 XR R14,R14 LH R14,#CF#CPUT+4 #CF#CPUT : X'........xxxx....' N R14,=X'0000FFFF' AR R01,R14 STH R01,#CF#CPUT+4 SRL R01,16 L R14,#CF#CPUT #CF#CPUT : X'xxxxxxxx........' AR R01,R14 ST R01,#CF#CPUT * * CPU NO *+ LA R01,R744PNUM *+ CALL @HC,((R01),#74CPU,4) * CPU USE *+ LA R01,R744PBSY *+ CALL @HC,((R01),#74USE,4) * CPU UN-USE *+ LA R01,R744PWAI *+ CALL @HC,((R01),#74UNU,4) * -- Caricurate CPU% -- * R744PBSY / x * ----------------------------------------- * 10000 = percentage * 100 * ( R744PWAI + R744PBSY ) / x * *+ L R01,R744PWAI *+ L R06,R744PBSY *+ AR R01,R06 E744CF_USE_LOP1 EQU * *+ CL R01,=X'0000FFFF' *+ BNH E744CF_USE_LOP1X *+ SRL R01,1 denominator / 2 *+ SRL R06,1 numerator / 2 *+ B E744CF_USE_LOP1 E744CF_USE_LOP1X EQU * *+ MH R06,=H'10000' *+ SRDA R06,32 *+ DR R06,R01 * *+ CVD R07,PK_AREA *+ MVC EDW100,EDM100 *+ ED EDW100,PK_AREA 100.00 *+ MVC #74PCT,EDW100+9 * *+ PUT TYPE74,#74 LH R01,SMF744PL LA R10,0(R10,R01) BCT R11,E744CPU * --- Averaged CPU Used percentage of Interval * MVC #74CPU,=CL8'????????' * CPU USE * * I see "Re:Cool Asm Tricks (was MVC)" of ASSEMBLER-L. * posted by Bill Fairchild. * * > how to convert a string of hex byte into printable, * > eyeball-readable EBCDIC * * CALL @HC,(#CF#USET,#74USE2,8) UNPK EBCDIC_A(9),#CF#USET(5) UNPK EBCDIC_A+8(9),#CF#USET+4(5) TR EBCDIC_A(16),=C'0123456789ABCDEF'-X'F0' MVC #74USE2(8),EBCDIC_A MVC #74USE2+9(8),EBCDIC_A+8 * CPU UN-USE * CALL @HC,(#CF#CPUT,#74UNU2,8) UNPK EBCDIC_A(9),#CF#CPUT(5) UNPK EBCDIC_A+8(9),#CF#CPUT+4(5) TR EBCDIC_A(16),=C'0123456789ABCDEF'-X'F0' MVC #74UNU2(8),EBCDIC_A MVC #74UNU2+9(8),EBCDIC_A+8 * * -- Caricurate CPU% -- * R744PBSY / x * ----------------------------------------- * 10000 = percentage * 100 * ( R744PWAI + R744PBSY ) / x * LM R14,R15,#CF#USET LM R06,R07,#CF#CPUT E744CF_USE_LOP2 EQU * LTR R06,R06 BNZ E744CF_USE_LOP21 CL R07,=X'7FFFFFFF' BNH E744CF_USE_LOP2X E744CF_USE_LOP21 EQU * SRDL R06,1 denominator / 2 SRDL R14,1 numerator / 2 B E744CF_USE_LOP2 E744CF_USE_LOP2X EQU * M R14,=F'1000000' LTR R07,R07 BZ E744CF_USE_LOP2Z DR R14,R07 B E744CF_USE_LOP2ZX E744CF_USE_LOP2Z EQU * XR R15,R15 * E744CF_USE_LOP2ZX EQU * CVD R15,PK_AREA MVC EDW101,EDM101 ED EDW101,PK_AREA 100.00 MVC #74PCT,EDW101+7 * PUT TYPE74,#74 E744CF_NEXT EQU * B EDIT744_CFR *--- record type 74 - 4 Structure request section --------------------- * R10 : Structure request section base. * R11 : Cache data section base. * R12 : Structure request section loop counter EDIT744_STR EQU * * --- Request Data section --- L R10,SMF744SO LH R12,SMF744SN LA R10,RECAREA(R10) USING R744SREQ,R10 E744STR EQU * LA R01,L'#74S Length LA R02,#74S Address MVI #74S,X'40' OUT AREA SPACE CLEAR E744STR_CLR EQU * CL R01,=F'256' BNH E744STR_CLRX * MVC 1(256,R02),0(R02) S R01,=F'256' LA R02,256(R02) B E744STR_CLR E744STR_CLRX EQU * BCTR R01,0 BCTR R01,0 EX R01,EXCLR * STC R01,*+5 * MVC 1(0,R02),0(R02) *EXCLR MVC 1(0,R02),0(R02) * LA R01,PART E744STR_INIT EQU * CLC 0(4,R01),=X'FFFFFFFF' BE E744STR_INITX L R02,0(R01) MVI 0(R02),C',' LA R01,4(R01) B E744STR_INIT E744STR_INITX EQU * * MVC #74SDAT,#H74DAT Monitor start time MVC #74SIST,#H74IST Monitor start time L R01,#H74INT Interval time CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #74SINT,EDWORK+12 * --- R744SNAM --------------------------------------------------- MVC #744SNAM,R744SNAM R744SNAM CLI STRNAME,C' ' BE E744STR_SNAM_LOOP2_FOUND CLC STRNAME(03),=CL3'ALL' BE E744STR_SNAM_LOOP2_FOUND * LA R01,#744SNAM LA R15,L'R744SNAM LA R01,0(R01,R15) BCTR R01,0 E744STR_SNAM_LOOP1 EQU * CLI 0(R01),C' ' BNE E744STR_SNAM_LOOP1_EXIT BCTR R01,0 BCT R15,E744STR_SNAM_LOOP1 E744STR_SNAM_LOOP1_EXIT EQU * LTR R15,R15 BZ E744STR_NEXT BCTR R15,0 LA R02,L'STRNAME LA R01,STRNAME E744STR_SNAM_LOOP2 EQU * CLI 0(R01),C' ' BE E744STR_NEXT * STC R15,*+5 * CLC 0(0,R01),R744SNAM EX R15,EXCLCS BE E744STR_SNAM_LOOP2_FOUND LA R01,1(R01) BCT R02,E744STR_SNAM_LOOP2 B E744STR_NEXT EXCLCS CLC 0(0,R01),R744SNAM E744STR_SNAM_LOOP2_FOUND EQU * * --- R744STYP --------------------------------------------------- * LA R01,R744STYP * CALL @HC,((R01),#744STYP,1) UNPK EBCDIC_A(3),R744STYP(2) TR EBCDIC_A(2),=C'0123456789ABCDEF'-X'F0' MVC #744STYP(2),EBCDIC_A * CLI R744STYP,X'01' BE E744STR_STYP_LIST CLI R744STYP,X'02' BE E744STR_STYP_LIST CLI R744STYP,X'03' BE E744STR_STYP_LOCK CLI R744STYP,X'04' BE E744STR_STYP_CACHE E744STR_STYP_LIST EQU * MVC #744STYC,=CL5'LIST' B E744STR_STYP_X E744STR_STYP_LOCK EQU * MVC #744STYC,=CL5'LOCK' B E744STR_STYP_X E744STR_STYP_CACHE EQU * MVC #744STYC,=CL5'CACHE' B E744STR_STYP_X E744STR_STYP_X EQU * * * --- R744SLEL and R744SLEM -------------------------------------- CLI R744STYP,X'01' List Structure BE E744STR_SLE_CALC CLI R744STYP,X'02' List Structure BE E744STR_SLE_CALC CLI R744STYP,X'03' Lock Structure BE E744STR_SLE_CALC * MVC #744SLEM,=CL8' N/A' * MVI #744SLE@,C'/' MVC #744SLEL,=CL8' N/A' B E744STR_SLEX E744STR_SLE_CALC EQU * L R01,R744SLEM R744SLEM CL R01,=F'100000000' BNL E744STR_SLEMOV CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SLEM,EDWORK+8 B E744STR_SLEMX E744STR_SLEMOV EQU * MVC #744SLEM,=CL8'OVER.' E744STR_SLEMX EQU * * MVI #744SLE@,C'/' * L R01,R744SLEL R744SLEL CL R01,=F'100000000' BNL E744STR_SLELOV CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SLEL,EDWORK+8 B E744STR_SLELX E744STR_SLELOV EQU * MVC #744SLEL,=CL8'OVER.' E744STR_SLELX EQU * L R01,R744SLEL R744SLEL LTR R01,R01 if 0 ? BZ E744STR_SLEX XR R06,R06 L R07,R744SLEM R07 <- R744SLEM*1000/R744SLEL M R06,=F'1000' DR R06,R01 LR R15,R07 R15 <- Use% * 10 XR R06,R06 D R06,=F'10' R07 <- Use% /10 *10 MH R07,=H'10' SR R15,R07 CL R15,=F'5' If last figure < 5 BL E744STR_SLEP_1 XR R06,R06 D R06,=F'10' LA R07,1(R07) B E744STR_SLEP_2 E744STR_SLEP_1 EQU * XR R06,R06 D R06,=F'10' E744STR_SLEP_2 EQU * CVD R07,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SLEP,EDWORK+13 MVI #744SLEZ,C'%' E744STR_SLEX EQU * * * --- R744SLTL and R744SLTM -------------------------------------- CLI R744STYP,X'03' Lock Structure BE E744STR_SLT_CALC CLI R744STYP,X'02' List Structure BE E744STR_SLT_CALC * MVC #744SLTM,=CL8' N/A' * MVI #744SLT@,C'/' MVC #744SLTL,=CL8' N/A' B E744STR_SLTX E744STR_SLT_CALC EQU * L R01,R744SLTM R744SLTM CL R01,=F'100000000' BNL E744STR_SLTMOV CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SLTM,EDWORK+8 B E744STR_SLTMX E744STR_SLTMOV EQU * MVC #744SLTM,=CL8'OVER.' E744STR_SLTMX EQU * * MVI #744SLT@,C'/' * L R01,R744SLTL R744SLTL CL R01,=F'100000000' BNL E744STR_SLTLOV CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SLTL,EDWORK+8 B E744STR_SLTLX E744STR_SLTLOV EQU * MVC #744SLTL,=CL8'OVER.' E744STR_SLTLX EQU * * L R01,R744SLTL R744SLTL LTR R01,R01 if 0 ? BZ E744STR_SLTX XR R06,R06 L R07,R744SLTM R07 <- R744SLTM*1000/R744SLTL M R06,=F'1000' DR R06,R01 LR R15,R07 R15 <- Use% * 10 XR R06,R06 D R06,=F'10' R07 <- Use% /10 *10 MH R07,=H'10' SR R15,R07 CL R15,=F'5' If last figure < 5 BL E744STR_SLTP_1 XR R06,R06 D R06,=F'10' LA R07,1(R07) B E744STR_SLTP_2 E744STR_SLTP_1 EQU * XR R06,R06 D R06,=F'10' E744STR_SLTP_2 EQU * CVD R07,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SLTP,EDWORK+13 MVI #744SLTZ,C'%' E744STR_SLTX EQU * * --- R744SSTA --------------------------------------------------- * Long Float : iinnnnnn nnnnnnnn * ~~ : index ( 1byte, 8bit ) * ~~~~~~ ~~~~~~~~ : decimal ( 7byte, 56bit ) * * decimal point : 56bit - ((index - 64) * 4) * MVC WKFP(8),R744SSTA LA R01,WKFP LA R02,#744SSTA BAL R14,DF * * --- R744STRC --------------------------------------------------- MVC WKFP,R744STRC LA R01,WKFP LA R02,#744STRC BAL R14,DF * * --- R744STAC --------------------------------------------------- MVC WKFP(8),R744STAC LA R01,WKFP LA R02,#744STAC BAL R14,DF * * --- R744SARC --------------------------------------------------- MVC WKFP(8),R744SARC LA R01,WKFP LA R02,#744SARC BAL R14,DF * * --- R744SATM --------------------------------------------------- L R01,R744SATM CVD R01,PK_AREA MVC PK_AREA2(16),=PL16'4294967296' MP PK_AREA2(16),PK_AREA(8) L R01,R744SATM+4 CVD R01,PK_AREA AP PK_AREA2(16),PK_AREA(8) MVC EDWORK2,EDMASK32 ED EDWORK2(32),PK_AREA2 MVC #744SATM(20),EDWORK2+12 * L R01,#H74SARC LTR R01,R01 BZ E744STR_SATM1 CVD R01,PK_AREA DP PK_AREA2(16),PK_AREA(8) MVC EDWORK,EDMASK ED EDWORK(16),PK_AREA2 MVC #744SATMA(10),EDWORK+6 B E744STR_SATMX E744STR_SATM1 EQU * MVC #744SATMA(10),=CL10' 0' E744STR_SATMX EQU * * * --- R744SASQ --------------------------------------------------- L R01,R744SASQ CVD R01,PK_AREA MVC PK_AREA2(16),=PL16'4294967296' MP PK_AREA2(16),PK_AREA(8) L R01,R744SASQ+4 CVD R01,PK_AREA AP PK_AREA2(16),PK_AREA(8) MVC EDWORK2,EDMASK32 ED EDWORK2(32),PK_AREA2 MVC #744SASQ(20),EDWORK2+12 * * --- R744SSRC --------------------------------------------------- MVC WKFP(8),R744SSRC LA R01,WKFP LA R02,#744SSRC BAL R14,DF * * --- R744SSTM --------------------------------------------------- L R01,R744SSTM CVD R01,PK_AREA MVC PK_AREA2(16),=PL16'4294967296' MP PK_AREA2(16),PK_AREA(8) L R01,R744SSTM+4 CVD R01,PK_AREA AP PK_AREA2(16),PK_AREA(8) MVC EDWORK2,EDMASK32 ED EDWORK2(32),PK_AREA2 MVC #744SSTM(20),EDWORK2+12 * L R01,#H74SSRC LTR R01,R01 BZ E744STR_SSTM1 CVD R01,PK_AREA DP PK_AREA2(16),PK_AREA(8) MVC EDWORK,EDMASK ED EDWORK(16),PK_AREA2 MVC #744SSTMA(10),EDWORK+6 B E744STR_SSTMX E744STR_SSTM1 EQU * MVC #744SSTMA(10),=CL10' 0' E744STR_SSTMX EQU * * * --- R744SSSQ --------------------------------------------------- L R01,R744SSSQ CVD R01,PK_AREA MVC PK_AREA2(16),=PL16'4294967296' MP PK_AREA2(16),PK_AREA(8) L R01,R744SSSQ+4 CVD R01,PK_AREA AP PK_AREA2(16),PK_AREA(8) MVC EDWORK2,EDMASK32 ED EDWORK2(32),PK_AREA2 MVC #744SSSQ(20),EDWORK2+12 * * --- R744SQRC --------------------------------------------------- MVC WKFP(8),R744SQRC LA R01,WKFP LA R02,#744SQRC BAL R14,DF * * --- R744SQTM --------------------------------------------------- L R01,R744SQTM CVD R01,PK_AREA MVC PK_AREA2(16),=PL16'4294967296' MP PK_AREA2(16),PK_AREA(8) L R01,R744SQTM+4 CVD R01,PK_AREA AP PK_AREA2(16),PK_AREA(8) MVC EDWORK2,EDMASK32 ED EDWORK2(32),PK_AREA2 MVC #744SQTM(20),EDWORK2+12 * L R01,#H74SQRC LTR R01,R01 BZ E744STR_SQTM1 CVD R01,PK_AREA DP PK_AREA2(16),PK_AREA(8) MVC EDWORK,EDMASK ED EDWORK(16),PK_AREA2 MVC #744SQTMA(10),EDWORK+6 B E744STR_SQTMX E744STR_SQTM1 EQU * MVC #744SQTMA(10),=CL10' 0' E744STR_SQTMX EQU * * * --- R744SQSQ --------------------------------------------------- L R01,R744SQSQ CVD R01,PK_AREA MVC PK_AREA2(16),=PL16'4294967296' MP PK_AREA2(16),PK_AREA(8) L R01,R744SQSQ+4 CVD R01,PK_AREA AP PK_AREA2(16),PK_AREA(8) MVC EDWORK2,EDMASK32 ED EDWORK2(32),PK_AREA2 MVC #744SQSQ(20),EDWORK2+12 * * --- R744SDRC --------------------------------------------------- MVC WKFP(8),R744SDRC LA R01,WKFP LA R02,#744SDRC BAL R14,DF * * --- R744SDTM --------------------------------------------------- L R01,R744SDTM CVD R01,PK_AREA MVC PK_AREA2(16),=PL16'4294967296' MP PK_AREA2(16),PK_AREA(8) L R01,R744SDTM+4 CVD R01,PK_AREA AP PK_AREA2(16),PK_AREA(8) MVC EDWORK2,EDMASK32 ED EDWORK2(32),PK_AREA2 MVC #744SDTM(20),EDWORK2+12 * * --- R744SDSQ --------------------------------------------------- L R01,R744SDSQ CVD R01,PK_AREA MVC PK_AREA2(16),=PL16'4294967296' MP PK_AREA2(16),PK_AREA(8) L R01,R744SDSQ+4 CVD R01,PK_AREA AP PK_AREA2(16),PK_AREA(8) MVC EDWORK2,EDMASK32 ED EDWORK2(32),PK_AREA2 MVC #744SDSQ(20),EDWORK2+12 * * --- R744SDMP --------------------------------------------------- MVC WKFP(8),R744SDMP LA R01,WKFP LA R02,#744SDMP BAL R14,DF * * --- R744SHTO --------------------------------------------------- MVC WKFP(8),R744SHTO LA R01,WKFP LA R02,#744SHTO BAL R14,DF * * --- R744SHMN --------------------------------------------------- L R01,R744SHMN CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SHMN,EDWORK+8 * * --- R744SHMX --------------------------------------------------- L R01,R744SHMX CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SHMX,EDWORK+8 * * --- R744SLTO --------------------------------------------------- MVC WKFP(8),R744SLTO LA R01,WKFP LA R02,#744SLTO BAL R14,DF * * --- R744SLMN --------------------------------------------------- L R01,R744SLMN CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SLMN,EDWORK+8 * * --- R744SLMX --------------------------------------------------- L R01,R744SLMX CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SLMX,EDWORK+8 * * --- R744SDTO --------------------------------------------------- MVC WKFP(8),R744SDTO LA R01,WKFP LA R02,#744SDTO BAL R14,DF * * --- R744SDMN --------------------------------------------------- L R01,R744SDMN CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SDMN,EDWORK+8 * * --- R744SDMX --------------------------------------------------- L R01,R744SDMX CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SDMX,EDWORK+8 * * --- R744SCN ---------------------------------------------------- MVC WKFP(8),R744SCN LA R01,WKFP LA R02,#744SCN BAL R14,DF * * --- R744SFCN --------------------------------------------------- MVC WKFP(8),R744SFCN LA R01,WKFP LA R02,#744SFCN BAL R14,DF * * --- R744SSIZ --------------------------------------------------- L R01,R744SSIZ CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SSIZ,EDWORK+8 * * --- R744SMAS --------------------------------------------------- L R01,R744SMAS CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SMAS,EDWORK+8 * * --- R744SMIS --------------------------------------------------- L R01,R744SMIS CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SMIS,EDWORK+8 * * --- R744SDEC --------------------------------------------------- L R01,R744SDEC CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SDEC,EDWORK+8 * * --- R744SDEL --------------------------------------------------- L R01,R744SDEL CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SDEL,EDWORK+8 * * --- R744SNLH --------------------------------------------------- L R01,R744SNLH CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SNLH,EDWORK+8 * * --- R744SMAE and R744SCUE -------------------------------------- CLI R744STYP,X'01' List Structure BE E744STR_SCUE_CALC CLI R744STYP,X'02' List Structure BE E744STR_SCUE_CALC * MVC #744SMAE,=CL8' N/A' MVC #744SCUE,=CL8' N/A' B E744STR_SCUX E744STR_SCUE_CALC EQU * L R01,R744SCUE R744SLEM CL R01,=F'100000000' BNL E744STR_SCUEOV CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SCUE,EDWORK+8 B E744STR_SCUEX E744STR_SCUEOV EQU * MVC #744SCUE,=CL8'OVER.' E744STR_SCUEX EQU * * L R01,R744SMAE R744SLEL CL R01,=F'100000000' BNL E744STR_SMAEOV CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SMAE,EDWORK+8 B E744STR_SMAEX E744STR_SMAEOV EQU * MVC #744SMAE,=CL8'OVER.' E744STR_SMAEX EQU * L R01,R744SMAE R744SCUE LTR R01,R01 if 0 ? BZ E744STR_SCUEX XR R06,R06 L R07,R744SCUE R07 <- R744SCUE*1000/R744SMAE M R06,=F'1000' DR R06,R01 LR R15,R07 R15 <- Use% * 10 XR R06,R06 D R06,=F'10' R07 <- Use% /10 *10 MH R07,=H'10' SR R15,R07 CL R15,=F'5' If last figure < 5 BL E744STR_SCUEP_1 XR R06,R06 D R06,=F'10' LA R07,1(R07) B E744STR_SCUEP_2 E744STR_SCUEP_1 EQU * XR R06,R06 D R06,=F'10' E744STR_SCUEP_2 EQU * CVD R07,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744SCUP,EDWORK+13 MVI #744SCUZ,C'%' E744STR_SCUX EQU * * * --------------------------------------------------------------------- *--- record type 74 - 4 cache data section ---------------------------- * --------------------------------------------------------------------- CLI R744STYP,X'04' Cache Structure BE E744STR_CACHE * B E744STR_CACHEX E744STR_CACHE EQU * * --- R744CDSI and R744CDNE -------------------------------------- LH R01,R744CDSI cache data section index BCTR R01,0 MH R01,SMF744CL cache data section length L R02,SMF744CO cache data section offset LA R01,0(R01,R02) LA R11,RECAREA(R01) USING R744CACH,R11 * * --- R744CRHC --------------------------------------------------- MVC WKFP(8),R744CRHC LA R01,WKFP LA R02,#744CRHC BAL R14,DF * * --- R744CRMD --------------------------------------------------- MVC WKFP(8),R744CRMD LA R01,WKFP LA R02,#744CRMD BAL R14,DF * * --- R744CRMA --------------------------------------------------- MVC WKFP(8),R744CRMA LA R01,WKFP LA R02,#744CRMA BAL R14,DF * * --- R744CRMN --------------------------------------------------- MVC WKFP(8),R744CRMN LA R01,WKFP LA R02,#744CRMN BAL R14,DF * * --- R744CRMT --------------------------------------------------- MVC WKFP(8),R744CRMT LA R01,WKFP LA R02,#744CRMT BAL R14,DF * * --- R744CWH0 --------------------------------------------------- MVC WKFP(8),R744CWH0 LA R01,WKFP LA R02,#744CWH0 BAL R14,DF * * --- R744CWH1 --------------------------------------------------- MVC WKFP(8),R744CWH1 LA R01,WKFP LA R02,#744CWH1 BAL R14,DF * * --- R744CWH? ( R744CWH0 + R744CWH1 ) --------------------------- LD FR06,R744CWH0 AD FR06,R744CWH1 STD FR06,WKFP LA R01,WKFP LA R02,#744CWHX BAL R14,DF * * --- R744CWMN --------------------------------------------------- MVC WKFP(8),R744CWMN LA R01,WKFP LA R02,#744CWMN BAL R14,DF * * --- R744CWMI --------------------------------------------------- MVC WKFP(8),R744CWMI LA R01,WKFP LA R02,#744CWMI BAL R14,DF * * --- R744CWMT --------------------------------------------------- MVC WKFP(8),R744CWMT LA R01,WKFP LA R02,#744CWMT BAL R14,DF * * --- R744CDER --------------------------------------------------- MVC WKFP(8),R744CDER LA R01,WKFP LA R02,#744CDER BAL R14,DF * * --- R744CDTR --------------------------------------------------- MVC WKFP(8),R744CDTR LA R01,WKFP LA R02,#744CDTR BAL R14,DF * * --- R744CXDR --------------------------------------------------- MVC WKFP(8),R744CXDR LA R01,WKFP LA R02,#744CXDR BAL R14,DF * * --- R744CXFW --------------------------------------------------- MVC WKFP(8),R744CXFW LA R01,WKFP LA R02,#744CXFW BAL R14,DF * * --- R744CXNI --------------------------------------------------- MVC WKFP(8),R744CXNI LA R01,WKFP LA R02,#744CXNI BAL R14,DF * * --- R744CXCI --------------------------------------------------- MVC WKFP(8),R744CXCI LA R01,WKFP LA R02,#744CXCI BAL R14,DF * * --- XI'S ------------------------------------------------------- LD FR06,R744CXDR AD FR06,R744CXFW AD FR06,R744CXNI AD FR06,R744CXCI STD FR06,WKFP LA R01,WKFP LA R02,#744XIS BAL R14,DF * * --- R744CCOC --------------------------------------------------- MVC WKFP(8),R744CCOC LA R01,WKFP LA R02,#744CCOC BAL R14,DF * * --- R744CRSM --------------------------------------------------- MVC WKFP(8),R744CRSM LA R01,WKFP LA R02,#744CRSM BAL R14,DF * * --- R744CTSF --------------------------------------------------- MVC WKFP(8),R744CTSF LA R01,WKFP LA R02,#744CTSF BAL R14,DF * * --- R744CDEC --------------------------------------------------- L R01,R744CDEC CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744CDEC,EDWORK+8 * * --- R744CDAC --------------------------------------------------- L R01,R744CDAC CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744CDAC,EDWORK+8 * * --- R744CTCC --------------------------------------------------- L R01,R744CTCC CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744CTCC,EDWORK+8 * * --- R744CDTA --------------------------------------------------- L R01,R744CDTA CVD R01,PK_AREA MVC EDWORK,EDMASK ED EDWORK,PK_AREA MVC #744CDTA,EDWORK+8 * * --- R744CRLC --------------------------------------------------- MVC WKFP(8),R744CRLC LA R01,WKFP LA R02,#744CRLC BAL R14,DF * * --- R744CPRL --------------------------------------------------- MVC WKFP(8),R744CPRL LA R01,WKFP LA R02,#744CPRL BAL R14,DF * * --- R744CXRL --------------------------------------------------- MVC WKFP(8),R744CXRL LA R01,WKFP LA R02,#744CXRL BAL R14,DF * * --- R744CWUC --------------------------------------------------- MVC WKFP(8),R744CWUC LA R01,WKFP LA R02,#744CWUC BAL R14,DF E744STR_CACHEX EQU * * PUT TYPE74S,#74S E744STR_NEXT EQU * LH R01,SMF744SL LA R10,0(R10,R01) BCT R12,E744STR B EDIT744_STRR DROP R10 * --- decimal to fixed ------------------------------------- DF EQU * * R01 <- from * R02 <- to XR R00,R00 clear IC R00,0(R01) load index LTR R00,R00 if all zero BZ DF_NOFD not floating decimal CH R00,=H'64' less 1 BL DF_LOW SH R00,=H'64' SLL R00,2 LA R15,56 SR R15,R00 LM R00,R01,0(R01) N R00,=X'00FFFFFF' * unnnn... how should I do coding. DF_LOP1 EQU * SRDA R00,1 BCT R15,DF_LOP1 * EX R15,EXSHIFT * STC R02,*+7 * SRDA R00,0 CVD R01,DF_PKA MVC DF_EDW,DF_EDM ED DF_EDW,DF_PKA MVC 0(8,R02),DF_EDW+8 BR R14 DF_NOFD EQU * MVC 0(8,R02),=CL8' 0' BR R14 DF_LOW EQU * MVC MSG#0000(09),=CL09'DF ERROR:' * CALL @HC,((R01),MSG#0000+9,8) UNPK EBCDIC_A(9),0(5,R01) UNPK EBCDIC_A+8(9),4(5,R01) TR EBCDIC_A(16),=C'0123456789ABCDEF'-X'F0' MVC MSG#0000+9(8),EBCDIC_A MVC MSG#0000+18(8),EBCDIC_A+8 * WTO TEXT=MSG#A000,MF=(E,WTOINFO) ABEND 1,DUMP EXSHIFT SRDA R00,0 DS 0D DF_PKA DS PL16 * 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 DF_EDM DC XL16'40202020202020202020202020202120' DF_EDW DS XL16 WKFP DS XL8 * *** END OF PROCESS *********************************************** @BYE EQU * CLOSE (INDCB,,TYPE74) L R13,SAVEAREA+4 RETURN (14,12),RC=0 *** DCB ********************************************************** INDCB DCB DSORG=PS,MACRF=(GM),DDNAME=INDD, * EODAD=@BYE TYPE74 DCB DSORG=PS,MACRF=(PM),DDNAME=TYPE74 TYPE74S DCB DSORG=PS,MACRF=(PM),DDNAME=TYPE74S TYPE72X DCB DSORG=PS,MACRF=(PM),DDNAME=TYPE72X TYPE72P DCB DSORG=PS,MACRF=(PM),DDNAME=TYPE72P *** DEFINE STORAGE *********************************************** DS 0F SAVEAREA DS 18F Savearea * --- month translation table --- * 1 2 3 4 5 6 * 7 8 9 10 11 12 MONTH1 DC FL1'31',FL1'28',FL1'31',FL1'30',FL1'31',FL1'30' DC FL1'31',FL1'31',FL1'30',FL1'31',FL1'30',FL1'31' MONTH2 DC FL1'31',FL1'29',FL1'31',FL1'30',FL1'31',FL1'30' DC FL1'31',FL1'31',FL1'30',FL1'31',FL1'30',FL1'31' MONTH DC FL1'00',FL1'00',FL1'00',FL1'00',FL1'00',FL1'00' DC FL1'00',FL1'00',FL1'00',FL1'00',FL1'00',FL1'00' DS 0D UPK_AREA DS XL16 un-pack area DS XL16 un-pack area EBCDIC_A DS CL32 ebcdic area PK_AREA DS PL16 pack work area PK_AREA2 DS PL16 * 1 * 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 EDMASK DC XL16'40202020202020202020202020202120' EDMASK32 DS 0XL32 DC XL16'40202020202020202020202020202020' DC XL16'20202020202020202020202020202120' EDMASK2 DC XL16'40202020202020202020202020202020' EDM100 DC XL17'40202020202020202020202021204B2020' EDW100 DS XL17 EDM101 DC XL17'4020202020202020202021204B20202020' EDW101 DS XL17 EDWORK DS XL16 EDWORK2 DS XL32 * WK#D1 DS 0D WK#DF1 DS F WK#DF2 DS F WK#F1 DS F WK#F2 DS F WK#H1 DS H * --- MVC --- PARMMVC MVC PARMWA(0),2(R01) EXCLR MVC 1(0,R02),0(R02) * --- parameter --- PARMWA DS CL100 STRNAME DS CL100 CFNAME DS CL100 RTNAME DS CL100 PTHNAME DS CL100 * * --- R744 work area --- #H74DAT DS XL10 RMF Section Start Date #H74IST DS CL08'HH.MM.SS' RMF Section Start Time #H74INT DS F RMF Section Interval Sec #H74SARC DS F R744SARC #H74SSRC DS F R744SSRC #H74SQRC DS F R744SQRC #WK#XI DS F R744SQRC #WK#WRIT DS F R744SQRC #CF#CPUT DS D Total CPU time #CF#USET DS D Total CPU used time DS 0F * --- WTO messages --- WTOINFO WTO TEXT=, WTO parameter list X DESC=(6), descriptor code 6 is Job Status X MF=L MSG#A000 DC AL2(L'MSG#0000) MSG#0000 DC CL80'R74EDIT PARM:' * *--- Title - CF ------------------------------------------------------ #74TTL DS 0CL256 DC CL10'DATE' Start Date yyyy.mm.dd DC CL1',' DC CL8'TIME' Start Time DC CL1',' DC CL4'INTV' Interval DC CL1',' DC CL8'CF-NAME' CF Name DC CL1',' DC CL8'SYSTEM' System Name DC CL1',' DC CL4'FLAG' Status Flag DC CL1',' DC CL10'CPU%' CPU Used% DC CL1',' DC CL17'CPU USED TIME(HEX)' CPU Used Time DC CL1',' DC CL17'TOTAL TIME(HEX)' CPU Un-Used Time DC CL1',' DC CL4'LINK' CF Link# DC CL1',' DC CL8'FAIL' Fail# DC CL1',' DC CL4'SUBC' Deinfe sub-channel DC CL1',' DC CL4'USED' Used sub-channel DC CL1',' DC CL4'USFL' useful sub-channel DC CL1',' DC CL8'CONTAINT' containtion DC CL1',' DC CL8'REQUEST' total request DC CL1',' DC CL8'FAIL REQ' fail count DC CL1',' DC CL8'FAIL TME' fail service time DC CL1',' DC CL8'FAIL T*2' DC CL1',' DC CL8'R744FCTM' DC CL1',' DC CL8'R744FCSQ' DC CL256' ' *--- CF output area -------------------------------------------------- #74 DS 0CL256 #74CDAT DS 0CL10 Start Date yyyy.mm.dd #74CDATY DS CL4 Start Date yyyy #74CDAT1 DS CL1 Start Date #74CDATM DS CL2 Start Date mm #74CDAT2 DS CL1 Start Date #74CDATD DS CL2 Start Date dd #101 DS CL1 #74CIST DS CL8 Start Time #102 DS CL1 #74CINT DS CL4 Interval #103 DS CL1 #744FNAM DS CL8 CF Name #107 DS CL1 #744FSYS DS CL8 System Name #108 DS CL1 #744FFLG DS CL4 Status Flag #109 DS CL1 #74PCT DS CL10 CPU Used% #104 DS CL1 #74USE2 DS CL17 CPU Used Time #105 DS CL1 #74UNU2 DS CL17 CPU Un-Used Time #106 DS CL1 *74UNU3 DS CL17 CPU Un-Used Time *106A DS CL1 #744FPAM DS CL4 CF Link# #110 DS CL1 #744FPBC DS CL8 Fail# #111 DS CL1 #744FSCG DS CL4 Deinfe sub-channel #112 DS CL1 #744FSCU DS CL4 Used sub-channel #113 DS CL1 #744FSCL DS CL4 useful sub-channel #114 DS CL1 #744FSCC DS CL8 containtion #115 DS CL1 #744FTOR DS CL8 total request #116 DS CL1 #744FAIL DS CL8 fail count #117 DS CL1 #744FTIM DS CL8 fail service time #118 DS CL1 #744FSQU DS CL8 useful sub-channel #119 DS CL1 #744FCTM DS CL8 useful sub-channel #120 DS CL1 #744FCSQ DS CL8 useful sub-channel DS CL1 DS CL156 *--- Title - Structure ----------------------------------------------- #74STTL DS 0CL1024 DC CL10'DATE' Start Date yyyy.mm.dd DC CL1',' DC CL8'TIME' Start Time DC CL1',' DC CL4'INTV' Interval DC CL1',' DC CL16'R744SNAM' Structure Name DC CL1',' DC CL8'STYP,' Type DC CL1',' DC CL8'R744SLEM' R744SLEM DC CL1',' DC CL8'R744SLEL' R744SLEL DC CL1',' DC CL3' ' R744SLEM / R744SLEL * 100 DC CL1'%' DC CL1',' DC CL8'R744SLTM' R744SLTM DC CL1',' DC CL8'R744SLTL' R744SLTL DC CL1',' DC CL3' ' R744SLTM / R755SLEL * 100 DC CL1'%' DC CL1',' DC CL8'R744SSTA' R744SSTA DC CL1',' DC CL8'R744STRC' R744STRC DC CL1',' DC CL8'R744STAC' R744STAC DC CL1',' DC CL8'R744SARC' R744SARC DC CL1',' DC CL20'R744SATM' R744SATM DC CL1',' DC CL10'SATM/SARC' R744SATM DC CL1',' DC CL20'R744SASQ' R744SASQ DC CL1',' DC CL8'R744SSRC' R744SSRC DC CL1',' DC CL20'R744SSTM' R744SSTM DC CL1',' DC CL10'SSTM/SSRC' R744SSTM DC CL1',' DC CL20'R744SSSQ' R744SSSQ DC CL1',' DC CL8'R744SQRC' R744SQRC DC CL1',' DC CL20'R744SQTM' R744SQTM DC CL1',' DC CL10'SQTM/SQRC' R744SQTM DC CL1',' DC CL20'R744SQSQ' R744SQSQ DC CL1',' DC CL8'R744SDRC' R744SDRC DC CL1',' DC CL20'R744SDTM' R744SDTM DC CL1',' DC CL20'R744SDSQ' R744SDSQ DC CL1',' DC CL8'R744SDMP' R744SDMP DC CL1',' DC CL8'R744SHTO' R744SHTO DC CL1',' DC CL8'R744SHMN' R744SHMN DC CL1',' DC CL8'R744SHMX' R744SHMX DC CL1',' DC CL8'R744SLTO' R744SLTO DC CL1',' DC CL8'R744SLMN' R744SLMN DC CL1',' DC CL8'R744SLMX' R744SLMX DC CL1',' DC CL8'R744SDTO' R744SDTO DC CL1',' DC CL8'R744SDMN' R744SDMN DC CL1',' DC CL8'R744SDMX' R744SDMX DC CL1',' DC CL8'R744SCN' R744SCN DC CL1',' DC CL8'R744SFCN' R744SFCN DC CL1',' DC CL8'R744SSIZ' R744SSIZ DC CL1',' DC CL8'R744SMAS' R744SMAS DC CL1',' DC CL8'R744SMIS' R744SMIS DC CL1',' DC CL8'R744SDEC' R744SDEC DC CL1',' DC CL8'R744SDEL' R744SDEL DC CL1',' DC CL8'R744SNLH' R744SNLH DC CL1',' DC CL8'R744SMAE' R744SMAE DC CL1',' DC CL8'R744SCUE' R744SCUE DC CL1',' DC CL4' %' DC CL1',' DC CL8'R744CRHC' R744CRHC DC CL1',' DC CL8'R744CRMD' R744CRMD DC CL1',' DC CL8'R744CRMA' R744CRMA DC CL1',' DC CL8'R744CRMN' R744CRMN DC CL1',' DC CL8'R744CRMT' R744CRMT DC CL1',' DC CL8'R744CWH0' R744CWH0 DC CL1',' DC CL8'R744CWH1' R744CWH1 DC CL1',' DC CL8'R744CWH?' R744CWH0 + R744CWH1 DC CL1',' DC CL8'R744CWMN' R744CWMN DC CL1',' DC CL8'R744CWMI' R744CWMI DC CL1',' DC CL8'R744CWMT' R744CWMT DC CL1',' DC CL8'R744CDER' R744CDER DC CL1',' DC CL8'R744CDTR' R744CDTR DC CL1',' DC CL8'R744CXDR' R744CXDR DC CL1',' DC CL8'R744CXFW' R744CXFW DC CL1',' DC CL8'R744CXNI' R744CXNI DC CL1',' DC CL8'R744CXCI' R744CXCI DC CL1',' DC CL8'XI''S' CXDR + XCFW + XCNI + XCCI DC CL1',' DC CL8'R744CCOC' R744CCOC DC CL1',' DC CL8'R744CRSM' R744CRSM DC CL1',' DC CL8'R744CTSF' R744CTSF DC CL1',' DC CL8'R744CDEC' R744CDEC DC CL1',' DC CL8'R744CDAC' R744CDAC DC CL1',' DC CL8'R744CTCC' R744CTCC DC CL1',' DC CL8'R744CDTA' R744CDTA DC CL1',' DC CL8'R744CRLC' R744CRLC DC CL1',' DC CL8'R744CPRL' R744CPRL DC CL1',' DC CL8'R744CXRL' R744CXRL DC CL1',' DC CL8'R744CWUC' R744CWUC DC 256CL1' ' *--- Structure output area ------------------------------------------- #74S DS 0CL1024 #74SDAT DS 0CL10 Start Date yyyy.mm.dd #74SDATY DS CL4 Start Date yyyy #74SDAT1 DS CL1 Start Date #74SDATM DS CL2 Start Date mm #74SDAT2 DS CL1 Start Date #74SDATD DS CL2 Start Date dd #002A DS CL1 #74SIST DS CL8 Start Time #002 DS CL1 #74SINT DS CL4 Interval #003 DS CL1 #744SNAM DS CL16 Structure Name #004 DS CL1 #744STYP DS CL2 Type #005 DS CL1 #744STYC DS CL5 Type #006 DS CL1 *744LTOT DS CL8 lst/dir entries tot *006A DS CL1 (LIST:SLEL,LOCK:SLEL,CACHE:SDEC) *744LCUR DS CL8 lst/dir entries cur *006B DS CL1 (LIST:SLEM,LOCK:SLEM,CACHE:CDEC) *744DTOT DS CL8 data element tot *006C DS CL1 (LIST:SMAE,LOCK:????,CACHE:SDEL) *744DCUR DS CL8 data element cur *006D DS CL1 (LIST:SCUE,LOCK:????,CACHE:CDAC) *744OTOT DS CL8 lock entries tot *006E DS CL1 (LIST:N/A ,LOCK:SLTL,CACHE:N/A ) *744OCUR DS CL8 lock entries cur *006F DS CL1 (LIST:N/A ,LOCK:SLTM,CACHE:N/A ) #744SLEM DS CL8 R744SLEM #744SLE@ DS CL1'/' #744SLEL DS CL8 R744SLEL #007 DS CL1 #744SLEP DS CL3 R744SLEM / R744SLEL * 100 #744SLEZ DS CL1'%' #008 DS CL1 #744SLTM DS CL8 R744SLTM #744SLT@ DS CL1'/' #744SLTL DS CL8 R744SLTL #009 DS CL1 #744SLTP DS CL3 R744SLTM / R755SLEL * 100 #744SLTZ DS CL1'%' #010 DS CL1 #744SSTA DS CL8 R744SSTA #011 DS CL1 #744STRC DS CL8 R744STRC #012 DS CL1 #744STAC DS CL8 R744STAC #013 DS CL1 #744SARC DS CL8 R744SARC #014 DS CL1 #744SATM DS CL20 R744SATM #015 DS CL1 #744SATMA DS CL10 R744SATM #015A DS CL1 #744SASQ DS CL20 R744SASQ #016 DS CL1 #744SSRC DS CL8 R744SSRC #017 DS CL1 #744SSTM DS CL20 R744SSTM #018 DS CL1 #744SSTMA DS CL10 R744SSTM #018A DS CL1 #744SSSQ DS CL20 R744SSSQ #019 DS CL1 #744SQRC DS CL8 R744SQRC #020 DS CL1 #744SQTM DS CL20 R744SQTM #021 DS CL1 #744SQTMA DS CL10 R744SQTM #021A DS CL1 #744SQSQ DS CL20 R744SQSQ #022 DS CL1 #744SDRC DS CL8 R744SDRC #023 DS CL1 #744SDTM DS CL20 R744SDTM #024 DS CL1 #744SDSQ DS CL20 R744SDSQ #025 DS CL1 #744SDMP DS CL8 R744SDMP #026 DS CL1 #744SHTO DS CL8 R744SHTO #027 DS CL1 #744SHMN DS CL8 R744SHMN #028 DS CL1 #744SHMX DS CL8 R744SHMX #029 DS CL1 #744SLTO DS CL8 R744SLTO #030 DS CL1 #744SLMN DS CL8 R744SLMN #031 DS CL1 #744SLMX DS CL8 R744SLMX #032 DS CL1 #744SDTO DS CL8 R744SDTO #033 DS CL1 #744SDMN DS CL8 R744SDMN #034 DS CL1 #744SDMX DS CL8 R744SDMX #035 DS CL1 #744SCN DS CL8 R744SCN #036 DS CL1 #744SFCN DS CL8 R744SFCN #037 DS CL1 #744SSIZ DS CL8 R744SSIZ #038 DS CL1 #744SMAS DS CL8 R744SMAS #039 DS CL1 #744SMIS DS CL8 R744SMIS #040 DS CL1 #744SDEC DS CL8 R744SDEC #041 DS CL1 #744SDEL DS CL8 R744SDEL #042 DS CL1 #744SNLH DS CL8 R744SNLH #043 DS CL1 #744SMAE DS CL8 R744SMAE #044 DS CL1 #744SCUE DS CL8 R744SCUE #045 DS CL1 #744SCUP DS CL3 #744SCUZ DS CL1 #045A DS CL1 #744CRHC DS CL8 R744CRHC #046 DS CL1 #744CRMD DS CL8 R744CRMD #047 DS CL1 #744CRMA DS CL8 R744CRMA #048 DS CL1 #744CRMN DS CL8 R744CRMN #049 DS CL1 #744CRMT DS CL8 R744CRMT #050 DS CL1 #744CWH0 DS CL8 R744CWH0 #051 DS CL1 #744CWH1 DS CL8 R744CWH1 #052 DS CL1 #744CWHX DS CL8 R744CWH1 #052A DS CL1 #744CWMN DS CL8 R744CWMN #053 DS CL1 #744CWMI DS CL8 R744CWMI #054 DS CL1 #744CWMT DS CL8 R744CWMT #055 DS CL1 #744CDER DS CL8 R744CDER #056 DS CL1 #744CDTR DS CL8 R744CDTR #057 DS CL1 #744CXDR DS CL8 R744CXDR #058 DS CL1 #744CXFW DS CL8 R744CXFW #059 DS CL1 #744CXNI DS CL8 R744CXNI #060 DS CL1 #744CXCI DS CL8 R744CXCI #061 DS CL1 #744XIS DS CL8 XI'S #061A DS CL1 #744CCOC DS CL8 R744CCOC #062 DS CL1 #744CRSM DS CL8 R744CRSM #063 DS CL1 #744CTSF DS CL8 R744CTSF #064 DS CL1 #744CDEC DS CL8 R744CDEC #065 DS CL1 #744CDAC DS CL8 R744CDAC #066 DS CL1 #744CTCC DS CL8 R744CTCC #067 DS CL1 #744CDTA DS CL8 R744CDTA #068 DS CL1 #744CRLC DS CL8 R744CRLC #069 DS CL1 #744CPRL DS CL8 R744CPRL #070 DS CL1 #744CXRL DS CL8 R744CXRL #071 DS CL1 #744CWUC DS CL8 R744CWUC DS 256C *--- Title - XCF ----------------------------------------------------- #72XTTL DS 0CL256 DC CL10'DATE' Start Date yyyy.mm.dd DC CL1',' DC CL8'TIME' Start Time DC CL1',' DC CL4'INTV' Interval DC CL1',' DC CL8'SYSTEM' System Name DC CL1',' DC CL8'TRN CLAS' Transport Class DC CL1',' DC CL8'R742SPTH' Available Path DC CL1',' DC CL8'R742SBSY' Busy DC CL1',' DC CL8'R742SNOP' no path available DC CL1',' DC CL8'R742SMXB' maxmam message buffer space DC CL1',' DC CL8'R742SBIG' big message DC CL1',' DC CL8'R742SFIT' fit message DC CL1',' DC CL8'R742SSML' small message DC CL1',' DC CL8'R742SOVR' over message DC CL1',' DC CL8'R742STCL' message length DC 256CL1' ' *--------------------------------------------------------------------- #72PTTL DS 0CL512 DC CL10'DATE' Start Date yyyy.mm.dd DC CL1',' DC CL8'TIME' Start Time DC CL1',' DC CL4'INTV' Interval DC CL1',' DC CL8'SYSTEM' System Name DC CL1',' DC CL8'I/O' inbound/outbound DC CL1',' DC CL8'TRA CLAS' Transport Class DC CL1',' DC CL3'TYP' CTC/Structure DC CL1',' DC CL16'STRUCTURE NAME' Structure Name DC CL1',' DC CL4'FROM' From Device DC CL1',' DC CL4'TO' To Device DC CL1',' DC CL8'FROM' partner system ( from ) DC CL1',' DC CL8'TO' partner system ( to ) DC CL1',' DC CL8'R742PQLN' outbound hold DC CL1',' DC CL8'R742PSIG' request DC CL1',' DC CL8'R742PSUS' avail DC CL1',' DC CL8'R742PAPP' busy DC CL1',' DC CL8'R742PRST' retry DC CL1',' DC CL8'R742PRET' max retries DC CL1',' DC CL8'R742PMXM' buffer space DC CL1',' DC CL8'R742PIBR' inbound reject DC CL1',' DC CL8'R742PSTA' status DC CL1',' DC CL8'R742PSTF' flag DC 256C' ' *--- XCF output area ------------------------------------------------- #72X DS 0CL256 #72XDAT DS 0CL10 Start Date yyyy.mm.dd #72XDATY DS CL4 Start Date yyyy #72XDAT1 DS CL1 Start Date #72XDATM DS CL2 Start Date mm #72XDAT2 DS CL1 Start Date #72XDATD DS CL2 Start Date dd #201 DS CL1 #72XIST DS CL8 Start Time #202 DS CL1 #72XINT DS CL4 Interval #203 DS CL1 #742SNME DS CL8 System Name #204 DS CL1 #742STCN DS CL8 Transport Class #205 DS CL1 #742SPTH DS CL8 Available Path #206 DS CL1 #742SBSY DS CL8 Busy #207 DS CL1 #742SNOP DS CL8 no path available #208 DS CL1 #742SMXB DS CL8 maxmam message buffer space #209 DS CL1 #742SBIG DS CL8 big message #210 DS CL1 #742SFIT DS CL8 fit message #211 DS CL1 #742SSML DS CL8 small message #212 DS CL1 #742SOVR DS CL8 over message #213 DS CL1 #742STCL DS CL8 message length DS 256C *--- XCF output area ------------------------------------------------- #72P DS 0CL512 #72PDAT DS 0CL10 Start Date yyyy.mm.dd #72PDATY DS CL4 Start Date yyyy #72PDAT1 DS CL1 Start Date #72PDATM DS CL2 Start Date mm #72PDAT2 DS CL1 Start Date #72PDATD DS CL2 Start Date dd #301 DS CL1 #72PIST DS CL8 Start Time #302 DS CL1 #72PINT DS CL4 Interval #303 DS CL1 #742PNME DS CL8 System Name #304 DS CL1 #742PDIR DS CL8 inbound/outbound #305 DS CL1 #742PTCN DS CL8 Transport Class #306 DS CL1 #742PTYP DS CL3 CTC/Structure #307 DS CL1 #742PSTR DS CL16 Structure Name #308 DS CL1 #742PODV DS CL4 From Device #309 DS CL1 #742PDEV DS CL4 To Device #310 DS CL1 #742PONAF DS CL8 from #311 DS CL1 #742PONAT DS CL8 to #311A DS CL1 #742PQLN DS CL8 outbound hold #312 DS CL1 #742PSIG DS CL8 request #313 DS CL1 #742PSUS DS CL8 avail #314 DS CL1 #742PAPP DS CL8 used #315 DS CL1 #742PRST DS CL8 restart #316 DS CL1 #742PRET DS CL8 max retries #317 DS CL1 #742PMXM DS CL8 buffer space #318 DS CL1 #742PIBR DS CL8 inbound reject #319 DS CL1 #742PSTA DS CL8 status #320 DS CL1 #742PSTF DS CL8 flag DS 512C * --- conmma --------------------------------------------------------- PART DC A(#002),A(#003),A(#004),A(#006),A(#007),A(#008) DC A(#009),A(#010),A(#011),A(#012),A(#013),A(#014),A(#015) DC A(#016),A(#017),A(#018),A(#019),A(#020),A(#021),A(#022) DC A(#023),A(#024),A(#025),A(#026),A(#027),A(#028),A(#029) DC A(#030),A(#031),A(#032),A(#033),A(#034),A(#035),A(#036) DC A(#037),A(#038),A(#039),A(#040),A(#041),A(#042),A(#043) DC A(#044),A(#045),A(#046),A(#047),A(#048),A(#049),A(#050) DC A(#051),A(#052),A(#053),A(#054),A(#055),A(#056),A(#057) DC A(#058),A(#059),A(#060),A(#061),A(#062),A(#063),A(#064) DC A(#065),A(#066),A(#067),A(#068),A(#069),A(#070),A(#071) DC A(#002A),A(#744SLE@),A(#744SLT@),A(#005),A(#015A) DC A(#018A),A(#021A),A(#061A),A(#052A),A(#045A) * DC A(#006A),A(#006B),A(#006C),A(#006D),A(#006E),A(#006F) DC X'FFFFFFFF' PARTCF DC A(#101),A(#102),A(#103),A(#104),A(#105),A(#106) DC A(#107),A(#108),A(#109),A(#110),A(#111),A(#112) DC A(#113),A(#114),A(#115),A(#116),A(#117),A(#118) DC A(#119),A(#120) DC X'FFFFFFFF' PARTX DC A(#201),A(#202),A(#203),A(#204),A(#205),A(#206) DC A(#207),A(#208),A(#209),A(#210),A(#211),A(#212) DC A(#213) DC X'FFFFFFFF' PARTP DC A(#301),A(#302),A(#303),A(#304),A(#305),A(#306) DC A(#307),A(#308),A(#309),A(#310),A(#311),A(#312) DC A(#313),A(#314),A(#315),A(#316),A(#317),A(#318) DC A(#319),A(#320),A(#311A) DC X'FFFFFFFF' *--- literal origin -------------------------------------------------- LTORG DS 0D RECAREA DS 32750C PRINT GEN SMF74DST DSECT ERBSMF74 PRINT NOGEN *---------------------------------------------------------------------- *---------------------------------------------------------------------- * CSECT * DC C'<< Convert binnaries to hexa char >>' *HCV DC CL6'v0r0m0' * DC C' ) _ Kimu // Compiled Date : &SYSDATE _ &SYSTIME ' * PRINT NOGEN *@HC CSECT * SAVE (14,12),T,* * BALR R03,0 * USING *,R03 Base Reg. R03 * ST R13,HC_SA+4 Save A(OLD Savearea) * LR R12,R13 * LA R13,HC_SA * ST R13,8(R12) Save A(NEW SaveArea) ** --- from characher --- * L R07,0(R01) ** --- to character --- * L R08,4(R01) ** --- convert length --- * L R09,8(R01) *@CO_HEX EQU * CONVERT HEX-CHARACTER * LA R15,5 *@CO_HC EQU * * LTR R09,R09 * BZ @CO_EXIT * BCT R15,@CO_SKIP ** * MVI 0(R08),X'40' * LA R08,1(R08) * LA R15,4 *@CO_SKIP EQU * * SR R01,R01 * IC R01,0(R07) * SRL R01,4 * A R01,A_TR * ICM R02,B'0010',0(R01) * IC R01,0(R07) * N R01,=F'15' * A R01,A_TR * ICM R02,B'0001',0(R01) * STCM R02,B'0011',0(R08) * LA R07,1(R07) * LA R08,2(R08) * BCTR R09,0 * B @CO_HC *@CO_EXIT EQU * * L R13,HC_SA+4 * RETURN (14,12),RC=0 ** *HC_SA DS 18F WORK SAVEAREA *TR DC C'0123456789ABCDEF' CHAR TRUNC TABLE *A_TR DC A(TR) * LTORG *---------------------------------------------------------------------- *---------------------------------------------------------------------- R00 EQU 00 R01 EQU 01 R02 EQU 02 R03 EQU 03 R04 EQU 04 R05 EQU 05 R06 EQU 06 R07 EQU 07 R08 EQU 08 R09 EQU 09 R10 EQU 10 R11 EQU 11 R12 EQU 12 R13 EQU 13 R14 EQU 14 R15 EQU 15 FR00 EQU 00 FR02 EQU 02 FR04 EQU 04 FR06 EQU 06 END SMFEDIT /* //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR // DD DSN=SYS1.AMODGEN,DISP=SHR //SYSUT1 DD UNIT=(SYSDA,SEP=SYSLIB),SPACE=(CYL,(10,5)),DSN=&SYSUT1 //SYSPUNCH DD DUMMY //*YSPUNCH DD SYSOUT=*,DCB=(BLKSIZE=800),SPACE=(CYL,(5,5,0)) //SYSPRINT DD SYSOUT=*,DCB=(BLKSIZE=3509), // UNIT=(,SEP=(SYSUT1,SYSPUNCH)) //SYSLIN DD DISP=(,PASS),UNIT=SYSDA,SPACE=(CYL,(5,5,0)), // DCB=(BLKSIZE=400),DSN=&&LOADSET //L EXEC PGM=IEWL,PARM='MAP,LET,LIST', // REGION=1M,COND=(8,LT,A) //SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE) // DD DDNAME=SYSIN //*YSLMOD DD DISP=(,PASS),UNIT=SYSDA, //* SPACE=(CYL,(2,1,2)),DSN=&GOSET(GO) //SYSLMOD DD DSN=KIMU.MODULE(@SE#740),DISP=SHR //SYSUT1 DD UNIT=SYSDA,SPACE=(CYL,(3,2)),DSN=&SYSUT1 //SYSPRINT DD SYSOUT=*,DCB=(RECFM=FB,BLKSIZE=3509) //SYSIN DD DUMMY //DEL EXEC PGM=IEFBR14 //DD1 DD DSN=KIMUA.TYPE74,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=VOLSER //DD2 DD DSN=KIMUA.TYPE74S,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=VOLSER //DD3 DD DSN=KIMUA.TYPE72X,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=VOLSER //DD4 DD DSN=KIMUA.TYPE72P,DISP=(OLD,DELETE), // UNIT=DASD,VOL=SER=VOLSER //********************* //********************* // EXEC PGM=*.L.SYSLMOD,COND=((9,LT,A),(9,LT,L)), // PARM='STRNAME(CKPTMVS1)' //* EXEC PGM=*.L.SYSLMOD,COND=((9,LT,A),(9,LT,L)), //* PARM='STRNAME(IXC_XCF1,IXC_XCF2,IXC_XCF3),CFNAME(CF01,CF02), //* ROUTE(OUTBOUND),PATH(IXC_XCF1)' //* PARM='STRNAME(IXC_XCF1),CFNAME(NONE)' //STEPCAT DD DSN=USER.CATALOG,DISP=SHR //INDD DD DSN=XCF3.SORT,DISP=SHR //TYPE74 DD DSN=KIMUA.TYPE74,DISP=(,CATLG), // UNIT=DASD,VOL=SER=VOLSER,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=FB,LRECL=256,BLKSIZE=0) //TYPE74S DD DSN=KIMUA.TYPE74S,DISP=(,CATLG), // UNIT=DASD,VOL=SER=VOLSER,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=FB,LRECL=1024,BLKSIZE=0) //TYPE72X DD DSN=KIMUA.TYPE72X,DISP=(,CATLG), // UNIT=DASD,VOL=SER=VOLSER,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=FB,LRECL=256,BLKSIZE=0) //TYPE72P DD DSN=KIMUA.TYPE72P,DISP=(,CATLG), // UNIT=DASD,VOL=SER=VOLSER,SPACE=(CYL,(10,10),RLSE), // DCB=(RECFM=FB,LRECL=512,BLKSIZE=0) // // //STEP1 EXEC PGM=UFASMFDP 00000200 //STEPCAT DD DSN=USER.CATALOG,DISP=SHR //SYSPRINT DD SYSOUT=* 00000300 //SYSOUT DD SYSOUT=* 00000400 //INDD DD DSN=SYS1.MAN1,DISP=SHR //OUTDD DD DSN=SMF74.DATA,DISP=(,CATLG), 00034907 // UNIT=DASD,VOL=SER=VOLSER,SPACE=(CYL,(50,50),RLSE) 00035002 //SYSIN DD * 00035100 SID(MVS1) 00035402 INDD(INDD,OPTIONS(DUMP)) 00035500 OUTDD(OUTDD,TYPE(74)) 00035602 //*********************