TITLE ' /* IRBMFRWR WORKLOAD ACTIVITY REPORT GENERATOR *00001000 ' 00002000 IRBMFRWR CSECT , 0001 00003000 @MAINENT DS 0H 0001 00004000 USING *,@15 0001 00005000 B @PROLOG 0001 00006000 DC AL1(16) 0001 00007000 DC C'IRBMFRWR 76.110' 0001 00008000 DROP @15 00009000 @PROLOG STM @14,@12,12(@13) 0001 00010000 BALR @09,0 0001 00011000 @PSTART LA @10,4095(,@09) 0001 00012000 USING @PSTART,@09 0001 00013000 USING @PSTART+4095,@10 0001 00014000 L @00,@SIZDATD 0001 00015000 GETMAIN R,LV=(0) 00016000 LR @08,@01 0001 00017000 USING @DATD,@08 0001 00018000 ST @13,@SA00001+4 0001 00019000 LM @00,@01,20(@13) 0001 00020000 ST @08,8(,@13) 0001 00021000 LR @13,@08 0001 00022000 MVC @PC00001(12),0(@01) 0001 00023000 * ; 0003 00024000 * 0003 00025000 */* WORKLOAD ACTIVITY SMF RECORD */ 00026000 */* */ 00027000 */* MACMEAN IFASMFR MEANS SYSTEM MANAGEMENT FACILITY RECORD MAPPING */ 00028000 */* MACCOMP Y-2 SC102/BL27P */ 00029000 */* MACSTAT Y-2 73298/42020 */ 00030000 */* METHOD OF ACCESS */ 00031000 */* PL/S - USER DEFINES MACRO VARIABLE IFARXX WHERE XX=RECORD NUM */ 00032000 */* DECLARE SMFXXPTR PTR(31) OR RESPECIFY FOR BASE */ 00033000 */* INCLUDE MACRO FROM LIBRARY */ 00034000 */* EXAMPLE %IFAR08 = 'YES', NOTE. THE COMMA REP-*/ 00035000 */* DCL SMF08PTR PTR(31), RESENTS A SEMI-COLON*/ 00036000 */* %INCLUDE SYSLIB(IFASMFR), BUT ISN'T TO AVIOD */ 00037000 */* A DIAGNOSTIC. */ 00038000 */* */ 00039000 */* */ 00040000 */* THIS MACRO PROCESSES RECORDS IN THE RANGE 00-06. IT */ 00041000 */* ACTS AS A ROUTER TO OTHER MACROS TO PROCESS OTHER */ 00042000 */* RECORDS AS FOLLOWS: */ 00043000 */* */ 00044000 */* MACRO RECORDS */ 00045000 */* ******** ******* */ 00046000 */* IFASMFR1 07-19 */ 00047000 */* IFASMFR2 20-27 */ 00048000 */* IFASMFR3 28-36 */ 00049000 */* IFASMFR4 37-46 */ 00050000 */* IFASMFR5 47-54 */ 00051000 */* IFASMFR6 55-69 */ 00052000 */* IFASMFR7 70-73 */ 00053000 */* IFASMFR8 74-79 */ 00054000 */* IFASMFR9 80-93 */ 00055000 */* IFASMFRA 94-103 */ 00056000 */* IFASMFRB 104-113 */ 00057000 */* IFAMSFRC 114-123 */ 00058000 */* IFASMFRD 124-127 */ 00059000 * 0004 00060000 * DCL 0004 00061000 * 1 SMFRCD72 BASED(SMF72PTR) BDY(WORD), 0004 00062000 * 0004 00063000 */* RECORD TYPE 72 - WORKLOAD ACTIVITY */ 00064000 * 0004 00065000 * 3 SMF72LEN FIXED(15), /* RDW RECORD LENGTH */ 00066000 * 3 SMF72SEG FIXED(15), /* RDW SEGMENT DESCRIPTOR */ 00067000 * 3 SMF72FLG BIT(8), /* OPERATING ENVIRONMENT */ 00068000 * 3 SMF72RTY FIXED(8), /* RECORD TYPE 72 */ 00069000 * 3 SMF72TME FIXED(31) BDY(BYTE),/* TOD RECORD WRITTEN */ 00070000 * 3 SMF72DTE CHAR(4), /* DATE RECORD WRITTEN */ 00071000 * 3 SMF72SID CHAR(4), /* SYSTEM ID FROM INSTALLATION */ 00072000 * 0004 00073000 * /***************************************************************/ 00074000 * /* */ 00075000 * /* COMMON CONTROL DATA */ 00076000 * /* */ 00077000 * /***************************************************************/ 00078000 * 0004 00079000 * 3 SMF72SIZ PTR(15), /* SIZE OF COMMON CONTROL DATA 0004 00080000 * AREA */ 00081000 * 3 SMF72IST CHAR(4), /* TOD INTERVAL START 0HHMMSSF */ 00082000 * 3 SMF72DAT CHAR(4), /* DATE INTERVAL START 00YYDDDF */ 00083000 * 3 SMF72INT CHAR(4), /* DURATION OF INTERVAL MMSSTTTF */ 00084000 * 3 SMF72CYC CHAR(2), /* RESV */ 00085000 * 3 SMF72SUB CHAR(2), /* SUB-CATEGORY CODE, PERF GROUP 00086000 * # */ 00087000 * 3 SMF72SAM FIXED(32), /* RESV */ 00088000 * 3 SMF72MFV CHAR(2), /* MF/1 VERSION # */ 00089000 * 3 SMF72RV1 CHAR(2), /* RESV */ 00090000 * 3 SMF72RLS CHAR(4); /* OP SYS REL # & LEVEL NNLL */ 00091000 */* WORKLOAD CONTROL AREA VARIABLES */ 00092000 * 0005 00093000 * DCL 0005 00094000 * 1 SMF72A BASED(ADDR(SMF72SIZ)+SMF72SIZ) BDY(WORD), 0005 00095000 * 3 SMF72SWC PTR(15), /* SIZE OF WORKLOAD CONTROL AREA */ 00096000 * 3 SMF72PGP FIXED(15), /* # OF PGP MEASUREMENTS IN PGP 00097000 * DATA */ 00098000 * 3 SMF72SPD FIXED(15), /* SIZE OF EACH PGP DATA AREA */ 00099000 * 3 SMF72HPG FIXED(15), /* HIGHEST PERF GP # DEFINED IN 00100000 * IPS */ 00101000 * 3 SMF72IPS CHAR(8); /* NAME OF IPS(INSTAL PERF SPEC) */ 00102000 */* PERFORMANCE GROUP PERIOD DATA */ 00103000 * 0006 00104000 * DCL 0006 00105000 * 1 SMF72B(*) BASED(ADDR(SMF72SWC)+SMF72SWC) BDY(WORD), 0006 00106000 * 3 SMF72TTX FIXED(32), /* # OF TERMINATED TRANSACTIONS */ 00107000 * 3 SMF72ACT FIXED(32), /* ALL TRANS ACTIVE TIME-1K MIC 00108000 * SEC */ 00109000 * 3 SMF72SER FIXED(32), /* ALL TRANS SERVICE UNITS */ 00110000 * 3 SMF72TTM FIXED(32), /* TERM TRANS ELAPSED TIME-1K 0006 00111000 * MICSEC */ 00112000 * 3 SMF72LEV FIXED(31); /* WORKLOAD LEVEL(1/256 OF A 0006 00113000 * LEVEL) */ 00114000 */* LANGUAGE PARTS */ 00115000 */**** START OF SPECIFICATIONS ***************************************/ 00116000 */* */ 00117000 */* MACCOMP Y-2 SC1CQ/GAM20 */ 00118000 */* MACSTAT Y-2 73121/Y02150 */ 00119000 */* MACMEAN MFLNG MEANS LANGUAGE PARTS */ 00120000 */* */ 00121000 */* MODULE-NAME = IRBMFLNG */ 00122000 */* */ 00123000 */* DESCRIPTIVE-NAME = LANGUAGE PARTS */ 00124000 */* */ 00125000 */* COPYRIGHT = NONE */ 00126000 */* */ 00127000 */* STATUS = RELEASE 2, VERSION 0 */ 00128000 */* */ 00129000 */* FUNCTION = MAPPING MACRO FOR THE MFLNG. IT DEFINES THE LOCATION */ 00130000 */* AND SIZE OF MF/1 COMMON-LANGUAGE PARTS. */ 00131000 */* */ 00132000 */* NOTES = SEE BELOW */ 00133000 */* */ 00134000 */* MODULE-TYPE = PLS MAPPING MACRO */ 00135000 */* */ 00136000 */* CHANGE-ACTIVITY = */ 00137000 */* */ 00138000 */* A000000-999999 Y02150*/ 00139000 */* */ 00140000 */* METHOD-OF-INVOCATION = SEE BELOW */ 00141000 */* */ 00142000 */* PLS - .QUESTION MARK.IRBMFLNG ATTRIBUT(ATTRIBUTES) */ 00143000 */* WHERE ATTRIBUTES ARE ANY ACCEPTABLE PLS ATTRIBUTES */ 00144000 */* FOR STRUCTURE DECLARATIONS. */ 00145000 */* */ 00146000 */**** END OF SPECIFICATIONS *****************************************/ 00147000 * 0007 00148000 * /*****************************************************************/ 00149000 * /* */ 00150000 * /* ?IRBMFLNG ATTRIBUT(DEFINED(IRBMFLWV)) */ 00151000 * /* */ 00152000 * /*****************************************************************/ 00153000 * 0007 00154000 * DECLARE 0007 00155000 * 1 LNG /* LANGUAGE PARTS */ 00156000 * DEFINED(IRBMFLWV) BDY(WORD), 0007 00157000 * 2 LNGTPTR /* TEXT POINTER */ 00158000 * (*) PTR(31), 0007 00159000 * 1 LNGTXT /* TEXT */ 00160000 * BDY(WORD) BASED, 0007 00161000 * 2 LNGTXTL /* TEXT LENGTH */ 00162000 * FIXED(31), 0007 00163000 * 2 LNGTXTD /* TEXT DATA */ 00164000 * CHAR(*); 0007 00165000 * 0007 00166000 */* PROBLEM MEASUREMENT AREA */ 00167000 */**** START OF SPECIFICATIONS ***************************************/ 00168000 */* */ 00169000 */* MACCOMP Y-2 SC1CQ/GAM20 */ 00170000 */* MACSTAT Y-2 73121/Y02150 */ 00171000 */* MACMEAN MFPMA MEANS PROBLEM MEASUREMENT AREA */ 00172000 */* */ 00173000 */* MODULE-NAME = IRBINPMA */ 00174000 */* IRBMFPMA */ 00175000 */* IRBTMPMA */ 00176000 */* */ 00177000 */* DESCRIPTIVE-NAME = PROBLEM MEASUREMENT AREA */ 00178000 */* */ 00179000 */* COPYRIGHT = NONE */ 00180000 */* */ 00181000 */* STATUS = RELEASE 2, VERSION 0 */ 00182000 */* */ 00183000 */* FUNCTION = MAPPING MACRO FOR THE PMA. THE PMA CONTAINS MF/1 */ 00184000 */* PROBLEM STATE FUNCTION DATA FOR EACH MEASUREMENT */ 00185000 */* OPTION. */ 00186000 */* */ 00187000 */* NOTES = SEE BELOW */ 00188000 */* */ 00189000 */* MULTIPLE MACRO NAMES ALLOWS A PROGRAM TO HAVE MULTIPLE COPIES */ 00190000 */* OF THE SAME DATA STRUCTURE FOR DIFFERENT USES, EACH WITH ITS */ 00191000 */* OWN IMPLICIT POINTER AND ATTRIBUTES. */ 00192000 */* */ 00193000 */* MODULE-TYPE = PLS MAPPING MACRO */ 00194000 */* */ 00195000 */* CHANGE-ACTIVITY = */ 00196000 */* */ 00197000 */* A000000-999999 Y02150*/ 00198000 */* */ 00199000 */* METHOD-OF-INVOCATION = SEE BELOW */ 00200000 */* */ 00201000 */* PLS - .QUESTION MARK.IRBINPMA ATTRIBUT(ATTRIBUTES) */ 00202000 */* - .QUESTION MARK.IRBMFPMA ATTRIBUT(ATTRIBUTES) */ 00203000 */* - .QUESTION MARK.IRBTMPMA ATTRIBUT(ATTRIBUTES) */ 00204000 */* WHERE ATTRIBUTES ARE ANY ACCEPTABLE PLS ATTRIBUTES */ 00205000 */* FOR STRUCTURE DECLARATIONS. */ 00206000 */* */ 00207000 */**** END OF SPECIFICATIONS *****************************************/ 00208000 * 0008 00209000 * /*****************************************************************/ 00210000 * /* */ 00211000 * /* ?IRBMFPMA ATTRIBUT(BASED(RWPMAPTR)) */ 00212000 * /* */ 00213000 * /*****************************************************************/ 00214000 * 0008 00215000 * DECLARE 0008 00216000 * 1 MFPMA /* PROBLEM MEASUREMENT AREA */ 00217000 * BASED(RWPMAPTR) BDY(WORD), 0008 00218000 * 2 MFPMOPT /* OPTION VARIABLES */ 00219000 * FIXED(31), /* 0-OPTION NOT IN EFFECT */ 00220000 * 3 MFPMCON /* OPTION CONTROL */ 00221000 * BIT(1), /* 0-OPTION HAS BEEN SPECIFIED, 00222000 * 1-OPTION NOT YET SPECIFIED */ 00223000 * 3 * BIT(23), 0008 00224000 * 3 * /* LAST BYTE IN WORD */ 00225000 * BIT(8), 0008 00226000 * 6 * BIT(7), 0008 00227000 * 6 MFPMSTA /* OPTION STATUS FOR CPU, PAGING, 00228000 * CHANNEL */ 00229000 * BIT(1), /* 0-OPTION OFF, 1-OPTION ON, */ 00230000 * 2 MFPMSARG /* REPORT GENERATOR MODULE NAME */ 00231000 * CHAR(8), 0008 00232000 * 1 MFPMB /* DEFINE DIFFERENT OPTIONS */ 00233000 * BDY(WORD) DEF(MFPMOPT), 0008 00234000 * 3 * BIT(16), 0008 00235000 * 3 * /* LAST TWO BYTES IN WORD */ 00236000 * (2) /* FIRST SET IS DEVICE SPECIFIED, 00237000 * SECOND, DEVICE TYPE SELECTED. */ 00238000 * 0008 00239000 * /***********************************************************/ 00240000 * /* */ 00241000 * /* 0-OPTION SPECIFIED, 1-OPTION NOT SPECIFIED, 0-DEVICE NOT*/ 00242000 * /* SELECTED,, 1-DEVICE SELECTED, */ 00243000 * /* */ 00244000 * /***********************************************************/ 00245000 * 0008 00246000 * BIT(8), 0008 00247000 * 4 MFPMDEVF /* DEVICE FLAGS IN UCB TYPE ORDER*/ 00248000 * BIT(8), 0008 00249000 * 6 MFPMTAPE /* MAGNETIC TAPE DEVICES OPTION */ 00250000 * BIT(1), /* 0-OPTION NOT SELECTED, 0008 00251000 * 1-OPTION SELECTED */ 00252000 * 6 MFPMTP /* COMMUNICATION DEVICES OPTION */ 00253000 * BIT(1), /* 0-OPTION NOT SELECTED, 0008 00254000 * 1-OPTION SELECTED */ 00255000 * 6 MFPMDA /* DIRECT ACCESS DEVICES OPTION */ 00256000 * BIT(1), /* 0-OPTION NOT SELECTED, 0008 00257000 * 1-OPTION SELECTED */ 00258000 * 6 MFPMGRAP /* GRAPHICS DEVICES OPTION */ 00259000 * BIT(1), /* 0-OPTION NOT SELECTED, 0008 00260000 * 1-OPTION SELECTED */ 00261000 * 6 MFPMUNIT /* UNIT RECORD DEVICES OPTION */ 00262000 * BIT(1), /* 0-OPTION NOT SELECTED, 0008 00263000 * 1-OPTION SELECTED */ 00264000 * 6 MFPMCRDR /* CHARACTER READER DEVICES */ 00265000 * BIT(1), /* 0-OPTION NOT SELECTED, 0008 00266000 * 1-OPTION SELECTED */ 00267000 * 1 MFPMC /* DEFINE DIFFERENT OPTIONS */ 00268000 * BDY(WORD) DEF(MFPMOPT), 0008 00269000 * 3 * BIT(24), 0008 00270000 * 3 * /* LAST BYTE IN WORD */ 00271000 * BIT(8), 0008 00272000 * 6 * BIT(6), 0008 00273000 * 6 MFPMWKLD /* WORKLOAD OPTION. */ 00274000 * 0008 00275000 * /********************************************************/ 00276000 * /* */ 00277000 * /* VALUES INCREASE IN THE ORDER OF MORE DETAILED */ 00278000 * /* (VOLUME) OF REPORT PRINTOUT. */ 00279000 * /* */ 00280000 * /********************************************************/ 00281000 * 0008 00282000 * BIT(2), /* 00-OPTION OFF(KEYWORD=NO), 0008 00283000 * 01-SYSTEM DATA, 10-GROUP AND 00284000 * SYSTEM DATA, 0008 00285000 * 11-PERIOD,GROUP,SYSTEM */ 00286000 * MFPMDEVC /* DEVICE CONTROL FLAG CONSTANT */ 00287000 * BIT(8) CONSTANT('FC'X); 0008 00288000 * 0008 00289000 */* LINE AND COLUMN MAXIMUM CONSTANTS */ 00290000 */* */ 00291000 */**** START OF SPECIFICATIONS *************************************** 00292000 * */ 00293000 */* */ 00294000 */* MACCOMP Y-2 SC1CQ/GAM20 */ 00295000 */* MACSTAT Y-2 73018/Y02150 */ 00296000 */* MACMEAN IRBRGCON MEANS MAXIMUM PAGE COLUMN AND LINE CONSTANTS */ 00297000 */* */ 00298000 */* MODULE-NAME = IRBRGCON */ 00299000 */* */ 00300000 */* DESCRIPTIVE-NAME = MAXIMUM PAGE LINE AND COLUMN CONSTANTS */ 00301000 */* */ 00302000 */* COPYRIGHT = NONE */ 00303000 */* */ 00304000 */* STATUS = RELEASE 2 / VERSION 0 */ 00305000 */* */ 00306000 */* FUNCTION = PROVIDES MAXIMUM LINE AND COLUMN CONSTANTS FOR */ 00307000 */* REPORT GENERATORS. */ 00308000 */* */ 00309000 */* NOTES = NONE */ 00310000 */* */ 00311000 */* MODULE-TYPE = PLS MAPPING MACRO */ 00312000 */* */ 00313000 */* CHANGE-ACTIVITY = */ 00314000 */* */ 00315000 */* A000000-999999 Y02150*/ 00316000 */* */ 00317000 */* METHOD-OF-INVOCATION = SEE BELOW */ 00318000 */* */ 00319000 */* PLS - .QUESTION MARK.IRBRGCON */ 00320000 */* */ 00321000 */***** END OF SPECIFICATIONS **************************************** 00322000 * */ 00323000 */* */ 00324000 * 0009 00325000 * DECLARE 0009 00326000 * RGMAXCOL /* MAXIMUM COLUMN NUMBER ON PAGE */ 00327000 * FIXED BINARY(31) CONSTANT(120), 0009 00328000 * RGMAXLN /* MAXIMUM LINE ON PRINTED PAGE */ 00329000 * FIXED BINARY(31) CONSTANT(60), 0009 00330000 * RGCOLA /* COLUMN CONSTANT */ 00331000 * FIXED BINARY(31) CONSTANT(13), 0009 00332000 * RGCOLB /* COLUMN CONSTANT */ 00333000 * FIXED BINARY(31) CONSTANT(38), 0009 00334000 * RGCOLC /* COLUMN CONSTANT */ 00335000 * FIXED BINARY(31) CONSTANT(65), 0009 00336000 * RGCOLD /* COLUMN CONSTANT */ 00337000 * FIXED BINARY(31) CONSTANT(90), 0009 00338000 * RGHDR1 /* LINE CONSTANT */ 00339000 * FIXED BINARY(31) CONSTANT(1), 0009 00340000 * RGHDR2 /* LINE CONSTANT */ 00341000 * FIXED BINARY(31) CONSTANT(2), 0009 00342000 * RGHDR3 /* LINE CONSTANT */ 00343000 * FIXED BINARY(31) CONSTANT(3), 0009 00344000 * RGHDR4 /* LINE CONSTANT */ 00345000 * FIXED BINARY(31) CONSTANT(4); 0009 00346000 * 0009 00347000 * /*****************************************************************/ 00348000 * /* */ 00349000 * /* GENERAL PURPOSE REGISTERS */ 00350000 * /* */ 00351000 * /*****************************************************************/ 00352000 * 0010 00353000 * DECLARE /* GENERAL PURPOSE REGISTERS */ 00354000 * GPR00F FIXED(31) REG(0), 0010 00355000 * GPR01F FIXED(31) REG(1), 0010 00356000 * GPR14F FIXED(31) REG(14), 0010 00357000 * GPR15F FIXED(31) REG(15), 0010 00358000 * GPR00P PTR(31) REG(0), 0010 00359000 * GPR01P PTR(31) REG(1), 0010 00360000 * GPR14P PTR(31) REG(14), 0010 00361000 * GPR15P PTR(31) REG(15); 0010 00362000 * DECLARE /* MISC BASED VARIABLES */ 00363000 * (IKEBC CHAR(256), 0011 00364000 * IKEBP8 PTR(8), 0011 00365000 * IKEBF31 FIXED(31), 0011 00366000 * IKEBF15 FIXED(15), 0011 00367000 * IKEBP31 PTR(31), 0011 00368000 * IKEBP15 PTR(15)) BASED; 0011 00369000 * DCL 0012 00370000 * GPR02P /* GPR 02 */ 00371000 * REG(02) PTR(31), 0012 00372000 * GPR09P /* GPR 09 */ 00373000 * REG(09) PTR(31), 0012 00374000 * GPR10P /* GPR 10 */ 00375000 * REG(10) PTR(31), 0012 00376000 * GPR11P /* GPR 11 */ 00377000 * REG(11) PTR(31), 0012 00378000 * GPR12P /* GPR 12 */ 00379000 * REG(12) PTR(31); 0012 00380000 * 0013 00381000 */* MISCELLANEOUS DECLARATIONS */ 00382000 * 0013 00383000 * DCL 0013 00384000 * I /* GENERAL LOOP INDEX. */ 00385000 * FIXED(31), 0013 00386000 * P /* POWERS OF TEN TABLE INDEX. */ 00387000 * FIXED(31), 0013 00388000 * V /* REPORT VALUES TABLE INDEX. */ 00389000 * FIXED(31), 0013 00390000 * IRBMFCNV /* CONVERSION SUBROUTINE */ 00391000 * ENTRY BASED(RWVECTAB(1)), 0013 00392000 * IRBMFLWV /* WORKLOAD LANGUAGE PARTS */ 00393000 * EXTERNAL NONLOCAL, 0013 00394000 * MFHDRISR /* HEADER SUBROUTINE */ 00395000 * ENTRY BASED(RWVECTAB(2)), 0013 00396000 * MFISRTXT /* INSERT TEXT SUBROUTINE */ 00397000 * ENTRY BASED(RWVECTAB(3)), 0013 00398000 * MFWRTPAG /* WRITE PAGE SUBROUTINE */ 00399000 * ENTRY BASED(RWVECTAB(4)), 0013 00400000 * 1 RWDATA /* WORKLOAD ACTIVITY INPUT DATA 00401000 * AND TOTALS */ 00402000 * BDY(DWORD), 0013 00403000 * 2 RWDAVAL /* DATA VALUE FIELDS */ 00404000 * (CREPLEV), /* PGP, PG, AND SYSTEM DATA/TOTAL*/ 00405000 * 3 RWDASER, /* SERVICE UNITS */ 00406000 * 4 RWDASERH /* SERVICE HIGH ORDER WORD */ 00407000 * FIXED(32), 0013 00408000 * 4 RWDASERL /* SERVICE LOW ORDER WORD */ 00409000 * FIXED(32), 0013 00410000 * 3 RWDAACT, /* TRANSACTION ACTIVE TIME */ 00411000 * 4 RWDAACTH /* ACTIVE TIME HIGH ORDER WORD */ 00412000 * FIXED(32), 0013 00413000 * 4 RWDAACTL /* ACTIVE TIME LOW ORDER WORD */ 00414000 * FIXED(32), /* BIT 31= 1024 MICROSECONDS */ 00415000 * 3 RWDALEV, /* WORKLOAD LEVEL */ 00416000 * 4 RWDALEVH /* LEVEL HIGH ORDER WORD */ 00417000 * FIXED(32), 0013 00418000 * 4 RWDALEVL /* LEVEL LOW ORDER WORD */ 00419000 * FIXED(32), 0013 00420000 * 3 RWDAWLM, /* WORKLOAD LEVEL MOMENT = WORK- 00421000 * LOAD LEVEL * SERVICE */ 00422000 * 4 RWDAWLMH /* MOMENT HIGH ORDER WORD */ 00423000 * FIXED(32), 0013 00424000 * 4 RWDAWLML /* MOMENT LOW ORDER WORD */ 00425000 * FIXED(32), /* BIT 31= 1/256 LEVEL*SERVICE */ 00426000 * 3 RWDATTX, /* ENDED TRANSACTIONS */ 00427000 * 4 RWDATTXH /* ENDED TX HIGH ORDER WORD */ 00428000 * FIXED(32), 0013 00429000 * 4 RWDATTXL /* ENDED TX LOW ORDER WORD */ 00430000 * FIXED(32), 0013 00431000 * 3 RWDATTM, /* ENDED TX ELAPSED TIME */ 00432000 * 4 RWDATTMH /* ELAPSED HIGH ORDER WORD */ 00433000 * FIXED(32), 0013 00434000 * 4 RWDATTML /* ELAPSED LOW ORDER WORD */ 00435000 * FIXED(32), /* BIT 31= 1024 MICROSECONDS */ 00436000 * 1 RWDAFLD /* WORKLOAD DATA FIELD ARRAY */ 00437000 * (CFIELDS) /* TIMES CREPLEV ELEMENTS. */ 00438000 * DEFINED(RWDATA), 0013 00439000 * 3 RWDAFLDH /* FIELD HIGH ORDER WORD */ 00440000 * FIXED(32), 0013 00441000 * 3 RWDAFLDL /* FIELD LOW ORDER WORD */ 00442000 * FIXED(32), 0013 00443000 * RWEST /* FLAG, WORKLOAD LEVEL IS 0013 00444000 * ESTIMATED */ 00445000 * BIT(1), 0013 00446000 * RWFLDFAC /* FIELD FACTOR USED TO OUTPUT 0013 00447000 * SERVICE RATE DATA */ 00448000 * FIXED(31), 0013 00449000 * RWHDR /* FLAG, REPORT PAGE HEADER IS 0013 00450000 * REQUIRED. */ 00451000 * BIT(1), 0013 00452000 * RWINTVL /* LENGTH OF MEASUREMENT 0013 00453000 * INTERVAL, FORM MMSSTTTF. */ 00454000 * CHAR(4), 0013 00455000 * RWLINE /* REPORT LINE NUMBER ON PAGE */ 00456000 * FIXED(31), 0013 00457000 * 1 RWOUTPUT /* OUTPUT DATA NUMBERS */ 00458000 * (CREPVAL) BDY(DWORD), 0013 00459000 * 2 RWOUTH /* OUTPUT HIGH ORDER WORD */ 00460000 * FIXED(32), 0013 00461000 * 2 RWOUTL /* OUTPUT LOW ORDER WORD */ 00462000 * FIXED(32), 0013 00463000 * 1 RWOUTSTA /* REPORT OUTPUT FIELD STATUS */ 00464000 * (CREPVAL) STATIC LOCAL, 0013 00465000 * 2 RWOUTCOL /* OUTPUT COLUMN NUMBER */ 00466000 * INIT(COLC,COLD,COLE,COLF,COLG,COLH), 0013 00467000 * 2 RWOUTLEN /* LENGTH OF OUTPUT FIELDS */ 00468000 * INIT(9,7,8,8,7,13), 0013 00469000 * 2 RWOUTDIG /* DECIMAL DIGITS IN OUTPUT FIELD*/ 00470000 * INIT(7,6,6,6,6,10), 0013 00471000 * 2 RWOUTPRD /* PLACE TO RIGHT OF DECIMAL 0013 00472000 * POINT */ 00473000 * INIT(0,0,2,2,0,3), 0013 00474000 * 2 RWOUTSCF /* CONVERSION SCALE FACTOR */ 00475000 * INIT(0,0,-3,-3,0,-4), 0013 00476000 * RWPAGE /* REPORT PAGE NUMBER */ 00477000 * FIXED(31), 0013 00478000 * RWPATCH /* PATCH AREA */ 00479000 * STATIC LOCAL CHAR(100), 0013 00480000 * RWPGN /* PERFORMANCE GROUP NUMBER(INDEX 00481000 * TO PG VECTOR) */ 00482000 * FIXED(31), 0013 00483000 * RWPGP /* PERFORMANCE GROUP PERIOD 0013 00484000 * NUMBER */ 00485000 * FIXED(31), 0013 00486000 * RWPGPLIN /* FIRST DATA LINE WITHIN A PGP 00487000 * GROUPING */ 00488000 * FIXED(31), 0013 00489000 * RWPGPZER /* ZERO S TO COMPARE TO PGP DATA */ 00490000 * CHAR(LENGTH(SMF72B)), 0013 00491000 * RWPGPZF /* FLAG, ZERO PGP DATA FOUND */ 00492000 * BIT(1), 0013 00493000 * RWPGZF /* FLAG, ZERO PG DATA FOUND */ 00494000 * BIT(1), 0013 00495000 * RWPMAPTR /* POINTER TO MFPMA, AN INPUT 0013 00496000 * PARAMETER. */ 00497000 * PTR(31), 0013 00498000 * RWSMFPTR /* SMF RECORD FOR PRINTING REPORT 00499000 * PAGE HEADERS. */ 00500000 * PTR(31), 0013 00501000 * RWTEMPF /* TEMPORARY FULL WORD WORK AREA */ 00502000 * FIXED(32), 0013 00503000 * RWVECTAB /* PARAMETER 2 - SUBROUTINE 0013 00504000 * VECTOR TABLE. CONTAINS 0013 00505000 * ADDRESSES OF CONVERSION 0013 00506000 * ROUTINE, HEADER ROUTINE, 0013 00507000 * INSERT TEXT ROUTINE, AND WRITE 00508000 * PAGE ROUTINE. */ 00509000 * (4) PTR(31), 0013 00510000 * RWWRKSTR /* WORK AREA CHARACTER STRING */ 00511000 * CHAR(16), 0013 00512000 * SMF72PTR /* WORKLOAD ACTIVITY TRACE TABLE 00513000 * PTR */ 00514000 * BASED(ADDR(STWVPGNX(RWPGN)))/* SMF PTR SAME AS ARRAY 0013 00515000 * ELEMENT. */ 00516000 * PTR(31), 0013 00517000 * SMF72S /* PARAMETER 1 - POINTER TO DATA 00518000 * TO BE FORMATTED FOR REPORT */ 00519000 * PTR(31); 0013 00520000 * 0014 00521000 */* CONSTANT DECLARATIONS */ 00522000 * 0014 00523000 * DCL 0014 00524000 * CALLSPAC /* BLANK LINE SPACING BEFORE ALL 00525000 * PGP SUMMARY DATA. */ 00526000 * CONSTANT(1), 0014 00527000 * CCPG /* PG DATA INDEX & PRINT CONTROL */ 00528000 * CONSTANT(2), 0014 00529000 * CFIELDS /* INPUT DATA FIELDS (SEE RWDATA)*/ 00530000 * CONSTANT(6), 0014 00531000 * CGRPSPAC /* BLANK LINES AFTER PGP PRINT 0014 00532000 * GROUPING. */ 00533000 * CONSTANT(1), 0014 00534000 * CINITPGN /* INITIAL PG NUMBER */ 00535000 * CONSTANT(1), 0014 00536000 * CLEAR /* FLAG CLEAR VALUE */ 00537000 * BIT(1) CONSTANT('0'B), 0014 00538000 * CNOCOMMA /* NUMBER CONVERSION OPTION */ 00539000 * BIT(1) CONSTANT('0'B), 0014 00540000 * CNOFLOAT /* NUMBER CONVERSION OPTION */ 00541000 * BIT(1) CONSTANT('0'B), 0014 00542000 * CPGNSPAC /* NUMBER OF BLANK LINES BETWEEN */ 00543000 * CONSTANT(2), /* DIFFERENT PGN DATA */ 00544000 * CPGNDASH /* COLUMN DISPLACEMENT FOR DASH */ 00545000 * CONSTANT(1), /* BETWEEN DATA FOR TWO PGN'S */ 00546000 * CPGNSCLV /* PGN SCALING FACTOR */ 00547000 * CONSTANT(0), 0014 00548000 * CPGNLEN /* LENGTH OF PGN TEXT */ 00549000 * CONSTANT(3), 0014 00550000 * CPGNPRDP /* NUMBER OF PLACES TO THE RIGHT */ 00551000 * CONSTANT(0), /* OF DECIMAL POINT IN PGN DATA */ 00552000 * CPGP /* PGP DATA INDEX & PRINT CONTROL*/ 00553000 * CONSTANT(3), 0014 00554000 * CPGPSPAC /* LINE SPACING AFTER PGP DATA. */ 00555000 * CONSTANT(1), 0014 00556000 * CPGPGRP /* PGP PRINT GROUPING */ 00557000 * CONSTANT(4), /* EVERY 4 PGP S IN PG */ 00558000 * CPGPDASH /* COLUMN DISPLACEMENT FOR DASH */ 00559000 * CONSTANT(1), /* BETWEEN DATA FOR TWO PGP'S */ 00560000 * CPGPSCLV /* PGP SCALING FACTOR */ 00561000 * CONSTANT(0), 0014 00562000 * CPGPLEN /* LENGTH OF PGP TEXT */ 00563000 * CONSTANT(1), 0014 00564000 * CPGPPRDP /* NUMBER OF PLACES TO THE RIGHT */ 00565000 * CONSTANT(0), /* OF DECIMAL POINT IN PGP DATA */ 00566000 * CREPLEV /* NUMBER OF LEVELS OF REPORT 0014 00567000 * DATA OR TOTALS. */ 00568000 * CONSTANT(3), 0014 00569000 * CSET /* FLAG SET VALUE */ 00570000 * BIT(1) CONSTANT('1'B), 0014 00571000 * CSYS /* SYSTEM DATA INDEX & PRINT CNTL*/ 00572000 * CONSTANT(1), 0014 00573000 * CTOPLINE /* TOP DATA LINE ON A PAGE */ 00574000 * CONSTANT(12), 0014 00575000 * COUTDAT1 /* FIRST OUTPUT DATA FIELD, INDEX 00576000 * TO RWOUTSTA */ 00577000 * CONSTANT(1), 0014 00578000 * CHDR1 /* DATA HEADER LINE, 1ST OF THREE*/ 00579000 * CONSTANT(7), 0014 00580000 * CHDR2 /* DATA HEADER LINE, 2ND OF THREE*/ 00581000 * CONSTANT(8), 0014 00582000 * CHDR3 /* DATA HEADER LINE, 3RD OF THREE*/ 00583000 * CONSTANT(9), 0014 00584000 * COLA /* REPORT COLUMN */ 00585000 * CONSTANT(001), 0014 00586000 * COLB /* REPORT COLUMN */ 00587000 * CONSTANT(016), /* COLA + 15 */ 00588000 * COLC /* REPORT COLUMN */ 00589000 * CONSTANT(031), 0014 00590000 * COLD /* REPORT COLUMN */ 00591000 * CONSTANT(049), 0014 00592000 * COLE /* REPORT COLUMN */ 00593000 * CONSTANT(062), 0014 00594000 * COLF /* REPORT COLUMN */ 00595000 * CONSTANT(076), 0014 00596000 * COLG /* REPORT COLUMN */ 00597000 * CONSTANT(091), 0014 00598000 * COLH /* REPORT COLUMN */ 00599000 * CONSTANT(106), 0014 00600000 * CP1 /* LANGUAGE PART 1 */ 00601000 * CONSTANT(1), 0014 00602000 * CP2 /* LANGUAGE PART 2 */ 00603000 * CONSTANT(2), 0014 00604000 * CP3 /* LANGUAGE PART 3 */ 00605000 * CONSTANT(3), 0014 00606000 * CP4 /* LANGUAGE PART 4 */ 00607000 * CONSTANT(4), 0014 00608000 * CP5 /* LANGUAGE PART 5 */ 00609000 * CONSTANT(5), 0014 00610000 * CP6 /* LANGUAGE PART 6 */ 00611000 * CONSTANT(6), 0014 00612000 * CP7 /* LANGUAGE PART 7 */ 00613000 * CONSTANT(7), 0014 00614000 * CP8 /* LANGUAGE PART 8 */ 00615000 * CONSTANT(8), 0014 00616000 * CP9 /* LANGUAGE PART 9 */ 00617000 * CONSTANT(9), 0014 00618000 * CP10 /* LANGUAGE PART 10 */ 00619000 * CONSTANT(10), 0014 00620000 * CP11 /* LANGUAGE PART 11 */ 00621000 * CONSTANT(11), 0014 00622000 * CP12 /* LANGUAGE PART 12 */ 00623000 * CONSTANT(12), 0014 00624000 * CP13 /* LANGUAGE PART 13 */ 00625000 * CONSTANT(13), 0014 00626000 * CP14 /* LANGUAGE PART 14 */ 00627000 * CONSTANT(14), 0014 00628000 * CP15 /* LANGUAGE PART 15 */ 00629000 * CONSTANT(15), 0014 00630000 * CP16 /* LANGUAGE PART 16 */ 00631000 * CONSTANT(16), 0014 00632000 * CP17 /* LANGUAGE PART 17 */ 00633000 * CONSTANT(17), 0014 00634000 * CP18 /* LANGUAGE PART 18 */ 00635000 * CONSTANT(18), 0014 00636000 * CP19 /* LANGUAGE PART 19 */ 00637000 * CONSTANT(19), 0014 00638000 * CP20 /* LANGUAGE PART 20 */ 00639000 * CONSTANT(20), 0014 00640000 * CP21 /* LANGUAGE PART 21 */ 00641000 * CONSTANT(21), 0014 00642000 * CP22 /* LANGUAGE PART 22 */ 00643000 * CONSTANT(22), 0014 00644000 * CP23 /* LANGUAGE PART 23 */ 00645000 * CONSTANT(23), 0014 00646000 * CP24 /* LANGUAGE PART 24 */ 00647000 * CONSTANT(24), 0014 00648000 * CP25 /* LANGUAGE PART 25 */ 00649000 * CONSTANT(25), 0014 00650000 * CP26 /* LANGUAGE PART 26 */ 00651000 * CONSTANT(26), 0014 00652000 * CP27 /* LANGUAGE PART 27 */ 00653000 * CONSTANT(27), 0014 00654000 * CP28 /* LANGUAGE PART 28 */ 00655000 * CONSTANT(28), 0014 00656000 * CP29 /* LANGUAGE PART 29 */ 00657000 * CONSTANT(29), 0014 00658000 * CP30 /* LANGUAGE PART 30 */ 00659000 * CONSTANT(30), 0014 00660000 * CP31 /* LANGUAGE PART 31 */ 00661000 * CONSTANT(31), 0014 00662000 * CP32 /* LANGUAGE PART 32 */ 00663000 * CONSTANT(32); 0014 00664000 * 0015 00665000 */* FUNCTIONAL CODE */ 00666000 * 0015 00667000 * RFY 0015 00668000 * (GPR11P /* TRANSPARENT REGISTERS FOR 0015 00669000 * CALLING RWVECTAB SUBROUTINES */ 00670000 * , 0015 00671000 * GPR12P) RSTD; 0015 00672000 * 0015 00673000 * /*****************************************************************/ 00674000 * /* */ 00675000 * /* INITIALIZE REPORT VARIABLES AND SYSTEM TOTALS */ 00676000 * /* */ 00677000 * /*****************************************************************/ 00678000 * 0016 00679000 * RWHDR=CSET; /* FIRST REPORT PAGE HEADER IS 0016 00680000 * REQUIRED. */ 00681000 OI RWHDR,B'10000000' 0016 00682000 * RWPAGE=0; /* REPORT PAGE NUMBER */ 00683000 SLR @07,@07 0017 00684000 ST @07,RWPAGE 0017 00685000 * RWPGZF=CLEAR; /* CLEAR PG ZERO FLAG */ 00686000 NI RWPGZF,B'01111111' 0018 00687000 * RWPGPZF=CLEAR; /* CLEAR PGP ZERO FLAG */ 00688000 NI RWPGPZF,B'01111111' 0019 00689000 * RWPGPZER=RWPGPZER&&RWPGPZER; /* ZERO PGP ZERO-DATA COMPARAND */ 00690000 XC RWPGPZER(20),RWPGPZER 0020 00691000 * RWDATA=RWDATA&&RWDATA; /* ZERO DATA/TOTAL FIELDS */ 00692000 XC RWDATA(144),RWDATA 0021 00693000 * DO RWPGN=CINITPGN TO STWVNPG; /* PROCESS ALL PG NUMBERS */ 00694000 LA @07,1 0022 00695000 B @DE00022 0022 00696000 @DL00022 DS 0H 0023 00697000 * IF SMF72PTR^=0 THEN /* IF PGN EXISTS, FORMAT ITS DATA*/ 00698000 SLA @07,2 0023 00699000 L @15,@PC00001 0023 00700000 L @01,SMF72S(,@15) 0023 00701000 LA @07,STWVPGNX-4(@07,@01) 0023 00702000 L @07,SMF72PTR(,@07) 0023 00703000 LTR @07,@07 0023 00704000 BZ @RF00023 0023 00705000 * DO; 0024 00706000 * IF RWHDR=CSET THEN /* IF PAGE HEADER IS NEEDED */ 00707000 TM RWHDR,B'10000000' 0025 00708000 BNO @RF00025 0025 00709000 * DO; 0026 00710000 * RWSMFPTR=SMF72PTR; /* SAVE SMF RECORD FOR PRINTING 00711000 * HEADERS, WHEN NO PGN EXISTS. */ 00712000 ST @07,RWSMFPTR 0027 00713000 * RWINTVL=SMF72INT; /* SAVE INTERVAL LENGTH. */ 00714000 MVC RWINTVL(4),SMF72INT(@07) 0028 00715000 * CALL RWPAGHDR; /* CREATE HEADER. */ 00716000 BAL @14,RWPAGHDR 0029 00717000 * RWHDR=CLEAR; /* FLAG, HEADER NO LONGER NEEDED.*/ 00718000 NI RWHDR,B'01111111' 0030 00719000 * END; 0031 00720000 * 0031 00721000 * /***********************************************************/ 00722000 * /* */ 00723000 * /* FORMAT PGN DATA IF PG DATA IS ALL ZERO, DO */ 00724000 * /* */ 00725000 * /***********************************************************/ 00726000 * 0032 00727000 * DO I=1 TO SMF72PGP WHILE(SMF72B(I)=RWPGPZER); 0032 00728000 @RF00025 LA I,1 0032 00729000 B @DE00032 0032 00730000 @DL00032 LR @07,I 0032 00731000 MH @07,@CH00286 0032 00732000 L @03,RWPGN 0032 00733000 SLA @03,2 0032 00734000 L @15,@PC00001 0032 00735000 L @01,SMF72S(,@15) 0032 00736000 LA @03,STWVPGNX-4(@03,@01) 0032 00737000 L @03,SMF72PTR(,@03) 0032 00738000 LA @15,SMF72SIZ(,@03) 0032 00739000 AH @15,SMF72SIZ(,@03) 0032 00740000 LH @03,SMF72SWC(,@15) 0032 00741000 ALR @03,@15 0032 00742000 ALR @03,@07 0032 00743000 AL @03,@CF00392 0032 00744000 CLC SMF72B(20,@03),RWPGPZER 0032 00745000 BNE @DC00032 0032 00746000 * END; 0033 00747000 AL I,@CF00090 0033 00748000 @DE00032 L @07,RWPGN 0033 00749000 SLA @07,2 0033 00750000 L @03,@PC00001 0033 00751000 L @03,SMF72S(,@03) 0033 00752000 LA @07,STWVPGNX-4(@07,@03) 0033 00753000 L @07,SMF72PTR(,@07) 0033 00754000 LA @07,SMF72SIZ(,@07) 0033 00755000 L @03,RWPGN 0033 00756000 SLA @03,2 0033 00757000 L @15,@PC00001 0033 00758000 L @01,SMF72S(,@15) 0033 00759000 LA @03,STWVPGNX-4(@03,@01) 0033 00760000 L @03,SMF72PTR(,@03) 0033 00761000 AH @07,SMF72SIZ(,@03) 0033 00762000 CH I,SMF72PGP(,@07) 0033 00763000 BNH @DL00032 0033 00764000 @DC00032 DS 0H 0034 00765000 * IF I>SMF72PGP THEN /* IF ALL PGP S ARE ZERO, PG IS 0*/ 00766000 L @07,RWPGN 0034 00767000 SLA @07,2 0034 00768000 L @03,@PC00001 0034 00769000 L @03,SMF72S(,@03) 0034 00770000 LA @07,STWVPGNX-4(@07,@03) 0034 00771000 L @07,SMF72PTR(,@07) 0034 00772000 LA @03,SMF72SIZ(,@07) 0034 00773000 AH @03,SMF72SIZ(,@07) 0034 00774000 CH I,SMF72PGP(,@03) 0034 00775000 BNH @RF00034 0034 00776000 * DO; 0035 00777000 * 0035 00778000 * /*******************************************************/ 00779000 * /* */ 00780000 * /* MACDATE Y-2 73018 */ 00781000 * /* */ 00782000 * /*******************************************************/ 00783000 * 0036 00784000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 00785000 * RWPGN, /* INPUT VALUE */ 00786000 * CPGNSCLV, /* INPUT SCALE */ 00787000 * RWWRKSTR, /* OUTPUT STRING */ 00788000 * CPGNLEN, /* OUTPUT LENGTH */ 00789000 * CPGNPRDP, /* PLACES RIGHT OF DEC PT */ 00790000 * CNOCOMMA, /* COMMAS FLAG */ 00791000 * CNOFLOAT /* MAX PRECISION FLAG */ 00792000 * ); 0036 00793000 * 0036 00794000 MVC @AL00001+4(24),@AL00036 0036 00795000 LA @07,RWPGN 0036 00796000 ST @07,@AL00001 0036 00797000 LA @07,RWWRKSTR 0036 00798000 ST @07,@AL00001+8 0036 00799000 L @07,@PC00001+4 0036 00800000 L @15,RWVECTAB(,@07) 0036 00801000 LA @01,@AL00001 0036 00802000 BALR @14,@15 0036 00803000 * /*******************************************************/ 00804000 * /* */ 00805000 * /* MAKE LEADING BLANKS INTO LEADING ZERO S */ 00806000 * /* */ 00807000 * /*******************************************************/ 00808000 * 0037 00809000 * DO I=1 TO CPGNLEN WHILE(RWWRKSTR(I:I)=' '); 0037 00810000 LA I,1 0037 00811000 @DL00037 LA @07,RWWRKSTR-1(I) 0037 00812000 CLI 0(@07),C' ' 0037 00813000 BNE @DC00037 0037 00814000 * RWWRKSTR(I:I)='0'; 0038 00815000 LA @07,RWWRKSTR-1(I) 0038 00816000 MVI 0(@07),C'0' 0038 00817000 * END; 0039 00818000 AL I,@CF00090 0039 00819000 C I,@CF00133 0039 00820000 BNH @DL00037 0039 00821000 @DC00037 DS 0H 0040 00822000 * IF RWPGZF=CLEAR THEN /* IF THIS IS 1ST ZERO-DATA PGN */ 00823000 TM RWPGZF,B'10000000' 0040 00824000 BNZ @RF00040 0040 00825000 * DO; 0041 00826000 * 0041 00827000 * /***************************************************/ 00828000 * /* */ 00829000 * /* FORMAT PGN IN 1ST POSITION OF TWO PGN SLOTS */ 00830000 * /* ?PRINT(CCPG,RWWRKSTR,CPGNLEN,RWLINE,COLA) */ 00831000 * /* */ 00832000 * /***************************************************/ 00833000 * 0042 00834000 * IF CCPG<=MFPMOPT THEN/* IF THIS LEVEL OF REPORT IS 00835000 * SELECTED FOR PRINTING */ 00836000 L @07,@PC00001+8 0042 00837000 L @07,RWPMAPTR(,@07) 0042 00838000 L @07,MFPMOPT(,@07) 0042 00839000 C @07,@CF00061 0042 00840000 BL @RF00042 0042 00841000 * DO; 0043 00842000 * 0043 00843000 * /***********************************************/ 00844000 * /* */ 00845000 * /* MACDATE Y-2 73018 */ 00846000 * /* */ 00847000 * /***********************************************/ 00848000 * 0044 00849000 * CALL MFISRTXT(/* INSERT TEXT ROUTINE */ 00850000 * RWWRKSTR, /* TEXT */ 00851000 * CPGNLEN, /* LENGTH */ 00852000 * RWLINE, /* START LINE */ 00853000 * COLA /* START COLUMN */ 00854000 * ); 0044 00855000 LA @07,RWWRKSTR 0044 00856000 ST @07,@AL00001 0044 00857000 LA @07,@CF00133 0044 00858000 ST @07,@AL00001+4 0044 00859000 LA @07,RWLINE 0044 00860000 ST @07,@AL00001+8 0044 00861000 LA @07,@CF00090 0044 00862000 ST @07,@AL00001+12 0044 00863000 L @07,@PC00001+4 0044 00864000 L @15,RWVECTAB+8(,@07) 0044 00865000 LA @01,@AL00001 0044 00866000 BALR @14,@15 0044 00867000 * END; 0045 00868000 * RWPGZF=CSET; /* 1ST ZERO-DATA PGN FOUND */ 00869000 * 0046 00870000 @RF00042 OI RWPGZF,B'10000000' 0046 00871000 * /***************************************************/ 00872000 * /* */ 00873000 * /* FORMAT 'ZEROS' INSTEAD OF PG'S DATA ?PRINT(CCPG,*/ 00874000 * /* LNGTPTR(CP2)->LNGTXTD,LNGTPTR(CP2)->LNGTXTL,RWLI*/ 00875000 * /* NE,COLB) */ 00876000 * /* */ 00877000 * /***************************************************/ 00878000 * 0047 00879000 * IF CCPG<=MFPMOPT THEN/* IF THIS LEVEL OF REPORT IS 00880000 * SELECTED FOR PRINTING */ 00881000 L @07,@PC00001+8 0047 00882000 L @07,RWPMAPTR(,@07) 0047 00883000 L @07,MFPMOPT(,@07) 0047 00884000 C @07,@CF00061 0047 00885000 BL @RF00047 0047 00886000 * DO; 0048 00887000 * 0048 00888000 * /***********************************************/ 00889000 * /* */ 00890000 * /* MACDATE Y-2 73018 */ 00891000 * /* */ 00892000 * /***********************************************/ 00893000 * 0049 00894000 * CALL MFISRTXT(/* INSERT TEXT ROUTINE */ 00895000 * LNGTPTR(CP2)->LNGTXTD,/* TEXT */ 00896000 * LNGTPTR(CP2)->LNGTXTL,/* LENGTH */ 00897000 * RWLINE, /* START LINE */ 00898000 * COLB /* START COLUMN */ 00899000 * ); 0049 00900000 L @07,@CA00082 0049 00901000 L @07,LNGTPTR-IRBMFLWV+4(,@07) 0049 00902000 LA @15,LNGTXTD(,@07) 0049 00903000 ST @15,@AL00001 0049 00904000 ST @07,@AL00001+4 0049 00905000 LA @07,RWLINE 0049 00906000 ST @07,@AL00001+8 0049 00907000 LA @07,@CF00100 0049 00908000 ST @07,@AL00001+12 0049 00909000 L @07,@PC00001+4 0049 00910000 L @15,RWVECTAB+8(,@07) 0049 00911000 LA @01,@AL00001 0049 00912000 BALR @14,@15 0049 00913000 * END; 0050 00914000 * END; 0051 00915000 * ELSE 0052 00916000 * DO; 0052 00917000 * 0052 00918000 B @RC00040 0052 00919000 @RF00040 DS 0H 0053 00920000 * /***************************************************/ 00921000 * /* */ 00922000 * /* FORMAT DASH BETWEEN TWO PGN SLOTS ?PRINT(CCPG,LN*/ 00923000 * /* GTPTR(CP32)->LNGTXTD,LNGTPTR(CP32)->LNGTXTL,RWLI*/ 00924000 * /* NE,COLA+CPGNLEN+CPGNDASH) */ 00925000 * /* */ 00926000 * /***************************************************/ 00927000 * 0053 00928000 * IF CCPG<=MFPMOPT THEN/* IF THIS LEVEL OF REPORT IS 00929000 * SELECTED FOR PRINTING */ 00930000 L @07,@PC00001+8 0053 00931000 L @07,RWPMAPTR(,@07) 0053 00932000 L @07,MFPMOPT(,@07) 0053 00933000 C @07,@CF00061 0053 00934000 BL @RF00053 0053 00935000 * DO; 0054 00936000 * 0054 00937000 * /***********************************************/ 00938000 * /* */ 00939000 * /* MACDATE Y-2 73018 */ 00940000 * /* */ 00941000 * /***********************************************/ 00942000 * 0055 00943000 * CALL MFISRTXT(/* INSERT TEXT ROUTINE */ 00944000 * LNGTPTR(CP32)->LNGTXTD,/* TEXT */ 00945000 * LNGTPTR(CP32)->LNGTXTL,/* LENGTH */ 00946000 * RWLINE, /* START LINE */ 00947000 * COLA+CPGNLEN+CPGNDASH/* START COLUMN */ 00948000 * ); 0055 00949000 L @07,@CA00082 0055 00950000 L @07,LNGTPTR-IRBMFLWV+124(,@07) 0055 00951000 LA @15,LNGTXTD(,@07) 0055 00952000 ST @15,@AL00001 0055 00953000 ST @07,@AL00001+4 0055 00954000 LA @07,RWLINE 0055 00955000 ST @07,@AL00001+8 0055 00956000 LA @07,@CF00265 0055 00957000 ST @07,@AL00001+12 0055 00958000 L @07,@PC00001+4 0055 00959000 L @15,RWVECTAB+8(,@07) 0055 00960000 LA @01,@AL00001 0055 00961000 BALR @14,@15 0055 00962000 * END; 0056 00963000 * 0056 00964000 * /***************************************************/ 00965000 * /* */ 00966000 * /* FORMAT PGN IN 2ND POSITION OF TWO PGN SLOTS ?PRI*/ 00967000 * /* NT(CCPG,RWWRKSTR,CPGNLEN,RWLINE,COLA+CPGNLEN+(2**/ 00968000 * /* CPGNDASH)+(LNGTPTR(CP32)->LNGTXTL)) */ 00969000 * /* */ 00970000 * /***************************************************/ 00971000 * 0057 00972000 * IF CCPG<=MFPMOPT THEN/* IF THIS LEVEL OF REPORT IS 00973000 * SELECTED FOR PRINTING */ 00974000 @RF00053 L @07,@PC00001+8 0057 00975000 L @07,RWPMAPTR(,@07) 0057 00976000 L @07,MFPMOPT(,@07) 0057 00977000 C @07,@CF00061 0057 00978000 BL @RF00057 0057 00979000 * DO; 0058 00980000 * 0058 00981000 * /***********************************************/ 00982000 * /* */ 00983000 * /* MACDATE Y-2 73018 */ 00984000 * /* */ 00985000 * /***********************************************/ 00986000 * 0059 00987000 * CALL MFISRTXT(/* INSERT TEXT ROUTINE */ 00988000 * RWWRKSTR, /* TEXT */ 00989000 * CPGNLEN, /* LENGTH */ 00990000 * RWLINE, /* START LINE */ 00991000 * COLA+CPGNLEN+(2*CPGNDASH)+(LNGTPTR(CP32)-> 00992000 * LNGTXTL) /* START COLUMN */ 00993000 * ); 0059 00994000 LA @07,RWWRKSTR 0059 00995000 ST @07,@AL00001 0059 00996000 LA @07,@CF00133 0059 00997000 ST @07,@AL00001+4 0059 00998000 LA @07,RWLINE 0059 00999000 ST @07,@AL00001+8 0059 01000000 L @07,@CA00082 0059 01001000 L @07,LNGTPTR-IRBMFLWV+124(,@07) 0059 01002000 LA @15,6 0059 01003000 AL @15,LNGTXTL(,@07) 0059 01004000 ST @15,@AFTEMPS+8 0059 01005000 LA @07,@AFTEMPS+8 0059 01006000 ST @07,@AL00001+12 0059 01007000 L @07,@PC00001+4 0059 01008000 L @15,RWVECTAB+8(,@07) 0059 01009000 LA @01,@AL00001 0059 01010000 BALR @14,@15 0059 01011000 * END; 0060 01012000 * END; 0061 01013000 * END; /* END 'IF ALL PG DATA IS ZERO' */ 01014000 * 0062 01015000 * /***********************************************************/ 01016000 * /* */ 01017000 * /* PG DATA IS TO BE FORMATTED */ 01018000 * /* */ 01019000 * /***********************************************************/ 01020000 * 0063 01021000 * ELSE 0063 01022000 * DO; 0063 01023000 B @RC00034 0063 01024000 @RF00034 DS 0H 0064 01025000 * IF RWPGZF=CSET THEN /* IF ZERO-DATA PG WAS LAST PG */ 01026000 TM RWPGZF,B'10000000' 0064 01027000 BNO @RF00064 0064 01028000 * DO; 0065 01029000 * 0065 01030000 * /***************************************************/ 01031000 * /* */ 01032000 * /* ?LINE(CCPG,CPGNSPAC+1) */ 01033000 * /* */ 01034000 * /***************************************************/ 01035000 * 0066 01036000 * IF CCPG<=MFPMOPT THEN/* IF THIS LEVEL OF REPORT IS 01037000 * SELECTED FOR PRINTING */ 01038000 L @07,@PC00001+8 0066 01039000 L @07,RWPMAPTR(,@07) 0066 01040000 L @07,MFPMOPT(,@07) 0066 01041000 C @07,@CF00061 0066 01042000 BL @RF00066 0066 01043000 * DO; 0067 01044000 * RWLINE=RWLINE+CPGNSPAC+1;/* CHANGE LINE NUMBER */ 01045000 LA @07,3 0068 01046000 AL @07,RWLINE 0068 01047000 ST @07,RWLINE 0068 01048000 * IF RWLINE>=RGMAXLN THEN/* CHECK FOR FULL PAGE */ 01049000 C @07,@CF00121 0069 01050000 BL @RF00069 0069 01051000 * CALL RWFULPAG;/* OUTPUT PAGE */ 01052000 BAL @14,RWFULPAG 0070 01053000 * END; 0071 01054000 @RF00069 DS 0H 0072 01055000 * END; 0072 01056000 @RF00066 DS 0H 0073 01057000 * RWPGZF=CLEAR; /* FLAG PG DATA IS NON ZERO */ 01058000 @RF00064 NI RWPGZF,B'01111111' 0073 01059000 * DO RWPGP=1 TO SMF72PGP;/* FOR EACH PGP (PG PERIOD) */ 01060000 LA @07,1 0074 01061000 B @DE00074 0074 01062000 @DL00074 DS 0H 0075 01063000 * IF RWLINE=CTOPLINE| /* IF TOP OF PAGE OR */ 01064000 * RWPGP=1 THEN /* IF PGP NUMBER 1 */ 01065000 CLC RWLINE(4),@CF00248 0075 01066000 BE @RT00075 0075 01067000 C @07,@CF00090 0075 01068000 BNE @RF00075 0075 01069000 @RT00075 DS 0H 0076 01070000 * DO; 0076 01071000 * 0076 01072000 * /*************************************************/ 01073000 * /* */ 01074000 * /* FORMAT PGN MACDATE Y-2 73018 */ 01075000 * /* */ 01076000 * /*************************************************/ 01077000 * 0077 01078000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 01079000 * RWPGN, /* INPUT VALUE */ 01080000 * CPGNSCLV, /* INPUT SCALE */ 01081000 * RWWRKSTR, /* OUTPUT STRING */ 01082000 * CPGNLEN, /* OUTPUT LENGTH */ 01083000 * CPGNPRDP, /* PLACES RIGHT OF DEC PT */ 01084000 * CNOCOMMA, /* COMMAS FLAG */ 01085000 * CNOFLOAT /* MAX PRECISION FLAG */ 01086000 * ); 0077 01087000 * 0077 01088000 MVC @AL00001+4(24),@AL00077 0077 01089000 LA @15,RWPGN 0077 01090000 ST @15,@AL00001 0077 01091000 LA @15,RWWRKSTR 0077 01092000 ST @15,@AL00001+8 0077 01093000 L @14,@PC00001+4 0077 01094000 L @15,RWVECTAB(,@14) 0077 01095000 LA @01,@AL00001 0077 01096000 BALR @14,@15 0077 01097000 * /*************************************************/ 01098000 * /* */ 01099000 * /* MAKE LEADING BLANKS INTO LEADING ZEROS. */ 01100000 * /* */ 01101000 * /*************************************************/ 01102000 * 0078 01103000 * DO I=1 TO CPGNLEN WHILE(RWWRKSTR(I)=' '); 0078 01104000 LA I,1 0078 01105000 @DL00078 LA @03,RWWRKSTR-1(I) 0078 01106000 CLI 0(@03),C' ' 0078 01107000 BNE @DC00078 0078 01108000 * RWWRKSTR(I)='0'; 0079 01109000 LA @03,RWWRKSTR-1(I) 0079 01110000 MVI 0(@03),C'0' 0079 01111000 * END; 0080 01112000 * 0080 01113000 AL I,@CF00090 0080 01114000 C I,@CF00133 0080 01115000 BNH @DL00078 0080 01116000 @DC00078 DS 0H 0081 01117000 * /*************************************************/ 01118000 * /* */ 01119000 * /* ?PRINT(CPGP,RWWRKSTR,CPGNLEN,RWLINE,COLA) */ 01120000 * /* */ 01121000 * /*************************************************/ 01122000 * 0081 01123000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF REPORT 01124000 * IS SELECTED FOR PRINTING */ 01125000 L @15,@PC00001+8 0081 01126000 L @01,RWPMAPTR(,@15) 0081 01127000 L @15,MFPMOPT(,@01) 0081 01128000 C @15,@CF00133 0081 01129000 BL @RF00081 0081 01130000 * DO; 0082 01131000 * 0082 01132000 * /*********************************************/ 01133000 * /* */ 01134000 * /* MACDATE Y-2 73018 */ 01135000 * /* */ 01136000 * /*********************************************/ 01137000 * 0083 01138000 * CALL MFISRTXT(/* INSERT TEXT ROUTINE */ 01139000 * RWWRKSTR,/* TEXT */ 01140000 * CPGNLEN,/* LENGTH */ 01141000 * RWLINE, /* START LINE */ 01142000 * COLA /* START COLUMN */ 01143000 * ); 0083 01144000 LA @15,RWWRKSTR 0083 01145000 ST @15,@AL00001 0083 01146000 LA @15,@CF00133 0083 01147000 ST @15,@AL00001+4 0083 01148000 LA @15,RWLINE 0083 01149000 ST @15,@AL00001+8 0083 01150000 LA @15,@CF00090 0083 01151000 ST @15,@AL00001+12 0083 01152000 L @14,@PC00001+4 0083 01153000 L @15,RWVECTAB+8(,@14) 0083 01154000 LA @01,@AL00001 0083 01155000 BALR @14,@15 0083 01156000 * END; 0084 01157000 * 0084 01158000 * /*************************************************/ 01159000 * /* */ 01160000 * /* REMEBER FIRST DATA LINE IN PGP GROUPING */ 01161000 * /* */ 01162000 * /*************************************************/ 01163000 * 0085 01164000 * RWPGPLIN=RWLINE; 0085 01165000 @RF00081 L RWPGPLIN,RWLINE 0085 01166000 * END; 0086 01167000 * 0086 01168000 * /*****************************************************/ 01169000 * /* */ 01170000 * /* IF PGP DATA IS ALL ZERO, DO */ 01171000 * /* */ 01172000 * /*****************************************************/ 01173000 * 0087 01174000 * IF SMF72B(RWPGP)=RWPGPZER THEN 0087 01175000 @RF00075 L @07,RWPGP 0087 01176000 MH @07,@CH00286 0087 01177000 L @15,RWPGN 0087 01178000 SLA @15,2 0087 01179000 L @14,@PC00001 0087 01180000 L @01,SMF72S(,@14) 0087 01181000 LA @15,STWVPGNX-4(@15,@01) 0087 01182000 L @15,SMF72PTR(,@15) 0087 01183000 LA @14,SMF72SIZ(,@15) 0087 01184000 AH @14,SMF72SIZ(,@15) 0087 01185000 LH @15,SMF72SWC(,@14) 0087 01186000 ALR @15,@14 0087 01187000 ALR @15,@07 0087 01188000 AL @15,@CF00392 0087 01189000 CLC SMF72B(20,@15),RWPGPZER 0087 01190000 BNE @RF00087 0087 01191000 * DO; 0088 01192000 * 0088 01193000 * /*************************************************/ 01194000 * /* */ 01195000 * /* MACDATE Y-2 73018 */ 01196000 * /* */ 01197000 * /*************************************************/ 01198000 * 0089 01199000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 01200000 * RWPGP, /* INPUT VALUE */ 01201000 * CPGPSCLV, /* INPUT SCALE */ 01202000 * RWWRKSTR, /* OUTPUT STRING */ 01203000 * CPGPLEN, /* OUTPUT LENGTH */ 01204000 * CPGPPRDP, /* PLACES RIGHT OF DEC PT */ 01205000 * CNOCOMMA, /* COMMAS FLAG */ 01206000 * CNOFLOAT /* MAX PRECISION FLAG */ 01207000 * ); 0089 01208000 MVC @AL00001+4(24),@AL00089 0089 01209000 LA @07,RWPGP 0089 01210000 ST @07,@AL00001 0089 01211000 LA @07,RWWRKSTR 0089 01212000 ST @07,@AL00001+8 0089 01213000 L @07,@PC00001+4 0089 01214000 L @15,RWVECTAB(,@07) 0089 01215000 LA @01,@AL00001 0089 01216000 BALR @14,@15 0089 01217000 * IF RWPGPZF=CLEAR THEN/* IF 1ST ZERO-DATA PGP */ 01218000 TM RWPGPZF,B'10000000' 0090 01219000 BNZ @RF00090 0090 01220000 * DO; 0091 01221000 * 0091 01222000 * /*********************************************/ 01223000 * /* */ 01224000 * /* FORMAT PGP NUMBER IN 1ST OF TWO POSITIONS */ 01225000 * /* ?PRINT(CPGP,RWWRKSTR,CPGPLEN,RWLINE,COLB) */ 01226000 * /* */ 01227000 * /*********************************************/ 01228000 * 0092 01229000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF 0092 01230000 * REPORT IS SELECTED FOR 0092 01231000 * PRINTING */ 01232000 L @07,@PC00001+8 0092 01233000 L @07,RWPMAPTR(,@07) 0092 01234000 L @07,MFPMOPT(,@07) 0092 01235000 C @07,@CF00133 0092 01236000 BL @RF00092 0092 01237000 * DO; 0093 01238000 * 0093 01239000 * /*****************************************/ 01240000 * /* */ 01241000 * /* MACDATE Y-2 73018 */ 01242000 * /* */ 01243000 * /*****************************************/ 01244000 * 0094 01245000 * CALL MFISRTXT(/* INSERT TEXT ROUTINE */ 01246000 * RWWRKSTR,/* TEXT */ 01247000 * CPGPLEN,/* LENGTH */ 01248000 * RWLINE,/* START LINE */ 01249000 * COLB/* START COLUMN */ 01250000 * ); 0094 01251000 LA @07,RWWRKSTR 0094 01252000 ST @07,@AL00001 0094 01253000 LA @07,@CF00090 0094 01254000 ST @07,@AL00001+4 0094 01255000 LA @07,RWLINE 0094 01256000 ST @07,@AL00001+8 0094 01257000 LA @07,@CF00100 0094 01258000 ST @07,@AL00001+12 0094 01259000 L @07,@PC00001+4 0094 01260000 L @15,RWVECTAB+8(,@07) 0094 01261000 LA @01,@AL00001 0094 01262000 BALR @14,@15 0094 01263000 * END; 0095 01264000 * RWPGPZF=CSET;/* 1ST ZERO-DATA PGP FOUND */ 01265000 * 0096 01266000 @RF00092 OI RWPGPZF,B'10000000' 0096 01267000 * /*********************************************/ 01268000 * /* */ 01269000 * /* FORMAT 'ZEROS' INSTEAD OF PGP'S DATA ?PRIN*/ 01270000 * /* T(CPGP,LNGTPTR(CP2)->LNGTXTD,LNGTPTR(CP2)-*/ 01271000 * /* >LNGTXTL,RWLINE,COLC+RWOUTLEN(COUTDAT1)-LN*/ 01272000 * /* GTPTR(CP2)->LNGTXTL) */ 01273000 * /* */ 01274000 * /*********************************************/ 01275000 * 0097 01276000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF 0097 01277000 * REPORT IS SELECTED FOR 0097 01278000 * PRINTING */ 01279000 L @07,@PC00001+8 0097 01280000 L @07,RWPMAPTR(,@07) 0097 01281000 L @07,MFPMOPT(,@07) 0097 01282000 C @07,@CF00133 0097 01283000 BL @RF00097 0097 01284000 * DO; 0098 01285000 * 0098 01286000 * /*****************************************/ 01287000 * /* */ 01288000 * /* MACDATE Y-2 73018 */ 01289000 * /* */ 01290000 * /*****************************************/ 01291000 * 0099 01292000 * CALL MFISRTXT(/* INSERT TEXT ROUTINE */ 01293000 * LNGTPTR(CP2)->LNGTXTD,/* TEXT */ 01294000 * LNGTPTR(CP2)->LNGTXTL,/* LENGTH */ 01295000 * RWLINE,/* START LINE */ 01296000 * COLC+RWOUTLEN(COUTDAT1)-LNGTPTR(CP2)-> 01297000 * LNGTXTL/* START COLUMN */ 01298000 * ); 0099 01299000 L @07,@CA00082 0099 01300000 L @07,LNGTPTR-IRBMFLWV+4(,@07) 0099 01301000 LA @15,LNGTXTD(,@07) 0099 01302000 ST @15,@AL00001 0099 01303000 ST @07,@AL00001+4 0099 01304000 LA @15,RWLINE 0099 01305000 ST @15,@AL00001+8 0099 01306000 LA @15,31 0099 01307000 AL @15,RWOUTLEN 0099 01308000 SL @15,LNGTXTL(,@07) 0099 01309000 ST @15,@AFTEMPS+8 0099 01310000 LA @07,@AFTEMPS+8 0099 01311000 ST @07,@AL00001+12 0099 01312000 L @07,@PC00001+4 0099 01313000 L @15,RWVECTAB+8(,@07) 0099 01314000 LA @01,@AL00001 0099 01315000 BALR @14,@15 0099 01316000 * END; 0100 01317000 * END; 0101 01318000 * ELSE 0102 01319000 * DO; 0102 01320000 * 0102 01321000 B @RC00090 0102 01322000 @RF00090 DS 0H 0103 01323000 * /*********************************************/ 01324000 * /* */ 01325000 * /* FORMAT DASH BETWEEN TO PGP NUMBER SLOTS ?P*/ 01326000 * /* RINT(CPGP,LNGTPTR(CP32)->LNGTXTD,LNGTPTR(C*/ 01327000 * /* P32)->LNGTXTL,RWLINE,COLB+CPGPLEN+CPGPDASH*/ 01328000 * /* ) */ 01329000 * /* */ 01330000 * /*********************************************/ 01331000 * 0103 01332000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF 0103 01333000 * REPORT IS SELECTED FOR 0103 01334000 * PRINTING */ 01335000 L @07,@PC00001+8 0103 01336000 L @07,RWPMAPTR(,@07) 0103 01337000 L @07,MFPMOPT(,@07) 0103 01338000 C @07,@CF00133 0103 01339000 BL @RF00103 0103 01340000 * DO; 0104 01341000 * 0104 01342000 * /*****************************************/ 01343000 * /* */ 01344000 * /* MACDATE Y-2 73018 */ 01345000 * /* */ 01346000 * /*****************************************/ 01347000 * 0105 01348000 * CALL MFISRTXT(/* INSERT TEXT ROUTINE */ 01349000 * LNGTPTR(CP32)->LNGTXTD,/* TEXT */ 01350000 * LNGTPTR(CP32)->LNGTXTL,/* LENGTH */ 01351000 * RWLINE,/* START LINE */ 01352000 * COLB+CPGPLEN+CPGPDASH/* START COLUMN */ 01353000 * ); 0105 01354000 L @07,@CA00082 0105 01355000 L @07,LNGTPTR-IRBMFLWV+124(,@07) 0105 01356000 LA @15,LNGTXTD(,@07) 0105 01357000 ST @15,@AL00001 0105 01358000 ST @07,@AL00001+4 0105 01359000 LA @07,RWLINE 0105 01360000 ST @07,@AL00001+8 0105 01361000 LA @07,@CF00282 0105 01362000 ST @07,@AL00001+12 0105 01363000 L @07,@PC00001+4 0105 01364000 L @15,RWVECTAB+8(,@07) 0105 01365000 LA @01,@AL00001 0105 01366000 BALR @14,@15 0105 01367000 * END; 0106 01368000 * 0106 01369000 * /*********************************************/ 01370000 * /* */ 01371000 * /* FORMAT PGP IN 2ND OF TWO PGP NUMBER SLOTS */ 01372000 * /* ?PRINT(CPGP,RWWRKSTR,CPGPLEN,RWLINE,COLB+C*/ 01373000 * /* PGPLEN+(LNGTPTR(CP32)->LNGTXTL)+(2*CPGPDAS*/ 01374000 * /* H)) */ 01375000 * /* */ 01376000 * /*********************************************/ 01377000 * 0107 01378000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF 0107 01379000 * REPORT IS SELECTED FOR 0107 01380000 * PRINTING */ 01381000 @RF00103 L @07,@PC00001+8 0107 01382000 L @07,RWPMAPTR(,@07) 0107 01383000 L @07,MFPMOPT(,@07) 0107 01384000 C @07,@CF00133 0107 01385000 BL @RF00107 0107 01386000 * DO; 0108 01387000 * 0108 01388000 * /*****************************************/ 01389000 * /* */ 01390000 * /* MACDATE Y-2 73018 */ 01391000 * /* */ 01392000 * /*****************************************/ 01393000 * 0109 01394000 * CALL MFISRTXT(/* INSERT TEXT ROUTINE */ 01395000 * RWWRKSTR,/* TEXT */ 01396000 * CPGPLEN,/* LENGTH */ 01397000 * RWLINE,/* START LINE */ 01398000 * COLB+CPGPLEN+(LNGTPTR(CP32)->LNGTXTL)+( 01399000 * 2*CPGPDASH)/* START COLUMN */ 01400000 * ); 0109 01401000 LA @07,RWWRKSTR 0109 01402000 ST @07,@AL00001 0109 01403000 LA @07,@CF00090 0109 01404000 ST @07,@AL00001+4 0109 01405000 LA @07,RWLINE 0109 01406000 ST @07,@AL00001+8 0109 01407000 L @07,@CA00082 0109 01408000 L @07,LNGTPTR-IRBMFLWV+124(,@07) 0109 01409000 LA @15,19 0109 01410000 AL @15,LNGTXTL(,@07) 0109 01411000 ST @15,@AFTEMPS+8 0109 01412000 LA @07,@AFTEMPS+8 0109 01413000 ST @07,@AL00001+12 0109 01414000 L @07,@PC00001+4 0109 01415000 L @15,RWVECTAB+8(,@07) 0109 01416000 LA @01,@AL00001 0109 01417000 BALR @14,@15 0109 01418000 * END; 0110 01419000 * END; 0111 01420000 * END; 0112 01421000 * 0113 01422000 * /*****************************************************/ 01423000 * /* */ 01424000 * /* PGP DATA IS TO BE FORMATTED */ 01425000 * /* */ 01426000 * /*****************************************************/ 01427000 * 0113 01428000 * ELSE 0113 01429000 * DO; 0113 01430000 B @RC00087 0113 01431000 @RF00087 DS 0H 0114 01432000 * IF RWPGPZF=CSET THEN/* IF LAST PGP DATA WAS ALL 01433000 * ZEROS, */ 01434000 TM RWPGPZF,B'10000000' 0114 01435000 BNO @RF00114 0114 01436000 * DO; 0115 01437000 * 0115 01438000 * /*********************************************/ 01439000 * /* */ 01440000 * /* GO TO NEXT LINE. ?LINE(CPGP,CPGPSPAC) */ 01441000 * /* */ 01442000 * /*********************************************/ 01443000 * 0116 01444000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF 0116 01445000 * REPORT IS SELECTED FOR 0116 01446000 * PRINTING */ 01447000 L @07,@PC00001+8 0116 01448000 L @07,RWPMAPTR(,@07) 0116 01449000 L @07,MFPMOPT(,@07) 0116 01450000 C @07,@CF00133 0116 01451000 BL @RF00116 0116 01452000 * DO; 0117 01453000 * RWLINE=RWLINE+CPGPSPAC;/* CHANGE LINE 0118 01454000 * NUMBER */ 01455000 LA @07,1 0118 01456000 AL @07,RWLINE 0118 01457000 ST @07,RWLINE 0118 01458000 * IF RWLINE>=RGMAXLN THEN/* CHECK FOR FULL 01459000 * PAGE */ 01460000 C @07,@CF00121 0119 01461000 BL @RF00119 0119 01462000 * CALL RWFULPAG;/* OUTPUT PAGE */ 01463000 BAL @14,RWFULPAG 0120 01464000 * END; 0121 01465000 @RF00119 DS 0H 0122 01466000 * END; 0122 01467000 * 0122 01468000 @RF00116 DS 0H 0123 01469000 * /*************************************************/ 01470000 * /* */ 01471000 * /* SPACING IS DONE AFTER ZERO-DATA PGP'S */ 01472000 * /* */ 01473000 * /*************************************************/ 01474000 * 0123 01475000 * IF(RWLINE-RWPGPLIN)/* IF NUMBER OF PGP DATA LINES*/ 01476000 * =CPGPGRP THEN/* IS A MULTIPLE OF THE NUMBER 01477000 * OF LINES IN A PGP GROUPING */ 01478000 @RF00114 L @07,RWLINE 0123 01479000 LR @15,@07 0123 01480000 SLR @15,RWPGPLIN 0123 01481000 C @15,@CF00054 0123 01482000 BNE @RF00123 0123 01483000 * DO; 0124 01484000 * 0124 01485000 * /*********************************************/ 01486000 * /* */ 01487000 * /* PUT BLANK LINE IN REPORT. */ 01488000 * /* ?LINE(CPGP,CGRPSPAC) */ 01489000 * /* */ 01490000 * /*********************************************/ 01491000 * 0125 01492000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF 0125 01493000 * REPORT IS SELECTED FOR 0125 01494000 * PRINTING */ 01495000 L @06,@PC00001+8 0125 01496000 L @01,RWPMAPTR(,@06) 0125 01497000 L @06,MFPMOPT(,@01) 0125 01498000 C @06,@CF00133 0125 01499000 BL @RF00125 0125 01500000 * DO; 0126 01501000 * RWLINE=RWLINE+CGRPSPAC;/* CHANGE LINE 0127 01502000 * NUMBER */ 01503000 AL @07,@CF00090 0127 01504000 ST @07,RWLINE 0127 01505000 * IF RWLINE>=RGMAXLN THEN/* CHECK FOR FULL 01506000 * PAGE */ 01507000 C @07,@CF00121 0128 01508000 BL @RF00128 0128 01509000 * CALL RWFULPAG;/* OUTPUT PAGE */ 01510000 BAL @14,RWFULPAG 0129 01511000 * END; 0130 01512000 @RF00128 DS 0H 0131 01513000 * RWPGPLIN=RWLINE;/* RESET FIRST LINE OF PGP 0131 01514000 * DATA GROUPING */ 01515000 @RF00125 L RWPGPLIN,RWLINE 0131 01516000 * END; 0132 01517000 * RWPGPZF=CLEAR; /* FLAG PGP DATA IS NON ZERO */ 01518000 * 0133 01519000 @RF00123 NI RWPGPZF,B'01111111' 0133 01520000 * /*************************************************/ 01521000 * /* */ 01522000 * /* MOVE PGP DATA INTO DOUBLE WORD ACCUMULATOR */ 01523000 * /* FORM */ 01524000 * /* */ 01525000 * /*************************************************/ 01526000 * 0134 01527000 * RWDASERL(CPGP)=SMF72SER(RWPGP);/* SERVICE */ 01528000 L @07,RWPGP 0134 01529000 MH @07,@CH00286 0134 01530000 L @15,RWPGN 0134 01531000 SLA @15,2 0134 01532000 L @14,@PC00001 0134 01533000 L @01,SMF72S(,@14) 0134 01534000 LA @15,STWVPGNX-4(@15,@01) 0134 01535000 L @15,SMF72PTR(,@15) 0134 01536000 LA @14,SMF72SIZ(,@15) 0134 01537000 AH @14,SMF72SIZ(,@15) 0134 01538000 LH @15,SMF72SWC(,@14) 0134 01539000 ALR @15,@14 0134 01540000 LA @01,0(@07,@15) 0134 01541000 AL @01,@CF00393 0134 01542000 L @14,SMF72SER-8(,@01) 0134 01543000 ST @14,RWDASERL+96 0134 01544000 * RWDAACTL(CPGP)=SMF72ACT(RWPGP);/* TX ACTIVE TIME */ 01545000 LA @01,0(@07,@15) 0135 01546000 AL @01,@CF00394 0135 01547000 L @14,SMF72ACT-4(,@01) 0135 01548000 ST @14,RWDAACTL+96 0135 01549000 * RWDATTXL(CPGP)=SMF72TTX(RWPGP);/* ENDED TX COUNT */ 01550000 LA @01,0(@07,@15) 0136 01551000 AL @01,@CF00392 0136 01552000 L @14,SMF72TTX(,@01) 0136 01553000 ST @14,RWDATTXL+96 0136 01554000 * RWDATTML(CPGP)=SMF72TTM(RWPGP);/* ENDED TX 0137 01555000 * ELAPSED TIME */ 01556000 * 0137 01557000 LA @01,0(@07,@15) 0137 01558000 AL @01,@CF00395 0137 01559000 L @14,SMF72TTM-12(,@01) 0137 01560000 ST @14,RWDATTML+96 0137 01561000 * /*************************************************/ 01562000 * /* */ 01563000 * /* WORKLOAD LEVEL IS KEPT AS A WORKLOAD LEVEL */ 01564000 * /* MOMENT (WORKLOAD LEVEL * SERVICE), IN ORDER TO*/ 01565000 * /* CALCULATE MEAN WORKLOAD LEVEL. MACDATE Y-2 */ 01566000 * /* 73018 */ 01567000 * /* */ 01568000 * /*************************************************/ 01569000 * 0138 01570000 * RESPECIFY 0138 01571000 * (GPR00P, 0138 01572000 * GPR01P, 0138 01573000 * GPR14P, 0138 01574000 * GPR15P) RESTRICTED; 0138 01575000 * GPR01P=SMF72LEV(RWPGP);/* WORKLOAD(WKLD) LEVEL */ 01576000 ST @15,@TF00001 0139 01577000 L @05,@TF00001 0139 01578000 AL @05,@CF00210 0139 01579000 L GPR01P,SMF72LEV-16(@07,@05) 0139 01580000 * IF GPR01F<0 THEN/* IF LEVEL IS ESTIMATED */ 01581000 LTR GPR01F,GPR01F 0140 01582000 BNM @RF00140 0140 01583000 * DO; 0141 01584000 * RWEST=CSET; /* REMEMBER VALUE IS ESTIMATED */ 01585000 OI RWEST,B'10000000' 0142 01586000 * GPR01P=-GPR01P;/* SET TO POSITIVE VALUE */ 01587000 LCR GPR01P,GPR01P 0143 01588000 * END; 0144 01589000 * ELSE /* NOT ESTIMATED WORKLOAD LEVEL. */ 01590000 * RWEST=CLEAR; /* CLEAR FLAG */ 01591000 B @RC00140 0145 01592000 @RF00140 NI RWEST,B'01111111' 0145 01593000 * RWDALEVL(CPGP)=GPR01P;/* SAVE WORKLOAD LEVEL */ 01594000 @RC00140 ST GPR01P,RWDALEVL+96 0146 01595000 * GPR00P=SMF72SER(RWPGP);/* SERVICE */ 01596000 L @07,RWPGP 0147 01597000 MH @07,@CH00286 0147 01598000 L @05,RWPGN 0147 01599000 SLA @05,2 0147 01600000 L @04,@PC00001 0147 01601000 L @04,SMF72S(,@04) 0147 01602000 LA @05,STWVPGNX-4(@05,@04) 0147 01603000 L @05,SMF72PTR(,@05) 0147 01604000 LA @04,SMF72SIZ(,@05) 0147 01605000 AH @04,SMF72SIZ(,@05) 0147 01606000 LH @05,SMF72SWC(,@04) 0147 01607000 ALR @05,@04 0147 01608000 AL @05,@CF00393 0147 01609000 L GPR00P,SMF72SER-8(@07,@05) 0147 01610000 * IF GPR00F<0 THEN/* IF HIGH ORDER BIT OF SERVICE 01611000 * IS ON, MANIPULATE THE DATA TO 01612000 * PRODUCE WORKLOAD LEVEL MOMENT */ 01613000 LTR GPR00F,GPR00F 0148 01614000 BNM @RF00148 0148 01615000 * DO; 0149 01616000 * GEN; 0150 01617000 SRL GPR00P,1 DIVIDE SERVICE BY TWO 01618000 SLL GPR01P,1 MULTIPLY WKLD LEVEL BY TWO 01619000 * END; 0151 01620000 * GEN(MR GPR00P,GPR00P);/* = WKLD LEVEL MOMENT */ 01621000 @RF00148 DS 0H 0152 01622000 MR GPR00P,GPR00P 01623000 * RWDAWLMH(CPGP)=GPR00P;/* SAVE HIGH ORDER WLM */ 01624000 ST GPR00P,RWDAWLMH+96 0153 01625000 * RWDAWLML(CPGP)=GPR01P;/* SAVE LOW ORDER WLM */ 01626000 * 0154 01627000 ST GPR01P,RWDAWLML+96 0154 01628000 * /*************************************************/ 01629000 * /* */ 01630000 * /* MACDATE Y-2 73018 */ 01631000 * /* */ 01632000 * /*************************************************/ 01633000 * 0155 01634000 * RESPECIFY 0155 01635000 * (GPR00P, 0155 01636000 * GPR01P, 0155 01637000 * GPR14P, 0155 01638000 * GPR15P) UNRESTRICTED; 0155 01639000 * 0155 01640000 * /*************************************************/ 01641000 * /* */ 01642000 * /* FORMAT PGP NUMBER MACDATE Y-2 73018 */ 01643000 * /* */ 01644000 * /*************************************************/ 01645000 * 0156 01646000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 01647000 * RWPGP, /* INPUT VALUE */ 01648000 * CPGPSCLV, /* INPUT SCALE */ 01649000 * RWWRKSTR, /* OUTPUT STRING */ 01650000 * CPGPLEN, /* OUTPUT LENGTH */ 01651000 * CPGPPRDP, /* PLACES RIGHT OF DEC PT */ 01652000 * CNOCOMMA, /* COMMAS FLAG */ 01653000 * CNOFLOAT /* MAX PRECISION FLAG */ 01654000 * ); 0156 01655000 * 0156 01656000 MVC @AL00001+4(24),@AL00156 0156 01657000 LA @07,RWPGP 0156 01658000 ST @07,@AL00001 0156 01659000 LA @07,RWWRKSTR 0156 01660000 ST @07,@AL00001+8 0156 01661000 L @07,@PC00001+4 0156 01662000 L @15,RWVECTAB(,@07) 0156 01663000 LA @01,@AL00001 0156 01664000 BALR @14,@15 0156 01665000 * /*************************************************/ 01666000 * /* */ 01667000 * /* ?PRINT(CPGP,RWWRKSTR,CPGPLEN,RWLINE,COLB) */ 01668000 * /* */ 01669000 * /*************************************************/ 01670000 * 0157 01671000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF REPORT 01672000 * IS SELECTED FOR PRINTING */ 01673000 L @07,@PC00001+8 0157 01674000 L @07,RWPMAPTR(,@07) 0157 01675000 L @07,MFPMOPT(,@07) 0157 01676000 C @07,@CF00133 0157 01677000 BL @RF00157 0157 01678000 * DO; 0158 01679000 * 0158 01680000 * /*********************************************/ 01681000 * /* */ 01682000 * /* MACDATE Y-2 73018 */ 01683000 * /* */ 01684000 * /*********************************************/ 01685000 * 0159 01686000 * CALL MFISRTXT(/* INSERT TEXT ROUTINE */ 01687000 * RWWRKSTR,/* TEXT */ 01688000 * CPGPLEN,/* LENGTH */ 01689000 * RWLINE, /* START LINE */ 01690000 * COLB /* START COLUMN */ 01691000 * ); 0159 01692000 LA @07,RWWRKSTR 0159 01693000 ST @07,@AL00001 0159 01694000 LA @07,@CF00090 0159 01695000 ST @07,@AL00001+4 0159 01696000 LA @07,RWLINE 0159 01697000 ST @07,@AL00001+8 0159 01698000 LA @07,@CF00100 0159 01699000 ST @07,@AL00001+12 0159 01700000 L @07,@PC00001+4 0159 01701000 L @15,RWVECTAB+8(,@07) 0159 01702000 LA @01,@AL00001 0159 01703000 BALR @14,@15 0159 01704000 * END; 0160 01705000 * 0160 01706000 * /*************************************************/ 01707000 * /* */ 01708000 * /* FORMAT PGP DATA FOR OUTPUT & ADD DATA TO PG */ 01709000 * /* SUBTOTALS */ 01710000 * /* */ 01711000 * /*************************************************/ 01712000 * 0161 01713000 * CALL RWFORDAT(CPGP,CCPG); 0161 01714000 * 0161 01715000 @RF00157 LA @01,@AL00161 0161 01716000 BAL @14,RWFORDAT 0161 01717000 * /*************************************************/ 01718000 * /* */ 01719000 * /* GO TO NEXT REPORT LINE. ?LINE(CPGP,CPGPSPAC) */ 01720000 * /* */ 01721000 * /*************************************************/ 01722000 * 0162 01723000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF REPORT 01724000 * IS SELECTED FOR PRINTING */ 01725000 L @07,@PC00001+8 0162 01726000 L @07,RWPMAPTR(,@07) 0162 01727000 L @07,MFPMOPT(,@07) 0162 01728000 C @07,@CF00133 0162 01729000 BL @RF00162 0162 01730000 * DO; 0163 01731000 * RWLINE=RWLINE+CPGPSPAC;/* CHANGE LINE NUMBER */ 01732000 LA @07,1 0164 01733000 AL @07,RWLINE 0164 01734000 ST @07,RWLINE 0164 01735000 * IF RWLINE>=RGMAXLN THEN/* CHECK FOR FULL PAGE*/ 01736000 C @07,@CF00121 0165 01737000 BL @RF00165 0165 01738000 * CALL RWFULPAG;/* OUTPUT PAGE */ 01739000 BAL @14,RWFULPAG 0166 01740000 * END; 0167 01741000 @RF00165 DS 0H 0168 01742000 * IF(RWLINE-RWPGPLIN)/* IF NUMBER OF PGP DATA LINES*/ 01743000 * =CPGPGRP THEN/* IS A MULTIPLE OF THE NUMBER 01744000 * OF LINES IN A PGP GROUPING */ 01745000 @RF00162 L @07,RWLINE 0168 01746000 LR @15,@07 0168 01747000 SLR @15,RWPGPLIN 0168 01748000 C @15,@CF00054 0168 01749000 BNE @RF00168 0168 01750000 * DO; 0169 01751000 * 0169 01752000 * /*********************************************/ 01753000 * /* */ 01754000 * /* PUT BLANK LINE IN REPORT. */ 01755000 * /* ?LINE(CPGP,CGRPSPAC) */ 01756000 * /* */ 01757000 * /*********************************************/ 01758000 * 0170 01759000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF 0170 01760000 * REPORT IS SELECTED FOR 0170 01761000 * PRINTING */ 01762000 L @06,@PC00001+8 0170 01763000 L @01,RWPMAPTR(,@06) 0170 01764000 L @06,MFPMOPT(,@01) 0170 01765000 C @06,@CF00133 0170 01766000 BL @RF00170 0170 01767000 * DO; 0171 01768000 * RWLINE=RWLINE+CGRPSPAC;/* CHANGE LINE 0172 01769000 * NUMBER */ 01770000 AL @07,@CF00090 0172 01771000 ST @07,RWLINE 0172 01772000 * IF RWLINE>=RGMAXLN THEN/* CHECK FOR FULL 01773000 * PAGE */ 01774000 C @07,@CF00121 0173 01775000 BL @RF00173 0173 01776000 * CALL RWFULPAG;/* OUTPUT PAGE */ 01777000 BAL @14,RWFULPAG 0174 01778000 * END; 0175 01779000 @RF00173 DS 0H 0176 01780000 * RWPGPLIN=RWLINE;/* RESET FIRST LINE OF PGP 0176 01781000 * DATA GROUPING */ 01782000 @RF00170 L RWPGPLIN,RWLINE 0176 01783000 * END; 0177 01784000 * END; /* END PGP NON-ZERO-DATA OUTPUT */ 01785000 @RF00168 DS 0H 0179 01786000 * END; /* END LOOP FOR ALL PGP'S IN PG */ 01787000 @RC00087 LA @07,1 0179 01788000 AL @07,RWPGP 0179 01789000 @DE00074 ST @07,RWPGP 0179 01790000 L @15,RWPGN 0179 01791000 SLA @15,2 0179 01792000 L @14,@PC00001 0179 01793000 L @01,SMF72S(,@14) 0179 01794000 LA @15,STWVPGNX-4(@15,@01) 0179 01795000 L @01,SMF72PTR(,@15) 0179 01796000 LA @15,SMF72SIZ(,@01) 0179 01797000 L @14,RWPGN 0179 01798000 SLA @14,2 0179 01799000 L @05,@PC00001 0179 01800000 L @01,SMF72S(,@05) 0179 01801000 LA @14,STWVPGNX-4(@14,@01) 0179 01802000 L @01,SMF72PTR(,@14) 0179 01803000 AH @15,SMF72SIZ(,@01) 0179 01804000 CH @07,SMF72PGP(,@15) 0179 01805000 BNH @DL00074 0179 01806000 * IF RWPGPZF=CSET THEN /* IF LAST PGP IN PG WAS ZERO, */ 01807000 TM RWPGPZF,B'10000000' 0180 01808000 BNO @RF00180 0180 01809000 * DO; 0181 01810000 * 0181 01811000 * /***************************************************/ 01812000 * /* */ 01813000 * /* INCREMENT AND SPACE 1 TO PG SUMMARY DATA. */ 01814000 * /* ?LINE(CPGP,CPGPSPAC+CALLSPAC) */ 01815000 * /* */ 01816000 * /***************************************************/ 01817000 * 0182 01818000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF REPORT IS 01819000 * SELECTED FOR PRINTING */ 01820000 L @07,@PC00001+8 0182 01821000 L @07,RWPMAPTR(,@07) 0182 01822000 L @07,MFPMOPT(,@07) 0182 01823000 C @07,@CF00133 0182 01824000 BL @RF00182 0182 01825000 * DO; 0183 01826000 * RWLINE=RWLINE+CPGPSPAC+CALLSPAC;/* CHANGE LINE 01827000 * NUMBER */ 01828000 LA @07,2 0184 01829000 AL @07,RWLINE 0184 01830000 ST @07,RWLINE 0184 01831000 * IF RWLINE>=RGMAXLN THEN/* CHECK FOR FULL PAGE */ 01832000 C @07,@CF00121 0185 01833000 BL @RF00185 0185 01834000 * CALL RWFULPAG;/* OUTPUT PAGE */ 01835000 BAL @14,RWFULPAG 0186 01836000 * END; 0187 01837000 @RF00185 DS 0H 0188 01838000 * RWPGPZF=CLEAR; 0188 01839000 @RF00182 NI RWPGPZF,B'01111111' 0188 01840000 * END; 0189 01841000 * ELSE /* LAST PGP IN PG WAS NOT ZERO */ 01842000 * DO; 0190 01843000 * 0190 01844000 B @RC00180 0190 01845000 @RF00180 DS 0H 0191 01846000 * /***************************************************/ 01847000 * /* */ 01848000 * /* IF NOT MULTIPLE OF N PGPS IN PG, SPACE AFTER */ 01849000 * /* LAST PGP FORMATTED LINE */ 01850000 * /* */ 01851000 * /***************************************************/ 01852000 * 0191 01853000 * IF RWPGPLIN^=RWLINE THEN 0191 01854000 * 0191 01855000 L @07,RWLINE 0191 01856000 CR RWPGPLIN,@07 0191 01857000 BE @RF00191 0191 01858000 * /*************************************************/ 01859000 * /* */ 01860000 * /* ?LINE(CPGP,CALLSPAC) */ 01861000 * /* */ 01862000 * /*************************************************/ 01863000 * 0192 01864000 * IF CPGP<=MFPMOPT THEN/* IF THIS LEVEL OF REPORT 01865000 * IS SELECTED FOR PRINTING */ 01866000 L @15,@PC00001+8 0192 01867000 L @01,RWPMAPTR(,@15) 0192 01868000 L @15,MFPMOPT(,@01) 0192 01869000 C @15,@CF00133 0192 01870000 BL @RF00192 0192 01871000 * DO; 0193 01872000 * RWLINE=RWLINE+CALLSPAC;/* CHANGE LINE NUMBER */ 01873000 AL @07,@CF00090 0194 01874000 ST @07,RWLINE 0194 01875000 * IF RWLINE>=RGMAXLN THEN/* CHECK FOR FULL PAGE*/ 01876000 C @07,@CF00121 0195 01877000 BL @RF00195 0195 01878000 * CALL RWFULPAG;/* OUTPUT PAGE */ 01879000 BAL @14,RWFULPAG 0196 01880000 * END; 0197 01881000 @RF00195 DS 0H 0198 01882000 * END; 0198 01883000 * 0198 01884000 @RF00192 DS 0H 0198 01885000 @RF00191 DS 0H 0199 01886000 * /*******************************************************/ 01887000 * /* */ 01888000 * /* FORMAT PG TOTALS: PGN, 'ALL', AND DATA FIELDS */ 01889000 * /* MACDATE Y-2 73018 */ 01890000 * /* */ 01891000 * /*******************************************************/ 01892000 * 0199 01893000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 01894000 * RWPGN, /* INPUT VALUE */ 01895000 * CPGNSCLV, /* INPUT SCALE */ 01896000 * RWWRKSTR, /* OUTPUT STRING */ 01897000 * CPGNLEN, /* OUTPUT LENGTH */ 01898000 * CPGNPRDP, /* PLACES RIGHT OF DEC PT */ 01899000 * CNOCOMMA, /* COMMAS FLAG */ 01900000 * CNOFLOAT /* MAX PRECISION FLAG */ 01901000 * ); 0199 01902000 * 0199 01903000 @RC00180 MVC @AL00001+4(24),@AL00199 0199 01904000 LA @07,RWPGN 0199 01905000 ST @07,@AL00001 0199 01906000 LA @07,RWWRKSTR 0199 01907000 ST @07,@AL00001+8 0199 01908000 L @07,@PC00001+4 0199 01909000 L @15,RWVECTAB(,@07) 0199 01910000 LA @01,@AL00001 0199 01911000 BALR @14,@15 0199 01912000 * /*******************************************************/ 01913000 * /* */ 01914000 * /* MAKE LEADING BLANKS INTO LEADING ZEROS. */ 01915000 * /* */ 01916000 * /*******************************************************/ 01917000 * 0200 01918000 * DO I=1 TO CPGNLEN WHILE(RWWRKSTR(I)=' '); 0200 01919000 LA I,1 0200 01920000 @DL00200 LA @07,RWWRKSTR-1(I) 0200 01921000 CLI 0(@07),C' ' 0200 01922000 BNE @DC00200 0200 01923000 * RWWRKSTR(I)='0'; 0201 01924000 LA @07,RWWRKSTR-1(I) 0201 01925000 MVI 0(@07),C'0' 0201 01926000 * END; 0202 01927000 * 0202 01928000 AL I,@CF00090 0202 01929000 C I,@CF00133 0202 01930000 BNH @DL00200 0202 01931000 @DC00200 DS 0H 0203 01932000 * /*******************************************************/ 01933000 * /* */ 01934000 * /* PGN. ?PRINT(CCPG,RWWRKSTR,CPGNLEN,RWLINE,COLA) */ 01935000 * /* */ 01936000 * /*******************************************************/ 01937000 * 0203 01938000 * IF CCPG<=MFPMOPT THEN /* IF THIS LEVEL OF REPORT IS 0203 01939000 * SELECTED FOR PRINTING */ 01940000 L @07,@PC00001+8 0203 01941000 L @07,RWPMAPTR(,@07) 0203 01942000 L @07,MFPMOPT(,@07) 0203 01943000 C @07,@CF00061 0203 01944000 BL @RF00203 0203 01945000 * DO; 0204 01946000 * 0204 01947000 * /***************************************************/ 01948000 * /* */ 01949000 * /* MACDATE Y-2 73018 */ 01950000 * /* */ 01951000 * /***************************************************/ 01952000 * 0205 01953000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 01954000 * RWWRKSTR, /* TEXT */ 01955000 * CPGNLEN, /* LENGTH */ 01956000 * RWLINE, /* START LINE */ 01957000 * COLA /* START COLUMN */ 01958000 * ); 0205 01959000 LA @07,RWWRKSTR 0205 01960000 ST @07,@AL00001 0205 01961000 LA @07,@CF00133 0205 01962000 ST @07,@AL00001+4 0205 01963000 LA @07,RWLINE 0205 01964000 ST @07,@AL00001+8 0205 01965000 LA @07,@CF00090 0205 01966000 ST @07,@AL00001+12 0205 01967000 L @07,@PC00001+4 0205 01968000 L @15,RWVECTAB+8(,@07) 0205 01969000 LA @01,@AL00001 0205 01970000 BALR @14,@15 0205 01971000 * END; 0206 01972000 * 0206 01973000 * /*******************************************************/ 01974000 * /* */ 01975000 * /* 'ALL'. ?PRINT(CCPG,LNGTPTR(CP3)->LNGTXTD,LNGTPTR(CP3*/ 01976000 * /* )->LNGTXTL,RWLINE,COLB) */ 01977000 * /* */ 01978000 * /*******************************************************/ 01979000 * 0207 01980000 * IF CCPG<=MFPMOPT THEN /* IF THIS LEVEL OF REPORT IS 0207 01981000 * SELECTED FOR PRINTING */ 01982000 @RF00203 L @07,@PC00001+8 0207 01983000 L @07,RWPMAPTR(,@07) 0207 01984000 L @07,MFPMOPT(,@07) 0207 01985000 C @07,@CF00061 0207 01986000 BL @RF00207 0207 01987000 * DO; 0208 01988000 * 0208 01989000 * /***************************************************/ 01990000 * /* */ 01991000 * /* MACDATE Y-2 73018 */ 01992000 * /* */ 01993000 * /***************************************************/ 01994000 * 0209 01995000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 01996000 * LNGTPTR(CP3)->LNGTXTD,/* TEXT */ 01997000 * LNGTPTR(CP3)->LNGTXTL,/* LENGTH */ 01998000 * RWLINE, /* START LINE */ 01999000 * COLB /* START COLUMN */ 02000000 * ); 0209 02001000 L @07,@CA00082 0209 02002000 L @07,LNGTPTR-IRBMFLWV+8(,@07) 0209 02003000 LA @15,LNGTXTD(,@07) 0209 02004000 ST @15,@AL00001 0209 02005000 ST @07,@AL00001+4 0209 02006000 LA @07,RWLINE 0209 02007000 ST @07,@AL00001+8 0209 02008000 LA @07,@CF00100 0209 02009000 ST @07,@AL00001+12 0209 02010000 L @07,@PC00001+4 0209 02011000 L @15,RWVECTAB+8(,@07) 0209 02012000 LA @01,@AL00001 0209 02013000 BALR @14,@15 0209 02014000 * END; 0210 02015000 * 0210 02016000 * /*******************************************************/ 02017000 * /* */ 02018000 * /* FORMAT PG DATA TOTALS FOR OUTPUT&ADD DATA TO SYSTEM*/ 02019000 * /* SUBTOTALS */ 02020000 * /* */ 02021000 * /*******************************************************/ 02022000 * 0211 02023000 * CALL RWFORDAT(CCPG,CSYS); 0211 02024000 * 0211 02025000 @RF00207 LA @01,@AL00211 0211 02026000 BAL @14,RWFORDAT 0211 02027000 * /*******************************************************/ 02028000 * /* */ 02029000 * /* SKIP 2 BLANK LINES. ?LINE(CCPG,CPGNSPAC+1) */ 02030000 * /* */ 02031000 * /*******************************************************/ 02032000 * 0212 02033000 * IF CCPG<=MFPMOPT THEN /* IF THIS LEVEL OF REPORT IS 0212 02034000 * SELECTED FOR PRINTING */ 02035000 L @07,@PC00001+8 0212 02036000 L @07,RWPMAPTR(,@07) 0212 02037000 L @07,MFPMOPT(,@07) 0212 02038000 C @07,@CF00061 0212 02039000 BL @RF00212 0212 02040000 * DO; 0213 02041000 * RWLINE=RWLINE+CPGNSPAC+1;/* CHANGE LINE NUMBER */ 02042000 LA @07,3 0214 02043000 AL @07,RWLINE 0214 02044000 ST @07,RWLINE 0214 02045000 * IF RWLINE>=RGMAXLN THEN/* CHECK FOR FULL PAGE */ 02046000 C @07,@CF00121 0215 02047000 BL @RF00215 0215 02048000 * CALL RWFULPAG; /* OUTPUT PAGE */ 02049000 BAL @14,RWFULPAG 0216 02050000 * END; 0217 02051000 @RF00215 DS 0H 0218 02052000 * END; /* END PG NON-ZERO-DATA OUTPUT */ 02053000 @RF00212 DS 0H 0219 02054000 * END; /* END PG EXISTS (PG PTR ^=0) */ 02055000 @RC00034 DS 0H 0220 02056000 * END; /* END LOOP ON PG'S */ 02057000 * 0220 02058000 @RF00023 LA @07,1 0220 02059000 AL @07,RWPGN 0220 02060000 @DE00022 ST @07,RWPGN 0220 02061000 L @15,@PC00001 0220 02062000 L @01,SMF72S(,@15) 0220 02063000 C @07,STWVNPG(,@01) 0220 02064000 BNH @DL00022 0220 02065000 * /*****************************************************************/ 02066000 * /* */ 02067000 * /* SPACE AN EXTRA TWO LINES AFTER LAST PGN, BEFORE SYSTEM TOTAL */ 02068000 * /* ?LINE(CCPG,2) */ 02069000 * /* */ 02070000 * /*****************************************************************/ 02071000 * 0221 02072000 * IF CCPG<=MFPMOPT THEN /* IF THIS LEVEL OF REPORT IS 0221 02073000 * SELECTED FOR PRINTING */ 02074000 LA @15,2 0221 02075000 L @14,@PC00001+8 0221 02076000 L @01,RWPMAPTR(,@14) 0221 02077000 C @15,MFPMOPT(,@01) 0221 02078000 BH @RF00221 0221 02079000 * DO; 0222 02080000 * RWLINE=RWLINE+2; /* CHANGE LINE NUMBER */ 02081000 AL @15,RWLINE 0223 02082000 ST @15,RWLINE 0223 02083000 * IF RWLINE>=RGMAXLN THEN /* CHECK FOR FULL PAGE */ 02084000 C @15,@CF00121 0224 02085000 BL @RF00224 0224 02086000 * CALL RWFULPAG; /* OUTPUT PAGE */ 02087000 BAL @14,RWFULPAG 0225 02088000 * END; 0226 02089000 * 0226 02090000 @RF00224 DS 0H 0227 02091000 * /*****************************************************************/ 02092000 * /* */ 02093000 * /* FORMAT SYSTEM TOTALS ?PRINT(CSYS,LNGTPTR(CP4)->LNGTXTD,LNGTPTR*/ 02094000 * /* (CP4)->LNGTXTL,RWLINE,COLA) */ 02095000 * /* */ 02096000 * /*****************************************************************/ 02097000 * 0227 02098000 * IF CSYS<=MFPMOPT THEN /* IF THIS LEVEL OF REPORT IS 0227 02099000 * SELECTED FOR PRINTING */ 02100000 @RF00221 L @15,@PC00001+8 0227 02101000 L @01,RWPMAPTR(,@15) 0227 02102000 L @15,MFPMOPT(,@01) 0227 02103000 C @15,@CF00090 0227 02104000 BL @RF00227 0227 02105000 * DO; 0228 02106000 * 0228 02107000 * /*************************************************************/ 02108000 * /* */ 02109000 * /* MACDATE Y-2 73018 */ 02110000 * /* */ 02111000 * /*************************************************************/ 02112000 * 0229 02113000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 02114000 * LNGTPTR(CP4)->LNGTXTD, /* TEXT */ 02115000 * LNGTPTR(CP4)->LNGTXTL, /* LENGTH */ 02116000 * RWLINE, /* START LINE */ 02117000 * COLA /* START COLUMN */ 02118000 * ); 0229 02119000 L @15,@CA00082 0229 02120000 L @15,LNGTPTR-IRBMFLWV+12(,@15) 0229 02121000 LA @14,LNGTXTD(,@15) 0229 02122000 ST @14,@AL00001 0229 02123000 ST @15,@AL00001+4 0229 02124000 LA @15,RWLINE 0229 02125000 ST @15,@AL00001+8 0229 02126000 LA @15,@CF00090 0229 02127000 ST @15,@AL00001+12 0229 02128000 L @14,@PC00001+4 0229 02129000 L @15,RWVECTAB+8(,@14) 0229 02130000 LA @01,@AL00001 0229 02131000 BALR @14,@15 0229 02132000 * END; 0230 02133000 * 0230 02134000 * /*****************************************************************/ 02135000 * /* */ 02136000 * /* 'SYSTEM TOTAL' FORMAT SYSTEM DATA TOTALS FOR OUTPUT & ADD DATA*/ 02137000 * /* TO 'BIT BUCKET' (PGP DATA AREA) */ 02138000 * /* */ 02139000 * /*****************************************************************/ 02140000 * 0231 02141000 * CALL RWFORDAT(CSYS,CPGP); 0231 02142000 * 0231 02143000 @RF00227 LA @01,@AL00231 0231 02144000 BAL @14,RWFORDAT 0231 02145000 * /*****************************************************************/ 02146000 * /* */ 02147000 * /* WRITE OUT LAST PAGE OF REPORT */ 02148000 * /* */ 02149000 * /*****************************************************************/ 02150000 * 0232 02151000 * CALL MFWRTPAG; 0232 02152000 L @14,@PC00001+4 0232 02153000 L @15,RWVECTAB+12(,@14) 0232 02154000 BALR @14,@15 0232 02155000 * RETURN; /* RETURN TO CALLER, IRBMFRGM */ 02156000 @EL00001 L @13,4(,@13) 0233 02157000 @EF00001 L @00,@SIZDATD 0233 02158000 LR @01,@08 0233 02159000 FREEMAIN R,LV=(0),A=(1) 02160000 @ER00001 LM @14,@12,12(@13) 0233 02161000 BR @14 0233 02162000 * 0234 02163000 */********************************************************************/ 02164000 */* */ 02165000 */* PROCEDURE NAME = RWFORDAT */ 02166000 */* */ 02167000 */* DESCRIPTIVE NAME = FORMAT (WORKLOAD) DATA */ 02168000 */* */ 02169000 */* FUNCTION = FORMATS (CHARACTER) WORKLOAD ACTIVITY REPORT VALUES */ 02170000 */* FROM DOUBLE WORD BINARY INPUTS, ADDS THE INPUTS TO */ 02171000 */* DOUBLE WORD ACCUMULATING SUMS, AND ZEROS THE INPUT. */ 02172000 */* */ 02173000 */********************************************************************/ 02174000 * 0234 02175000 *RWFORDAT: /* FORMAT (WORKLOAD) DATA */ 02176000 * PROC(RWPRINT /* INDEX OF DATA TO BE FORMATTED */ 02177000 * ,RWTOTAL /* INDEX OF ACCUMULATING TOTALS */ 02178000 * ); 0234 02179000 RWFORDAT STM @14,@12,@SA00002 0234 02180000 MVC @PC00002(8),0(@01) 0234 02181000 * DCL 0235 02182000 * RWDUMMY /* INDIRECT REFERENCE TO RWWRKSTR*/ 02183000 * CHAR(1) BASED, 0235 02184000 * RWEXP /* EXPONENT OF REPORT VALUES */ 02185000 * FIXED(31), 0235 02186000 * RWPRINT /* INDEX OF DATA TO BE FORMATTED */ 02187000 * FIXED(31), 0235 02188000 * RWPRD /* GNENERAL CONVERSION POSITIONS 02189000 * TO RIGHT OF DECIMAL POINT. */ 02190000 * FIXED(31), 0235 02191000 * RWSCF /* GENERAL CONVERSION SCALE 0235 02192000 * FACTOR */ 02193000 * FIXED(31), 0235 02194000 * RWTEN /* POWERS OF TEN */ 02195000 * (10) BDY(WORD) FIXED(32) INIT(1,10,100,1000,10000,100000, 02196000 * 1000000,10000000,100000000,1000000000), 0235 02197000 * RWTOTAL /* INDEX OF ACCUMULATING TOTALS */ 02198000 * FIXED(31), 0235 02199000 * CAT /* AVERAGE TRANSACTIONS, INDEX */ 02200000 * CONSTANT(4), 0235 02201000 * CATT /* AVE TRANSACTION TIME, INDEX */ 02202000 * CONSTANT(6), 0235 02203000 * CCOMMA /* NUMBER CONVERSION OPTION */ 02204000 * BIT(1) CONSTANT('1'B), 0235 02205000 * CDIGMIL /* DIGITS IN FACTOR OF A MILLION */ 02206000 * CONSTANT(6), 0235 02207000 * CDWORDZ /* DOUBLE WORD OF ZERO */ 02208000 * BDY(DWORD) BIT(64) INIT(''B), 0235 02209000 * CET /* ENDED TRANSACTIONS, INDEX */ 02210000 * CONSTANT(5), 0235 02211000 * CHMDOTS /* EXTRA PERIODS IN ENDED TRANS- 02212000 * ACTION TIME, ONE EACH BETWEEN 02213000 * HOURS-MINUTES AND MINUTES- 0235 02214000 * SECONDS. */ 02215000 * CONSTANT(2), 0235 02216000 * CHOURLEN /* LENGTH OF HOURS SUBFIELD OF 0235 02217000 * ENDED TRANSACTION TIME. */ 02218000 * CONSTANT(3), 0235 02219000 * CMILSEC /* MILLISECONDS IN A SECOND. */ 02220000 * CONSTANT(1000), 0235 02221000 * CMINLEN /* LENGTH OF MINUTES SUBFIELD OF 02222000 * ENDED TRANSACTION TIME. */ 02223000 * CONSTANT(2), 0235 02224000 * CREPVAL /* NUMBER OF REPORT VALUES */ 02225000 * CONSTANT(6), 0235 02226000 * CSECMIN /* SECONDS IN A MINUTE. */ 02227000 * CONSTANT(60), 0235 02228000 * CSII /* SERVICE IN INTERVAL, OUTPUT 0235 02229000 * INDEX */ 02230000 * CONSTANT(1), 0235 02231000 * CSR /* SERVICE RATE, OUTPUT INDEX */ 02232000 * CONSTANT(2), 0235 02233000 * CWL /* WORKLOAD LEVEL, OUTPUT INDEX */ 02234000 * CONSTANT(3); 0235 02235000 * 0236 02236000 * /*****************************************************************/ 02237000 * /* */ 02238000 * /* CALCULATE OUTPUT DATA VALUES */ 02239000 * /* */ 02240000 * /*****************************************************************/ 02241000 * 0236 02242000 * RWOUTPUT(CSII)=RWDASER(RWPRINT);/* SERVICE IN INTERVAL */ 02243000 L @15,@PC00002 0236 02244000 L @15,RWPRINT(,@15) 0236 02245000 MH @15,@CH00374 0236 02246000 LA @14,RWDASER-48(@15) 0236 02247000 MVC RWOUTPUT(8),0(@14) 0236 02248000 * RWOUTPUT(CET)=RWDATTX(RWPRINT); /* ENDED TRANSACTIONS */ 02249000 * 0237 02250000 LA @14,RWDATTX-48(@15) 0237 02251000 MVC RWOUTPUT+32(8),0(@14) 0237 02252000 * /*****************************************************************/ 02253000 * /* */ 02254000 * /* AVERAGE TRANSACTIONS IS(TRANSACTION ACTIVE TIME)/ (LENGTH OF */ 02255000 * /* REPORT INTERVAL). GET THOUSANDTHS SECONDS IN INTERVAL=(SECONDS*/ 02256000 * /* * 10 TO 3 POWER) */ 02257000 * /* */ 02258000 * /*****************************************************************/ 02259000 * 0238 02260000 * CVB(RWTEMPF,RWINTVL); /* GET BINARY MMTTTTT FROM PACKED 02261000 * FORM MMSSTTTF */ 02262000 XC @TS00001(8),@TS00001 0238 02263000 MVC @TS00001+4(4),RWINTVL 0238 02264000 CVB @15,@TS00001 0238 02265000 ST @15,RWTEMPF 0238 02266000 * RWTEMPF=((RWTEMPF/100000) /* THOUSANDTHS SEC = MINUTES (MM)*/ 02267000 * *CSECMIN*CMILSEC) /* CONVERTED TO THOUSANDTHS 0239 02268000 * SECONDS, */ 02269000 * +(RWTEMPF//100000); /* PLUS THOUSANDTHS (TTTTT). */ 02270000 * 0239 02271000 L @14,@CF00326 0239 02272000 LR @01,@15 0239 02273000 SLR @00,@00 0239 02274000 DR @00,@14 0239 02275000 M @00,@CF00375 0239 02276000 ST @14,@TF00001 0239 02277000 SLR @14,@14 0239 02278000 D @14,@TF00001 0239 02279000 ALR @01,@14 0239 02280000 ST @01,RWTEMPF 0239 02281000 * /*****************************************************************/ 02282000 * /* */ 02283000 * /* TRANSACTION ACTIVE TIME=(TX-SECONDS * 10 TO 6 POWER / 1024). */ 02284000 * /* THEREFORE,AVERAGE TRANSACTIONS=TRANSACTION ACTIVE TIME * 1024 */ 02285000 * /* / LENGTH OF REPORT INTERVAL, TO GET (TX * 10 TO 3 POWER). */ 02286000 * /* */ 02287000 * /*****************************************************************/ 02288000 * 0240 02289000 * IF RWTEMPF=0 THEN /* IF INTERVAL IS ZERO */ 02290000 LTR @01,@01 0240 02291000 BNZ @RF00240 0240 02292000 * DO; 0241 02293000 * RWOUTPUT(CAT)=CDWORDZ; /* ZERO AVERAGE TRANSACTIONS */ 02294000 MVC RWOUTPUT+24(8),CDWORDZ 0242 02295000 * END; 0243 02296000 * ELSE 0244 02297000 * DO; /* NON-ZERO INTERVAL PROCESSING */ 02298000 B @RC00240 0244 02299000 @RF00240 DS 0H 0245 02300000 * RFY 0245 02301000 * GPR02P RSTD; 0245 02302000 * 0245 02303000 * /*************************************************************/ 02304000 * /* */ 02305000 * /* MACDATE Y-2 73018 */ 02306000 * /* */ 02307000 * /*************************************************************/ 02308000 * 0246 02309000 * RESPECIFY 0246 02310000 * (GPR00P, 0246 02311000 * GPR01P, 0246 02312000 * GPR14P, 0246 02313000 * GPR15P) RESTRICTED; 0246 02314000 * GPR00P=RWDAACTH(RWPRINT); /* ACTIVE TIME */ 02315000 L @03,@PC00002 0247 02316000 L @03,RWPRINT(,@03) 0247 02317000 MH @03,@CH00374 0247 02318000 L GPR00P,RWDAACTH-48(@03) 0247 02319000 * GPR01P=RWDAACTL(RWPRINT); /* BIT 31 = TX-SEC*10 TO 6TH/1024*/ 02320000 L GPR01P,RWDAACTL-48(@03) 0248 02321000 * GEN REFS(RWTEMPF); 0249 02322000 SLDL GPR00P,10 * 1024 = TX-SEC*10 TO 6TH 02323000 SR GPR14P,GPR14P ZERO SHIFT COUNT 02324000 L GPR15P,RWTEMPF / SEC*10 TO 3 = TX * 10 TO 3 02325000 * DIVISOR IS IN R15, 02326000 * DIVIDEND IS IN R0,R1 02327000 BAL GPR02P,RWDIVIDE * DO DOUBLE WORD DIVIDE, 02328000 * QUOTIENT -> R0,R1 02329000 * RFY 0250 02330000 * GPR02P UNRSTD; 0250 02331000 * RWOUTH(CAT)=GPR00P; /* HIGH ORDER TRANSACTION */ 02332000 ST GPR00P,RWOUTH+24 0251 02333000 * RWOUTL(CAT)=GPR01P; /* SAVE THOUSANDTHS TRANSACTION */ 02334000 * 0252 02335000 ST GPR01P,RWOUTL+24 0252 02336000 * /*************************************************************/ 02337000 * /* */ 02338000 * /* MACDATE Y-2 73018 */ 02339000 * /* */ 02340000 * /*************************************************************/ 02341000 * 0253 02342000 * RESPECIFY 0253 02343000 * (GPR00P, 0253 02344000 * GPR01P, 0253 02345000 * GPR14P, 0253 02346000 * GPR15P) UNRESTRICTED; 0253 02347000 * END; /* END OF NON-ZERO INT PROCESSING*/ 02348000 * 0255 02349000 * /*****************************************************************/ 02350000 * /* */ 02351000 * /* SERVICE RATE = SERVICE / TRANSACTION ACTIVE TIME. THIS IS */ 02352000 * /* DOUBLE WORD(RWDASER)/ DOUBLE WORD(RWDAACT). */ 02353000 * /* */ 02354000 * /*****************************************************************/ 02355000 * 0255 02356000 * IF RWDAACT(RWPRINT)=CDWORDZ /* IF ZERO TX ACTIVE TIME */ 02357000 * |RWDASER(RWPRINT)=CDWORDZ /* OR IF ZERO SERVICE */ 02358000 * THEN 0255 02359000 @RC00240 L @15,@PC00002 0255 02360000 L @15,RWPRINT(,@15) 0255 02361000 MH @15,@CH00374 0255 02362000 LA @14,RWDAACT-48(@15) 0255 02363000 CLC 0(8,@14),CDWORDZ 0255 02364000 BE @RT00255 0255 02365000 LA @14,RWDASER-48(@15) 0255 02366000 CLC 0(8,@14),CDWORDZ 0255 02367000 BNE @RF00255 0255 02368000 @RT00255 DS 0H 0256 02369000 * DO; 0256 02370000 * RWOUTPUT(CSR)=CDWORDZ; /* OUTPUT SERVICE RATE = 0 */ 02371000 MVC RWOUTPUT+8(8),CDWORDZ 0257 02372000 * END; 0258 02373000 * ELSE /* IF NON ZERO TX ACTIVE TIME */ 02374000 * DO; 0259 02375000 * 0259 02376000 B @RC00255 0259 02377000 @RF00255 DS 0H 0260 02378000 * /*************************************************************/ 02379000 * /* */ 02380000 * /* MACDATE Y-2 73018 */ 02381000 * /* */ 02382000 * /*************************************************************/ 02383000 * 0260 02384000 * RESPECIFY 0260 02385000 * (GPR00P, 0260 02386000 * GPR01P, 0260 02387000 * GPR14P, 0260 02388000 * GPR15P) RESTRICTED; 0260 02389000 * GPR14P=RWDAACTH(RWPRINT); /* GET HIGH ORDER ACTIVE TIME */ 02390000 L @07,@PC00002 0261 02391000 L @07,RWPRINT(,@07) 0261 02392000 MH @07,@CH00374 0261 02393000 L GPR14P,RWDAACTH-48(@07) 0261 02394000 * GPR15P=RWDAACTL(RWPRINT); /* GET LOW ORDER ACTIVE TIME BIT 02395000 * 31 = TX-SEC*10 TO 6TH/1024 */ 02396000 * 0262 02397000 L GPR15P,RWDAACTL-48(@07) 0262 02398000 * /*************************************************************/ 02399000 * /* */ 02400000 * /* DIVISOR IS CHANGED TO SINGLE WORD SIGNIFICANCE */ 02401000 * /* */ 02402000 * /*************************************************************/ 02403000 * 0263 02404000 * RFY 0263 02405000 * GPR02P RSTD; 0263 02406000 * GEN; 0264 02407000 BAL GPR02P,RWDIVDBL CREATE SINGLE WORD DIVISOR 02408000 * RFY 0265 02409000 * GPR02P UNRSTD; 0265 02410000 * GPR14P=GPR14P+10; /* MULTIPLY ACTIVE TIME BY 1024 */ 02411000 AL GPR14P,@CF00205 0266 02412000 * GPR00P=RWDASERH(RWPRINT); /* GET HIGH ORDER SERVICE VALUE */ 02413000 L @07,@PC00002 0267 02414000 L @07,RWPRINT(,@07) 0267 02415000 MH @07,@CH00374 0267 02416000 L GPR00P,RWDASERH-48(@07) 0267 02417000 * GPR01P=RWDASERL(RWPRINT); /* GET LOW ORDER SERVICE VALUE */ 02418000 L GPR01P,RWDASERL-48(@07) 0268 02419000 * GEN; 0269 02420000 * INPUTS 02421000 * R0,R1 DOUBLE WORD DIVIDEND 02422000 * R14 A SHIFT COUNT, DIVISOR 02423000 * MULTIPLIER 02424000 * R15 SINGLE WORD DIVISOR 02425000 * OUTPUTS 02426000 * R0,R1 DOUBLE WORD QUOTIENT 02427000 RW0300 DS 0H TEST DIVIDEND HIGH WORD>=DIVISOR 02428000 CLR @00,@15 IS DIVIDEND HIGH WORD>=DIVISOR 02429000 BL RW0304 NO. TEST DIVIDEND HIGH WORD + S BIT 02430000 SRDL @00,1 YES. DIVIDE DIVIDEND BY 2 02431000 BCTR @14,0 REMEMBER THIS DIVIDE: SUBTRACT SHIFT 02432000 * COUNT 02433000 B RW0300 TRY DIVIDEND COMPARISON AGAIN. 02434000 RW0304 DS 0H DIVIDEND HIGH WORD < DIVISOR 02435000 SLDL @00,1 INCREASE DIVIDEND MAGNITUDE 02436000 LA @14,1(,@14) REMEMBER TO DIVIDE BY 2 LATER 02437000 CLR @00,@15 IS DIVIDEND HIGH WORD >= DIVISOR 02438000 BL RW0304 NO. 02439000 SRDL @00,1 MAKE DIVIDEND HIGH JUST < DIVISOR 02440000 BCTR @14,0 ADJUST SHIFT COUNT 02441000 RW0310 DS 0H DIVIDEND HIGH WORD < DIVISOR OR 0 02442000 SLDL @00,1 GET 'SIGN' BIT (OF UNSIGNED) LOW 02443000 * ORDER WORD OF DIVIDEND 02444000 CLR @00,@15 WILL DIVIDE YIELD QUOTIENT> 31 BITS 02445000 SRDL @00,1 (ADJUST FOR SHIFT OF 'SIGN' BIT) 02446000 BL RW0320 NO. READY FOR DIVIDE 02447000 SRDL @00,1 YES. DIVIDE DIVIDEND BY 2 02448000 BCTR @14,0 REMEMBER THIS DIVIDE: SUBTRACT 02449000 * SHIFT COUNT. 02450000 RW0320 DS 0H READY FOR DIVIDE 02451000 DR @00,@15 DIVIDE DIVIDEND BY INPUT DIVISOR 02452000 M @00,RWMEG DIVIDE DIVISOR BY ONE MILLION 02453000 * THIS CONVERTS ACTIVE TIME FROM 02454000 * MICROSECONDS TO SECONDS. 02455000 LTR @14,@14 DECIDE DIRECTION OF SHIFT. 02456000 BM RW0330 NEGATIVE MEANS MULTIPLY TO CORRECT 02457000 * FOR ABOVE DIVIDES. 02458000 SRDL @00,0(@14) POSITIVE MEANS DIVIDE FOR CORRECTED 02459000 * DIVISOR 02460000 B RW0340 DONE 02461000 RW0330 DS 0H NEGATIVE SHIFT COUNT WAS FOUND. 02462000 LCR @14,@14 GET POSITIVE SHIFT COUNT 02463000 SLDL @00,0(@14) CORRECT FOR TOO LARGE A DIVIDEND 02464000 RW0340 DS 0H DONE 02465000 * QUOTIENT -> R0,R1 02466000 * GEN DATA; 0270 02467000 * 0270 02468000 * /*************************************************************/ 02469000 * /* */ 02470000 * /* SERVICE RATE IS NOW IN SERVICE UNITS PER SECOND */ 02471000 * /* */ 02472000 * /*************************************************************/ 02473000 * 0271 02474000 * RWOUTH(CSR)=GPR00P; /* OUTPUT HIGH ORDER WORD */ 02475000 ST GPR00P,RWOUTH+8 0271 02476000 * RWOUTL(CSR)=GPR01P; /* OUTPUT SERVICE RATE-LO ORDER */ 02477000 * 0272 02478000 ST GPR01P,RWOUTL+8 0272 02479000 * /*************************************************************/ 02480000 * /* */ 02481000 * /* MACDATE Y-2 73018 */ 02482000 * /* */ 02483000 * /*************************************************************/ 02484000 * 0273 02485000 * RESPECIFY 0273 02486000 * (GPR00P, 0273 02487000 * GPR01P, 0273 02488000 * GPR14P, 0273 02489000 * GPR15P) UNRESTRICTED; 0273 02490000 * END; 0274 02491000 * 0275 02492000 * /*****************************************************************/ 02493000 * /* */ 02494000 * /* WORKLOAD LEVEL = WORKLOAD LEVEL MOMENT/ SERVICE THIS IS DOUBLE*/ 02495000 * /* WORD(RWDAWLM)/ DOUBLE WORD(RWDASER) */ 02496000 * /* */ 02497000 * /*****************************************************************/ 02498000 * 0275 02499000 * IF RWPRINT=CPGP THEN /* IF PGP DATA BEING FORMATTED */ 02500000 @RC00255 L @15,@PC00002 0275 02501000 L @15,RWPRINT(,@15) 0275 02502000 C @15,@CF00133 0275 02503000 BNE @RF00275 0275 02504000 * DO; 0276 02505000 * 0276 02506000 * /*************************************************************/ 02507000 * /* */ 02508000 * /* FORMAT INPUT LEVEL IN THOUSANDTHS OF A LEVEL MACDATE Y-2 */ 02509000 * /* 73018 */ 02510000 * /* */ 02511000 * /*************************************************************/ 02512000 * 0277 02513000 * RESPECIFY 0277 02514000 * (GPR00P, 0277 02515000 * GPR01P, 0277 02516000 * GPR14P, 0277 02517000 * GPR15P) RESTRICTED; 0277 02518000 * GPR00P=RWDALEVH(RWPRINT); /* GET HIGH ORDER LEVEL */ 02519000 L @07,@PC00002 0278 02520000 L @07,RWPRINT(,@07) 0278 02521000 MH @07,@CH00374 0278 02522000 L GPR00P,RWDALEVH-48(@07) 0278 02523000 * GPR01P=RWDALEVL(RWPRINT); /* GET LOW ORDER LEVEL */ 02524000 L GPR01P,RWDALEVL-48(@07) 0279 02525000 * GEN; 0280 02526000 M GPR00P,RWMIL MULTIPLY BY ONE THOUSAND 02527000 SRDL GPR00P,8 DIVIDE BY 256 02528000 * RWOUTH(CWL)=GPR00P; /* SAVE OUTPUT HIGH ORDER WORD */ 02529000 ST GPR00P,RWOUTH+16 0281 02530000 * RWOUTL(CWL)=GPR01P; /* OUTPUT WORKLOAD LEVEL IN 0282 02531000 * THOUSANDTHS */ 02532000 * 0282 02533000 ST GPR01P,RWOUTL+16 0282 02534000 * /*************************************************************/ 02535000 * /* */ 02536000 * /* MACDATE Y-2 73018 */ 02537000 * /* */ 02538000 * /*************************************************************/ 02539000 * 0283 02540000 * RESPECIFY 0283 02541000 * (GPR00P, 0283 02542000 * GPR01P, 0283 02543000 * GPR14P, 0283 02544000 * GPR15P) UNRESTRICTED; 0283 02545000 * END; 0284 02546000 * ELSE 0285 02547000 * 0285 02548000 * /***************************************************************/ 02549000 * /* */ 02550000 * /* FORMAT MEAN WORKLOAD LEVEL FOR PG AND SYSTEM SUMS. */ 02551000 * /* */ 02552000 * /***************************************************************/ 02553000 * 0285 02554000 * DO; 0285 02555000 B @RC00275 0285 02556000 @RF00275 DS 0H 0286 02557000 * IF RWDASER(RWPRINT)=CDWORDZ THEN/* IF ZERO SERVICE (DIVISOR) */ 02558000 L @15,@PC00002 0286 02559000 L @15,RWPRINT(,@15) 0286 02560000 MH @15,@CH00374 0286 02561000 LA @14,RWDASER-48(@15) 0286 02562000 CLC 0(8,@14),CDWORDZ 0286 02563000 BNE @RF00286 0286 02564000 * DO; 0287 02565000 * RWOUTPUT(CWL)=CDWORDZ; /* OUTPUT WORKLOAD LEVEL IS 0 */ 02566000 MVC RWOUTPUT+16(8),CDWORDZ 0288 02567000 * END; 0289 02568000 * ELSE /* IF NON ZERO SERVICE */ 02569000 * DO; 0290 02570000 * 0290 02571000 B @RC00286 0290 02572000 @RF00286 DS 0H 0291 02573000 * /*********************************************************/ 02574000 * /* */ 02575000 * /* MACDATE Y-2 73018 */ 02576000 * /* */ 02577000 * /*********************************************************/ 02578000 * 0291 02579000 * RESPECIFY 0291 02580000 * (GPR00P, 0291 02581000 * GPR01P, 0291 02582000 * GPR14P, 0291 02583000 * GPR15P) RESTRICTED; 0291 02584000 * GPR14P=RWDASERH(RWPRINT);/* GET HIGH ORDER SERVICE */ 02585000 L @07,@PC00002 0292 02586000 L @07,RWPRINT(,@07) 0292 02587000 MH @07,@CH00374 0292 02588000 L GPR14P,RWDASERH-48(@07) 0292 02589000 * GPR15P=RWDASERL(RWPRINT);/* GET LOW ORDER SERVICE */ 02590000 * 0293 02591000 L GPR15P,RWDASERL-48(@07) 0293 02592000 * /*********************************************************/ 02593000 * /* */ 02594000 * /* DIVISOR IS CHANGED TO SINGLE WORD SIGNIFICANCE AND A */ 02595000 * /* AN EXPONENT (SHIFT COUNT) BEFORE DIVIDING */ 02596000 * /* */ 02597000 * /*********************************************************/ 02598000 * 0294 02599000 * RFY 0294 02600000 * (GPR02P) RSTD; 0294 02601000 * GEN FLOWS(RWDIVDBL); 0295 02602000 BAL GPR02P,RWDIVDBL DIVISOR->GPR15P,COUNT->GPR14P 02603000 * GPR00P=RWDAWLMH(RWPRINT);/* GET HIGH ORDER WKLD MOMENT */ 02604000 L @03,@PC00002 0296 02605000 L @03,RWPRINT(,@03) 0296 02606000 MH @03,@CH00374 0296 02607000 L GPR00P,RWDAWLMH-48(@03) 0296 02608000 * GPR01P=RWDAWLML(RWPRINT);/* GET LOW ORDER WKLD MOMENT */ 02609000 L GPR01P,RWDAWLML-48(@03) 0297 02610000 * GEN; 0298 02611000 * DIVISOR IS IN R15 02612000 BAL GPR02P,RWDIVIDE DO DOUBLE WORD DIVIDE 02613000 * QUOTIENT -> R0,R1 02614000 M GPR00P,RWMIL MULTIPLY BY ONE THOUSAND 02615000 SRDL GPR00P,8 DIVIDE BY 256 02616000 * RWOUTH(CWL)=GPR00P; /* SAVE OUTPUT HIGH ORDER WORD */ 02617000 ST GPR00P,RWOUTH+16 0299 02618000 * RWOUTL(CWL)=GPR01P; /* OUTPUT WORKLOAD LEVEL IN 0300 02619000 * THOUSANDTHS */ 02620000 * 0300 02621000 ST GPR01P,RWOUTL+16 0300 02622000 * /*********************************************************/ 02623000 * /* */ 02624000 * /* MACDATE Y-2 73018 */ 02625000 * /* */ 02626000 * /*********************************************************/ 02627000 * 0301 02628000 * RESPECIFY 0301 02629000 * (GPR00P, 0301 02630000 * GPR01P, 0301 02631000 * GPR14P, 0301 02632000 * GPR15P) UNRESTRICTED; 0301 02633000 * RFY 0302 02634000 * (GPR02P) UNRSTD; 0302 02635000 * END; 0303 02636000 * END; /* END OF MEAN LEVEL CALCULATIONS*/ 02637000 @RC00286 DS 0H 0305 02638000 * 0305 02639000 * /*****************************************************************/ 02640000 * /* */ 02641000 * /* AVERAGE TRANSACTION TIME = ENDED TRANSACTION ELAPSED TIME / */ 02642000 * /* NUMBER OF ENDED TRANSACTIONS */ 02643000 * /* */ 02644000 * /*****************************************************************/ 02645000 * 0305 02646000 * IF RWDATTX(RWPRINT)=CDWORDZ THEN/* IF ZERO TX COUNT (DIVISOR) */ 02647000 @RC00275 L @15,@PC00002 0305 02648000 L @15,RWPRINT(,@15) 0305 02649000 MH @15,@CH00374 0305 02650000 LA @14,RWDATTX-48(@15) 0305 02651000 CLC 0(8,@14),CDWORDZ 0305 02652000 BNE @RF00305 0305 02653000 * DO; 0306 02654000 * RWOUTPUT(CATT)=CDWORDZ; /* OUTPUT TX TIME IS 0 */ 02655000 MVC RWOUTPUT+40(8),CDWORDZ 0307 02656000 * END; 0308 02657000 * ELSE 0309 02658000 * DO; 0309 02659000 * 0309 02660000 B @RC00305 0309 02661000 @RF00305 DS 0H 0310 02662000 * /*************************************************************/ 02663000 * /* */ 02664000 * /* MACDATE Y-2 73018 */ 02665000 * /* */ 02666000 * /*************************************************************/ 02667000 * 0310 02668000 * RESPECIFY 0310 02669000 * (GPR00P, 0310 02670000 * GPR01P, 0310 02671000 * GPR14P, 0310 02672000 * GPR15P) RESTRICTED; 0310 02673000 * GPR14P=RWDATTXH(RWPRINT); /* HIGH ORDER TX ENDED COUNT */ 02674000 L @07,@PC00002 0311 02675000 L @07,RWPRINT(,@07) 0311 02676000 MH @07,@CH00374 0311 02677000 L GPR14P,RWDATTXH-48(@07) 0311 02678000 * GPR15P=RWDATTXL(RWPRINT); /* LOW ORDER TX ENDED COUNT */ 02679000 L GPR15P,RWDATTXL-48(@07) 0312 02680000 * RFY 0313 02681000 * (GPR02P) RSTD; 0313 02682000 * GEN FLOWS(RWDIVDBL); 0314 02683000 BAL GPR02P,RWDIVDBL DIVISOR->GPR15P,COUNT->GPR14P 02684000 * GPR00P=RWDATTMH(RWPRINT); /* HIGH ORDER TX ENDED TIME */ 02685000 L @03,@PC00002 0315 02686000 L @03,RWPRINT(,@03) 0315 02687000 MH @03,@CH00374 0315 02688000 L GPR00P,RWDATTMH-48(@03) 0315 02689000 * GPR01P=RWDATTML(RWPRINT); /* LOW ORDER TX ENDED TIME */ 02690000 L GPR01P,RWDATTML-48(@03) 0316 02691000 * GEN; 0317 02692000 BAL GPR02P,RWDIVIDE DO DOUBLE WORD DIVIDE 02693000 * QUOTIENT -> R0,R1 02694000 * CHANGE FROM 1024-MICROSECONDS TO MILLISECONDS 02695000 SLDL GPR00P,10 CHANGE TO MICROSECONDS 02696000 L GPR15P,RWCENSEC IN ORDER TO CHANGE TO TENTHS 02697000 * OF MILLISECONDS, DIVIDE BY 02698000 * CENTISECONDS 02699000 SR GPR14P,GPR14P CLEAR SHIFT COUNT 02700000 BAL GPR02P,RWDIVIDE DO DOUBLE WORD DIVIDE 02701000 * QUOTIENT -> R0,R1 02702000 * R0,R1 CONTAIN SEC X 10 -4 02703000 D GPR00P,RWTENMIL QUOTIENT = HOURS, 02704000 * REMAINDER = FRACTION OF HOURS 02705000 * RFY 0318 02706000 * GPR02P UNRSTD; 0318 02707000 * GEN DATA; 0319 02708000 * RWOUTH(CATT)=GPR01P; /* NO OF HOURS IN HI ORDER WORD */ 02709000 * 0320 02710000 ST GPR01P,RWOUTH+40 0320 02711000 * /*************************************************************/ 02712000 * /* */ 02713000 * /* OUTPUT TX TIME OF FORM MMSSTTTT, BINARY */ 02714000 * /* */ 02715000 * /*************************************************************/ 02716000 * 0321 02717000 * RWOUTL(CATT)=GPR00P/600000*1000000/* MIN MM000000 */ 02718000 * +(GPR00P//600000); /* TEN THOUSANDTHS SEC S -- 0321 02719000 * 00SSTTTT */ 02720000 * 0321 02721000 L @07,@CF00349 0321 02722000 LR @03,GPR00P 0321 02723000 SLR @02,@02 0321 02724000 DR @02,@07 0321 02725000 M @02,@CF00327 0321 02726000 LR @04,GPR00P 0321 02727000 SRDA @04,32 0321 02728000 DR @04,@07 0321 02729000 ALR @03,@04 0321 02730000 ST @03,RWOUTL+40 0321 02731000 * /*************************************************************/ 02732000 * /* */ 02733000 * /* MACDATE Y-2 73018 */ 02734000 * /* */ 02735000 * /*************************************************************/ 02736000 * 0322 02737000 * RESPECIFY 0322 02738000 * (GPR00P, 0322 02739000 * GPR01P, 0322 02740000 * GPR14P, 0322 02741000 * GPR15P) UNRESTRICTED; 0322 02742000 * END; 0323 02743000 * 0324 02744000 * /*****************************************************************/ 02745000 * /* */ 02746000 * /* FORMAT OUTPUT VALUES */ 02747000 * /* */ 02748000 * /*****************************************************************/ 02749000 * 0324 02750000 * IF RWPRINT<=MFPMOPT THEN /* IF THIS DATA IS TO BE REPORTED*/ 02751000 @RC00305 L @15,@PC00002 0324 02752000 L @14,@PC00001+8 0324 02753000 L @01,RWPMAPTR(,@14) 0324 02754000 L @00,RWPRINT(,@15) 0324 02755000 C @00,MFPMOPT(,@01) 0324 02756000 BH @RF00324 0324 02757000 * DO; 0325 02758000 * DO V=1 TO CREPVAL-1; /* FOR ALL OUTPUT VALUES, BUT 1 */ 02759000 * 0326 02760000 LA V,1 0326 02761000 @DL00326 DS 0H 0327 02762000 * /***********************************************************/ 02763000 * /* */ 02764000 * /* FIND POWER OF TEN GREATER THAN HIGH ORDER WORD OF OUTPUT*/ 02765000 * /* VALUE. */ 02766000 * /* */ 02767000 * /***********************************************************/ 02768000 * 0327 02769000 * DO P=1 TO DIM(RWTEN) WHILE(RWOUTH(V)>=RWTEN(P)); 0327 02770000 LA P,1 0327 02771000 @DL00327 LR @15,V 0327 02772000 SLA @15,3 0327 02773000 LR @14,P 0327 02774000 SLA @14,2 0327 02775000 L @15,RWOUTH-8(@15) 0327 02776000 CL @15,RWTEN-4(@14) 0327 02777000 BL @DC00327 0327 02778000 * END; 0328 02779000 * 0328 02780000 AL P,@CF00090 0328 02781000 C P,@CF00205 0328 02782000 BNH @DL00327 0328 02783000 @DC00327 DS 0H 0329 02784000 * /***********************************************************/ 02785000 * /* */ 02786000 * /* MACDATE Y-2 73018 */ 02787000 * /* */ 02788000 * /***********************************************************/ 02789000 * 0329 02790000 * RESPECIFY 0329 02791000 * (GPR00P, 0329 02792000 * GPR01P, 0329 02793000 * GPR14P, 0329 02794000 * GPR15P) RESTRICTED; 0329 02795000 * GPR00P=RWOUTH(V); 0330 02796000 LR @05,V 0330 02797000 SLA @05,3 0330 02798000 L GPR00P,RWOUTH-8(@05) 0330 02799000 * GPR01P=RWOUTL(V); 0331 02800000 L GPR01P,RWOUTL-8(@05) 0331 02801000 * GPR15P=RWTEN(P); /* DIVIDE BY POWER OF TEN TO 0332 02802000 * CLEAR HIGH ORDER WORD. */ 02803000 LR @05,P 0332 02804000 SLA @05,2 0332 02805000 L GPR15P,RWTEN-4(@05) 0332 02806000 * GPR14P=0; /* SHIFT COUNTER =0 */ 02807000 SLR GPR14P,GPR14P 0333 02808000 * RFY 0334 02809000 * GPR02P RSTD; 0334 02810000 * GEN; 0335 02811000 BAL GPR02P,RWDIVIDE DOUBLE WORD DIVIDE. USE THIS 02812000 * ROUTINE IN CASE HIGH BIT OF LOW 02813000 * ORDER WORD IS SET. 02814000 * RFY 0336 02815000 * GPR02P UNRSTD; 0336 02816000 * RWEXP=P-1; /* SAVE EXPONENT FOR HIGH ORDER */ 02817000 LR @05,P 0337 02818000 BCTR @05,0 0337 02819000 ST @05,RWEXP 0337 02820000 * RWTEMPF=GPR01P; /* SIGNIFICANT DIGITS */ 02821000 * 0338 02822000 ST GPR01P,RWTEMPF 0338 02823000 * /***********************************************************/ 02824000 * /* */ 02825000 * /* DIFFERENCE BETWEEN PLACES TO RIGHT OF DECIMAL POINT AND */ 02826000 * /* SCALE FACTOR YIELDS NUMBER OF DIGITS NOT PRINTED. */ 02827000 * /* */ 02828000 * /***********************************************************/ 02829000 * 0339 02830000 * RWFLDFAC= /* FIELD FACTOR */ 02831000 * RWOUTDIG(V) /* NUMBER OF DIGITS IN OUTPUT */ 02832000 * -RWOUTPRD(V) /* PLACES RIGHT OF DECIMAL POINT */ 02833000 * -RWOUTSCF(V) /* CONVERSION SCALE FACTOR */ 02834000 * +1; /* POWER OF TENS TABLE STARTS AT 02835000 * 1, NOT 10 */ 02836000 LR @07,V 0339 02837000 MH @07,@CH00286 0339 02838000 L @05,RWOUTDIG-20(@07) 0339 02839000 SL @05,RWOUTPRD-20(@07) 0339 02840000 SL @05,RWOUTSCF-20(@07) 0339 02841000 AL @05,@CF00090 0339 02842000 ST @05,RWFLDFAC 0339 02843000 * DO P=RWFLDFAC TO DIM(RWTEN)/* FIND DIVISOR(POWER OF TEN) */ 02844000 * WHILE(RWTEMPF>=RWTEN(P));/* TO FIT LOW WORD INTO 0340 02845000 * OUTPUT FIELD */ 02846000 LR P,@05 0340 02847000 B @DE00340 0340 02848000 @DL00340 LR @05,P 0340 02849000 SLA @05,2 0340 02850000 L @04,RWTEMPF 0340 02851000 CL @04,RWTEN-4(@05) 0340 02852000 BL @DC00340 0340 02853000 * END; 0341 02854000 * 0341 02855000 AL P,@CF00090 0341 02856000 @DE00340 C P,@CF00205 0341 02857000 BNH @DL00340 0341 02858000 @DC00340 DS 0H 0342 02859000 * /***********************************************************/ 02860000 * /* */ 02861000 * /* DIVIDE TO REDUCE INPUT DIGITS BY EXCESS OVER AVAILABLE */ 02862000 * /* OUTPUT DIGITS. */ 02863000 * /* */ 02864000 * /***********************************************************/ 02865000 * 0342 02866000 * RWEXP=P-RWFLDFAC+RWEXP; /* ADDITIONAL EXPONENT FOR LOW 0342 02867000 * ORDER WORD */ 02868000 LR @05,P 0342 02869000 SL @05,RWFLDFAC 0342 02870000 LR @04,@05 0342 02871000 AL @04,RWEXP 0342 02872000 ST @04,RWEXP 0342 02873000 * GPR15P=RWTEN /* GET POWER OF TEN TO */ 02874000 * (P-RWFLDFAC+1); /* REDUCE NUMBER TO FIT IN FIELD */ 02875000 SLA @05,2 0343 02876000 L GPR15P,RWTEN(@05) 0343 02877000 * GPR14P=0; /* SHIFT COUNTER =0 */ 02878000 SLR GPR14P,GPR14P 0344 02879000 * RFY 0345 02880000 * GPR02P RSTD; 0345 02881000 * GEN; 0346 02882000 BAL GPR02P,RWDIVIDE DOUBLE WORD DIVIDE. USE THIS 02883000 * ROUTINE IN CASE HIGH BIT OF LOW 02884000 * ORDER WORD IS SET. 02885000 * RFY 0347 02886000 * GPR02P UNRSTD; 0347 02887000 * RWTEMPF=GPR01P; /* SIGNIFICANT DIGITS */ 02888000 * 0348 02889000 ST GPR01P,RWTEMPF 0348 02890000 * /***********************************************************/ 02891000 * /* */ 02892000 * /* MACDATE Y-2 73018 */ 02893000 * /* */ 02894000 * /***********************************************************/ 02895000 * 0349 02896000 * RESPECIFY 0349 02897000 * (GPR00P, 0349 02898000 * GPR01P, 0349 02899000 * GPR14P, 0349 02900000 * GPR15P) UNRESTRICTED; 0349 02901000 * 0349 02902000 * /***********************************************************/ 02903000 * /* */ 02904000 * /* ADJUST BOTH SCALE AND PRD IF EXPONENT EXISTS */ 02905000 * /* */ 02906000 * /***********************************************************/ 02907000 * 0350 02908000 * RWPRD=RWOUTPRD(V)-RWEXP; /* DECIMAL PLACES FOR THIS VALUE 02909000 * ARE ADJUSTED BY EXPONENT. */ 02910000 L @07,RWEXP 0350 02911000 LR @15,V 0350 02912000 MH @15,@CH00286 0350 02913000 L @14,RWOUTPRD-20(@15) 0350 02914000 SLR @14,@07 0350 02915000 ST @14,RWPRD 0350 02916000 * RWSCF=RWOUTSCF(V)+RWEXP; /* GET SCALE FACTOR FOR 0351 02917000 * CONVERSION */ 02918000 * 0351 02919000 AL @07,RWOUTSCF-20(@15) 0351 02920000 ST @07,RWSCF 0351 02921000 * /***********************************************************/ 02922000 * /* */ 02923000 * /* IF NEGATIVE DECIMAL PLACES, PRINT M FOR MILLION AND AD- */ 02924000 * /* JUST FOR 6 MORE DECIMAL PLACES. */ 02925000 * /* */ 02926000 * /***********************************************************/ 02927000 * 0352 02928000 * IF RWPRD<0 THEN /* IF NEGATIVE NUMBER OF DECIMAL 02929000 * PLACES, CHANGE TO MILLIONS (M)*/ 02930000 LTR @14,@14 0352 02931000 BNM @RF00352 0352 02932000 * DO; 0353 02933000 * RWSCF=RWSCF-CDIGMIL; /* FLOAT DECIMAL POINT FOR 0354 02934000 * MAXIMUM NUMBER OF SIGNIFICANT 02935000 * DIGITS. */ 02936000 LA @05,6 0354 02937000 SLR @07,@05 0354 02938000 ST @07,RWSCF 0354 02939000 * RWPRD=RWPRD+CDIGMIL; /* NUMBER OF DECIMAL PLACES IS 0355 02940000 * AD- JUSTED FOR MILLIONS(M) 0355 02941000 * ALSO. */ 02942000 * 0355 02943000 ALR @14,@05 0355 02944000 ST @14,RWPRD 0355 02945000 * /*******************************************************/ 02946000 * /* */ 02947000 * /* FORMAT 'M' MACDATE Y-2 73018 */ 02948000 * /* */ 02949000 * /*******************************************************/ 02950000 * 0356 02951000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 02952000 * LNGTPTR(CP30)->LNGTXTD,/* TEXT */ 02953000 * LNGTPTR(CP30)->LNGTXTL,/* LENGTH */ 02954000 * RWLINE, /* START LINE */ 02955000 * RWOUTCOL(V)+RWOUTLEN(V)/* START COLUMN */ 02956000 * ); 0356 02957000 L @07,@CA00082 0356 02958000 L @07,LNGTPTR-IRBMFLWV+116(,@07) 0356 02959000 LA @14,LNGTXTD(,@07) 0356 02960000 ST @14,@AL00001 0356 02961000 ST @07,@AL00001+4 0356 02962000 LA @07,RWLINE 0356 02963000 ST @07,@AL00001+8 0356 02964000 L @07,RWOUTCOL-20(@15) 0356 02965000 AL @07,RWOUTLEN-20(@15) 0356 02966000 ST @07,@AFTEMPS 0356 02967000 LA @07,@AFTEMPS 0356 02968000 ST @07,@AL00001+12 0356 02969000 L @07,@PC00001+4 0356 02970000 L @15,RWVECTAB+8(,@07) 0356 02971000 LA @01,@AL00001 0356 02972000 BALR @14,@15 0356 02973000 * END; 0357 02974000 * 0357 02975000 * /***********************************************************/ 02976000 * /* */ 02977000 * /* PUT RESULTING NUMBER IN REPORT MACDATE Y-2 73018 */ 02978000 * /* */ 02979000 * /***********************************************************/ 02980000 * 0358 02981000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 02982000 * RWTEMPF, /* INPUT VALUE */ 02983000 * RWSCF, /* INPUT SCALE */ 02984000 * RWWRKSTR, /* OUTPUT STRING */ 02985000 * RWOUTLEN(V), /* OUTPUT LENGTH */ 02986000 * RWPRD, /* PLACES RIGHT OF DEC PT */ 02987000 * CCOMMA, /* COMMAS FLAG */ 02988000 * CNOFLOAT /* MAX PRECISION FLAG */ 02989000 * ); 0358 02990000 * 0358 02991000 @RF00352 LA @07,RWTEMPF 0358 02992000 ST @07,@AL00001 0358 02993000 LA @07,RWSCF 0358 02994000 ST @07,@AL00001+4 0358 02995000 LA @07,RWWRKSTR 0358 02996000 ST @07,@AL00001+8 0358 02997000 LR @07,V 0358 02998000 MH @07,@CH00286 0358 02999000 LA @07,RWOUTLEN-20(@07) 0358 03000000 ST @07,@AL00001+12 0358 03001000 LA @07,RWPRD 0358 03002000 ST @07,@AL00001+16 0358 03003000 LA @07,@CB00245 0358 03004000 ST @07,@AL00001+20 0358 03005000 LA @07,@CB00229 0358 03006000 ST @07,@AL00001+24 0358 03007000 L @07,@PC00001+4 0358 03008000 L @15,RWVECTAB(,@07) 0358 03009000 LA @01,@AL00001 0358 03010000 BALR @14,@15 0358 03011000 * /***********************************************************/ 03012000 * /* */ 03013000 * /* MACDATE Y-2 73018 */ 03014000 * /* */ 03015000 * /***********************************************************/ 03016000 * 0359 03017000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03018000 * RWWRKSTR, /* TEXT */ 03019000 * RWOUTLEN(V), /* LENGTH */ 03020000 * RWLINE, /* START LINE */ 03021000 * RWOUTCOL(V) /* START COLUMN */ 03022000 * ); 0359 03023000 LA @07,RWWRKSTR 0359 03024000 ST @07,@AL00001 0359 03025000 LR @07,V 0359 03026000 MH @07,@CH00286 0359 03027000 LA @15,RWOUTLEN-20(@07) 0359 03028000 ST @15,@AL00001+4 0359 03029000 LA @15,RWLINE 0359 03030000 ST @15,@AL00001+8 0359 03031000 LA @07,RWOUTCOL-20(@07) 0359 03032000 ST @07,@AL00001+12 0359 03033000 L @07,@PC00001+4 0359 03034000 L @15,RWVECTAB+8(,@07) 0359 03035000 LA @01,@AL00001 0359 03036000 BALR @14,@15 0359 03037000 *RW0400: 0360 03038000 * ; /* DATA NOT FORMATTED. */ 03039000 RW0400 DS 0H 0361 03040000 * END; /* END LOOP ON OUTPUT FIELDS */ 03041000 AL V,@CF00090 0361 03042000 C V,@CF00265 0361 03043000 BNH @DL00326 0361 03044000 * 0362 03045000 * /*************************************************************/ 03046000 * /* */ 03047000 * /* FORMAT OUTPUT FIELD 'AVERAGE TRANS TIME HHH.MM.SS.TTT' */ 03048000 * /* */ 03049000 * /*************************************************************/ 03050000 * 0362 03051000 * RWTEMPF=RWOUTL(CATT); /* GET BINARY TIME MMSSTTTT */ 03052000 * 0362 03053000 L @15,RWOUTL+40 0362 03054000 ST @15,RWTEMPF 0362 03055000 * /*************************************************************/ 03056000 * /* */ 03057000 * /* CONVERT TO CHARACTER, FORMAT MMSS.TTT, ROUNDED MACDATE Y-2*/ 03058000 * /* 73018 */ 03059000 * /* */ 03060000 * /*************************************************************/ 03061000 * 0363 03062000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 03063000 * RWTEMPF, /* INPUT VALUE */ 03064000 * RWOUTSCF(CATT), /* INPUT SCALE */ 03065000 * RWWRKSTR, /* OUTPUT STRING */ 03066000 * RWOUTLEN(CATT)-CHMDOTS, /* OUTPUT LENGTH */ 03067000 * RWOUTPRD(CATT), /* PLACES RIGHT OF DEC PT */ 03068000 * CNOCOMMA, /* COMMAS FLAG */ 03069000 * CNOFLOAT /* MAX PRECISION FLAG */ 03070000 * ); 0363 03071000 * 0363 03072000 MVC @AL00001+4(24),@AL00363 0363 03073000 LA @15,RWTEMPF 0363 03074000 ST @15,@AL00001 0363 03075000 LA @15,RWWRKSTR 0363 03076000 ST @15,@AL00001+8 0363 03077000 L @15,RWOUTLEN+100 0363 03078000 BCTR @15,0 0363 03079000 BCTR @15,0 0363 03080000 ST @15,@AFTEMPS 0363 03081000 LA @15,@AFTEMPS 0363 03082000 ST @15,@AL00001+12 0363 03083000 L @14,@PC00001+4 0363 03084000 L @15,RWVECTAB(,@14) 0363 03085000 LA @01,@AL00001 0363 03086000 BALR @14,@15 0363 03087000 * /*************************************************************/ 03088000 * /* */ 03089000 * /* MAKE LEADING BLANKS INTO LEADING ZEROS. */ 03090000 * /* */ 03091000 * /*************************************************************/ 03092000 * 0364 03093000 * DO I=1 TO RWOUTLEN(CATT) WHILE(RWWRKSTR(I:I)=' '); 0364 03094000 LA I,1 0364 03095000 B @DE00364 0364 03096000 @DL00364 LA @03,RWWRKSTR-1(I) 0364 03097000 CLI 0(@03),C' ' 0364 03098000 BNE @DC00364 0364 03099000 * RWWRKSTR(I:I)='0'; 0365 03100000 LA @03,RWWRKSTR-1(I) 0365 03101000 MVI 0(@03),C'0' 0365 03102000 * END; 0366 03103000 * 0366 03104000 AL I,@CF00090 0366 03105000 @DE00364 C I,RWOUTLEN+100 0366 03106000 BNH @DL00364 0366 03107000 @DC00364 DS 0H 0367 03108000 * /*************************************************************/ 03109000 * /* */ 03110000 * /* PUT FIRST TWO PERIODS INTO OUTPUT FIELD FIRST MACDATE Y-2 */ 03111000 * /* 73018 */ 03112000 * /* */ 03113000 * /*************************************************************/ 03114000 * 0367 03115000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03116000 * LNGTPTR(CP31)->LNGTXTD, /* TEXT */ 03117000 * LNGTPTR(CP31)->LNGTXTL, /* LENGTH */ 03118000 * RWLINE, /* START LINE */ 03119000 * RWOUTCOL(CATT)+CHOURLEN /* START COLUMN */ 03120000 * ); 0367 03121000 * 0367 03122000 L @15,@CA00082 0367 03123000 L @15,LNGTPTR-IRBMFLWV+120(,@15) 0367 03124000 LA @14,LNGTXTD(,@15) 0367 03125000 ST @14,@AL00001 0367 03126000 ST @15,@AL00001+4 0367 03127000 LA @15,RWLINE 0367 03128000 ST @15,@AL00001+8 0367 03129000 LA @15,3 0367 03130000 AL @15,RWOUTCOL+100 0367 03131000 ST @15,@AFTEMPS 0367 03132000 LA @15,@AFTEMPS 0367 03133000 ST @15,@AL00001+12 0367 03134000 L @14,@PC00001+4 0367 03135000 L @15,RWVECTAB+8(,@14) 0367 03136000 LA @01,@AL00001 0367 03137000 BALR @14,@15 0367 03138000 * /*************************************************************/ 03139000 * /* */ 03140000 * /* MINUTES (MM) MACDATE Y-2 73018 */ 03141000 * /* */ 03142000 * /*************************************************************/ 03143000 * 0368 03144000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03145000 * (ADDR(RWWRKSTR)+CHOURLEN)->RWDUMMY,/* TEXT */ 03146000 * CMINLEN, /* LENGTH */ 03147000 * RWLINE, /* START LINE */ 03148000 * RWOUTCOL(CATT)+CHOURLEN+1/* START COLUMN */ 03149000 * ); 0368 03150000 * 0368 03151000 LA @15,RWWRKSTR 0368 03152000 LA @15,RWDUMMY+3(,@15) 0368 03153000 ST @15,@AL00001 0368 03154000 LA @15,@CF00061 0368 03155000 ST @15,@AL00001+4 0368 03156000 LA @15,RWLINE 0368 03157000 ST @15,@AL00001+8 0368 03158000 LA @15,4 0368 03159000 AL @15,RWOUTCOL+100 0368 03160000 ST @15,@AFTEMPS 0368 03161000 LA @15,@AFTEMPS 0368 03162000 ST @15,@AL00001+12 0368 03163000 L @14,@PC00001+4 0368 03164000 L @15,RWVECTAB+8(,@14) 0368 03165000 LA @01,@AL00001 0368 03166000 BALR @14,@15 0368 03167000 * /*************************************************************/ 03168000 * /* */ 03169000 * /* SECONDS (SS.TTT) MACDATE Y-2 73018 */ 03170000 * /* */ 03171000 * /*************************************************************/ 03172000 * 0369 03173000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03174000 * (ADDR(RWWRKSTR)+CHOURLEN+CMINLEN)->RWDUMMY,/* TEXT */ 03175000 * RWOUTLEN(CATT)-CHOURLEN-CMINLEN-CHMDOTS,/* LENGTH */ 03176000 * RWLINE, /* START LINE */ 03177000 * RWOUTCOL(CATT)+CHOURLEN+CMINLEN+CHMDOTS/* START COLUMN */ 03178000 * ); 0369 03179000 * 0369 03180000 LA @15,RWWRKSTR 0369 03181000 LA @15,RWDUMMY+5(,@15) 0369 03182000 ST @15,@AL00001 0369 03183000 LA @15,7 0369 03184000 L @14,RWOUTLEN+100 0369 03185000 SLR @14,@15 0369 03186000 ST @14,@AFTEMPS 0369 03187000 LA @14,@AFTEMPS 0369 03188000 ST @14,@AL00001+4 0369 03189000 LA @14,RWLINE 0369 03190000 ST @14,@AL00001+8 0369 03191000 AL @15,RWOUTCOL+100 0369 03192000 ST @15,@AFTEMPS+4 0369 03193000 LA @15,@AFTEMPS+4 0369 03194000 ST @15,@AL00001+12 0369 03195000 L @14,@PC00001+4 0369 03196000 L @15,RWVECTAB+8(,@14) 0369 03197000 LA @01,@AL00001 0369 03198000 BALR @14,@15 0369 03199000 * /*************************************************************/ 03200000 * /* */ 03201000 * /* HOURS (HHH) */ 03202000 * /* */ 03203000 * /*************************************************************/ 03204000 * 0370 03205000 * RWTEMPF=RWOUTH(CATT); /* GET BINARY HOURS HHH. */ 03206000 * 0370 03207000 L @15,RWOUTH+40 0370 03208000 ST @15,RWTEMPF 0370 03209000 * /*************************************************************/ 03210000 * /* */ 03211000 * /* MACDATE Y-2 73018 */ 03212000 * /* */ 03213000 * /*************************************************************/ 03214000 * 0371 03215000 * CALL IRBMFCNV( /* CONVERSION ROUTINE */ 03216000 * RWTEMPF, /* INPUT VALUE */ 03217000 * 0, /* INPUT SCALE */ 03218000 * RWWRKSTR, /* OUTPUT STRING */ 03219000 * CHOURLEN, /* OUTPUT LENGTH */ 03220000 * 0, /* PLACES RIGHT OF DEC PT */ 03221000 * CNOCOMMA, /* COMMAS FLAG */ 03222000 * CNOFLOAT /* MAX PRECISION FLAG */ 03223000 * ); 0371 03224000 * 0371 03225000 MVC @AL00001+4(24),@AL00371 0371 03226000 LA @15,RWTEMPF 0371 03227000 ST @15,@AL00001 0371 03228000 LA @15,RWWRKSTR 0371 03229000 ST @15,@AL00001+8 0371 03230000 L @14,@PC00001+4 0371 03231000 L @15,RWVECTAB(,@14) 0371 03232000 LA @01,@AL00001 0371 03233000 BALR @14,@15 0371 03234000 * /*************************************************************/ 03235000 * /* */ 03236000 * /* MAKE LEADING BLANKS INTO LEADING ZEROS. */ 03237000 * /* */ 03238000 * /*************************************************************/ 03239000 * 0372 03240000 * DO I=1 TO RWOUTLEN(CATT) WHILE(RWWRKSTR(I:I)=' '); 0372 03241000 LA I,1 0372 03242000 B @DE00372 0372 03243000 @DL00372 LA @03,RWWRKSTR-1(I) 0372 03244000 CLI 0(@03),C' ' 0372 03245000 BNE @DC00372 0372 03246000 * RWWRKSTR(I:I)='0'; 0373 03247000 LA @03,RWWRKSTR-1(I) 0373 03248000 MVI 0(@03),C'0' 0373 03249000 * END; 0374 03250000 * 0374 03251000 AL I,@CF00090 0374 03252000 @DE00372 C I,RWOUTLEN+100 0374 03253000 BNH @DL00372 0374 03254000 @DC00372 DS 0H 0375 03255000 * /*************************************************************/ 03256000 * /* */ 03257000 * /* MACDATE Y-2 73018 */ 03258000 * /* */ 03259000 * /*************************************************************/ 03260000 * 0375 03261000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03262000 * RWWRKSTR, /* TEXT */ 03263000 * CHOURLEN, /* LENGTH */ 03264000 * RWLINE, /* START LINE */ 03265000 * RWOUTCOL(CATT) /* START COLUMN */ 03266000 * ); 0375 03267000 LA @15,RWWRKSTR 0375 03268000 ST @15,@AL00001 0375 03269000 LA @15,@CF00133 0375 03270000 ST @15,@AL00001+4 0375 03271000 LA @15,RWLINE 0375 03272000 ST @15,@AL00001+8 0375 03273000 LA @15,RWOUTCOL+100 0375 03274000 ST @15,@AL00001+12 0375 03275000 L @14,@PC00001+4 0375 03276000 L @15,RWVECTAB+8(,@14) 0375 03277000 LA @01,@AL00001 0375 03278000 BALR @14,@15 0375 03279000 *RW0450: 0376 03280000 * ; /* TRANSACTION TIME NOT 0376 03281000 * FORMATTED. */ 03282000 RW0450 DS 0H 0377 03283000 * END; /* END 'IF RWPRINT<=MFPMWKLD' */ 03284000 * 0377 03285000 * /*****************************************************************/ 03286000 * /* */ 03287000 * /* ADD PRINTED DATA VALUES TO ACCUMULATING TOTALS */ 03288000 * /* */ 03289000 * /*****************************************************************/ 03290000 * 0378 03291000 * DO I=1 TO CFIELDS; /* FOR ALL DATA FIELDS */ 03292000 * 0378 03293000 @RF00324 LA I,1 0378 03294000 @DL00378 DS 0H 0379 03295000 * /***************************************************************/ 03296000 * /* */ 03297000 * /* IF WORKLOAD LEVEL, AND */ 03298000 * /* */ 03299000 * /***************************************************************/ 03300000 * 0379 03301000 * IF I=(ADDR(RWDAWLM(1))-ADDR(RWDAVAL(1)))/LENGTH(RWDAFLD)+1&RWEST= 03302000 * CSET /* VALUE IS ESTIMATED */ 03303000 * THEN 0379 03304000 LA @03,1 0379 03305000 LA @00,RWDAWLM 0379 03306000 LA @15,RWDAVAL 0379 03307000 SLR @00,@15 0379 03308000 SRDA @00,32 0379 03309000 D @00,@CF00050 0379 03310000 ALR @01,@03 0379 03311000 CR I,@01 0379 03312000 BNE @RF00379 0379 03313000 TM RWEST,B'10000000' 0379 03314000 BNO @RF00379 0379 03315000 * DO; 0380 03316000 * RWEST=CLEAR; /* CLEAR FLAG SO 'EST' NOT IN PG 03317000 * SUMMARY. */ 03318000 * 0381 03319000 NI RWEST,B'01111111' 0381 03320000 * /***********************************************************/ 03321000 * /* */ 03322000 * /* PUT 'EST' IN REPORT. ?PRINT(RWPRINT,LNGTPTR(CP5)->LNGTXT*/ 03323000 * /* D,LNGTPTR(CP5)->LNGTXTL,RWLINE,RWOUTCOL(CWL)+RWOUTLEN(CW*/ 03324000 * /* L)+1) */ 03325000 * /* */ 03326000 * /***********************************************************/ 03327000 * 0382 03328000 * IF RWPRINT<=MFPMOPT THEN /* IF THIS LEVEL OF REPORT IS 0382 03329000 * SELECTED FOR PRINTING */ 03330000 L @15,@PC00002 0382 03331000 L @14,@PC00001+8 0382 03332000 L @01,RWPMAPTR(,@14) 0382 03333000 L @00,RWPRINT(,@15) 0382 03334000 C @00,MFPMOPT(,@01) 0382 03335000 BH @RF00382 0382 03336000 * DO; 0383 03337000 * 0383 03338000 * /*******************************************************/ 03339000 * /* */ 03340000 * /* MACDATE Y-2 73018 */ 03341000 * /* */ 03342000 * /*******************************************************/ 03343000 * 0384 03344000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03345000 * LNGTPTR(CP5)->LNGTXTD,/* TEXT */ 03346000 * LNGTPTR(CP5)->LNGTXTL,/* LENGTH */ 03347000 * RWLINE, /* START LINE */ 03348000 * RWOUTCOL(CWL)+RWOUTLEN(CWL)+1/* START COLUMN */ 03349000 * ); 0384 03350000 L @15,@CA00082 0384 03351000 L @15,LNGTPTR-IRBMFLWV+16(,@15) 0384 03352000 LA @14,LNGTXTD(,@15) 0384 03353000 ST @14,@AL00001 0384 03354000 ST @15,@AL00001+4 0384 03355000 LA @15,RWLINE 0384 03356000 ST @15,@AL00001+8 0384 03357000 L @15,RWOUTCOL+40 0384 03358000 AL @15,RWOUTLEN+40 0384 03359000 ALR @15,@03 0384 03360000 ST @15,@AFTEMPS 0384 03361000 LA @03,@AFTEMPS 0384 03362000 ST @03,@AL00001+12 0384 03363000 L @03,@PC00001+4 0384 03364000 L @15,RWVECTAB+8(,@03) 0384 03365000 LA @01,@AL00001 0384 03366000 BALR @14,@15 0384 03367000 * END; 0385 03368000 * END; 0386 03369000 @RF00382 DS 0H 0387 03370000 * RWTEMPF=0; /* CARRY NOW ZERO */ 03371000 @RF00379 SLR @03,@03 0387 03372000 ST @03,RWTEMPF 0387 03373000 * RWDAFLDL(I+(RWTOTAL-1)*CFIELDS)=RWDAFLDL(I+(RWTOTAL-1)*CFIELDS)+ 03374000 * RWDAFLDL(I+(RWPRINT-1)*CFIELDS);/* ADD LOW ORDER WORDS */ 03375000 LA @03,6 0388 03376000 L @15,@PC00002+4 0388 03377000 L @01,RWTOTAL(,@15) 0388 03378000 BCTR @01,0 0388 03379000 MR @00,@03 0388 03380000 ALR @01,I 0388 03381000 SLA @01,3 0388 03382000 L @15,@PC00002 0388 03383000 L @05,RWPRINT(,@15) 0388 03384000 BCTR @05,0 0388 03385000 MR @04,@03 0388 03386000 ALR @05,I 0388 03387000 SLA @05,3 0388 03388000 L @03,RWDAFLDL-8(@01) 0388 03389000 AL @03,RWDAFLDL-8(@05) 0388 03390000 ST @03,RWDAFLDL-8(@01) 0388 03391000 * BC(12,RW0500); /* BRANCH IF NO CARRY */ 03392000 BC 12,RW0500 0389 03393000 * RWTEMPF=1; /* CARRY WAS 1 */ 03394000 MVC RWTEMPF(4),@CF00090 0390 03395000 *RW0500: /* ADD HIGH ORDER WORD AND CARRY.*/ 03396000 * RWDAFLDH(I+(RWTOTAL-1)*CFIELDS)=RWDAFLDH(I+(RWTOTAL-1)*CFIELDS)+ 03397000 * RWDAFLDH(I+(RWPRINT-1)*CFIELDS)/* ADD HIGH ORDER WORD */ 03398000 * +RWTEMPF; /* AND CARRY FROM LOW */ 03399000 RW0500 LA @03,6 0391 03400000 L @15,@PC00002+4 0391 03401000 L @01,RWTOTAL(,@15) 0391 03402000 BCTR @01,0 0391 03403000 MR @00,@03 0391 03404000 ALR @01,I 0391 03405000 SLA @01,3 0391 03406000 L @15,@PC00002 0391 03407000 L @05,RWPRINT(,@15) 0391 03408000 BCTR @05,0 0391 03409000 MR @04,@03 0391 03410000 ALR @05,I 0391 03411000 SLA @05,3 0391 03412000 L @03,RWDAFLDH-8(@01) 0391 03413000 AL @03,RWDAFLDH-8(@05) 0391 03414000 AL @03,RWTEMPF 0391 03415000 ST @03,RWDAFLDH-8(@01) 0391 03416000 * RWDAFLD(I+(RWPRINT-1)*CFIELDS)=CDWORDZ;/* ZERO PRINTED VALUE 0392 03417000 * LEVEL. NEED IF PG LEVEL, SO 0392 03418000 * NEXT PG PERIODS START WITH 0. */ 03419000 LA @03,RWDAFLD-8(@05) 0392 03420000 MVC 0(8,@03),CDWORDZ 0392 03421000 * END; 0393 03422000 AL I,@CF00090 0393 03423000 C I,@CF00114 0393 03424000 BNH @DL00378 0393 03425000 * END RWFORDAT; 0394 03426000 @EL00002 DS 0H 0394 03427000 @EF00002 DS 0H 0394 03428000 @ER00002 LM @14,@12,@SA00002 0394 03429000 BR @14 0394 03430000 *RWPAGHDR: /* PUT HEADER ON REPORT PAGE */ 03431000 * PROC; 0395 03432000 RWPAGHDR STM @14,@12,@SA00003 0395 03433000 * RFY 0396 03434000 * SMFRCD72 BASED(RWSMFPTR); /* USE RECORD SAVED FOR HEADERS. */ 03435000 * RWPAGE=RWPAGE+1; /* NEW PAGE NUMBER */ 03436000 LA @15,1 0397 03437000 AL @15,RWPAGE 0397 03438000 ST @15,RWPAGE 0397 03439000 * CALL MFHDRISR /* BUILD PAGE HEADER */ 03440000 * (RWSMFPTR /* POINTER TO SMF RECORD */ 03441000 * ,LNGTPTR(CP1)->LNGTXTD /* TITLE 'WORKLOAD ACTIVITY' */ 03442000 * ,LNGTPTR(CP1)->LNGTXTL /* TITLE LENGTH */ 03443000 * ,RWPAGE /* PAGE NUMBER */ 03444000 * ); 0398 03445000 * 0398 03446000 LA @15,RWSMFPTR 0398 03447000 ST @15,@AL00001 0398 03448000 L @15,@CA00082 0398 03449000 L @15,LNGTPTR-IRBMFLWV(,@15) 0398 03450000 LA @14,LNGTXTD(,@15) 0398 03451000 ST @14,@AL00001+4 0398 03452000 ST @15,@AL00001+8 0398 03453000 LA @15,RWPAGE 0398 03454000 ST @15,@AL00001+12 0398 03455000 L @14,@PC00001+4 0398 03456000 L @15,RWVECTAB+4(,@14) 0398 03457000 LA @01,@AL00001 0398 03458000 BALR @14,@15 0398 03459000 * /*****************************************************************/ 03460000 * /* */ 03461000 * /* MACDATE Y-2 73018 */ 03462000 * /* */ 03463000 * /*****************************************************************/ 03464000 * 0399 03465000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03466000 * SMF72IPS, /* TEXT */ 03467000 * LENGTH(SMF72IPS), /* LENGTH */ 03468000 * RGHDR4, /* START LINE */ 03469000 * RGCOLD /* START COLUMN */ 03470000 * ); /* IPS NAME IN PAGE HEADER 0399 03471000 * INSTEAD OF CYCLE */ 03472000 * 0399 03473000 MVC @AL00001+4(12),@AL00399 0399 03474000 L @15,RWSMFPTR 0399 03475000 LA @14,SMF72SIZ(,@15) 0399 03476000 AH @14,SMF72SIZ(,@15) 0399 03477000 LA @15,SMF72IPS(,@14) 0399 03478000 ST @15,@AL00001 0399 03479000 L @14,@PC00001+4 0399 03480000 L @15,RWVECTAB+8(,@14) 0399 03481000 LA @01,@AL00001 0399 03482000 BALR @14,@15 0399 03483000 * /*****************************************************************/ 03484000 * /* */ 03485000 * /* BUILD WORKLOAD ACTIVITY DATA HEADER MACDATE Y-2 73018 */ 03486000 * /* */ 03487000 * /*****************************************************************/ 03488000 * 0400 03489000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03490000 * LNGTPTR(CP6)->LNGTXTD, /* TEXT */ 03491000 * LNGTPTR(CP6)->LNGTXTL, /* LENGTH */ 03492000 * CHDR1, /* START LINE */ 03493000 * COLA /* START COLUMN */ 03494000 * ); 0400 03495000 * 0400 03496000 L @15,@CA00082 0400 03497000 L @15,LNGTPTR-IRBMFLWV+20(,@15) 0400 03498000 LA @14,LNGTXTD(,@15) 0400 03499000 ST @14,@AL00001 0400 03500000 ST @15,@AL00001+4 0400 03501000 LA @15,@CF00095 0400 03502000 ST @15,@AL00001+8 0400 03503000 LA @15,@CF00090 0400 03504000 ST @15,@AL00001+12 0400 03505000 L @14,@PC00001+4 0400 03506000 L @15,RWVECTAB+8(,@14) 0400 03507000 LA @01,@AL00001 0400 03508000 BALR @14,@15 0400 03509000 * /*****************************************************************/ 03510000 * /* */ 03511000 * /* MACDATE Y-2 73018 */ 03512000 * /* */ 03513000 * /*****************************************************************/ 03514000 * 0401 03515000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03516000 * LNGTPTR(CP7)->LNGTXTD, /* TEXT */ 03517000 * LNGTPTR(CP7)->LNGTXTL, /* LENGTH */ 03518000 * CHDR2, /* START LINE */ 03519000 * COLA /* START COLUMN */ 03520000 * ); 0401 03521000 * 0401 03522000 L @15,@CA00082 0401 03523000 L @15,LNGTPTR-IRBMFLWV+24(,@15) 0401 03524000 LA @14,LNGTXTD(,@15) 0401 03525000 ST @14,@AL00001 0401 03526000 ST @15,@AL00001+4 0401 03527000 LA @15,@CF00050 0401 03528000 ST @15,@AL00001+8 0401 03529000 LA @15,@CF00090 0401 03530000 ST @15,@AL00001+12 0401 03531000 L @14,@PC00001+4 0401 03532000 L @15,RWVECTAB+8(,@14) 0401 03533000 LA @01,@AL00001 0401 03534000 BALR @14,@15 0401 03535000 * /*****************************************************************/ 03536000 * /* */ 03537000 * /* MACDATE Y-2 73018 */ 03538000 * /* */ 03539000 * /*****************************************************************/ 03540000 * 0402 03541000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03542000 * LNGTPTR(CP8)->LNGTXTD, /* TEXT */ 03543000 * LNGTPTR(CP8)->LNGTXTL, /* LENGTH */ 03544000 * CHDR3, /* START LINE */ 03545000 * COLA /* START COLUMN */ 03546000 * ); 0402 03547000 * 0402 03548000 L @15,@CA00082 0402 03549000 L @15,LNGTPTR-IRBMFLWV+28(,@15) 0402 03550000 LA @14,LNGTXTD(,@15) 0402 03551000 ST @14,@AL00001 0402 03552000 ST @15,@AL00001+4 0402 03553000 LA @15,@CF00203 0402 03554000 ST @15,@AL00001+8 0402 03555000 LA @15,@CF00090 0402 03556000 ST @15,@AL00001+12 0402 03557000 L @14,@PC00001+4 0402 03558000 L @15,RWVECTAB+8(,@14) 0402 03559000 LA @01,@AL00001 0402 03560000 BALR @14,@15 0402 03561000 * /*****************************************************************/ 03562000 * /* */ 03563000 * /* MACDATE Y-2 73018 */ 03564000 * /* */ 03565000 * /*****************************************************************/ 03566000 * 0403 03567000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03568000 * LNGTPTR(CP9)->LNGTXTD, /* TEXT */ 03569000 * LNGTPTR(CP9)->LNGTXTL, /* LENGTH */ 03570000 * CHDR1, /* START LINE */ 03571000 * COLB /* START COLUMN */ 03572000 * ); 0403 03573000 * 0403 03574000 L @15,@CA00082 0403 03575000 L @15,LNGTPTR-IRBMFLWV+32(,@15) 0403 03576000 LA @14,LNGTXTD(,@15) 0403 03577000 ST @14,@AL00001 0403 03578000 ST @15,@AL00001+4 0403 03579000 LA @15,@CF00095 0403 03580000 ST @15,@AL00001+8 0403 03581000 LA @15,@CF00100 0403 03582000 ST @15,@AL00001+12 0403 03583000 L @14,@PC00001+4 0403 03584000 L @15,RWVECTAB+8(,@14) 0403 03585000 LA @01,@AL00001 0403 03586000 BALR @14,@15 0403 03587000 * /*****************************************************************/ 03588000 * /* */ 03589000 * /* MACDATE Y-2 73018 */ 03590000 * /* */ 03591000 * /*****************************************************************/ 03592000 * 0404 03593000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03594000 * LNGTPTR(CP10)->LNGTXTD, /* TEXT */ 03595000 * LNGTPTR(CP10)->LNGTXTL, /* LENGTH */ 03596000 * CHDR2, /* START LINE */ 03597000 * COLB /* START COLUMN */ 03598000 * ); 0404 03599000 * 0404 03600000 L @15,@CA00082 0404 03601000 L @15,LNGTPTR-IRBMFLWV+36(,@15) 0404 03602000 LA @14,LNGTXTD(,@15) 0404 03603000 ST @14,@AL00001 0404 03604000 ST @15,@AL00001+4 0404 03605000 LA @15,@CF00050 0404 03606000 ST @15,@AL00001+8 0404 03607000 LA @15,@CF00100 0404 03608000 ST @15,@AL00001+12 0404 03609000 L @14,@PC00001+4 0404 03610000 L @15,RWVECTAB+8(,@14) 0404 03611000 LA @01,@AL00001 0404 03612000 BALR @14,@15 0404 03613000 * /*****************************************************************/ 03614000 * /* */ 03615000 * /* MACDATE Y-2 73018 */ 03616000 * /* */ 03617000 * /*****************************************************************/ 03618000 * 0405 03619000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03620000 * LNGTPTR(CP11)->LNGTXTD, /* TEXT */ 03621000 * LNGTPTR(CP11)->LNGTXTL, /* LENGTH */ 03622000 * CHDR3, /* START LINE */ 03623000 * COLB /* START COLUMN */ 03624000 * ); 0405 03625000 * 0405 03626000 L @15,@CA00082 0405 03627000 L @15,LNGTPTR-IRBMFLWV+40(,@15) 0405 03628000 LA @14,LNGTXTD(,@15) 0405 03629000 ST @14,@AL00001 0405 03630000 ST @15,@AL00001+4 0405 03631000 LA @15,@CF00203 0405 03632000 ST @15,@AL00001+8 0405 03633000 LA @15,@CF00100 0405 03634000 ST @15,@AL00001+12 0405 03635000 L @14,@PC00001+4 0405 03636000 L @15,RWVECTAB+8(,@14) 0405 03637000 LA @01,@AL00001 0405 03638000 BALR @14,@15 0405 03639000 * /*****************************************************************/ 03640000 * /* */ 03641000 * /* MACDATE Y-2 73018 */ 03642000 * /* */ 03643000 * /*****************************************************************/ 03644000 * 0406 03645000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03646000 * LNGTPTR(CP12)->LNGTXTD, /* TEXT */ 03647000 * LNGTPTR(CP12)->LNGTXTL, /* LENGTH */ 03648000 * CHDR1, /* START LINE */ 03649000 * COLC /* START COLUMN */ 03650000 * ); 0406 03651000 * 0406 03652000 L @15,@CA00082 0406 03653000 L @15,LNGTPTR-IRBMFLWV+44(,@15) 0406 03654000 LA @14,LNGTXTD(,@15) 0406 03655000 ST @14,@AL00001 0406 03656000 ST @15,@AL00001+4 0406 03657000 LA @15,@CF00095 0406 03658000 ST @15,@AL00001+8 0406 03659000 LA @15,@CF00042 0406 03660000 ST @15,@AL00001+12 0406 03661000 L @14,@PC00001+4 0406 03662000 L @15,RWVECTAB+8(,@14) 0406 03663000 LA @01,@AL00001 0406 03664000 BALR @14,@15 0406 03665000 * /*****************************************************************/ 03666000 * /* */ 03667000 * /* MACDATE Y-2 73018 */ 03668000 * /* */ 03669000 * /*****************************************************************/ 03670000 * 0407 03671000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03672000 * LNGTPTR(CP13)->LNGTXTD, /* TEXT */ 03673000 * LNGTPTR(CP13)->LNGTXTL, /* LENGTH */ 03674000 * CHDR2, /* START LINE */ 03675000 * COLC /* START COLUMN */ 03676000 * ); 0407 03677000 * 0407 03678000 L @15,@CA00082 0407 03679000 L @15,LNGTPTR-IRBMFLWV+48(,@15) 0407 03680000 LA @14,LNGTXTD(,@15) 0407 03681000 ST @14,@AL00001 0407 03682000 ST @15,@AL00001+4 0407 03683000 LA @15,@CF00050 0407 03684000 ST @15,@AL00001+8 0407 03685000 LA @15,@CF00042 0407 03686000 ST @15,@AL00001+12 0407 03687000 L @14,@PC00001+4 0407 03688000 L @15,RWVECTAB+8(,@14) 0407 03689000 LA @01,@AL00001 0407 03690000 BALR @14,@15 0407 03691000 * /*****************************************************************/ 03692000 * /* */ 03693000 * /* MACDATE Y-2 73018 */ 03694000 * /* */ 03695000 * /*****************************************************************/ 03696000 * 0408 03697000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03698000 * LNGTPTR(CP14)->LNGTXTD, /* TEXT */ 03699000 * LNGTPTR(CP14)->LNGTXTL, /* LENGTH */ 03700000 * CHDR3, /* START LINE */ 03701000 * COLC /* START COLUMN */ 03702000 * ); 0408 03703000 * 0408 03704000 L @15,@CA00082 0408 03705000 L @15,LNGTPTR-IRBMFLWV+52(,@15) 0408 03706000 LA @14,LNGTXTD(,@15) 0408 03707000 ST @14,@AL00001 0408 03708000 ST @15,@AL00001+4 0408 03709000 LA @15,@CF00203 0408 03710000 ST @15,@AL00001+8 0408 03711000 LA @15,@CF00042 0408 03712000 ST @15,@AL00001+12 0408 03713000 L @14,@PC00001+4 0408 03714000 L @15,RWVECTAB+8(,@14) 0408 03715000 LA @01,@AL00001 0408 03716000 BALR @14,@15 0408 03717000 * /*****************************************************************/ 03718000 * /* */ 03719000 * /* MACDATE Y-2 73018 */ 03720000 * /* */ 03721000 * /*****************************************************************/ 03722000 * 0409 03723000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03724000 * LNGTPTR(CP15)->LNGTXTD, /* TEXT */ 03725000 * LNGTPTR(CP15)->LNGTXTL, /* LENGTH */ 03726000 * CHDR1, /* START LINE */ 03727000 * COLD /* START COLUMN */ 03728000 * ); 0409 03729000 * 0409 03730000 L @15,@CA00082 0409 03731000 L @15,LNGTPTR-IRBMFLWV+56(,@15) 0409 03732000 LA @14,LNGTXTD(,@15) 0409 03733000 ST @14,@AL00001 0409 03734000 ST @15,@AL00001+4 0409 03735000 LA @15,@CF00095 0409 03736000 ST @15,@AL00001+8 0409 03737000 LA @15,@CF00255 0409 03738000 ST @15,@AL00001+12 0409 03739000 L @14,@PC00001+4 0409 03740000 L @15,RWVECTAB+8(,@14) 0409 03741000 LA @01,@AL00001 0409 03742000 BALR @14,@15 0409 03743000 * /*****************************************************************/ 03744000 * /* */ 03745000 * /* MACDATE Y-2 73018 */ 03746000 * /* */ 03747000 * /*****************************************************************/ 03748000 * 0410 03749000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03750000 * LNGTPTR(CP16)->LNGTXTD, /* TEXT */ 03751000 * LNGTPTR(CP16)->LNGTXTL, /* LENGTH */ 03752000 * CHDR2, /* START LINE */ 03753000 * COLD /* START COLUMN */ 03754000 * ); 0410 03755000 * 0410 03756000 L @15,@CA00082 0410 03757000 L @15,LNGTPTR-IRBMFLWV+60(,@15) 0410 03758000 LA @14,LNGTXTD(,@15) 0410 03759000 ST @14,@AL00001 0410 03760000 ST @15,@AL00001+4 0410 03761000 LA @15,@CF00050 0410 03762000 ST @15,@AL00001+8 0410 03763000 LA @15,@CF00255 0410 03764000 ST @15,@AL00001+12 0410 03765000 L @14,@PC00001+4 0410 03766000 L @15,RWVECTAB+8(,@14) 0410 03767000 LA @01,@AL00001 0410 03768000 BALR @14,@15 0410 03769000 * /*****************************************************************/ 03770000 * /* */ 03771000 * /* MACDATE Y-2 73018 */ 03772000 * /* */ 03773000 * /*****************************************************************/ 03774000 * 0411 03775000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03776000 * LNGTPTR(CP17)->LNGTXTD, /* TEXT */ 03777000 * LNGTPTR(CP17)->LNGTXTL, /* LENGTH */ 03778000 * CHDR3, /* START LINE */ 03779000 * COLD /* START COLUMN */ 03780000 * ); 0411 03781000 * 0411 03782000 L @15,@CA00082 0411 03783000 L @15,LNGTPTR-IRBMFLWV+64(,@15) 0411 03784000 LA @14,LNGTXTD(,@15) 0411 03785000 ST @14,@AL00001 0411 03786000 ST @15,@AL00001+4 0411 03787000 LA @15,@CF00203 0411 03788000 ST @15,@AL00001+8 0411 03789000 LA @15,@CF00255 0411 03790000 ST @15,@AL00001+12 0411 03791000 L @14,@PC00001+4 0411 03792000 L @15,RWVECTAB+8(,@14) 0411 03793000 LA @01,@AL00001 0411 03794000 BALR @14,@15 0411 03795000 * /*****************************************************************/ 03796000 * /* */ 03797000 * /* MACDATE Y-2 73018 */ 03798000 * /* */ 03799000 * /*****************************************************************/ 03800000 * 0412 03801000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03802000 * LNGTPTR(CP19)->LNGTXTD, /* TEXT */ 03803000 * LNGTPTR(CP19)->LNGTXTL, /* LENGTH */ 03804000 * CHDR2, /* START LINE */ 03805000 * COLE /* START COLUMN */ 03806000 * ); 0412 03807000 * 0412 03808000 L @15,@CA00082 0412 03809000 L @15,LNGTPTR-IRBMFLWV+72(,@15) 0412 03810000 LA @14,LNGTXTD(,@15) 0412 03811000 ST @14,@AL00001 0412 03812000 ST @15,@AL00001+4 0412 03813000 LA @15,@CF00050 0412 03814000 ST @15,@AL00001+8 0412 03815000 LA @15,@CF00256 0412 03816000 ST @15,@AL00001+12 0412 03817000 L @14,@PC00001+4 0412 03818000 L @15,RWVECTAB+8(,@14) 0412 03819000 LA @01,@AL00001 0412 03820000 BALR @14,@15 0412 03821000 * /*****************************************************************/ 03822000 * /* */ 03823000 * /* MACDATE Y-2 73018 */ 03824000 * /* */ 03825000 * /*****************************************************************/ 03826000 * 0413 03827000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03828000 * LNGTPTR(CP20)->LNGTXTD, /* TEXT */ 03829000 * LNGTPTR(CP20)->LNGTXTL, /* LENGTH */ 03830000 * CHDR3, /* START LINE */ 03831000 * COLE /* START COLUMN */ 03832000 * ); 0413 03833000 * 0413 03834000 L @15,@CA00082 0413 03835000 L @15,LNGTPTR-IRBMFLWV+76(,@15) 0413 03836000 LA @14,LNGTXTD(,@15) 0413 03837000 ST @14,@AL00001 0413 03838000 ST @15,@AL00001+4 0413 03839000 LA @15,@CF00203 0413 03840000 ST @15,@AL00001+8 0413 03841000 LA @15,@CF00256 0413 03842000 ST @15,@AL00001+12 0413 03843000 L @14,@PC00001+4 0413 03844000 L @15,RWVECTAB+8(,@14) 0413 03845000 LA @01,@AL00001 0413 03846000 BALR @14,@15 0413 03847000 * /*****************************************************************/ 03848000 * /* */ 03849000 * /* MACDATE Y-2 73018 */ 03850000 * /* */ 03851000 * /*****************************************************************/ 03852000 * 0414 03853000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03854000 * LNGTPTR(CP21)->LNGTXTD, /* TEXT */ 03855000 * LNGTPTR(CP21)->LNGTXTL, /* LENGTH */ 03856000 * CHDR1, /* START LINE */ 03857000 * COLF /* START COLUMN */ 03858000 * ); 0414 03859000 * 0414 03860000 L @15,@CA00082 0414 03861000 L @15,LNGTPTR-IRBMFLWV+80(,@15) 0414 03862000 LA @14,LNGTXTD(,@15) 0414 03863000 ST @14,@AL00001 0414 03864000 ST @15,@AL00001+4 0414 03865000 LA @15,@CF00095 0414 03866000 ST @15,@AL00001+8 0414 03867000 LA @15,@CF00257 0414 03868000 ST @15,@AL00001+12 0414 03869000 L @14,@PC00001+4 0414 03870000 L @15,RWVECTAB+8(,@14) 0414 03871000 LA @01,@AL00001 0414 03872000 BALR @14,@15 0414 03873000 * /*****************************************************************/ 03874000 * /* */ 03875000 * /* MACDATE Y-2 73018 */ 03876000 * /* */ 03877000 * /*****************************************************************/ 03878000 * 0415 03879000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03880000 * LNGTPTR(CP22)->LNGTXTD, /* TEXT */ 03881000 * LNGTPTR(CP22)->LNGTXTL, /* LENGTH */ 03882000 * CHDR2, /* START LINE */ 03883000 * COLF /* START COLUMN */ 03884000 * ); 0415 03885000 * 0415 03886000 L @15,@CA00082 0415 03887000 L @15,LNGTPTR-IRBMFLWV+84(,@15) 0415 03888000 LA @14,LNGTXTD(,@15) 0415 03889000 ST @14,@AL00001 0415 03890000 ST @15,@AL00001+4 0415 03891000 LA @15,@CF00050 0415 03892000 ST @15,@AL00001+8 0415 03893000 LA @15,@CF00257 0415 03894000 ST @15,@AL00001+12 0415 03895000 L @14,@PC00001+4 0415 03896000 L @15,RWVECTAB+8(,@14) 0415 03897000 LA @01,@AL00001 0415 03898000 BALR @14,@15 0415 03899000 * /*****************************************************************/ 03900000 * /* */ 03901000 * /* MACDATE Y-2 73018 */ 03902000 * /* */ 03903000 * /*****************************************************************/ 03904000 * 0416 03905000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03906000 * LNGTPTR(CP23)->LNGTXTD, /* TEXT */ 03907000 * LNGTPTR(CP23)->LNGTXTL, /* LENGTH */ 03908000 * CHDR3, /* START LINE */ 03909000 * COLF /* START COLUMN */ 03910000 * ); 0416 03911000 * 0416 03912000 L @15,@CA00082 0416 03913000 L @15,LNGTPTR-IRBMFLWV+88(,@15) 0416 03914000 LA @14,LNGTXTD(,@15) 0416 03915000 ST @14,@AL00001 0416 03916000 ST @15,@AL00001+4 0416 03917000 LA @15,@CF00203 0416 03918000 ST @15,@AL00001+8 0416 03919000 LA @15,@CF00257 0416 03920000 ST @15,@AL00001+12 0416 03921000 L @14,@PC00001+4 0416 03922000 L @15,RWVECTAB+8(,@14) 0416 03923000 LA @01,@AL00001 0416 03924000 BALR @14,@15 0416 03925000 * /*****************************************************************/ 03926000 * /* */ 03927000 * /* MACDATE Y-2 73018 */ 03928000 * /* */ 03929000 * /*****************************************************************/ 03930000 * 0417 03931000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03932000 * LNGTPTR(CP24)->LNGTXTD, /* TEXT */ 03933000 * LNGTPTR(CP24)->LNGTXTL, /* LENGTH */ 03934000 * CHDR1, /* START LINE */ 03935000 * COLG /* START COLUMN */ 03936000 * ); 0417 03937000 * 0417 03938000 L @15,@CA00082 0417 03939000 L @15,LNGTPTR-IRBMFLWV+92(,@15) 0417 03940000 LA @14,LNGTXTD(,@15) 0417 03941000 ST @14,@AL00001 0417 03942000 ST @15,@AL00001+4 0417 03943000 LA @15,@CF00095 0417 03944000 ST @15,@AL00001+8 0417 03945000 LA @15,@CF00258 0417 03946000 ST @15,@AL00001+12 0417 03947000 L @14,@PC00001+4 0417 03948000 L @15,RWVECTAB+8(,@14) 0417 03949000 LA @01,@AL00001 0417 03950000 BALR @14,@15 0417 03951000 * /*****************************************************************/ 03952000 * /* */ 03953000 * /* MACDATE Y-2 73018 */ 03954000 * /* */ 03955000 * /*****************************************************************/ 03956000 * 0418 03957000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03958000 * LNGTPTR(CP25)->LNGTXTD, /* TEXT */ 03959000 * LNGTPTR(CP25)->LNGTXTL, /* LENGTH */ 03960000 * CHDR2, /* START LINE */ 03961000 * COLG /* START COLUMN */ 03962000 * ); 0418 03963000 * 0418 03964000 L @15,@CA00082 0418 03965000 L @15,LNGTPTR-IRBMFLWV+96(,@15) 0418 03966000 LA @14,LNGTXTD(,@15) 0418 03967000 ST @14,@AL00001 0418 03968000 ST @15,@AL00001+4 0418 03969000 LA @15,@CF00050 0418 03970000 ST @15,@AL00001+8 0418 03971000 LA @15,@CF00258 0418 03972000 ST @15,@AL00001+12 0418 03973000 L @14,@PC00001+4 0418 03974000 L @15,RWVECTAB+8(,@14) 0418 03975000 LA @01,@AL00001 0418 03976000 BALR @14,@15 0418 03977000 * /*****************************************************************/ 03978000 * /* */ 03979000 * /* MACDATE Y-2 73018 */ 03980000 * /* */ 03981000 * /*****************************************************************/ 03982000 * 0419 03983000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 03984000 * LNGTPTR(CP26)->LNGTXTD, /* TEXT */ 03985000 * LNGTPTR(CP26)->LNGTXTL, /* LENGTH */ 03986000 * CHDR3, /* START LINE */ 03987000 * COLG /* START COLUMN */ 03988000 * ); 0419 03989000 * 0419 03990000 L @15,@CA00082 0419 03991000 L @15,LNGTPTR-IRBMFLWV+100(,@15) 0419 03992000 LA @14,LNGTXTD(,@15) 0419 03993000 ST @14,@AL00001 0419 03994000 ST @15,@AL00001+4 0419 03995000 LA @15,@CF00203 0419 03996000 ST @15,@AL00001+8 0419 03997000 LA @15,@CF00258 0419 03998000 ST @15,@AL00001+12 0419 03999000 L @14,@PC00001+4 0419 04000000 L @15,RWVECTAB+8(,@14) 0419 04001000 LA @01,@AL00001 0419 04002000 BALR @14,@15 0419 04003000 * /*****************************************************************/ 04004000 * /* */ 04005000 * /* MACDATE Y-2 73018 */ 04006000 * /* */ 04007000 * /*****************************************************************/ 04008000 * 0420 04009000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 04010000 * LNGTPTR(CP27)->LNGTXTD, /* TEXT */ 04011000 * LNGTPTR(CP27)->LNGTXTL, /* LENGTH */ 04012000 * CHDR1, /* START LINE */ 04013000 * COLH /* START COLUMN */ 04014000 * ); 0420 04015000 * 0420 04016000 L @15,@CA00082 0420 04017000 L @15,LNGTPTR-IRBMFLWV+104(,@15) 0420 04018000 LA @14,LNGTXTD(,@15) 0420 04019000 ST @14,@AL00001 0420 04020000 ST @15,@AL00001+4 0420 04021000 LA @15,@CF00095 0420 04022000 ST @15,@AL00001+8 0420 04023000 LA @15,@CF00259 0420 04024000 ST @15,@AL00001+12 0420 04025000 L @14,@PC00001+4 0420 04026000 L @15,RWVECTAB+8(,@14) 0420 04027000 LA @01,@AL00001 0420 04028000 BALR @14,@15 0420 04029000 * /*****************************************************************/ 04030000 * /* */ 04031000 * /* MACDATE Y-2 73018 */ 04032000 * /* */ 04033000 * /*****************************************************************/ 04034000 * 0421 04035000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 04036000 * LNGTPTR(CP28)->LNGTXTD, /* TEXT */ 04037000 * LNGTPTR(CP28)->LNGTXTL, /* LENGTH */ 04038000 * CHDR2, /* START LINE */ 04039000 * COLH /* START COLUMN */ 04040000 * ); 0421 04041000 * 0421 04042000 L @15,@CA00082 0421 04043000 L @15,LNGTPTR-IRBMFLWV+108(,@15) 0421 04044000 LA @14,LNGTXTD(,@15) 0421 04045000 ST @14,@AL00001 0421 04046000 ST @15,@AL00001+4 0421 04047000 LA @15,@CF00050 0421 04048000 ST @15,@AL00001+8 0421 04049000 LA @15,@CF00259 0421 04050000 ST @15,@AL00001+12 0421 04051000 L @14,@PC00001+4 0421 04052000 L @15,RWVECTAB+8(,@14) 0421 04053000 LA @01,@AL00001 0421 04054000 BALR @14,@15 0421 04055000 * /*****************************************************************/ 04056000 * /* */ 04057000 * /* MACDATE Y-2 73018 */ 04058000 * /* */ 04059000 * /*****************************************************************/ 04060000 * 0422 04061000 * CALL MFISRTXT( /* INSERT TEXT ROUTINE */ 04062000 * LNGTPTR(CP29)->LNGTXTD, /* TEXT */ 04063000 * LNGTPTR(CP29)->LNGTXTL, /* LENGTH */ 04064000 * CHDR3, /* START LINE */ 04065000 * COLH /* START COLUMN */ 04066000 * ); 0422 04067000 L @15,@CA00082 0422 04068000 L @15,LNGTPTR-IRBMFLWV+112(,@15) 0422 04069000 LA @14,LNGTXTD(,@15) 0422 04070000 ST @14,@AL00001 0422 04071000 ST @15,@AL00001+4 0422 04072000 LA @15,@CF00203 0422 04073000 ST @15,@AL00001+8 0422 04074000 LA @15,@CF00259 0422 04075000 ST @15,@AL00001+12 0422 04076000 L @14,@PC00001+4 0422 04077000 L @15,RWVECTAB+8(,@14) 0422 04078000 LA @01,@AL00001 0422 04079000 BALR @14,@15 0422 04080000 * 0423 04081000 * /*****************************************************************/ 04082000 * /* */ 04083000 * /* RESET LINE NUMBER TO TOP OF REPORT PAGE */ 04084000 * /* */ 04085000 * /*****************************************************************/ 04086000 * 0423 04087000 * RWLINE=CTOPLINE; 0423 04088000 MVC RWLINE(4),@CF00248 0423 04089000 * END RWPAGHDR; 0424 04090000 @EL00003 DS 0H 0424 04091000 @EF00003 DS 0H 0424 04092000 @ER00003 LM @14,@12,@SA00003 0424 04093000 BR @14 0424 04094000 *RWFULPAG: /* REPORT PAGE FULL */ 04095000 * PROC; 0425 04096000 * 0425 04097000 RWFULPAG STM @14,@12,@SA00004 0425 04098000 */* WRITE THE CURRENT PAGE CONTENTS. THEN PLACE A HEADER IN NEW,BLANK*/ 04099000 */* PAGE. */ 04100000 * 0426 04101000 * CALL MFWRTPAG; /* CALL CENTRAL PAGE WRITE ROUTIN*/ 04102000 L @14,@PC00001+4 0426 04103000 L @15,RWVECTAB+12(,@14) 0426 04104000 BALR @14,@15 0426 04105000 * CALL RWPAGHDR; /* CALL RWR S OWN PAGE HEADER. */ 04106000 BAL @14,RWPAGHDR 0427 04107000 * END RWFULPAG; 0428 04108000 @EL00004 DS 0H 0428 04109000 @EF00004 DS 0H 0428 04110000 @ER00004 LM @14,@12,@SA00004 0428 04111000 BR @14 0428 04112000 *RWDIVDBL: /* DOUBLE WORD DIVISOR CREATOR. */ 04113000 * PROC OPTIONS(NOSAVE); 0429 04114000 RWDIVDBL DS 0H 0430 04115000 * GEN; 0430 04116000 * INPUTS 04117000 * R14,R15 DOUBLE WORD DIVISOR 04118000 * OUTPUTS 04119000 * R15 SINGLE WORD DIVISOR 04120000 * R14 A SHIFT COUNT, DIVISOR 04121000 * MULTIPLIER 04122000 SR GPR01P,GPR01P ZERO SHIFT COUNT 04123000 RW0700 LTR GPR14P,GPR14P IS HIGH ORDER WORD CLEAR 04124000 BZ RW0710 YES, VALUE IS IN SINGLE WORD 04125000 RW0705 DS 0H 04126000 SRDL GPR14P,1 NO, MOVE BIT TO LOW ORDER WORD 04127000 LA GPR01P,1(0,GPR01P) ADD TO SHIFT COUNT 04128000 B RW0700 TEST HIGH ORDER WORD AGAIN 04129000 RW0710 DS 0H VALUE IS IN SINGLE WORD 04130000 LTR GPR15P,GPR15P IS HIGH ORDER BIT OF LOW ORDER 04131000 * WORD SET 04132000 BM RW0705 YES. CLEAR THIS BIT ALSO 04133000 LR GPR14P,GPR01P SAVE SHIFT COUNT 04134000 BR GPR02P RETURN TO CALLER 04135000 * END RWDIVDBL; 0431 04136000 @EL00005 DS 0H 0431 04137000 @EF00005 DS 0H 0431 04138000 @ER00005 BR @14 0431 04139000 *RWDIVIDE: /* DIVIDE ANY SCALE DOUBLE WORD */ 04140000 * PROC OPTIONS(NOSAVE); 0432 04141000 RWDIVIDE DS 0H 0433 04142000 * GEN; 0433 04143000 * INPUTS 04144000 * R0,R1 DOUBLE WORD DIVIDEND 04145000 * R14 A SHIFT COUNT, DIVISOR 04146000 * MULTIPLIER 04147000 * R15 SINGLE WORD DIVISOR 04148000 * OUTPUTS 04149000 * R0,R1 DOUBLE WORD QUOTIENT 04150000 * R15 SINGLE WORD REMAINDER 04151000 * R14 A SHIFT COUNT, REMAINDER 04152000 * DIVISOR IF POSITIVE, 04153000 * MULTIPLIER IF NEGATIVE. 04154000 RW0800 DS 0H TEST DIVIDEND HIGH WORD>=DIVISOR 04155000 CLR @00,@15 IS DIVIDEND HIGH WORD>=DIVISOR 04156000 BL RW0810 NO. TEST DIVIDEND HIGH WORD + S BIT 04157000 SRDL @00,1 YES. DIVIDE DIVIDEND BY 2 04158000 BCTR @14,0 REMEMBER THIS DIVIDE: SUBTRACT SHIFT 04159000 * COUNT 04160000 B RW0800 TRY DIVIDEND COMPARISON AGAIN. 04161000 RW0810 DS 0H DIVIDEND HIGH WORD < DIVISOR OR 0 04162000 SLDL @00,1 GET 'SIGN' BIT (OF UNSIGNED) LOW 04163000 * ORDER WORD OF DIVIDEND 04164000 CLR @00,@15 WILL DIVIDE YIELD QUOTIENT> 31 BITS 04165000 SRDL @00,1 (ADJUST FOR SHIFT OF 'SIGN' BIT) 04166000 BL RW0820 NO. READY FOR DIVIDE 04167000 SRDL @00,1 YES. DIVIDE DIVIDEND BY 2 04168000 BCTR @14,0 REMEMBER THIS DIVIDE: SUBTRACT 04169000 * SHIFT COUNT. 04170000 RW0820 DS 0H READY FOR DIVIDE 04171000 DR @00,@15 DIVIDE DIVIDEND BY INPUT DIVISOR 04172000 LR @15,@00 SAVE REMAINDER 04173000 SR @00,@00 CLEAR EVEN REGISTER NEXT TO QUOTIENT 04174000 LTR @14,@14 DECIDE DIRECTION OF SHIFT. 04175000 BM RW0830 NEGATIVE MEANS MULTIPLY TO CORRECT 04176000 * FOR ABOVE DIVIDES. 04177000 SRDL @00,0(@14) POSITIVE MEANS DIVIDE FOR CORRECTED 04178000 * DIVISOR 04179000 B RW0840 DONE 04180000 RW0830 DS 0H NEGATIVE SHIFT COUNT WAS FOUND. 04181000 LCR @14,@14 GET POSITIVE SHIFT COUNT 04182000 SLDL @00,0(@14) CORRECT FOR TOO LARGE A DIVIDEND 04183000 RW0840 DS 0H DONE 04184000 BR @02 RETURN TO CALLER. 04185000 * END RWDIVIDE; 0434 04186000 @EL00006 DS 0H 0434 04187000 @EF00006 DS 0H 0434 04188000 @ER00006 BR @14 0434 04189000 * END IRBMFRWR 0435 04190000 * 0435 04191000 */* THE FOLLOWING INCLUDE STATEMENTS WERE FOUND IN THIS PROGRAM. */ 04192000 */*%INCLUDE SYSLIB (IFASMFR ) */ 04193000 */*%INCLUDE SYSLIB (IFASMFR1) */ 04194000 */*%INCLUDE SYSLIB (IFASMFR2) */ 04195000 */*%INCLUDE SYSLIB (IFASMFR3) */ 04196000 */*%INCLUDE SYSLIB (IFASMFR4) */ 04197000 */*%INCLUDE SYSLIB (IFASMFR5) */ 04198000 */*%INCLUDE SYSLIB (IFASMFR6) */ 04199000 */*%INCLUDE SYSLIB (IFASMFR7) */ 04200000 */*%INCLUDE SYSLIB (IFASMFR8) */ 04201000 */*%INCLUDE SYSLIB (IFASMFR9) */ 04202000 */*%INCLUDE SYSLIB (IFASMFRA) */ 04203000 */*%INCLUDE SYSLIB (IFASMFRB) */ 04204000 */*%INCLUDE SYSLIB (IFASMFRC) */ 04205000 */*%INCLUDE SYSLIB (IFASMFRD) */ 04206000 */*%INCLUDE SYSLIB (IRBRGCON) */ 04207000 * 0435 04208000 * ; 0435 04209000 @DATA DS 0H 04210000 @CH00286 DC H'20' 04211000 @CH00374 DC H'48' 04212000 DS 0F 04213000 @AL00036 EQU * LIST WITH 6 ARGUMENT(S) 04214000 @AL00077 EQU * LIST WITH 6 ARGUMENT(S) 04215000 @AL00199 EQU * LIST WITH 6 ARGUMENT(S) 04216000 @AL00371 DC A(@CF00207) LIST WITH 6 ARGUMENT(S) 04217000 DC A(@CF00090) 04218000 DC A(@CF00133) 04219000 DC A(@CF00207) 04220000 DC A(@CB00229) 04221000 DC A(@CB00229) 04222000 @AL00089 EQU * LIST WITH 6 ARGUMENT(S) 04223000 @AL00156 DC A(@CF00207) LIST WITH 6 ARGUMENT(S) 04224000 @AL00211 DC A(@CF00061) LIST WITH 2 ARGUMENT(S) 04225000 DC A(@CF00090) 04226000 DC A(@CF00207) 04227000 DC A(@CB00229) 04228000 DC A(@CB00229) 04229000 @AL00161 DC A(@CF00133) LIST WITH 2 ARGUMENT(S) 04230000 DC A(@CF00061) 04231000 @AL00363 DC A(RWOUTSCF+100) LIST WITH 6 ARGUMENT(S) 04232000 @AL00231 DC A(@CF00090) LIST WITH 2 ARGUMENT(S) 04233000 DC A(@CF00133) 04234000 DC A(RWOUTPRD+100) 04235000 DC A(@CB00229) 04236000 DC A(@CB00229) 04237000 @AL00399 DC A(@CF00050) LIST WITH 3 ARGUMENT(S) 04238000 DC A(@CF00054) 04239000 DC A(@CF00129) 04240000 @DATD DSECT 04241000 DS 0F 04242000 @SA00001 DS 18F 04243000 @PC00001 DS 3F 04244000 @SA00003 DS 15F 04245000 @SA00004 DS 15F 04246000 @SA00002 DS 15F 04247000 @PC00002 DS 2F 04248000 @AL00001 DS 7A 04249000 @TF00001 DS F 04250000 @AFTEMPS DS 3F 04251000 IRBMFRWR CSECT 04252000 DS 0F 04253000 @CF00207 DC F'0' 04254000 @CF00090 DC F'1' 04255000 @CF00061 DC F'2' 04256000 @CF00133 DC F'3' 04257000 @CF00054 DC F'4' 04258000 @CF00265 DC F'5' 04259000 @CF00114 DC F'6' 04260000 @CF00095 DC F'7' 04261000 @CF00050 DC F'8' 04262000 @CF00203 DC F'9' 04263000 @CF00205 DC F'10' 04264000 @CF00248 DC F'12' 04265000 @CF00100 DC F'16' 04266000 @CF00282 DC F'18' 04267000 @CF00042 DC F'31' 04268000 @CF00255 DC F'49' 04269000 @CF00121 DC F'60' 04270000 @CF00256 DC F'62' 04271000 @CF00257 DC F'76' 04272000 @CF00129 DC F'90' 04273000 @CF00258 DC F'91' 04274000 @CF00259 DC F'106' 04275000 @CF00375 DC F'60000' 04276000 @CF00326 DC F'100000' 04277000 @CF00349 DC F'600000' 04278000 @CF00327 DC F'1000000' 04279000 @CF00392 DC F'-20' 04280000 @CF00394 DC F'-16' 04281000 @CF00393 DC F'-12' 04282000 @CF00395 DC F'-8' 04283000 @CF00210 DC F'-4' 04284000 @DATD DSECT 04285000 DS 0D 04286000 RWFLDFAC DS F 04287000 RWLINE DS F 04288000 RWPAGE DS F 04289000 RWPGN DS F 04290000 RWPGP DS F 04291000 RWSMFPTR DS A 04292000 RWTEMPF DS F 04293000 RWEXP DS F 04294000 RWPRD DS F 04295000 RWSCF DS F 04296000 DS 0D 04297000 @TS00001 DS CL8 04298000 RWDATA DS CL144 04299000 ORG RWDATA 04300000 RWDAVAL DS CL48 04301000 ORG RWDAVAL+0 04302000 RWDASER DS CL8 04303000 ORG RWDASER+0 04304000 RWDASERH DS FL4 04305000 RWDASERL DS FL4 04306000 ORG RWDAVAL+8 04307000 RWDAACT DS CL8 04308000 ORG RWDAACT+0 04309000 RWDAACTH DS FL4 04310000 RWDAACTL DS FL4 04311000 ORG RWDAVAL+16 04312000 RWDALEV DS CL8 04313000 ORG RWDALEV+0 04314000 RWDALEVH DS FL4 04315000 RWDALEVL DS FL4 04316000 ORG RWDAVAL+24 04317000 RWDAWLM DS CL8 04318000 ORG RWDAWLM+0 04319000 RWDAWLMH DS FL4 04320000 RWDAWLML DS FL4 04321000 ORG RWDAVAL+32 04322000 RWDATTX DS CL8 04323000 ORG RWDATTX+0 04324000 RWDATTXH DS FL4 04325000 RWDATTXL DS FL4 04326000 ORG RWDAVAL+40 04327000 RWDATTM DS CL8 04328000 ORG RWDATTM+0 04329000 RWDATTMH DS FL4 04330000 RWDATTML DS FL4 04331000 ORG RWDATA+144 04332000 RWEST DS BL1 04333000 RWHDR DS BL1 04334000 RWINTVL DS CL4 04335000 RWPGPZER DS CL20 04336000 RWPGPZF DS BL1 04337000 RWPGZF DS BL1 04338000 RWWRKSTR DS CL16 04339000 DS CL4 04340000 RWOUTPUT DS CL8 04341000 ORG RWOUTPUT+0 04342000 RWOUTH DS FL4 04343000 RWOUTL DS FL4 04344000 ORG RWOUTPUT+48 04345000 IRBMFRWR CSECT 04346000 DS 0F 04347000 @SIZDATD DC AL1(0) 04348000 DC AL3(@ENDDATD-@DATD) 04349000 @CA00082 DC A(IRBMFLWV) 04350000 DS 0D 04351000 @CB00229 DC B'00000000' 04352000 @CB00245 DC B'10000000' 04353000 DS CL6 04354000 CDWORDZ DC XL8'0' 04355000 RWPATCH DS CL100 04356000 RWOUTSTA DS CL20 04357000 ORG RWOUTSTA+0 04358000 RWOUTCOL DC F'31' 04359000 RWOUTLEN DC F'9' 04360000 RWOUTDIG DC F'7' 04361000 RWOUTPRD DC F'0' 04362000 RWOUTSCF DC F'0' 04363000 ORG RWOUTSTA+20 04364000 ORG RWOUTSTA+20 04365000 DC F'49' 04366000 DC F'7' 04367000 DC F'6' 04368000 DC F'0' 04369000 DC F'0' 04370000 ORG RWOUTSTA+40 04371000 ORG RWOUTSTA+40 04372000 DC F'62' 04373000 DC F'8' 04374000 DC F'6' 04375000 DC F'2' 04376000 DC F'-3' 04377000 ORG RWOUTSTA+60 04378000 ORG RWOUTSTA+60 04379000 DC F'76' 04380000 DC F'8' 04381000 DC F'6' 04382000 DC F'2' 04383000 DC F'-3' 04384000 ORG RWOUTSTA+80 04385000 ORG RWOUTSTA+80 04386000 DC F'91' 04387000 DC F'7' 04388000 DC F'6' 04389000 DC F'0' 04390000 DC F'0' 04391000 ORG RWOUTSTA+100 04392000 ORG RWOUTSTA+100 04393000 DC F'106' 04394000 DC F'13' 04395000 DC F'10' 04396000 DC F'3' 04397000 DC F'-4' 04398000 ORG RWOUTSTA+120 04399000 RWTEN DC A(1) 04400000 DC A(10) 04401000 DC A(100) 04402000 DC A(1000) 04403000 DC A(10000) 04404000 DC A(100000) 04405000 DC A(1000000) 04406000 DC A(10000000) 04407000 DC A((16777215+83222785)) 04408000 DC A((16777215+983222785)) 04409000 @DATD DSECT 04410000 IRBMFRWR CSECT 04411000 RWMIL DC A(1000) ONE THOUSAND 04412000 RWMEG DC A(1000000) ONE MILLION 04413000 @DATD DSECT 04414000 IRBMFRWR CSECT 04415000 RWTENMIL DC F'36000000' NUMBER OF TENTHS OF MILLISECONDS 04416000 * IN ONE HOUR 04417000 RWCENSEC DC F'100' CENTISECONDS PER SECOND 04418000 @DATD DSECT 04419000 ORG *+1-(*-@DATD)/(*-@DATD) INSURE DSECT DATA 04420000 @ENDDATD EQU * 04421000 IRBMFRWR CSECT 04422000 @00 EQU 00 EQUATES FOR REGISTERS 0-15 04423000 @01 EQU 01 04424000 @02 EQU 02 04425000 @03 EQU 03 04426000 @04 EQU 04 04427000 @05 EQU 05 04428000 @06 EQU 06 04429000 @07 EQU 07 04430000 @08 EQU 08 04431000 @09 EQU 09 04432000 @10 EQU 10 04433000 @11 EQU 11 04434000 @12 EQU 12 04435000 @13 EQU 13 04436000 @14 EQU 14 04437000 @15 EQU 15 04438000 RWPGPLIN EQU @06 04439000 V EQU @06 04440000 P EQU @07 04441000 I EQU @02 04442000 GPR09P EQU @09 04443000 GPR10P EQU @10 04444000 GPR00F EQU @00 04445000 GPR01F EQU @01 04446000 GPR00P EQU @00 04447000 GPR01P EQU @01 04448000 GPR14P EQU @14 04449000 GPR15P EQU @15 04450000 GPR02P EQU @02 04451000 GPR11P EQU @11 04452000 GPR12P EQU @12 04453000 GPR14F EQU @14 04454000 GPR15F EQU @15 04455000 EXTRN IRBMFLWV 04456000 STWVT EQU 0 04457000 STWVNPG EQU STWVT 04458000 STWVPGNX EQU STWVT+4 04459000 SMFRCD72 EQU 0 04460000 SMF72SIZ EQU SMFRCD72+18 04461000 SMF72INT EQU SMFRCD72+28 04462000 SMF72PTR EQU 0 04463000 SMF72A EQU 0 04464000 SMF72SWC EQU SMF72A 04465000 SMF72PGP EQU SMF72A+2 04466000 SMF72IPS EQU SMF72A+8 04467000 SMF72B EQU 0 04468000 SMF72TTX EQU SMF72B 04469000 SMF72ACT EQU SMF72B+4 04470000 SMF72SER EQU SMF72B+8 04471000 SMF72TTM EQU SMF72B+12 04472000 SMF72LEV EQU SMF72B+16 04473000 LNGTXT EQU 0 04474000 LNGTXTL EQU LNGTXT 04475000 LNGTXTD EQU LNGTXT+4 04476000 MFPMA EQU 0 04477000 MFPMOPT EQU MFPMA 04478000 @NM00002 EQU MFPMOPT+3 04479000 IRBMFCNV EQU 0 04480000 MFHDRISR EQU 0 04481000 MFISRTXT EQU 0 04482000 MFWRTPAG EQU 0 04483000 RWDUMMY EQU 0 04484000 IKEBC EQU 0 04485000 IKEBF15 EQU 0 04486000 IKEBF31 EQU 0 04487000 IKEBP15 EQU 0 04488000 IKEBP31 EQU 0 04489000 IKEBP8 EQU 0 04490000 SMF72S EQU 0 04491000 RWVECTAB EQU 0 04492000 RWPMAPTR EQU 0 04493000 RWPRINT EQU 0 04494000 RWTOTAL EQU 0 04495000 LNG EQU IRBMFLWV 04496000 LNGTPTR EQU LNG 04497000 MFPMB EQU MFPMOPT 04498000 @NM00005 EQU MFPMB+2 04499000 MFPMDEVF EQU @NM00005 04500000 MFPMC EQU MFPMOPT 04501000 @NM00007 EQU MFPMC+3 04502000 RWDAFLD EQU RWDATA 04503000 RWDAFLDH EQU RWDAFLD 04504000 RWDAFLDL EQU RWDAFLD+4 04505000 AGO .@UNREFD START UNREFERENCED COMPONENTS 04506000 MFPMWKLD EQU @NM00007 04507000 @NM00008 EQU @NM00007 04508000 @NM00006 EQU MFPMC 04509000 MFPMCRDR EQU MFPMDEVF 04510000 MFPMUNIT EQU MFPMDEVF 04511000 MFPMGRAP EQU MFPMDEVF 04512000 MFPMDA EQU MFPMDEVF 04513000 MFPMTP EQU MFPMDEVF 04514000 MFPMTAPE EQU MFPMDEVF 04515000 @NM00004 EQU MFPMB 04516000 MFPMSARG EQU MFPMA+4 04517000 MFPMSTA EQU @NM00002 04518000 @NM00003 EQU @NM00002 04519000 @NM00001 EQU MFPMOPT 04520000 MFPMCON EQU MFPMOPT 04521000 SMF72HPG EQU SMF72A+6 04522000 SMF72SPD EQU SMF72A+4 04523000 SMF72RLS EQU SMFRCD72+44 04524000 SMF72RV1 EQU SMFRCD72+42 04525000 SMF72MFV EQU SMFRCD72+40 04526000 SMF72SAM EQU SMFRCD72+36 04527000 SMF72SUB EQU SMFRCD72+34 04528000 SMF72CYC EQU SMFRCD72+32 04529000 SMF72DAT EQU SMFRCD72+24 04530000 SMF72IST EQU SMFRCD72+20 04531000 SMF72SID EQU SMFRCD72+14 04532000 SMF72DTE EQU SMFRCD72+10 04533000 SMF72TME EQU SMFRCD72+6 04534000 SMF72RTY EQU SMFRCD72+5 04535000 SMF72FLG EQU SMFRCD72+4 04536000 SMF72SEG EQU SMFRCD72+2 04537000 SMF72LEN EQU SMFRCD72 04538000 .@UNREFD ANOP END UNREFERENCED COMPONENTS 04539000 @RC00040 EQU @RC00034 04540000 @RF00057 EQU @RC00034 04541000 @RC00090 EQU @RC00087 04542000 @RF00107 EQU @RC00087 04543000 @RF00047 EQU @RC00040 04544000 @RF00097 EQU @RC00090 04545000 @ENDDATA EQU * 04546000 END IRBMFRWR,(C'PLS2019',0701,76110) 04547000