CBL XOPTS(SP) 00040000 ***************************************************************** 00090000 * * 00120000 * MODULE NAME = DFH0STAT * 00150000 * * 00180000 * DESCRIPTIVE NAME = Collect and Print Statistics Sample * 00210000 * * 00240000 * 5655-018 * 00266600 * COPYRIGHT = NONE * 00293200 * * 00320000 * STATUS = 4.1.0 * 00360000 * * 00400000 *---------------------------------------------------------------* 00440000 * * 00480000 * DESCRIPTION : * 00520000 * * 00560000 * This set of programs illustrate ways of using the EXEC * 00600000 * CICS INQUIRE and COLLECT STATISTICS commands of CICS/ESA * 00660000 * 4.1 to produce information about a CICS/ESA system. * 00720000 * The reports include a CICS and MVS storage analysis. * 00840000 * Statistics obtained using these commands can be used to * 00900000 * aid the specification of the DSA Size parameters. * 00960000 * (See the CICS/ESA Performance Guide and CICS/ESA Data * 01020000 * Areas manuals for more information, and the CICS/ESA * 01080000 * System Programming Reference for use of commands) * 01140000 * * 01200000 * This program can be invoked from the PLT at PLTSD or as * 01260000 * a CICS transaction (conversationally). The output * 01320000 * is sent via the CICS JES SPOOL interface for which a * 01380000 * number of default parameters can be changed by the user * 01440000 * to specify the distribution of the report(s). These * 01500000 * defaults are defined in the working-storage section * 01560000 * of this program under the 01 level "OUTPUT-DEFAULTS". * 01620000 * * 01680000 * Installation instructions:- * 01740000 * Require SIT parameters:- SPOOL=YES * 01800000 * Required CICS definitions:- * 01860000 * Transactions:- STAT -> DFH0STAT * 01920000 * Programs:- DFH0STAT VS Cobol II R2 or later * 01980000 * DFH$STAS Assembler * 02040000 * DFH$STCN Assembler * 02100000 * Mapsets:- DFH0STM * 02160000 * * 02220000 * All programs are command level and run above the 16Mb * 02280000 * line. Note: that DFH0STAT must be translated with the * 02340000 * translator option "SP" * 02400000 * * 02460000 * SPOOL errors. If an EXEC CICS SPOOL .. command fails * 02520000 * when the program is run as a transaction, an error message * 02580000 * is displayed on the users screen and the transaction will * 02640000 * continue. If the program is not being run from a terminal * 02700000 * then a message will be sent to the console using EXEC * 02760000 * CICS WRITE OPERATOR commands and the transaction will be * 02820000 * terminated normally. * 02880000 * * 02940000 *---------------------------------------------------------------* 02950000 * * 02960000 * CHANGE ACTIVITY : * 02970000 * $SEG(DFH0STAT), COMP(SAMPLES) PROD(CICS/ESA) * 02975000 * * 02980000 * PN= REASON REL YYMMDD HDXIII : REMARKS * 02990000 * $L1= 613 410 920527 HD1VCJB: Add Files/LSR/Data Tables * 02995000 * $P0= . 320 900612 : Created. * 03000000 * $P1= M90474 330 910807 HDBWSH : Prologue fixed. * 03005000 * $P2= M90707 330 910829 HD1VCJB: Correct Temp Storage report* 03007000 * $P3= M91386 330 911120 HD1VCJB: Correct Region size estab. * 03008000 * $P4= M91514 330 911202 HD1VCJB: Add DSA High-Water-Mark * 03009000 * $P5= M84511 410 931111 HD4OGB : Ignore Inactive TCBs * 03009500 * * 03010000 ***************************************************************** 03020000 ID DIVISION. 03030000 PROGRAM-ID. DFH0STAT. 03040000 03060000 ENVIRONMENT DIVISION. 03120000 EJECT 03180000 DATA DIVISION. 03240000 WORKING-STORAGE SECTION. 03300000 ***************************************************************** 03420000 * FACILITY is set to X'01' - value for a terminal facility * 03480000 ***************************************************************** 03540000 77 FACILITY PIC X VALUE LOW-VALUE. 03570000 88 TERM-FACILITY VALUE ''. 03600000 03608000 ***************************************************************** 03616000 * DATA-STREAM is set to X'FF' - value for a 3270 data stream * 03624000 ***************************************************************** 03633000 77 DATA-STREAM PIC X VALUE LOW-VALUE. 03642000 88 3270-DATA-STREAM VALUE 'Ÿ'. 03651000 03660000 77 END-PRINT PIC X VALUE 'N'. 03720000 77 ERROR-FOUND PIC X VALUE 'N'. 03780000 77 TERM-MSG-REQUIRED PIC X VALUE 'N'. 03800000 77 SUB-HEADINGS PIC X VALUE 'Y'. 03820000 77 TXT-RESP PIC ZZZZZZ99. 03840000 77 TXT-RESP2 PIC ZZZZZZ99. 03900000 77 CICS-COMMAND PIC X(10). 03960000 03970000 77 STAS-COMMAREA PIC S9(4) COMP. 03980000 77 STCN-COMMAREA PIC S9(4) COMP. 04000000 77 PMSG2O-LEN PIC S9(8) COMP. 04010000 77 INQUIRE-RESP PIC S9(8) COMP VALUE +0. 04015000 77 COLLECT-RESP PIC S9(8) COMP VALUE +0. 04017000 04020000 77 LINE-LENGTH PIC S9(8) COMP VALUE +133. 04080000 77 LINE-COUNT PIC S9(3) COMP-3 VALUE +99. 04140000 77 LINES-PER-PAGE PIC S9(3) COMP-3 VALUE +58. 04170000 77 PAGENO PIC S9(5) COMP-3 VALUE +0. 04200000 04230000 77 SUB1 PIC S9(4) COMP VALUE +0. 04260000 77 SUB2 PIC S9(4) COMP VALUE +0. 04290000 04320000 77 UTIME PIC S9(15) COMP-3 VALUE +0. 04380000 77 MAP-DATE PIC X(8) VALUE SPACES. 04440000 77 MAP-TIME PIC X(8) VALUE SPACES. 04500000 04520000 77 TOTAL-ACCUM-TRANSACTIONS PIC S9(18) COMP VALUE +0. 04540000 04560000 77 ALL-TASKS PIC S9(8) COMP VALUE +0. 04600000 77 RUNNING-TASKS PIC S9(8) COMP VALUE +0. 04620000 77 DISPATCHABLE-TASKS PIC S9(8) COMP VALUE +0. 04680000 77 SUSPENDED-TASKS PIC S9(8) COMP VALUE +0. 04740000 77 SYSTEM-TASKS PIC S9(8) COMP VALUE +0. 04800000 04840000 77 NUMTCBS PIC S9(4) COMP VALUE +0. 04880000 77 RTM-STORAGE-BELOW PIC 9(8) COMP VALUE 256000. 05040000 77 SYSTEM-STORAGE-BELOW PIC 9(8) COMP VALUE 20480. 05100000 77 TRACE-TABLE-SIZE PIC S9(8) COMP VALUE 0. 05160000 05220000 77 PROGRAM-USE-LOAD-RATIO PIC 999V99 VALUE 0. 05280000 77 PERCENTAGE-WORK PIC 99V9999 VALUE 0. 05340000 77 PERCENTAGE PIC 999V99 VALUE 0. 05400000 77 RESULT PIC S9(8) VALUE +0. 05460000 77 WORK-FIELD PIC S9(8) VALUE +0. 05490000 05520000 77 DSA-LIMIT PIC S9(8) COMP VALUE +0. 05530000 77 EDSA-LIMIT PIC S9(8) COMP VALUE +0. 05540000 05560000 77 CDSA-SIZE PIC S9(8) COMP VALUE +0. 05580000 77 UDSA-SIZE PIC S9(8) COMP VALUE +0. 05640000 77 SDSA-SIZE PIC S9(8) COMP VALUE +0. 05643000 77 RDSA-SIZE PIC S9(8) COMP VALUE +0. 05646000 77 ECDSA-SIZE PIC S9(8) COMP VALUE +0. 05650000 77 EUDSA-SIZE PIC S9(8) COMP VALUE +0. 05660000 77 ESDSA-SIZE PIC S9(8) COMP VALUE +0. 05665000 77 ERDSA-SIZE PIC S9(8) COMP VALUE +0. 05670000 77 FREE-STORAGE-FACTOR PIC 999V99 VALUE 0. 05680000 05684000 77 DSA-SIZE PIC S9(8) COMP VALUE +0. 05688000 77 DSA-FREE PIC S9(8) COMP VALUE +0. 05692000 77 DSA-USED PIC S9(8) COMP VALUE +0. 05696000 05700000 77 CICS-STARTUP PIC S9(8) COMP VALUE +0. 05730000 77 CICS-STATUS PIC S9(8) COMP VALUE +0. 05760000 77 INIT-STATUS PIC S9(8) COMP VALUE +0. 05790000 77 ICVR-TIME PIC S9(8) COMP VALUE +0. 05820000 77 PRIORITY-AGING PIC S9(8) COMP VALUE +0. 05880000 77 STORAGE-PROTECTION PIC S9(8) COMP VALUE +0. 05881000 77 TRANSACTION-ISOLATION PIC S9(8) COMP VALUE +0. 05881500 05884000 77 EXCEPTION-CLASS PIC S9(8) COMP VALUE +0. 05884300 77 PERFORMANCE-CLASS PIC S9(8) COMP VALUE +0. 05884600 77 SYSEVENT-CLASS PIC S9(8) COMP VALUE +0. 05884900 77 MONITOR-STATUS PIC S9(8) COMP VALUE +0. 05885200 77 SUBSYSTEM-ID PIC X(4) VALUE SPACES. 05885400 05885600 77 EOD-COLLECTION-TIME PIC S9(7) COMP-3 VALUE +0. 05886000 77 COLLECTION-INTERVAL PIC S9(7) COMP-3 VALUE +0. 05888000 77 NEXT-COLLECTION-TIME PIC S9(7) COMP-3 VALUE +0. 05890000 77 LAST-RESET-TIME PIC S9(7) COMP-3 VALUE +0. 05892000 77 RECORDING-STATUS PIC S9(8) COMP VALUE +0. 05894000 05894300 77 TRANSACTION-ID PIC X(4) VALUE SPACES. 05894600 77 TRANCLASS-NAME PIC X(8) VALUE SPACES. 05894900 77 ISOLATE PIC S9(8) COMP VALUE +0. 05895200 77 TRANSACTION-DATAKEY PIC S9(8) COMP VALUE +0. 05895500 77 TRANSACTION-DATALOC PIC S9(8) COMP VALUE +0. 05895800 05896100 77 MAX-RPL-OFFSET PIC S9(8) COMP VALUE +0. 05898000 05900000 77 PROGRAM-NAME PIC X(8) VALUE SPACES. 05902000 77 PROGRAM-LANGUAGE PIC S9(8) COMP VALUE +0. 05906000 77 COBOL-TYPE PIC S9(8) COMP VALUE +0. 05908000 77 PROGRAM-TYPE PIC S9(8) COMP VALUE +0. 05910000 77 PROGRAM-DATALOC PIC S9(8) COMP VALUE +0. 05913000 77 PROGRAM-EXECKEY PIC S9(8) COMP VALUE +0. 05914000 05916000 77 LSR-POOL-NUMBER PIC S9(8) COMP VALUE +0. 05917000 77 FILE-NAME PIC X(8) VALUE SPACES. 05917500 77 ACCESS-METHOD PIC S9(8) COMP VALUE +0. 05918000 77 FILE-TYPE PIC S9(8) COMP VALUE +0. 05918500 77 MAX-NUM-RECS PIC S9(8) COMP VALUE +0. 05918600 77 DATA-TABLE PIC S9(8) COMP VALUE +0. 05918700 77 REMOTE-TABLE PIC S9(8) COMP VALUE +0. 05918730 *** previous line added by apar @BA18025 05918760 05918800 77 TRANSACTION-TOTAL PIC S9(9) COMP-3 VALUE +0. 05918900 77 TRANSACTION-TOTAL-1 PIC S9(9) COMP-3 VALUE +0. 05919000 77 TRANSACTION-ATTACHES-1 PIC S9(9) COMP-3 VALUE +0. 05919100 77 TRANSACTION-TOTAL-2 PIC S9(9) COMP-3 VALUE +0. 05919200 77 TRANSACTION-ATTACHES-2 PIC S9(9) COMP-3 VALUE +0. 05919300 77 TRANSACTION-TOTAL-3 PIC S9(9) COMP-3 VALUE +0. 05919400 77 TRANSACTION-ATTACHES-3 PIC S9(9) COMP-3 VALUE +0. 05919500 77 TRANSACTION-TOTAL-4 PIC S9(9) COMP-3 VALUE +0. 05919600 77 TRANSACTION-ATTACHES-4 PIC S9(9) COMP-3 VALUE +0. 05919700 77 TRANSACTION-TOTAL-5 PIC S9(9) COMP-3 VALUE +0. 05919800 77 TRANSACTION-ATTACHES-5 PIC S9(9) COMP-3 VALUE +0. 05919900 77 TRANSACTION-TOTAL-6 PIC S9(9) COMP-3 VALUE +0. 05920100 77 TRANSACTION-ATTACHES-6 PIC S9(9) COMP-3 VALUE +0. 05920300 77 TRANSACTION-TOTAL-7 PIC S9(9) COMP-3 VALUE +0. 05920400 77 TRANSACTION-ATTACHES-7 PIC S9(9) COMP-3 VALUE +0. 05920500 77 TRANSACTION-TOTAL-8 PIC S9(9) COMP-3 VALUE +0. 05920600 77 TRANSACTION-ATTACHES-8 PIC S9(9) COMP-3 VALUE +0. 05920700 05920800 77 TRANSACTION-ATTACHES PIC S9(9) COMP-3 VALUE +0. 05920900 77 TRANSACTION-RESTARTS PIC S9(9) COMP-3 VALUE +0. 05921000 77 TRANSACTION-DYNAMIC-LOCAL PIC S9(9) COMP-3 VALUE +0. 05921100 77 TRANSACTION-DYNAMIC-REMOTE PIC S9(9) COMP-3 VALUE +0. 05921200 77 TRANSACTION-REMOTE-STARTS PIC S9(9) COMP-3 VALUE +0. 05921300 05921600 77 TIMES-USED PIC S9(9) COMP-3 VALUE +0. 05922000 77 TIMES-FETCHED PIC S9(9) COMP-3 VALUE +0. 05924000 77 TIMES-NEWCOPY PIC S9(9) COMP-3 VALUE +0. 05926000 77 TIMES-REMOVED PIC S9(9) COMP-3 VALUE +0. 05928000 05930000 77 CDSA-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05932000 77 SDSA-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05934000 77 RDSA-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05935000 77 ECDSA-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05937000 77 ESDSA-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05940000 77 ERDSA-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05943000 05946000 77 LPA-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05949000 77 ELPA-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05952000 05955000 77 PROGRAM-TOTAL PIC S9(9) COMP-3 VALUE +0. 05958000 77 UNUSED-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05961000 77 NOT-LOCATED-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05964000 05967000 77 PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05970000 77 MAPS PIC S9(9) COMP-3 VALUE +0. 05973000 77 PARTITIONSETS PIC S9(9) COMP-3 VALUE +0. 05976000 05979000 77 ASSEMBLER-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05982000 77 C-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05985000 77 COBOL-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05988000 77 COBOLII-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05991000 77 LE370-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05992000 77 PL1-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05994000 77 OTHER-PROGRAMS PIC S9(9) COMP-3 VALUE +0. 05997000 06000000 ***************************************************************** 06060000 *** Error messages *** 06180000 ***************************************************************** 06300000 77 NODE-MISSING-MSG PIC X(79) VALUE 'Please enter a v06360000 -'alid Node'. 06420000 77 NODE-IDERR-MSG PIC X(79) VALUE 'The Node specifi06480000 -'ed is not valid. Please re-enter this field.'. 06540000 77 USERID-MSG PIC X(79) VALUE 'Please enter a v06600000 -'alid Userid.'. 06660000 77 CLASS-MSG PIC X(79) VALUE 'The Class specif06720000 -'ied is not valid. Please re-enter this field.'. 06780000 77 OPEN-ERROR-MSG PIC X(79) VALUE 'A CICS spool ope06840000 -'n error has occurred. No statistics print produced.'. 06900000 77 WRITE-ERROR-MSG PIC X(79) VALUE 'A CICS spool wri06960000 -'te error has occurred. Print may not be complete.'. 07020000 77 CLOSE-ERROR-MSG PIC X(79) VALUE 'A CICS spool clo07080000 -'se error has occurred. No statistics print produced.'. 07140000 77 OPER-MSG PIC X(79) VALUE 'PROGRAM DFH0STAT07200000 -' HAS FAILED DUE TO A SPOOL ERROR. NO PRINT WILL BE PRODUCED.'. 07260000 07270000 77 OPER-MSG-LEN PIC S9(8) COMP. 07290000 07300000 77 END-MESSAGE PIC X(22) 07320000 VALUE 'TRANSACTION TERMINATED'. 07380000 77 SUCCESS-MESSAGE PIC X(39) 07387000 VALUE 'STATISTICS PRINT SUCCESSFULLY COMPLETED'. 07394000 07402000 77 MESSAGE-LENGTH PIC S9(4) COMP. 07410000 07440000 ***************************************************************** 07450000 *** CICS/ESA Version and Release number for the heading line *** 07470000 ***************************************************************** 07490000 01 CICS-VERSION-RELEASE. 07500000 03 FILLER PIC X. 07560000 03 CICS-VERSION PIC 9. 07620000 03 CICS-RELEASE PIC 99. 07680000 EJECT 07740000 ***************************************************************** 07742000 *** Output destination *** 07746000 ***************************************************************** 07750000 01 OUTPUT-FIELDS. 07752000 03 OUTPUT-TOKEN PIC X(8) VALUE LOW-VALUES. 07754000 03 OUTPUT-NODE PIC X(8) VALUE SPACES. 07756000 03 OUTPUT-USERID PIC X(8) VALUE SPACES. 07758000 03 OUTPUT-CLASS PIC X VALUE SPACES. 07760000 *** Following line added for @BA80188A 07761000 03 REC-LEN PIC 999 COMP VALUE 133. 07762000 ***************************************************************** 07764000 *** Default output destination *** 07768000 ***************************************************************** 07772000 01 OUTPUT-DEFAULTS. 07774000 03 DEFAULT-NODE PIC X(8) VALUE '* '. 07776000 03 DEFAULT-USERID PIC X(8) VALUE '* '. 07778000 03 DEFAULT-CLASS PIC X VALUE 'A'. 07780000 07780100 ***************************************************************** 07780200 *** Selected Storage Domain Domain Subpools. *** 07780300 ***************************************************************** 07780400 01 SM-DOMAIN-SUBPOOLS. 07780500 03 SM-DOMAIN-SUBPOOL-DATA. 07780600 05 FILLER PIC X(8) VALUE 'LDNUC '.07780700 05 LD-NUC PIC S9(8) COMP VALUE +0. 07780800 05 FILLER PIC X(8) VALUE 'LDNUCRO '.07780900 05 LD-NUCRO PIC S9(8) COMP VALUE +0. 07781000 05 FILLER PIC X(8) VALUE 'LDPGM '.07781100 05 LD-PGM PIC S9(8) COMP VALUE +0. 07781200 05 FILLER PIC X(8) VALUE 'LDPGMRO '.07781300 05 LD-PGMRO PIC S9(8) COMP VALUE +0. 07781400 05 FILLER PIC X(8) VALUE 'LDRES '.07781500 05 LD-RES PIC S9(8) COMP VALUE +0. 07781600 05 FILLER PIC X(8) VALUE 'LDRESRO '.07781700 05 LD-RESRO PIC S9(8) COMP VALUE +0. 07781800 05 FILLER PIC X(8) VALUE 'LDENUC '.07781900 05 LD-ENUC PIC S9(8) COMP VALUE +0. 07782000 05 FILLER PIC X(8) VALUE 'LDEPGM '.07782200 05 LD-EPGM PIC S9(8) COMP VALUE +0. 07782400 05 FILLER PIC X(8) VALUE 'LDERES '.07782600 05 LD-ERES PIC S9(8) COMP VALUE +0. 07782800 05 FILLER PIC X(8) VALUE 'LDENUCRO'.07783000 05 LD-ENUCRO PIC S9(8) COMP VALUE +0. 07783200 05 FILLER PIC X(8) VALUE 'LDEPGMRO'.07783400 05 LD-EPGMRO PIC S9(8) COMP VALUE +0. 07783600 05 FILLER PIC X(8) VALUE 'LDERESRO'.07783800 05 LD-ERESRO PIC S9(8) COMP VALUE +0. 07784000 *** Following lines added by @BA18681A 07784010 05 FILLER PIC X(8) VALUE 'LDNRS '.07784020 05 LD-NRS PIC S9(8) COMP VALUE +0. 07784030 05 FILLER PIC X(8) VALUE 'LDNRSRO '.07784040 05 LD-NRSRO PIC S9(8) COMP VALUE +0. 07784050 05 FILLER PIC X(8) VALUE 'LDENRS '.07784060 05 LD-ENRS PIC S9(8) COMP VALUE +0. 07784070 05 FILLER PIC X(8) VALUE 'LDENRSRO'.07784080 05 LD-ENRSRO PIC S9(8) COMP VALUE +0. 07784090 *** Preceding lines added by @BA18681A 07784100 *** Following line changed by @BA18681C 07784110 03 FILLER REDEFINES SM-DOMAIN-SUBPOOL-DATA OCCURS 16. 07784200 05 SM-SUBPOOL-NAME PIC X(8). 07784400 05 SM-SUBPOOL-STG PIC S9(8) COMP. 07784600 EJECT 07784800 ***************************************************************** 07785000 *** Report heading line definition *** 07791000 ***************************************************************** 07797000 01 HEADING-LINE. 07800000 03 FILLER PIC X(7) VALUE 'Applid '. 07860000 03 APPLID PIC X(8) VALUE SPACES. 07920000 03 FILLER PIC XXX VALUE SPACES. 07980000 03 FILLER PIC X(6) VALUE 'Sysid '. 08040000 03 SYSID PIC X(4) VALUE SPACES. 08100000 03 FILLER PIC XXX VALUE SPACES. 08160000 03 FILLER PIC X(8) VALUE 'Jobname '. 08220000 03 JOBNAME PIC X(8) VALUE SPACES. 08280000 03 FILLER PIC XXX VALUE SPACES. 08340000 03 FILLER PIC X(5) VALUE 'Date '. 08400000 03 PRINT-DATE PIC X(8) VALUE SPACES. 08460000 03 FILLER PIC XXX VALUE SPACES. 08520000 03 FILLER PIC X(5) VALUE 'Time '. 08580000 03 PRINT-TIME PIC X(8) VALUE SPACES. 08640000 03 FILLER PIC XXX VALUE SPACES. 08700000 03 FILLER PIC X(5) VALUE SPACES. 08760000 03 FILLER PIC X(18) 08820000 VALUE ' CICS/ESA Version '. 08880000 03 VERSION-NO PIC 9. 08940000 03 FILLER PIC X(9) VALUE ' Release '. 09000000 03 RELEASE-NO PIC 9B9. 09060000 03 FILLER PIC X VALUE ' '. 09120000 03 FILLER PIC XXX VALUE SPACES. 09180000 03 FILLER PIC X(5) VALUE 'PAGE'. 09240000 03 PAGE-NUMBER PIC Z,ZZ9. 09300000 09304000 ***************************************************************** 09308000 *** Program total fields for DFHRPL analysis *** 09316000 ***************************************************************** 09324000 01 DFHRPL-PROGRAM-TOTALS. 09328000 03 DFHRPL-TOTAL OCCURS 96. 09332000 05 DFHRPL-PROGRAMS PIC S9(9) COMP-3. 09336000 05 DFHRPL-PROGRAM-USES PIC S9(9) COMP-3. 09340000 05 DFHRPL-PROGRAM-FETCHES PIC S9(9) COMP-3. 09344000 05 DFHRPL-PROGRAM-FETCH-TIME PIC 9(8) COMP. 09348000 05 DFHRPL-PROGRAM-NEWCOPIES PIC S9(9) COMP-3. 09352000 05 DFHRPL-PROGRAM-REMOVES PIC S9(9) COMP-3. 09356000 EJECT 09360000 ***************************************************************** 09370000 *** Stopwatch and Timestamp formatting work fields *** 09390000 ***************************************************************** 09410000 01 CLOCK-FIELDS. 09420000 03 CLOCK-TYPE PIC X VALUE ' '. 09480000 03 FILLER PIC XXX VALUE LOW-VALUES. 09540000 03 CLOCK-FIELD. 09600000 05 FILLER PIC XX VALUE LOW-VALUES. 09660000 05 CLOCK-FIELD-S PIC 9(8) COMP. 09720000 05 FILLER PIC XX VALUE LOW-VALUES. 09780000 03 TIME-ZONE PIC S9(8) COMP VALUE +0. 09840000 03 CLOCK-OUTPUT. 09900000 05 FILLER PIC X(2). 09960000 05 CLOCK-OUTPUT-T. 10020000 07 MMDDYY PIC X(6). 10080000 07 FILLER PIC X. 10140000 07 STOPWATCH PIC X(14). 10200000 07 FILLER PIC X(7). 10260000 05 FILLER PIC X(2). 10320000 10400000 01 CLOCK-WORK-FIELD. 10480000 03 FILLER PIC XX VALUE LOW-VALUES. 10560000 03 CLOCK-WORK-FIELD-S PIC 9(8) COMP. 10640000 03 FILLER PIC XX VALUE LOW-VALUES. 10720000 10730000 01 STCK-WORK-FIELDS. 10740000 03 STCK-WORK-A PIC X(8). 10760000 03 STCK-WORK-NUM-A REDEFINES STCK-WORK-A PIC 9(18) COMP. 10780000 10800000 01 DISPATCHER-TIME-TOTAL-FIELDS. 10820000 03 DSGTDT-TOTAL PIC X(8). 10840000 03 DSGTDT-TOTAL-NUM REDEFINES DSGTDT-TOTAL PIC 9(18) COMP. 10860000 03 DSGACT-TOTAL PIC X(8). 10880000 03 DSGACT-TOTAL-NUM REDEFINES DSGACT-TOTAL PIC 9(18) COMP. 10900000 03 DSGTCT-TOTAL PIC X(8). 10920000 03 DSGTCT-TOTAL-NUM REDEFINES DSGTCT-TOTAL PIC 9(18) COMP. 10950000 EJECT 10980000 ***************************************************************** 11010000 *** Fields for data obtained from called program DFH$STAS *** 11040000 *** This structure must match the DSECT ASCB_FIELDS in the *** 11120000 *** called program DFH$STAS *** 11200000 ***************************************************************** 11360000 01 STATASCB-FIELDS. 11440000 03 ASCB-STORAGE-FIELDS. 11520000 05 MVS-RELEASE PIC X(8) VALUE SPACES. 11560000 05 ADSP-TCTLWM PIC 9(8) COMP VALUE 0. 11600000 05 ADSP-TCTHWM PIC 9(8) COMP VALUE 0. 11680000 05 ADSP-TCTELWM PIC 9(8) COMP VALUE 0. 11760000 05 ADSP-TCTEHWM PIC 9(8) COMP VALUE 0. 11840000 05 REGION-SIZE-BELOW PIC 9(8) COMP VALUE 0. 11920000 05 REGION-SIZE-ABOVE PIC 9(8) COMP VALUE 0. 12000000 05 REGION-SIZE-ESTABLISHED PIC 9(8) COMP VALUE 0. 12090000 EJECT 12720000 ***************************************************************** 12730000 *** Report print line definitions *** 12750000 ***************************************************************** 12770000 01 PRINT-LINE. 12780000 03 PRINT-CONTROL PIC X. 12840000 03 PP1-132. 12900000 05 PP1 PIC X. 13200000 05 FILLER PIC X. 13620000 05 PP3-33. 13700000 07 PP3-30 PIC X(28). 13860000 07 FILLER PIC XXX. 13920000 05 FILLER PIC XX. 14040000 05 PP36-49. 14100000 07 FILLER PIC X(4). 14160000 07 PP40-49 PIC ZZ,ZZZ,ZZ9. 14220000 05 FILLER REDEFINES PP36-49. 14230000 07 FILLER PIC X(6). 14240000 07 PP42-49 PIC X(8). 14260000 05 PP50 PIC X. 14280000 05 FILLER PIC XX. 14580000 05 PP53-66. 14640000 07 FILLER PIC X(4). 14700000 07 PP57-66 PIC ZZ,ZZZ,ZZ9. 14760000 05 FILLER REDEFINES PP53-66. 14820000 07 FILLER PIC X(6). 14880000 07 PP59-66 PIC X(8). 14940000 05 PP67 PIC X. 15000000 05 FILLER PIC XX. 15004000 05 PP70-83. 15008000 07 FILLER PIC X(4). 15012000 07 PP74-83 PIC ZZ,ZZZ,ZZ9. 15016000 05 FILLER REDEFINES PP70-83. 15017000 07 FILLER PIC X(6). 15018000 07 PP76-83 PIC X(8). 15019000 05 PP84 PIC X. 15020000 05 FILLER PIC XX. 15025000 05 PP87-100. 15030000 07 FILLER PIC X(4). 15035000 07 PP91-100 PIC ZZ,ZZZ,ZZ9. 15040000 05 FILLER REDEFINES PP87-100. 15041000 07 FILLER PIC X(6). 15042000 07 PP93-100 PIC X(8). 15043000 05 PP101 PIC X. 15045000 05 FILLER PIC XX. 15050000 05 PP104-117. 15055000 07 FILLER PIC X(4). 15060000 07 PP108-117 PIC ZZ,ZZZ,ZZ9. 15065000 05 PP118 PIC X. 15070000 05 FILLER PIC X. 15073000 05 PP120-132 PIC X(13). 15076000 03 FILLER REDEFINES PP1-132. 15080000 05 FILLER PIC X(5). 15085000 05 PP6 PIC X. 15100000 05 FILLER PIC X(26). 15110000 05 PP33-38 PIC ZZ,ZZ9. 15115000 05 FILLER PIC X(5). 15120000 05 PP44-49 PIC ZZ9.99. 15125000 05 FILLER PIC X(11). 15130000 05 PP61-66 PIC ZZ9.99. 15135000 05 FILLER PIC X(11). 15140000 05 PP78-83 PIC ZZ9.99. 15145000 05 FILLER PIC X(11). 15150000 05 PP95-100 PIC ZZ9.99. 15155000 05 FILLER PIC X(11). 15160000 05 PP112-117 PIC ZZ9.99. 15165000 05 FILLER PIC X(15). 15170000 03 FILLER REDEFINES PP1-132. 15175000 05 FILLER PIC XX. 15180000 05 PP3-51. 15185000 07 PP3-50. 15187000 09 PP3-35 PIC X(33). 15190000 09 FILLER PIC X(15). 15195000 07 FILLER PIC X. 15197000 05 FILLER PIC XX. 15200000 05 PP54-67. 15205000 07 FILLER PIC X(4). 15210000 07 PP58-67 PIC --,---,--9. 15215000 05 PP68 PIC X. 15235000 05 PP69-117. 15236000 07 PP69-73 PIC X(5). 15237000 07 FILLER PIC X(43). 15238000 05 FILLER PIC XX. 15240000 05 PP119-132. 15241000 07 FILLER PIC X(8). 15242000 07 PP127-132 PIC ZZ9.99. 15243000 03 FILLER REDEFINES PP1-132. 15245000 05 FILLER PIC XX. 15250000 05 PP3-52 PIC X(50). 15255000 05 FILLER PIC XX. 15260000 05 PP55-64 PIC ZZ,ZZZ,ZZ9. 15265000 05 PP65 PIC X. 15270000 05 FILLER PIC X(4). 15275000 05 PP70-118 PIC X(49). 15280000 05 FILLER PIC XXX. 15285000 05 PP122-131 PIC ZZ,ZZZ,ZZ9. 15290000 05 PP132 PIC X. 15295000 03 FILLER REDEFINES PP1-132. 15300000 05 PP1-18. 15360000 07 PP1-17. 15420000 09 PP1-15. 15460000 11 PP1-14 PIC X(14). 15470000 11 FILLER PIC X. 15480000 09 FILLER PIC XX. 15500000 07 FILLER PIC X. 15520000 05 FILLER REDEFINES PP1-18. 15540000 07 PP1-13. 15550000 09 PP1-12. 15560000 11 PP1-10 PIC X(10). 15580000 11 FILLER PIC XX. 15600000 09 FILLER PIC X. 15610000 07 FILLER PIC X(5). 15630000 05 FILLER REDEFINES PP1-18. 15660000 07 PP1-9. 15670000 09 PP1-8. 15690000 11 PP1-6 PIC X(6). 15720000 11 FILLER PIC XX. 15736000 09 FILLER PIC X. 15740000 07 FILLER PIC X(9). 15744000 05 FILLER REDEFINES PP1-18. 15746000 07 PP1-5 PIC X(5). 15748000 07 FILLER PIC X(13). 15757000 05 FILLER PIC X(17). 15784000 05 PP36-118. 15792000 07 FILLER PIC X. 15800000 07 PP37-39 PIC XXX. 15808000 07 FILLER PIC X(79). 15816000 05 FILLER PIC X(14). 15824000 03 FILLER REDEFINES PP1-132. 15832000 05 PP1-19 PIC X(19). 15840000 05 FILLER PIC X(17). 15848000 05 PP37-46 PIC ZZ,ZZZ,ZZ9. 15850000 05 FILLER REDEFINES PP37-46. 15853000 07 PP37-44 PIC 99B99B99. 15856000 07 FILLER PIC XX. 15860000 05 FILLER PIC X(86). 15864000 03 FILLER REDEFINES PP1-132. 15872000 05 FILLER PIC XX. 15880000 05 PP3-68. 15888000 07 PP3-55. 15896000 09 PP3-27. 15897000 11 FILLER PIC X(10). 15897200 11 PP13-20 PIC X(8). 15897400 11 FILLER PIC X(7). 15897700 09 FILLER PIC XX. 15898000 09 PP30-41. 15899000 11 PP30-38 PIC X(9). 15900000 11 FILLER PIC XXX. 15901000 09 FILLER PIC X(14). 15902000 07 FILLER PIC X(13). 15904000 05 FILLER PIC X(64). 15905000 03 FILLER REDEFINES PP1-132. 15906000 05 FILLER PIC XX. 15908000 05 FILLER PIC X(35). 15910000 05 FILLER PIC X. 15912000 05 FILLER PIC ZZ,ZZZ,ZZ9. 15914000 05 PP49 PIC X. 15916000 05 FILLER PIC X. 15918000 05 PP51-56 PIC ZZ9.99. 15920000 05 PP57-66X PIC X(10). 15928000 05 FILLER PIC XX. 15932000 05 PP69-103 PIC X(35). 15936000 05 FILLER PIC X. 15936100 05 FILLER PIC ZZ,ZZZ,ZZ9. 15936200 05 PP115 PIC X. 15936300 05 FILLER PIC X. 15936400 05 PP117-122 PIC ZZ9.99. 15936600 05 PP123-132 PIC X(10). 15936800 03 FILLER REDEFINES PP1-132. 15937000 05 FILLER PIC XX. 15938000 05 PP3-6 PIC X(4). 15939000 05 FILLER PIC XX. 15940000 05 PP9-16 PIC X(8). 15941000 05 FILLER PIC XX. 15943000 05 PP19-26 PIC X(8). 15945000 05 FILLER PIC XX. 15947000 05 PP29-35 PIC X(7). 15947200 05 FILLER PIC X(4). 15947400 05 PP40-42 PIC XXX. 15947600 05 FILLER PIC X(5). 15947800 05 PP48-52 PIC X(5). 15948000 05 PP53 PIC X. 15948200 05 PP54-57 PIC X(4). 15948400 05 FILLER PIC XXX. 15948600 05 PP61-70 PIC ZZ,ZZZ,ZZ9. 15948800 05 FILLER PIC XX. 15949000 05 PP73-82 PIC ZZ,ZZZ,ZZ9. 15949200 05 FILLER PIC XX. 15949400 05 PP85-94 PIC ZZ,ZZZ,ZZ9. 15949600 05 FILLER PIC XX. 15949800 05 PP97-108 PIC ZZ,ZZZ,ZZ9. 15950000 05 FILLER PIC XX. 15950200 05 FILLER PIC ZZ,ZZZ,ZZ9. 15950400 05 FILLER PIC XX. 15950600 05 FILLER PIC ZZ,ZZZ,ZZ9. 15950800 05 FILLER PIC XX. 15950900 03 FILLER REDEFINES PP1-132. 15951000 05 FILLER PIC XX. 15952000 05 PP3-10 PIC X(8). 15960000 05 FILLER PIC XX. 15968000 05 PP13-17. 15972000 07 PP13-17N PIC ZZZZ9. 15976000 05 FILLER PIC XX. 15984000 05 PP20-23 PIC X(4). 15993000 05 FILLER PIC XX. 16002000 05 PP26-35 PIC ZZ,ZZZ,ZZ9. 16011000 05 FILLER PIC XX. 16020000 05 PP38-47 PIC ZZ,ZZZ,ZZ9. 16029000 05 FILLER PIC XX. 16038000 05 PP50-63 PIC X(14). 16047000 05 FILLER PIC XX. 16056000 05 PP66-79 PIC X(14). 16065000 05 FILLER PIC XXX. 16074000 05 PP83-85 PIC ZZ9. 16083000 05 FILLER PIC XXX. 16092000 05 PP89-98 PIC ZZ,ZZZ,ZZ9. 16101000 05 FILLER PIC XX. 16110000 05 PP101-110 PIC ZZ,ZZZ,ZZ9. 16119000 05 FILLER PIC XX. 16128000 05 PP113-122 PIC ZZ,ZZZ,ZZ9. 16137000 05 FILLER PIC X(4). 16146000 05 PP127-131 PIC X(5). 16155000 05 FILLER PIC X. 16164000 03 FILLER REDEFINES PP1-132. 16173000 05 FILLER PIC X(32). 16182000 05 PP33-46. 16210000 07 PP33-42 PIC ZZ,ZZZ,ZZ9. 16245000 07 PP43-44 PIC XX. 16254000 07 FILLER PIC XX. 16255000 05 FILLER PIC X(86). 16256000 03 FILLER REDEFINES PP1-132. 16258000 05 FILLER PIC XXX. 16260000 05 PP4-6 PIC ZZ9. 16262000 05 FILLER PIC X(4). 16264000 05 PP11-20 PIC ZZ,ZZZ,ZZ9. 16272000 05 FILLER PIC XX. 16275000 05 PP23-32 PIC ZZ,ZZZ,ZZ9. 16278000 05 FILLER PIC XX. 16281000 05 PP35-44 PIC ZZ,ZZZ,ZZ9. 16284000 05 FILLER PIC XX. 16287000 05 PP47-60 PIC X(14). 16290000 05 FILLER PIC XX. 16293000 05 FILLER PIC ZZ,ZZZ,ZZ9. 16296000 05 FILLER PIC XX. 16299000 05 FILLER PIC ZZ,ZZZ,ZZ9. 16302000 05 FILLER PIC X(48). 16305000 03 FILLER REDEFINES PP1-132. 16306000 05 PP1-22. 16307000 07 PP1-21 PIC X(21). 16308200 07 FILLER PIC X. 16308400 05 FILLER PIC X(4). 16308500 05 PP27-30. 16308600 07 PP27-29 PIC XXX. 16308700 07 FILLER PIC X. 16308800 05 FILLER PIC X(102). 16308900 03 FILLER REDEFINES PP1-132. 16309000 05 FILLER PIC XX. 16310000 05 PP3-44 PIC X(42). 16311000 05 FILLER PIC XX. 16312000 05 PP47-56 PIC ZZ,ZZZ,ZZ9. 16313000 05 PP57 PIC X. 16313100 05 FILLER PIC X(75). 16313200 03 FILLER REDEFINES PP1-132. 16313300 05 FILLER PIC X(22). 16313400 05 PP23-36 PIC X(14). 16313500 05 FILLER PIC XX. 16313600 05 FILLER PIC ZZ,ZZZ,ZZ9. 16313700 05 FILLER PIC XX. 16313800 05 PP51-64 PIC X(14). 16313900 05 FILLER PIC XX. 16314000 05 PP67-80 PIC X(14). 16314100 05 FILLER PIC XX. 16314200 05 PP83-96 PIC X(14). 16314300 05 FILLER PIC XX. 16314500 05 PP99-112 PIC X(14). 16314700 05 FILLER PIC X(20). 16314800 03 FILLER REDEFINES PP1-132. 16315100 05 FILLER PIC XX. 16315200 05 PP3-34. 16315300 07 PP3-25. 16315400 09 PP3-24 PIC X(22). 16315500 09 FILLER PIC X. 16315600 07 FILLER PIC X(9). 16315700 05 FILLER PIC X(11). 16315800 05 PP46-51 PIC ZZ,ZZ9. 16315900 05 FILLER PIC X(81). 16316000 03 FILLER REDEFINES PP1-132. 16316100 05 FILLER PIC X(5). 16316200 05 PP6-39. 16316300 07 FILLER PIC XX. 16316400 07 PP8-39. 16316500 09 FILLER PIC X(18). 16316600 09 PP26-39 PIC X(14). 16316700 05 FILLER PIC XX. 16317100 05 PP42-51 PIC ZZ,ZZZ,ZZ9. 16317200 05 FILLER PIC X(17). 16317300 05 PP69-102. 16317400 07 FILLER PIC XX. 16317500 07 PP71-102 PIC X(32). 16317600 05 FILLER PIC X(30). 16317700 03 FILLER REDEFINES PP1-132. 16317800 05 FILLER PIC XX. 16317900 05 PP3-19. 16318000 07 PP3-15 PIC X(13). 16318100 07 FILLER PIC XX. 16318200 07 PP18-19 PIC Z9. 16318300 05 FILLER PIC X(6). 16318400 05 PP26-56. 16318500 07 FILLER PIC X(17). 16318600 07 PP43-56 PIC X(14). 16318700 05 FILLER PIC X(76). 16318800 03 FILLER REDEFINES PP1-132. 16318900 05 FILLER PIC X(4). 16319000 05 PP5-126. 16319100 07 PP5-9 PIC ZZZZ9. 16319200 07 FILLER PIC XXX. 16319300 07 FILLER PIC ZZZZ9. 16319400 07 FILLER PIC X(6). 16319500 07 PP24-28 PIC ZZZZ9. 16319600 07 FILLER PIC X(4). 16319700 07 FILLER PIC ZZ,ZZZ,ZZ9. 16319800 07 FILLER PIC XX. 16319900 07 PP45-54 PIC ZZ,ZZZ,ZZ9. 16320000 07 FILLER PIC XX. 16320100 07 FILLER PIC ZZ,ZZZ,ZZ9. 16320200 07 FILLER PIC XX. 16320300 07 PP69-78 PIC ZZ,ZZZ,ZZ9. 16320400 07 FILLER PIC XX. 16320500 07 PP81-90 PIC ZZ,ZZZ,ZZ9. 16320600 07 FILLER PIC XX. 16320700 07 PP93-102 PIC ZZ,ZZZ,ZZ9. 16320800 07 FILLER PIC XX. 16320900 07 PP105-114 PIC ZZ,ZZZ,ZZ9. 16321000 07 FILLER PIC XX. 16321100 07 PP117-126 PIC ZZ,ZZZ,ZZ9. 16321200 05 FILLER REDEFINES PP5-126. 16321300 07 PP5-68 PIC X(64). 16321400 07 PP69-126 PIC X(58). 16321500 05 FILLER PIC X(6). 16321600 03 FILLER REDEFINES PP1-132. 16321700 05 FILLER PIC X(12). 16321800 05 PP13-18 PIC X(6). 16321900 05 FILLER PIC XXX. 16322000 05 PP22-29 PIC X(8). 16322100 05 FILLER PIC XX. 16322200 05 PP32-33 PIC Z9. 16322300 05 FILLER PIC X(99). 16322400 03 FILLER REDEFINES PP1-132. 16322500 05 FILLER PIC XX. 16322600 05 FILLER PIC X(8). 16322700 05 FILLER PIC X. 16322800 05 PP12-15 PIC X(4). 16322900 05 PP16 PIC X. 16323000 05 PP17-26. 16323100 07 PP17-26N PIC ZZ,ZZZ,ZZ9. 16323200 05 FILLER PIC X. 16323300 05 PP28-37 PIC ZZ,ZZZ,ZZ9. 16323400 05 FILLER PIC X. 16323500 05 PP39-48 PIC ZZ,ZZZ,ZZ9. 16323600 05 FILLER PIC XX. 16323700 05 PP51-60 PIC ZZ,ZZZ,ZZ9. 16323800 05 FILLER PIC XX. 16323900 05 PP63-72 PIC ZZ,ZZZ,ZZ9. 16324000 05 FILLER PIC XX. 16324100 05 PP75-84 PIC ZZ,ZZZ,ZZ9. 16324200 05 FILLER PIC XX. 16324300 05 PP87-96 PIC ZZ,ZZZ,ZZ9. 16324400 05 FILLER PIC XX. 16324600 05 PP99-108 PIC ZZ,ZZZ,ZZ9. 16324800 05 FILLER PIC XX. 16325000 05 PP111-120 PIC ZZ,ZZZ,ZZ9. 16325200 05 FILLER PIC XX. 16325400 05 PP123-132N PIC ZZ,ZZZ,ZZ9. 16325600 03 FILLER REDEFINES PP1-132. 16325800 05 FILLER PIC XX. 16326000 05 PP3-132. 16335000 07 PP3-102. 16338000 09 PP3-72. 16341000 11 PP3-37 PIC X(35). 16344000 11 PP38-72 PIC X(35). 16353000 09 PP73-102 PIC X(30). 16362000 07 PP103-132 PIC X(30). 16371000 05 FILLER REDEFINES PP3-132. 16373000 07 PP3-112. 16375000 09 PP3-84. 16375600 11 PP3-8 PIC X(6). 16375800 11 FILLER PIC X(76). 16376000 09 FILLER PIC X(28). 16376300 07 FILLER PIC X(20). 16377000 03 FILLER REDEFINES PP1-132. 16377600 05 FILLER PIC XX. 16378200 05 PP3-120. 16378800 07 PP3-59. 16379000 09 FILLER PIC X(47). 16379100 09 PP50-59 PIC ZZ,ZZZ,ZZ9. 16379200 07 FILLER PIC X(15). 16379300 07 PP75-105 PIC X(31). 16379400 07 FILLER PIC X(15). 16379600 05 FILLER PIC X(12). 16379800 EJECT 16380000 ***************************************************************** 16440000 *** Data structures for using mapset DFH0STM *** 16500000 ***************************************************************** 16560000 COPY DFH0STM. 16620000 EJECT 16680000 COPY DFHAID. 16740000 EJECT 16800000 COPY DFHBMSCA. 16860000 EJECT 16920000 LINKAGE SECTION. 16980000 EJECT 17361200 ***************************************************************** 17361800 *** Data structures for LSR Pool statistics *** 17362400 *** (See CICS/ESA Data Areas manual) *** 17363000 ***************************************************************** 17363700 COPY DFHA08DS. 17364400 EJECT 17365700 ***************************************************************** 17365800 *** Data structures for Transient Data Global statistics *** 17365900 *** (See CICS/ESA Data Areas manual) *** 17366000 ***************************************************************** 17366100 COPY DFHA11DS. 17366200 EJECT 17366300 ***************************************************************** 17366400 *** Data structures for Temporary Storage Global statistics *** 17367100 *** (See CICS/ESA Data Areas manual) *** 17367800 ***************************************************************** 17368500 COPY DFHA12DS. 17369200 EJECT 17374000 ***************************************************************** 17378000 *** Data structures for File statistics *** 17382000 *** (See CICS/ESA Data Areas manual) *** 17386000 ***************************************************************** 17390000 COPY DFHA17DS. 17395000 EJECT 17400000 ***************************************************************** 17460000 *** Data structures for Dispatcher Global statistics *** 17520000 *** (See CICS/ESA Data Areas manual) *** 17580000 ***************************************************************** 17640000 COPY DFHDSGDS. 17700000 EJECT 17760000 ***************************************************************** 17820000 *** Data structures for Loader Global statistics *** 17880000 *** (See CICS/ESA Data Areas manual) *** 17940000 ***************************************************************** 18000000 COPY DFHLDGDS. 18060000 EJECT 18064000 ***************************************************************** 18068000 *** Data structures for Program statistics *** 18072000 *** (See CICS/ESA Data Areas manual) *** 18076000 ***************************************************************** 18080000 COPY DFHLDRDS. 18085000 EJECT 18085700 ***************************************************************** 18086400 *** Data structures for Monitoring Global statistics *** 18087100 *** (See CICS/ESA Data Areas manual) *** 18087800 ***************************************************************** 18088500 COPY DFHMNGDS. 18089200 EJECT 18090000 ***************************************************************** 18095000 *** Data structures for Storage Manager Domain Subpools *** 18100000 *** (See CICS/ESA Data Areas manual) *** 18105000 ***************************************************************** 18110000 COPY DFHSMDDS. 18115000 EJECT 18120000 ***************************************************************** 18128000 *** Data structures for Storage Manager DSA *** 18136000 *** (See CICS/ESA Data Areas manual) *** 18144000 ***************************************************************** 18153000 COPY DFHSMSDS. 18162000 EJECT 18428000 ***************************************************************** 18436000 *** Data structures for Transaction Manager Global statistics *** 18444000 *** (See CICS/ESA Data Areas manual) *** 18453000 ***************************************************************** 18462000 COPY DFHXMGDS. 18471000 EJECT 18472000 ***************************************************************** 18473000 *** Data structures for Transaction statistics *** 18474000 *** (See CICS/ESA Data Areas manual) *** 18475000 ***************************************************************** 18476000 COPY DFHXMRDS. 18478000 EJECT 18480000 ***************************************************************** 18540000 *** *** 18600000 *** CICS/ESA Collect and print statistics *** 18660000 *** *** 18720000 ***************************************************************** 18780000 PROCEDURE DIVISION. 18840000 18900000 ***************************************************************** 18960000 *** MAIN-PROCESSING *** 19020000 *** Set default destination fields for output *** 19080000 *** Get initial CICS information *** 19140000 *** SELECT on CICS status *** 19200000 *** WHEN startup *** 19260000 *** process statistics print *** 19290000 *** WHEN active *** 19320000 *** IF primary facility is a terminal THEN *** 19380000 *** IF terminal is a 3270 THEN *** 19410000 *** process terminal input *** 19440000 *** ELSE *** 19450000 *** process statistics print *** 19460000 *** ELSE *** 19480000 *** process statistics print *** 19500000 *** WHEN first stage quiesce *** 19560000 *** process statistics print *** 19620000 *** WHEN final quiesce no action *** 19680000 *** WHEN other no action *** 19740000 *** END SELECT *** 19800000 *** RETURN *** 19860000 ***************************************************************** 19920000 19950000 MAIN-PROCESSING SECTION. 19980000 20040000 EXEC CICS ASSIGN APPLID(APPLID) SYSID(SYSID) 20100000 FCI(FACILITY) DS3270(DATA-STREAM) 20220000 END-EXEC. 20340000 20400000 MOVE DEFAULT-NODE TO OUTPUT-NODE. 20460000 MOVE DEFAULT-USERID TO OUTPUT-USERID. 20520000 MOVE DEFAULT-CLASS TO OUTPUT-CLASS. 20580000 20640000 MOVE LOW-VALUES TO DFH0STMO. 20700000 20760000 EXEC CICS INQUIRE SYSTEM 20790000 CICSSTATUS(CICS-STATUS) INITSTATUS(INIT-STATUS) 20820000 JOBNAME(JOBNAME) 20825000 RELEASE(CICS-VERSION-RELEASE) 20830000 END-EXEC. 20850000 20880000 EVALUATE CICS-STATUS 20940000 WHEN DFHVALUE(STARTUP) 21000000 IF INIT-STATUS = DFHVALUE(THIRDINIT) 21020000 OR INIT-STATUS = DFHVALUE(INITCOMPLETE) THEN 21040000 PERFORM PROCESS-FROM-NON-TERMINAL 21060000 ELSE 21070000 CONTINUE 21080000 END-IF 21100000 WHEN DFHVALUE(ACTIVE) 21120000 IF TERM-FACILITY THEN 21180000 IF 3270-DATA-STREAM THEN 21190000 MOVE 'Y' TO TERM-MSG-REQUIRED 21210000 PERFORM PROCESS-FROM-TERMINAL 21240000 ELSE 21250000 PERFORM PROCESS-FROM-NON-TERMINAL 21260000 END-IF 21280000 ELSE 21300000 PERFORM PROCESS-FROM-NON-TERMINAL 21360000 END-IF 21420000 WHEN DFHVALUE(FIRSTQUIESCE) 21480000 PERFORM PROCESS-FROM-NON-TERMINAL 21540000 WHEN DFHVALUE(FINALQUIESCE) 21600000 CONTINUE 21660000 WHEN OTHER 21720000 CONTINUE 21780000 END-EVALUATE. 21840000 21900000 EXEC CICS RETURN 21960000 END-EXEC. 22020000 22080000 MAIN-PROCESSING-EXIT. 22140000 GOBACK. 22200000 EJECT 22260000 ***************************************************************** 22320000 *** PROCESS-FROM-TERMINAL *** 22380000 *** LOOP while not end of transaction *** 22440000 *** build screen for user panel *** 22500000 *** send user panel (with alarm if any error) *** 22560000 *** receive user input *** 22620000 *** SELECT on key pressed by user *** 22680000 *** WHEN enter *** 22740000 *** update any fields changed by user *** 22800000 *** process statistics print *** 22860000 *** WHEN clear no action *** 22920000 *** WHEN PF3 *** 22980000 *** flag end of transaction *** 23040000 *** WHEN other *** 23100000 *** put error message in panels error field *** 23160000 *** END SELECT *** 23220000 *** send transaction ended message *** 23250000 ***************************************************************** 23280000 23310000 PROCESS-FROM-TERMINAL SECTION. 23340000 23400000 PERFORM WITH TEST BEFORE 23460000 UNTIL END-PRINT = 'Y' 23520000 23580000 PERFORM BUILD-SCREEN 23640000 23700000 IF ERROR-FOUND = 'N' THEN 23760000 EXEC CICS SEND MAP('DFH0STM') MAPSET('DFH0STM') 23820000 ERASE FREEKB 24000000 END-EXEC 24120000 ELSE 24180000 EXEC CICS SEND MAP('DFH0STM') MAPSET('DFH0STM') 24240000 ALARM ERASE FREEKB CURSOR 24420000 END-EXEC 24660000 END-IF 24720000 * Reset attribute bytes for map 24780000 MOVE 'N' TO ERROR-FOUND 24840000 MOVE DFHNEUTR TO PMSG1C 24900000 MOVE DFHNEUTR TO PMSG2C 24960000 MOVE DFHDFHI TO PMSG1H 25020000 MOVE DFHDFHI TO PMSG2H 25080000 MOVE LOW-VALUES TO PMSG1O 25140000 MOVE LOW-VALUES TO PMSG2O 25200000 25260000 EXEC CICS RECEIVE MAP('DFH0STM') MAPSET('DFH0STM') 25320000 NOHANDLE 25500000 END-EXEC 25560000 * Act on users input 25620000 EVALUATE EIBAID 25680000 WHEN DFHENTER 25740000 PERFORM PROCESS-INPUT 25800000 25830000 PERFORM PRINT-STATISTICS 25860000 WHEN DFHCLEAR 25920000 CONTINUE 25980000 WHEN DFHPF3 26040000 MOVE 'Y' TO END-PRINT 26100000 WHEN OTHER 26160000 MOVE 'Y' TO ERROR-FOUND 26220000 MOVE DFHYELLO TO PMSG2C 26280000 MOVE -1 TO PNODEL 26340000 MOVE 'Please use PF3 to exit or Enter to print' 26400000 TO PMSG2O 26460000 END-EVALUATE 26520000 26580000 END-PERFORM. 26640000 26700000 MOVE LENGTH OF END-MESSAGE TO MESSAGE-LENGTH. 26720000 26740000 EXEC CICS SEND TEXT FROM(END-MESSAGE) LENGTH(MESSAGE-LENGTH) 26760000 ERASE FREEKB 26940000 END-EXEC. 27060000 27120000 PROCESS-FROM-TERMINAL-EXIT. 27180000 EXIT. 27240000 27300000 ***************************************************************** 27360000 *** PROCESS-FROM-NON-TERMINAL *** 27420000 *** process statistics print *** 27480000 ***************************************************************** 27540000 27570000 PROCESS-FROM-NON-TERMINAL SECTION. 27600000 27660000 PERFORM PRINT-STATISTICS. 27720000 27780000 PROCESS-FROM-NON-TERMINAL-EXIT. 27840000 EXIT. 27900000 EJECT 28020000 ***************************************************************** 28080000 *** BUILD-SCREEN *** 28140000 *** get and format time (using CICS) *** 28200000 *** put information in all map output fields *** 28260000 ***************************************************************** 28320000 28350000 BUILD-SCREEN SECTION. 28380000 28440000 EXEC CICS ASKTIME ABSTIME(UTIME) 28500000 END-EXEC. 28620000 28680000 EXEC CICS FORMATTIME ABSTIME(UTIME) 28740000 MMDDYY(MAP-DATE) DATESEP('/') TIME(MAP-TIME) TIMESEP 28860000 END-EXEC. 29100000 29160000 MOVE MAP-DATE TO PDATEO. 29220000 MOVE MAP-TIME TO PTIMEO. 29280000 MOVE JOBNAME TO PJOBNMO. 29340000 MOVE APPLID TO PAPPLIDO. 29400000 MOVE SYSID TO PSYSIDO. 29460000 29520000 MOVE OUTPUT-NODE TO PNODEO. 29580000 MOVE OUTPUT-USERID TO PUSERIDO. 29640000 MOVE OUTPUT-CLASS TO PCLASSO. 29700000 29760000 BUILD-SCREEN-EXIT. 29820000 EXIT. 29880000 29940000 ***************************************************************** 30000000 *** PROCESS-INPUT *** 30060000 *** Update any fields which the user has changed *** 30120000 *** (include check for Erase EOF) *** 30180000 ***************************************************************** 30240000 30270000 PROCESS-INPUT SECTION. 30300000 IF (PNODEI NOT = LOW-VALUES) OR 30360000 (PNODEF NOT = LOW-VALUES) 30420000 MOVE PNODEI TO OUTPUT-NODE 30480000 END-IF. 30540000 IF (PUSERIDI NOT = LOW-VALUES) OR 30600000 (PUSERIDF NOT = LOW-VALUES) 30660000 MOVE PUSERIDI TO OUTPUT-USERID 30720000 END-IF. 30780000 IF (PCLASSI NOT = LOW-VALUES) OR 30840000 (PCLASSF NOT = LOW-VALUES) 30900000 MOVE PCLASSI TO OUTPUT-CLASS 30960000 END-IF. 31020000 31080000 PROCESS-INPUT-EXIT. 31140000 EXIT. 31200000 EJECT 31260000 ***************************************************************** 31320000 *** COLLECT-SYSTEM *** 31380000 *** Get required system information. *** 31440000 *** Format the version and release number. *** 31500000 *** Get monitoring, statistics and trace information. *** 31530000 ***************************************************************** 31560000 31590000 COLLECT-SYSTEM SECTION. 31620000 31680000 EXEC CICS INQUIRE SYSTEM 31740000 CICSSTATUS(CICS-STATUS) INITSTATUS(INIT-STATUS) 31800000 DSALIMIT(DSA-LIMIT) EDSALIMIT(EDSA-LIMIT) 31880000 PRTYAGING(PRIORITY-AGING) RUNAWAY(ICVR-TIME) 31920000 STARTUP(CICS-STARTUP) 32060000 STOREPROTECT(STORAGE-PROTECTION) 32070000 TRANISOLATE(TRANSACTION-ISOLATION) 32075000 END-EXEC. 32100000 32160000 MOVE CICS-VERSION TO VERSION-NO. 32220000 MOVE CICS-RELEASE TO RELEASE-NO. 32280000 INSPECT RELEASE-NO REPLACING ALL ' ' BY '.'. 32340000 32400000 PERFORM UPDATE-TIME. 32460000 32520000 ***************************************************************** 32520100 *** Get the monitoring information. *** 32520200 ***************************************************************** 32520300 EXEC CICS INQUIRE MONITOR 32520500 EVENTCLASS(SYSEVENT-CLASS) 32521000 EXCEPTCLASS(EXCEPTION-CLASS) 32521500 PERFCLASS(PERFORMANCE-CLASS) 32522000 STATUS(MONITOR-STATUS) 32522500 SUBSYSTEMID(SUBSYSTEM-ID) 32522700 END-EXEC. 32523000 32523500 ***************************************************************** 32523600 *** Get the statistics information. *** 32523700 ***************************************************************** 32523800 EXEC CICS INQUIRE STATISTICS 32524000 ENDOFDAY(EOD-COLLECTION-TIME) 32528000 INTERVAL(COLLECTION-INTERVAL) 32532000 NEXTTIME(NEXT-COLLECTION-TIME) 32536000 RECORDING(RECORDING-STATUS) 32540000 END-EXEC. 32544000 32548000 EXEC CICS COLLECT STATISTICS TRANSACTION 32552000 SET(ADDRESS OF DFHXMGDS) 32554000 LASTRESET(LAST-RESET-TIME) 32556000 END-EXEC. 32570000 32570500 ***************************************************************** 32571000 *** Get size of internal trace table *** 32571500 ***************************************************************** 32572100 EXEC CICS INQUIRE TRACEDEST 32572700 TABLESIZE(TRACE-TABLE-SIZE) 32573300 END-EXEC. 32573900 32574500 ***************************************************************** 32575100 *** Initialize DFH$STAS-FIELDS *** 32575200 *** Collect MVS storage information *** 32575300 ***************************************************************** 32575400 32575500 MOVE 0 TO ADSP-TCTLWM ADSP-TCTHWM 32575600 ADSP-TCTELWM ADSP-TCTEHWM 32575800 REGION-SIZE-BELOW REGION-SIZE-ABOVE 32576000 REGION-SIZE-ESTABLISHED. 32576200 32577200 ***************************************************************** 32577400 *** Collect MVS storage information by calling program *** 32577600 *** DFH$STAS. The storage information obtained is passed *** 32577800 *** back in the data structure STATASCB-FIELDS *** 32578000 ***************************************************************** 32578200 32578400 MOVE LENGTH OF STATASCB-FIELDS TO STAS-COMMAREA 32578600 32578800 EXEC CICS LINK PROGRAM('DFH$STAS') 32579000 COMMAREA(STATASCB-FIELDS) 32579200 LENGTH(STAS-COMMAREA) 32579400 END-EXEC. 32579600 32579800 COLLECT-SYSTEM-EXIT. 32580000 EXIT. 32640000 EJECT 32700000 ***************************************************************** 32730000 ***************************************************************** 32760000 *** Collect and Print the CICS/ESA Statistics *** 32880000 ***************************************************************** 33000000 ***************************************************************** 33040000 *** *** 33080000 *** 1. Initialise total fields *** 33120000 *** 2. Open JES Spool thread *** 33180000 *** 3. Print the Statistics in the following order:- *** 33240000 *** - System Status *** 33270000 *** - Transaction Manager *** 33300000 *** - Dispatcher *** 33360000 *** - Storage Analysis (DSA's) *** 33420000 *** - Loader (Global) *** 33480000 *** - Transactions *** 33483000 *** - Programs *** 33490000 *** - Temporary Storage (Global) *** 33510000 *** - Transient Data (Global) *** 33520000 *** - LSR Pools *** 33525000 *** - Files *** 33530000 *** - Data Tables *** 33535000 *** 4. Output completion message *** 33540000 *** 5. Close JES Spool thread *** 33600000 *** *** 33640000 ***************************************************************** 33680000 ***************************************************************** 33730000 33780000 PRINT-STATISTICS SECTION. 33840000 33900000 PERFORM TOTALS-INITIALISE. 33920000 33940000 PERFORM COLLECT-SYSTEM. 33960000 34020000 PERFORM OPEN-SPOOL. 34200000 34260000 IF ERROR-FOUND = 'Y' 34320000 GO TO PRINT-STATISTICS-EXIT 34380000 ELSE 34440000 NEXT SENTENCE 34500000 END-IF. 34560000 34620000 PERFORM PAGE-HEADINGS. 34680000 34700000 PERFORM SYSTEM-STATUS. 34720000 34740000 PERFORM TRANSACTION-MGR-STATISTICS. 34800000 34860000 PERFORM DISPATCHER-STATISTICS. 34920000 34980000 PERFORM STORAGE-STATISTICS. 35160000 35220000 PERFORM LOADER-STATISTICS. 35280000 35340000 PERFORM TRANSACTION-STATISTICS. 35341000 35342000 PERFORM PROGRAM-STATISTICS. 35346000 35353000 PERFORM TEMP-STORAGE-STATISTICS. 35360000 35380000 PERFORM TRANSIENT-DATA-STATISTICS. 35386000 35387000 PERFORM LSR-POOL-STATISTICS. 35388000 35389000 PERFORM FILE-STATISTICS. 35390000 35391000 PERFORM DATA-TABLE-STATISTICS. 35392000 35393000 PERFORM CLOSE-SPOOL. 35400000 35460000 IF ERROR-FOUND = 'N' THEN 35520000 IF TERM-FACILITY THEN 35528000 IF 3270-DATA-STREAM THEN 35536000 MOVE 'Statistics print successfully completed' 35544000 TO PMSG2O 35552000 ELSE 35560000 MOVE LENGTH OF SUCCESS-MESSAGE TO MESSAGE-LENGTH 35568000 35576000 EXEC CICS SEND TEXT 35584000 FROM(SUCCESS-MESSAGE) LENGTH(MESSAGE-LENGTH) 35592000 END-EXEC 35600000 END-IF 35608000 ELSE 35616000 NEXT SENTENCE 35624000 END-IF 35632000 END-IF. 35640000 35700000 PRINT-STATISTICS-EXIT. 35760000 EXIT. 35820000 EJECT 35880000 ***************************************************************** 35890000 *** UPDATE-TIME SECTION *** 35900000 *** Get and format the time from CICS. *** 35910000 ***************************************************************** 35930000 35935000 UPDATE-TIME SECTION. 35940000 36000000 EXEC CICS ASKTIME ABSTIME(UTIME) 36060000 END-EXEC. 36180000 36240000 EXEC CICS FORMATTIME ABSTIME(UTIME) 36300000 MMDDYY(PRINT-DATE) DATESEP('/') 36420000 TIME(PRINT-TIME) TIMESEP 36540000 END-EXEC. 36660000 36720000 UPDATE-TIME-EXIT. 36780000 EXIT. 36840000 EJECT 36840800 ***************************************************************** 36841600 *** SYSTEM-STATUS SECTION *** 36842400 ***************************************************************** 36843200 36844000 SYSTEM-STATUS SECTION. 36844800 36845600 MOVE '-' TO PRINT-CONTROL. 36846400 MOVE 'System Status' TO PP1-13. 36847200 PERFORM WRITE-SPOOL. 36848000 MOVE '+' TO PRINT-CONTROL. 36848800 MOVE ALL '_' TO PP1-13. 36849600 PERFORM WRITE-SPOOL. 36850400 36851200 ***************************************************************** 36852000 *** Print heading and system status *** 36852800 ***************************************************************** 36853600 MOVE '0' TO PRINT-CONTROL. 36853700 MOVE 'MVS Release . . . . . . :' TO PP3-27. 36853800 STRING 'MVS/' MVS-RELEASE 36853900 DELIMITED BY SIZE INTO PP30-41. 36854000 PERFORM WRITE-SPOOL. 36854100 36854200 MOVE '0' TO PRINT-CONTROL. 36854400 MOVE 'CICS Startup. . . . . . :' TO PP3-27. 36855200 EVALUATE CICS-STARTUP 36856000 WHEN DFHVALUE(COLDSTART) 36856800 MOVE 'COLD ' TO PP30-38 36857600 WHEN DFHVALUE(WARMSTART) 36858400 MOVE 'WARM ' TO PP30-38 36859200 WHEN DFHVALUE(EMERGENCY) 36860000 MOVE 'EMERGENCY' TO PP30-38 36860800 WHEN DFHVALUE(LOGTERM) 36861600 MOVE 'LOGTERM ' TO PP30-38 36862400 WHEN DFHVALUE(STANDBY) 36862500 MOVE 'STANDBY ' TO PP30-38 36862600 WHEN DFHVALUE(AUTOSTART) 36862800 MOVE 'AUTOSTART' TO PP30-38 36863000 WHEN OTHER 36863200 CONTINUE 36864000 END-EVALUATE. 36864800 PERFORM WRITE-SPOOL. 36865600 36866400 MOVE 'CICS Status . . . . . . :' TO PP3-27. 36867200 EVALUATE CICS-STATUS 36868000 WHEN DFHVALUE(STARTUP) 36868800 MOVE 'STARTUP ' TO PP30-41 36869600 WHEN DFHVALUE(ACTIVE) 36870400 MOVE 'ACTIVE ' TO PP30-41 36871200 WHEN DFHVALUE(FIRSTQUIESCE) 36872000 MOVE 'FIRSTQUIESCE' TO PP30-41 36872800 WHEN DFHVALUE(FINALQUIESCE) 36873600 MOVE 'FINALQUIESCE' TO PP30-41 36874400 WHEN OTHER 36874500 CONTINUE 36874600 END-EVALUATE. 36874700 PERFORM WRITE-SPOOL. 36874800 36874900 ***************************************************************** 36875000 *** Get the Storage Manager DSA statistics. *** 36875100 ***************************************************************** 36875200 EXEC CICS COLLECT STATISTICS STORAGE 36875300 SET(ADDRESS OF DFHSMSDS) 36875400 END-EXEC. 36875500 36875600 MOVE '0' TO PRINT-CONTROL. 36875700 MOVE 'Storage Protection. . . :' TO PP3-27. 36875800 EVALUATE STORAGE-PROTECTION 36875900 WHEN DFHVALUE(ACTIVE) 36876000 MOVE 'ACTIVE ' TO PP30-38 36876100 WHEN DFHVALUE(INACTIVE) 36876200 MOVE 'INACTIVE ' TO PP30-38 36876300 WHEN OTHER 36876400 CONTINUE 36876500 END-EVALUATE. 36876600 PERFORM WRITE-SPOOL. 36876700 36876800 MOVE '0' TO PRINT-CONTROL. 36876900 MOVE 'Transaction Isolation . :' TO PP3-27. 36877000 EVALUATE TRANSACTION-ISOLATION 36877100 WHEN DFHVALUE(ACTIVE) 36877200 MOVE 'ACTIVE ' TO PP30-38 36877300 WHEN DFHVALUE(INACTIVE) 36877400 MOVE 'INACTIVE ' TO PP30-38 36877500 WHEN OTHER 36877600 CONTINUE 36877700 END-EVALUATE. 36877800 PERFORM WRITE-SPOOL. 36877900 36878000 MOVE '0' TO PRINT-CONTROL. 36878100 MOVE 'Reentrant Programs. . . :' TO PP3-27. 36878200 EVALUATE TRUE 36878300 WHEN SMSRENTPGMP 36878400 MOVE 'PROTECT ' TO PP30-38 36878500 WHEN SMSRENTPGMNP 36878600 MOVE 'NOPROTECT' TO PP30-38 36878700 END-EVALUATE. 36878800 PERFORM WRITE-SPOOL. 36878900 36879000 ***************************************************************** 36882300 *** Print heading and Monitoring status *** 36882400 ***************************************************************** 36882500 MOVE '-' TO PRINT-CONTROL. 36882600 MOVE 'Monitoring' TO PP1-10. 36882700 PERFORM WRITE-SPOOL. 36882800 MOVE '+' TO PRINT-CONTROL. 36882900 MOVE ALL '_' TO PP1-10. 36883000 PERFORM WRITE-SPOOL. 36883100 36883200 MOVE '0' TO PRINT-CONTROL. 36883300 MOVE 'Monitoring . . . . . :' TO PP3-24. 36883400 EVALUATE MONITOR-STATUS 36883500 WHEN DFHVALUE(ON) 36883600 MOVE 'ON ' TO PP27-29 36883700 WHEN DFHVALUE(OFF) 36883800 MOVE 'OFF' TO PP27-29 36883900 WHEN OTHER 36884000 CONTINUE 36884100 END-EVALUATE. 36884200 PERFORM WRITE-SPOOL. 36884300 MOVE 'Exception Class. . . :' TO PP3-24. 36884400 EVALUATE EXCEPTION-CLASS 36884500 WHEN DFHVALUE(EXCEPT) 36884600 MOVE 'ON ' TO PP27-29 36884700 WHEN DFHVALUE(NOEXCEPT) 36884800 MOVE 'OFF' TO PP27-29 36884900 WHEN OTHER 36885000 CONTINUE 36885100 END-EVALUATE. 36885200 PERFORM WRITE-SPOOL. 36885300 MOVE 'Performance Class. . :' TO PP3-24. 36885400 EVALUATE PERFORMANCE-CLASS 36885500 WHEN DFHVALUE(PERF) 36885600 MOVE 'ON ' TO PP27-29 36885700 WHEN DFHVALUE(NOPERF) 36885800 MOVE 'OFF' TO PP27-29 36885900 WHEN OTHER 36886000 CONTINUE 36886100 END-EVALUATE. 36886200 PERFORM WRITE-SPOOL. 36886300 MOVE 'Sysevent Class . . . :' TO PP3-24. 36886400 EVALUATE SYSEVENT-CLASS 36886500 WHEN DFHVALUE(EVENT) 36886600 MOVE 'ON ' TO PP27-29 36886700 WHEN DFHVALUE(NOEVENT) 36886800 MOVE 'OFF' TO PP27-29 36886900 WHEN OTHER 36887000 CONTINUE 36887100 END-EVALUATE. 36887200 PERFORM WRITE-SPOOL. 36887300 36887400 MOVE '0' TO PRINT-CONTROL. 36887500 MOVE 'Subsystem id . . . . :' TO PP3-24 36887600 MOVE SUBSYSTEM-ID TO PP27-30. 36887700 PERFORM WRITE-SPOOL. 36887800 36887900 ***************************************************************** 36888000 *** Get the Monitoring Global Statistics. *** 36888100 ***************************************************************** 36888200 EXEC CICS COLLECT STATISTICS MONITOR 36888300 SET(ADDRESS OF DFHMNGDS) 36888400 END-EXEC. 36888500 36888600 MOVE '0' TO PRINT-CONTROL. 36888700 MOVE 'Exception Class Records . . . . . :' TO PP3-37. 36888800 MOVE MNGER TO PP39-48. 36888900 PERFORM WRITE-SPOOL. 36889000 MOVE 'Exception Records Suppressed. . . :' TO PP3-37. 36889100 MOVE MNGERS TO PP39-48. 36889200 PERFORM WRITE-SPOOL. 36889300 MOVE 'Performance Class Records . . . . :' TO PP3-37. 36889400 MOVE MNGPR TO PP39-48. 36889500 PERFORM WRITE-SPOOL. 36889600 MOVE 'Performance Records Suppressed. . :' TO PP3-37. 36889700 MOVE MNGPRS TO PP39-48. 36889800 PERFORM WRITE-SPOOL. 36889900 MOVE 'SMF Records . . . . . . . . . . . :' TO PP3-37. 36890000 MOVE MNGSMFR TO PP39-48. 36890100 PERFORM WRITE-SPOOL. 36890200 MOVE 'SMF Errors. . . . . . . . . . . . :' TO PP3-37. 36890300 MOVE MNGSMFE TO PP39-48. 36890400 PERFORM WRITE-SPOOL. 36890500 MOVE 'SYSEVENT Records. . . . . . . . . :' TO PP3-37. 36890600 MOVE MNGSYSER TO PP39-48. 36890700 PERFORM WRITE-SPOOL. 36890800 MOVE 'SYSEVENT Errors . . . . . . . . . :' TO PP3-37. 36890900 MOVE MNGSYSEE TO PP39-48. 36891000 PERFORM WRITE-SPOOL. 36891100 36891200 ***************************************************************** 36891300 *** Print heading and Statistics status *** 36891400 ***************************************************************** 36891500 MOVE '-' TO PRINT-CONTROL. 36891600 MOVE 'Statistics' TO PP1-10. 36891700 PERFORM WRITE-SPOOL. 36891800 MOVE '+' TO PRINT-CONTROL. 36891900 MOVE ALL '_' TO PP1-10. 36892000 PERFORM WRITE-SPOOL. 36892100 36892200 MOVE '0' TO PRINT-CONTROL. 36892300 MOVE 'Statistics End-of-Day Time . . :' TO PP3-34. 36892400 MOVE EOD-COLLECTION-TIME TO PP37-44. 36892500 INSPECT PP37-44 REPLACING ALL ' ' BY ':'. 36892600 PERFORM WRITE-SPOOL. 36892700 MOVE 'Statistics Interval. . . . . . :' TO PP3-34. 36892800 MOVE COLLECTION-INTERVAL TO PP37-44. 36892900 INSPECT PP37-44 REPLACING ALL ' ' BY ':'. 36893000 PERFORM WRITE-SPOOL. 36893100 MOVE 'Next Statistics Collection . . :' TO PP3-34. 36893200 MOVE NEXT-COLLECTION-TIME TO PP37-44. 36893300 INSPECT PP37-44 REPLACING ALL ' ' BY ':'. 36893400 PERFORM WRITE-SPOOL. 36893500 MOVE 'Statistics Recording . . . . . :' TO PP3-34. 36893600 EVALUATE RECORDING-STATUS 36893700 WHEN DFHVALUE(OFF) 36893800 MOVE 'OFF' TO PP37-39 36893900 WHEN DFHVALUE(ON) 36894000 MOVE 'ON ' TO PP37-39 36894200 WHEN OTHER 36894400 CONTINUE 36895200 END-EVALUATE. 36896000 PERFORM WRITE-SPOOL. 36896800 36897600 SYSTEM-STATUS-EXIT. 36909100 EXIT. 36909400 EJECT 36909700 ***************************************************************** 36910000 *** TRANSACTION-MGR-STATISTICS SECTION *** 36920000 *** Collect the transaction manager statistics *** 36930000 *** Print heading and transaction manager statistics *** 36940000 ***************************************************************** 36950000 TRANSACTION-MGR-STATISTICS SECTION. 36960000 37020000 ***************************************************************** 37020600 *** Get number of User and System transactions *** 37021200 ***************************************************************** 37021800 EXEC CICS INQUIRE TASK LIST 37022500 LISTSIZE(ALL-TASKS) 37023200 END-EXEC. 37023900 37024600 ***************************************************************** 37025300 *** Get number of running User and System transactions *** 37026000 ***************************************************************** 37026700 EXEC CICS INQUIRE TASK LIST RUNNING 37027400 LISTSIZE(RUNNING-TASKS) 37028100 END-EXEC. 37028800 37029500 ***************************************************************** 37030200 *** Get number of dispatchable User and System transactions *** 37030900 ***************************************************************** 37031600 EXEC CICS INQUIRE TASK LIST DISPATCHABLE 37032300 LISTSIZE(DISPATCHABLE-TASKS) 37033000 END-EXEC. 37033700 37034400 ***************************************************************** 37035100 *** Get number of suspended User and System transactions *** 37035800 ***************************************************************** 37036500 EXEC CICS INQUIRE TASK LIST SUSPENDED 37037200 LISTSIZE(SUSPENDED-TASKS) 37037900 END-EXEC. 37038600 37039300 PERFORM PAGE-HEADINGS. 37040000 37060000 ***************************************************************** 37080000 *** Collect Transaction Manager (Global) statistics *** 37140000 ***************************************************************** 37200000 EXEC CICS COLLECT STATISTICS TRANSACTION 37260000 SET(ADDRESS OF DFHXMGDS) 37320000 END-EXEC. 37440000 37500000 ***************************************************************** 37510000 *** Print heading and transaction manager statistics. *** 37520000 ***************************************************************** 37540000 MOVE '-' TO PRINT-CONTROL. 37560000 MOVE 'Transaction Manager' TO PP1-19. 37620000 PERFORM WRITE-SPOOL. 37680000 MOVE '+' TO PRINT-CONTROL. 37740000 MOVE ALL '_' TO PP1-19. 37800000 PERFORM WRITE-SPOOL. 37860000 37920000 MOVE '0' TO PRINT-CONTROL. 37927000 MOVE 'Total Accumulated transactions so far. . :' 37934000 TO PP3-44. 37941000 COMPUTE TOTAL-ACCUM-TRANSACTIONS = (XMGTNUM + XMGNUM). 37948000 MOVE TOTAL-ACCUM-TRANSACTIONS TO PP51-60. 37955000 PERFORM WRITE-SPOOL. 37962000 37969000 MOVE '0' TO PRINT-CONTROL. 37980000 MOVE 'Accumulated transactions (since reset) . :' 38050000 TO PP3-44. 38120000 MOVE XMGNUM TO PP51-60. 38220000 PERFORM WRITE-SPOOL. 38260000 38262000 MOVE '0' TO PRINT-CONTROL. 38264000 MOVE 'Maximum transactions allowed (MXT) . . . :' 38266000 TO PP3-44. 38268000 MOVE XMGMXT TO PP51-60. 38269000 PERFORM WRITE-SPOOL. 38270000 MOVE 'Times at MXT . . . . . . . . . . . . . . :' 38272000 TO PP3-44. 38274000 MOVE XMGTAMXT TO PP51-60. 38274300 PERFORM WRITE-SPOOL. 38274600 MOVE 'Current Active User transactions . . . . :' 38274900 TO PP3-44. 38275200 MOVE XMGCAT TO PP51-60. 38275600 PERFORM WRITE-SPOOL. 38276000 MOVE 'Peak Active User transactions. . . . . . :' 38278000 TO PP3-44. 38280000 MOVE XMGPAT TO PP51-60. 38281000 PERFORM WRITE-SPOOL. 38282000 MOVE 'Total Active User transactions . . . . . :' 38284000 TO PP3-44. 38286000 MOVE XMGTAT TO PP51-60. 38287000 PERFORM WRITE-SPOOL. 38288000 38290000 MOVE '0' TO PRINT-CONTROL. 38290100 MOVE 'Current Running transactions . . . . . . :' 38290200 TO PP3-44. 38290300 MOVE RUNNING-TASKS TO PP51-60. 38290400 PERFORM WRITE-SPOOL. 38290500 38290600 MOVE 'Current Dispatchable transactions. . . . :' 38290700 TO PP3-44. 38290800 MOVE DISPATCHABLE-TASKS TO PP51-60. 38290900 PERFORM WRITE-SPOOL. 38291000 38291200 MOVE 'Current Suspended transactions . . . . . :' 38291400 TO PP3-44. 38291600 MOVE SUSPENDED-TASKS TO PP51-60. 38291800 PERFORM WRITE-SPOOL. 38292000 38292200 MOVE 'Current System transactions. . . . . . . :' 38292400 TO PP3-44. 38292600 COMPUTE SYSTEM-TASKS = (ALL-TASKS - XMGCAT). 38292800 MOVE SYSTEM-TASKS TO PP51-60. 38293200 PERFORM WRITE-SPOOL. 38293400 38293600 MOVE '0' TO PRINT-CONTROL. 38293800 MOVE 'Transactions Delayed by MXT. . . . . . . :' 38294000 TO PP3-44. 38296000 MOVE XMGTDT TO PP51-60. 38297000 PERFORM WRITE-SPOOL. 38298000 MOVE 'Total MXT queueing time. . . . . . . . . :' 38300000 TO PP3-44. 38302000 MOVE XMGTQTME TO CLOCK-FIELD. 38303000 PERFORM STOPWATCH-CONVERT. 38303900 MOVE STOPWATCH TO PP47-60. 38304800 PERFORM WRITE-SPOOL. 38305700 MOVE 'Average MXT queueing time. . . . . . . . :' 38306600 TO PP3-44. 38307500 IF XMGTDT > 0 THEN 38307900 MOVE XMGTQTME TO CLOCK-WORK-FIELD 38308400 COMPUTE CLOCK-FIELD-S = (CLOCK-WORK-FIELD-S / XMGTDT) 38308500 ELSE 38308700 MOVE 0 TO CLOCK-FIELD-S 38308900 END-IF. 38309100 PERFORM STOPWATCH-CONVERT. 38309300 MOVE STOPWATCH TO PP47-60. 38310200 PERFORM WRITE-SPOOL. 38311100 38311400 MOVE '0' TO PRINT-CONTROL. 38311700 MOVE 'Current Queued User transactions . . . . :' 38312000 TO PP3-44. 38315000 MOVE XMGCQT TO PP51-60. 38316000 PERFORM WRITE-SPOOL. 38318000 MOVE 'Total Queueing time for current queued . :' 38321000 TO PP3-44. 38324000 MOVE XMGCQTME TO CLOCK-FIELD. 38325000 PERFORM STOPWATCH-CONVERT. 38325200 MOVE STOPWATCH TO PP47-60. 38325400 PERFORM WRITE-SPOOL. 38325600 MOVE 'Average Queueing time for current queued :' 38325800 TO PP3-44. 38326000 IF XMGCQT > 0 THEN 38326100 MOVE XMGCQTME TO CLOCK-WORK-FIELD 38326200 COMPUTE CLOCK-FIELD-S = (CLOCK-WORK-FIELD-S / XMGCQT) 38326300 ELSE 38326400 MOVE 0 TO CLOCK-FIELD-S 38326500 END-IF. 38326600 PERFORM STOPWATCH-CONVERT. 38326700 MOVE STOPWATCH TO PP47-60. 38326800 PERFORM WRITE-SPOOL. 38327000 38330000 TRANSACTION-MGR-STATS-EXIT. 38400000 EXIT. 38470000 EJECT 38540000 ***************************************************************** 38550000 *** DISPATCHER-STATISTICS SECTION *** 38560000 *** Get dispatcher statistics *** 38580000 *** Print heading and dispatcher statistics *** 38590000 ***************************************************************** 38600000 DISPATCHER-STATISTICS SECTION. 38610000 38680000 ***************************************************************** 40430000 *** Get dispatcher statistics *** 40500000 ***************************************************************** 40570000 EXEC CICS COLLECT STATISTICS DISPATCHER 40640000 SET(ADDRESS OF DFHDSGDS) 40710000 END-EXEC. 40850000 40920000 ***************************************************************** 40930000 *** Print the headings for the Dispatcher statistics. *** 40940000 ***************************************************************** 40950000 40970000 MOVE '-' TO PRINT-CONTROL. 40990000 MOVE 'Dispatcher' TO PP1-10. 41060000 PERFORM WRITE-SPOOL. 41130000 MOVE '+' TO PRINT-CONTROL. 41200000 MOVE ALL '_' TO PP1-10. 41270000 PERFORM WRITE-SPOOL. 41340000 41410000 ***************************************************************** 41770000 *** Print the Dispatcher statistics *** 41780000 ***************************************************************** 41790000 41810000 MOVE '0' TO PRINT-CONTROL. 41814000 MOVE 'Dispatcher start time. . . :' TO PP3-30. 41818000 MOVE DSGSTART(1) TO CLOCK-FIELD. 41819000 PERFORM STOPWATCH-CONVERT. 41820000 MOVE STOPWATCH TO PP33-46. 41821000 PERFORM WRITE-SPOOL. 41822000 41826000 MOVE '0' TO PRINT-CONTROL. 41830000 MOVE 'Peak tasks . . . . . . . . :' TO PP3-30. 42530000 MOVE DSGPNT TO PP33-38. 42600000 PERFORM WRITE-SPOOL. 42670000 42740000 MOVE 'Current tasks. . . . . . . :' TO PP3-30. 42810000 MOVE DSGCNT TO PP33-38. 42880000 PERFORM WRITE-SPOOL. 42950000 43020000 MOVE '-' TO PRINT-CONTROL. 45260000 MOVE 'Current ICV time . . . . . :' TO PP3-30. 45470000 MOVE DSGICVT TO PP33-42. 45540000 MOVE 'ms' TO PP43-44. 45610000 PERFORM WRITE-SPOOL. 45680000 45750000 MOVE 'Current ICVR time. . . . . :' TO PP3-30. 45820000 MOVE ICVR-TIME TO PP33-42. 45890000 MOVE 'ms' TO PP43-44. 45960000 PERFORM WRITE-SPOOL. 46030000 46100000 MOVE 'Current ICVTSD time. . . . :' TO PP3-30. 46170000 MOVE DSGICVSD TO PP33-42. 46240000 MOVE 'ms' TO PP43-44. 46310000 PERFORM WRITE-SPOOL. 46380000 46450000 MOVE 'Current PRTYAGING time . . :' TO PP3-30. 46520000 MOVE PRIORITY-AGING TO PP33-42. 46590000 MOVE 'ms' TO PP43-44. 46660000 PERFORM WRITE-SPOOL. 46730000 46800000 MOVE '-' TO PRINT-CONTROL. 46810000 MOVE 'Number of active CICS TCBs :' TO PP3-30. 46811000 MOVE 1 TO SUB1. 46812000 PERFORM WITH TEST BEFORE 46813000 UNTIL SUB1 > DSGASIZE 46814000 IF DSGTCBAC(SUB1) THEN 46815000 ADD 1 TO NUMTCBS 46816000 END-IF 46817000 ADD 1 TO SUB1 46818000 END-PERFORM. 46819000 MOVE NUMTCBS TO PP33-38. 46820000 PERFORM WRITE-SPOOL. 46821000 46825000 PERFORM TCB-SUB-HEADINGS. 46829000 46833000 MOVE 1 TO SUB1. 46837000 PERFORM WITH TEST BEFORE 46841000 UNTIL SUB1 > DSGASIZE 46845000 IF DSGTCBAC(SUB1) THEN 46846000 MOVE DSGTCBNM(SUB1) TO PP3-10 46847000 MOVE ' Active ' TO PP13-20 46849200 46849300 MOVE DSGSTART(SUB1) TO CLOCK-FIELD 46849400 PERFORM STOPWATCH-CONVERT 46849500 MOVE STOPWATCH TO PP23-36 46849600 46849700 MOVE DSGSYSW(SUB1) TO PP39-48 46849800 46849900 MOVE DSGTWT(SUB1) TO CLOCK-FIELD 46850000 PERFORM STOPWATCH-CONVERT 46850100 MOVE STOPWATCH TO PP51-64 46850200 46850300 MOVE DSGTDT(SUB1) TO STCK-WORK-A 46850400 ADD STCK-WORK-NUM-A TO DSGTDT-TOTAL-NUM 46850600 MOVE DSGTDT(SUB1) TO CLOCK-FIELD 46850700 PERFORM STOPWATCH-CONVERT 46850800 MOVE STOPWATCH TO PP67-80 46850900 46851000 MOVE DSGACT(SUB1) TO STCK-WORK-A 46851100 ADD STCK-WORK-NUM-A TO DSGACT-TOTAL-NUM 46851200 MOVE DSGACT(SUB1) TO CLOCK-FIELD 46851300 PERFORM STOPWATCH-CONVERT 46851400 MOVE STOPWATCH TO PP83-96 46851500 46851600 MOVE DSGTCT(SUB1) TO STCK-WORK-A 46851700 ADD STCK-WORK-NUM-A TO DSGTCT-TOTAL-NUM 46851800 MOVE DSGTCT(SUB1) TO CLOCK-FIELD 46851900 PERFORM STOPWATCH-CONVERT 46852000 MOVE STOPWATCH TO PP99-112 46852200 PERFORM WRITE-SPOOL 46852500 END-IF 46852800 ADD 1 TO SUB1 46857000 END-PERFORM. 46861000 46861200 MOVE '+' TO PRINT-CONTROL. 46861400 MOVE ALL '_' TO PP3-112. 46861600 PERFORM WRITE-SPOOL. 46861800 MOVE 'Totals' TO PP3-8. 46862000 46862200 MOVE DSGTDT-TOTAL TO CLOCK-FIELD. 46863800 PERFORM STOPWATCH-CONVERT. 46864000 MOVE STOPWATCH TO PP67-80. 46864200 46864400 MOVE DSGACT-TOTAL TO CLOCK-FIELD. 46865300 PERFORM STOPWATCH-CONVERT. 46866200 MOVE STOPWATCH TO PP83-96. 46866400 46866600 MOVE DSGTCT-TOTAL TO CLOCK-FIELD. 46868200 PERFORM STOPWATCH-CONVERT. 46868400 MOVE STOPWATCH TO PP99-112. 46868600 46868900 PERFORM WRITE-SPOOL. 46869200 46869600 DISPATCHER-STATISTICS-EXIT. 46870000 EXIT. 46940000 EJECT 46944000 TCB-SUB-HEADINGS SECTION. 46948000 46952000 MOVE '-' TO PRINT-CONTROL. 46956000 PERFORM WRITE-SPOOL. 46960000 46965000 MOVE ' TCB TCB TCB ' TO PP3-37. 46966000 MOVE ' Op. System Op. System T' TO PP38-72. 46967000 MOVE 'CB TCB ' TO PP73-102. 46968000 MOVE 'DS TCB ' TO PP103-132. 46969000 PERFORM WRITE-SPOOL. 46970000 MOVE ' Name Status Start Time ' TO PP3-37. 46971000 MOVE ' Waits Wait Time Dispa' TO PP38-72. 46972000 MOVE 'tch Time CPU Time C' TO PP73-102. 46973000 MOVE 'PU Time ' TO PP103-132. 46974000 PERFORM WRITE-SPOOL. 46975000 MOVE '+' TO PRINT-CONTROL. 46980000 MOVE ALL '_' TO PP3-112. 46985000 PERFORM WRITE-SPOOL. 46990000 46995000 TCB-SUB-HEADINGS-EXIT. 47000000 EXIT. 47005000 EJECT 47010000 ***************************************************************** 47017000 *** STORAGE-STATISTICS SECTION *** 47024000 *** Get Storage Manager Domain Subpool statistics *** 47030000 *** Get Storage Manager DSA statistics *** 47048000 *** Get trace table size *** 47056000 *** Print heading and storage statistics *** 47064000 ***************************************************************** 47072000 47076000 STORAGE-STATISTICS SECTION. 47080000 47150000 ***************************************************************** 47200000 *** Get the Storage Manager Domain Subpool statistics. *** 47250000 ***************************************************************** 47300000 MOVE 1 TO SUB1. 47350000 47400000 PERFORM WITH TEST BEFORE 47450000 *** Following line changed by @BA18681C 47470000 UNTIL SUB1 > 16 47500000 47550000 EXEC CICS COLLECT STATISTICS 47600000 STORAGE(SM-SUBPOOL-NAME(SUB1)) 47650000 SET(ADDRESS OF DFHSMDDS) 47710000 RESP(COLLECT-RESP) 47770000 END-EXEC 47830000 47890000 EVALUATE COLLECT-RESP 47950000 WHEN DFHRESP(NORMAL) 48010000 MOVE SMDCPS TO SM-SUBPOOL-STG(SUB1) 48070000 WHEN OTHER 48130000 CONTINUE 48190000 END-EVALUATE 48250000 48310000 ADD 1 TO SUB1 48370000 END-PERFORM. 48430000 EJECT 48490000 ***************************************************************** 48550000 *** Get the Storage Manager DSA statistics and store the *** 48620000 *** sizes of the DSA's. *** 48650000 ***************************************************************** 48690000 EXEC CICS COLLECT STATISTICS STORAGE 48760000 SET(ADDRESS OF DFHSMSDS) 48830000 END-EXEC. 48970000 48980000 MOVE SMSDSASZ(1) TO CDSA-SIZE. 48990000 MOVE SMSDSASZ(2) TO UDSA-SIZE. 49000000 MOVE SMSDSASZ(3) TO SDSA-SIZE. 49003000 MOVE SMSDSASZ(4) TO RDSA-SIZE. 49006000 MOVE SMSDSASZ(5) TO ECDSA-SIZE. 49010000 MOVE SMSDSASZ(6) TO EUDSA-SIZE. 49020000 MOVE SMSDSASZ(7) TO ESDSA-SIZE. 49025000 MOVE SMSDSASZ(8) TO ERDSA-SIZE. 49030000 49040000 ***************************************************************** 49670000 ***************************************************************** 49750000 *** Print an analysis of Virtual Storage for the CICS Address *** 49752000 *** Space. The analysis is split into two pages, the first *** 49754000 *** dealing with MVS and CICS DSA storage for below the 16MB *** 49756000 *** and the second page dealing with MVS and CICS DSA storage *** 49758000 *** for above the 16MB line. *** 49760000 ***************************************************************** 49790000 ***************************************************************** 49792000 EJECT 49794000 ***************************************************************** 49796000 *** Print the Page headings for the storage analysis. *** 49798000 ***************************************************************** 49801000 PERFORM PAGE-HEADINGS. 49804000 49807000 ***************************************************************** 49807200 *** Region Size established from the JCL REGION= parameter. *** 49807400 ***************************************************************** 49807600 MOVE '0' TO PRINT-CONTROL. 49807800 MOVE 'Region size established from REGION= parameter. . . :' 49808000 TO PP3-55. 49808200 COMPUTE RESULT = (REGION-SIZE-ESTABLISHED * 2). 49808500 MOVE RESULT TO PP58-67. 49808800 MOVE 'K' TO PP68. 49809100 PERFORM WRITE-SPOOL. 49809400 49809700 MOVE '0' TO PRINT-CONTROL. 49810000 MOVE 'Storage BELOW 16MB' TO PP1-18. 49880000 PERFORM WRITE-SPOOL. 49950000 MOVE '+' TO PRINT-CONTROL. 50020000 MOVE ALL '_' TO PP1-18. 50090000 PERFORM WRITE-SPOOL. 50160000 50160500 ***************************************************************** 50161000 *** Analysis of the MVS Private Area Below 16Mb *** 50161500 ***************************************************************** 50162000 MOVE '0' TO PRINT-CONTROL. 50162500 MOVE 'Private Area Region size below 16Mb . . . . . . . . :' 50163000 TO PP3-55. 50163500 COMPUTE RESULT = (REGION-SIZE-BELOW / 1024). 50164000 MOVE RESULT TO PP58-67. 50164500 MOVE 'K' TO PP68. 50165000 PERFORM WRITE-SPOOL. 50165500 50166000 MOVE ' Max LSQA/SWA storage allocated below 16Mb (SYS) . :' 50170000 TO PP3-55. 50170500 COMPUTE RESULT ROUNDED = (ADSP-TCTHWM / 1024). 50171000 MOVE RESULT TO PP58-67. 50171500 MOVE 'K' TO PP68. 50172000 PERFORM WRITE-SPOOL. 50172500 50173000 MOVE ' Max User storage allocated below 16Mb (VIRT). . . :' 50173500 TO PP3-55. 50174000 COMPUTE RESULT = (ADSP-TCTLWM / 1024). 50174500 MOVE RESULT TO PP58-67. 50175000 MOVE 'K' TO PP68. 50175500 PERFORM WRITE-SPOOL. 50176000 50176500 MOVE ' System Use. . . . . . . . . . . . . . . . . . . . :' 50191500 TO PP3-55. 50192000 COMPUTE RESULT = (SYSTEM-STORAGE-BELOW / 1024). 50192500 MOVE RESULT TO PP58-67. 50193000 MOVE 'K' TO PP68. 50193500 PERFORM WRITE-SPOOL. 50194000 50194500 MOVE ' RTM . . . . . . . . . . . . . . . . . . . . . . . :' 50195000 TO PP3-55. 50195500 COMPUTE RESULT = (RTM-STORAGE-BELOW / 1024). 50196000 MOVE RESULT TO PP58-67. 50196500 MOVE 'K' TO PP68. 50197000 PERFORM WRITE-SPOOL. 50197500 50198000 MOVE '+' TO PRINT-CONTROL. 50198500 MOVE ALL '_' TO PP3-68. 50199000 PERFORM WRITE-SPOOL. 50199500 50200000 MOVE 'Private Area storage available below 16Mb . . . . . :' 50200500 TO PP3-55. 50201000 COMPUTE RESULT = ((REGION-SIZE-BELOW / 1024) - 50201500 ((ADSP-TCTHWM / 1024) + 50202000 (ADSP-TCTLWM / 1024) + 50202500 (RTM-STORAGE-BELOW / 1024) + 50203000 (SYSTEM-STORAGE-BELOW / 1024))). 50203500 MOVE RESULT TO PP58-67. 50204000 MOVE 'K' TO PP68. 50204500 PERFORM WRITE-SPOOL. 50205000 50207000 MOVE 'Current DSA Limit . . . . . . :' TO PP75-105. 50209000 COMPUTE RESULT ROUNDED = (SMSDSALIMIT / 1024). 50211000 MOVE RESULT TO PP108-117. 50214000 MOVE 'K' TO PP118. 50217000 PERFORM WRITE-SPOOL. 50220000 50223000 MOVE 'Current Allocation for DSAs . :' TO PP75-105. 50226000 COMPUTE RESULT ROUNDED = (SMSDSATOTAL / 1024). 50229000 MOVE RESULT TO PP108-117. 50232000 MOVE 'K' TO PP118. 50235000 PERFORM WRITE-SPOOL. 50238000 50241000 MOVE 'VIRT minus Current DSA Limit. . . . . . . . . . . . :' 50244000 TO PP3-55. 50247000 COMPUTE RESULT = 50250000 ((ADSP-TCTLWM / 1024 ) - (SMSDSALIMIT / 1024)). 50253000 MOVE RESULT TO PP58-67. 50256000 MOVE 'K' TO PP68. 50259000 MOVE 'Peak Allocation for DSAs. . . :' TO PP75-105. 50262000 COMPUTE RESULT ROUNDED = (SMSHWMDSATOTAL / 1024). 50265000 MOVE RESULT TO PP108-117. 50268000 MOVE 'K' TO PP118. 50271000 PERFORM WRITE-SPOOL. 50274000 50277000 ***************************************************************** 50280000 *** Print the CICS DSA storage statistics for below the 16MB *** 50283000 *** line, calculating various fields as required. *** 50286000 ***************************************************************** 50289000 MOVE '-' TO PRINT-CONTROL. 50292000 MOVE ' CDSA UDSA SDSA 50300000 - ' RDSA Totals ' TO PP36-118. 50330000 PERFORM WRITE-SPOOL. 50370000 MOVE '+' TO PRINT-CONTROL. 50440000 MOVE ALL '_' TO PP36-118. 50480000 PERFORM WRITE-SPOOL. 50580000 50700000 MOVE ' ' TO PRINT-CONTROL. 50720000 MOVE 'Current DSA Size. . . . . . . :' TO PP3-33. 50790000 COMPUTE RESULT ROUNDED = (SMSDSASZ(1) / 1024). 50860000 MOVE RESULT TO PP40-49. 50930000 MOVE 'K' TO PP50. 51000000 COMPUTE RESULT ROUNDED = (SMSDSASZ(2) / 1024). 51070000 MOVE RESULT TO PP57-66. 51140000 MOVE 'K' TO PP67. 51210000 COMPUTE RESULT ROUNDED = (SMSDSASZ(3) / 1024). 51270000 MOVE RESULT TO PP74-83. 51330000 MOVE 'K' TO PP84. 51390000 COMPUTE RESULT ROUNDED = (SMSDSASZ(4) / 1024). 51450000 MOVE RESULT TO PP91-100. 51510000 MOVE 'K' TO PP101. 51570000 51575000 COMPUTE DSA-SIZE ROUNDED = ((CDSA-SIZE + 51580000 UDSA-SIZE + SDSA-SIZE + RDSA-SIZE) / 1024). 51590000 MOVE DSA-SIZE TO PP108-117. 51610000 MOVE 'K' TO PP118. 51620000 PERFORM WRITE-SPOOL. 51630000 51700000 MOVE 'Current DSA Used. . . . . . . :' TO PP3-33. 51770000 COMPUTE RESULT ROUNDED = 51840000 ((SMSDSASZ(1) - SMSFSTG(1)) / 1024). 51910000 MOVE RESULT TO DSA-USED. 51940000 MOVE RESULT TO PP40-49. 51980000 MOVE 'K' TO PP50. 52050000 COMPUTE RESULT ROUNDED = 52120000 ((SMSDSASZ(2) - SMSFSTG(2)) / 1024). 52190000 ADD RESULT TO DSA-USED. 52220000 MOVE RESULT TO PP57-66. 52260000 MOVE 'K' TO PP67. 52330000 COMPUTE RESULT ROUNDED = 52370000 ((SMSDSASZ(3) - SMSFSTG(3)) / 1024). 52410000 ADD RESULT TO DSA-USED. 52430000 MOVE RESULT TO PP74-83. 52450000 MOVE 'K' TO PP84. 52500000 COMPUTE RESULT ROUNDED = 52550000 ((SMSDSASZ(4) - SMSFSTG(4)) / 1024). 52600000 ADD RESULT TO DSA-USED. 52620000 MOVE RESULT TO PP91-100. 52650000 MOVE 'K' TO PP101. 52700000 52705000 MOVE DSA-USED TO PP108-117. 52710000 MOVE 'K' TO PP118. 52730000 PERFORM WRITE-SPOOL. 52750000 52820000 MOVE 'Current DSA Used as % of DSA. :' TO PP3-33. 52890000 IF SMSDSASZ(1) > 0 THEN 52920000 COMPUTE PERCENTAGE-WORK ROUNDED = 52960000 ((SMSDSASZ(1) - SMSFSTG(1)) / SMSDSASZ(1)) 53030000 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 53100000 ELSE 53110000 MOVE 0 TO PERCENTAGE 53130000 END-IF. 53150000 MOVE PERCENTAGE TO PP40-49. 53170000 MOVE '%' TO PP50. 53240000 IF SMSDSASZ(2) > 0 THEN 53270000 COMPUTE PERCENTAGE-WORK ROUNDED = 53310000 ((SMSDSASZ(2) - SMSFSTG(2)) / SMSDSASZ(2)) 53380000 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 53450000 ELSE 53460000 MOVE 0 TO PERCENTAGE 53480000 END-IF. 53500000 MOVE PERCENTAGE TO PP57-66. 53520000 MOVE '%' TO PP67. 53590000 IF SMSDSASZ(3) > 0 THEN 53600000 COMPUTE PERCENTAGE-WORK ROUNDED = 53620000 ((SMSDSASZ(3) - SMSFSTG(3)) / SMSDSASZ(3)) 53650000 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 53690000 ELSE 53700000 MOVE 0 TO PERCENTAGE 53710000 END-IF. 53720000 MOVE PERCENTAGE TO PP74-83. 53730000 MOVE '%' TO PP84. 53770000 IF SMSDSASZ(4) > 0 THEN 53790000 COMPUTE PERCENTAGE-WORK ROUNDED = 53810000 ((SMSDSASZ(4) - SMSFSTG(4)) / SMSDSASZ(4)) 53850000 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 53890000 ELSE 53900000 MOVE 0 TO PERCENTAGE 53910000 END-IF. 53920000 MOVE PERCENTAGE TO PP91-100. 53930000 MOVE '%' TO PP101. 53970000 53975000 COMPUTE DSA-FREE = ((SMSFSTG(1) + SMSFSTG(2) + 53975800 SMSFSTG(3) + SMSFSTG(4)) / 1024). 53976600 IF DSA-SIZE > 0 THEN 53977000 COMPUTE PERCENTAGE-WORK ROUNDED = 53977400 ((DSA-SIZE - DSA-FREE) / DSA-SIZE) 53978200 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 53979100 ELSE 53979300 MOVE 0 TO PERCENTAGE 53979500 END-IF. 53979700 MOVE PERCENTAGE TO PP108-117. 53980000 MOVE '%' TO PP118. 53990000 MOVE 'of DSA Size ' TO PP120-132. 54000000 PERFORM WRITE-SPOOL. 54010000 54080000 MOVE '*' TO PP1. 54083000 MOVE 'Peak DSA Used . . . . . . . . :' TO PP3-33. 54087000 COMPUTE RESULT ROUNDED = 54091000 ((SMSDSASZ(1) - SMSLWMFSTG(1)) / 1024). 54096000 MOVE RESULT TO PP40-49. 54101000 MOVE 'K' TO PP50. 54108000 COMPUTE RESULT ROUNDED = 54112000 ((SMSDSASZ(2) - SMSLWMFSTG(2)) / 1024). 54117000 MOVE RESULT TO PP57-66. 54122000 MOVE 'K' TO PP67. 54129000 COMPUTE RESULT ROUNDED = 54129600 ((SMSDSASZ(3) - SMSLWMFSTG(3)) / 1024). 54130300 MOVE RESULT TO PP74-83. 54131000 MOVE 'K' TO PP84. 54132000 COMPUTE RESULT ROUNDED = 54132600 ((SMSDSASZ(4) - SMSLWMFSTG(4)) / 1024). 54133300 MOVE RESULT TO PP91-100. 54134000 MOVE 'K' TO PP101. 54135000 PERFORM WRITE-SPOOL. 54136000 54143000 MOVE 'Peak DSA Size . . . . . . . . :' TO PP3-33. 54143400 COMPUTE RESULT ROUNDED = (SMSHWMDSASZ(1) / 1024). 54143800 MOVE RESULT TO PP40-49. 54144200 MOVE 'K' TO PP50. 54144600 COMPUTE RESULT ROUNDED = (SMSHWMDSASZ(2) / 1024). 54145000 MOVE RESULT TO PP57-66. 54145400 MOVE 'K' TO PP67. 54145800 COMPUTE RESULT ROUNDED = (SMSHWMDSASZ(3) / 1024). 54146200 MOVE RESULT TO PP74-83. 54146600 MOVE 'K' TO PP84. 54147000 COMPUTE RESULT ROUNDED = (SMSHWMDSASZ(4) / 1024). 54147500 MOVE RESULT TO PP91-100. 54148000 MOVE 'K' TO PP101. 54148500 PERFORM WRITE-SPOOL. 54149000 54149500 MOVE 'Cushion Size. . . . . . . . . :' TO PP3-33. 54150000 COMPUTE RESULT ROUNDED = (SMSCSIZE(1) / 1024). 54220000 MOVE RESULT TO PP40-49. 54290000 MOVE 'K' TO PP50. 54360000 COMPUTE RESULT ROUNDED = (SMSCSIZE(2) / 1024). 54430000 MOVE RESULT TO PP57-66. 54500000 MOVE 'K' TO PP67. 54570000 COMPUTE RESULT ROUNDED = (SMSCSIZE(3) / 1024). 54630000 MOVE RESULT TO PP74-83. 54690000 MOVE 'K' TO PP84. 54750000 COMPUTE RESULT ROUNDED = (SMSCSIZE(4) / 1024). 54810000 MOVE RESULT TO PP91-100. 54870000 MOVE 'K' TO PP101. 54930000 PERFORM WRITE-SPOOL. 54990000 55060000 MOVE 'Free Storage (inc. Cushion) . :' TO PP3-33. 55130000 COMPUTE RESULT ROUNDED = (SMSFSTG(1) / 1024). 55200000 MOVE RESULT TO PP40-49. 55270000 MOVE 'K' TO PP50. 55340000 COMPUTE RESULT ROUNDED = (SMSFSTG(2) / 1024). 55410000 MOVE RESULT TO PP57-66. 55480000 MOVE 'K' TO PP67. 55550000 COMPUTE RESULT ROUNDED = (SMSFSTG(3) / 1024). 55610000 MOVE RESULT TO PP74-83. 55670000 MOVE 'K' TO PP84. 55730000 COMPUTE RESULT ROUNDED = (SMSFSTG(4) / 1024). 55790000 MOVE RESULT TO PP91-100. 55850000 MOVE 'K' TO PP101. 55910000 PERFORM WRITE-SPOOL. 55970000 56040000 MOVE '*' TO PP1. 56040500 MOVE 'Peak Free Storage . . . . . . :' TO PP3-33. 56041000 COMPUTE RESULT ROUNDED = (SMSHWMFSTG(1) / 1024). 56041500 MOVE RESULT TO PP40-49. 56042000 MOVE 'K' TO PP50. 56043000 COMPUTE RESULT ROUNDED = (SMSHWMFSTG(2) / 1024). 56043500 MOVE RESULT TO PP57-66. 56044000 MOVE 'K' TO PP67. 56045000 COMPUTE RESULT ROUNDED = (SMSHWMFSTG(3) / 1024). 56045500 MOVE RESULT TO PP74-83. 56046000 MOVE 'K' TO PP84. 56047000 COMPUTE RESULT ROUNDED = (SMSHWMFSTG(4) / 1024). 56047500 MOVE RESULT TO PP91-100. 56048000 MOVE 'K' TO PP101. 56049000 PERFORM WRITE-SPOOL. 56050000 56060000 MOVE '*' TO PP1. 56060500 MOVE 'Lowest Free Storage . . . . . :' TO PP3-33. 56061000 COMPUTE RESULT ROUNDED = (SMSLWMFSTG(1) / 1024). 56061500 MOVE RESULT TO PP40-49. 56062000 MOVE 'K' TO PP50. 56063000 COMPUTE RESULT ROUNDED = (SMSLWMFSTG(2) / 1024). 56063500 MOVE RESULT TO PP57-66. 56064000 MOVE 'K' TO PP67. 56065000 COMPUTE RESULT ROUNDED = (SMSLWMFSTG(3) / 1024). 56065500 MOVE RESULT TO PP74-83. 56066000 MOVE 'K' TO PP84. 56067000 COMPUTE RESULT ROUNDED = (SMSLWMFSTG(4) / 1024). 56067500 MOVE RESULT TO PP91-100. 56068000 MOVE 'K' TO PP101. 56069000 PERFORM WRITE-SPOOL. 56070000 56090000 MOVE 'Largest Free Area . . . . . . :' TO PP3-33. 56110000 COMPUTE RESULT ROUNDED = (SMSLFA(1) / 1024). 56180000 MOVE RESULT TO PP40-49. 56250000 MOVE 'K' TO PP50. 56320000 COMPUTE RESULT ROUNDED = (SMSLFA(2) / 1024). 56390000 MOVE RESULT TO PP57-66. 56460000 MOVE 'K' TO PP67. 56530000 COMPUTE RESULT ROUNDED = (SMSLFA(3) / 1024). 56580000 MOVE RESULT TO PP74-83. 56630000 MOVE 'K' TO PP84. 56680000 COMPUTE RESULT ROUNDED = (SMSLFA(4) / 1024). 56730000 MOVE RESULT TO PP91-100. 56780000 MOVE 'K' TO PP101. 56830000 PERFORM WRITE-SPOOL. 56880000 56950000 MOVE 'Largest Free Area as % of DSA :' TO PP3-33. 57085000 IF SMSDSASZ(1) > 0 THEN 57087000 COMPUTE PERCENTAGE-WORK ROUNDED = 57090000 (SMSLFA(1) / SMSDSASZ(1)) 57160000 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 57230000 ELSE 57240000 MOVE 0 TO PERCENTAGE 57260000 END-IF. 57280000 MOVE PERCENTAGE TO PP40-49. 57300000 MOVE '%' TO PP50. 57370000 IF SMSDSASZ(2) > 0 THEN 57400000 COMPUTE PERCENTAGE-WORK ROUNDED = 57440000 (SMSLFA(2) / SMSDSASZ(2)) 57510000 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 57580000 ELSE 57590000 MOVE 0 TO PERCENTAGE 57610000 END-IF. 57630000 MOVE PERCENTAGE TO PP57-66. 57650000 MOVE '%' TO PP67. 57720000 IF SMSDSASZ(3) > 0 THEN 57740000 COMPUTE PERCENTAGE-WORK ROUNDED = 57760000 (SMSLFA(3) / SMSDSASZ(3)) 57800000 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 57840000 ELSE 57850000 MOVE 0 TO PERCENTAGE 57860000 END-IF. 57870000 MOVE PERCENTAGE TO PP74-83. 57880000 MOVE '%' TO PP84. 57920000 IF SMSDSASZ(4) > 0 THEN 57940000 COMPUTE PERCENTAGE-WORK ROUNDED = 57960000 (SMSLFA(4) / SMSDSASZ(4)) 58010000 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 58060000 ELSE 58070000 MOVE 0 TO PERCENTAGE 58080000 END-IF. 58090000 MOVE PERCENTAGE TO PP91-100. 58110000 MOVE '%' TO PP101. 58160000 PERFORM WRITE-SPOOL. 58210000 58980000 MOVE 'Largest Free/Free Storage . . :' TO PP3-33. 58982000 IF SMSFSTG(1) > 0 THEN 58983000 COMPUTE FREE-STORAGE-FACTOR = (SMSLFA(1) / SMSFSTG(1)) 58984000 ELSE 58984500 MOVE 0 TO FREE-STORAGE-FACTOR 58985000 END-IF. 58985500 MOVE FREE-STORAGE-FACTOR TO PP44-49. 58986000 IF SMSFSTG(2) > 0 THEN 58987000 COMPUTE FREE-STORAGE-FACTOR = (SMSLFA(2) / SMSFSTG(2)) 58988000 ELSE 58988500 MOVE 0 TO FREE-STORAGE-FACTOR 58989000 END-IF. 58989500 MOVE FREE-STORAGE-FACTOR TO PP61-66. 58990000 IF SMSFSTG(3) > 0 THEN 58991000 COMPUTE FREE-STORAGE-FACTOR = (SMSLFA(3) / SMSFSTG(3)) 58992000 ELSE 58992700 MOVE 0 TO FREE-STORAGE-FACTOR 58993400 END-IF. 58994200 MOVE FREE-STORAGE-FACTOR TO PP78-83. 58995000 IF SMSFSTG(4) > 0 THEN 58996000 COMPUTE FREE-STORAGE-FACTOR = (SMSLFA(4) / SMSFSTG(4)) 58998000 ELSE 58998700 MOVE 0 TO FREE-STORAGE-FACTOR 58999400 END-IF. 59000200 MOVE FREE-STORAGE-FACTOR TO PP95-100. 59001000 PERFORM WRITE-SPOOL. 59004000 59004200 MOVE '0' TO PRINT-CONTROL. 59004400 MOVE 'Current number of extents . . :' TO PP3-33. 59004600 MOVE SMSEXTS(1) TO PP40-49. 59004800 MOVE SMSEXTS(2) TO PP57-66. 59005000 MOVE SMSEXTS(3) TO PP74-83. 59005200 MOVE SMSEXTS(4) TO PP91-100. 59005400 COMPUTE RESULT = (SMSEXTS(1) + SMSEXTS(2) + 59005600 SMSEXTS(3) + SMSEXTS(4)). 59005900 MOVE RESULT TO PP108-117. 59006200 PERFORM WRITE-SPOOL. 59006500 59006800 MOVE 'Number of extents added . . . :' TO PP3-33. 59007100 MOVE SMSEXTSA(1) TO PP40-49. 59007400 MOVE SMSEXTSA(2) TO PP57-66. 59007700 MOVE SMSEXTSA(3) TO PP74-83. 59008000 MOVE SMSEXTSA(4) TO PP91-100. 59008300 PERFORM WRITE-SPOOL. 59008400 59008500 MOVE 'Number of extents released. . :' TO PP3-33. 59008700 MOVE SMSEXTSR(1) TO PP40-49. 59008800 MOVE SMSEXTSR(2) TO PP57-66. 59009000 MOVE SMSEXTSR(3) TO PP74-83. 59009200 MOVE SMSEXTSR(4) TO PP91-100. 59009400 PERFORM WRITE-SPOOL. 59009600 59009800 MOVE '0' TO PRINT-CONTROL. 59010000 MOVE 'Getmain Requests. . . . . . . :' TO PP3-33. 59050000 MOVE SMSGMREQ(1) TO PP40-49. 59120000 MOVE SMSGMREQ(2) TO PP57-66. 59190000 MOVE SMSGMREQ(3) TO PP74-83. 59400000 MOVE SMSGMREQ(4) TO PP91-100. 59600000 PERFORM WRITE-SPOOL. 59890000 59960000 MOVE 'Freemain Requests . . . . . . :' TO PP3-33. 60030000 MOVE SMSFMREQ(1) TO PP40-49. 60100000 MOVE SMSFMREQ(2) TO PP57-66. 60170000 MOVE SMSFMREQ(3) TO PP74-83. 60190000 MOVE SMSFMREQ(4) TO PP91-100. 60210000 PERFORM WRITE-SPOOL. 60240000 60310000 MOVE '0' TO PRINT-CONTROL. 60600000 MOVE 'Current number of Subpools. . :' TO PP3-33. 60870000 MOVE SMSCSUBP(1) TO PP40-49. 60940000 MOVE SMSCSUBP(2) TO PP57-66. 61010000 MOVE SMSCSUBP(3) TO PP74-83. 61100000 MOVE SMSCSUBP(4) TO PP91-100. 61200000 COMPUTE RESULT = (SMSCSUBP(1) + SMSCSUBP(2) + 61240000 SMSCSUBP(3) + SMSCSUBP(4)). 61280000 MOVE RESULT TO PP108-117. 61320000 PERFORM WRITE-SPOOL. 61370000 61470000 MOVE 'Add Subpool Requests. . . . . :' TO PP3-33. 61570000 MOVE SMSASR(1) TO PP40-49. 61640000 MOVE SMSASR(2) TO PP57-66. 61710000 MOVE SMSASR(3) TO PP74-83. 61900000 MOVE SMSASR(4) TO PP91-100. 62000000 PERFORM WRITE-SPOOL. 62130000 62200000 MOVE 'Delete Subpool Requests . . . :' TO PP3-33. 62270000 MOVE SMSDSR(1) TO PP40-49. 62340000 MOVE SMSDSR(2) TO PP57-66. 62410000 MOVE SMSDSR(3) TO PP74-83. 62500000 MOVE SMSDSR(4) TO PP91-100. 62600000 PERFORM WRITE-SPOOL. 62760000 62830000 MOVE '0' TO PRINT-CONTROL. 63100000 MOVE 'Times no storage returned . . :' TO PP3-33. 63320000 MOVE SMSCRISS(1) TO PP40-49. 63390000 MOVE SMSCRISS(2) TO PP57-66. 63460000 MOVE SMSCRISS(3) TO PP74-83. 63600000 MOVE SMSCRISS(4) TO PP91-100. 63800000 PERFORM WRITE-SPOOL. 64020000 64090000 MOVE 'Times request suspended . . . :' TO PP3-33. 64440000 MOVE SMSUCSS(1) TO PP40-49. 64510000 MOVE SMSUCSS(2) TO PP57-66. 64580000 MOVE SMSUCSS(3) TO PP74-83. 64700000 MOVE SMSUCSS(4) TO PP91-100. 64800000 PERFORM WRITE-SPOOL. 65070000 65140000 MOVE 'Current requests suspended. . :' TO PP3-33. 65210000 MOVE SMSCSS(1) TO PP40-49. 65280000 MOVE SMSCSS(2) TO PP57-66. 65350000 MOVE SMSCSS(3) TO PP74-83. 65370000 MOVE SMSCSS(4) TO PP91-100. 65390000 PERFORM WRITE-SPOOL. 65420000 65490000 MOVE 'Peak requests suspended . . . :' TO PP3-33. 65560000 MOVE SMSHWMSS(1) TO PP40-49. 65630000 MOVE SMSHWMSS(2) TO PP57-66. 65720000 MOVE SMSHWMSS(3) TO PP74-83. 65900000 MOVE SMSHWMSS(4) TO PP91-100. 66000000 PERFORM WRITE-SPOOL. 66120000 66150000 MOVE 'Requests purged while waiting :' TO PP3-33. 66190000 MOVE SMSPWWS(1) TO PP40-49. 66260000 MOVE SMSPWWS(2) TO PP57-66. 66330000 MOVE SMSPWWS(3) TO PP74-83. 66500000 MOVE SMSPWWS(4) TO PP91-100. 66600000 PERFORM WRITE-SPOOL. 66820000 67000000 MOVE '0' TO PRINT-CONTROL. 67100000 MOVE 'Times Cushion released. . . . :' TO PP3-33. 67380000 MOVE SMSCREL(1) TO PP40-49. 67450000 MOVE SMSCREL(2) TO PP57-66. 67520000 MOVE SMSCREL(3) TO PP74-83. 67700000 MOVE SMSCREL(4) TO PP91-100. 67800000 PERFORM WRITE-SPOOL. 67940000 68010000 MOVE 'Times Short-On-Storage. . . . :' TO PP3-33. 68080000 MOVE SMSSOS(1) TO PP40-49. 68150000 MOVE SMSSOS(2) TO PP57-66. 68220000 MOVE SMSSOS(3) TO PP74-83. 68400000 MOVE SMSSOS(4) TO PP91-100. 68500000 PERFORM WRITE-SPOOL. 68640000 68710000 MOVE 'Total time Short-On-Storage . :' TO PP3-33. 68780000 MOVE SMSTSOS(1) TO CLOCK-FIELD. 68850000 PERFORM STOPWATCH-CONVERT. 68920000 MOVE STOPWATCH TO PP36-49. 69060000 MOVE SMSTSOS(2) TO CLOCK-FIELD. 69130000 PERFORM STOPWATCH-CONVERT. 69200000 MOVE STOPWATCH TO PP53-66. 69270000 MOVE SMSTSOS(3) TO CLOCK-FIELD. 69330000 PERFORM STOPWATCH-CONVERT. 69390000 MOVE STOPWATCH TO PP70-83. 69450000 MOVE SMSTSOS(4) TO CLOCK-FIELD. 69510000 PERFORM STOPWATCH-CONVERT. 69570000 MOVE STOPWATCH TO PP87-100. 69630000 PERFORM WRITE-SPOOL. 69690000 69760000 MOVE 'Average Short-On-Storage time :' TO PP3-33. 69830000 IF SMSSOS(1) > 0 THEN 69900000 MOVE SMSTSOS(1) TO CLOCK-FIELD 69930000 COMPUTE CLOCK-FIELD-S = (CLOCK-FIELD-S / SMSSOS(1)) 69970000 ELSE 70040000 MOVE 0 TO CLOCK-FIELD-S 70110000 END-IF. 70180000 PERFORM STOPWATCH-CONVERT. 70250000 MOVE STOPWATCH TO PP36-49. 70320000 IF SMSSOS(2) > 0 THEN 70390000 MOVE SMSTSOS(2) TO CLOCK-FIELD 70420000 COMPUTE CLOCK-FIELD-S = (CLOCK-FIELD-S / SMSSOS(2)) 70460000 ELSE 70530000 MOVE 0 TO CLOCK-FIELD-S 70600000 END-IF. 70670000 PERFORM STOPWATCH-CONVERT. 70740000 MOVE STOPWATCH TO PP53-66. 70747000 IF SMSSOS(3) > 0 THEN 70754000 MOVE SMSTSOS(3) TO CLOCK-FIELD 70761000 COMPUTE CLOCK-FIELD-S = (CLOCK-FIELD-S / SMSSOS(3)) 70768000 ELSE 70776000 MOVE 0 TO CLOCK-FIELD-S 70784000 END-IF. 70792000 PERFORM STOPWATCH-CONVERT. 70800000 MOVE STOPWATCH TO PP70-83. 70808000 IF SMSSOS(4) > 0 THEN 70816000 MOVE SMSTSOS(4) TO CLOCK-FIELD 70824000 COMPUTE CLOCK-FIELD-S = (CLOCK-FIELD-S / SMSSOS(4)) 70832000 ELSE 70840000 MOVE 0 TO CLOCK-FIELD-S 70848000 END-IF. 70856000 PERFORM STOPWATCH-CONVERT. 70864000 MOVE STOPWATCH TO PP87-100. 70872000 PERFORM WRITE-SPOOL. 70880000 70950000 MOVE '0' TO PRINT-CONTROL. 71020000 MOVE 'Storage Violations. . . . . . :' TO PP3-33. 71090000 MOVE SMSSV(1) TO PP40-49. 71160000 MOVE SMSSV(2) TO PP57-66. 71230000 MOVE SMSSV(3) TO PP74-83. 71250000 MOVE SMSSV(4) TO PP91-100. 71270000 COMPUTE RESULT = (SMSSV(1) + SMSSV(2) + 71277000 SMSSV(3) + SMSSV(4)). 71284000 MOVE RESULT TO PP108-117. 71292000 PERFORM WRITE-SPOOL. 71300000 71310000 MOVE '0' TO PRINT-CONTROL. 71320000 MOVE 'Access. . . . . . . . . . . . :' TO PP3-33. 71330000 EVALUATE TRUE 71330600 WHEN SMSCICS(1) 71331200 MOVE ' CICS' TO PP42-49 71331800 WHEN SMSUSER(1) 71332400 MOVE ' USER' TO PP42-49 71333000 WHEN SMSREADONLY(1) 71333600 MOVE 'READONLY' TO PP42-49 71334200 END-EVALUATE. 71334800 EVALUATE TRUE 71335400 WHEN SMSCICS(2) 71336000 MOVE ' CICS' TO PP59-66 71336600 WHEN SMSUSER(2) 71337200 MOVE ' USER' TO PP59-66 71337800 WHEN SMSREADONLY(2) 71338400 MOVE 'READONLY' TO PP59-66 71339000 END-EVALUATE. 71339600 EVALUATE TRUE 71340200 WHEN SMSCICS(3) 71340800 MOVE ' CICS' TO PP76-83 71341400 WHEN SMSUSER(3) 71342000 MOVE ' USER' TO PP76-83 71342600 WHEN SMSREADONLY(3) 71343200 MOVE 'READONLY' TO PP76-83 71343800 END-EVALUATE. 71344400 EVALUATE TRUE 71345000 WHEN SMSCICS(4) 71345600 MOVE ' CICS' TO PP93-100 71346200 WHEN SMSUSER(4) 71346800 MOVE ' USER' TO PP93-100 71347400 WHEN SMSREADONLY(4) 71348000 MOVE 'READONLY' TO PP93-100 71348600 END-EVALUATE. 71349300 PERFORM WRITE-SPOOL. 71350000 71353000 MOVE '0' TO PRINT-CONTROL. 71356000 MOVE '''*'' indicates values reset on last DSA Size change' 71359000 TO PP3-52. 71362000 PERFORM WRITE-SPOOL. 71366000 EJECT 71370000 ***************************************************************** 71380000 *** Print the Page headings for the storage analysis. *** 71390000 ***************************************************************** 71400000 PERFORM PAGE-HEADINGS. 71410000 71420000 MOVE '-' TO PRINT-CONTROL. 71430000 MOVE 'Storage ABOVE 16MB' TO PP1-18. 71440000 PERFORM WRITE-SPOOL. 71450000 MOVE '+' TO PRINT-CONTROL. 71460000 MOVE ALL '_' TO PP1-18. 71470000 PERFORM WRITE-SPOOL. 71490000 71510000 ***************************************************************** 71533200 *** Analysis of the Private Area Above 16Mb *** 71533500 ***************************************************************** 71533800 MOVE '0' TO PRINT-CONTROL. 71534400 MOVE 'Private Area Region size above 16Mb . . . . . . . . :' 71534700 TO PP3-55. 71535000 COMPUTE RESULT = (REGION-SIZE-ABOVE / 1024). 71535300 MOVE RESULT TO PP58-67. 71535600 MOVE 'K' TO PP68. 71535900 PERFORM WRITE-SPOOL. 71536200 71536500 MOVE ' Max LSQA/SWA storage allocated above 16Mb (SYS) . :' 71536800 TO PP3-55. 71537100 COMPUTE RESULT = (ADSP-TCTEHWM / 1024). 71537400 MOVE RESULT TO PP58-67. 71537700 MOVE 'K' TO PP68. 71538000 PERFORM WRITE-SPOOL. 71538300 71538600 MOVE ' Max User storage allocated above 16Mb (EXT) . . . :' 71538900 TO PP3-55. 71539200 COMPUTE RESULT = (ADSP-TCTELWM / 1024). 71539500 MOVE RESULT TO PP58-67. 71539800 MOVE 'K' TO PP68. 71540100 PERFORM WRITE-SPOOL. 71540400 71548800 MOVE '+' TO PRINT-CONTROL. 71553600 MOVE ALL '_' TO PP3-68. 71553900 PERFORM WRITE-SPOOL. 71554200 71554500 MOVE 'Private Area storage available above 16Mb . . . . . :' 71554800 TO PP3-55. 71555100 COMPUTE RESULT = ((REGION-SIZE-ABOVE / 1024) - 71555400 ((ADSP-TCTEHWM / 1024) + (ADSP-TCTELWM / 1024))). 71555700 MOVE RESULT TO PP58-67. 71556000 MOVE 'K' TO PP68. 71556300 PERFORM WRITE-SPOOL. 71556600 71556700 MOVE 'Current EDSA Limit. . . . . . :' TO PP75-105. 71556800 COMPUTE RESULT = (SMSEDSALIMIT / 1024). 71556900 MOVE RESULT TO PP108-117. 71557000 MOVE 'K' TO PP118. 71557100 PERFORM WRITE-SPOOL. 71557200 71557300 MOVE 'CICS Trace table size . . . . . . . . . . . . . . . :' 71557400 TO PP3-55. 71557500 MOVE TRACE-TABLE-SIZE TO PP58-67. 71557600 MOVE 'K' TO PP68. 71557700 MOVE 'Current Allocation for EDSAs. :' TO PP75-105. 71557800 COMPUTE RESULT = (SMSEDSATOTAL / 1024). 71558000 MOVE RESULT TO PP108-117. 71558200 MOVE 'K' TO PP118. 71558400 PERFORM WRITE-SPOOL. 71558600 71558800 MOVE 'EXT minus Current EDSA Limit. . . . . . . . . . . . :' 71559000 TO PP3-55. 71559200 COMPUTE RESULT = 71559400 ((ADSP-TCTELWM / 1024) - (SMSEDSALIMIT / 1024)). 71559600 MOVE RESULT TO PP58-67. 71559800 MOVE 'K' TO PP68. 71560000 MOVE 'Peak Allocation for EDSAs . . :' TO PP75-105. 71560200 COMPUTE RESULT = (SMSHWMEDSATOTAL / 1024). 71560400 MOVE RESULT TO PP108-117. 71560600 MOVE 'K' TO PP118. 71560800 PERFORM WRITE-SPOOL. 71561000 71561200 ***************************************************************** 71561400 *** Print the CICS DSA storage statistics for above the 16MB *** 71561600 *** line, calculating various fields as required. *** 71561800 ***************************************************************** 71562000 MOVE '-' TO PRINT-CONTROL. 71562200 MOVE ' ECDSA EUDSA ESDSA 71562400 - ' ERDSA Totals ' TO PP36-118. 71562600 PERFORM WRITE-SPOOL. 71563000 MOVE '+' TO PRINT-CONTROL. 71563400 MOVE ALL '_' TO PP36-118. 71563800 PERFORM WRITE-SPOOL. 71564600 71565000 MOVE ' ' TO PRINT-CONTROL. 71565400 MOVE 'Current DSA Size. . . . . . . :' TO PP3-33. 71565800 COMPUTE RESULT = (SMSDSASZ(5) / 1024). 71566200 MOVE RESULT TO PP40-49. 71566600 MOVE 'K' TO PP50. 71567000 COMPUTE RESULT = (SMSDSASZ(6) / 1024). 71567400 MOVE RESULT TO PP57-66. 71567800 MOVE 'K' TO PP67. 71568200 COMPUTE RESULT = (SMSDSASZ(7) / 1024). 71568600 MOVE RESULT TO PP74-83. 71569000 MOVE 'K' TO PP84. 71569400 COMPUTE RESULT = (SMSDSASZ(8) / 1024). 71569800 MOVE RESULT TO PP91-100. 71570200 MOVE 'K' TO PP101. 71570600 71570700 COMPUTE DSA-SIZE = ((ECDSA-SIZE + 71570800 EUDSA-SIZE + ESDSA-SIZE + ERDSA-SIZE) / 1024). 71570900 MOVE DSA-SIZE TO PP108-117. 71571000 MOVE 'K' TO PP118. 71571100 PERFORM WRITE-SPOOL. 71571200 71571300 MOVE 'Current DSA Used. . . . . . . :' TO PP3-33. 71571400 COMPUTE RESULT = 71571500 ((SMSDSASZ(5) - SMSFSTG(5)) / 1024). 71571600 MOVE RESULT TO DSA-USED. 71571700 MOVE RESULT TO PP40-49. 71571800 MOVE 'K' TO PP50. 71571900 COMPUTE RESULT = 71572000 ((SMSDSASZ(6) - SMSFSTG(6)) / 1024). 71572100 ADD RESULT TO DSA-USED. 71572200 MOVE RESULT TO PP57-66. 71572300 MOVE 'K' TO PP67. 71572400 COMPUTE RESULT = 71572500 ((SMSDSASZ(7) - SMSFSTG(7)) / 1024). 71572600 ADD RESULT TO DSA-USED. 71572700 MOVE RESULT TO PP74-83. 71572800 MOVE 'K' TO PP84. 71572900 COMPUTE RESULT = 71573000 ((SMSDSASZ(8) - SMSFSTG(8)) / 1024). 71573100 ADD RESULT TO DSA-USED. 71573200 MOVE RESULT TO PP91-100. 71573300 MOVE 'K' TO PP101. 71573400 71573500 MOVE DSA-USED TO PP108-117. 71573600 MOVE 'K' TO PP118. 71573700 PERFORM WRITE-SPOOL. 71573800 71573900 MOVE 'Current DSA Used as % of DSA. :' TO PP3-33. 71574000 IF SMSDSASZ(5) > 0 THEN 71574100 COMPUTE PERCENTAGE-WORK ROUNDED = 71574200 ((SMSDSASZ(5) - SMSFSTG(5)) / SMSDSASZ(5)) 71574300 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 71574400 ELSE 71574500 MOVE 0 TO PERCENTAGE 71574600 END-IF. 71574700 MOVE PERCENTAGE TO PP40-49. 71574800 MOVE '%' TO PP50. 71574900 IF SMSDSASZ(6) > 0 THEN 71575000 COMPUTE PERCENTAGE-WORK ROUNDED = 71575100 ((SMSDSASZ(6) - SMSFSTG(6)) / SMSDSASZ(6)) 71575200 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 71575300 ELSE 71575400 MOVE 0 TO PERCENTAGE 71575500 END-IF. 71575600 MOVE PERCENTAGE TO PP57-66. 71575700 MOVE '%' TO PP67. 71575800 IF SMSDSASZ(7) > 0 THEN 71575900 COMPUTE PERCENTAGE-WORK ROUNDED = 71576000 ((SMSDSASZ(7) - SMSFSTG(7)) / SMSDSASZ(7)) 71576100 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 71576200 ELSE 71576300 MOVE 0 TO PERCENTAGE 71576400 END-IF. 71576500 MOVE PERCENTAGE TO PP74-83. 71576600 MOVE '%' TO PP84. 71576700 IF SMSDSASZ(8) > 0 THEN 71576800 COMPUTE PERCENTAGE-WORK ROUNDED = 71576900 ((SMSDSASZ(8) - SMSFSTG(8)) / SMSDSASZ(8)) 71577000 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 71577100 ELSE 71577200 MOVE 0 TO PERCENTAGE 71577300 END-IF. 71577400 MOVE PERCENTAGE TO PP91-100. 71577500 MOVE '%' TO PP101. 71577600 71577700 COMPUTE DSA-FREE = ((SMSFSTG(5) + SMSFSTG(6) + 71577800 SMSFSTG(7) + SMSFSTG(8)) / 1024). 71577900 IF DSA-SIZE > 0 THEN 71578000 COMPUTE PERCENTAGE-WORK ROUNDED = 71578100 ((DSA-SIZE - DSA-FREE) / DSA-SIZE) 71578200 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 71578300 ELSE 71578400 MOVE 0 TO PERCENTAGE 71578500 END-IF. 71578600 MOVE PERCENTAGE TO PP108-117. 71578700 MOVE '%' TO PP118. 71578800 MOVE 'of EDSA Size ' TO PP120-132. 71578900 PERFORM WRITE-SPOOL. 71579000 71579100 MOVE '*' TO PP1. 71579200 MOVE 'Peak DSA Used . . . . . . . . :' TO PP3-33. 71579300 COMPUTE RESULT = 71579400 ((SMSDSASZ(5) - SMSLWMFSTG(5)) / 1024). 71579500 MOVE RESULT TO PP40-49. 71579600 MOVE 'K' TO PP50. 71579700 COMPUTE RESULT = 71579800 ((SMSDSASZ(6) - SMSLWMFSTG(6)) / 1024). 71579900 MOVE RESULT TO PP57-66. 71580000 MOVE 'K' TO PP67. 71580100 COMPUTE RESULT = 71580200 ((SMSDSASZ(7) - SMSLWMFSTG(7)) / 1024). 71580300 MOVE RESULT TO PP74-83. 71580400 MOVE 'K' TO PP84. 71580500 COMPUTE RESULT = 71580600 ((SMSDSASZ(8) - SMSLWMFSTG(8)) / 1024). 71580700 MOVE RESULT TO PP91-100. 71580800 MOVE 'K' TO PP101. 71580900 PERFORM WRITE-SPOOL. 71581000 71581100 MOVE 'Peak DSA Size . . . . . . . . :' TO PP3-33. 71581200 COMPUTE RESULT = (SMSHWMDSASZ(5) / 1024). 71581300 MOVE RESULT TO PP40-49. 71581400 MOVE 'K' TO PP50. 71581500 COMPUTE RESULT = (SMSHWMDSASZ(6) / 1024). 71581600 MOVE RESULT TO PP57-66. 71581700 MOVE 'K' TO PP67. 71581800 COMPUTE RESULT = (SMSHWMDSASZ(7) / 1024). 71581900 MOVE RESULT TO PP74-83. 71582000 MOVE 'K' TO PP84. 71582100 COMPUTE RESULT = (SMSHWMDSASZ(8) / 1024). 71582200 MOVE RESULT TO PP91-100. 71582300 MOVE 'K' TO PP101. 71582400 PERFORM WRITE-SPOOL. 71582500 71582600 MOVE 'Cushion Size. . . . . . . . . :' TO PP3-33. 71582700 COMPUTE RESULT = (SMSCSIZE(5) / 1024). 71582800 MOVE RESULT TO PP40-49. 71582900 MOVE 'K' TO PP50. 71583000 COMPUTE RESULT = (SMSCSIZE(6) / 1024). 71583100 MOVE RESULT TO PP57-66. 71583200 MOVE 'K' TO PP67. 71583300 COMPUTE RESULT = (SMSCSIZE(7) / 1024). 71583400 MOVE RESULT TO PP74-83. 71583500 MOVE 'K' TO PP84. 71583600 COMPUTE RESULT = (SMSCSIZE(8) / 1024). 71583700 MOVE RESULT TO PP91-100. 71583800 MOVE 'K' TO PP101. 71583900 PERFORM WRITE-SPOOL. 71584000 71584100 MOVE 'Free Storage (inc. Cushion) . :' TO PP3-33. 71584200 COMPUTE RESULT = (SMSFSTG(5) / 1024). 71584300 MOVE RESULT TO PP40-49. 71584400 MOVE 'K' TO PP50. 71584500 COMPUTE RESULT = (SMSFSTG(6) / 1024). 71584600 MOVE RESULT TO PP57-66. 71584700 MOVE 'K' TO PP67. 71584800 COMPUTE RESULT = (SMSFSTG(7) / 1024). 71584900 MOVE RESULT TO PP74-83. 71585000 MOVE 'K' TO PP84. 71585100 COMPUTE RESULT = (SMSFSTG(8) / 1024). 71585200 MOVE RESULT TO PP91-100. 71585300 MOVE 'K' TO PP101. 71585400 PERFORM WRITE-SPOOL. 71585500 71585600 MOVE '*' TO PP1. 71585700 MOVE 'Peak Free Storage . . . . . . :' TO PP3-33. 71585800 COMPUTE RESULT = (SMSHWMFSTG(5) / 1024). 71585900 MOVE RESULT TO PP40-49. 71586000 MOVE 'K' TO PP50. 71586100 COMPUTE RESULT = (SMSHWMFSTG(6) / 1024). 71586200 MOVE RESULT TO PP57-66. 71586300 MOVE 'K' TO PP67. 71586400 COMPUTE RESULT = (SMSHWMFSTG(7) / 1024). 71586500 MOVE RESULT TO PP74-83. 71586600 MOVE 'K' TO PP84. 71586700 COMPUTE RESULT = (SMSHWMFSTG(8) / 1024). 71586800 MOVE RESULT TO PP91-100. 71586900 MOVE 'K' TO PP101. 71587000 PERFORM WRITE-SPOOL. 71587100 71587200 MOVE '*' TO PP1. 71587300 MOVE 'Lowest Free Storage . . . . . :' TO PP3-33. 71587400 COMPUTE RESULT = (SMSLWMFSTG(5) / 1024). 71587500 MOVE RESULT TO PP40-49. 71587600 MOVE 'K' TO PP50. 71587700 COMPUTE RESULT = (SMSLWMFSTG(6) / 1024). 71587800 MOVE RESULT TO PP57-66. 71587900 MOVE 'K' TO PP67. 71588000 COMPUTE RESULT = (SMSLWMFSTG(7) / 1024). 71588100 MOVE RESULT TO PP74-83. 71588200 MOVE 'K' TO PP84. 71588300 COMPUTE RESULT = (SMSLWMFSTG(8) / 1024). 71588400 MOVE RESULT TO PP91-100. 71588500 MOVE 'K' TO PP101. 71588600 PERFORM WRITE-SPOOL. 71588700 71588800 MOVE 'Largest Free Area . . . . . . :' TO PP3-33. 71588900 COMPUTE RESULT = (SMSLFA(5) / 1024). 71589000 MOVE RESULT TO PP40-49. 71589100 MOVE 'K' TO PP50. 71589200 COMPUTE RESULT = (SMSLFA(6) / 1024). 71589300 MOVE RESULT TO PP57-66. 71589400 MOVE 'K' TO PP67. 71589500 COMPUTE RESULT = (SMSLFA(7) / 1024). 71589600 MOVE RESULT TO PP74-83. 71589700 MOVE 'K' TO PP84. 71589800 COMPUTE RESULT = (SMSLFA(8) / 1024). 71589900 MOVE RESULT TO PP91-100. 71590000 MOVE 'K' TO PP101. 71590100 PERFORM WRITE-SPOOL. 71590200 71590300 MOVE 'Largest Free Area as % of DSA :' TO PP3-33. 71590400 IF SMSDSASZ(5) > 0 THEN 71590500 COMPUTE PERCENTAGE-WORK ROUNDED = 71590600 (SMSLFA(5) / SMSDSASZ(5)) 71590700 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 71590800 ELSE 71590900 MOVE 0 TO PERCENTAGE 71591000 END-IF. 71591100 MOVE PERCENTAGE TO PP40-49. 71591200 MOVE '%' TO PP50. 71591300 IF SMSDSASZ(6) > 0 THEN 71591400 COMPUTE PERCENTAGE-WORK ROUNDED = 71591500 (SMSLFA(6) / SMSDSASZ(6)) 71591600 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 71591700 ELSE 71591800 MOVE 0 TO PERCENTAGE 71591900 END-IF. 71592000 MOVE PERCENTAGE TO PP57-66. 71592100 MOVE '%' TO PP67. 71592200 IF SMSDSASZ(7) > 0 THEN 71592300 COMPUTE PERCENTAGE-WORK ROUNDED = 71592400 (SMSLFA(7) / SMSDSASZ(7)) 71592500 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 71592600 ELSE 71592700 MOVE 0 TO PERCENTAGE 71592800 END-IF. 71592900 MOVE PERCENTAGE TO PP74-83. 71593000 MOVE '%' TO PP84. 71593100 IF SMSDSASZ(8) > 0 THEN 71593200 COMPUTE PERCENTAGE-WORK ROUNDED = 71593300 (SMSLFA(8) / SMSDSASZ(8)) 71593400 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 71593500 ELSE 71593600 MOVE 0 TO PERCENTAGE 71593700 END-IF. 71593800 MOVE PERCENTAGE TO PP91-100. 71593900 MOVE '%' TO PP101. 71594000 PERFORM WRITE-SPOOL. 71594100 71594200 MOVE 'Largest Free/Free Storage . . :' TO PP3-33. 71594300 IF SMSFSTG(5) > 0 THEN 71594400 COMPUTE FREE-STORAGE-FACTOR = (SMSLFA(5) / SMSFSTG(5)) 71594500 ELSE 71594600 MOVE 0 TO FREE-STORAGE-FACTOR 71594700 END-IF. 71594800 MOVE FREE-STORAGE-FACTOR TO PP44-49. 71594900 IF SMSFSTG(6) > 0 THEN 71595000 COMPUTE FREE-STORAGE-FACTOR = (SMSLFA(6) / SMSFSTG(6)) 71595100 ELSE 71595200 MOVE 0 TO FREE-STORAGE-FACTOR 71595300 END-IF. 71595400 MOVE FREE-STORAGE-FACTOR TO PP61-66. 71595500 IF SMSFSTG(7) > 0 THEN 71595600 COMPUTE FREE-STORAGE-FACTOR = (SMSLFA(7) / SMSFSTG(7)) 71595700 ELSE 71595800 MOVE 0 TO FREE-STORAGE-FACTOR 71595900 END-IF. 71596000 MOVE FREE-STORAGE-FACTOR TO PP78-83. 71596100 IF SMSFSTG(8) > 0 THEN 71596200 COMPUTE FREE-STORAGE-FACTOR = (SMSLFA(8) / SMSFSTG(8)) 71596300 ELSE 71596400 MOVE 0 TO FREE-STORAGE-FACTOR 71596500 END-IF. 71596600 MOVE FREE-STORAGE-FACTOR TO PP95-100. 71596700 PERFORM WRITE-SPOOL. 71596800 71596900 MOVE '0' TO PRINT-CONTROL. 71597000 MOVE 'Current number of extents . . :' TO PP3-33. 71597100 MOVE SMSEXTS(5) TO PP40-49. 71597200 MOVE SMSEXTS(6) TO PP57-66. 71597300 MOVE SMSEXTS(7) TO PP74-83. 71597400 MOVE SMSEXTS(8) TO PP91-100. 71597500 COMPUTE RESULT = (SMSEXTS(5) + SMSEXTS(6) + 71597600 SMSEXTS(7) + SMSEXTS(8)). 71597700 MOVE RESULT TO PP108-117. 71597800 PERFORM WRITE-SPOOL. 71597900 71598000 MOVE 'Number of extents added . . . :' TO PP3-33. 71598100 MOVE SMSEXTSA(5) TO PP40-49. 71598200 MOVE SMSEXTSA(6) TO PP57-66. 71598300 MOVE SMSEXTSA(7) TO PP74-83. 71598400 MOVE SMSEXTSA(8) TO PP91-100. 71598500 PERFORM WRITE-SPOOL. 71598600 71598700 MOVE 'Number of extents released. . :' TO PP3-33. 71598800 MOVE SMSEXTSR(5) TO PP40-49. 71598900 MOVE SMSEXTSR(6) TO PP57-66. 71599000 MOVE SMSEXTSR(7) TO PP74-83. 71599100 MOVE SMSEXTSR(8) TO PP91-100. 71599200 PERFORM WRITE-SPOOL. 71599300 71599400 MOVE '0' TO PRINT-CONTROL. 71599500 MOVE 'Getmain Requests. . . . . . . :' TO PP3-33. 71599600 MOVE SMSGMREQ(5) TO PP40-49. 71599700 MOVE SMSGMREQ(6) TO PP57-66. 71599800 MOVE SMSGMREQ(7) TO PP74-83. 71599900 MOVE SMSGMREQ(8) TO PP91-100. 71600000 PERFORM WRITE-SPOOL. 71600100 71600200 MOVE 'Freemain Requests . . . . . . :' TO PP3-33. 71600300 MOVE SMSFMREQ(5) TO PP40-49. 71600400 MOVE SMSFMREQ(6) TO PP57-66. 71600500 MOVE SMSFMREQ(7) TO PP74-83. 71600600 MOVE SMSFMREQ(8) TO PP91-100. 71600700 PERFORM WRITE-SPOOL. 71600800 71600900 MOVE '0' TO PRINT-CONTROL. 71601100 MOVE 'Current number of Subpools. . :' TO PP3-33. 71601300 MOVE SMSCSUBP(5) TO PP40-49. 71601500 MOVE SMSCSUBP(6) TO PP57-66. 71601600 MOVE SMSCSUBP(7) TO PP74-83. 71601700 MOVE SMSCSUBP(8) TO PP91-100. 71601800 COMPUTE RESULT = (SMSCSUBP(5) + SMSCSUBP(6) + 71601900 SMSCSUBP(7) + SMSCSUBP(8)). 71602000 MOVE RESULT TO PP108-117. 71602100 PERFORM WRITE-SPOOL. 71602200 71602300 MOVE 'Add Subpool Requests. . . . . :' TO PP3-33. 71602400 MOVE SMSASR(5) TO PP40-49. 71602500 MOVE SMSASR(6) TO PP57-66. 71602600 MOVE SMSASR(7) TO PP74-83. 71602700 MOVE SMSASR(8) TO PP91-100. 71602800 PERFORM WRITE-SPOOL. 71602900 71603000 MOVE 'Delete Subpool Requests . . . :' TO PP3-33. 71603100 MOVE SMSDSR(5) TO PP40-49. 71603200 MOVE SMSDSR(6) TO PP57-66. 71603300 MOVE SMSDSR(7) TO PP74-83. 71603400 MOVE SMSDSR(8) TO PP91-100. 71603500 PERFORM WRITE-SPOOL. 71603600 71603700 MOVE '0' TO PRINT-CONTROL. 71603800 MOVE 'Times no storage returned . . :' TO PP3-33. 71603900 MOVE SMSCRISS(5) TO PP40-49. 71604000 MOVE SMSCRISS(6) TO PP57-66. 71604100 MOVE SMSCRISS(7) TO PP74-83. 71604200 MOVE SMSCRISS(8) TO PP91-100. 71604300 PERFORM WRITE-SPOOL. 71604400 71604500 MOVE 'Times request suspended . . . :' TO PP3-33. 71604600 MOVE SMSUCSS(5) TO PP40-49. 71604700 MOVE SMSUCSS(6) TO PP57-66. 71604800 MOVE SMSUCSS(7) TO PP74-83. 71604900 MOVE SMSUCSS(8) TO PP91-100. 71605000 PERFORM WRITE-SPOOL. 71605100 71605200 MOVE 'Current requests suspended. . :' TO PP3-33. 71605300 MOVE SMSCSS(5) TO PP40-49. 71605400 MOVE SMSCSS(6) TO PP57-66. 71605500 MOVE SMSCSS(7) TO PP74-83. 71605600 MOVE SMSCSS(8) TO PP91-100. 71605700 PERFORM WRITE-SPOOL. 71605800 71605900 MOVE 'Peak requests suspended . . . :' TO PP3-33. 71606000 MOVE SMSHWMSS(5) TO PP40-49. 71606100 MOVE SMSHWMSS(6) TO PP57-66. 71606200 MOVE SMSHWMSS(7) TO PP74-83. 71606300 MOVE SMSHWMSS(8) TO PP91-100. 71606400 PERFORM WRITE-SPOOL. 71606500 71606600 MOVE 'Requests purged while waiting :' TO PP3-33. 71606700 MOVE SMSPWWS(5) TO PP40-49. 71606800 MOVE SMSPWWS(6) TO PP57-66. 71606900 MOVE SMSPWWS(7) TO PP74-83. 71607000 MOVE SMSPWWS(8) TO PP91-100. 71607100 PERFORM WRITE-SPOOL. 71607200 71607300 MOVE '0' TO PRINT-CONTROL. 71607400 MOVE 'Times Cushion released. . . . :' TO PP3-33. 71607500 MOVE SMSCREL(5) TO PP40-49. 71607600 MOVE SMSCREL(6) TO PP57-66. 71607700 MOVE SMSCREL(7) TO PP74-83. 71607800 MOVE SMSCREL(8) TO PP91-100. 71607900 PERFORM WRITE-SPOOL. 71608000 71608100 MOVE 'Times Short-On-Storage. . . . :' TO PP3-33. 71608200 MOVE SMSSOS(5) TO PP40-49. 71608300 MOVE SMSSOS(6) TO PP57-66. 71608400 MOVE SMSSOS(7) TO PP74-83. 71608500 MOVE SMSSOS(8) TO PP91-100. 71608600 PERFORM WRITE-SPOOL. 71608700 71608800 MOVE 'Total time Short-On-Storage . :' TO PP3-33. 71608900 MOVE SMSTSOS(5) TO CLOCK-FIELD. 71609000 PERFORM STOPWATCH-CONVERT. 71609100 MOVE STOPWATCH TO PP36-49. 71609200 MOVE SMSTSOS(6) TO CLOCK-FIELD. 71609300 PERFORM STOPWATCH-CONVERT. 71609400 MOVE STOPWATCH TO PP53-66. 71609500 MOVE SMSTSOS(7) TO CLOCK-FIELD. 71609600 PERFORM STOPWATCH-CONVERT. 71609700 MOVE STOPWATCH TO PP70-83. 71609800 MOVE SMSTSOS(8) TO CLOCK-FIELD. 71609900 PERFORM STOPWATCH-CONVERT. 71610000 MOVE STOPWATCH TO PP87-100. 71610100 PERFORM WRITE-SPOOL. 71610200 71610300 MOVE 'Average Short-On-Storage time :' TO PP3-33. 71610400 IF SMSSOS(5) > 0 THEN 71610500 MOVE SMSTSOS(5) TO CLOCK-FIELD 71610600 COMPUTE CLOCK-FIELD-S = (CLOCK-FIELD-S / SMSSOS(5)) 71610700 ELSE 71610800 MOVE 0 TO CLOCK-FIELD-S 71611000 END-IF. 71611200 PERFORM STOPWATCH-CONVERT. 71611400 MOVE STOPWATCH TO PP36-49. 71611600 IF SMSSOS(6) > 0 THEN 71611800 MOVE SMSTSOS(6) TO CLOCK-FIELD 71612000 COMPUTE CLOCK-FIELD-S = (CLOCK-FIELD-S / SMSSOS(6)) 71612200 ELSE 71612400 MOVE 0 TO CLOCK-FIELD-S 71612600 END-IF. 71612800 PERFORM STOPWATCH-CONVERT. 71613000 MOVE STOPWATCH TO PP53-66. 71613200 IF SMSSOS(7) > 0 THEN 71613400 MOVE SMSTSOS(7) TO CLOCK-FIELD 71613600 COMPUTE CLOCK-FIELD-S = (CLOCK-FIELD-S / SMSSOS(7)) 71613800 ELSE 71614000 MOVE 0 TO CLOCK-FIELD-S 71614200 END-IF. 71614400 PERFORM STOPWATCH-CONVERT. 71614600 MOVE STOPWATCH TO PP70-83. 71614800 IF SMSSOS(8) > 0 THEN 71615000 MOVE SMSTSOS(8) TO CLOCK-FIELD 71615200 COMPUTE CLOCK-FIELD-S = (CLOCK-FIELD-S / SMSSOS(8)) 71615400 ELSE 71615600 MOVE 0 TO CLOCK-FIELD-S 71615800 END-IF. 71616000 PERFORM STOPWATCH-CONVERT. 71616200 MOVE STOPWATCH TO PP87-100. 71616400 PERFORM WRITE-SPOOL. 71616600 71616800 MOVE '0' TO PRINT-CONTROL. 71617000 MOVE 'Storage Violations. . . . . . :' TO PP3-33. 71617200 MOVE SMSSV(5) TO PP40-49. 71617400 MOVE SMSSV(6) TO PP57-66. 71617600 MOVE SMSSV(7) TO PP74-83. 71617700 MOVE SMSSV(8) TO PP91-100. 71617800 COMPUTE RESULT = (SMSSV(5) + SMSSV(6) + 71617900 SMSSV(7) + SMSSV(8)). 71618000 MOVE RESULT TO PP108-117. 71618100 PERFORM WRITE-SPOOL. 71618200 71618300 MOVE '0' TO PRINT-CONTROL. 71618400 MOVE 'Access. . . . . . . . . . . . :' TO PP3-33. 71618500 EVALUATE TRUE 71618600 WHEN SMSCICS(5) 71618700 MOVE ' CICS' TO PP42-49 71618800 WHEN SMSUSER(5) 71618900 MOVE ' USER' TO PP42-49 71619000 WHEN SMSREADONLY(5) 71619100 MOVE 'READONLY' TO PP42-49 71619200 END-EVALUATE. 71619300 EVALUATE TRUE 71619400 WHEN SMSCICS(6) 71619500 MOVE ' CICS' TO PP59-66 71619600 WHEN SMSUSER(6) 71619700 MOVE ' USER' TO PP59-66 71619800 WHEN SMSREADONLY(6) 71619900 MOVE 'READONLY' TO PP59-66 71620000 END-EVALUATE. 71620100 EVALUATE TRUE 71620200 WHEN SMSCICS(7) 71620300 MOVE ' CICS' TO PP76-83 71620400 WHEN SMSUSER(7) 71620500 MOVE ' USER' TO PP76-83 71620600 WHEN SMSREADONLY(7) 71620800 MOVE 'READONLY' TO PP76-83 71621000 END-EVALUATE. 71621200 EVALUATE TRUE 71621400 WHEN SMSCICS(8) 71621600 MOVE ' CICS' TO PP93-100 71621800 WHEN SMSUSER(8) 71622000 MOVE ' USER' TO PP93-100 71622200 WHEN SMSREADONLY(8) 71622400 MOVE 'READONLY' TO PP93-100 71622600 END-EVALUATE. 71622800 PERFORM WRITE-SPOOL. 71623000 71623100 MOVE '0' TO PRINT-CONTROL. 71623200 MOVE '''*'' indicates values reset on last DSA Size change' 71623300 TO PP3-52. 71623400 PERFORM WRITE-SPOOL. 71623500 71623600 STORAGE-STATISTICS-EXIT. 71623700 EXIT. 71623800 EJECT 71623900 ***************************************************************** 71624000 *** LOADER-STATISTICS SECTION *** 71624200 *** *** 71624400 *** Collect the Loader Global statistics *** 71624600 *** Print heading and Loader statistics *** 71624800 *** *** 71625000 ***************************************************************** 71630000 LOADER-STATISTICS SECTION. 71650000 71720000 PERFORM PAGE-HEADINGS. 71740000 71760000 ***************************************************************** 71790000 *** Collect the Loader Global statistics. *** 71860000 ***************************************************************** 71930000 EXEC CICS COLLECT STATISTICS PROGRAM 72000000 SET(ADDRESS OF DFHLDGDS) 72070000 END-EXEC. 72210000 72280000 ***************************************************************** 72290000 *** Print heading and Loader statistics *** 72300000 *** calculating fields as required *** 72310000 ***************************************************************** 72330000 MOVE '-' TO PRINT-CONTROL. 72350000 MOVE 'Loader' TO PP1-6. 72420000 PERFORM WRITE-SPOOL. 72490000 MOVE '+' TO PRINT-CONTROL. 72560000 MOVE '______' TO PP1-6. 72630000 PERFORM WRITE-SPOOL. 72700000 72770000 MOVE '0' TO PRINT-CONTROL. 72840000 MOVE 'Library Load requests. . . . . . . . . . . . . :' 72910000 TO PP3-50. 72980000 MOVE LDGLLR TO PP57-66. 73050000 MOVE 'Total Program Uses . . . . . . . . . . . . . . :' 73060000 TO PP69-117. 73080000 MOVE LDGPUSES TO PP123-132N. 73100000 PERFORM WRITE-SPOOL. 73120000 73190000 MOVE 'Total Library Load time. . . . . . . . . . . . :' 73260000 TO PP3-50. 73330000 MOVE LDGLLT TO CLOCK-FIELD-S. 73400000 PERFORM STOPWATCH-CONVERT. 73470000 MOVE STOPWATCH TO PP53-66. 73540000 MOVE 'Program Use to Load Ratio. . . . . . . . . . . :' 73547000 TO PP69-117. 73554000 IF LDGLLR > 0 THEN 73562000 COMPUTE PROGRAM-USE-LOAD-RATIO = (LDGPUSES / LDGLLR) 73570000 ELSE 73578000 MOVE LDGPUSES TO PROGRAM-USE-LOAD-RATIO 73586000 END-IF. 73594000 MOVE PROGRAM-USE-LOAD-RATIO TO PP127-132. 73602000 PERFORM WRITE-SPOOL. 73610000 73680000 MOVE 'Average Library Load time. . . . . . . . . . . :' 73750000 TO PP3-50. 73820000 IF LDGLLR > 0 THEN 73890000 COMPUTE CLOCK-FIELD-S = (LDGLLT / LDGLLR) 73960000 ELSE 74030000 MOVE 0 TO CLOCK-FIELD-S 74100000 END-IF. 74170000 PERFORM STOPWATCH-CONVERT. 74240000 MOVE STOPWATCH TO PP53-66. 74310000 PERFORM WRITE-SPOOL. 74380000 74450000 MOVE 'Times DFHRPL secondary extents detected. . . . :' 74460000 TO PP69-117. 74470000 MOVE LDGDREBS TO PP123-132N. 74480000 PERFORM WRITE-SPOOL. 74500000 74520000 MOVE 'Library Load requests that waited. . . . . . . :' 74540000 TO PP3-50. 74590000 MOVE LDGWTDLR TO PP57-66. 74660000 PERFORM WRITE-SPOOL. 74730000 74800000 MOVE 'Total Library Load request wait time . . . . . :' 74870000 TO PP3-50. 74940000 MOVE LDGTTW TO CLOCK-FIELD-S. 75010000 PERFORM STOPWATCH-CONVERT. 75080000 MOVE STOPWATCH TO PP53-66. 75150000 PERFORM WRITE-SPOOL. 75220000 75290000 MOVE 'Average Library Load request wait time . . . . :' 75360000 TO PP3-50. 75430000 IF LDGWTDLR > 0 THEN 75500000 COMPUTE CLOCK-FIELD-S = (LDGTTW / LDGWTDLR) 75570000 ELSE 75640000 MOVE 0 TO CLOCK-FIELD-S 75710000 END-IF. 75780000 PERFORM STOPWATCH-CONVERT. 75850000 MOVE STOPWATCH TO PP53-66. 75920000 PERFORM WRITE-SPOOL. 75990000 76060000 MOVE 'Current Waiting Library Load requests. . . . . :' 76130000 TO PP3-50. 76200000 MOVE LDGWLR TO PP57-66. 76270000 PERFORM WRITE-SPOOL. 76340000 76410000 MOVE 'Peak Waiting Library Load requests . . . . . . :' 76480000 TO PP3-50. 76550000 MOVE LDGWLRHW TO PP57-66. 76620000 PERFORM WRITE-SPOOL. 76690000 76760000 MOVE 'Times at Peak. . . . . . . . . . . . . . . . . :' 76830000 TO PP3-50. 76900000 MOVE LDGHWMT TO PP57-66. 76970000 MOVE 'Average Not-In-Use program size. . . . . . . . :' 77020000 TO PP69-117. 77070000 COMPUTE WORK-FIELD = (LDGPROGNIU(1) + LDGPROGNIU(2) + 77120000 LDGPROGNIU(3) + LDGPROGNIU(4) + 77170000 LDGPROGNIU(5) + LDGPROGNIU(6)) 77220000 END-COMPUTE. 77270000 IF WORK-FIELD > 0 THEN 77320000 COMPUTE RESULT = (((LDGSTGNIU(1) + LDGSTGNIU(2) + 77370000 LDGSTGNIU(3) + LDGSTGNIU(4) + LDGSTGNIU(5) + 77420000 LDGSTGNIU(6)) / 1024) / WORK-FIELD) 77470000 ELSE 77520000 MOVE 0 TO RESULT 77580000 END-IF. 77640000 MOVE RESULT TO PP122-131. 77700000 MOVE 'K' TO PP132. 77760000 PERFORM WRITE-SPOOL. 77820000 EJECT 77880000 ***************************************************************** 77940000 *** Print the Loader DSA statistics. *** 78000000 ***************************************************************** 78060000 78120000 MOVE '-' TO PRINT-CONTROL. 78180000 MOVE 'CDSA' TO PP3-6. 78240000 MOVE 'ECDSA' TO PP69-73. 78300000 PERFORM WRITE-SPOOL. 78360000 MOVE '+' TO PRINT-CONTROL. 78420000 MOVE ALL '_' TO PP3-6 78480000 PP69-73. 78540000 PERFORM WRITE-SPOOL. 78600000 78660000 MOVE '0' TO PRINT-CONTROL. 78720000 MOVE 'Programs Removed by compression. . . . . . . . :' 78790000 TO PP3-50. 78860000 MOVE LDGDPSCR(1) TO PP57-66. 78930000 MOVE 'Programs Removed by compression. . . . . . . . :' 78940000 TO PP69-117. 78960000 MOVE LDGDPSCR(2) TO PP123-132N. 78980000 PERFORM WRITE-SPOOL. 79000000 79030000 MOVE 'Time on the Not-In-Use Queue . . . . . . . . . :' 79070000 TO PP3-50. 79140000 MOVE LDGDPSCT(1) TO CLOCK-FIELD. 79210000 PERFORM STOPWATCH-CONVERT. 79280000 MOVE STOPWATCH TO PP53-66. 79350000 MOVE 'Time on the Not-In-Use Queue . . . . . . . . . :' 79360000 TO PP69-117. 79370000 MOVE LDGDPSCT(2) TO CLOCK-FIELD. 79380000 PERFORM STOPWATCH-CONVERT. 79390000 MOVE STOPWATCH TO PP119-132. 79400000 PERFORM WRITE-SPOOL. 79420000 79490000 MOVE 'Average Time on the Not-In-Use Queue . . . . . :' 79560000 TO PP3-50. 79630000 IF LDGDPSCR(1) > 0 THEN 79700000 MOVE LDGDPSCT(1) TO CLOCK-WORK-FIELD 79770000 DIVIDE CLOCK-WORK-FIELD-S BY LDGDPSCR(1) 79810000 GIVING CLOCK-FIELD-S 79860000 ELSE 79910000 MOVE 0 TO CLOCK-FIELD-S 79980000 END-IF. 80050000 PERFORM STOPWATCH-CONVERT. 80120000 MOVE STOPWATCH TO PP53-66. 80190000 MOVE 'Average Time on the Not-In-Use Queue . . . . . :' 80195000 TO PP69-117. 80200000 IF LDGDPSCR(2) > 0 THEN 80206000 MOVE LDGDPSCT(2) TO CLOCK-WORK-FIELD 80212000 DIVIDE CLOCK-WORK-FIELD-S BY LDGDPSCR(2) 80218000 GIVING CLOCK-FIELD-S 80224000 ELSE 80230000 MOVE 0 TO CLOCK-FIELD-S 80236000 END-IF. 80242000 PERFORM STOPWATCH-CONVERT. 80248000 MOVE STOPWATCH TO PP119-132. 80254000 PERFORM WRITE-SPOOL. 80260000 80330000 MOVE 'Programs Reclaimed from the Not-In-Use Queue . :' 80400000 TO PP3-50. 80470000 MOVE LDGRECNIU(1) TO PP57-66. 80540000 MOVE 'Programs Reclaimed from the Not-In-Use Queue . :' 80550000 TO PP69-117. 80570000 MOVE LDGRECNIU(2) TO PP123-132N. 80590000 PERFORM WRITE-SPOOL. 80610000 80680000 MOVE 'Programs Loaded - now on the Not-In-Use Queue. :' 80750000 TO PP3-50. 80820000 MOVE LDGPROGNIU(1) TO PP57-66. 80890000 MOVE 'Programs Loaded - now on the Not-In-Use Queue. :' 80900000 TO PP69-117. 80920000 MOVE LDGPROGNIU(2) TO PP123-132N. 80940000 PERFORM WRITE-SPOOL. 80960000 81030000 MOVE '0' TO PRINT-CONTROL. 81040000 MOVE 'SDSA' TO PP3-6. 81050000 MOVE 'ESDSA' TO PP69-73. 81060000 PERFORM WRITE-SPOOL. 81070000 MOVE '+' TO PRINT-CONTROL. 81080000 MOVE ALL '_' TO PP3-6 81090000 PP69-73. 81100000 PERFORM WRITE-SPOOL. 81110000 81120000 MOVE '0' TO PRINT-CONTROL. 81130000 MOVE 'Programs Removed by compression. . . . . . . . :' 81140000 TO PP3-50. 81150000 MOVE LDGDPSCR(3) TO PP57-66. 81160000 MOVE 'Programs Removed by compression. . . . . . . . :' 81170000 TO PP69-117. 81180000 MOVE LDGDPSCR(4) TO PP123-132N. 81190000 PERFORM WRITE-SPOOL. 81200000 81210000 MOVE 'Time on the Not-In-Use Queue . . . . . . . . . :' 81220000 TO PP3-50. 81230000 MOVE LDGDPSCT(3) TO CLOCK-FIELD. 81240000 PERFORM STOPWATCH-CONVERT. 81250000 MOVE STOPWATCH TO PP53-66. 81260000 MOVE 'Time on the Not-In-Use Queue . . . . . . . . . :' 81270000 TO PP69-117. 81280000 MOVE LDGDPSCT(4) TO CLOCK-FIELD. 81290000 PERFORM STOPWATCH-CONVERT. 81300000 MOVE STOPWATCH TO PP119-132. 81310000 PERFORM WRITE-SPOOL. 81320000 81330000 MOVE 'Average Time on the Not-In-Use Queue . . . . . :' 81340000 TO PP3-50. 81350000 IF LDGDPSCR(3) > 0 THEN 81360000 MOVE LDGDPSCT(3) TO CLOCK-WORK-FIELD 81370000 DIVIDE CLOCK-WORK-FIELD-S BY LDGDPSCR(3) 81380000 GIVING CLOCK-FIELD-S 81390000 ELSE 81400000 MOVE 0 TO CLOCK-FIELD-S 81410000 END-IF. 81420000 PERFORM STOPWATCH-CONVERT. 81430000 MOVE STOPWATCH TO PP53-66. 81440000 MOVE 'Average Time on the Not-In-Use Queue . . . . . :' 81450000 TO PP69-117. 81460000 IF LDGDPSCR(4) > 0 THEN 81470000 MOVE LDGDPSCT(4) TO CLOCK-WORK-FIELD 81480000 DIVIDE CLOCK-WORK-FIELD-S BY LDGDPSCR(4) 81490000 GIVING CLOCK-FIELD-S 81500000 ELSE 81510000 MOVE 0 TO CLOCK-FIELD-S 81520000 END-IF. 81530000 PERFORM STOPWATCH-CONVERT. 81540000 MOVE STOPWATCH TO PP119-132. 81550000 PERFORM WRITE-SPOOL. 81560000 81570000 MOVE 'Programs Reclaimed from the Not-In-Use Queue . :' 81580000 TO PP3-50. 81590000 MOVE LDGRECNIU(3) TO PP57-66. 81600000 MOVE 'Programs Reclaimed from the Not-In-Use Queue . :' 81610000 TO PP69-117. 81630000 MOVE LDGRECNIU(4) TO PP123-132N. 81650000 PERFORM WRITE-SPOOL. 81670000 81690000 MOVE 'Programs Loaded - now on the Not-In-Use Queue. :' 81710000 TO PP3-50. 81730000 MOVE LDGPROGNIU(3) TO PP57-66. 81750000 MOVE 'Programs Loaded - now on the Not-In-Use Queue. :' 81770000 TO PP69-117. 81790000 MOVE LDGPROGNIU(4) TO PP123-132N. 81810000 PERFORM WRITE-SPOOL. 81830000 81850000 MOVE '0' TO PRINT-CONTROL. 81870000 MOVE 'RDSA' TO PP3-6. 81890000 MOVE 'ERDSA' TO PP69-73. 81910000 PERFORM WRITE-SPOOL. 81930000 MOVE '+' TO PRINT-CONTROL. 81950000 MOVE ALL '_' TO PP3-6 81970000 PP69-73. 81990000 PERFORM WRITE-SPOOL. 82010000 82030000 MOVE '0' TO PRINT-CONTROL. 82050000 MOVE 'Programs Removed by compression. . . . . . . . :' 82070000 TO PP3-50. 82090000 MOVE LDGDPSCR(5) TO PP57-66. 82110000 MOVE 'Programs Removed by compression. . . . . . . . :' 82130000 TO PP69-117. 82150000 MOVE LDGDPSCR(6) TO PP123-132N. 82170000 PERFORM WRITE-SPOOL. 82190000 82210000 MOVE 'Time on the Not-In-Use Queue . . . . . . . . . :' 82230000 TO PP3-50. 82250000 MOVE LDGDPSCT(5) TO CLOCK-FIELD. 82270000 PERFORM STOPWATCH-CONVERT. 82290000 MOVE STOPWATCH TO PP53-66. 82310000 MOVE 'Time on the Not-In-Use Queue . . . . . . . . . :' 82330000 TO PP69-117. 82350000 MOVE LDGDPSCT(6) TO CLOCK-FIELD. 82370000 PERFORM STOPWATCH-CONVERT. 82390000 MOVE STOPWATCH TO PP119-132. 82410000 PERFORM WRITE-SPOOL. 82430000 82450000 MOVE 'Average Time on the Not-In-Use Queue . . . . . :' 82470000 TO PP3-50. 82490000 IF LDGDPSCR(5) > 0 THEN 82510000 MOVE LDGDPSCT(5) TO CLOCK-WORK-FIELD 82530000 DIVIDE CLOCK-WORK-FIELD-S BY LDGDPSCR(5) 82550000 GIVING CLOCK-FIELD-S 82570000 ELSE 82590000 MOVE 0 TO CLOCK-FIELD-S 82610000 END-IF. 82630000 PERFORM STOPWATCH-CONVERT. 82650000 MOVE STOPWATCH TO PP53-66. 82670000 MOVE 'Average Time on the Not-In-Use Queue . . . . . :' 82690000 TO PP69-117. 82710000 IF LDGDPSCR(6) > 0 THEN 82730000 MOVE LDGDPSCT(6) TO CLOCK-WORK-FIELD 82750000 DIVIDE CLOCK-WORK-FIELD-S BY LDGDPSCR(6) 82770000 GIVING CLOCK-FIELD-S 82790000 ELSE 82810000 MOVE 0 TO CLOCK-FIELD-S 82830000 END-IF. 82850000 PERFORM STOPWATCH-CONVERT. 82870000 MOVE STOPWATCH TO PP119-132. 82890000 PERFORM WRITE-SPOOL. 82910000 82930000 MOVE 'Programs Reclaimed from the Not-In-Use Queue . :' 82950000 TO PP3-50. 82970000 MOVE LDGRECNIU(5) TO PP57-66. 82990000 MOVE 'Programs Reclaimed from the Not-In-Use Queue . :' 83010000 TO PP69-117. 83030000 MOVE LDGRECNIU(6) TO PP123-132N. 83050000 PERFORM WRITE-SPOOL. 83070000 83090000 MOVE 'Programs Loaded - now on the Not-In-Use Queue. :' 83110000 TO PP3-50. 83130000 MOVE LDGPROGNIU(5) TO PP57-66. 83150000 MOVE 'Programs Loaded - now on the Not-In-Use Queue. :' 83170000 TO PP69-117. 83190000 MOVE LDGPROGNIU(6) TO PP123-132N. 83210000 PERFORM WRITE-SPOOL. 83230000 EJECT 83250000 ***************************************************************** 83275000 *** Print heading and Program Storage Subpools *** 83276000 ***************************************************************** 83277000 MOVE '-' TO PRINT-CONTROL. 83278000 MOVE 'Program Storage' TO PP1-15. 83282000 PERFORM WRITE-SPOOL. 83286000 MOVE '+' TO PRINT-CONTROL. 83290000 MOVE ALL '_' TO PP1-15. 83294000 PERFORM WRITE-SPOOL. 83298000 83302000 MOVE '0' TO PRINT-CONTROL. 83302200 MOVE 'Nucleus Program Storage (CDSA) . . . . . . . . :' 83302400 TO PP3-50. 83302600 *** Following line changed by @BA18681C 83302700 COMPUTE RESULT ROUNDED = ((LD-NUC + LD-NRS) / 1024). 83302800 MOVE RESULT TO PP55-64. 83303000 MOVE 'K' TO PP65. 83303200 MOVE 'Nucleus Program Storage (ECDSA). . . . . . . . :' 83303400 TO PP69-117. 83303600 *** Following line changed by @BA18681C 83303700 COMPUTE RESULT ROUNDED = ((LD-ENUC + LD-ENRS)/ 1024). 83303800 MOVE RESULT TO PP122-131. 83304000 MOVE 'K' TO PP132. 83304200 PERFORM WRITE-SPOOL. 83304400 83304600 MOVE '0' TO PRINT-CONTROL. 83304800 MOVE 'Program Storage (SDSA) . . . . . . . . . . . . :' 83305000 TO PP3-50. 83305200 COMPUTE RESULT ROUNDED = (LD-PGM / 1024). 83305400 MOVE RESULT TO PP55-64. 83305600 MOVE 'K' TO PP65. 83305800 MOVE 'Program Storage (ESDSA). . . . . . . . . . . . :' 83306000 TO PP69-117. 83306200 COMPUTE RESULT ROUNDED = (LD-EPGM / 1024). 83306300 MOVE RESULT TO PP122-131. 83306400 MOVE 'K' TO PP132. 83306500 PERFORM WRITE-SPOOL. 83306600 MOVE 'Resident Program Storage (SDSA). . . . . . . . :' 83306700 TO PP3-50. 83306800 COMPUTE RESULT ROUNDED = (LD-RES / 1024). 83306900 MOVE RESULT TO PP55-64. 83307000 MOVE 'K' TO PP65. 83307100 MOVE 'Resident Program Storage (ESDSA) . . . . . . . :' 83307200 TO PP69-117. 83307300 COMPUTE RESULT ROUNDED = (LD-ERES / 1024). 83307400 MOVE RESULT TO PP122-131. 83307500 MOVE 'K' TO PP132. 83307600 PERFORM WRITE-SPOOL. 83307700 83307800 MOVE '0' TO PRINT-CONTROL. 83307900 MOVE 'Read-Only Nucleus Program Storage (RDSA) . . . :' 83308000 TO PP3-50. 83308100 *** Following line changed by @BA18681C 83308150 COMPUTE RESULT ROUNDED = ((LD-NUCRO + LD-NRSRO)/ 1024). 83308200 MOVE RESULT TO PP55-64. 83308300 MOVE 'K' TO PP65. 83308400 MOVE 'Read-Only Nucleus Program Storage (ERDSA). . . :' 83308500 TO PP69-117. 83308600 *** Following line changed by @BA18681C 83308650 COMPUTE RESULT ROUNDED = ((LD-ENUCRO + LD-ENRSRO)/ 1024). 83308700 MOVE RESULT TO PP122-131. 83308800 MOVE 'K' TO PP132. 83308900 PERFORM WRITE-SPOOL. 83309000 MOVE 'Read-Only Program Storage (RDSA) . . . . . . . :' 83309100 TO PP3-50. 83309200 COMPUTE RESULT ROUNDED = (LD-PGMRO / 1024). 83309300 MOVE RESULT TO PP55-64. 83309400 MOVE 'K' TO PP65. 83309500 MOVE 'Read-Only Program Storage (ERDSA). . . . . . . :' 83309600 TO PP69-117. 83309700 COMPUTE RESULT ROUNDED = (LD-EPGMRO / 1024). 83309800 MOVE RESULT TO PP122-131. 83309900 MOVE 'K' TO PP132. 83310000 PERFORM WRITE-SPOOL. 83310100 MOVE 'Read-Only Resident Program Storage (RDSA). . . :' 83310200 TO PP3-50. 83310300 COMPUTE RESULT ROUNDED = (LD-RESRO / 1024). 83310400 MOVE RESULT TO PP55-64. 83310500 MOVE 'K' TO PP65. 83310600 MOVE 'Read-Only Resident Program Storage (ERDSA) . . :' 83315000 TO PP69-117. 83319000 COMPUTE RESULT ROUNDED = (LD-ERESRO / 1024). 83323000 MOVE RESULT TO PP122-131. 83327000 MOVE 'K' TO PP132 83331000 PERFORM WRITE-SPOOL. 83335000 83335800 MOVE '0' TO PRINT-CONTROL. 83336600 MOVE 'CDSA used by Not-In-Use programs. :' TO PP3-37. 83337400 COMPUTE RESULT ROUNDED = (LDGSTGNIU(1) / 1024). 83338200 MOVE RESULT TO PP39-48. 83339000 MOVE 'K' TO PP49. 83339800 IF CDSA-SIZE > 0 THEN 83340600 COMPUTE PERCENTAGE-WORK ROUNDED = 83341400 (LDGSTGNIU(1) / CDSA-SIZE) 83342200 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 83343000 ELSE 83343800 MOVE 0 TO PERCENTAGE 83344600 END-IF. 83345400 MOVE PERCENTAGE TO PP51-56. 83346200 MOVE '% of CDSA ' TO PP57-66X. 83347000 MOVE 'ECDSA used by Not-In-Use programs :' TO PP69-103. 83347800 COMPUTE RESULT ROUNDED = (LDGSTGNIU(2) / 1024). 83348600 MOVE RESULT TO PP105-114. 83349400 MOVE 'K' TO PP115. 83350200 IF ECDSA-SIZE > 0 THEN 83351000 COMPUTE PERCENTAGE-WORK ROUNDED = 83351800 (LDGSTGNIU(2) / ECDSA-SIZE) 83352600 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 83353400 ELSE 83354200 MOVE 0 TO PERCENTAGE 83355000 END-IF. 83355800 MOVE PERCENTAGE TO PP117-122. 83356600 MOVE '% of ECDSA' TO PP123-132. 83357400 PERFORM WRITE-SPOOL. 83358200 83359000 MOVE 'SDSA used by Not-In-Use programs. :' TO PP3-37. 83359800 COMPUTE RESULT ROUNDED = (LDGSTGNIU(3) / 1024). 83360600 MOVE RESULT TO PP39-48. 83361400 MOVE 'K' TO PP49. 83362300 IF SDSA-SIZE > 0 THEN 83363200 COMPUTE PERCENTAGE-WORK ROUNDED = 83364100 (LDGSTGNIU(3) / SDSA-SIZE) 83365000 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 83365900 ELSE 83366800 MOVE 0 TO PERCENTAGE 83367700 END-IF. 83368600 MOVE PERCENTAGE TO PP51-56. 83369500 MOVE '% of SDSA ' TO PP57-66X. 83370400 MOVE 'ESDSA used by Not-In-Use programs :' TO PP69-103. 83371300 COMPUTE RESULT ROUNDED = (LDGSTGNIU(4) / 1024). 83372200 MOVE RESULT TO PP105-114. 83373100 MOVE 'K' TO PP115. 83374000 IF ESDSA-SIZE > 0 THEN 83374900 COMPUTE PERCENTAGE-WORK ROUNDED = 83375800 (LDGSTGNIU(4) / ESDSA-SIZE) 83376700 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 83377600 ELSE 83378500 MOVE 0 TO PERCENTAGE 83379400 END-IF. 83380300 MOVE PERCENTAGE TO PP117-122. 83381200 MOVE '% of ESDSA' TO PP123-132. 83382100 PERFORM WRITE-SPOOL. 83383000 83383900 MOVE 'RDSA used by Not-In-Use programs. :' TO PP3-37. 83384800 COMPUTE RESULT ROUNDED = (LDGSTGNIU(5) / 1024). 83385700 MOVE RESULT TO PP39-48. 83386600 MOVE 'K' TO PP49. 83387500 IF RDSA-SIZE > 0 THEN 83388400 COMPUTE PERCENTAGE-WORK ROUNDED = 83389300 (LDGSTGNIU(5) / RDSA-SIZE) 83390200 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 83391100 ELSE 83392000 MOVE 0 TO PERCENTAGE 83392900 END-IF. 83393800 MOVE PERCENTAGE TO PP51-56. 83394700 MOVE '% of RDSA ' TO PP57-66X. 83395600 MOVE 'ERDSA used by Not-In-Use programs :' TO PP69-103. 83396500 COMPUTE RESULT ROUNDED = (LDGSTGNIU(6) / 1024). 83397400 MOVE RESULT TO PP105-114. 83398300 MOVE 'K' TO PP115. 83399200 IF ERDSA-SIZE > 0 THEN 83400100 COMPUTE PERCENTAGE-WORK ROUNDED = 83401000 (LDGSTGNIU(6) / ERDSA-SIZE) 83401900 COMPUTE PERCENTAGE = (PERCENTAGE-WORK * 100) 83402800 ELSE 83403700 MOVE 0 TO PERCENTAGE 83404600 END-IF. 83405500 MOVE PERCENTAGE TO PP117-122. 83406400 MOVE '% of ERDSA' TO PP123-132. 83407300 PERFORM WRITE-SPOOL. 83408200 83409100 LOADER-STATISTICS-EXIT. 83410000 EXIT. 83410700 EJECT 83411000 ***************************************************************** 83411300 *** TRANSACTION-STATISTICS *** 83411600 *** Print heading and transaction statistics. *** 83411900 ***************************************************************** 83412200 TRANSACTION-STATISTICS SECTION. 83412500 83412800 PERFORM PAGE-HEADINGS. 83413100 83413400 MOVE '-' TO PRINT-CONTROL. 83413700 MOVE 'Transactions' TO PP1-12. 83414000 PERFORM WRITE-SPOOL. 83414300 MOVE '+' TO PRINT-CONTROL. 83414600 MOVE ALL '_' TO PP1-12. 83414900 PERFORM WRITE-SPOOL. 83415200 83415500 ***************************************************************** 83415800 *** Print the transaction statistics. *** 83416100 ***************************************************************** 83416400 83416700 MOVE '0' TO PRINT-CONTROL. 83417000 83417300 EXEC CICS INQUIRE TRANSACTION START 83417600 END-EXEC. 83417900 83418200 EXEC CICS INQUIRE TRANSACTION(TRANSACTION-ID) NEXT 83418500 ISOLATEST(ISOLATE) 83418800 TASKDATAKEY(TRANSACTION-DATAKEY) 83419100 TASKDATALOC(TRANSACTION-DATALOC) 83419400 RESP(INQUIRE-RESP) 83419700 END-EXEC. 83420000 83420300 PERFORM WITH TEST BEFORE 83420600 UNTIL INQUIRE-RESP = DFHRESP(END) 83420900 83421200 IF LINE-COUNT > LINES-PER-PAGE THEN 83421500 PERFORM PAGE-HEADINGS 83421800 END-IF 83422100 83422400 IF SUB-HEADINGS = 'Y' THEN 83422700 PERFORM TRANSACTION-SUB-HEADINGS 83423000 END-IF 83423300 83423600 EXEC CICS COLLECT STATISTICS TRANSACTION(TRANSACTION-ID) 83423900 SET(ADDRESS OF DFHXMRDS) 83424200 END-EXEC 83424300 83424400 PERFORM TRANSACTION-TOTALS 83424500 83424600 MOVE TRANSACTION-ID TO PP3-6 83424700 MOVE XMRTCL TO PP9-16 83424800 MOVE XMRPN TO PP19-26 83424900 IF XMRDYN = 'Y' THEN 83425000 MOVE 'Dynamic' TO PP29-35 83425100 ELSE 83425200 MOVE 'Static ' TO PP29-35 83425300 END-IF 83425400 EVALUATE ISOLATE 83425500 WHEN DFHVALUE(ISOLATE) 83425600 MOVE 'Yes' TO PP40-42 83425700 WHEN DFHVALUE(NOISOLATE) 83425800 MOVE ' No' TO PP40-42 83425900 WHEN OTHER 83426000 CONTINUE 83426100 END-EVALUATE 83426200 EVALUATE TRANSACTION-DATALOC 83426300 WHEN DFHVALUE(BELOW) 83426500 MOVE 'Below' TO PP48-52 83426600 WHEN DFHVALUE(ANY) 83426700 MOVE ' Any' TO PP48-52 83426800 WHEN OTHER 83426900 CONTINUE 83427000 END-EVALUATE 83427100 MOVE '/' TO PP53 83427200 EVALUATE TRANSACTION-DATAKEY 83427300 WHEN DFHVALUE(CICSDATAKEY) 83427400 MOVE 'CICS' TO PP54-57 83427500 WHEN DFHVALUE(USERDATAKEY) 83427600 MOVE 'USER' TO PP54-57 83427700 WHEN OTHER 83427800 CONTINUE 83427900 END-EVALUATE 83428000 MOVE XMRAC TO PP61-70 83428100 MOVE XMRRC TO PP73-82 83428200 MOVE XMRDLC TO PP85-94 83428300 MOVE XMRDRC TO PP97-108 83428400 MOVE XMRRSC TO PP111-120 83428500 83428600 PERFORM WRITE-SPOOL 83428700 83428800 EXEC CICS INQUIRE TRANSACTION(TRANSACTION-ID) NEXT 83428900 ISOLATEST(ISOLATE) 83429000 TASKDATAKEY(TRANSACTION-DATAKEY) 83429100 TASKDATALOC(TRANSACTION-DATALOC) 83429200 RESP(INQUIRE-RESP) 83429300 END-EXEC 83429400 83429500 END-PERFORM. 83429600 83429700 EXEC CICS INQUIRE TRANSACTION END 83429800 END-EXEC. 83429900 83430000 ***************************************************************** 83430100 *** Print the Transaction totals. *** 83430200 ***************************************************************** 83430500 83430800 IF TRANSACTION-TOTAL > 0 THEN 83431100 PERFORM PRINT-TRANSACTION-TOTALS 83431400 END-IF. 83431700 83432000 TRANSACTION-STATISTICS-EXIT. 83432300 EXIT. 83432600 EJECT 83432900 ***************************************************************** 83433200 *** TRANSACTION-SUB-HEADINGS *** 83433500 ***************************************************************** 83433800 TRANSACTION-SUB-HEADINGS SECTION. 83434100 83434400 MOVE '0' TO PRINT-CONTROL. 83434700 MOVE 'Tran Tran Program ' TO PP3-37. 83435000 MOVE ' Task Data Attach ' TO PP38-72. 83435300 MOVE ' Restart Dynamic - Coun' TO PP73-102. 83435600 MOVE 'ts Remote ' TO PP103-132. 83435900 PERFORM WRITE-SPOOL. 83436200 MOVE ' id Class Name Dynamic ' TO PP3-37. 83436500 MOVE 'Isolate Location/Key Count ' TO PP38-72. 83436800 MOVE ' Count Local Remo' TO PP73-102. 83437100 MOVE 'te Starts ' TO PP103-132. 83437400 PERFORM WRITE-SPOOL. 83437700 MOVE '+' TO PRINT-CONTROL. 83438000 MOVE ALL '_' TO PP3-120. 83438300 PERFORM WRITE-SPOOL. 83438600 83438900 MOVE '0' TO PRINT-CONTROL. 83439200 MOVE 'N' TO SUB-HEADINGS. 83439500 83439800 TRANSACTION-SUB-HEADINGS-EXIT. 83440100 EXIT. 83440400 83440700 ***************************************************************** 83441000 *** TRANSACTION-TOTALS *** 83441300 ***************************************************************** 83441600 TRANSACTION-TOTALS SECTION. 83441900 83442200 ADD 1 TO TRANSACTION-TOTAL. 83442300 ADD XMRAC TO TRANSACTION-ATTACHES. 83442400 ADD XMRRC TO TRANSACTION-RESTARTS. 83442500 ADD XMRDLC TO TRANSACTION-DYNAMIC-LOCAL. 83442600 ADD XMRDRC TO TRANSACTION-DYNAMIC-REMOTE. 83442700 ADD XMRRSC TO TRANSACTION-REMOTE-STARTS. 83442800 83442900 EVALUATE ISOLATE 83443200 WHEN DFHVALUE(ISOLATE) 83443500 EVALUATE TRANSACTION-DATALOC 83443800 WHEN DFHVALUE(BELOW) 83444100 EVALUATE TRANSACTION-DATAKEY 83444400 WHEN DFHVALUE(CICSDATAKEY) 83444700 ADD 1 TO TRANSACTION-TOTAL-1 83445000 ADD XMRAC TO TRANSACTION-ATTACHES-1 83445100 WHEN DFHVALUE(USERDATAKEY) 83445300 ADD 1 TO TRANSACTION-TOTAL-3 83445600 ADD XMRAC TO TRANSACTION-ATTACHES-3 83445700 END-EVALUATE 83445900 WHEN DFHVALUE(ANY) 83446200 EVALUATE TRANSACTION-DATAKEY 83446500 WHEN DFHVALUE(CICSDATAKEY) 83446800 ADD 1 TO TRANSACTION-TOTAL-2 83447100 ADD XMRAC TO TRANSACTION-ATTACHES-2 83447200 WHEN DFHVALUE(USERDATAKEY) 83447400 ADD 1 TO TRANSACTION-TOTAL-4 83447700 ADD XMRAC TO TRANSACTION-ATTACHES-4 83447800 END-EVALUATE 83448000 END-EVALUATE 83448300 WHEN DFHVALUE(NOISOLATE) 83448600 EVALUATE TRANSACTION-DATALOC 83448900 WHEN DFHVALUE(BELOW) 83449200 EVALUATE TRANSACTION-DATAKEY 83449500 WHEN DFHVALUE(CICSDATAKEY) 83449800 ADD 1 TO TRANSACTION-TOTAL-5 83450100 ADD XMRAC TO TRANSACTION-ATTACHES-5 83450200 WHEN DFHVALUE(USERDATAKEY) 83450400 ADD 1 TO TRANSACTION-TOTAL-7 83450700 ADD XMRAC TO TRANSACTION-ATTACHES-7 83450800 END-EVALUATE 83451000 WHEN DFHVALUE(ANY) 83451300 EVALUATE TRANSACTION-DATAKEY 83451700 WHEN DFHVALUE(CICSDATAKEY) 83452100 ADD 1 TO TRANSACTION-TOTAL-6 83452500 ADD XMRAC TO TRANSACTION-ATTACHES-6 83452700 WHEN DFHVALUE(USERDATAKEY) 83452900 ADD 1 TO TRANSACTION-TOTAL-8 83453300 ADD XMRAC TO TRANSACTION-ATTACHES-8 83453500 END-EVALUATE 83453700 END-EVALUATE 83454100 END-EVALUATE. 83454500 83454900 TRANSACTION-TOTALS-EXIT. 83455300 EXIT. 83455700 EJECT 83456100 ***************************************************************** 83456500 *** PRINT-TRANSACTION-TOTALS *** 83456900 ***************************************************************** 83457300 PRINT-TRANSACTION-TOTALS SECTION. 83457700 83458100 MOVE '+' TO PRINT-CONTROL. 83458500 MOVE ALL '_' TO PP3-120. 83458900 PERFORM WRITE-SPOOL. 83459300 MOVE 'Totals' TO PP3-8. 83459700 MOVE TRANSACTION-ATTACHES TO PP61-70. 83460100 MOVE TRANSACTION-RESTARTS TO PP73-82. 83460500 MOVE TRANSACTION-DYNAMIC-LOCAL TO PP85-94. 83460900 MOVE TRANSACTION-DYNAMIC-REMOTE TO PP97-108. 83461300 MOVE TRANSACTION-REMOTE-STARTS TO PP111-120. 83461700 PERFORM WRITE-SPOOL. 83462100 83462500 PERFORM PAGE-HEADINGS. 83462900 83463300 MOVE '-' TO PRINT-CONTROL. 83463700 MOVE 'Transaction Totals' TO PP1-18. 83464100 PERFORM WRITE-SPOOL. 83464500 MOVE '+' TO PRINT-CONTROL. 83464900 MOVE ALL '_' TO PP1-18. 83465300 PERFORM WRITE-SPOOL. 83465700 83466100 MOVE '0' TO PRINT-CONTROL. 83466500 MOVE ' Task Data Subspace T' TO PP3-37. 83466900 MOVE 'ransaction Attach ' TO PP38-72. 83467100 PERFORM WRITE-SPOOL. 83467300 MOVE ' Isolate Location/Key Usage ' TO PP3-37. 83467700 MOVE ' Count Count ' TO PP38-72. 83467900 PERFORM WRITE-SPOOL. 83468200 MOVE '+' TO PRINT-CONTROL. 83468500 MOVE ALL '_' TO PP3-59. 83468900 PERFORM WRITE-SPOOL. 83469300 83469700 MOVE '0' TO PRINT-CONTROL. 83470100 MOVE ' Yes Below/CICS None ' TO PP3-34. 83470500 MOVE TRANSACTION-TOTAL-1 TO PP37-46. 83470900 MOVE TRANSACTION-ATTACHES-1 TO PP50-59. 83471100 PERFORM WRITE-SPOOL. 83471300 MOVE ' Yes Any/CICS None ' TO PP3-34. 83471700 MOVE TRANSACTION-TOTAL-2 TO PP37-46. 83472100 MOVE TRANSACTION-ATTACHES-2 TO PP50-59. 83472300 PERFORM WRITE-SPOOL. 83472500 MOVE ' Yes Below/USER Unique ' TO PP3-34. 83472900 MOVE TRANSACTION-TOTAL-3 TO PP37-46. 83473300 MOVE TRANSACTION-ATTACHES-3 TO PP50-59. 83473500 PERFORM WRITE-SPOOL. 83473700 MOVE ' Yes Any/USER Unique ' TO PP3-34. 83474100 MOVE TRANSACTION-TOTAL-4 TO PP37-46. 83474500 MOVE TRANSACTION-ATTACHES-4 TO PP50-59. 83474700 PERFORM WRITE-SPOOL. 83474900 83475300 MOVE '0' TO PRINT-CONTROL. 83475500 MOVE ' No Below/CICS Common ' TO PP3-34. 83475700 MOVE TRANSACTION-TOTAL-5 TO PP37-46. 83476100 MOVE TRANSACTION-ATTACHES-5 TO PP50-59. 83476300 PERFORM WRITE-SPOOL. 83476500 MOVE ' No Any/CICS Common ' TO PP3-34. 83476900 MOVE TRANSACTION-TOTAL-6 TO PP37-46. 83477300 MOVE TRANSACTION-ATTACHES-6 TO PP50-59. 83477500 PERFORM WRITE-SPOOL. 83477700 MOVE ' No Below/USER Common ' TO PP3-34. 83478100 MOVE TRANSACTION-TOTAL-7 TO PP37-46. 83478500 MOVE TRANSACTION-ATTACHES-7 TO PP50-59. 83478700 PERFORM WRITE-SPOOL. 83478900 MOVE ' No Any/USER Common ' TO PP3-34. 83479300 MOVE TRANSACTION-TOTAL-8 TO PP37-46. 83479700 MOVE TRANSACTION-ATTACHES-8 TO PP50-59. 83479900 PERFORM WRITE-SPOOL. 83480100 83480200 MOVE '+' TO PRINT-CONTROL. 83480300 MOVE ALL '_' TO PP3-59. 83480400 PERFORM WRITE-SPOOL. 83480500 MOVE 'Totals' TO PP3-8. 83480600 MOVE TRANSACTION-TOTAL TO PP37-46. 83480700 MOVE TRANSACTION-ATTACHES TO PP50-59. 83480800 PERFORM WRITE-SPOOL. 83480900 83481000 PERFORM PRINT-SUBSPACE-STATISTICS. 83481100 83481200 PRINT-TRANSACTION-TOTALS-EXIT. 83481300 EXIT. 83481400 83481500 ***************************************************************** 83481600 *** SUBSPACE-STATISTICS *** 83481700 *** Print heading and subspace statistics. *** 83481800 ***************************************************************** 83481900 PRINT-SUBSPACE-STATISTICS SECTION. 83482000 83482100 ***************************************************************** 83482200 *** Get the Storage Manager DSA statistics. *** 83482300 ***************************************************************** 83482400 EXEC CICS COLLECT STATISTICS STORAGE 83482500 SET(ADDRESS OF DFHSMSDS) 83482600 END-EXEC. 83482700 83482800 ***************************************************************** 83482900 *** Print heading and Subspace statistics *** 83483000 ***************************************************************** 83483100 MOVE '-' TO PRINT-CONTROL. 83483200 MOVE 'Subspace Statistics' TO PP1-19. 83483300 PERFORM WRITE-SPOOL. 83483400 MOVE '+' TO PRINT-CONTROL. 83483500 MOVE ALL '_' TO PP1-19. 83483600 PERFORM WRITE-SPOOL. 83483700 83483800 MOVE '0' TO PRINT-CONTROL. 83483900 MOVE 'Current Unique Subspace Users (Isolate=Yes). . . :' 83484000 TO PP3-52. 83484100 MOVE SMSUSSCUR TO PP55-64. 83484200 PERFORM WRITE-SPOOL. 83484300 MOVE 'Peak Unique Subspace Users (Isolate=Yes) . . . . :' 83484400 TO PP3-52. 83484500 MOVE SMSUSSHWM TO PP55-64. 83484600 PERFORM WRITE-SPOOL. 83484700 MOVE 'Total Unique Subspace Users (Isolate=Yes). . . . :' 83484800 TO PP3-52. 83484900 MOVE SMSUSSCUM TO PP55-64. 83485000 PERFORM WRITE-SPOOL. 83485100 83485200 MOVE '0' TO PRINT-CONTROL. 83485300 MOVE 'Current Common Subspace Users (Isolate=No) . . . :' 83485400 TO PP3-52. 83485500 MOVE SMSCSSCUR TO PP55-64. 83485600 PERFORM WRITE-SPOOL. 83485700 MOVE 'Peak Common Subspace Users (Isolate=No). . . . . :' 83485800 TO PP3-52. 83485900 MOVE SMSCSSHWM TO PP55-64. 83486000 PERFORM WRITE-SPOOL. 83486100 MOVE 'Total Common Subspace Users (Isolate=No) . . . . :' 83486200 TO PP3-52. 83486300 MOVE SMSCSSCUM TO PP55-64. 83486400 PERFORM WRITE-SPOOL. 83486500 83486600 83486700 PRINT-SUBSPACE-STATISTICS-EXIT. 83486800 EXIT. 83486900 EJECT 83487000 ***************************************************************** 83487100 *** PROGRAM-STATISTICS *** 83487200 *** Print heading and program statistics. *** 83487300 ***************************************************************** 83487400 PROGRAM-STATISTICS SECTION. 83487500 83487600 PERFORM PAGE-HEADINGS. 83487700 83487800 MOVE '-' TO PRINT-CONTROL. 83487900 MOVE 'Programs' TO PP1-8. 83488000 PERFORM WRITE-SPOOL. 83488100 MOVE '+' TO PRINT-CONTROL. 83488200 MOVE ALL '_' TO PP1-8. 83488300 PERFORM WRITE-SPOOL. 83488400 83488500 ***************************************************************** 83488600 *** Print the program statistics. *** 83488700 ***************************************************************** 83488800 83488900 MOVE '0' TO PRINT-CONTROL. 83489000 83489100 EXEC CICS INQUIRE PROGRAM START 83489200 END-EXEC. 83489300 83489400 EXEC CICS INQUIRE PROGRAM(PROGRAM-NAME) NEXT 83489500 DATALOCATION(PROGRAM-DATALOC) 83489600 EXECKEY(PROGRAM-EXECKEY) 83489700 LANGUAGE(PROGRAM-LANGUAGE) 83489800 PROGTYPE(PROGRAM-TYPE) 83489900 RESP(INQUIRE-RESP) 83490000 END-EXEC. 83490100 83490200 PERFORM WITH TEST BEFORE 83490300 UNTIL INQUIRE-RESP = DFHRESP(END) 83490400 83490500 IF LINE-COUNT > LINES-PER-PAGE THEN 83490600 PERFORM PAGE-HEADINGS 83490700 END-IF 83490800 83490900 IF SUB-HEADINGS = 'Y' THEN 83491000 PERFORM PROGRAM-SUB-HEADINGS 83491100 END-IF 83491200 83491300 EXEC CICS COLLECT STATISTICS PROGRAM(PROGRAM-NAME) 83491400 SET(ADDRESS OF DFHLDRDS) 83491500 END-EXEC 83491600 83491700 ADD 1 TO PROGRAM-TOTAL 83491800 83491900 MOVE PROGRAM-NAME TO PP3-10 83492000 EVALUATE PROGRAM-DATALOC 83492100 WHEN DFHVALUE(BELOW) 83492200 MOVE 'Below' TO PP13-17 83492300 WHEN DFHVALUE(ANY) 83492400 MOVE ' Any ' TO PP13-17 83492500 WHEN OTHER 83492600 MOVE ' ' TO PP13-17 83492700 END-EVALUATE 83492800 EVALUATE PROGRAM-EXECKEY 83492900 WHEN DFHVALUE(CICSEXECKEY) 83493000 MOVE 'CICS' TO PP20-23 83493100 WHEN DFHVALUE(USEREXECKEY) 83493200 MOVE 'USER' TO PP20-23 83493300 WHEN OTHER 83493400 MOVE ' ' TO PP20-23 83493500 END-EVALUATE 83493600 EVALUATE PROGRAM-TYPE 83493700 WHEN DFHVALUE(PROGRAM) 83493800 ADD 1 TO PROGRAMS 83493900 EVALUATE PROGRAM-LANGUAGE 83494000 WHEN DFHVALUE(ASSEMBLER) 83494100 ADD 1 TO ASSEMBLER-PROGRAMS 83494200 WHEN DFHVALUE(C) 83494300 ADD 1 TO C-PROGRAMS 83494400 WHEN DFHVALUE(COBOL) 83494500 ADD 1 TO COBOL-PROGRAMS 83494600 WHEN DFHVALUE(LE370) 83494700 ADD 1 TO LE370-PROGRAMS 83494800 WHEN DFHVALUE(PLI) 83494900 ADD 1 TO PL1-PROGRAMS 83495000 WHEN DFHVALUE(PL1) 83495100 ADD 1 TO PL1-PROGRAMS 83495200 WHEN OTHER 83495300 ADD 1 TO OTHER-PROGRAMS 83495400 END-EVALUATE 83495500 WHEN DFHVALUE(MAP) 83495600 ADD 1 TO MAPS 83495700 WHEN DFHVALUE(PARTITIONSET) 83495800 ADD 1 TO PARTITIONSETS 83495900 WHEN OTHER 83496000 CONTINUE 83496100 END-EVALUATE 83496200 MOVE LDRTU TO PP26-35 83496300 IF LDRPSIZE > 0 THEN 83496400 PERFORM PROGRAM-TOTALS 83496500 MOVE LDRFC TO PP38-47 83496600 IF LDRFC > 0 THEN 83496700 MOVE LDRFT TO CLOCK-FIELD-S 83496800 PERFORM STOPWATCH-CONVERT 83496900 MOVE STOPWATCH TO PP50-63 83497000 COMPUTE CLOCK-FIELD-S = (LDRFT / LDRFC) 83497100 PERFORM STOPWATCH-CONVERT 83497200 MOVE STOPWATCH TO PP66-79 83497300 END-IF 83497400 MOVE LDRRPLO TO PP83-85 83497500 MOVE LDRPSIZE TO PP113-122 83497600 IF LDRNOCO 83497700 ADD 1 TO UNUSED-PROGRAMS 83497800 END-IF 83497900 ELSE 83498000 ADD 1 TO NOT-LOCATED-PROGRAMS 83498100 END-IF 83498200 MOVE LDRTN TO PP89-98 83498300 MOVE LDRRPC TO PP101-110 83498400 IF LDRNOCO 83498500 MOVE 'None ' TO PP127-131 83498600 END-IF 83498700 IF LDRCDCO 83498800 ADD 1 TO CDSA-PROGRAMS 83498900 MOVE 'CDSA ' TO PP127-131 83499000 END-IF 83499100 IF LDRRDCO 83499200 ADD 1 TO RDSA-PROGRAMS 83499300 MOVE 'RDSA ' TO PP127-131 83499400 END-IF 83499500 IF LDRSDCO 83499600 ADD 1 TO SDSA-PROGRAMS 83499700 MOVE 'SDSA ' TO PP127-131 83499800 END-IF 83499900 IF LDRECDCO 83500000 ADD 1 TO ECDSA-PROGRAMS 83500100 MOVE 'ECDSA' TO PP127-131 83500200 END-IF 83500300 IF LDRESDCO 83500400 ADD 1 TO ESDSA-PROGRAMS 83500500 MOVE 'ESDSA' TO PP127-131 83500600 END-IF 83500700 IF LDRERDCO 83500800 ADD 1 TO ERDSA-PROGRAMS 83500900 MOVE 'ERDSA' TO PP127-131 83501000 END-IF 83501100 IF LDRLPACO 83501200 ADD 1 TO LPA-PROGRAMS 83501300 MOVE 'LPA ' TO PP127-131 83501400 END-IF 83501500 IF LDRELPCO 83501600 ADD 1 TO ELPA-PROGRAMS 83501700 MOVE 'ELPA ' TO PP127-131 83501800 END-IF 83501900 83502000 PERFORM WRITE-SPOOL 83502100 83502200 EXEC CICS INQUIRE PROGRAM(PROGRAM-NAME) NEXT 83502300 DATALOCATION(PROGRAM-DATALOC) 83502400 EXECKEY(PROGRAM-EXECKEY) 83502500 LANGUAGE(PROGRAM-LANGUAGE) 83502600 PROGTYPE(PROGRAM-TYPE) 83502700 RESP(INQUIRE-RESP) 83502800 END-EXEC 83502900 83503000 END-PERFORM. 83503100 83503200 EXEC CICS INQUIRE PROGRAM END 83503300 END-EXEC. 83503400 83503600 ***************************************************************** 83503800 *** Print the Program totals and an analysis of programs *** 83504000 *** by their DFHRPL library concatenation. *** 83504200 ***************************************************************** 83504400 83504600 IF PROGRAM-TOTAL > 0 THEN 83504800 PERFORM PRINT-PROGRAM-TOTALS 83505000 83505200 PERFORM PRINT-DFHRPL-ANALYSIS 83505400 END-IF. 83505600 83505800 PROGRAM-STATISTICS-EXIT. 83506000 EXIT. 83506200 EJECT 83506400 ***************************************************************** 83506600 *** PROGRAM-SUB-HEADINGS *** 83506800 ***************************************************************** 83507000 PROGRAM-SUB-HEADINGS SECTION. 83507200 83507400 MOVE '0' TO PRINT-CONTROL. 83507600 MOVE 'Program Data Exec ' TO PP3-37. 83507800 MOVE ' Times Total Aver' TO PP38-72. 83508000 MOVE 'age RPL Times ' TO PP73-102. 83508200 MOVE ' Times Program Program ' TO PP103-132. 83508400 PERFORM WRITE-SPOOL. 83508600 MOVE ' Name Loc Key Times Used ' TO PP3-37. 83508800 MOVE ' Fetched Fetch Time Fetch' TO PP38-72. 83509000 MOVE ' Time Offset Newcopy ' TO PP73-102. 83509200 MOVE 'Removed Size Location' TO PP103-132. 83509400 PERFORM WRITE-SPOOL. 83509600 MOVE '+' TO PRINT-CONTROL. 83509800 MOVE ALL '_' TO PP3-132. 83510000 PERFORM WRITE-SPOOL. 83510200 83510400 MOVE '0' TO PRINT-CONTROL. 83510600 MOVE 'N' TO SUB-HEADINGS. 83510800 83511000 PROGRAM-SUB-HEADINGS-EXIT. 83511200 EXIT. 83511400 83511600 ***************************************************************** 83511800 *** PROGRAM-TOTALS *** 83512000 ***************************************************************** 83512200 PROGRAM-TOTALS SECTION. 83512400 83512600 MOVE LDRRPLO TO SUB1. 83512800 ADD 1 TO SUB1. 83513000 83513200 IF SUB1 NOT > 96 THEN 83513300 ADD 1 TO DFHRPL-PROGRAMS(SUB1) 83513400 ADD LDRTU TO TIMES-USED 83513600 DFHRPL-PROGRAM-USES(SUB1) 83513800 ADD LDRFC TO TIMES-FETCHED 83514000 DFHRPL-PROGRAM-FETCHES(SUB1) 83514200 ADD LDRFT TO DFHRPL-PROGRAM-FETCH-TIME(SUB1) 83514400 ADD LDRTN TO TIMES-NEWCOPY 83514600 DFHRPL-PROGRAM-NEWCOPIES(SUB1) 83514800 ADD LDRRPC TO TIMES-REMOVED 83515000 DFHRPL-PROGRAM-REMOVES(SUB1) 83515200 83515400 IF SUB1 > MAX-RPL-OFFSET THEN 83515600 MOVE SUB1 TO MAX-RPL-OFFSET 83515800 END-IF 83516000 END-IF. 83516100 83516200 PROGRAM-TOTALS-EXIT. 83516400 EXIT. 83516600 EJECT 83516800 ***************************************************************** 83517000 *** PRINT-PROGRAM-TOTALS *** 83517200 ***************************************************************** 83517400 PRINT-PROGRAM-TOTALS SECTION. 83517600 83517800 MOVE '+' TO PRINT-CONTROL. 83518000 MOVE ALL '_' TO PP3-132. 83518200 PERFORM WRITE-SPOOL. 83518400 MOVE 'Totals' TO PP3-8. 83518500 MOVE TIMES-USED TO PP26-35. 83518600 MOVE TIMES-FETCHED TO PP38-47. 83518800 MOVE TIMES-NEWCOPY TO PP89-98. 83519000 MOVE TIMES-REMOVED TO PP101-110. 83519200 PERFORM WRITE-SPOOL. 83519400 83519600 PERFORM PAGE-HEADINGS. 83519800 83520000 MOVE '-' TO PRINT-CONTROL. 83520200 MOVE 'Program Totals' TO PP1-14. 83520400 PERFORM WRITE-SPOOL. 83520600 MOVE '+' TO PRINT-CONTROL. 83520800 MOVE ALL '_' TO PP1-14. 83521000 PERFORM WRITE-SPOOL. 83521200 83521400 MOVE '0' TO PRINT-CONTROL. 83521600 MOVE 'Programs. . . . . . . :' TO PP3-25. 83521800 MOVE PROGRAMS TO PP28-37. 83522000 PERFORM WRITE-SPOOL. 83522200 MOVE ' Assembler . . . . . :' TO PP3-25. 83522400 MOVE ASSEMBLER-PROGRAMS TO PP28-37. 83522600 PERFORM WRITE-SPOOL. 83522800 MOVE ' C . . . . . . . . . :' TO PP3-25. 83523000 MOVE C-PROGRAMS TO PP28-37. 83523200 PERFORM WRITE-SPOOL. 83523400 MOVE ' COBOL . . . . . . . :' TO PP3-25. 83523600 MOVE COBOL-PROGRAMS TO PP28-37. 83523800 PERFORM WRITE-SPOOL. 83524000 MOVE ' LE/370. . . . . . . :' TO PP3-25. 83524100 MOVE LE370-PROGRAMS TO PP28-37. 83524200 PERFORM WRITE-SPOOL. 83524300 MOVE ' PL1 . . . . . . . . :' TO PP3-25. 83524400 MOVE PL1-PROGRAMS TO PP28-37. 83524500 PERFORM WRITE-SPOOL. 83524600 MOVE ' Other . . . . . . . :' TO PP3-25. 83524800 MOVE OTHER-PROGRAMS TO PP28-37. 83525000 PERFORM WRITE-SPOOL. 83525200 MOVE 'Maps. . . . . . . . . :' TO PP3-25. 83525400 MOVE MAPS TO PP28-37. 83525600 PERFORM WRITE-SPOOL. 83525800 MOVE 'Partitionsets . . . . :' TO PP3-25. 83526000 MOVE PARTITIONSETS TO PP28-37. 83526200 PERFORM WRITE-SPOOL. 83526400 MOVE '+' TO PRINT-CONTROL. 83526600 MOVE ALL '_' TO PP3-37. 83526800 PERFORM WRITE-SPOOL. 83527000 MOVE 'Total . . . . . . . . :' TO PP3-25. 83527200 MOVE PROGRAM-TOTAL TO PP28-37. 83527400 PERFORM WRITE-SPOOL. 83527600 83527800 MOVE '-' TO PRINT-CONTROL. 83528000 MOVE 'CDSA Programs . . . . :' TO PP3-25. 83528200 MOVE CDSA-PROGRAMS TO PP28-37. 83528400 PERFORM WRITE-SPOOL. 83528600 MOVE 'SDSA Programs . . . . :' TO PP3-25. 83528800 MOVE SDSA-PROGRAMS TO PP28-37. 83529000 PERFORM WRITE-SPOOL. 83529200 MOVE 'RDSA Programs . . . . :' TO PP3-25. 83529300 MOVE RDSA-PROGRAMS TO PP28-37. 83529400 PERFORM WRITE-SPOOL. 83529500 83529600 MOVE '0' TO PRINT-CONTROL. 83529700 MOVE 'ECDSA Programs. . . . :' TO PP3-25. 83529800 MOVE ECDSA-PROGRAMS TO PP28-37. 83529900 PERFORM WRITE-SPOOL. 83530000 MOVE 'ESDSA Programs. . . . :' TO PP3-25. 83530100 MOVE ESDSA-PROGRAMS TO PP28-37. 83530200 PERFORM WRITE-SPOOL. 83530400 MOVE 'ERDSA Programs. . . . :' TO PP3-25. 83530600 MOVE ERDSA-PROGRAMS TO PP28-37. 83530800 PERFORM WRITE-SPOOL. 83531000 83531200 MOVE '0' TO PRINT-CONTROL. 83531400 MOVE 'LPA Programs. . . . . :' TO PP3-25. 83531600 MOVE LPA-PROGRAMS TO PP28-37. 83531800 PERFORM WRITE-SPOOL. 83532000 MOVE 'ELPA Programs . . . . :' TO PP3-25. 83532200 MOVE ELPA-PROGRAMS TO PP28-37. 83532400 PERFORM WRITE-SPOOL. 83532600 83532800 MOVE '0' TO PRINT-CONTROL. 83533000 MOVE 'Unused Programs . . . :' TO PP3-25. 83533200 MOVE UNUSED-PROGRAMS TO PP28-37. 83533400 PERFORM WRITE-SPOOL. 83533600 MOVE 'Not Located Programs. :' TO PP3-25. 83533800 MOVE NOT-LOCATED-PROGRAMS TO PP28-37. 83534000 PERFORM WRITE-SPOOL. 83534200 MOVE '+' TO PRINT-CONTROL. 83534300 MOVE ALL '_' TO PP3-37. 83534400 PERFORM WRITE-SPOOL. 83534500 MOVE 'Total . . . . . . . . :' TO PP3-25. 83534600 MOVE PROGRAM-TOTAL TO PP28-37. 83534700 PERFORM WRITE-SPOOL. 83534800 83534900 PRINT-PROGRAM-TOTALS-EXIT. 83535000 EXIT. 83535100 EJECT 83535200 ***************************************************************** 83535300 *** PRINT-DFHRPL-ANALYSIS *** 83535400 ***************************************************************** 83535600 PRINT-DFHRPL-ANALYSIS SECTION. 83535800 83536000 PERFORM PAGE-HEADINGS. 83536200 83536400 MOVE '-' TO PRINT-CONTROL. 83536600 MOVE 'DFHRPL Analysis' TO PP1-15. 83536800 PERFORM WRITE-SPOOL. 83537000 MOVE '+' TO PRINT-CONTROL. 83537200 MOVE ALL '_' TO PP1-15. 83537400 PERFORM WRITE-SPOOL. 83537600 83537800 PERFORM DFHRPL-SUB-HEADINGS. 83539000 83539100 ***************************************************************** 83541900 *** Now print the information for each DFHRPL dataset used. *** 83542000 ***************************************************************** 83542100 MOVE 1 TO SUB1. 83542200 MOVE 0 TO SUB2. 83542300 83542400 PERFORM WITH TEST BEFORE 83542500 UNTIL SUB1 > MAX-RPL-OFFSET 83542600 83542700 IF LINE-COUNT > LINES-PER-PAGE THEN 83542800 PERFORM PAGE-HEADINGS 83542900 END-IF 83543000 83543100 IF SUB-HEADINGS = 'Y' THEN 83543200 PERFORM DFHRPL-SUB-HEADINGS 83543300 END-IF 83543400 83543500 MOVE SUB2 TO PP4-6 83543600 MOVE DFHRPL-PROGRAMS(SUB1) TO PP11-20 83543800 MOVE DFHRPL-PROGRAM-USES(SUB1) TO PP23-32 83543900 MOVE DFHRPL-PROGRAM-FETCHES(SUB1) TO PP35-44 83544000 IF DFHRPL-PROGRAM-FETCHES(SUB1) > 0 THEN 83544100 COMPUTE CLOCK-FIELD-S = 83544200 (DFHRPL-PROGRAM-FETCH-TIME(SUB1) / 83544300 DFHRPL-PROGRAM-FETCHES(SUB1)) 83544400 PERFORM STOPWATCH-CONVERT 83544600 MOVE STOPWATCH TO PP47-60 83544800 END-IF 83545000 MOVE DFHRPL-PROGRAM-NEWCOPIES(SUB1) TO PP63-72 83545200 MOVE DFHRPL-PROGRAM-REMOVES(SUB1) TO PP75-84 83545400 83545600 PERFORM WRITE-SPOOL 83545700 83545800 ADD 1 TO SUB1 83545900 SUB2 83546000 83546100 END-PERFORM. 83546200 83546300 ***************************************************************** 83547100 *** Now print the totals for 'ALL' the DFHRPL datasets used. *** 83547200 ***************************************************************** 83547300 MOVE '+' TO PRINT-CONTROL. 83547400 MOVE ALL '_' TO PP3-84. 83547600 PERFORM WRITE-SPOOL. 83547700 MOVE 'Totals' TO PP3-8. 83547900 COMPUTE RESULT = (PROGRAM-TOTAL - NOT-LOCATED-PROGRAMS). 83548000 MOVE RESULT TO PP11-20. 83548100 MOVE TIMES-USED TO PP23-32. 83548200 MOVE TIMES-FETCHED TO PP35-44. 83548300 MOVE TIMES-NEWCOPY TO PP63-72. 83548400 MOVE TIMES-REMOVED TO PP75-84. 83548500 PERFORM WRITE-SPOOL. 83548600 83548700 PRINT-DFHRPL-ANALYSIS-EXIT. 83548800 EXIT. 83548900 83549000 ***************************************************************** 83549100 *** DFHRPL-SUB-HEADINGS *** 83549200 ***************************************************************** 83549300 DFHRPL-SUB-HEADINGS SECTION. 83549400 83549500 MOVE '0' TO PRINT-CONTROL. 83549600 MOVE ' RPL ' TO PP3-37. 83549700 MOVE ' Average ' TO PP38-72. 83549800 PERFORM WRITE-SPOOL. 83549900 MOVE 'Offset Programs Times Used F' TO PP3-37. 83550000 MOVE 'etches Fetch Time Newcopies' TO PP38-72. 83550100 MOVE ' Removes ' TO PP73-102. 83550200 PERFORM WRITE-SPOOL. 83550400 MOVE '+' TO PRINT-CONTROL. 83550500 MOVE ALL '_' TO PP3-84. 83550600 PERFORM WRITE-SPOOL. 83550800 83550900 MOVE '0' TO PRINT-CONTROL. 83551000 MOVE 'N' TO SUB-HEADINGS. 83551100 83551200 DFHRPL-SUB-HEADINGS-EXIT. 83551300 EXIT. 83551400 EJECT 83551500 ***************************************************************** 83551600 *** TEMP-STORAGE-STATISTICS *** 83551700 *** Collect the Temporary Storage Global statistics. *** 83551800 *** Print heading and Temporary Storage statistics. *** 83551900 ***************************************************************** 83552000 TEMP-STORAGE-STATISTICS SECTION. 83552100 83552200 PERFORM PAGE-HEADINGS. 83552300 83552400 MOVE '-' TO PRINT-CONTROL. 83552500 MOVE 'Temporary Storage' TO PP1-17. 83552600 PERFORM WRITE-SPOOL. 83552700 MOVE '+' TO PRINT-CONTROL. 83552800 MOVE ALL '_' TO PP1-17. 83552900 PERFORM WRITE-SPOOL. 83553000 83553100 ***************************************************************** 83553200 *** Collect the Temporary Storage Global statistics. *** 83553300 ***************************************************************** 83553400 EXEC CICS COLLECT STATISTICS TSQUEUE 83553500 SET(ADDRESS OF DFHA12DS) 83553600 END-EXEC. 83553700 83553800 ***************************************************************** 83553900 *** Print the Temporary Storage Global statistics. *** 83554000 ***************************************************************** 83554100 MOVE '0' TO PRINT-CONTROL. 83554200 MOVE 'Put/Putq main storage requests . . . . . :' 83554300 TO PP3-44. 83554400 MOVE A12STA5F TO PP47-56. 83554500 PERFORM WRITE-SPOOL. 83554600 MOVE 'Get/Getq main storage requests . . . . . :' 83554700 TO PP3-44. 83554800 MOVE A12NMG TO PP47-56. 83554900 PERFORM WRITE-SPOOL. 83555000 MOVE 'Peak storage used for TS Main. . . . . . :' 83555100 TO PP3-44. 83555200 COMPUTE RESULT = (A12STA6F / 1024). 83555300 MOVE RESULT TO PP47-56. 83555400 MOVE 'K' TO PP57. 83555500 PERFORM WRITE-SPOOL. 83555600 MOVE 'Current storage used for TS Main . . . . :' 83555700 TO PP3-44. 83555800 COMPUTE RESULT = (A12STA6A / 1024). 83555900 MOVE RESULT TO PP47-56. 83556000 MOVE 'K' TO PP57. 83556100 PERFORM WRITE-SPOOL. 83556200 83556300 MOVE '0' TO PRINT-CONTROL. 83556400 MOVE 'Put/Putq auxiliary storage requests. . . :' 83556500 TO PP3-44. 83556600 MOVE A12STA7F TO PP47-56. 83556700 PERFORM WRITE-SPOOL. 83556800 MOVE 'Get/Getq auxiliary storage requests. . . :' 83556900 TO PP3-44. 83557000 MOVE A12NAG TO PP47-56. 83557100 PERFORM WRITE-SPOOL. 83557200 83557300 MOVE '0' TO PRINT-CONTROL. 83557400 MOVE 'Times temporary storage queue created. . :' 83557500 TO PP3-44. 83557600 MOVE A12STA3F TO PP47-56. 83557700 PERFORM WRITE-SPOOL. 83557800 MOVE 'Peak temporary storage queues in use . . :' 83557900 TO PP3-44. 83558000 MOVE A12QNUMH TO PP47-56. 83558100 PERFORM WRITE-SPOOL. 83558200 MOVE 'Current temporary storage queues in use. :' 83558300 TO PP3-44. 83558400 MOVE A12QNUM TO PP47-56. 83558500 PERFORM WRITE-SPOOL. 83558600 MOVE 'Items in longest queue . . . . . . . . . :' 83558700 TO PP3-44. 83558800 MOVE A12QINH TO PP47-56. 83558900 PERFORM WRITE-SPOOL. 83559000 MOVE 'Queue extension threshold. . . . . . . . :' 83559100 TO PP3-44. 83559200 MOVE A12GIDNE TO PP47-56. 83559300 PERFORM WRITE-SPOOL. 83559400 MOVE 'Queue extensions created . . . . . . . . :' 83559500 TO PP3-44. 83559600 MOVE A12STA4F TO PP47-56. 83559700 PERFORM WRITE-SPOOL. 83559800 83559900 MOVE '0' TO PRINT-CONTROL. 83560000 MOVE 'Control interval size. . . . . . . . . . :' 83560100 TO PP3-44. 83560200 MOVE A12CSZ TO PP47-56. 83560300 PERFORM WRITE-SPOOL. 83560400 MOVE 'Control intervals in the DFHTEMP dataset :' 83560500 TO PP3-44. 83560600 MOVE A12NCI TO PP47-56. 83560700 PERFORM WRITE-SPOOL. 83560800 MOVE 'Peak control intervals used. . . . . . . :' 83560900 TO PP3-44. 83561000 MOVE A12NCIAH TO PP47-56. 83561100 PERFORM WRITE-SPOOL. 83561200 MOVE 'Current control intervals in use . . . . :' 83561300 TO PP3-44. 83561400 MOVE A12NCIA TO PP47-56. 83561500 PERFORM WRITE-SPOOL. 83561600 MOVE 'Available bytes per control interval . . :' 83561700 TO PP3-44. 83561800 MOVE A12NAVB TO PP47-56. 83561900 PERFORM WRITE-SPOOL. 83562000 MOVE 'Segments per control interval. . . . . . :' 83562100 TO PP3-44. 83562200 MOVE A12SPCI TO PP47-56. 83562300 PERFORM WRITE-SPOOL. 83562400 MOVE 'Bytes per segment. . . . . . . . . . . . :' 83562500 TO PP3-44. 83562600 MOVE A12BPSEG TO PP47-56. 83562700 PERFORM WRITE-SPOOL. 83562800 MOVE 'Writes bigger than control interval size :' 83562900 TO PP3-44. 83563000 MOVE A12STABF TO PP47-56. 83563100 PERFORM WRITE-SPOOL. 83563200 MOVE 'Largest record length written. . . . . . :' 83563300 TO PP3-44. 83563400 MOVE A12LAR TO PP47-56. 83563500 PERFORM WRITE-SPOOL. 83563600 MOVE 'Times auxiliary storage exhausted. . . . :' 83563700 TO PP3-44. 83563800 MOVE A12STA8F TO PP47-56. 83563900 PERFORM WRITE-SPOOL. 83564000 MOVE 'Number Temporary storage compressions. . :' 83564100 TO PP3-44. 83564200 MOVE A12STA9F TO PP47-56. 83564300 PERFORM WRITE-SPOOL. 83564400 83564500 MOVE '0' TO PRINT-CONTROL. 83564600 MOVE 'Temporary storage strings. . . . . . . . :' 83564700 TO PP3-44. 83564800 MOVE A12NVCA TO PP47-56. 83564900 PERFORM WRITE-SPOOL. 83565000 MOVE 'Peak Temporary storage strings in use. . :' 83565100 TO PP3-44. 83565200 MOVE A12NVCAH TO PP47-56. 83565300 PERFORM WRITE-SPOOL. 83565400 MOVE 'Temporary storage string waits . . . . . :' 83565500 TO PP3-44. 83565600 MOVE A12VWTN TO PP47-56. 83565700 PERFORM WRITE-SPOOL. 83565800 MOVE 'Peak users waiting on string . . . . . . :' 83565900 TO PP3-44. 83566000 MOVE A12VUWTH TO PP47-56. 83566100 PERFORM WRITE-SPOOL. 83566200 MOVE 'Current users waiting on string. . . . . :' 83566300 TO PP3-44. 83566400 MOVE A12VUWT TO PP47-56. 83566500 PERFORM WRITE-SPOOL. 83566600 83566700 MOVE '0' TO PRINT-CONTROL. 83566800 MOVE 'Temporary storage buffers. . . . . . . . :' 83566900 TO PP3-44. 83567000 MOVE A12NBCA TO PP47-56. 83567100 PERFORM WRITE-SPOOL. 83567200 MOVE 'Temporary storage buffer waits . . . . . :' 83567300 TO PP3-44. 83567400 MOVE A12BWTN TO PP47-56. 83567500 PERFORM WRITE-SPOOL. 83567600 MOVE 'Peak users waiting on buffer . . . . . . :' 83567700 TO PP3-44. 83567800 MOVE A12BUWTH TO PP47-56. 83567900 PERFORM WRITE-SPOOL. 83568000 MOVE 'Current users waiting on buffer. . . . . :' 83568100 TO PP3-44. 83568200 MOVE A12BUWT TO PP47-56. 83568300 PERFORM WRITE-SPOOL. 83568400 MOVE 'Temporary storage buffer reads . . . . . :' 83568500 TO PP3-44. 83568600 MOVE A12TRDN TO PP47-56. 83568700 PERFORM WRITE-SPOOL. 83568800 MOVE 'Temporary storage buffer writes. . . . . :' 83568900 TO PP3-44. 83569000 MOVE A12TWTN TO PP47-56. 83569100 PERFORM WRITE-SPOOL. 83569200 MOVE 'Forced buffer writes for recovery. . . . :' 83569300 TO PP3-44. 83569400 MOVE A12TWTNR TO PP47-56. 83569500 PERFORM WRITE-SPOOL. 83569600 MOVE 'Format writes. . . . . . . . . . . . . . :' 83569800 TO PP3-44. 83570000 MOVE A12TWTNF TO PP47-56. 83570200 PERFORM WRITE-SPOOL. 83570400 83570600 MOVE '0' TO PRINT-CONTROL. 83570800 MOVE 'I/O errors on the DFHTEMP dataset. . . . :' 83571000 TO PP3-44. 83571200 MOVE A12STAAF TO PP47-56. 83571400 PERFORM WRITE-SPOOL. 83571600 83571800 TEMP-STORAGE-STATISTICS-EXIT. 83572000 EXIT. 83574000 EJECT 83576000 ***************************************************************** 83578000 *** TRANSIENT-DATA-STATISTICS *** 83580000 *** Collect the Transient Data Global statistics. *** 83582000 *** Print heading and Transient Data statistics. *** 83584000 ***************************************************************** 83586000 TRANSIENT-DATA-STATISTICS SECTION. 83588000 83590000 PERFORM PAGE-HEADINGS. 83592000 83594000 MOVE '-' TO PRINT-CONTROL. 83596000 MOVE 'Transient Data' TO PP1-14. 83599000 PERFORM WRITE-SPOOL. 83602000 MOVE '+' TO PRINT-CONTROL. 83605000 MOVE ALL '_' TO PP1-14. 83608000 PERFORM WRITE-SPOOL. 83611000 83614000 ***************************************************************** 83617000 *** Collect the Transient Data Global statistics. *** 83620000 ***************************************************************** 83623000 EXEC CICS COLLECT STATISTICS TDQUEUE 83626000 SET(ADDRESS OF DFHA11DS) 83629000 END-EXEC. 83635000 83638000 ***************************************************************** 83641000 *** Print the Transient Data Global statistics. *** 83644000 ***************************************************************** 83647000 MOVE '0' TO PRINT-CONTROL. 83650000 MOVE 'Transient data reads . . . . . . . . . . :' 83653000 TO PP3-44. 83656000 MOVE A11ACTGT TO PP47-56. 83659000 PERFORM WRITE-SPOOL. 83662000 MOVE 'Transient data writes. . . . . . . . . . :' 83665000 TO PP3-44. 83668000 MOVE A11ACTPT TO PP47-56. 83671000 PERFORM WRITE-SPOOL. 83674000 MOVE 'Transient data formatting writes . . . . :' 83677000 TO PP3-44. 83680000 MOVE A11ACTFT TO PP47-56. 83683000 PERFORM WRITE-SPOOL. 83686000 83689000 MOVE '0' TO PRINT-CONTROL. 83692000 MOVE 'Control interval size. . . . . . . . . . :' 83695000 TO PP3-44. 83698000 MOVE A11ACISZ TO PP47-56. 83701000 PERFORM WRITE-SPOOL. 83704000 MOVE 'Control intervals in the DFHINTRA dataset:' 83707000 TO PP3-44. 83710000 MOVE A11ANCIS TO PP47-56. 83713000 PERFORM WRITE-SPOOL. 83716000 MOVE 'Peak control intervals used. . . . . . . :' 83719000 TO PP3-44. 83722000 MOVE A11AMXCI TO PP47-56. 83725000 PERFORM WRITE-SPOOL. 83728000 MOVE 'Times NOSPACE on DFHINTRA occurred . . . :' 83731000 TO PP3-44. 83734000 MOVE A11ANOSP TO PP47-56. 83737000 PERFORM WRITE-SPOOL. 83740000 83743000 MOVE '0' TO PRINT-CONTROL. 83746000 MOVE 'Transient data strings . . . . . . . . . :' 83749000 TO PP3-44. 83752000 MOVE A11SNSTA TO PP47-56. 83755000 PERFORM WRITE-SPOOL. 83758000 MOVE 'Times Transient data string in use . . . :' 83761000 TO PP3-44. 83764000 MOVE A11STNAL TO PP47-56. 83767000 PERFORM WRITE-SPOOL. 83770000 MOVE 'Peak Transient data strings in use . . . :' 83773000 TO PP3-44. 83776000 MOVE A11SMXAL TO PP47-56. 83779000 PERFORM WRITE-SPOOL. 83782000 MOVE 'Times string wait occurred . . . . . . . :' 83785000 TO PP3-44. 83788000 MOVE A11STNWT TO PP47-56. 83791000 PERFORM WRITE-SPOOL. 83794000 MOVE 'Peak users waiting on string . . . . . . :' 83797000 TO PP3-44. 83800000 MOVE A11SMXWT TO PP47-56. 83803000 PERFORM WRITE-SPOOL. 83806000 83809000 MOVE '0' TO PRINT-CONTROL. 83812000 MOVE 'Transient data buffers . . . . . . . . . :' 83815000 TO PP3-44. 83818000 MOVE A11ANBFA TO PP47-56. 83821000 PERFORM WRITE-SPOOL. 83824000 MOVE 'Times Transient data buffer in use . . . :' 83827000 TO PP3-44. 83830000 MOVE A11ATNAL TO PP47-56. 83833000 PERFORM WRITE-SPOOL. 83836000 MOVE 'Peak Transient data buffers in use . . . :' 83839000 TO PP3-44. 83842000 MOVE A11AMXAL TO PP47-56. 83845000 PERFORM WRITE-SPOOL. 83848000 MOVE 'Peak buffers containing valid data . . . :' 83851000 TO PP3-44. 83854000 MOVE A11AMXIU TO PP47-56. 83857000 PERFORM WRITE-SPOOL. 83860000 MOVE 'Times buffer wait occurred . . . . . . . :' 83863000 TO PP3-44. 83866000 MOVE A11ATNWT TO PP47-56. 83869000 PERFORM WRITE-SPOOL. 83872000 MOVE 'Peak users waiting on buffer . . . . . . :' 83875000 TO PP3-44. 83878000 MOVE A11AMXWT TO PP47-56. 83881000 PERFORM WRITE-SPOOL. 83881100 83881200 MOVE '0' TO PRINT-CONTROL. 83881300 MOVE 'I/O errors on the DFHINTRA dataset . . . :' 83881400 TO PP3-44. 83881500 MOVE A11ACTIO TO PP47-56. 83881600 PERFORM WRITE-SPOOL. 83881700 83881800 TRANSIENT-DATA-STATISTICS-EXIT. 83881900 EXIT. 83882000 EJECT 83882100 ***************************************************************** 83882200 *** LSR-POOL-STATISTICS *** 83882300 *** Print heading and lsr pool statistics *** 83882400 ***************************************************************** 83882500 LSR-POOL-STATISTICS SECTION. 83882600 83882700 MOVE 1 TO LSR-POOL-NUMBER. 83882800 83882900 PERFORM WITH TEST BEFORE 83883000 UNTIL LSR-POOL-NUMBER > 8 83883100 83883200 EXEC CICS COLLECT STATISTICS 83883300 LSRPOOL(LSR-POOL-NUMBER) 83883400 SET(ADDRESS OF DFHA08DS) 83883500 NOHANDLE 83883600 END-EXEC 83883700 83883800 EVALUATE EIBRESP 83883900 WHEN DFHRESP(NORMAL) 83884000 PERFORM PRINT-LSR-POOL-STATS 83884100 WHEN OTHER 83884200 CONTINUE 83884300 END-EVALUATE 83884400 83884500 ADD 1 TO LSR-POOL-NUMBER 83884600 83884700 END-PERFORM. 83884800 83884900 LSR-POOL-STATISTICS-EXIT. 83885000 EXIT. 83885100 EJECT 83885200 ***************************************************************** 83885300 *** Print the statistics for an LSR Pool. *** 83885400 ***************************************************************** 83885500 PRINT-LSR-POOL-STATS SECTION. 83885600 83885700 PERFORM PAGE-HEADINGS. 83885800 83885900 MOVE '-' TO PRINT-CONTROL. 83886000 MOVE 'LSR Pools' TO PP1-9. 83886100 PERFORM WRITE-SPOOL. 83886200 MOVE '+' TO PRINT-CONTROL. 83886300 MOVE ALL '_' TO PP1-9. 83886400 PERFORM WRITE-SPOOL. 83886500 83886600 MOVE '0' TO PRINT-CONTROL. 83886700 MOVE 'Pool Number :' TO PP3-15. 83886800 MOVE LSR-POOL-NUMBER TO PP18-19. 83886900 MOVE 'Time Created :' TO PP26-39. 83887000 MOVE A08LBKCD TO CLOCK-FIELD. 83887100 PERFORM STOPWATCH-CONVERT. 83887200 MOVE STOPWATCH TO PP43-56. 83887300 PERFORM WRITE-SPOOL. 83887400 MOVE '+' TO PRINT-CONTROL. 83887500 MOVE ALL '_' TO PP3-19. 83887600 MOVE ALL '_' TO PP26-56. 83887700 PERFORM WRITE-SPOOL. 83887800 83887900 MOVE '0' TO PRINT-CONTROL. 83888000 MOVE 'Maximum key length . . . . . . . :' TO PP6-39. 83888100 MOVE A08BKKYL TO PP46-51. 83888200 PERFORM WRITE-SPOOL. 83888300 MOVE 'Total number of strings . . . . :' TO PP6-39. 83888400 MOVE A08BKSTN TO PP46-51. 83888500 PERFORM WRITE-SPOOL. 83888600 MOVE 'Peak concurrently active strings :' TO PP6-39. 83888700 MOVE A08BKHAS TO PP46-51. 83888800 PERFORM WRITE-SPOOL. 83888900 MOVE 'Total requests waited for string :' TO PP6-39. 83889000 MOVE A08BKTSW TO PP46-51. 83889100 PERFORM WRITE-SPOOL. 83889200 MOVE 'Peak requests waited for string. :' TO PP6-39. 83889300 MOVE A08BKHSW TO PP46-51. 83889400 PERFORM WRITE-SPOOL. 83889500 83889600 PERFORM BUFFER-TOTAL-STATISTICS. 83889700 83889800 MOVE '0' TO PRINT-CONTROL. 83889900 83890000 IF A08IDSEP THEN 83890100 MOVE '0' TO PRINT-CONTROL 83890200 MOVE 'Data Buffer Statistics' TO PP3-24 83890300 PERFORM WRITE-SPOOL 83890400 MOVE '+' TO PRINT-CONTROL 83890500 MOVE ALL '_' TO PP3-24 83890600 PERFORM WRITE-SPOOL 83890700 83890800 PERFORM DATA-BUFFER-STATISTICS 83890900 83891000 MOVE '0' TO PRINT-CONTROL 83891100 MOVE 'Index Buffer Statistics' TO PP3-25 83891200 PERFORM WRITE-SPOOL 83891300 MOVE '+' TO PRINT-CONTROL 83891400 MOVE ALL '_' TO PP3-25 83891500 PERFORM WRITE-SPOOL 83891600 83891700 PERFORM INDEX-BUFFER-STATISTICS 83891800 ELSE 83891900 MOVE '0' TO PRINT-CONTROL 83892000 MOVE 'Data and Index Buffer Statistics' TO PP3-34 83892100 PERFORM WRITE-SPOOL 83892200 MOVE '+' TO PRINT-CONTROL 83892300 MOVE ALL '_' TO PP3-34 83892400 PERFORM WRITE-SPOOL 83892500 83892600 PERFORM DATA-BUFFER-STATISTICS 83892700 END-IF. 83892800 83892900 PRINT-LSR-POOL-STATS-EXIT. 83893000 EXIT. 83893100 EJECT 83893200 ***************************************************************** 83893300 *** Print the LSR Pool buffer total statistics. *** 83893400 ***************************************************************** 83893500 BUFFER-TOTAL-STATISTICS SECTION. 83893600 83893700 MOVE '0' TO PRINT-CONTROL. 83893800 MOVE 'Buffer Totals' TO PP3-15. 83893900 PERFORM WRITE-SPOOL. 83894000 MOVE '+' TO PRINT-CONTROL. 83894100 MOVE ALL '_' TO PP3-15. 83894200 PERFORM WRITE-SPOOL. 83894300 83894400 MOVE '0' TO PRINT-CONTROL. 83894500 MOVE 'Data Buffers . . . . . . . . . . :' TO PP6-39. 83894600 MOVE A08TDBFN TO PP42-51. 83894700 MOVE 'Index Buffers. . . . . . . . . . :' TO PP69-102. 83894800 MOVE A08TIBFN TO PP105-114. 83894900 PERFORM WRITE-SPOOL. 83895000 MOVE 'Hiperspace Data Buffers. . . . . :' TO PP6-39. 83895100 MOVE A08TDHBN TO PP42-51. 83895200 MOVE 'Hiperspace Index Buffers . . . . :' TO PP69-102. 83895300 MOVE A08TIHBN TO PP105-114. 83895400 PERFORM WRITE-SPOOL. 83895500 MOVE 'Successful look asides . . . . :' TO PP8-39. 83895600 MOVE A08TDBFF TO PP42-51. 83895700 MOVE 'Successful look asides . . . . :' TO PP71-102. 83895800 MOVE A08TIBFF TO PP105-114. 83895900 PERFORM WRITE-SPOOL. 83896000 MOVE 'Buffer reads . . . . . . . . . :' TO PP8-39. 83896100 MOVE A08TDFRD TO PP42-51. 83896200 MOVE 'Buffer reads . . . . . . . . . :' TO PP71-102. 83896300 MOVE A08TIFRD TO PP105-114. 83896400 PERFORM WRITE-SPOOL. 83896500 MOVE 'User initiated writes. . . . . :' TO PP8-39. 83896600 MOVE A08TDUIW TO PP42-51. 83896700 MOVE 'User initiated writes. . . . . :' TO PP71-102. 83896800 MOVE A08TIUIW TO PP105-114. 83896900 PERFORM WRITE-SPOOL. 83897000 MOVE 'Non-user initiated writes. . . :' TO PP8-39. 83897100 MOVE A08TDNUW TO PP42-51. 83897200 MOVE 'Non-user initiated writes. . . :' TO PP71-102. 83897300 MOVE A08TINUW TO PP105-114. 83897400 PERFORM WRITE-SPOOL. 83897500 MOVE 'Successful Hiperspace CREADS . :' TO PP8-39. 83897600 MOVE A08TDCRS TO PP42-51. 83897700 MOVE 'Successful Hiperspace CREADS . :' TO PP71-102. 83897800 MOVE A08TICRS TO PP105-114. 83897900 PERFORM WRITE-SPOOL. 83898000 MOVE 'Successful Hiperspace CWRITES. :' TO PP8-39. 83898100 MOVE A08TDCWS TO PP42-51. 83898200 MOVE 'Successful Hiperspace CWRITES. :' TO PP71-102. 83898300 MOVE A08TICWS TO PP105-114. 83898400 PERFORM WRITE-SPOOL. 83898500 MOVE 'Failing Hiperspace CREADS. . . :' TO PP8-39. 83898600 MOVE A08TDCRF TO PP42-51. 83898700 MOVE 'Failing Hiperspace CREADS. . . :' TO PP71-102. 83898800 MOVE A08TICRF TO PP105-114. 83898900 PERFORM WRITE-SPOOL. 83899000 MOVE 'Failing Hiperspace CWRITES . . :' TO PP8-39. 83899100 MOVE A08TDCWF TO PP42-51. 83899200 MOVE 'Failing Hiperspace CWRITES . . :' TO PP71-102. 83899300 MOVE A08TICWF TO PP105-114. 83899400 PERFORM WRITE-SPOOL. 83899500 83899600 BUFFER-TOTAL-STATISTICS-EXIT. 83899700 EXIT. 83899800 EJECT 83899900 ***************************************************************** 83900000 *** Print the LSR Pool data buffer statistics. *** 83900100 ***************************************************************** 83900200 DATA-BUFFER-STATISTICS SECTION. 83900300 83900400 MOVE '0' TO PRINT-CONTROL. 83900500 MOVE ' Hiperspace Look 83900600 - 'User ' TO PP5-68. 83900700 MOVE ' Non-User Successful Successful Failing Faili83900800 - 'ng ' TO PP69-126. 83900900 PERFORM WRITE-SPOOL. 83901000 MOVE ' Size Buffers Buffers Asides Reads W83901100 - 'rites ' TO PP5-68. 83901200 MOVE ' Writes CREADS CWRITES CREADS CWRIT83901300 - 'ES ' TO PP69-126. 83901400 PERFORM WRITE-SPOOL. 83901500 MOVE '+' TO PRINT-CONTROL. 83901600 MOVE ALL '_' TO PP5-126. 83901700 PERFORM WRITE-SPOOL. 83901800 83901900 MOVE '0' TO PRINT-CONTROL. 83902000 MOVE 1 TO SUB1. 83902100 83902200 PERFORM WITH TEST BEFORE 83902300 UNTIL SUB1 > 11 83902400 83902500 IF A08BKBFN(SUB1) > 0 83902600 MOVE A08BKBSZ(SUB1) TO PP5-9 83902700 MOVE A08BKBFN(SUB1) TO PP13-17N 83902800 MOVE A08BKHBN(SUB1) TO PP24-28 83902900 MOVE A08BKBFF(SUB1) TO PP33-42 83903000 MOVE A08BKFRD(SUB1) TO PP45-54 83903100 MOVE A08BKUIW(SUB1) TO PP57-66 83903200 MOVE A08BKNUW(SUB1) TO PP69-78 83903300 MOVE A08BKCRS(SUB1) TO PP81-90 83903400 MOVE A08BKCWS(SUB1) TO PP93-102 83903500 MOVE A08BKCRF(SUB1) TO PP105-114 83903600 MOVE A08BKCWF(SUB1) TO PP117-126 83903700 83903800 PERFORM WRITE-SPOOL 83903900 END-IF 83904000 83904100 ADD 1 TO SUB1 83904200 83904300 END-PERFORM. 83904400 83904500 DATA-BUFFER-STATISTICS-EXIT. 83904600 EXIT. 83904700 EJECT 83904800 ***************************************************************** 83904900 *** Print the LSR Pool index buffer statistics. *** 83905000 ***************************************************************** 83905100 INDEX-BUFFER-STATISTICS SECTION. 83905200 83905300 MOVE '0' TO PRINT-CONTROL. 83905400 MOVE ' Hiperspace Look 83905500 - 'User ' TO PP5-68. 83905600 MOVE ' Non-User Successful Successful Failing Faili83905700 - 'ng ' TO PP69-126. 83905800 PERFORM WRITE-SPOOL. 83905900 MOVE ' Size Buffers Buffers Asides Reads W83906000 - 'rites ' TO PP5-68. 83906100 MOVE ' Writes CREADS CWRITES CREADS CWRIT83906200 - 'ES ' TO PP69-126. 83906300 PERFORM WRITE-SPOOL. 83906400 MOVE '+' TO PRINT-CONTROL. 83906500 MOVE ALL '_' TO PP5-126. 83906600 PERFORM WRITE-SPOOL. 83906700 83906800 MOVE '0' TO PRINT-CONTROL. 83906900 MOVE 1 TO SUB1. 83907000 83907100 PERFORM WITH TEST BEFORE 83907200 UNTIL SUB1 > 11 83907300 83907400 IF A08IKBFN(SUB1) > 0 83907500 MOVE A08IKBSZ(SUB1) TO PP5-9 83907600 MOVE A08IKBFN(SUB1) TO PP13-17N 83907700 MOVE A08IKHBN(SUB1) TO PP24-28 83907800 MOVE A08IKBFF(SUB1) TO PP33-42 83907900 MOVE A08IKFRD(SUB1) TO PP45-54 83908000 MOVE A08IKUIW(SUB1) TO PP57-66 83908100 MOVE A08IKNUW(SUB1) TO PP69-78 83908200 MOVE A08IKCRS(SUB1) TO PP81-90 83908300 MOVE A08IKCWS(SUB1) TO PP93-102 83908400 MOVE A08IKCRF(SUB1) TO PP105-114 83908500 MOVE A08IKCWF(SUB1) TO PP117-126 83908600 83908700 PERFORM WRITE-SPOOL 83908800 END-IF 83908900 83909000 ADD 1 TO SUB1 83909100 83909200 END-PERFORM. 83909300 83909400 INDEX-BUFFER-STATISTICS-EXIT. 83909500 EXIT. 83909600 EJECT 83909700 ***************************************************************** 83909800 *** FILE-STATISTICS *** 83909900 *** Print heading and file statistics *** 83910000 ***************************************************************** 83910100 FILE-STATISTICS SECTION. 83910200 83910300 PERFORM PAGE-HEADINGS. 83910400 MOVE '-' TO PRINT-CONTROL. 83910500 MOVE 'Files' TO PP1-5. 83910600 PERFORM WRITE-SPOOL. 83910700 MOVE '+' TO PRINT-CONTROL. 83910800 MOVE ALL '_' TO PP1-5. 83910900 PERFORM WRITE-SPOOL. 83911000 83911100 ***************************************************************** 83911200 *** Print the file statistics. *** 83911300 ***************************************************************** 83911400 83911500 MOVE '0' TO PRINT-CONTROL. 83911600 83911700 EXEC CICS INQUIRE FILE START 83911800 END-EXEC. 83911900 83912000 EXEC CICS INQUIRE FILE(FILE-NAME) NEXT 83912100 ACCESSMETHOD(ACCESS-METHOD) 83912200 LSRPOOLID(LSR-POOL-NUMBER) 83912300 MAXNUMRECS(MAX-NUM-RECS) 83912400 TYPE(FILE-TYPE) 83912500 RESP(INQUIRE-RESP) 83912600 END-EXEC. 83912700 83912800 PERFORM WITH TEST BEFORE 83912900 UNTIL INQUIRE-RESP = DFHRESP(END) 83913000 83913100 IF LINE-COUNT > LINES-PER-PAGE THEN 83913200 PERFORM PAGE-HEADINGS 83913300 END-IF 83913400 83913500 IF SUB-HEADINGS = 'Y' THEN 83913600 PERFORM FILE-SUB-HEADINGS 83913700 END-IF 83913800 83913900 EXEC CICS COLLECT STATISTICS FILE(FILE-NAME) 83914000 SET(ADDRESS OF DFHA17DS) 83914100 END-EXEC 83914200 83914300 MOVE FILE-NAME TO PP3-10 83914600 EVALUATE ACCESS-METHOD 83914700 WHEN DFHVALUE(BDAM) 83914800 PERFORM BDAM-FILE 83914900 WHEN DFHVALUE(VSAM) 83915000 PERFORM VSAM-FILE 83915100 WHEN DFHVALUE(REMOTE) 83915200 PERFORM REMOTE-FILE 83915300 WHEN OTHER 83915400 CONTINUE 83915500 END-EVALUATE 83915600 83915700 MOVE A17DSRD TO PP51-60 83915800 MOVE A17DSGU TO PP63-72 83915900 MOVE A17DSBR TO PP75-84 83916000 MOVE A17DSWRA TO PP87-96 83916100 MOVE A17DSWRU TO PP99-108 83916200 MOVE A17DSDEL TO PP111-120 83916300 MOVE A17RMDEL TO PP123-132N 83916400 83916500 PERFORM WRITE-SPOOL 83916600 83916700 EXEC CICS INQUIRE FILE(FILE-NAME) NEXT 83916800 ACCESSMETHOD(ACCESS-METHOD) 83916900 LSRPOOLID(LSR-POOL-NUMBER) 83917000 MAXNUMRECS(MAX-NUM-RECS) 83917100 TYPE(FILE-TYPE) 83917200 RESP(INQUIRE-RESP) 83917300 END-EXEC 83917400 83917500 END-PERFORM. 83917600 83917700 EXEC CICS INQUIRE FILE END 83917800 END-EXEC. 83917900 83918800 FILE-STATISTICS-EXIT. 83918900 EXIT. 83919000 83919100 ***************************************************************** 83919200 *** Print file type details. *** 83919300 ***************************************************************** 83919400 BDAM-FILE SECTION. 83919500 83919600 MOVE ' BDAM ' TO PP13-18. 83919900 EVALUATE FILE-TYPE 83920000 WHEN DFHVALUE(KEYED) 83920100 MOVE 'KEYED ' TO PP22-29 83920200 WHEN DFHVALUE(NOTKEYED) 83920300 MOVE 'NOTKEYED' TO PP22-29 83920400 WHEN OTHER 83920500 CONTINUE 83920600 END-EVALUATE. 83920700 83920800 BDAM-FILE-EXIT. 83920900 EXIT. 83921000 83921100 VSAM-FILE SECTION. 83921200 83921300 MOVE ' VSAM ' TO PP13-18. 83921600 EVALUATE FILE-TYPE 83921700 WHEN DFHVALUE(ESDS) 83921800 MOVE ' ESDS ' TO PP22-29 83921900 WHEN DFHVALUE(KSDS) 83922000 MOVE ' KSDS ' TO PP22-29 83922100 WHEN DFHVALUE(RRDS) 83922200 MOVE ' RRDS ' TO PP22-29 83922300 WHEN OTHER 83922400 CONTINUE 83922500 END-EVALUATE. 83922600 MOVE LSR-POOL-NUMBER TO PP32-33. 83922700 MOVE MAX-NUM-RECS TO PP39-48. 83922800 83922900 VSAM-FILE-EXIT. 83923000 EXIT. 83923100 83923200 REMOTE-FILE SECTION. 83923300 83923400 MOVE 'REMOTE' TO PP13-18. 83923700 83923800 REMOTE-FILE-EXIT. 83923900 EXIT. 83924000 EJECT 83924100 ***************************************************************** 83924200 *** FILE-SUB-HEADINGS *** 83924300 ***************************************************************** 83924400 FILE-SUB-HEADINGS SECTION. 83924500 83924600 MOVE '0' TO PRINT-CONTROL. 83924700 MOVE ' Access LSR ' TO PP3-37. 83924800 MOVE ' Max Read Get Update' TO PP38-72. 83924900 MOVE ' Browse Add Up' TO PP73-102. 83925000 MOVE 'date Delete Remote ' TO PP103-132. 83925100 PERFORM WRITE-SPOOL. 83925200 MOVE 'Filename Method Type Pool ' TO PP3-37. 83925300 MOVE ' Num Recs Requests Requests ' TO PP38-72. 83925400 MOVE ' Requests Requests Req' TO PP73-102. 83925500 MOVE 'uests Requests Deletes ' TO PP103-132. 83925600 PERFORM WRITE-SPOOL. 83925700 MOVE '+' TO PRINT-CONTROL. 83925800 MOVE ALL '_' TO PP3-132. 83925900 PERFORM WRITE-SPOOL. 83926000 83926100 MOVE '0' TO PRINT-CONTROL. 83926200 MOVE 'N' TO SUB-HEADINGS. 83926300 83926400 FILE-SUB-HEADINGS-EXIT. 83926500 EXIT. 83926600 EJECT 83930600 ***************************************************************** 83930700 *** DATA-TABLE-STATISTICS *** 83930800 *** *** 83930900 *** Print heading and data table statistics *** 83931000 *** *** 83931100 ***************************************************************** 83931200 DATA-TABLE-STATISTICS SECTION. 83931300 83931400 PERFORM PAGE-HEADINGS. 83931500 83931600 MOVE '-' TO PRINT-CONTROL. 83931700 MOVE 'Data Tables - Requests' TO PP1-22. 83931800 PERFORM WRITE-SPOOL. 83931900 MOVE '+' TO PRINT-CONTROL. 83932000 MOVE ALL '_' TO PP1-22. 83932100 PERFORM WRITE-SPOOL. 83932200 83932300 ***************************************************************** 83932400 *** Print the data table statistics - pass 1. *** 83932500 ***************************************************************** 83932600 83932700 MOVE '0' TO PRINT-CONTROL. 83932800 83932900 EXEC CICS INQUIRE FILE START 83933000 END-EXEC. 83933100 83933200 *** REMOTETABLE parameter added by apar @BA18025 83933250 EXEC CICS INQUIRE FILE(FILE-NAME) NEXT 83933300 TABLE(DATA-TABLE) REMOTETABLE(REMOTE-TABLE) 83933400 RESP(INQUIRE-RESP) 83933500 END-EXEC. 83933600 83933700 PERFORM WITH TEST BEFORE 83933800 UNTIL INQUIRE-RESP = DFHRESP(END) 83933900 83934000 IF LINE-COUNT > LINES-PER-PAGE THEN 83934100 PERFORM PAGE-HEADINGS 83934200 END-IF 83934300 83934400 IF SUB-HEADINGS = 'Y' THEN 83934500 PERFORM DATA-TABLE-SUB-HEADINGS-1 83934600 END-IF 83934700 83934800 EVALUATE DATA-TABLE 83934900 WHEN DFHVALUE(NOTTABLE) 83935000 CONTINUE 83935100 WHEN DFHVALUE(CICSTABLE) 83935200 PERFORM PRINT-DATA-TABLE-STATS-1 83935300 WHEN DFHVALUE(USERTABLE) 83935400 PERFORM PRINT-DATA-TABLE-STATS-1 83935500 WHEN OTHER 83935600 CONTINUE 83935700 END-EVALUATE 83935800 83935900 *** following IF statement added by apar @BA18025 83935910 IF REMOTE-TABLE = DFHVALUE(REMTABLE) THEN 83935920 PERFORM PRINT-DATA-TABLE-STATS-1 83935930 END-IF 83935940 *** REMOTETABLE parameter added by apar @BA18025 83935950 EXEC CICS INQUIRE FILE(FILE-NAME) NEXT 83936000 TABLE(DATA-TABLE) REMOTETABLE(REMOTE-TABLE) 83936100 RESP(INQUIRE-RESP) 83936200 END-EXEC 83936300 83936400 END-PERFORM. 83936500 83936600 EXEC CICS INQUIRE FILE END 83936700 END-EXEC. 83936800 83936900 ***************************************************************** 83937000 *** Print heading and the data table storage statistics. *** 83937100 ***************************************************************** 83937200 83937300 PERFORM PAGE-HEADINGS. 83937400 83937500 MOVE '-' TO PRINT-CONTROL. 83937600 MOVE 'Data Tables - Storage' TO PP1-21. 83937700 PERFORM WRITE-SPOOL. 83937800 MOVE '+' TO PRINT-CONTROL. 83937900 MOVE ALL '_' TO PP1-21. 83938000 PERFORM WRITE-SPOOL. 83938100 83938200 ***************************************************************** 83938300 *** Print the data table statistics - pass 2. *** 83938400 ***************************************************************** 83938500 83938600 MOVE '0' TO PRINT-CONTROL. 83938700 83938800 EXEC CICS INQUIRE FILE START 83938900 END-EXEC. 83939000 83939100 EXEC CICS INQUIRE FILE(FILE-NAME) NEXT 83939200 TABLE(DATA-TABLE) 83939300 RESP(INQUIRE-RESP) 83939400 END-EXEC. 83939500 83939600 PERFORM WITH TEST BEFORE 83939700 UNTIL INQUIRE-RESP = DFHRESP(END) 83939800 83939900 IF LINE-COUNT > LINES-PER-PAGE THEN 83940000 PERFORM PAGE-HEADINGS 83940100 END-IF 83940200 83940300 IF SUB-HEADINGS = 'Y' THEN 83940400 PERFORM DATA-TABLE-SUB-HEADINGS-2 83940500 END-IF 83940600 83940700 EVALUATE DATA-TABLE 83940800 WHEN DFHVALUE(NOTTABLE) 83940900 CONTINUE 83941000 WHEN DFHVALUE(CICSTABLE) 83941100 PERFORM PRINT-DATA-TABLE-STATS-2 83941200 WHEN DFHVALUE(USERTABLE) 83941300 PERFORM PRINT-DATA-TABLE-STATS-2 83941400 WHEN OTHER 83941500 CONTINUE 83941600 END-EVALUATE 83941700 83941800 EXEC CICS INQUIRE FILE(FILE-NAME) NEXT 83941900 TABLE(DATA-TABLE) 83942000 RESP(INQUIRE-RESP) 83942100 END-EXEC 83942200 83942300 END-PERFORM. 83942400 83942500 EXEC CICS INQUIRE FILE END 83942600 END-EXEC. 83942700 83942800 DATA-TABLE-STATISTICS-EXIT. 83942900 EXIT. 83943000 EJECT 83943100 ***************************************************************** 83943200 *** Print the data table request statistics. *** 83943300 ***************************************************************** 83943400 PRINT-DATA-TABLE-STATS-1 SECTION. 83943500 83943600 EXEC CICS COLLECT STATISTICS FILE(FILE-NAME) 83943700 SET(ADDRESS OF DFHA17DS) 83943800 END-EXEC. 83943900 83944000 MOVE FILE-NAME TO PP3-10. 83944100 EVALUATE DATA-TABLE 83944200 WHEN DFHVALUE(CICSTABLE) 83944300 MOVE 'CICS' TO PP12-15 83944400 PERFORM EVALUATE-TABLE-TYPE 83944500 WHEN DFHVALUE(USERTABLE) 83944600 MOVE 'USER' TO PP12-15 83944700 PERFORM EVALUATE-TABLE-TYPE 83944800 WHEN DFHVALUE(NOTTABLE) 83944900 MOVE 'NOT ' TO PP12-15 83945000 WHEN OTHER 83945100 MOVE '????' TO PP12-15 83945200 END-EVALUATE. 83945300 83945400 *** following IF statement added by apar @BA18025 83945410 IF REMOTE-TABLE = DFHVALUE(REMTABLE) THEN 83945420 MOVE 'REM ' TO PP12-15 83945430 MOVE '/' TO PP16 83945440 MOVE 'TABLE ' TO PP17-26 83945450 END-IF 83945460 83945470 MOVE A17DTRDS TO PP28-37. 83945500 MOVE A17DTRNF TO PP39-48. 83945600 MOVE A17DTAVR TO PP51-60. 83945700 MOVE A17DTADS TO PP63-72. 83945800 MOVE A17DTARJ TO PP75-84. 83945900 MOVE A17DTATF TO PP87-96. 83946000 MOVE A17DTRWS TO PP99-108. 83946100 MOVE A17DTDLS TO PP111-120. 83946200 MOVE A17DTRRS TO PP123-132N. 83946300 PERFORM WRITE-SPOOL. 83946400 83946500 PRINT-DATA-TABLE-STATS-1-EXIT. 83946600 EXIT. 83946700 EJECT 83946800 EVALUATE-TABLE-TYPE SECTION. 83946900 83947000 MOVE '/' TO PP16. 83947100 EVALUATE TRUE 83947200 WHEN A17DTRMT 83947300 MOVE 'REMOTE ' TO PP17-26 83947400 WHEN A17DTASS 83947500 MOVE 'ASSOCIATED' TO PP17-26 83947600 WHEN A17DTPRS 83947700 MOVE 'TABLE ' TO PP17-26 83947800 WHEN A17DTAIX 83947900 MOVE 'ALTERNATE ' TO PP17-26 83948000 WHEN OTHER 83948100 CONTINUE 83948200 END-EVALUATE. 83948300 83948400 EVALUATE-TABLE-TYPE-EXIT. 83948500 EXIT. 83948600 EJECT 83948700 ***************************************************************** 83948800 *** Print the data table storage statistics. *** 83948900 ***************************************************************** 83949000 PRINT-DATA-TABLE-STATS-2 SECTION. 83949100 83949200 EXEC CICS COLLECT STATISTICS FILE(FILE-NAME) 83949300 SET(ADDRESS OF DFHA17DS) 83949400 END-EXEC. 83949500 83949600 MOVE FILE-NAME TO PP3-10. 83949700 EVALUATE DATA-TABLE 83949800 WHEN DFHVALUE(CICSTABLE) 83949900 MOVE 'CICS' TO PP12-15 83950000 WHEN DFHVALUE(USERTABLE) 83950100 MOVE 'USER' TO PP12-15 83950200 WHEN OTHER 83950300 MOVE '????' TO PP12-15 83950400 END-EVALUATE. 83950500 MOVE A17DTSIZ TO PP17-26N. 83950600 MOVE A17DTSHI TO PP28-37. 83950700 MOVE A17DTALT TO PP39-48. 83950800 MOVE A17DTUST TO PP51-60. 83950900 MOVE A17DTALE TO PP63-72. 83951000 MOVE A17DTUSE TO PP75-84. 83951100 MOVE A17DTALI TO PP87-96. 83951200 MOVE A17DTUSI TO PP99-108. 83951300 MOVE A17DTALD TO PP111-120. 83951400 MOVE A17DTUSD TO PP123-132N. 83951500 PERFORM WRITE-SPOOL. 83951600 83951700 PRINT-DATA-TABLE-STATS-2-EXIT. 83951800 EXIT. 83951900 EJECT 83952000 DATA-TABLE-SUB-HEADINGS-1 SECTION. 83952100 83952200 MOVE '0' TO PRINT-CONTROL. 83952300 MOVE ' Data Successful' TO PP3-37. 83952400 MOVE ' Records Adds via Adds via ' TO PP38-72. 83952500 MOVE ' Adds Adds Rew' TO PP73-102. 83952600 MOVE 'rite Delete Read ' TO PP103-132. 83952700 PERFORM WRITE-SPOOL. 83952800 MOVE 'Filename Table Type Reads ' TO PP3-37. 83952900 MOVE ' Not Found Read API ' TO PP38-72. 83953000 MOVE ' Rejected Full Req' TO PP73-102. 83953100 MOVE 'uests Requests Retries ' TO PP103-132. 83953200 PERFORM WRITE-SPOOL. 83953300 MOVE '+' TO PRINT-CONTROL. 83953400 MOVE ALL '_' TO PP3-132. 83953500 PERFORM WRITE-SPOOL. 83953600 83953700 MOVE '0' TO PRINT-CONTROL. 83953800 MOVE 'N' TO SUB-HEADINGS. 83953900 83954000 DATA-TABLE-SUB-HEADINGS-1-EXIT. 83954100 EXIT. 83954200 83954300 DATA-TABLE-SUB-HEADINGS-2 SECTION. 83954400 83954500 MOVE '0' TO PRINT-CONTROL. 83954600 MOVE ' <------- Total ------> <------ En' TO PP38-72. 83954700 MOVE 'tries -----> <------- Index -' TO PP73-102. 83954800 MOVE '-----> <------- Data ------->' TO PP103-132. 83954900 PERFORM WRITE-SPOOL. 83955000 MOVE ' Current Peak ' TO PP3-37. 83955100 MOVE ' Storage Storage Storage ' TO PP38-72. 83955200 MOVE ' Storage Storage Sto' TO PP73-102. 83955300 MOVE 'rage Storage Storage ' TO PP103-132. 83955400 PERFORM WRITE-SPOOL. 83955500 MOVE 'Filename Type Records Records ' TO PP3-37. 83955600 MOVE ' Allocated In-Use Allocated' TO PP38-72. 83955700 MOVE ' In-Use Allocated In' TO PP73-102. 83955800 MOVE '-Use Allocated In-Use ' TO PP103-132. 83955900 PERFORM WRITE-SPOOL. 83956000 MOVE '+' TO PRINT-CONTROL. 83956100 MOVE ALL '_' TO PP3-132. 83956200 PERFORM WRITE-SPOOL. 83956300 83956400 MOVE '0' TO PRINT-CONTROL. 83956500 MOVE 'N' TO SUB-HEADINGS. 83956600 83956700 DATA-TABLE-SUB-HEADINGS-2-EXIT. 83956800 EXIT. 83956900 EJECT 83957000 ***************************************************************** 83957100 *** TOTALS-INITIALISE *** 83957200 ***************************************************************** 83957300 TOTALS-INITIALISE SECTION. 83957400 83957500 MOVE 0 TO TRANSACTION-TOTAL 83957600 TRANSACTION-TOTAL-1 TRANSACTION-TOTAL-2 83957700 TRANSACTION-TOTAL-3 TRANSACTION-TOTAL-4 83957800 TRANSACTION-TOTAL-5 TRANSACTION-TOTAL-6 83957900 TRANSACTION-TOTAL-7 TRANSACTION-TOTAL-8 83958000 TRANSACTION-ATTACHES-1 TRANSACTION-ATTACHES-2 83958300 TRANSACTION-ATTACHES-3 TRANSACTION-ATTACHES-4 83958600 TRANSACTION-ATTACHES-5 TRANSACTION-ATTACHES-6 83958900 TRANSACTION-ATTACHES-7 TRANSACTION-ATTACHES-8 83959200 TRANSACTION-ATTACHES 83959500 TRANSACTION-RESTARTS 83959800 TRANSACTION-DYNAMIC-LOCAL 83960100 TRANSACTION-DYNAMIC-REMOTE 83960400 TRANSACTION-REMOTE-STARTS. 83960700 83961000 MOVE 0 TO PROGRAM-TOTAL TIMES-USED TIMES-FETCHED 83961300 TIMES-NEWCOPY TIMES-REMOVED 83961600 CDSA-PROGRAMS SDSA-PROGRAMS RDSA-PROGRAMS 83961900 ECDSA-PROGRAMS ESDSA-PROGRAMS ERDSA-PROGRAMS 83962200 LPA-PROGRAMS ELPA-PROGRAMS 83962500 UNUSED-PROGRAMS NOT-LOCATED-PROGRAMS NUMTCBS. 83962800 83963100 MOVE 0 TO PROGRAMS MAPS PARTITIONSETS 83963400 ASSEMBLER-PROGRAMS C-PROGRAMS COBOL-PROGRAMS 83963700 COBOLII-PROGRAMS LE370-PROGRAMS PL1-PROGRAMS 83964000 OTHER-PROGRAMS. 83964300 83964600 MOVE 1 TO SUB1. 83965000 83968000 PERFORM WITH TEST BEFORE 83971000 UNTIL SUB1 > 96 83974000 83977000 MOVE 0 TO DFHRPL-PROGRAMS(SUB1) 83980000 DFHRPL-PROGRAM-USES(SUB1) 83983000 DFHRPL-PROGRAM-FETCHES(SUB1) 83986000 DFHRPL-PROGRAM-FETCH-TIME(SUB1) 83989000 DFHRPL-PROGRAM-NEWCOPIES(SUB1) 83992000 DFHRPL-PROGRAM-REMOVES(SUB1) 83995000 83998000 ADD 1 TO SUB1 84001000 84004000 END-PERFORM. 84007000 84010000 MOVE 0 TO DSGTDT-TOTAL-NUM 84010600 DSGACT-TOTAL-NUM 84011200 DSGTCT-TOTAL-NUM. 84011800 84012400 TOTALS-INITIALISE-EXIT. 84013000 EXIT. 84016000 EJECT 84019000 ***************************************************************** 84022000 *** PAGE-HEADINGS *** 84025000 *** Increment page *** 84028000 *** Write new heading line to spool *** 84031000 ***************************************************************** 84034000 PAGE-HEADINGS SECTION. 84037000 84040000 ADD 1 TO PAGENO. 84110000 MOVE PAGENO TO PAGE-NUMBER. 84180000 MOVE 1 TO LINE-COUNT. 84250000 84320000 MOVE '1' TO PRINT-CONTROL. 84390000 MOVE HEADING-LINE TO PP1-132. 84460000 PERFORM WRITE-SPOOL. 84530000 MOVE '+' TO PRINT-CONTROL. 84600000 MOVE ALL '_' TO PP1-132. 84670000 PERFORM WRITE-SPOOL. 84740000 84810000 MOVE 'Y' TO SUB-HEADINGS. 84880000 84950000 PAGE-HEADINGS-EXIT. 85020000 EXIT. 85090000 85160000 ***************************************************************** 85230000 *** STOPWATCH-CONVERT *** 85300000 *** Call program DFH$STCN to convert S/370 format TOD to *** 85370000 *** EBCDIC date and time *** 85440000 ***************************************************************** 85510000 STOPWATCH-CONVERT SECTION. 85580000 85650000 MOVE 'S' TO CLOCK-TYPE. 85720000 MOVE SPACES TO CLOCK-OUTPUT. 85790000 85860000 MOVE LENGTH OF CLOCK-FIELDS TO STCN-COMMAREA 85880000 85900000 EXEC CICS LINK PROGRAM('DFH$STCN') 85930000 COMMAREA(CLOCK-FIELDS) 86070000 LENGTH(STCN-COMMAREA) 86140000 END-EXEC. 86210000 86280000 MOVE LOW-VALUES TO CLOCK-FIELD. 86350000 86420000 STOPWATCH-CONVERT-EXIT. 86490000 EXIT. 86560000 EJECT 86630000 ***************************************************************** 86700000 *** OPEN-SPOOL *** 86770000 *** IF CICS exceptional condition is raised THEN *** 86910000 *** call error routine *** 86980000 ***************************************************************** 87050000 OPEN-SPOOL SECTION. 87120000 87190000 MOVE 0 TO PAGENO. 87210000 87230000 *** RECORDLENGTH added by @BA80188A 87240000 EXEC CICS SPOOLOPEN OUTPUT TOKEN(OUTPUT-TOKEN) 87260000 NODE(OUTPUT-NODE) USERID(OUTPUT-USERID) 87400000 CLASS(OUTPUT-CLASS) RECORDLENGTH(REC-LEN) 87540000 ASA PRINT 87610000 NOHANDLE 87750000 END-EXEC. 87820000 87890000 * Check return code 87960000 IF EIBRESP NOT = DFHRESP(NORMAL) THEN 88030000 MOVE 'SPOOLOPEN ' TO CICS-COMMAND 88100000 PERFORM ERROR-ROUTINE 88170000 END-IF. 88240000 88310000 OPEN-SPOOL-EXIT. 88380000 EXIT. 88450000 88520000 ***************************************************************** 88590000 *** CLOSE-SPOOL *** 88660000 *** IF CICS exceptional condition is raised THEN *** 88800000 *** call error routine *** 88870000 ***************************************************************** 88940000 CLOSE-SPOOL SECTION. 89010000 89080000 EXEC CICS SPOOLCLOSE TOKEN(OUTPUT-TOKEN) 89150000 NOHANDLE 89290000 END-EXEC. 89360000 * Check return code 89430000 IF EIBRESP NOT = DFHRESP(NORMAL) THEN 89500000 MOVE 'SPOOLCLOSE' TO CICS-COMMAND 89570000 PERFORM ERROR-ROUTINE 89640000 END-IF. 89710000 89780000 CLOSE-SPOOL-EXIT. 89850000 EXIT. 89920000 EJECT 89990000 ***************************************************************** 90060000 *** WRITE-SPOOL *** 90130000 *** Write current print line to spool *** 90200000 *** Increment line-count *** 90270000 *** IF CICS exceptional condition is raised THEN *** 90340000 *** call error routine *** 90410000 ***************************************************************** 90480000 WRITE-SPOOL SECTION. 90550000 90620000 EXEC CICS SPOOLWRITE TOKEN(OUTPUT-TOKEN) 90690000 FROM(PRINT-LINE) FLENGTH(LINE-LENGTH) 90830000 LINE 90970000 NOHANDLE 91040000 END-EXEC. 91110000 91180000 EVALUATE PRINT-CONTROL 91250000 WHEN ' ' 91320000 ADD 1 TO LINE-COUNT 91390000 WHEN '0' 91460000 ADD 2 TO LINE-COUNT 91530000 WHEN '-' 91600000 ADD 3 TO LINE-COUNT 91670000 WHEN '+' 91740000 ADD 0 TO LINE-COUNT 91810000 WHEN '1' 91880000 MOVE 1 TO LINE-COUNT 91950000 END-EVALUATE. 92020000 92090000 * Check return code 92160000 IF EIBRESP NOT = DFHRESP(NORMAL) THEN 92230000 MOVE 'SPOOLWRITE' TO CICS-COMMAND 92300000 PERFORM ERROR-ROUTINE 92370000 ELSE 92440000 MOVE ' ' TO PRINT-CONTROL 92510000 MOVE SPACES TO PP1-132 92580000 END-IF. 92650000 92720000 WRITE-SPOOL-EXIT. 92790000 EXIT. 92860000 EJECT 92930000 ***************************************************************** 93000000 *** ERROR ROUTINE *** 93030000 *** Error routine produces appropriate responses to CICS *** 93070000 *** spool commands. For print requests from a terminal an *** 93140000 *** error message is selected to return to the user. If the *** 93210000 *** program is being run from the PLT an operator msg is sent*** 93280000 *** then a spool close is attempted and the tran is ended *** 93350000 ***************************************************************** 93420000 ERROR-ROUTINE SECTION. 93490000 93600000 EVALUATE EIBRESP ALSO EIBRESP2 ALSO TERM-MSG-REQUIRED 93770000 * If the user has typed in an invalid node, userid or class 93840000 * this code gives the user a diagnostic message 93910000 WHEN DFHRESP(INVREQ) ALSO 20 ALSO 'Y' 93980000 * NODE missing message and 94050000 * set attribute bytes- CUA 94120000 MOVE 'Y' TO ERROR-FOUND 94190000 MOVE DFHRED TO PMSG2C 94260000 MOVE NODE-MISSING-MSG TO PMSG2O 94330000 MOVE DFHYELLO TO PNODEC 94400000 MOVE DFHREVRS TO PNODEH 94470000 MOVE DFHBMBRY TO PNODEA 94540000 MOVE -1 TO PNODEL 94610000 WHEN DFHRESP(NODEIDERR) ALSO ANY ALSO 'Y' 94680000 * NODE does not exist msg 94750000 * and set attributes -CUA 94820000 MOVE 'Y' TO ERROR-FOUND 94890000 MOVE DFHRED TO PMSG2C 94960000 MOVE NODE-IDERR-MSG TO PMSG2O 95030000 MOVE DFHYELLO TO PNODEC 95100000 MOVE DFHREVRS TO PNODEH 95170000 MOVE DFHBMBRY TO PNODEA 95240000 MOVE -1 TO PNODEL 95310000 WHEN DFHRESP(INVREQ) ALSO 16 ALSO 'Y' 95380000 * USERID missing message 95450000 * and set attributes - CUA 95520000 MOVE 'Y' TO ERROR-FOUND 95590000 MOVE DFHRED TO PMSG2C 95660000 MOVE USERID-MSG TO PMSG2O 95730000 MOVE DFHYELLO TO PUSERIDC 95800000 MOVE DFHREVRS TO PUSERIDH 95870000 MOVE DFHBMBRY TO PUSERIDA 95940000 MOVE -1 TO PUSERIDL 96010000 WHEN DFHRESP(ILLOGIC) ALSO ANY ALSO 'Y' 96080000 * Invalid CLASS value 96150000 * and set attributes - CUA 96220000 MOVE 'Y' TO ERROR-FOUND 96290000 MOVE DFHRED TO PMSG2C 96360000 MOVE CLASS-MSG TO PMSG2O 96430000 MOVE DFHYELLO TO PCLASSC 96500000 MOVE DFHREVRS TO PCLASSH 96570000 MOVE DFHBMBRY TO PCLASSA 96640000 MOVE -1 TO PCLASSL 96710000 WHEN OTHER 96780000 * If an error occurs which is not due to the users input or if 96850000 * the program is not being run from a terminal then a general 96920000 * message is sent to the screen/console and the RESP and RESP2 96990000 * fields are given along with the spool command which failed. 97060000 MOVE 'Y' TO ERROR-FOUND 97130000 IF CICS-COMMAND = 'SPOOLOPEN ' THEN 97200000 MOVE OPEN-ERROR-MSG TO PMSG1O 97270000 END-IF 97340000 IF CICS-COMMAND = 'SPOOLWRITE' THEN 97410000 MOVE WRITE-ERROR-MSG TO PMSG1O 97480000 END-IF 97550000 IF CICS-COMMAND = 'SPOOLCLOSE' THEN 97620000 MOVE CLOSE-ERROR-MSG TO PMSG1O 97690000 END-IF 97760000 MOVE EIBRESP TO TXT-RESP 97830000 MOVE EIBRESP2 TO TXT-RESP2 97900000 STRING 'CICS Command was ' CICS-COMMAND 97970000 '. RESP FIELD = ' TXT-RESP 98040000 '. RESP2 FIELD = ' TXT-RESP2 '.' 98110000 DELIMITED BY SIZE INTO PMSG2O 98180000 IF TERM-MSG-REQUIRED IS EQUAL TO 'Y' 98250000 MOVE DFHRED TO PMSG1C 98320000 MOVE DFHRED TO PMSG2C 98390000 ELSE 98460000 MOVE LENGTH OF OPER-MSG TO OPER-MSG-LEN 98490000 MOVE LENGTH OF PMSG2O TO PMSG2O-LEN 98510000 98520000 * If this is not run from a terminal - output message to console 98530000 EXEC CICS WRITE OPERATOR 98600000 TEXT(OPER-MSG) 98670000 TEXTLENGTH(OPER-MSG-LEN) 98740000 END-EXEC 98810000 98840000 EXEC CICS WRITE OPERATOR 98880000 TEXT(PMSG2O) 98950000 TEXTLENGTH(PMSG2O-LEN) 99020000 END-EXEC 99090000 99120000 * Try to close the spool. If this fails no action 99160000 EXEC CICS SPOOLCLOSE 99230000 TOKEN(OUTPUT-TOKEN) 99300000 NOHANDLE 99370000 END-EXEC 99440000 99470000 * Terminate the transaction 99510000 EXEC CICS RETURN 99580000 END-EXEC 99650000 99680000 END-IF 99720000 99750000 END-EVALUATE. 99790000 99820000 ERROR-ROUTINE-EXIT. 99860000 EXIT. 99930000