CICS Performance Toolkit
CICS Performance Toolkit
Performance
Toolkit
Disclaimer
Readers are cautioned that, although the information in this report is presented in good faith, neither
Xephon nor the organizations or individuals that supplied information in this Report give any warranty
or make any representations as to the accuracy of the material it contains. Neither Xephon nor the
contributing organizations or individuals accept any liability of any kind howsoever arising out of the
use of such material. Readers should satisfy themselves as to the correctness and relevance to their
circumstances of all advice, information, code, JCL, and other contents of this report before making
any use of it.
Published by
Xephon
27-35 London Road
Newbury
Berkshire RG14 1JL
England
Telephone: 01635 38342
From USA: 01144 1635 38342
© Xephon plc 2002. All rights reserved. None of the text in this publication may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior permission of the copyright owner.
Subscribers are free to copy any code reproduced in this publication for use in their own installations, but may
2not sell such code or Xephon
© 2002. incorporate it in any
UK telephone commercial
01635 33848, fax product. No part
01635 38345. USA of this publication
telephone mayfax
(303) 410 9344, be (303)
used438
for 0290.
any
form of advertising, sales promotion, or publicity without the written permission of the publisher.
Contents
2 Preface
3 Contents
5 Health check-up for the CICS subsystem
A periodic ‘health check’ of older CICS applications helps to identify performance
problems, allowing pro-active maintenance to take place before serious problems
occur.
CICS shutdown statistics, gathered using the IBM-supplied DFHSTUP utility, can be
used to examine file request information, decide which files are good candidates for
LSRPOOLS, check transaction manager statistics (eg MAXTASKS), check storage
manager statistics (DSA and EDSA usage), look at temporary storage usage, find
buffer full conditions and waits on archive, and identify redundant programs/
transactions.
9 A simple program to monitor CICS task storage
This program monitors a task’s storage usage in the Dynamic Storage Area (DSA) and
Extended Dynamic Storage Area (EDSA). This helps systems programmers to
investigate and determine which task is using up storage in the DSA or EDSA.
The program shows all the displayable tasks plus their user IDs, and the storage used in
the DSA and EDSA. It makes use of CICS SPI commands ‘inquire task list’ and
‘inquire task storage’.
13 Tuning AOR/FOR traffic in CICS/TS 1.2
CICS Version 5 (in CICS/Transaction Server Version 1) provides a significant
enhancement over CICS 4.1 in the area of ISC and MRO connection and session
terminal names. This article supplies a number of tuning tips.
20 CICS ISC/MRO session monitoring
Upgrading from CICS/ESA Version 4.1 to CICS/TS Version 1.3 can lead to problems
with sessions remaining acquired when previously they were released.
This article contains a program, which refreshes itself every three minutes, and allows
users to monitor the status of the MRO/ISC connections for the CICS region,
especially the connection which is losing the sessions.
A second program monitors the connection and releases/re-acquires the connections.
The transaction is a long-running one with the program waiting for five minutes between
checking the connection status and REL/ACQ actions. The program also checks for
CICS shutdown status and terminates itself upon CICS termination.
31 Monitoring system logger activity online
An important task when running CICS/TS is to monitor the logger set up for CICS.
IBM provides the batch program IXGRPT1, and CICS systems programmer should be
Continued ...
4 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Health check-up for the CICS subsystem
The closer to 1.00 the better it is. The look-aside ratio forms the basis for
tuning the LSRPOOLS. The look-aside ratio goes up if the buffer size is
increased. Of course as real storage is a constrained resource, there is an
upper limit to the number of buffers that can be assigned to the LSRPOOL.
Because the look-aside ratio is no exception to the law of diminishing
returns, adding more pools beyond a certain point is not fruitful. Separate
buffers for data and indexes are recommended for large files with semi-
random access so that the data control intervals do not monopolize the LSR
6 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
buffers by discarding the index control intervals. Separate buffers would
reduce I/O for a frequently used index CI. Alternatively, compound buffers
can be used by standardizing the CI sizes of data and index components of
the VSAM cluster. Small and heavily read files can be defined as data tables
because the path length to read a record from a data table is smaller than
that from an LSRPOOL.
TRANSACTION MANAGER
Take a look at the transaction manager statistics. Things are not in good
shape if we see that the MAXTASKS limit is being reached frequently.
Transactions would queue up when the MAXTASK limit is reached. The
gravity of the problem depends on how many times the MAXTASK limit
is hit. Ideally this should be 0, but for some applications an occasional
occurrence of this may not be a major concern. However, if this occurs in
a CICS region during non-peak activity periods then it certainly needs
attention. The remedy would be to increase MAXTASK appropriately in
the SIT.
STORAGE MANAGER
Storage manager statistics show us the current limit and maximum usage
of the DSA and the EDSA. The appropriate DSA limit should be increased
if the peak utilization is approaching the maximum limit. Not doing so
could result in CICS releasing storage cushions, which means spending
CPU cycles on non-application work, impacting performance. Time
cushions released show up in the storage manager statistics and should
ideally be 0, however having this at 0 is not sufficient. A healthy system
would never run with a nearly 100 percent-utilized DSA or the EDSA.
What if you implement new functionality, which adds a few more programs
and a couple of additional files (which means more access control blocks)
resulting in increased utilization of the EDSA? The CICS region may now
go short on storage. It would therefore be nice to ensure that the above
situation does not arise by having sufficient buffers for the DSA/EDSA,
and monitoring it after every implementation.
JOURNALS
Important statistics to look out for are the buffer full condition and waits
on archive. If the buffer full condition occurs, the buffer size should be
increased in the journal control table. If waits on archive are experienced,
consider increasing the log size or reducing the archival frequency; verify
that, if the logs are archived to tape, tape mounts are performed quickly.
Also have a look at the service class or dispatching priority (depending on
whether the system is running in WLM goal mode or ICS/IPS configuration)
of the journal job. If this is very low, the job may not get the required
resources during busy hours. Care should also be taken not to make it too
high or CICS response may suffer when the journal job executes.
REDUNDANT PROGRAMS/TRANSACTIONS/TERMINALS
Some programs/transactions become redundant over a period of time.
Examining the ‘attach count’ can identify these (which would be 0 for
unused transactions) in the TRANSACTION STATISTICS, and check the
‘times used’ count in the PROGRAM details. If too many of these are
around, then they should be removed from the CICS system tables and CSD
because these could result in increased ‘non-application’ resource usage
in terms of real storage to hold these entries and CPU cycles to search table
entries.
Pranav Sampat
Cognizant Technology Solutions (USA) © Xephon 2002
8 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
A simple program to monitor CICS task storage
DISPSTOR
*ASM XOPTS(SP)
TITLE 'Display tasks storage used in DSA and EDSA'
* AUTHOR : Kah Soon HO
PRINT NOGEN
EJECT
DFHEISTG DSECT
*
R4 EQU 4
R5 EQU 5
R6 EQU 6
R7 EQU 7
10 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
EXEC CICS INQUIRE +
TASK(TASKNO) +
FACILITY(FAC) +
TRANSACTION(TRAN) +
USERID(USER) +
RESP(RESP)
CLC RESP,DFHRESP(NORMAL) Is the task still there?
BNE TASKEND No. next task
EXEC CICS INQUIRE STORAGE +
NUMELEMENTS(ENUM) +
ELEMENTLIST(R7) +
LENGTHLIST(R8) +
TASK(TASKNO) +
RESP(RESP)
CLC RESP,DFHRESP(NORMAL) If everything is OK..
BNE FAILQUIT Yes. Take the error exit.
SPACE 1
ST R7,ELIST store address of element & ...
ST R8,LLIST length list
L R9,ENUM set element number as counter
L R4,HEXØ initialize r4, DSA & EDSA
ST R4,DSA
ST R4,EDSA
ADDLOOP EQU *
CLC ADDR24,Ø(R7) is it a 24bit address ?
BL EDSAADD no then branch .
L R4,Ø(R8) yes then add the storage ...
A R4,DSA to DSA
ST R4,DSA
B ADDEND
EDSAADD EQU *
L R4,Ø(R8) yes then add the storage ...
A R4,EDSA to EDSA
ST R4,EDSA
ADDEND EQU *
A R7,=F'4' move to next byte
A R8,=F'4'
BCT R9,ADDLOOP counter loop
*
L R8,HEXØ
L R9,DSA
D R8,HEX1Ø24 convert to number of K
CVD R9,DSAK
UNPK DSA#,DSAK convert to text
OI DSA#+7,C'Ø' force X'FØ'
*
L R8,HEXØ
L R9,EDSA
D R8,HEX1Ø24 convert to number of K
12 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
HEXØ DC XL4'ØØØØØØØØ'
DSAK DS D
EDSAK DS D
DSA# DS CL8' '
EDSA# DS CL8' '
ADDR24 DC XL4'ØØFFFFFF' Highest 24-bit address
STGSIZE DS F Size of getmain
SIZE DC F'4'
TRAN DS CL4' '
FAC DS CL4' '
USER DS CL8' '
DISPLAY DC CL79' '
END DISPSTOR
Kah Soon Ho
Senior Systems Support Analyst
Public Bank (Malaysia) © Xephon 2002
INTRODUCTION
CICS Version 5 (in CICS/Transaction Server Version 1) provides a
significant enhancement over CICS 4.1 in the area of ISC and MRO
connection and session terminal names. Version 5 allows the systems
programmer to quickly analyse and tune the ‘width’ and the ‘breadth’ of
the connections for the optimal traffic size. This eliminates some transaction
queueing and also dramatically reduces the number of GETMAINs and
FREEMAINs during function shipping.
BACKGROUND
Prior to CICS 4.1.0, entering a one- or two-character prefix on the session
definitions for MRO connections was required. This prefix would be used
as the first one or two bytes of the TCTTE name. In other words, it was the
prefix of the name of the ‘terminal’ used for that session between the two
CICS regions in question. CICS would come up with the rest of the name
14 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
DISCUSSION
IBM has enhanced the CICS SMF statistics with Transaction Server. Figure
1 shows the left-hand side of the terminal section of the summary report.
16 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
terminals are occupied) as in Figure 3, indicating that no transactions were
queued up waiting for a session.
The ‘Average TIOA Storage’ gives you the average size that was required
for each request. This is the key piece of data required for tuning the traffic.
In the example in Figure 3, the average storage size required to ship the
request to the other region was 5,912 bytes. If the session was defined to
provide 8KB of storage to start with, this 8KB chunk would be GETMAINed
and the data placed into it. If, however, the session was defined to provide
a 2KB chunk of storage, a small problem would arise. The 2KB chunk
would be obtained, the 5,192 bytes of data would not fit, the 2KB chunk
would be FREEMAINed, a 5,912 byte chunk would be GETMAINed, and
so forth.
Having enough storage at the outset avoids the unnecessary GETMAIN/
FREEMAIN pair in the middle. Set the size to be larger than the Average
TIOA Storage value in the report – larger by adding 24 bytes for CICS use
and “round the total up to a multiple of 64 bytes… (to) ensure a good use
of operating system pages” – (from the Performance Guide).
The RDO parameter for setting the initial storage size for MRO function
ships is on the SESSION definition. It is IOAREALEN. The default value
is 0. This forces CICS to interrogate the data length, and according to the
Performance Guide, “…get a storage size exactly the size of the outgoing
message, plus 24 bytes for CICS requirements”. The Guide notes that if no
value is specified, CICS will use a size of 4KB. (It seems that CICS adds
the aforementioned 24 bytes to the 4KB and actually uses 4,120 bytes. This
is a popular value seen in the summary reports.)
Two questions arise: are these IOAREALENs re-used, and where are they?
They apparently are re-used and are above the line, according to research.
Since they are reused, designating a large value for IOAREALEN is not
very wasteful. The number of IOAREALENs matches the number of
sessions defined for the connection and is not related to transaction
volume. If your session count is a reasonable number, the storage consumed
should be relatively small, and you can easily calculate the amount. For
example, if you have 20 sessions and each of these has an IOAREALEN
of 4KB and you want to increase it to 8KB, you will use an additional (20
* 4KB) or 80KB. This is an inconsequential amount of storage.
The average message transmitted on the MRO link in Figure 3 was 5,912.
A quick check of our resource definition showed a 4,096 value coded. This
was not quite large enough so the value was subsequently changed to 8KB.
The location of the IOARELENs is actually the SMTP subpool. This
subpool is above the line and defined as that which “…holds line and
terminal I/O areas” (Performance Guide). This can be seen readily in the
summary report in the storage manager statistics section.
Figure 4: Statistics
18 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
RESULTS
The summary report will show you the results of your handiwork. After
you have increased the IOAREALEN to be larger than the Average TIOA
Storage, here is where you look to see what happened (see Figure 4).
This busy FOR dropped the number of GETMAINs and FREEMAINs for
the SMTP subpool by two-thirds – over 2 million. It’s always nice to get
measurable results. (Transaction volume and mix were roughly equivalent
for the two weeks.)
SUMMARY
Firstly, run the summary report for a typical day for your FOR(s) and AORs
connected to them with the SYSIN parameters SELECT
TYPE=(TERMINAL,STORAGE) and SUMMARY.
Secondly, increase or decrease the number of sessions with the SENDCount
and RECEIVECount parms to eliminate queueing or to dump that extra
100 sessions you never use. Having the same value in the sessions from
the AOR to the FORs as from the FOR to AORs makes the most sense and
also seems safest. (It certainly will avoid some session management and
negotiating between regions if one region is sending 20 requests out to a
region that will accept only 10 at a time.)
Thirdly, look in the Terminal section of your reports for the Average TIOA
Storage used for each region. Obviously, the FORs will have the most
activity, so let them drive the process. Select a number that will meet on-
going needs.
Fourthly, make your change to the IOAREALENs and run the report again.
Look in the STORAGE MANAGER STATISTICS section. Do a find on
‘SMTP’ to determine whether it made a significant difference. You might
be surprised!
Paul C Gordon
Assistant Vice President
Bank of America (USA) © Xephon 2002
Recently the CICS maintenance level at my current site was upgraded from
CICS/ESA Version 4.1 to CICS/TS Version 1.3. One of the problems we
encountered was that CICS APPC connection sessions are getting released
with the following messages:
DFHZC3437 I Ø9/25/ØØ 1Ø:41:Ø7 CICSXXXX -XXN CSNE Node nnnnnnnn action
taken:
CLSDST ABTASK ABSEND ABRECV ((1) Module name: DFHZNAC)
CONNMON
This program monitors the use of the CICS systems programming interface
to run the connection/terminal chains and displays the following information
(up to 21 MRO/ISC connection entries):
CONNCTION NAME
NETNAME
SERVICE STATUS INS/OUT
CONNCTIONS STATUS ACQ/REL
ACQUIRED SESSION COUNT (FOR NON-XM)
RELEASED SESSION COUNT (FOR NON-XM)
20 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
monitor the status of the MRO/ISC connections for the CICS region,
especially the connection which is losing the sessions.
//JOBCARD JOB (CCS),'CSH CONNMON ',
// CLASS=A,NOTIFY=&SYSUID,
// MSGCLASS=X,MSGLEVEL=(1,1),REGION=8M
//*
//*
//CONNMON EXEC DFHEITAL,PARM.TRN='SP' COND.LKED=(Ø,LE)
//TRN.SYSIN DD *
* PRINT NOGEN
TITLE 'CSH DISPLAY MRO/ISC CONNECTION STATUS'
*********************************************************************
*********************************************************************
*** ***
*** DISPLAY UP TO 21 MRO/ISC CONNECTIONS WITHE FOLLOWING DATA: ***
*** ***
*** CONNCTION NAME ***
*** NETNAME ***
*** SERVICE STATUS INS/OUT ***
*** CONNCTIONS STATUS ACQ/REL ***
*** ACQUIRED SESSION COUNT (FOR NON-XM) ***
*** RELEASED SESSION COUNT (FOR NON-XM) ***
*** ***
*** ** REFRESHES DISPLAY EVERY 3 MINUTES ***
*** ** CLEAR SCREEN/FREEKB UPON CLEAR/PF3/PF1Ø ***
*** ***
*** ***
*** REGISTER USAGE TABLE ***
*** ***
*** R3 - BASE REG (DEFAULT) ***
*** R4 - BASE REG FOR DETAIL LINE ***
*** R5 - BASE REG FOR CONNECTION TABLE ***
*** R1Ø - LOOP COUNTER ***
*** R11 - EIB REG (DEFAULT) ***
*** R13 - DATA REG (DEFAULT) ***
*** ***
*********************************************************************
*********************************************************************
COPY DFHAID
COPY DFHBMSCA
STFIELD EQU X'1D'
NEWLINE EQU X'15'
CVT DSECT=YES
IEESMCA
IHAPSA
DFHEISTG DSECT
REQID DS ØCL8
REQTERM DS CL4
REQTRAN DS CL4
22 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
CONN12 DS CL24
CONN13 DS CL24
CONN14 DS CL24
CONN15 DS CL24
CONN16 DS CL24
CONN17 DS CL24
CONN18 DS CL24
CONN19 DS CL24
CONN2Ø DS CL24
CONN21 DS CL24
CONN22 DS CL24
RETURNC DS F
ABSTIME DS CL8
TACQST DS F
TERMID DS CL4
TNETNAME DS CL8
CONNMON DFHEIENT
MVC REQTERM,EIBTRMID MOVE TERMID FOR REQUEST ID
MVC REQTRAN,EIBTRNID MOVE TRANID FOR REQUEST ID
EXEC CICS CANCEL TRANSID(EIBTRNID) REQID(REQID) RESP(RETURNC)
CLI EIBAID,DFHCLEAR IS THIS CLEAR?
BE RETURN YES, RETURN AND END
CLI EIBAID,DFHPF3 IS THIS PF3?
BE RETURN YES, RETURN AND END
CLI EIBAID,DFHPF1Ø IS THIS PF1Ø?
BE RETURN YES, RETURN AND END
CLI EIBAID,DFHPF15 IS THIS PF15?
BE RETURN YES, RETURN AND END
CLI EIBAID,DFHPF22 IS THIS PF22?
BE RETURN YES, RETURN AND END
MVC LINEØ1,LINEØ1I
MVC LINEØ2,LINEØ2I
MVC LINEØ3,LINEØ2I
MVC LINEØ4,LINEØ2I
MVC LINEØ5,LINEØ2I
MVC LINEØ6,LINEØ2I
MVC LINEØ7,LINEØ2I
MVC LINEØ8,LINEØ2I
MVC LINEØ9,LINEØ2I
MVC LINE1Ø,LINEØ2I
MVC LINE11,LINEØ2I
MVC LINE12,LINEØ2I
MVC LINE13,LINEØ2I
MVC LINE14,LINEØ2I
MVC LINE15,LINEØ2I
MVC LINE16,LINEØ2I
MVC LINE17,LINEØ2I
MVC LINE18,LINEØ2I
MVC LINE19,LINEØ2I
MVC LINE2Ø,LINEØ2I
24 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
LA 5,CONNL(5) NEXT ENTRY
BCT 1Ø,CONNLOOP
*
CONNDONE DS ØH
EXEC CICS INQUIRE CONNECTION END RESP(RETURNC)
*
EXEC CICS INQUIRE TERMINAL START
TERMINQL DS ØH
EXEC CICS INQUIRE TERMINAL(TERMID) NEXT RESP(RETURNC) X
ACQSTATUS(TACQST) NETNAME(TNETNAME)
CLC RETURNC,DFHRESP(NORMAL) SEE IF NORMAL RETURN
BNE TERMINQE
*
LA 1Ø,22 INTIALIZE LOOP COUNTER
LA 5,CONNØ1 GO TO FIRST CONNECTION
TESTCONN DS ØH
CLC NETNAME,TNETNAME
BNE NEXTCONN
CLC TACQST,DFHVALUE(ACQUIRED)
BE TSETACQ
CLC TACQST,DFHVALUE(RELEASED)
BNE TERMINQL
AP SESSRELC,=P'1' ADD ONE TO RELEASED SESSION COUNTER
B TERMINQL
TSETACQ DS ØH
AP SESSACQC,=P'1' ADD ONE TO ACQUIRED SESSION COUNTER
B TERMINQL
NEXTCONN DS ØH
LA 5,CONNL(5) TEST NEXT CONN ENTRY
BCT 1Ø,TESTCONN
B TERMINQL NEXT TERMINAL
*
TERMINQE DS ØH
EXEC CICS INQUIRE TERMINAL END
*
SENDTEXT DS ØH
LA 4,LINEØ3
LA 5,CONNØ1
USING LINEDSCT,4
LA 1Ø,22 INITIALIZE LOOP COUNTER
LINELOOP DS ØH
CLI CONNNAME,C' ' BLANKS?
BE ACQDONE NO, SET UP LINE
DOCONN DS ØH
MVC LINEOUT(LINEL),LINEØ3I MOVE CONSTANTS
MVC CONNO,CONNNAME MOVE CONNECTION NAME
MVC NETNO,NETNAME MOVE NETNAME
ED SESSACNT,SESSACQC UNPACK ACQUIRED COUNT FOR CONNECTION
ED SESSRCNT,SESSRELC UNPACK RELEASED COUNT FOR CONNECTION
MVC INSSTAO,=CL3'OUT'
26 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
DC CL2' '
DC CL3' ' INS STA
DC CL1' '
DC CL3' ' ACQ STA
DC CL18' SESSIONS ACQ: '
DC X'4Ø2Ø212Ø' ACQ CNT
DC CL5' REL:'
DC X'4Ø2Ø212Ø' REL CNT
ORG
DS ØH
ENDLINEL DC AL2(L'ENDLINE)
ENDLINE DC CL8Ø' ENTER NEXT TRANSACTION'
SENDL DC AL2(SCREENL)
DS ØF
CONNØ1I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONNØ2I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONNØ3I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONNØ4I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONNØ5I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONNØ6I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONNØ7I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONNØ8I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONNØ9I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN1ØI DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN11I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN12I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN13I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN14I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN15I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN16I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN17I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN18I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN19I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN2ØI DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN21I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
CONN22I DC CL4' ',CL8' ',F'Ø',F'Ø',PL2'Ø',PL2'Ø'
*
LINEDSCT DSECT
LINEOUT DS CL3
CONNO DS CL4
DS CL1
NETNO DS CL8
DS CL2
INSSTAO DS CL3
DS CL1
ACQSTAO DS CL3
DS CL18
SESSACNT DS CL4
DS CL5
SESSRCNT DS CL4
CONNACQR
While the problem of sessions being released was being researched, we
were having to release and re-acquire the sessions (because the sessions
can’t be acquired at session level, only at the connection level). We were
having to monitor the connection and release/re-acquire manually even
during the off-shift hours, and it was decided we had to automate the
process. Program CONNACQR was written to perform this function.
Program CONNACQR is added to DFHPLTPI to be executed at CICS
intialization, and starts the transaction named in label TRANSID (currently
with content of CL4’ACQR’) in three minutes. When the transaction
starts, it checks for the connection/netname named in labels CONN/
CONNNETN and tests the count of acquired sessions for that connection
using the CICS SPI interface commands. If the count of acquired connections
is less than two, then the connection is released and re-acquired (with a 5-
second wait in between) also using CICS SPI interface commands.
//JOBCARD JOB (CCS),'CSH CONNACQR ',
// CLASS=A,NOTIFY=&SYSUID,
// MSGCLASS=X,MSGLEVEL=(1,1),REGION=8M
//*
//CONNACQR EXEC DFHEITAL,PARM.TRN='SP' COND.LKED=(Ø,LE)
//TRN.SYSIN DD *
* PRINT NOGEN
28 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
TITLE 'CSH CONNECTION TESTING/REAQUIRE PROGRAM'
*********************************************************************
*********************************************************************
*** ***
*** COUNTS THE ACQUIRED SESSIONS FOR A PARTICULAR ISC CONNECTION ***
*** DENOTED BY THE LABELS: ***
*** CONN DC CL4'XXXX' ***
*** CONNNETN DC CL8'NNNNNNNN' ***
*** IN THE PROGRAM. IF THE NUBMER OF SESSIONS FALLS BELOW TWO, ***
*** THE CONNECTION IS RELEASED AND THEN ACQUIRED. ***
*** ***
*** THE PROGRAM IS STARTED VIA DFHPLTPI, STARTED AS TRANSID ***
*** IN THE PROGRAM LABEL (CURRENTLY 'ACQR') ***
*** ***
*** TRANSID DC CL4'ACQR' ***
*** ***
*** THE TRANSACTION IS STARTED AND ACTIVATES EVERY FIVE MINUTES, ***
*** TO DO THE TEST/RELEASE/ACQUIRE PROCESSING. THE PROGRAM WILL ***
*** ALSO CHECK FOR CICS SHUTDOWN STATUS AND TERMINATE UPON CICS ***
*** SHUTDOWN ***
*** ***
*** ***
*** REGISTER USAGE TABLE ***
*** ***
*** R3 - BASE REG (DEFAULT) ***
*** R11 - EIB REG (DEFAULT) ***
*** R13 - DATA REG (DEFAULT) ***
*** ***
*********************************************************************
*********************************************************************
DFHEISTG DSECT
RETURNC DS F
STATUS DS F
TERMID DS CL4
NETNAME DS CL8
COUNT DS PL2
CONNACQR DFHEIENT
*
CLC EIBTRNID,TRANSID ARE WE RUNNING ALREADY?
BE RUNXACT
EXEC CICS START TRANSID(TRANSID) INTERVAL(3ØØ) RESP(RETURNC)
B RETURNX
*
RUNXACT DS ØH
EXEC CICS INQUIRE SYSTEM SHUTSTATUS(STATUS) RESP(RETURNC)
CLC STATUS,DFHVALUE(NOTAPPLIC)
BNE RETURN
*
ZAP COUNT,=P'Ø'
EXEC CICS INQUIRE TERMINAL START RESP(RETURNC)
TERMINQL DS ØH
The transaction is a long-running one with the program waiting for five
minutes between checking the connection status and REL/ACQ actions.
The program also checks for CICS shutdown status and terminates itself
upon CICS termination.
Chorng S (Jack) Hwang
Principal
HSA Systems (USA) © Xephon 2002
30 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Monitoring system logger activity online
With the launch of CICS Transaction Server for OS/390, the MVS system
logger has become the important feature for using CICS/TS successfully.
Many companies have already migrated to CICS/TS, but a lot of migration
work is still to be done before CICS/ESA goes out of service.
A very important task when running CICS/TS is to monitor the logger set
up for CICS. Therefore IBM provided the batch program IXGRPT1, which
is supplied in SYS1.SAMPLIB. A CICS systems programmer should be
very familiar with this program in order to understand whether CICS’s
system logs, DFHLOG and DFHSHUNT, are well defined and tuned.
IXGRPT1 is an excellent window into the MVS system logger. The input
for IXGRPT1 are the SMF88 records.
However, during my work at IBM’s CICS support group I have had a lot
of contact with customers running CICS/TS who don’t know about
IXGRPT1. This inevitably leads to problems. A lot of people find it
difficult to interpret IXGRPT1 output and to understand the figures and
the critical situations.
To give an alternative to IXGRPT1 I wrote program IXGRPTC (C stands
for CICS) and program IXGSMF8. Both programs run under CICS. The
first program displays the local log streams used by CICS (see below):
JOURNALNAME STREAMNAME TYPE STATUS
DFHJØ2 CICS.IV4A53A1.DFHJØ2 MVS ENABLED
DFHLGLOG CICSUSER.IV5A53A1.DFHLGLOG MVS ENABLED
DFHLOG CICS.IV4A53A1.DFHLOG MVS ENABLED
DFHSHUNT CICS.IV4A53A1.DFHSHUNT MVS ENABLED
SYSID=53A1 APPLID=IV4A53A1
PF 3 END
You can easily select a log stream by putting the cursor on a log stream name
and pressing enter. Now the second program will be invoked to display the
SMF88 interval records on screen (see below) for the previously selected
log stream:
Because of the huge amount of data in one interval, session property screen
size 27x132 is mandatory.
This method has some advantages, including:
1 Online access to SMF88 records without needing to run batch jobs.
2 All variables for a single SMF interval on a screen.
32 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
3 Every value prefixed by a description and some suffixed with an
explanation.
4 Different colours for quantity variables (in green, eg number of bytes
written to logger) and event variables (in red, eg structure full).
5 Exception monitoring with PF keys (PF13 - PF18); eg PF13 = show
me the interval with the highest number of DASD shifts (DASD shift
= allocating a new offload dataset), or PF17 = display the interval with
structure full condition on maximum.
The input for the CICS programs are the same SMF88 records as used by
the batch version, but the organization format is different. I use a VSAM
KSDS cluster instead of ESDS datasets. The data is copied by a third
program (batch part) IXGRPTB (B stands for batch) when an SMF dataset
switch occurs. Only CICS logstreams are selected by program IXGRPTB.
A clean-up routine deletes the records from files that are older than a
specified time in days. You should use the same jobstream as provided for
IXGRPT1 in the Redbook CICS Transaction Server for OS/390: Version
1 Release 2 Implementation Guide (SG24-2234-00) on page 100/101.
Replace the last step by program IXGRPTB. The DD statement for input
is SMF88IN, for output SMF88OT.
Checklist:
1 Define the KSDS cluster with INDEXED, KEYS(36 100) – for
example:
//DEFINE EXEC PGM=IDCAMS,REGION=1M
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE CICS53.CICS.IXGSMF88
SET LASTCC=Ø
SET MAXCC=Ø
DEFINE CLUSTER(NAME(CICS53.CICS.IXGSMF88)-
INDEXED -
CYL(5 2)-
SHR(3,3)-
FREESPACE(1Ø 1Ø)-
REUSE -
KEYS(36 1ØØ)-
RECORDSIZE(276 32756) )
/*
//
34 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
6 CICS file definition for file IXGSMF88 with RECORDFormat V and
OPERATIONs Browse and READ.
Because CICS uses this file as read-only you can update the file from batch
without problems. To get all the data before using the transaction, you
should close and reopen the file in CICS. A better way is to use a file owning
region and update the file via EXCI. The best way is to use SMSVSAM.
Readers who wish to discuss the material in this article further may contact
me via e-mail, at [email protected].
IXGRPTB
*PROCESS LANGLVL(OS,SPROG);
IXGRPTB :PROCEDURE (MVSPARMSTRING) OPTIONS(MAIN);
DCL PLIXOPT CHAR(2ØØ) VAR INIT('SYSTEM(MVS),NOEXECOPS') STATIC
EXTERNAL;
%INCLUDE SMF88STR;
%INCLUDE CEEIBMAW;
%INCLUDE CEEIBMCT;
DCL MVSPARMSTRING CHAR(1ØØ) VAR;
DCL 1 FILLØ4 UNAL BASED(ADDR(MVSPARMSTRING)),
2 FILLØ5 CHAR(2),
2 CLEANUP_INTERVAL PIC'999';
DCL CLEANUP_INTERVAL_BIN FIXED BIN(15);
DCL IXGR1A OPTIONS(ASSEMBLER INTER) ENTRY(CHAR(8), CHAR(24));
DCL SMF88IN FILE RECORD INPUT;
DCL SMF88OT FILE RECORD KEYED ENV(VSAM,SIS,V);
DCL WORKAREA CHAR(32756) VAR;
DCL TIMEDATE_CHAR_88 CHAR(24);
DCL 1 FILLØ2 BASED(ADDR(TIMEDATE_CHAR_88)),
2 TODTIME CHAR(8),
2 FILLØ3 CHAR(8),
2 TODDATE CHAR(8);
DCL TIMEDATE_JULIAN_88 FIXED BIN(31);
DCL TIMEDATE_JULIAN_CUR FIXED BIN(31);
DCL TIMEDATE_SECONDS_CUR FLOAT DEC(16);
DCL TIMEDATE_GREGORN_CUR CHAR(17);
DCL 1 LGSEGMENT BASED(SMF88LOF),
2 FILLØ1 CHAR(8),
2 KEY, /* KEY FOR VSAM KSDS */
3 KEY_PART1 CHAR(26), /* => SMF88LSN */
3 KEY_PART2 CHAR(2), /* => SMF88LFL */
3 KEY_PART3 CHAR(8); /* => SMF88LTD */
DCL SYSPRINT FILE;
DCL (CSTG,LENGTH,SUBSTR,ONCODE,POINTERADD,STRING,VERIFY,
PLIRETC) BUILTIN;
36 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
IF VERIFY(SUBSTR(MVSPARMSTRING,1,3),'Ø123456789') = Ø /* NUMERIC? */
THEN CLEANUP_INTERVAL_BIN = CLEANUP_INTERVAL; /* YES. */
ELSE CLEANUP_INTERVAL_BIN = 3; /* NO. DEFAULT IS 3 DAYS */
PUT SKIP DATA( CLEANUP_INTERVAL_BIN );
/* **************************************************************** */
/* SELECT LOGSTREAMS WITH QUALIFIER DFHL*, DFHS* AND DFHJ* */
/* **************************************************************** */
OPEN FILE(SMF88IN);
READ FILE(SMF88IN) INTO(WORKAREA);
SUBSTR(REAL_RECORD,1,LENGTH(WORKAREA)) = WORKAREA;
OPEN FILE(SMF88OT) OUTPUT DIRECT;
DO WHILE(¬EOF);
/* IS IT A CICS LOGSTREAM ? */
P = ADDR(SMF88LSN);
STRING_FOUND = FALSE;
A: DO I = 1 TO 23; /* LENGTH OF LOG STREAM NAME - 4 + 1 */
IF X = 'DFHL' | X = 'DFHS' | X = 'DFHJ'
THEN DO;
STRING_FOUND = TRUE;
LEAVE A;
END;
P = POINTERADD(P,1);
END A;
/* PROCESS RECORD */
IF STRING_FOUND = TRUE
THEN DO;
C = C + 1;
KEY_PART2 = 'ØØØØ'X;
CALL FORMAT_TOD;
SUBSTR(WORKAREA,1,LENGTH(WORKAREA)) = REAL_RECORD;
WRITE FILE(SMF88OT) FROM(WORKAREA)
KEYFROM(STRING(KEY));
END;
/* NEXT READ */
READ FILE(SMF88IN) INTO(WORKAREA);
SUBSTR(REAL_RECORD,1,LENGTH(WORKAREA)) = WORKAREA;
END;
CLOSE FILE(SMF88IN);
CLOSE FILE(SMF88OT);
/*******************************************************************/
/* CLEANUP - DELETE ALL RECORDS WITH A CREATION DATE GT 1Ø */
/*******************************************************************/
EOF = FALSE;
/* GET CURRENT DATE IN JULIAN DATE FORMAT */
CALL CEELOCT(TIMEDATE_JULIAN_CUR,TIMEDATE_SECONDS_CUR,
TIMEDATE_GREGORN_CUR,FC);
OPEN FILE(SMF88OT) SEQUENTIAL UPDATE;
READ FILE(SMF88OT) INTO(WORKAREA); /* FIRST READ */
DO WHILE(¬EOF);
SUBSTR(REAL_RECORD,1,LENGTH(WORKAREA)) = WORKAREA;
IXGRPTC
*PROCESS MACRO SYSTEM(CICS) LANGLVL(SPROG) XREF(FULL);
IXGRPTC: PROC(COMPTR) OPTIONS(MAIN);
/*******************************************************************/
/* DISPLAY SMF88 DATA ONLINE */
/*******************************************************************/
%INCLUDE IXGMAPS; /* DSECT GENERATED BY BMS */
%INCLUDE (DFHAID);
DCL COMPTR PTR;
DCL XRESP FIXED BIN(31);
DCL XABSTIME DEC FIXED(15);
DCL XSYSID CHAR(4), XAPPLID CHAR(8);
DCL (ADDR,CHAR,CSTG,STG,LOW,HIGH,SUBSTR,LENGTH) BUILTIN;
DCL STR CHAR(32767) BASED;
DCL I,J,K,C FIXED BIN(15); /* I,J,K FOR GENERAL PURPOSES, C=CURSOR */
DCL REQJOUR CHAR(8);
DCL XJOURNALNAME CHAR(8),
XSTREAMNAME CHAR(26),
XSTATUS FIXED BIN(31), CSTATUS CHAR(8),
38 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
XTYPE FIXED BIN(31), CTYPE CHAR(8);
DCL XCOMMAREA CHAR(CSTG(XCOMMAREA_DATA)) INIT(
LOW(CSTG(XCOMMAREA_DATA))) CONTROLLED;
DCL 1 XCOMMAREA_DATA UNAL BASED(COMPTR),
2 EYECATCHER CHAR(8),
2 TAB_IDX FIXED BIN(15),
2 TAB_STRNM (6:17) CHAR(26),
2 NEXT_FUNCTION CHAR(2Ø);
DCL END_MESSAGE CHAR(4Ø) INIT('IXGRPTC TERMINATED');
DCL 1 TO_IXGSMF8_CA,
2 FILLØ1 CHAR(8) INIT('IXGSMF8'),
2 FILLØ2 CHAR(2Ø) INIT('FIRST_INVOCATION'),
2 STRNM CHAR(26),
2 LSFLAGS CHAR(2),
2 TIMESTAMP CHAR(8),
2 MAXITEM FIXED BIN(15),
2 LASTITEM FIXED BIN(15),
2 TSQNAME CHAR(8),
2 ACCUM_TAB (2Ø),
3 ACCUMULATOR FLOAT BIN(64),
2 MAX_TAB (22),
3 MAXIMUM FLOAT BIN(64),
3 TSQITEM FIXED BIN(15);
DCL SCREEN_LINES FIXED BIN(15);
DCL SCREEN_COLS FIXED BIN(15);
IF EIBCALEN=Ø
THEN DO;
ALLOCATE XCOMMAREA;
COMPTR=ADDR(XCOMMAREA);
EYECATCHER='IXGRPTC';
NEXT_FUNCTION = '***';
END;
SELECT(EIBAID);
WHEN(DFHPF3) IF EIBCALEN > Ø
THEN
NEXT_FUNCTION = 'RETURN_TO_CICS';
WHEN(DFHENTER)
DO; IF EIBCALEN>Ø THEN
DO;
C=EIBCPOSN/8Ø;
IF (TAB_IDX>5 & C>TAB_IDX) | C<6 | C>17
THEN DO;
EXEC CICS SEND MAP ('INVCURS')
MAPSET('IXGMAPS')
RESP(XRESP);
GOTO RETURN_TO_CICS;
END;
EXEC CICS ASSIGN ALTSCRNHT(SCREEN_LINES)
ALTSCRNWD(SCREEN_COLS)
RESP(XRESP);
40 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
WHEN (DFHVALUE(FAILED)) CSTATUS='FAILED';
OTHERWISE CSTATUS=' ???';
END;
SELECT(XTYPE);
WHEN (DFHVALUE(MVS)) CTYPE='MVS';
WHEN (DFHVALUE(SMF)) CTYPE='SMF';
WHEN (DFHVALUE(DUMMY)) CTYPE='DUMMY';
OTHERWISE CTYPE=' ???';
END;
LSNO(I)=(9)' '||XJOURNALNAME||(4)' '||XSTREAMNAME||
(2)' '||CTYPE||CSTATUS;
/* SAVE THE STREAMNAME IN TAB */
TAB_IDX=TAB_IDX+1; TAB_STRNM(TAB_IDX)=XSTREAMNAME;
END;
/* SEND MAP */
EXEC CICS SEND MAP('IXGMAP1') MAPSET('IXGMAPS') FROM(IXGMAP1O)
ERASE RESP(XRESP);
RETURN_TO_CICS:
EXEC CICS RETURN TRANSID(EIBTRNID) COMMAREA(XCOMMAREA_DATA)
LENGTH(CSTG(XCOMMAREA_DATA)) RESP(XRESP);
END IXGRPTC;
IXGSMF8
*PROCESS MACRO SYSTEM(CICS) LANGLVL(SPROG) XREF(FULL);
IXGSMF8: PROC(COMPTR) OPTIONS(MAIN);
/*******************************************************************/
/* READ SMF88 FILE AND DISPLAY SMF88 VARIABLES ON SCREEN */
/*******************************************************************/
%INCLUDE IXGMAPS; /* DSECT GENERATED BY BMS */
%INCLUDE SMF88STR;
%INCLUDE (DFHAID);
%INCLUDE (DFHBMSCA);
DCL (COMPTR,P) PTR;
DCL NULL_CA CHAR(1), ZERO FIXED BIN(15) INIT(Ø);
DCL XLENGTH FIXED BIN(15);
DCL XRESP FIXED BIN(31);
DCL XABSTIME DEC FIXED(15);
DCL XSYSID CHAR(4), XAPPLID CHAR(8);
DCL LONG_FLOAT_BIN FLOAT BINARY(64) BASED;
DCL WRK_BIN FIXED BIN(31);
DCL WRK_PACKED FIXED DEC(15);
DCL WRK_FLOAT FLOAT BIN(64);
DCL SYSPRINT FILE;
DCL (ADDR,CHAR,CSTG,STG,LOW,SUBSTR,STRING,LENGTH,FLOAT,BIN,MIN,
UNSPEC,LBOUND,HBOUND) BUILTIN;
DCL STR CHAR(32767) BASED;
DCL I,J,K,C FIXED BIN(15); /* I,J,K FOR GENERAL PURPOSES, C=CURSOR */
DCL STRNM_SAVE CHAR(CSTG(STRNM));
42 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
SMF88SIB_MAX_TABIDX FIXED BIN(15) STATIC INIT(5),
SMF88SAB_MAX_TABIDX FIXED BIN(15) STATIC INIT(6),
SMF88SII_MAX_TABIDX FIXED BIN(15) STATIC INIT(7),
SMF88SAI_MAX_TABIDX FIXED BIN(15) STATIC INIT(8),
SMF88SC1_MAX_TABIDX FIXED BIN(15) STATIC INIT(9),
SMF88SC2_MAX_TABIDX FIXED BIN(15) STATIC INIT(1Ø),
SMF88SC3_MAX_TABIDX FIXED BIN(15) STATIC INIT(11),
SMF88EDS_MAX_TABIDX FIXED BIN(15) STATIC INIT(12),
SMF88ERI_MAX_TABIDX FIXED BIN(15) STATIC INIT(13),
SMF88ERC_MAX_TABIDX FIXED BIN(15) STATIC INIT(14),
SMF88ESF_MAX_TABIDX FIXED BIN(15) STATIC INIT(15),
SMF88ETT_MAX_TABIDX FIXED BIN(15) STATIC INIT(16),
SMF88ETF_MAX_TABIDX FIXED BIN(15) STATIC INIT(17),
SMF88EOA_MAX_TABIDX FIXED BIN(15) STATIC INIT(18),
SMF88EFS_MAX_TABIDX FIXED BIN(15) STATIC INIT(19),
SMF88EDO_MAX_TABIDX FIXED BIN(15) STATIC INIT(2Ø),
SMF88LAB_MAX_TABIDX FIXED BIN(15) STATIC INIT(21),
SMF88LIB_MIN_TABIDX FIXED BIN(15) STATIC INIT(22);
%PAGE;
/*******************************************************************/
/* MAIN TASK CONTROL */
SELECT(EIBAID);
WHEN(DFHENTER);
WHEN(DFHPF3) NEXT_FUNCTION = 'RETURN_TO_IXGC';
WHEN(DFHPF7) NEXT_FUNCTION = 'PROCESS_PREV_ITEM';
WHEN(DFHPF8) NEXT_FUNCTION = 'PROCESS_NEXT_ITEM';
WHEN(DFHPF9) NEXT_FUNCTION = 'PROCESS_FIRST_ITEM';
WHEN(DFHPF1Ø) NEXT_FUNCTION = 'PROCESS_MIDLE_ITEM';
WHEN(DFHPF11) NEXT_FUNCTION = 'PROCESS_LAST_ITEM';
WHEN(DFHPF13) NEXT_FUNCTION = 'DASD_SHFT_MAX';
WHEN(DFHPF14) NEXT_FUNCTION = 'OFFLOAD_MAX';
WHEN(DFHPF15) NEXT_FUNCTION = 'STG_FULL';
WHEN(DFHPF16) NEXT_FUNCTION = 'STG_THLD';
WHEN(DFHPF17) NEXT_FUNCTION = 'STR_FULL';
WHEN(DFHPF18) NEXT_FUNCTION = 'OFFL_9Ø%';
WHEN(DFHPF23) NEXT_FUNCTION = 'AVERAGE';
WHEN(DFHPF24) NEXT_FUNCTION = 'SUMMARY';
OTHERWISE NEXT_FUNCTION = 'INVALID_PFKEY';
END;
SELECT(NEXT_FUNCTION);
WHEN('FIRST_INVOCATION ') DO;
CALL PROC_INIT;
CALL PROC_READ_FILE;
NEXT_FUNCTION = '???';
END;
WHEN('PROCESS_FIRST_ITEM') DO;
CURRITEM = 1;
CALL DISPLAY_SMF88_INTERVAL(CURRITEM);
END;
WHEN('PROCESS_MIDLE_ITEM') DO;
44 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
WHEN('OFFL_9Ø%') DO;
CURRITEM=TSQITEM(SMF88EFS_MAX_TABIDX);
CALL DISPLAY_SMF88_INTERVAL(CURRITEM);
END;
WHEN('SUMMARY') CALL PROC_SUMM;
WHEN('AVERAGE') CALL PROC_AVG;
WHEN('INVALID_PFKEY') DO; CALL CLEAR_MAP;
MSGO='*** INVALID PF KEY ***. PRESS ' ||
'ONE OF THE PF KEYS DISPLAYED ' ||
'BELOW|';
MSGH=DFHREVRS;
CALL SEND_MAP;
END;
OTHERWISE;
END;
EXEC CICS RETURN TRANSID(EIBTRNID) COMMAREA(XCOMMAREA)
LENGTH(CSTG(XCOMMAREA)) RESP(XRESP);
%PAGE;
/*******************************************************************/
/* READ THE REQUESTED SMF88 RECORDS INTO A TEMPORARY STORAGE AREA */
PROC_READ_FILE: PROC OPTIONS(REENTRANT) REORDER;
STRNM_SAVE=STRNM;
TSQNAME=EIBTRNID||EIBTRMID;
MAXITEM=Ø; CURRITEM=Ø;
EXEC CICS DELETEQ TS QUEUE(TSQNAME)
RESP(XRESP);
EXEC CICS STARTBR FILE('IXGSMF88')
RIDFLD(XKEY) GTEQ
RESP(XRESP);
EXEC CICS READNEXT FILE('IXGSMF88') SET(P) LENGTH(XLENGTH)
RIDFLD(XKEY) RESP(XRESP);
DO WHILE(STRNM_SAVE=STRNM);
IF XRESP¬=DFHRESP(NORMAL) THEN LEAVE;
EXEC CICS WRITEQ TS QUEUE(TSQNAME) FROM(P->STR) LENGTH(XLENGTH)
RESP(XRESP);
MAXITEM=MAXITEM+1; CURRITEM=CURRITEM+1;
/* MOVE TO REAL_RECORD AND ACCUMULATE THE VALUES */
SUBSTR(REAL_RECORD,1,XLENGTH) = SUBSTR(P->STR,1,XLENGTH);
CALL PROC_ACCUMULATE_AND_MAX;
/* READ NEXT */
EXEC CICS READNEXT FILE('IXGSMF88') SET(P) LENGTH(XLENGTH)
RIDFLD(XKEY) RESP(XRESP);
END;
EXEC CICS ENDBR FILE('IXGSMF88')
RESP(XRESP);
CALL DISPLAY_SMF88_INTERVAL(CURRITEM);
END PROC_READ_FILE;
%PAGE;
/*******************************************************************/
/* DISPLAY THE SMF88 INTERVAL ON CRT */
46 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
CALL CONVERT_TO_FLOAT_AND_SUM(ADDR(SMF88SWB),ADDR(SMF88SWB_FLOAT));
SMF88SWBO = SMF88SWB_FLOAT;
/* BYT WRITTN TO DASD */
SMF88LDB_FLOAT = Ø;
CALL CONVERT_TO_FLOAT_AND_SUM(ADDR(SMF88LDB),ADDR(SMF88LDB_FLOAT));
SMF88LDBO = SMF88LDB_FLOAT;
/* BYT DELETD INTERIM ST W/O DASD */
SMF88SIB_FLOAT = Ø;
CALL CONVERT_TO_FLOAT_AND_SUM(ADDR(SMF88SIB),ADDR(SMF88SIB_FLOAT));
SMF88SIBO = SMF88SIB_FLOAT;
/* BYT DELETD INTERIM ST W/DASD */
SMF88SAB_FLOAT = Ø;
CALL CONVERT_TO_FLOAT_AND_SUM(ADDR(SMF88SAB),ADDR(SMF88SAB_FLOAT));
SMF88SABO = SMF88SAB_FLOAT;
SMF88SIIO = FLOAT(UNSPEC(SMF88SII),32); /* # DELETES W/O DASD WRITE*/
SMF88SAIO = FLOAT(UNSPEC(SMF88SAI),32); /* # DELETS W/WRITE */
SMF88SC1O = FLOAT(UNSPEC(SMF88SC1),32); /* # WRITES COMPLETED TYPE1*/
SMF88SC2O = FLOAT(UNSPEC(SMF88SC2),32); /* # WRITES COMPLETED TYPE2*/
SMF88SC3O = FLOAT(UNSPEC(SMF88SC3),32); /* # WRITES COMPLETED TYPE3*/
/* ************************************************ */
/* EVENTS SECTION */
SMF88EDSO = FLOAT(UNSPEC(SMF88EDS),32); /* DASD SHFT */
SMF88ERIO = FLOAT(UNSPEC(SMF88ERI),32); /* REBLD INI */
SMF88ERCO = FLOAT(UNSPEC(SMF88ERC),32); /* REBLD CMP */
SMF88ESFO = FLOAT(UNSPEC(SMF88ESF),32); /* STRC FULL */
SMF88ETTO = FLOAT(UNSPEC(SMF88ETT),32); /* STG THLD */
SMF88ETFO = FLOAT(UNSPEC(SMF88ETF),32); /* STG FULL */
SMF88EOAO = FLOAT(UNSPEC(SMF88EO ),32); /* OFFLOADS */
SMF88EFSO = FLOAT(UNSPEC(SMF88EFS),32); /* OFFL.9Ø% */
SMF88EDOO = FLOAT(UNSPEC(SMF88EDO),32); /* IXGOFFLD */
SELECT(NEXT_FUNCTION); /* SET MAP ATTRIBUTE TO REVERSE VIDEO */
WHEN('PROCESS_PREV_ITEM') PF7H=DFHREVRS;
WHEN('PROCESS_NEXT_ITEM') PF8H=DFHREVRS;
WHEN('PROCESS_FIRST_ITEM') PF9H=DFHREVRS;
WHEN('PROCESS_MIDLE_ITEM') PF1ØH=DFHREVRS;
WHEN('PROCESS_LAST_ITEM') PF11H=DFHREVRS;
WHEN('DASD_SHFT_MAX') DO; SMF88EDSH=DFHREVRS; PF13H=DFHREVRS; END;
WHEN('OFFLOAD_MAX') DO; SMF88EOAH=DFHREVRS; PF14H=DFHREVRS; END;
WHEN('STG_FULL') DO; SMF88ETFH=DFHREVRS; PF15H=DFHREVRS; END;
WHEN('STG_THLD') DO; SMF88ETTH=DFHREVRS; PF16H=DFHREVRS; END;
WHEN('STR_FULL') DO; SMF88ESFH=DFHREVRS; PF17H=DFHREVRS; END;
WHEN('OFFL_9Ø%') DO; SMF88EFSH=DFHREVRS; PF18H=DFHREVRS; END;
OTHERWISE;
END;
EXIT_DISPLAY_SMF88_INTERVAL:
CALL SEND_MAP;
RETURN;
END DISPLAY_SMF88_INTERVAL;
%PAGE;
PROC_ACCUMULATE_AND_MAX: PROC OPTIONS(REENTRANT) REORDER;
48 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
TSQITEM(SMF88SIB_MAX_TABIDX) = CURRITEM;
END;
/* SMF88SAB */
CALL CONVERT_TO_FLOAT_AND_SUM(ADDR(SMF88SAB),
ADDR(ACCUMULATOR(SMF88SAB_ACCUM_TABIDX)));
IF MAXIMUM(SMF88SAB_MAX_TABIDX) <= WRK_FLOAT THEN
DO;
MAXIMUM(SMF88SAB_MAX_TABIDX) = WRK_FLOAT;
TSQITEM(SMF88SAB_MAX_TABIDX) = CURRITEM;
END;
/* SMF88SII */
ACCUMULATOR(SMF88SII_ACCUM_TABIDX) =
ACCUMULATOR(SMF88SII_ACCUM_TABIDX) + FLOAT(UNSPEC(SMF88SII),32);
IF MAXIMUM(SMF88SII_MAX_TABIDX) <= FLOAT(UNSPEC(SMF88SII),32) THEN
DO;
MAXIMUM(SMF88SII_MAX_TABIDX) = FLOAT(UNSPEC(SMF88SII),32);
TSQITEM(SMF88SII_MAX_TABIDX) = CURRITEM;
END;
/* SMF88SAI */
ACCUMULATOR(SMF88SAI_ACCUM_TABIDX) =
ACCUMULATOR(SMF88SAI_ACCUM_TABIDX) + FLOAT(UNSPEC(SMF88SAI),32);
IF MAXIMUM(SMF88SAI_MAX_TABIDX) <= FLOAT(UNSPEC(SMF88SAI),32) THEN
DO;
MAXIMUM(SMF88SAI_MAX_TABIDX) = FLOAT(UNSPEC(SMF88SAI),32);
TSQITEM(SMF88SAI_MAX_TABIDX) = CURRITEM;
END;
/* SMF88SC1 */
ACCUMULATOR(SMF88SC1_ACCUM_TABIDX) =
ACCUMULATOR(SMF88SC1_ACCUM_TABIDX) + FLOAT(UNSPEC(SMF88SC1),32);
IF MAXIMUM(SMF88SC1_MAX_TABIDX) <= FLOAT(UNSPEC(SMF88SC1),32) THEN
DO;
MAXIMUM(SMF88SC1_MAX_TABIDX) = FLOAT(UNSPEC(SMF88SC1),32);
TSQITEM(SMF88SC1_MAX_TABIDX) = CURRITEM;
END;
/* SMF88SC2 */
ACCUMULATOR(SMF88SC2_ACCUM_TABIDX) =
ACCUMULATOR(SMF88SC2_ACCUM_TABIDX) + FLOAT(UNSPEC(SMF88SC2),32);
IF MAXIMUM(SMF88SC2_MAX_TABIDX) <= FLOAT(UNSPEC(SMF88SC2),32) THEN
DO;
MAXIMUM(SMF88SC2_MAX_TABIDX) = FLOAT(UNSPEC(SMF88SC2),32);
TSQITEM(SMF88SC2_MAX_TABIDX) = CURRITEM;
END;
/* SMF88SC3 */
ACCUMULATOR(SMF88SC3_ACCUM_TABIDX) =
ACCUMULATOR(SMF88SC3_ACCUM_TABIDX) + FLOAT(UNSPEC(SMF88SC3),32);
IF MAXIMUM(SMF88SC3_MAX_TABIDX) <= FLOAT(UNSPEC(SMF88SC3),32) THEN
DO;
MAXIMUM(SMF88SC3_MAX_TABIDX) = FLOAT(UNSPEC(SMF88SC3),32);
TSQITEM(SMF88SC3_MAX_TABIDX) = CURRITEM;
END;
50 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
ACCUMULATOR(SMF88EOA_ACCUM_TABIDX) + FLOAT(UNSPEC(SMF88EO),32);
IF MAXIMUM(SMF88EOA_MAX_TABIDX) <= FLOAT(UNSPEC(SMF88EO),32) THEN
DO;
MAXIMUM(SMF88EOA_MAX_TABIDX) = FLOAT(UNSPEC(SMF88EO),32);
TSQITEM(SMF88EOA_MAX_TABIDX) = CURRITEM;
END;
/* SMF88EFS */
ACCUMULATOR(SMF88EFS_ACCUM_TABIDX) =
ACCUMULATOR(SMF88EFS_ACCUM_TABIDX) + FLOAT(UNSPEC(SMF88EFS),32);
IF MAXIMUM(SMF88EFS_MAX_TABIDX) <= FLOAT(UNSPEC(SMF88EFS),32) THEN
DO;
MAXIMUM(SMF88EFS_MAX_TABIDX) = FLOAT(UNSPEC(SMF88EFS),32);
TSQITEM(SMF88EFS_MAX_TABIDX) = CURRITEM;
END;
/* SMF88EDO */
ACCUMULATOR(SMF88EDO_ACCUM_TABIDX) =
ACCUMULATOR(SMF88EDO_ACCUM_TABIDX) + FLOAT(UNSPEC(SMF88EDO),32);
IF MAXIMUM(SMF88EDO_MAX_TABIDX) <= FLOAT(UNSPEC(SMF88EDO),32) THEN
DO;
MAXIMUM(SMF88EDO_MAX_TABIDX) = FLOAT(UNSPEC(SMF88EDO),32);
TSQITEM(SMF88EDO_MAX_TABIDX) = CURRITEM;
END;
END PROC_ACCUMULATE_AND_MAX;
%PAGE;
PROC_INIT: PROC;
DO I = 1 TO 2Ø;
ACCUMULATOR(I) = FLOAT(Ø);
END;
DO I = 1 TO 22;
MAXIMUM(I) = FLOAT(Ø);
TSQITEM(I) = 1;
END;
END PROC_INIT;
%PAGE;
CONVERT_TO_FLOAT_AND_SUM : PROC
(SOURCE_STRING_PTR, FLOAT_ACCUM_PTR);
DECLARE
SOURCE_STRING_PTR POINTER,
SOURCE_STRING BIT(64) BASED(SOURCE_STRING_PTR), /* INPUT: FORMAT
IS ASM LONG FLOATING POINT*/
FIRST_BYTE BIT(8) BASED(SOURCE_STRING_PTR), /* EXPONENT OF
ASM LONG FLOATING POINT */
TARGET_STRING BIT(64), /* TEMP 64 BIT WORKAREA*/
FLOAT_ACCUM_PTR POINTER,
FLOAT_ACCUM BINARY(64) FLOAT BASED(FLOAT_ACCUM_PTR); /* OUTPUT:
PL/I FORMAT 64-BIT FLOAT */
DECLARE
CHARACTERISTIC BINARY(15),
DIGITS_TO_MOVE BINARY(15),
NUM_BITS_TO_MOVE BINARY(15),
52 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
SMF88LIBO = FLOAT(UNSPEC(SMF88LIB),32); /* MIN.BLOCKLEN */
SMF88LABO = FLOAT(UNSPEC(SMF88LAB),32); /* MAX.BLOCKLEN */
SMF88LWBO = ACCUMULATOR(SMF88LWB_ACCUM_TABIDX); /* BYT WRITTN SUM */
SMF88STNO = SMF88STN; /* STRUCTURE NAME */
SMF88SWBO = ACCUMULATOR(SMF88SWB_ACCUM_TABIDX); /* BYT WRITTN INT. */
SMF88LDBO = ACCUMULATOR(SMF88LDB_ACCUM_TABIDX); /* BYT WRITTN DASD */
SMF88SIBO = ACCUMULATOR(SMF88SIB_ACCUM_TABIDX); /* BYT DEL W/O DASD*/
SMF88SABO = ACCUMULATOR(SMF88SAB_ACCUM_TABIDX); /* BYT DEL W/DASD */
SMF88SIIO = ACCUMULATOR(SMF88SII_ACCUM_TABIDX); /* #DEL W/O DASD */
SMF88SAIO = ACCUMULATOR(SMF88SAI_ACCUM_TABIDX); /* #DEL W/WRITE */
SMF88SC1O = ACCUMULATOR(SMF88SC1_ACCUM_TABIDX); /* #WRITES TYPE 1 */
SMF88SC2O = ACCUMULATOR(SMF88SC2_ACCUM_TABIDX); /* #WRITES TYPE 2 */
SMF88SC3O = ACCUMULATOR(SMF88SC3_ACCUM_TABIDX); /* #WRITES TYPE 3 */
SMF88EDSO = ACCUMULATOR(SMF88EDS_ACCUM_TABIDX); /* DASD SHRT */
SMF88ERIO = ACCUMULATOR(SMF88ERI_ACCUM_TABIDX); /* REBLD INIT. */
SMF88ERCO = ACCUMULATOR(SMF88ERC_ACCUM_TABIDX); /* REBLD CMP. */
SMF88ESFO = ACCUMULATOR(SMF88ESF_ACCUM_TABIDX); /* STRC FULL */
SMF88ETTO = ACCUMULATOR(SMF88ETT_ACCUM_TABIDX); /* STG THLD */
SMF88ETFO = ACCUMULATOR(SMF88ETF_ACCUM_TABIDX); /* STG FULL */
SMF88EOAO = ACCUMULATOR(SMF88EOA_ACCUM_TABIDX); /* OFFLOADS */
SMF88EFSO = ACCUMULATOR(SMF88EFS_ACCUM_TABIDX); /* OFFL.9Ø% */
SMF88EDOO = ACCUMULATOR(SMF88EDO_ACCUM_TABIDX); /* IXGOFFLD */
PF24H = DFHREVRS;
CALL SEND_MAP;
RETURN;
END PROC_SUMM;
%PAGE;
PROC_AVG: PROC OPTIONS(REENTRANT) REORDER;
/* CLEAR MAP */
SUBSTR(ADDR(IXGMAP8O)->STR,1,STG(IXGMAP8O))=LOW(STG(IXGMAP8O));
EXEC CICS READQ TS QUEUE(TSQNAME) INTO(REAL_RECORD) ITEM(MAXITEM)
RESP(XRESP);
MCURINTVO = MAXITEM;
MMAXINTVO = MAXITEM;
/* ************************************************ */
/* PRODUCT SECTION */
SMF88SYNO = SMF88SYN; /* MVS OPERATION SYSTEM NAME */
SMF88OSLO = SMF88OSL; /* MVS RELEASE */
/* ************************************************ */
/* LOGSTREAM SECTION */
SMF88LSNO = SMF88LSN; /* LOG STREAM NAME */
SMF88LWIO = ACCUMULATOR(SMF88LWI_ACCUM_TABIDX) / MAXITEM;
SMF88LTDO = SUBSTR(SMF88PNM,1,4) || '/' || /* YYYY */
SUBSTR(SMF88PNM,5,2) || '/' || /* MM */
SUBSTR(SMF88PNM,7,2) || SPACE || /* DD */
SUBSTR(SMF88LIT,1,2) || ':' || /* HH */
SUBSTR(SMF88LIT,3,2) || ':' || /* MM */
SUBSTR(SMF88LIT,5,2); /* SS */
SMF88LIBO = FLOAT(UNSPEC(SMF88LIB),32); /* MIN.BLOCKLEN */
SMF88LABO = FLOAT(UNSPEC(SMF88LAB),32); /* MAX.BLOCKLEN */
COPYBOOK SMF88STR
You will find a detailed description of system logger data record type 88
(X'58') mapping in MVS System Management Facilities (GC28-1783-
09) on pages 13-477 – 13-482.
DECLARE
RECORD AREA (32756);
DECLARE
1 SMFREC BASED(ADDR(RECORD)),
2 RESERVED CHAR (4),
54 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
2 REAL_RECORD CHAR (32752);
DCL 1 SMFRCD88 BASED(ADDR(RECORD)),
2 RSVD1 CHAR(4),
2 SMF88FLG BIT (8),
2 SMF88RTY BIT (8),
2 SMF88TME CHAR(4),
2 SMF88DTE FIXED DECIMAL (7),
2 SMF88SID CHAR(4),
2 SMF88WID CHAR(4),
2 SMF88STP FIXED BINARY (15),
2 SMF88SDS,
3 SMF88SDL FIXED BINARY (31),
3 SMF88POF OFFSET (RECORD),
3 SMF88PLN FIXED BINARY (15),
3 SMF88PON FIXED BINARY (15),
3 SMF88LOF OFFSET (RECORD),
3 SMF88LLN FIXED BINARY (15),
3 SMF88LON FIXED BINARY (15),
3 SMF88EOF OFFSET (RECORD),
3 SMF88ELN FIXED BINARY (15),
3 SMF88EON FIXED BINARY (15),
3 SMF88SOF OFFSET (RECORD),
3 SMF88SLN FIXED BINARY (15),
3 SMF88SON FIXED BINARY (15);
DCL 1 SMF88PSD BASED(SMF88POF),
3 SMF88TYP FIXED BINARY (15),
3 SMF88RVN CHAR(2),
3 SMF88PNM CHAR(8),
3 SMF88OSL CHAR(8),
3 SMF88SYN CHAR(8);
DCL 1 SMF88LSD BASED(SMF88LOF),
3 SMF88LIT CHAR(8),
3 SMF88LSN CHAR(26),
3 SMF88LFL,
5 RSVD2 BIT(1),
5 SMF88LFT BIT(1),
5 RSVD3 BIT(14),
3 SMF88LTD CHAR(8),
3 SMF88LWI CHAR(4),
3 SMF88LIB CHAR(4),
3 SMF88LAB CHAR(4),
3 SMF88LWB CHAR(8),
3 SMF88LDB CHAR(8);
DCL 1 SMF88ESD BASED(SMF88EOF),
3 SMF88EDS CHAR(4),
3 SMF88ERI CHAR(4),
3 SMF88ERC CHAR(4),
3 SMF88ESF CHAR(4),
3 SMF88ETT CHAR(4),
3 SMF88ETF CHAR(4),
MAPSET IXGMAPS
IXGMAPS DFHMSD TYPE=DSECT,MODE=OUT,CTRL=FREEKB,LANG=PLI, *
MAPATTS=(COLOR,HILIGHT), *
DSATTS=(COLOR,HILIGHT),STORAGE=AUTO
**********************************************************************
* LOCAL LOG STREAMS ON CRT *
**********************************************************************
IXGMAP1 DFHMDI SIZE=(24,8Ø)
DFHMDF POS=(Ø2,18),LENGTH=4Ø,COLOR=BLUE, *
INITIAL='SYSTEM LOGGER ACTIVITY REPORT (IXGRPTC)'
DFHMDF POS=(Ø5,1Ø),LENGTH=65,COLOR=BLUE, *
INITIAL='JOURNALNAME STREAMNAME TYPE *
STATUS '
DFHMDF POS=(Ø6,1Ø),LENGTH=65,COLOR=BLUE, *
INITIAL='----------------------------------------------*
---------'
LSN DFHMDF POS=(Ø7,Ø1),LENGTH=79,OCCURS=12,COLOR=GREEN
DFHMDF POS=(2Ø,Ø1),LENGTH=79,COLOR=NEUTRAL,INITIAL='NOTE: PUT
*
THE CURSOR ON A STREAMNAME AND PRESS ENTER KEY'
SYSID DFHMDF POS=(22,54),LENGTH=26,COLOR=TURQUOISE*
DFHMDF POS=(24,Ø1),LENGTH=2,COLOR=GREEN,INITIAL='PF'
DFHMDF POS=(24,Ø4),LENGTH=1,COLOR=TURQUOISE,INITIAL='3'
DFHMDF POS=(24,Ø6),LENGTH=4,COLOR=GREEN,INITIAL='END '
**********************************************************************
* ERROR MESSAGES *
**********************************************************************
INVCURS DFHMDI SIZE=(24,8Ø)
DFHMDF POS=(21,Ø1),LENGTH=4Ø,COLOR=RED, *
INITIAL='*** CURSOR NOT ON A VALID STREAMNAME ***'
INVKEY DFHMDI SIZE=(24,8Ø)
DFHMDF POS=(21,Ø1),LENGTH=42,COLOR=RED, *
56 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
INITIAL='*** INVALID PF KEY. PRESS PF3 OR ENTER ***'
INVSCRN DFHMDI SIZE=(24,8Ø)
DFHMDF POS=(21,Ø1),LENGTH=5Ø,COLOR=RED, *
INITIAL='*** INVALID SCREEN SIZE. 27X132 MANDATORY ***'
**********************************************************************
* SMF88 RECORD ON CRT *
**********************************************************************
IXGMAP8 DFHMDI SIZE=(27,132)
* --------------------- LINE 1 --------------------------------*
DFHMDF POS=(Ø1,4Ø),LENGTH=4Ø,COLOR=BLUE, *
INITIAL='SYSTEM LOGGER ACTIVITY REPORT (IXGRPTC)'
* --------------------- LINE 2 --------------------------------*
* --------------------- LINE 3 --------------------------------*
DFHMDF POS=(Ø3,1ØØ),LENGTH=13,COLOR=BLUE, *
INITIAL='SMF INTERVAL:'
MCURINTV DFHMDF POS=(Ø3,115),LENGTH=Ø5,COLOR=GREEN,PICOUT='ZZZZ9'
DFHMDF POS=(Ø3,121),LENGTH=Ø1,COLOR=GREEN,INITIAL='/'
MMAXINTV DFHMDF POS=(Ø3,123),LENGTH=Ø5,COLOR=GREEN,PICOUT='ZZZZ9'
* --------------------- LINE 4 --------------------------------*
DFHMDF POS=(Ø4,Ø1),LENGTH=13Ø,COLOR=TURQUOISE, *
INITIAL='-------------- PRODUCT SECTION ---------------*
--------------------------------------------------------*
---------------------------'
* --------------------- LINE 5 --------------------------------*
DFHMDF POS=(Ø5,Ø1),LENGTH=26,COLOR=BLUE, *
INITIAL='MVS OPERATION SYSTEM NAME:'
SMF88SYN DFHMDF POS=(Ø5,3Ø),LENGTH=Ø8,COLOR=GREEN
DFHMDF POS=(Ø5,5Ø),LENGTH=Ø9,COLOR=BLUE, *
INITIAL='RELEASE:'
SMF88OSL DFHMDF POS=(Ø5,63),LENGTH=8,COLOR=GREEN
* --------------------- LINE 6 --------------------------------*
DFHMDF POS=(Ø6,Ø1),LENGTH=13Ø,COLOR=TURQUOISE, *
INITIAL='-------------- LOG STREAM SECTION ------------*
-------------------------------------------------------*
---------------------------'
* --------------------- LINE 7 --------------------------------*
DFHMDF POS=(Ø7,Ø1),LENGTH=17,COLOR=BLUE, *
INITIAL='LOG STREAM NAME: '
SMF88LSN DFHMDF POS=(Ø7,2Ø),LENGTH=26,COLOR=GREEN
DFHMDF POS=(Ø7,5Ø),LENGTH=Ø9,COLOR=BLUE, *
INITIAL='TOD-TIME:'
SMF88LTD DFHMDF POS=(Ø7,6Ø),LENGTH=19,COLOR=GREEN
* --------------------- LINE 8 --------------------------------*
DFHMDF POS=(Ø8,Ø1),LENGTH=32,COLOR=BLUE, *
INITIAL='# WRITES INVOKED : '
SMF88LWI DFHMDF POS=(Ø8,34),COLOR=GREEN,LENGTH=19, *
PICOUT='ZZZ.ZZZ.ZZZ.ZZZ.ZZ9'
* --------------------- LINE 9 --------------------------------*
DFHMDF POS=(Ø9,Ø1),LENGTH=32,COLOR=BLUE, *
58 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
INITIAL='# DELETS W/WRITE :'
SMF88SAI DFHMDF POS=(16,93),LENGTH=19,COLOR=RED, *
PICOUT='ZZZ.ZZZ.ZZZ.ZZZ.ZZ9'
* --------------------- LINE 17 -------------------------------*
DFHMDF POS=(17,Ø1),LENGTH=32,COLOR=BLUE, *
INITIAL='# WRITES COMPLETED - TYPE 1 :'
SMF88SC1 DFHMDF POS=(17,34),LENGTH=15,COLOR=GREEN, *
PICOUT='ZZZ.ZZZ.ZZZ.ZZ9'
DFHMDF POS=(17,5Ø),LENGTH=8Ø,COLOR=NEUTRAL, *
INITIAL='(TYPE1 = LOG STREAM CONTENTS CAN REMAIN IN STRU*
CTURE. NO NEED TO MOVE DATA.)'
* --------------------- LINE 18 -------------------------------*
DFHMDF POS=(18,Ø1),LENGTH=32,COLOR=BLUE, *
INITIAL='# WRITES COMPLETED - TYPE 2 :'
SMF88SC2 DFHMDF POS=(18,34),LENGTH=15,COLOR=GREEN, *
PICOUT='ZZZ.ZZZ.ZZZ.ZZ9'
DFHMDF POS=(18,5Ø),LENGTH=8Ø,COLOR=NEUTRAL, *
INITIAL='(TYPE2 = LOG STREAM IS FILLING THE STRUCTURE. L*
OGGER STARTS OFFL. ASYNC.)'
* --------------------- LINE 19 -------------------------------*
DFHMDF POS=(19,Ø1),LENGTH=32,COLOR=BLUE, *
INITIAL='# WRITES COMPLETED - TYPE 3 :'
SMF88SC3 DFHMDF POS=(19,34),LENGTH=15,COLOR=GREEN, *
PICOUT='ZZZ.ZZZ.ZZZ.ZZ9'
DFHMDF POS=(19,5Ø),LENGTH=8Ø,COLOR=NEUTRAL, *
INITIAL='(TYPE3 = SPACE USED IN THE STRUCTURE IS CRITICA*
L BUT DOES NOT EXCEED 1ØØ%.)'
* --------------------- LINE 2Ø -------------------------------*
DFHMDF POS=(2Ø,Ø1),LENGTH=13Ø,COLOR=TURQUOISE, *
INITIAL='-------------- EVENTS SECTION ----------------*
-------------------------------------------------------*
---------------------------'
* --------------------- LINE 21 -------------------------------*
DFHMDF POS=(21,Ø1),LENGTH=11,COLOR=BLUE,INITIAL='DASD SHFT :'
SMF88EDS DFHMDF POS=(21,13),LENGTH=7,COLOR=RED,PICOUT='ZZZ.ZZ9'
DFHMDF POS=(21,25),LENGTH=11,COLOR=BLUE,INITIAL='STRC FULL :'
SMF88ESF DFHMDF POS=(21,37),LENGTH=7,COLOR=RED,PICOUT='ZZZ.ZZ9'
DFHMDF POS=(21,5Ø),LENGTH=11,COLOR=BLUE,INITIAL='OFFLOADS :'
SMF88EOA DFHMDF POS=(21,62),LENGTH=7,COLOR=RED,PICOUT='ZZZ.ZZ9'
DFHMDF POS=(21,7Ø),LENGTH=6Ø,COLOR=NEUTRAL,INITIAL=' (NUMBER O*
F SUCCESSFUL OFFLOADS)'
* --------------------- LINE 22 -------------------------------*
DFHMDF POS=(22,Ø1),LENGTH=11,COLOR=BLUE,INITIAL='REBLD INI :'
SMF88ERI DFHMDF POS=(22,13),LENGTH=7,COLOR=RED,PICOUT='ZZZ.ZZ9'
DFHMDF POS=(22,25),LENGTH=11,COLOR=BLUE,INITIAL='STG THLD :'
SMF88ETT DFHMDF POS=(22,37),LENGTH=7,COLOR=RED,PICOUT='ZZZ.ZZ9'
DFHMDF POS=(22,5Ø),LENGTH=11,COLOR=BLUE,INITIAL='OFFL.9Ø% :'
SMF88EFS DFHMDF POS=(22,62),LENGTH=7,COLOR=RED,PICOUT='ZZZ.ZZ9'
DFHMDF POS=(22,7Ø),LENGTH=6Ø,COLOR=NEUTRAL,INITIAL=' (NO.OF SU*
SUCCESSFUL OFFLOADS DUE TO STRUC.REACHING 9Ø% FULL)'
60 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
DFHMDF POS=(27,95),LENGTH=2,COLOR=TURQUOISE,INITIAL='23'
PF23 DFHMDF POS=(27,98),LENGTH=9,COLOR=YELLOW,INITIAL='AVERAGE '
DFHMDF POS=(27,1Ø8),LENGTH=2,COLOR=TURQUOISE,INITIAL='24'
PF24 DFHMDF POS=(27,111),LENGTH=9,COLOR=YELLOW,INITIAL='TOTALS '
DFHMDF POS=(27,121),LENGTH=2,COLOR=TURQUOISE,INITIAL=' '
DFHMSD TYPE=FINAL
END
Erhard Woerner
CICS Support Group
IBM (Germany) © IBM 2002
This article describes how to keep an on-line and historical view of all the
system and application activities in the CICS session, which are written to
an application and/or CICS transient data. This process is done almost
automatically.
We have developed a rather simple method to keep a close track on these
activities, to archive those activities onto a monthly tape while CICS is
running, ensuring that each month has its own tape, and to ensure data
continuity when CICS is terminated or cancelled.
The solution described here is valid for any installation that uses CICS/
ESA with JES2 and SDSF. It has been tested on CICS Versions 3.3 and 4.1
with MVS and OS/390.
In the table above there are two ‘application’ queues – one is for the general
application queue, and the other is for the ATM sub-system, which is
monitored by a different group of people.
For the CICS system programmer, all CICS system queues (full description
of which might be found in the CICS resource definition macro) have been
split into two groups:
• The CICS system queues that deal with terminals and VTAM-CICS
activity.
• The rest of the CICS system queues.
This separation has been done because the queues that hold ‘network’
information tend to be very big, and it is more convenient to see the
messages sent to the ‘non-network’ queue.
It is possible, of course, to point from many indirect queues to one extra-
partition queue, although in this method data from different queues mix
in the extra-partition queue.
On the whole, in our shop, we keep four different SDSCI. They are for:
• The main application log.
• The ‘special’ application log.
62 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
• General CICS queue.
• The CICS queues that deal with terminals, VTAM-CICS transportation,
etc.
It is an installation decision whether and how to split the CICS queue into
different DDnames. One might consider splitting the ‘application logs’ by
the degree of severity. Another method is to keep all the CICS built-in
queues, which deal with the RDO, in a single separate DDname to keep an
eye on the RDO activity. Anyhow, the mechanism described here can be
tailored easily.
In our CICS job we have four DDnames, one for each SDSCI.
The declarations of those DD cards are listed below:
//DCPMJNT DD SYSOUT=M,DCB=(DSORG=PS,RECFM=V,BLKSIZE=66Ø),FREE=CLOSE
//DCPMJNL DD SYSOUT=M,DCB=(DSORG=PS,RECFM=V,BLKSIZE=66Ø),FREE=CLOSE
//DCPMJNA DD SYSOUT=M,DCB=(DSORG=PS,RECFM=V,BLKSIZE=73Ø)
//DCPMJNF DD SYSOUT=M,DCB=(DSORG=PS,RECFM=V,BLKSIZE=73Ø)
The default sort of the DDnames is by DSID. Using this sort, the currently
active DDname will always display on the top of the list, so if the
application programmer wishes to see the current notes of his/her application
he/she will select ‘S’ near the DCPMJNA on the top of the list.
Application DDname can be easily located. The programmer can now see
all the messages that were issued by the application. The system programmer
can look at a different DDname to see what is going on in CICS.
64 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
The * stands for all the suffixes of the queues and DDnames.
Between the queue closing and re-opening it is impossible to write to it,
but since this is a very short period, at non-business hours, it is not a
problem.
Right after the DDname is allocated again, a new generation is created, and
a batch program may be used to copy the older generation to a monthly tape.
66 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
DA
FIND SS5ØCICP
++?
SORT DSID D
FIND DCPMJNA
DOWN 1
FIND DCPMJNA
++S
PRINT ODSN 'SYSO.DCPMJNA' * MOD
PRINT
PRINT CLOSE
//EXEC PGM=SDSF,PARM='++24,131'
//ISFOUT DD SYSOUT=T
//ISFIN DD *
PREFIX SS5Ø*
DA
FIND SS5ØCICP
++?
SORT DSID D
FIND DCPMJNF
DOWN 1
FIND DCPMJNF
++S
PRINT ODSN 'SYSO.DCPMJNF' * MOD
PRINT
PRINT CLOSE
//* ..
//* | |
//* | STEP #1 : |
//* | CICS/LOG DATE CHECK |
//* | POSSIBLE RC: |
//* | 1Ø...NEW DAY |
//* | 2Ø...NEW MONTH |
//* | 2Ø...NEW YEAR |
//* | 99...SAME DAY |
//* | |
//* ..
/*
//CHECKDT EXEC PGM=IKJEFTØ1,DYNAMNBR=3Ø,TIME=144Ø
//SYSTSPRT DD SYSOUT=T
//SYSPRINT DD SYSOUT=M
//SYSPROC DD DSN=SYS2.CLIST,DISP=SHR
//ISPPLIB DD DSN=SYS1.ISP.SISPPENU,DISP=SHR
//ISPMLIB DD DSN=SYS1.ISP.SISPMENU,DISP=SHR
//ISPSLIB DD DSN=SYS1.ISP.SISPSLIB,DISP=SHR
//ISPTLIB DD DSN=SYS1.ISP.SISPTENU,DISP=SHR
//ISPPROF DD UNIT=VIO,SPACE=(TRK,(9,1,4)),
// DCB=(LRECL=8Ø,BLKSIZE=312Ø,RECFM=FB)
//ISPTABL DD UNIT=VIO,SPACE=(TRK,(9,1,4)),
68 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
//SYSUT1 DD DSN=SYSO.DCPMJNF,DISP=SHR
//SYSUT2 DD DSN=SYSO.CICSLOGT.DCPMJNF(Ø),DISP=MOD
//SYSIN DD DUMMY
/*
//*
//* ..
//* | STEP #3 : |
//* | TAKE THE DUMPED FILE AND |
//* | COPY IT IN DISP=NEW TO |
//* | NEW CUMM. MONTH TAPE (DETAIL) |
//* |_________________________________|
/*
//COPYNEW1 EXEC PGM=IEBGENER,COND=(2Ø,NE,CHECKDT)
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=SYSO.DCPMJNA,DISP=SHR
//SYSUT2 DD DSN=SYSO.CICSLOGT.DCPMJNA(+1),DISP=(NEW,CATLG),
// DCB=(MODEL,RECFM=VB,LRECL=125,BLKSIZE=134Ø,
// DSORG=PS),UNIT=TP9Ø ,VOLUME=(,,,5Ø)
//SYSIN DD DUMMY
/*
//*
//COPYNEW2 EXEC PGM=IEBGENER,COND=(2Ø,NE,CHECKDT)
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=SYSO.DCPMJNF,DISP=SHR
//SYSUT2 DD DSN=SYSO.CICSLOGT.DCPMJNF(+1),DISP=(NEW,CATLG),
// DCB=(MODEL,RECFM=VB,LRECL=125,BLKSIZE=134Ø,
// DSORG=PS),UNIT=TP9Ø ,VOLUME=(,,,5Ø)
//SYSIN DD DUMMY
/*
//*
//RECYCL1 EXEC PGM=IEFBR14
//FILE DD DSN=SYSO.DCPMJNA,DISP=(OLD,DELETE,DELETE)
// DD DSN=SYSO.DCPMJNF,DISP=(OLD,DELETE,DELETE)
//RECYCL2 EXEC PGM=IEFBR14
//FILE DD DSN=SYSO.DCPMJNA,DISP=(NEW,CATLG),
// DCB=(MODEL,RECFM=VB,LRECL=125,BLKSIZE=134Ø,DSORG=PS),
// UNIT=339Ø,VOL=SER=TESTØ3,SPACE=(TRK,(5,1))
// DD DSN=SYSO.DCPMJNF,DISP=(NEW,CATLG),
// DCB=(MODEL,RECFM=VB,LRECL=125,BLKSIZE=134Ø,DSORG=PS),
// UNIT=339Ø,VOL=SER=TESTØ3,SPACE=(TRK,(5,1))
70 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
READING THE LOG
Usually application programmers like to know what is going on now in the
currently running CICS, but sometimes they discover a problem in an
application a week or even a month later.
The method described here enables the application/system programmer to
easily browse the CICS system log, as long as the data he/she wishes to read
is not older than the number of generations we keep for the tape. Since each
tape contains one month, it is recommended to keep at least six generations
– enabling a half-year history log.
The job to retrieve the data is fairly simple and it is listed here:
//SsØØ4DMP JOB (SSØ1,A1,2Ø),URIC,MSGCLASS=T,NOTIFY=SØØ4
//IEBGENER EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=SYSO.CICSLOGT.DCPMJNA(Ø),DISP=SHR
//*SYSUT1 DD DSN=SYSO.CICSLOGT.DCPMJNF(Ø),DISP=SHR
//SYSUT2 DD DSN=SYSP.LOGCHK2,DISP=SHR
//SYSIN DD DUMMY
All that the CICS system programmer has to do is to fill in the right
generation in the DDname SYSUT1. If we are in April and after a cold start
to CICS we wish to know who has deleted that transaction from the RDO
back in January, we need to insert ‘–3’ inside the brackets.
//ISFOUT DD SYSOUT=T
//ISFIN DD *
PREFIX SS5ØCICP
H
SORT CRDATE D
FIND SS5ØCICP
++?
FIND DCPMJNA
++S
PRINT ODSN 'SYSO.DCPMJNA' * MOD
PRINT
PRINT CLOSE
//EXEC PGM=SDSF,PARM='++24,131'
//ISFOUT DD SYSOUT=T
//ISFIN DD *
PREFIX SS5Ø*
DA
FIND SS5ØCICP
++?
SORT DSID D
FIND DCPMJNF
DOWN 1
FIND DCPMJNF
++S
PRINT ODSN 'SYSO.DCPMJNF' * MOD
PRINT
PRINT CLOSE
Xeasm1
* THIS PROGRAM ENABLES DYNAMIC DEALLOCATION OR ALLOCATION OF
* EXTERNAL TD-QUEUES.
* IT IS ACTIVATED BY THE FOLLOWING INPUT
* TDYN FREE DDNAME(DDNAME) (UNALLOC ASSUMED)
* (OR) TDYN ALLOC DDNAME(DDNAME) SYSOUT(M) (STATUS SHR ASSUMED)
72 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
* UNLIKE ADYN, IT IS NOT A CONVERSATIONAL TRANSACTION
* EG IT CAN BE USED WITH MVS MODIFY COMMAND.
* THE PROGRAM USES DYNAMIC ALLOCATION DIRECTLY.
* IN THE CICS-SAMPLE-GUIDE THERE ARE EXAMPLES OF HOW TO
* USE DYALLOC FROM CICS.
* WITH SOME MODIFICATION IN THE DYNAMIC ALLOCATION TEXT UNITS
* THIS PROGRAM MAY BE USE TO ALLOC/DE-ALLOC DSNAMES.
* THIS PROGRAM MUST BE LINKED WITH AMOD AND RMOD 24.
* THE TRANSACTION THAT STARTS THIS PROGRAM SHOULD BE DEFINED WITH
* TASKDATAKEY=CICS.
RNAME EQU 5
RLEN EQU 6
RWK EQU 4
RRC EQU 7
RBAL EQU 8
R1 EQU 1
R15 EQU 15
DFHEISTG DSECT
ECB99 DS A
TCB99 DS A
*
TPADYN3 DFHEIENT CODEREG=3,DATAREG=1Ø,EIBREG=11
*
MVC MSG(29),MSG1
MVI TEXT,C' '
MVC TEXT+1(89),TEXT
LA RWK,9Ø
STH RWK,TEXTLEN
EXEC CICS RECEIVE INTO(TEXT) LENGTH(TEXTLEN)
CALL JHTRT,(TEXTLEN,FREELEN) * IS IT A FREE CALL
LTR R15,R15 * IF IT DOES GO EXECUTE
BZ EXFREE
CALL JHTRT,(TEXTLEN,ALLOCLN) * IS IT AN ALLOCATION
LTR R15,R15 * IF IT DOES GO EXECUTE
BZ EXALLOC
* * ELSE IT IS AN ERROR
MVC MSG(29),MSG5 * ACTION NOT SPECIFIED
B BRTRN
EXFREE BAL RBAL,DDSRCH * GO CHECK FOR DDNAME
LTR RRC,RRC * IF NO DDNAME FOUND
BP NOTIFY * IT IS AN ERROR
BCTR RLEN,Ø
EX RLEN,DDCHK * GO TO EXECUTE MVC
MVI CIC99VRB,X'Ø2' VERB CODE FOR UNALLOCATION
MVC CIC99TLA,=A(CIC99UTU) ADDR OF LIST OF UNALLOC
XR R15,R15
LA R1,CIC99PTR SVC 99 PARAMETER LIST ADDRESS
DYNALLOC
CH R15,HØ4 CHECK SVC 99 RC
BL BRTRN Ø. GO SEND SUCCESS MESSAGE
74 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
TEXT DS CL9Ø
FREELEN DC H'4'
FREE DC CL4'FREE'
ALLOCLN DC H'5'
ALLOC DC CL5'ALLOC'
DDNLEN DC H'7'
DDNAME DC CL7'DDNAME('
HYP DC CL1')'
MSG DS CL29
MSG1 DC CL29'ACTION SUCCESSFULL '
MSG2 DC CL29'DDNAME NOT SPECIFIED '
MSG3 DC CL29'DDNAME TOO LONG '
MSG4 DC CL29'ACTION FAILED '
MSG5 DC CL29'ACTION NOT SPECIFIED '
MSG6 DC CL29'ACTION FAILED FILE IS OPEN '
HØ4 DC H'4'
H1Ø56 DC H'1Ø56'
* SVC 99 PARAMETER LIST
CIC99PTR DC X'8Ø',AL3(CIC99RB) REQUEST BLOCK POINTER
CIC99RB DS ØF REQUEST BLOCK
DC AL1(2Ø) LENGTH OF REQUEST BLOCK
CIC99VRB DS X VERB CODE
DC 2X'Ø' FLAGS
CIC99ERR DC XL2'Ø' ERROR REASON CODE
DC XL2'Ø' INFORMATION REASON CODE
CIC99TLA DS A ADDR OF LIST OF TEXT UNIT PTRS
DC F'Ø' RESERVED
DC 4X'Ø' FLAGS FOR AUTHORIZED FUNCTIONS
*
CIC99ATU DS ØF ALLOC TEXT UNIT POINTER LIST
DC X'ØØ',AL3(CICDDNAM)
DC X'ØØ',AL3(CICSYSOU)
DC X'8Ø',AL3(CICSPINS)
*
CIC99UTU DS ØF UNALLOC TEXT UNIT POINTER LIST
DC X'8Ø',AL3(CICDDNAM)
* TEXT UNITS
CICDDNAM DC X'ØØØ1',HL2'1',HL2'8',CL8' ' DDNAME
CICDNUM EQU *-8
CICSYSOU DC X'ØØ18',HL2'1,1',X'D4' SYSOUT(M)
CICSPINS DC X'8Ø13',HL2'1,1',X'8Ø' PRINT IMMEDIATELY
DDCHK MVC CICDNUM(Ø),Ø(RNAME)
END
Xeasm2
JHTRT START
BEGIN EQUR=YES
L R3,Ø(R1) * LOAD STRING ADDRESS
L R4,4(R1) * LOAD SUBSTRING ADDRESS
76 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
TRT TRT Ø(*-*,R3),TAB *
CLC CLC Ø(*-*,R1),Ø(R4) *
TAB DC 256X'ØØ' *
END JHTRT
Xecto
******************************************************************
* THIS ROUTINE FREE & ALLOC DDNAME DCPMJN? IN CICS WHEN ?=T L F A
* ACTIVATED BY RULE - CICSTDQ
* AFTER THIS PROGRAM IS RUN - A NEW GENERATION OF CICS ARCHIVE
* LOG IS CREATED - AND THE REPLACED LOG IS ARCHIVED INTO TAPE.
****************************************************************
TRACE ON
MAXCOMMAND 9999
TIMEOUT 9999
LOGON APPLID CICSOLIB SESSID KSØ1
IFVAR %VTAMRC EQ '48' GOTO CICS_DOWN
CURSOR POS 1 8
IFSCREEN 'WELCOME TO CICS' GOTO SIGN_ON
GETSCREEN
*
LABEL SIGN_ON
CLEAR
TYPE 'CESN USERID=MCPCTO,PS=%A1'
ENTER
CURSOR POS 1 11
IFSCREEN 'SIGN-ON IS COMPLETE' GOTO START_PROG
GOTO SIGN_NOTOK
*
LABEL START_PROG
SETVAR %DJN1 DATA 'DJNA'
SETVAR %DJN2 DATA 'DJNF'
SETVAR %DJN3 DATA 'DJNL'
SETVAR %DJN4 DATA 'DJNT'
SETVAR %NO_DJN DATA '4'
SETVAR %DCPMJNX_STAT DATA 'FREE'
GOTO NEXT_DJN
*
LABEL NEXT_DJN
IFVAR %NO_DJN EQ 'Ø' GOTO END_PROG
IFVAR %NO_DJN EQ '1' GOTO DJN1
IFVAR %NO_DJN EQ '2' GOTO DJN2
IFVAR %NO_DJN EQ '3' GOTO DJN3
IFVAR %NO_DJN EQ '4' GOTO DJN4
*
LABEL DJN1
SETVAR %N_D DATA 'DJNA'
78 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
IFSCREEN 'ØØØØ' GOTO DO_ALLOC
SETVAR %DCPMJNX_STAT DATA 'FREE'
GOTO RC_NOTOK
*
LABEL RC_NOTOK
SHOUT TO TSO-SØ1Ø TEXT 'CTO - CICS FREE DCPM%JN NOT OK'
IFVAR %DCPMJNX_STAT EQ 'ALLOC' GOTO DO_OPEN
*
LABEL DO_ALLOC
PFØ3
CLEAR
TYPE 'ALLOC DDNAME(DCPM%JN) SYSOUT(M) '
ENTER
CURSOR POS 9 41
IFSCREEN 'ØØØØ' GOTO DO_OPEN
SETVAR %DCPMJNX_STAT DATA 'ALLOC'
GOTO RC_NOTOK
*
LABEL DO_OPEN
CURSOR HOME
SETVAR %NUL DATA ' '
TYPE '%NUL'
ENTER
PFØ3
CLEAR
* CURSOR HOME
TYPE 'CEMT S TDQ(%N_D) OP '
ENTER
CURSOR POS 23 14
IFSCREEN 'NORMAL' GOTO NEXT_DJN
SETVAR %ACT DATA 'OPEN'
GOTO TDQ_NOTOK
*
LABEL SIGN_NOTOK
SHOUT TO TSO-SØ1Ø TEXT 'cics sign-on failed'
GOTO END_PROG
*
LABEL CICS_DOWN
SETOGLB %%DOWN%A2 = 48
*
LABEL END_PROG
PFØ3
CLEAR
TYPE 'LOGOFF '
ENTER
LOGOFF
END
Uri Cohen
CICS Systems Programmer (Israel) © Xephon 2002
INTRODUCTION
Each new release of CICS will contain a collection of additional trace
entries, introduced to provide diagnostic information on new components
of the product added by the release. As CICS Transaction Server continues
to evolve, so does the variety and content of the trace data associated with
CICS.
There are a number of very useful CICS trace entries that can be used to
provide a great deal of helpful information, provided you know what to
look for within the (potentially) vast amount of trace data that CICS can
generate. This article highlights a number of such trace entries, explaining
when they were introduced, what they can offer you, and the trace options
required to generate them.
80 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
In addition, trace entries can also be directed to the auxiliary trace
destination, which is one or two CICS-managed BSAM datasets. These
provide a larger repository for trace data than the internal CICS trace table,
and can be used to record a longer period of system activity. The I/O activity
needed to support auxiliary tracing means that this option has more impact
upon CICS system performance than just using internal CICS tracing.
CICS also supports tracing to GTF. This technique can be useful when
diagnosing problems that have a flow of events across several interconnected
address spaces, such as between CICS and DBCTL.
CICS/ESA Version 3 introduced the CETR transaction to complement the
restructuring of CICS trace control into a domain with that version of the
product. CETR allows the user to dynamically control many aspects of
CICS trace activity, including switching on and off internal and auxiliary
tracing, setting the level of component tracing for the various functional
areas within CICS, and using selective tracing for specific transactions and
terminals. Such selective tracing can be very useful when debugging CICS
applications – by providing detailed trace information for a specific
program environment.
Note that the CICS internal trace table, auxiliary trace, and GTF trace
destinations can wrap. CETR provides the means of controlling whether
auxiliary tracing wraps by the ‘Auxiliary Switch Status’ option. This can
specify NO, NEXT, and ALL. NO means that only the current BSAM
dataset can be used. NEXT means that having filled the current dataset,
CICS will switch to use the second dataset. ALL means that CICS will
automatically switch between the two datasets as each one fills. ALL
therefore allows for the overwriting of old trace data from earlier in the
trace run.
CICS provides a batch utility program to format the auxiliary trace data.
The name of the program is CICS release-specific – its suffix is the CICS
release number. Therefore, in CICS/ESA 4.1.0 the program is DFHTU410;
in CICS Transaction Server 1.3 (containing the CICS component CICS/
ESA 5.3.0) it is DFHTU530. The utility program has a number of options
that can be used to selectively filter specific trace entries when formatting
the auxiliary trace data – these include filtering by task number, transaction
identifier, trace entry number, etc. The most commonly used options when
82 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
command, control will return to the application via DFHEIP once more.
DFHEIP has a pair of trace points at entry to and exit from the module –
these have the trace point ID of AP 00E1, where AP denotes the Application
Domain, the component of CICS that contains the remainder of
unreconstructed code. (Starting with CICS/ESA 3.1.0, as areas of CICS
have been rewritten into better designed, more encapsulated pieces of
function, they have been restructured into their own domains. Examples
include the storage manager domain, loader domain, program manager
domain, etc.)
CICS/ESA 4.1.0 introduced another pair of DFHEIP trace entries. These
are EI level 2 trace points, meaning that they are issued only if CICS has
level 2 trace function set for the EI trace component, as controlled by the
CETR transaction or SIT parameter. These new trace points are AP E160
and AP E161 (on entry and exit respectively). Note: the traditional AP
00E1 trace points are EI level 1 traces.
EI level 2 trace points have four data items associated with them. Item 1
is a concatenation of addresses and argument values, used by CICS when
constructing the trace entry for the EXEC CICS command. Item 2 is the
list of addresses of the command-level parameters built by the CICS
translator for the EXEC CICS request. The final parameter is denoted by
the high order bit (X’80000000') set on in the address. Item 3 is the address
of this parameter list. Item 4 is the system EIB control block.
EI level 2 tracing is a very powerful tool for problem diagnosis of CICS
applications. Where the AP 00E1 trace points show the flow of control for
an application, and give a limited idea of the nature of the EXEC CICS
requests, the EI level 2 trace points break down the actual requests
themselves. In effect they are providing part of the data available under
CEDF, but without the need to step through the application code screen by
screen.
Application programmers can see exactly what values are being manipulated
by their applications without having to step through the code on-line via
CEDF. This can be useful in environments where, for example, CEDF
usage cannot be tolerated for some reason, or in the case when a number
of tasks are to be executed in a simulated production run.
84 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
it generates a program check. This is captured by the CICS System Recovery
Program (DFHSRP). DFHSRP will issue a series of diagnostics such as
exception trace entries, an abend AEYD, and a transaction dump.
Figure 1 shows examples of the (edited) trace information seen when an
invalid output parameter address is detected by CICS command protection
checking. The series of abbreviated trace entries at the top shows that a
CICS application has issued a number of EXEC CICS commands,
culminating in an EXEC CICS READ to CICS file control. In this example,
the address passed for the INTO area on the request is 00000000 (ie ‘low-
core’, the start of the Prefix SaveArea or PSA, in the first page of every
address space in MVS). A CICS task has no right to modify storage in the
PSA (nor indeed does CICS for that matter) – it is used specifically by the
hardware to represent processor information such as interrupt routine
addresses for the operating system. As such, any attempt to store into this
page would fail with an 0C4 protection exception anyway. However, since
CICS command protection was activated, CICS was able to detect that the
PARAMETER_ADDRESS(ØØØØØØØØ)
86 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
tracing techniques used by the Adaptor modules. The old CICS/DB2
Adaptor had used user trace entries to record the flow of events through
its code. The restructured Adaptor in CICS Transaction Server Release 1.2
issues new unique trace entries from the Application Domain (AP) trace
point range. This is one example of the ways in which the new Adaptor code
is more formally integrated into CICS Transaction Server than the old
Adaptor in CICS/ESA 4.1.0.
If an exceptional condition occurred whilst running under the old-style
Adaptor, a pair of user trace entries would be issued to document the fact.
The end of data item 1 would contain *EXC* in both cases, to indicate that
this was for an exceptional condition. Data item 2 in the first of the trace
entries would contain the DB2 reason code for the failure, in its last
fullword. Data item 2 in the second of the trace entries would contain the
transaction identifier of the executing task in its first fullword.
With the restructure of the CICS/DB2 Adaptor, the opportunity to exploit
conventional CICS tracing techniques allowed for the use of standard
exception trace entries to be issued in exceptional conditions.
An example of such an exception condition is discussed below. A failure
condition might occur as the result of an application issuing an EXEC SQL
command.
The resulting AP 318E exception trace entry issued from the Adaptor has
four data items.
Data item 1 is the CICS kernel error data for the failure. This includes the
Abend code for the failure (AD2U) at offset 4. It also shows the name of
the Adaptor program in control when the abend was issued – DFHD2EX1
at offset X’10'.
Data item 2 is the LOT control block, DFHD2LOT. The LOT (or Life Of
Task) control block represents the unit of work that is executing the series
of commands.
Data item 3 is the RCT entry being used by the request. This is mapped by
the DSECT DFHD2RCT.
Data item 4 is the CSUB control block, DFHD2CSB. The CSUB (or CICS
subtask) control block represents the TCB that is being used to process the
88 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
• API – SQL or IFI request
• COMM – commit request
• CTHD – create thread request
• ERRH – error handler request
• IDEN – identify request
• PREP – prepare request
• PSGN – partial signon request
• SIGN – full sign-on request
• SYNC – single phase request
• TERM – terminate thread request.
In our example trace entry, error handling has been driven as the result of
a previous authorization failure (frb reason code 00F30034).
Understanding this internal trace table allows you to track the most recent
requests to have been executed under this subtask, and so aid in analysis
of throughput for CICS/DB2 requests, and help when dealing with
problem determination issues.
Note, in addition to being traced for exception trace entries as described
above, the CSUB will also be traced on normal trace entries from the new
CICS/DB2 Adaptor if the RI trace component is set to 1-2. RI is the trace
component for the CICS RMI (Resource Manager Interface). This can be
useful when examining situations that do not result in exceptional conditions
occurring.
FURTHER READING
The CICS bibliography provides a detailed overview of every trace entry
issued by CICS. However, the particular manual that lists the trace entries
varies depending upon what release or version of the CICS product is being
used.
For CICS/ESA 4.1.0, the trace entries are documented in the Diagnosis
Handbook.
For CICS Transaction Server Release 1.1 and Release 1.2, they are
documented in the User’s Handbook. For CICS Transaction Server
Release 1.3, the volume of trace entries has grown sufficiently to warrant
a complete manual; this is entitled CICS Trace Entries.
90 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Collecting DB2ENTRY statistics and tuning the
CICS attachment facility
THE PROBLEM
In our installation, the production CICS Transaction Server experienced
contention and the TCBLIMIT parameter reached its maximum value. The
CICS TS experienced poor response times in spite of there being only a few
transactions active. The only way to overcome the problem was to de-
activate and then re-activate the CICS Transaction Server.
THE SOLUTION
We solved the problem by modifying the values of TCBLIMIT,
THREADLIMIT, and MAXOPENTCBS, and reassigning the dedicated
threads in the order in which they were to be used again (REUSED) for
several transactions. In this way, the CICS Transaction Server region
assigns fewer TCBs, consumes less CPU, and improves the response time.
The transaction IDBE helped greatly in determining the appropriate values
for the CICS parameters.
The transaction IDBE executes the COBOL II program STPEP006, which
looks at DB2ENTRYs and shows the statistics CICS DB2 has collected.
IDBE OPTION
Syntax:
OPTION = CONN | DB2E | DISP | PLAN
where:
• IDBE CONN – for displaying DB2CONN statistics.
• IDBE DB2E – for displaying DB2ENTRY name statistics.
• IDBE DISP – for browsing DB2ENTRY names GE #Calls
This transaction will be useful to find suitable values for TCBLIMIT and
THREADLIMIT. Look at the values of the TCB statistics. If the value of
#PEAK or #CURRENT has reached the value of #MAXIMO and if CICS
TS is slow, it’s because the value of TCBLIMIT is not a suitable one. In a
host (9672-R56 with 545 MIPS) the value is 66 per CICS transaction
server. Otherwise, if the value of FREE TCBs is approximated to
#MAXIMO, the statistics must be reviewed to re-assign the threads.
To find the statistics for a DB2ENTRY name, type:
IDBE DB2E db2entryname
This transaction will be useful to show all the data of a DB2ENTRY. Look
at the data and determine whether the transaction needs to be Modified
PRIority, PROtectnum, THREADLimit, or THREADWait.
To make a listing of DB2ENTRYs that have been done, type:
IDBE DISP
If you want to, you can select the name of the starting DB2ENTRY and/
or the number of calls that you want to view. You should modify the first
line and press Enter:
IDBE DISP db2entry>=ØØØØØØØ (Default)
92 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
However, it should be noted that defining transaction IDs using wildcard
characters removes the ability to collect CICS DB2 statistics on a per
transaction basis because statistics are collected for each DB2ENTRY,
which will now represent a group of transactions.
This program works on Transaction Server Release 1.3 under OS/390
Version 2.9.
94 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Ø4 M2R-THREAD-TERM PIC ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø6) VALUE SPACES.
Ø4 FILLER PIC X(12) VALUE '# W/O : '.
Ø4 M2R-THREAD-WAIT-OR-OVERF PIC Z,ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø7) VALUE SPACES.
Ø4 FILLER PIC X(19) VALUE SPACES.
Ø4 FILLER PIC X(Ø6) VALUE SPACES.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MS-TITU1Ø.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø4 FILLER PIC X(12) VALUE '# Current : '.
Ø4 M2R-THREAD-CURRENT PIC ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø6) VALUE SPACES.
Ø4 FILLER PIC X(12) VALUE '# Peak : '.
Ø4 M2R-THREAD-HWM PIC Z,ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø7) VALUE SPACES.
Ø4 FILLER PIC X(12) VALUE '# Limit : '.
Ø4 M2R-THREAD-LIMIT PIC ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø6) VALUE SPACES.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MS-TITU11.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø4 FILLER PIC X(12) VALUE 'Prot.Curr : '.
Ø4 M2R-PTHREAD-CURRENT PIC ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø6) VALUE SPACES.
Ø4 FILLER PIC X(12) VALUE 'Prot.Peak : '.
Ø4 M2R-PTHREAD-HWM PIC Z,ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø7) VALUE SPACES.
Ø4 FILLER PIC X(12) VALUE 'Prot.Limit: '.
Ø4 M2R-PTHREAD-LIMIT PIC ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø6) VALUE SPACES.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MS-TITU12.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø4 FILLER PIC X(12) VALUE 'Curr.Task : '.
Ø4 M2R-TASK-CURRENT PIC ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø6) VALUE SPACES.
Ø4 FILLER PIC X(12) VALUE 'Peak Task : '.
Ø4 M2R-TASK-HWM PIC Z,ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø7) VALUE SPACES.
Ø4 FILLER PIC X(12) VALUE 'Total Task: '.
Ø4 M2R-TASK-TOTAL PIC ZZZ,ZZ9.
Ø4 FILLER PIC X(Ø6) VALUE SPACES.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MS-TITU13.
Ø4 FILLER PIC X(Ø1) VALUE '*'.
Ø4 FILLER PIC X(78) VALUE ALL '='.
Ø4 FILLER PIC X(Ø1) VALUE '*'.
Ø2 MS-TITU14.
Ø4 FILLER PIC X(8Ø) VALUE SPACES.
96 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Ø4 FILLER PIC X(16) VALUE '# Peak : '.
Ø4 M2G-TCB-HWM PIC ZZZ,ZZ9BBB.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MC-TITU9.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø4 FILLER PIC X(16) VALUE '# Free : '.
Ø4 M2G-TCB-FREE PIC ZZZ,ZZ9.
Ø4 FILLER PIC X(55) VALUE SPACES.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MC-TITU1Ø.
Ø4 FILLER PIC X(Ø1) VALUE '+'.
Ø4 FILLER PIC X(78) VALUE ALL '='.
Ø4 FILLER PIC X(Ø1) VALUE '+'.
Ø2 MC-TITU11.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø4 FILLER PIC X(78) VALUE
'DB2 CONNECTION POOL STATISTICS '.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MC-TITU12.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø4 FILLER PIC X(16) VALUE 'Plan name : '.
Ø4 M2G-POOL-PLAN-NAME PIC X(8)BB VALUE SPACES.
Ø4 FILLER PIC X(16) VALUE '# of CALLS : '.
Ø4 M2G-POOL-CALLS PIC ZZZ,ZZ9BBB.
Ø4 FILLER PIC X(16) VALUE '# of Signons : '.
Ø4 M2G-POOL-SIGNONS PIC ZZZ,ZZ9BBB.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MC-TITU13.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø4 FILLER PIC X(16) VALUE '# of Commits : '.
Ø4 M2G-POOL-COMMITS PIC ZZZ,ZZ9BBB.
Ø4 FILLER PIC X(16) VALUE '# of Reuses : '.
Ø4 M2G-POOL-THREAD-REUSE PIC ZZZ,ZZ9BBB.
Ø4 FILLER PIC X(16) VALUE '# Terminates : '.
Ø4 M2G-POOL-THREAD-TERM PIC ZZZ,ZZ9BBB.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MC-TITU14.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø4 FILLER PIC X(16) VALUE '# of Waits : '.
Ø4 M2G-POOL-THREAD-WAITS PIC ZZZ,ZZ9BBB.
Ø4 FILLER PIC X(16) VALUE '# Pool Limit : '.
Ø4 M2G-POOL-THREAD-LIMIT PIC ZZZ,ZZ9BBB.
Ø4 FILLER PIC X(16) VALUE '# Current : '.
Ø4 M2G-POOL-THREAD-CURRENT PIC ZZZ,ZZ9BBB.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MC-TITU15.
Ø4 FILLER PIC X(Ø1) VALUE '+'.
Ø4 FILLER PIC X(78) VALUE ALL '='.
Ø4 FILLER PIC X(Ø1) VALUE '+'.
Ø2 MC-TITU16.
98 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Ø4 FILLER PIC X(78) VALUE ALL '='.
Ø4 FILLER PIC X(Ø1) VALUE '*'.
Ø2 MD-TITU5.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø4 FILLER PIC X(48) VALUE
'DB2Entry PlanName # Calls # Reuses # Term.'.
Ø4 FILLER PIC X(3Ø) VALUE
' W/O #Lim. #Peak #Curr.'.
Ø4 FILLER PIC X(Ø1) VALUE '|'.
Ø2 MD-TITU6.
Ø4 FILLER PIC X(Ø1) VALUE '*'.
Ø4 FILLER PIC X(78) VALUE ALL '='.
Ø4 FILLER PIC X(Ø1) VALUE '*'.
Ø2 MD-TITU7 OCCURS 16 TIMES.
Ø4 MD-TITUS.
Ø6 FILLER PIC X(Ø1) VALUE '|'.
Ø6 DIS-DB2ENTRY-NAME PIC X(8)BB VALUE SPACES.
Ø6 DIS-PLAN-NAME PIC X(8)BB VALUE SPACES.
Ø6 DIS-CALLS PIC Z,ZZZ,ZZ9BBB.
Ø6 DIS-THREAD-REUSE PIC ZZZ,ZZ9BB.
Ø6 DIS-THREAD-TERM PIC ZZZ,ZZ9BB.
Ø6 DIS-THREAD-WAIT PIC ZZ,ZZ9BB.
Ø6 DIS-THREAD-LIMIT PIC Z,ZZ9BB.
Ø6 DIS-THREAD-HWM PIC Z,ZZ9BBB.
Ø6 DIS-THREAD-CURRENT PIC Z,ZZ9.
Ø6 FILLER PIC X(Ø1) VALUE '|'.
Ø4 MD-TITUR REDEFINES MD-TITUS.
Ø6 DIS-TITUR PIC X(8Ø).
Ø2 MD-TITU23.
Ø4 FILLER PIC X(Ø1) VALUE '*'.
Ø4 FILLER PIC X(78) VALUE ALL '='.
Ø4 FILLER PIC X(Ø1) VALUE '*'.
Ø2 MD-TITU24.
Ø4 FILLER PIC X(2Ø) VALUE SPACES.
Ø4 FILLER PIC X(36) VALUE
'CLEAR = Exit ENTER = Foward '.
Ø4 FILLER PIC X(24) VALUE SPACES.
Ø1 MSG-PANTALLA-PLAN.
Ø2 MP-TITU1.
Ø4 FILLER PIC X(1Ø) VALUE 'IDBE PLAN='.
Ø4 PLA-PLAN-NAME PIC X(Ø8)B VALUE SPACES.
Ø4 PLA-DB2ENTRY-SF PIC X(Ø8) VALUE SPACES.
Ø4 FILLER PIC X(53) VALUE SPACES.
Ø2 MP-TITU2.
Ø4 FILLER PIC X(Ø9) VALUE 'Applid : '.
Ø4 PLA-APPLID PIC X(Ø8)BBBBBB VALUE SPACES.
Ø4 FILLER PIC X(35) VALUE
'Browse DB2Entrys with same PlanName'.
Ø4 FILLER PIC X(Ø5) VALUE SPACES.
Ø4 FILLER PIC X(Ø7) VALUE 'Date : '.
100 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Ø2 DAT-DISPLAY.
Ø4 FILLER PIC X(Ø2).
Ø4 DAT-N-CALLS PIC 9(Ø7).
Ø2 DAT-PLAN REDEFINES DAT-DISPLAY.
Ø4 FILLER PIC X.
Ø4 DAT-DB2ENTRY-SF PIC X(Ø8).
LINKAGE SECTION.
*----------------*
*COPY DFHD2GDS.
*CICS/DB2CONN STATISTICS (GLOBAL)
Ø1 DFHD2GDS SYNCHRONIZED.
Ø3 D2GLEN PIC S9(4) COMP.
Ø3 D2GID PIC XX.
88 D2GIDE VALUE ' #'.
Ø3 D2GDVERS PIC X.
88 D2GVERS VALUE '?'.
Ø3 FILLER PIC XXX.
Ø3 D2G-GLOBAL.
Ø5 D2G-DB2CONN-NAME PIC X(8).
Ø5 D2G-DB2-ID PIC X(4).
Ø5 D2G-DB2-RELEASE PIC X(4).
Ø5 D2G-CONNECT-TIME-GMT PIC X(8).
Ø5 D2G-CONNECT-TIME-LOCAL PIC X(8).
Ø5 D2G-DISCONNECT-TIME-GMT PIC X(8).
Ø5 D2G-DISCONNECT-TIME-LOCAL PIC X(8).
Ø5 D2G-TCB-LIMIT PIC S9(8) COMP.
Ø5 D2G-TCB-CURRENT PIC S9(8) COMP.
Ø5 D2G-TCB-HWM PIC S9(8) COMP.
Ø5 D2G-TCB-FREE PIC S9(8) COMP.
Ø5 D2G-TCB-READYQ-CURRENT PIC S9(8) COMP.
Ø5 D2G-TCB-READYQ-HWM PIC S9(8) COMP.
Ø5 FILLER PIC X(4Ø).
Ø3 D2G-POOL.
Ø5 D2G-POOL-PLAN-NAME PIC X(8).
Ø5 D2G-POOL-PLANEXIT-NAME PIC X(8).
Ø5 D2G-POOL-AUTHID PIC X(8).
Ø5 D2G-POOL-AUTHTYPE PIC X.
88 D2G-POOL-AUTHTYPE-NA VALUE ' '.
88 D2G-POOL-AUTHTYPE-USERID VALUE '?'.
88 D2G-POOL-AUTHTYPE-OPID VALUE '?'.
88 D2G-POOL-AUTHTYPE-GROUP VALUE '?'.
88 D2G-POOL-AUTHTYPE-SIGNID VALUE '?'.
88 D2G-POOL-AUTHTYPE-TERM VALUE '?'.
88 D2G-POOL-AUTHTYPE-TXID VALUE '?'.
Ø5 D2G-POOL-ACCOUNTREC PIC X.
88 D2G-POOL-ACCOUNTREC-NONE VALUE '?'.
88 D2G-POOL-ACCOUNTREC-TXID VALUE '?'.
88 D2G-POOL-ACCOUNTREC-TASK VALUE '?'.
88 D2G-POOL-ACCOUNTREC-UOW VALUE '?'.
Ø5 D2G-POOL-THREADWAIT PIC X.
102 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Ø3 FILLER PIC XXX.
Ø3 D2R-DB2ENTRY-NAME PIC X(8).
Ø3 D2R-PLAN-NAME PIC X(8).
Ø3 D2R-PLANEXIT-NAME PIC X(8).
Ø3 D2R-AUTHID PIC X(8).
Ø3 D2R-AUTHTYPE PIC X.
88 D2R-AUTHTYPE-NA VALUE ' '.
88 D2R-AUTHTYPE-USERID VALUE '?'.
88 D2R-AUTHTYPE-OPID VALUE '?'.
88 D2R-AUTHTYPE-GROUP VALUE '?'.
88 D2R-AUTHTYPE-SIGNID VALUE '?'.
88 D2R-AUTHTYPE-TERM VALUE '?'.
88 D2R-AUTHTYPE-TXID VALUE '?'.
Ø3 D2R-ACCOUNTREC PIC X.
88 D2R-ACCOUNTREC-NONE VALUE '?'.
88 D2R-ACCOUNTREC-TXID VALUE '?'.
88 D2R-ACCOUNTREC-TASK VALUE '?'.
88 D2R-ACCOUNTREC-UOW VALUE '?'.
Ø3 D2R-THREADWAIT PIC X.
88 D2R-THREADWAIT-YES VALUE '?'.
88 D2R-THREADWAIT-NO VALUE '?'.
88 D2R-THREADWAIT-POOL VALUE '?'.
Ø3 D2R-PRIORITY PIC X.
88 D2R-PRIORITY-HIGH VALUE '?'.
88 D2R-PRIORITY-EQUAL VALUE '?'.
88 D2R-PRIORITY-LOW VALUE '?'.
Ø3 D2R-CALLS PIC S9(8) COMP.
Ø3 D2R-SIGNONS PIC S9(8) COMP.
Ø3 D2R-COMMITS PIC S9(8) COMP.
Ø3 D2R-ABORTS PIC S9(8) COMP.
Ø3 D2R-SINGLE-PHASE PIC S9(8) COMP.
Ø3 D2R-THREAD-REUSE PIC S9(8) COMP.
Ø3 D2R-THREAD-TERM PIC S9(8) COMP.
Ø3 D2R-THREAD-WAIT-OR-OVERF PIC S9(8) COMP.
Ø3 D2R-THREAD-LIMIT PIC S9(8) COMP.
Ø3 D2R-THREAD-CURRENT PIC S9(8) COMP.
Ø3 D2R-THREAD-HWM PIC S9(8) COMP.
Ø3 D2R-PTHREAD-LIMIT PIC S9(8) COMP.
Ø3 D2R-PTHREAD-CURRENT PIC S9(8) COMP.
Ø3 D2R-PTHREAD-HWM PIC S9(8) COMP.
Ø3 D2R-TASK-CURRENT PIC S9(8) COMP.
Ø3 D2R-TASK-HWM PIC S9(8) COMP.
Ø3 D2R-TASK-TOTAL PIC S9(8) COMP.
Ø3 D2R-READYQ-CURRENT PIC S9(8) COMP.
Ø3 D2R-READYQ-HWM PIC S9(8) COMP.
Ø3 FILLER PIC X(36).
PROCEDURE DIVISION.
*------------------*
RTN-PRINCIPAL.
*-------------*
104 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
IF D2R-THREADWAIT-YES
MOVE 'YES' TO M2R-THREADWAIT.
IF D2R-THREADWAIT-NO
MOVE 'NO' TO M2R-THREADWAIT.
IF D2R-THREADWAIT-POOL
MOVE 'POOL' TO M2R-THREADWAIT.
IF D2R-PRIORITY-HIGH
MOVE 'HIGH' TO M2R-PRIORITY.
IF D2R-PRIORITY-EQUAL
MOVE 'EQUAL' TO M2R-PRIORITY.
IF D2R-PRIORITY-LOW
MOVE 'LOW ' TO M2R-PRIORITY.
MOVE D2R-CALLS TO M2R-CALLS.
MOVE D2R-SIGNONS TO M2R-SIGNONS.
MOVE D2R-ABORTS TO M2R-ABORTS.
MOVE D2R-SINGLE-PHASE TO M2R-SINGLE-PHASE.
MOVE D2R-THREAD-REUSE TO M2R-THREAD-REUSE.
MOVE D2R-THREAD-TERM TO M2R-THREAD-TERM.
MOVE D2R-THREAD-WAIT-OR-OVERF TO M2R-THREAD-WAIT-OR-OVERF.
MOVE D2R-THREAD-LIMIT TO M2R-THREAD-LIMIT.
MOVE D2R-THREAD-CURRENT TO M2R-THREAD-CURRENT.
MOVE D2R-THREAD-HWM TO M2R-THREAD-HWM.
MOVE D2R-PTHREAD-LIMIT TO M2R-PTHREAD-LIMIT.
MOVE D2R-PTHREAD-CURRENT TO M2R-PTHREAD-CURRENT.
MOVE D2R-PTHREAD-HWM TO M2R-PTHREAD-HWM.
MOVE D2R-TASK-CURRENT TO M2R-TASK-CURRENT.
MOVE D2R-TASK-HWM TO M2R-TASK-HWM.
MOVE D2R-TASK-TOTAL TO M2R-TASK-TOTAL.
EXEC CICS SEND FROM(MSG-PANTALLA-DB2ENTRY)
LENGTH (LENGTH OF MSG-PANTALLA-DB2ENTRY)
ERASE WAIT
END-EXEC.
RTN-CONNECT.
*-----------*
EXEC CICS ASSIGN APPLID(C-APPLID)
SYSID(C-SYSID)
END-EXEC.
EXEC CICS FORMATTIME ABSTIME(UTIME)
DDMMYY(PRINC-DATE) DATESEP('/')
TIME(PRINC-TIME) TIMESEP
END-EXEC.
EXEC CICS COLLECT STATISTICS
SET(ADDRESS OF DFHD2GDS)
DB2CONN
END-EXEC.
MOVE D2G-DB2CONN-NAME TO M2G-DB2CONN-NAME.
MOVE D2G-DB2-ID TO M2G-DB2-ID.
MOVE D2G-TCB-LIMIT TO M2G-TCB-LIMIT.
MOVE D2G-TCB-CURRENT TO M2G-TCB-CURRENT.
MOVE D2G-TCB-HWM TO M2G-TCB-HWM.
106 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
MOVE D2R-THREAD-REUSE TO DIS-THREAD-REUSE(I)
MOVE D2R-THREAD-TERM TO DIS-THREAD-TERM(I)
MOVE D2R-THREAD-WAIT-OR-OVERF TO DIS-THREAD-WAIT(I)
MOVE D2R-THREAD-LIMIT TO DIS-THREAD-LIMIT(I)
MOVE D2R-THREAD-HWM TO DIS-THREAD-HWM(I)
MOVE D2R-THREAD-CURRENT TO DIS-THREAD-CURRENT(I)
ADD 1 TO I
END-IF
END-PERFORM.
RTN-SEND-DISPLAY.
*----------------*
EXEC CICS INQUIRE DB2ENTRY END
END-EXEC.
EXEC CICS SEND FROM(MSG-PANTALLA-DISPLAY)
LENGTH (LENGTH OF MSG-PANTALLA-DISPLAY)
ERASE WAIT
END-EXEC.
RTN-PLAN.
*---------*
MOVE DAT-DB2ENTRY-NAME TO PLA-PLAN-NAME.
EXEC CICS ASSIGN APPLID(PLA-APPLID)
SYSID(PLA-SYSID)
END-EXEC.
EXEC CICS FORMATTIME ABSTIME(UTIME)
DDMMYY(PLA-DATE) DATESEP('/')
TIME(PLA-TIME) TIMESEP
END-EXEC.
EXEC CICS INQUIRE DB2ENTRY
START AT(DAT-DB2ENTRY-SF)
END-EXEC.
PERFORM UNTIL I > 16
EXEC CICS INQUIRE
DB2ENTRY(DAT-DB2ENTRY-SF)
NEXT NOHANDLE RESP(RESP1)
END-EXEC
IF RESP1 = DFHRESP(END)
MOVE '| *** END OF DB2ENTRYS ***' TO PLA-TITUR(I)
MOVE 17 TO I
GO TO RTN-SEND-PLAN
END-IF
EXEC CICS COLLECT STATISTICS
SET(ADDRESS OF DFHD2RDS)
DB2ENTRY(DAT-DB2ENTRY-SF)
END-EXEC
IF D2R-PLAN-NAME = DAT-DB2ENTRY-NAME
MOVE D2R-DB2ENTRY-NAME TO PLA-DB2ENTRY-NAME(I)
PLA-DB2ENTRY-SF
IF D2R-THREADWAIT-YES
MOVE 'YES' TO PLA-THREADWAIT(I)
END-IF
108 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
REG-SEND-TEXTE.
*-------------*
EXEC CICS SEND FROM(MSG-ERROR)
LENGTH (LENGTH OF MSG-ERROR)
ERASE WAIT LAST
END-EXEC.
EXEC CICS RETURN
END-EXEC.
IDBE CONN
Applid : CICPBB1A Display of DB2CONN Statistic Online Date : 11/Ø6/Ø1
Sysid : PT9Ø Time : 1Ø:18:35
*==============================================================================*
|DB2 Connection name : RCT1A DB2 Sysid : DSNP |
+==============================================================================+
|TCBS STATISTICS |
|# Maximo : 66 # Current : 63 # Peak : 63 |
|# Free : 27 |
+==============================================================================+
|DB2 CONNECTION POOL STATISTICS |
|Plan name : DEFAULT # of CALLS : Ø # of Signons : Ø |
|# of Commits : Ø # of Reuses : 1 # Terminates : 37,675 |
|# of Waits : 6 # Pool Limit : 27 # Current : 4 |
+==============================================================================+
|DB2 CONNECTION DSNC COMMAND STATISTICS |
|# Calls : Ø # Maximo : 1 # Peak : Ø |
*==============================================================================*
After tuning and reusing the threads, the following were noted:
• The daily average of CICS TS transactions was increased by 10%.
• The response time daily average was lowered by 25%.
• The consumption of CPU by CICS TS and DB2 was reduced by 9%.
The most important change was that contention is not present
any more in CICS TS when the maximum TCBLIMIT value is reached.
Juan Eduardo Flores Sotelo
Systems Programmer
Banco Continental (Peru) © Xephon 2002
110 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Understanding CICS Monitoring and Statistics data
CMAS PROCESSING
Processing in the CMAS follows a cycle. Events in the cycle are as follows.
112 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
PAGEOUT OUXBPOUT Total page
outs
REALSTG RAXFMCT- Total frame
RAX ASCBRSME count
CPUTIME ASCBEJST+ Total CPU
ASCBSRBT time
PRGMRCMP LDGDSAST Sum(LDGDPSCR, Programs
AT LDGMAXDSA) removed
by
cmpressio
n
LOADPNIU Sum(LDGPROGNIU, No of
LDGMAXDSA) programs
on NIU
queue
LOADRNIU Sum(LDGRECNIU, No of
LDGMAXDSA) reclaims
from NIU
queue
LOADTNIU Sum(LDGDPSCT, Times
LDGMAXDSA) removed
program
on queue
MVSSYSID CVT SMCASID- MVS sysid
SMCABASE
CICSDSA NCICSDSA SIZE SMSBODY SMSDSASZ
Storage
size
STGFSIZE SMSFSTG Free
storage
(inc.
cushion)
LIMIT SMSGLOBA SMS(E)DSALIMIT Max DSA
L size
CURRALLOC SMS(E)DSATOTAL Cur DSA
alloction
HWMALLOC SMSHWM(E)DSATOTAL HWM DSA
allocated
POOLPCTFREE STGFSIZE*1000/ SIZE Percent
free in the
specific
storage
pool
PCTFREE [SMS(E)DSALIMIT- Percent
SMS(E)DSATOTAL+ free in
Sum( storage
SMSBODY.SMSFSTG, area
SMSNPAGP)] *1000/
LIMIT
114 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
CICS reset command
CICS can have its data collection reset. This action has no effect on the
Mxxxx table entries.
Processing
It is useful to have a value (called the seed value) to help in the calculation
of the Mxxxx values. The seed is set as follows:
1 Activation of monitoring.seedValue = CICS value at this time
2 CICS Reset.seedValue = seedValue – last CICS value before reset
3 CPSM Reset.seedValue = seedValue + currentSMValue
For DELTA type fields, the new value is calculated at sample intervals via
Mvalue = Nvalue – seed.
This is illustrated in Figure 2.
Intermediate fields can also be defined for the duration of the processing
of the record, in order to perform more complex calculations.
116 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Start Sample Sample CICS Sample Sample CPSM Sample Sample
MON Reset reset
Nusecount 12 24 30 36 10 20 36 46
seedvalue 12 12 12 -24 -24 -24 20 20 20
Musecount 0 12 18 34 44 0 16 26
TABLES
The following tables show attributes that have processing properties other
than NONE, REPLace.
MCICSRGN
Base fields
Attribute CPSM Reset Calculation
MAXTRCNT ZERO DELTA
LOADREQS ZERO DELTA
LOADTIME ZERO DELTA
PRGMUCNT ZERO DELTA
LOADWCNT ZERO DELTA
LOADWAIT ZERO DELTA
RDEBRBLD ZERO DELTA
PRGMRCMP ZERO DELTA
LOADTNIU ZERO DELTA
LOADRNIU ZERO DELTA
SDMPTOTL ZERO DELTA
SDMPSUPP ZERO DELTA
TDMPTOTL ZERO DELTA
TDMPSUPP ZERO DELTA
CPUTIME ZEROCICS DELTA
PAGEIN ZEROCICS DELTA
PAGEOUT ZEROCICS DELTA
SIOREQ ZEROCICS DELTA
VTMRPLMAX ZERO DELTA
VTMRPLPOST ZERO DELTA
VTMSOSCNT ZERO DELTA
VTMACBDOPE ZERO DELTA
TOTACTVUSRTR ZERO DELTA
TOTDELYUSRTR ZERO DELTA
TOTQUETIME ZERO DELTA
PROGAUTOATTM ZERO DELTA
PROGAUTOXREJ ZERO DELTA
PROGAUTOFAIL ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
CURTASKRATE ZERO REPL,RATE_INST TOTLTASKS
INTTASKRATE ZERO REPL,RATE_INTVL TOTLTASKS
CURCPUPER ZEROCICS REPL,PCTG_INST CPUTIME
INTCPUPER ZEROCICS REPL,PCTG_INTVL CPUTIME
CURPGIRATE ZEROCICS REPL,RATE_INST PAGEIN
INTPGIRATE ZEROCICS REPL,RATE_INTVL PAGEIN
CURPGORATE ZEROCICS REPL,RATE_INST PAGEOUT
INTPGORATE ZEROCICS REPL,RATE_INTVL PAGEOUT
CURSIORATE ZEROCICS REPL,RATE_INST SIOREQ
INTSIORATE ZEROICCS REPL,RATE_INTVL SIOREQ
MCICSDSA
Base fields
Attribute CPSM Reset Calculation
GETMTOTL ZERO DELTA
FREMTOTL ZERO DELTA
ASUBTOTL ZERO DELTA
DSUBTOTL ZERO DELTA
NSTGTOTL ZERO DELTA
STGSTOTL ZERO DELTA
STGPWCNT ZERO DELTA
STGCRELC ZERO DELTA
STGSOSC ZERO DELTA
STGSOST ZERO DELTA
STGVTOTL ZERO DELTA
NSTGTSUSP DELTA
Derived fields
Field CPSM Reset Calculation args
CURFRESTG ZERO REPL,PCT_INST STGFSIZE,SIZE
INTFRESTG ZERO REPL,PCT_INTVL STGFSIZE,SIZE
MTRANCLS
Base fields
Attribute CPSM Reset Calculation
QUEUED ZERO
PURGETHRESH DELTA
ATTACHES ZERO DELTA
PURGEIMMED ZERO DELTA
ACCEPTIMMED ZERO DELTA
118 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
ACCEPTAFTRQD ZERO DELTA
TIMESATMAX ZERO DELTA
PURGTHRTIMES ZERO DELTA
QUEUETIME ZERO DELTA
CURQUEDTIME ZERO DELTA
MTDQGBL
Base fields
Attribute CPSM Reset Calculation
NOSPACECNT ZERO DELTA
WRITES ZERO DELTA
READS ZERO DELTA
FMTWRITE ZERO DELTA
IOERRS ZERO DELTA
Intermediate fields
Field CPSM Reset Calculation args
IMMD_SAMPLACCESS REPL,SUM READS,WRITES
IMMD_ACCESMREADS REPL,DEDUCT ACCESSCNT,READS
Derived fields
Field CPSM Reset Calculation args
CURACCCNT ZERO REPL,RATE_INST ACCESSMREADS
INTACCCNT ZERO REPL,RATE_INTVL ACCESSMREADS
CURFULLPER ZERO REPL,PCTG_INST NOSPACECNT,SAMPLACCESS
INTFULLPER ZERO REPL,PCTG_INTVL NOSPACECNT,SAMPLACCESS
CURWRITRATE ZERO REPL,RATE_INST WRITES
INTWRITRATE ZERO REPL,RATE_INTVL WRITES
CURREADRATE ZERO REPL,RATE_INST READS
INTREADRATE ZERO REPL,RATE_INTVL READS
MTSQGBL
Base fields
Attribute Reset Calculation
PUTQMAIN ZERO DELTA
GETQMAIN ZERO DELTA
PUTQAUX ZERO DELTA
GETQAUX ZERO DELTA
ENTLGQUE ZERO DELTA
QUECRECNT ZERO DELTA
QUEXTENDS ZERO DELTA
WRTGTCISZ ZERO DELTA
PEAKCIUSE ZERO DELTA
AUXFULL ZERO DELTA
Intermediate fields
Field CPSM Reset Calculation args
IMMD_SAMPLACCESS REPL,SUM PUTQAUX,GETQAUX
IMMD_INTVLACCESS REPL,SUM PUTQAUX,GETQAUX
IMMD_SAMPLBUFACC REPL,SUM BUFREADS,BUFWRITES
IMMD_INTVLBUFACC REPL,SUM BUFWRITES,BUFREADS
IMMD_GETQMREADB REPL,DEDUCT GETQAUX,BUFREADS
Derived fields
Field CPSM Reset Calculation args
CURREADRATE ZERO REPL,RATE_INST BUFREADS
INTREADRATE ZERO REPL,RATE_INTVL BUFREADS
CURMPUTQRATE ZERO REPL,RATE_INST PUTQMAIN
INTMPUTQRATE ZERO REPL,RATE_INTVL PUTQMAIN
CURMGETQRATE ZERO REPL,RATE_INST GETQMAIN
INTMGETQRATE ZERO REPL,RATE_INTVL GETQMAIN
CURAPUTQRATE ZERO REPL,RATE_INST PUTQAUX
INTAPUTQRATE ZERO REPL,RATE_INTVL PUTQAUX
CURAGETQRATE ZERO REPL,RATE_INST GETQAUX
INTAGETQRATE ZERO REPL,RATE_INTVL GETQAUX
CURFULLPER ZERO REPL,PCT_INST AUXFULL,SAMPLACCESS
INTFULLPER ZERO REPL,PCT_INTVL AUXFULL,SAMPLACCESS
CURBHITRATE ZERO REPL,RATE_INST GETQMREADB
INTBHITRATE ZERO REPL,RATE_INTVL GETQMREADB
CURWRITRATE ZERO REPL,RATE_INST BUFWRITES
INTWRITRATE ZERO REPL,RATE_INTVL BUFWRITES
MFEPICON
Base fields
Attribute CPSM Reset Calculation
ACQUIRES ZERO DELTA
CONVERSATNS ZERO DELTA
UNSOLICINP ZERO DELTA
CHARSSENT ZERO DELTA
CHARSRECVD ZERO DELTA
RECVTIMEOUT ZERO DELTA
ERRORS ZERO DELTA
120 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Derived fields
Field CPSM Reset Calculation args
CSACQRATE ZERO REPL,RATE_INST ACQUIRES
MIACQRATE ZERO REPL,RATE_INTVL ACQUIRES
MCONNECT
Base fields
Attribute CPSM Reset Calculation
ATISBPRI ZERO DELTA
ATISBSEC ZERO DELTA
BIDSSENT ZERO DELTA
ALLOCATES ZERO DELTA
FAILINKALLOC ZERO DELTA
FAILEDOTHERS ZERO DELTA
FCFUNCSHIP ZERO DELTA
ICFUNCSHIP ZERO DELTA
TDFUNCSHIP ZERO DELTA
TSFUNCSHIP ZERO DELTA
DLIFUNCSHIP ZERO DELTA
TOTFUNCSHIP ZERO DELTA
TERMSHAREREQ ZERO DELTA
MAXQTPURGCNT ZERO
XZIQREJS ZERO
XZIQPRGCNT ZERO
XZIQALLCPRG ZERO
MAXQTALLCPRG ZERO
PRICURRUSED ZERO DELTA
SECCURRUSED ZERO DELTA
DPLFUNCSHIP ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
CURFCFSRATE ZERO REPL,RATE_INST TOTFUNCSHIP
INTFCFSRATE ZERO REPL,RATE_INTVL TOTFUNCSHIP
MLSRPOOL
Base fields
Attribute CPSM Reset Calculation
TOTWAITREQ ZERO DELTA
DBLOOKASIDE ZERO DELTA
DBREAD ZERO DELTA
DBUIWRITE ZERO DELTA
DBNUWRITE ZERO DELTA
DCREAD ZERO DELTA
Intermediate fields
Field CPSM Reset Calculation args
IMMD_SAMPLDWRTCT REPL,SUM DBUIWRITE,DBNUWRITE
IMMD_INTVLDWRTCT REPL,SUM DBUIWRITE,DBNUWRITE
IMMD_SAMPLIWRTCT REPL,SUM IBUIWRITE,IBNUWRITE
IMMD_INTVLIWRTCT REPL,SUM IBUIWRITE,IBNUWRITE
Derived fields
Field CPSM Reset Calculation args
CURDBHITRATE ZERO REPL,RATE_INST DBLOOKASIDE
INTDBHITRATE ZERO REPL,RATE_INTVL DBLOOKASIDE
CURDWRITRATE ZERO REPL,RATE_INST SAMPLDWRTCT
INTDWRITRATE ZERO REPL,RATE_INTVL INTVLDWRTCT
CURDREADRATE ZERO REPL,RATE_INST DBREAD
INTDREADRATE ZERO REPL,RATE_INTVL DBREAD
CURDHWRIRATE ZERO REPL,RATE_INST DCWRITE
INTDHWRIRATE ZERO REPL,RATE_INTVL DCWRITE
CURDHREARATE ZERO REPL,RATE_INST DCREAD
INTDHREARATE ZERO REPL,RATE_INTVL DCREAD
CURIBHITRATE ZERO REPL,RATE_INST IBLOOKASIDE
INTIBHITRATE ZERO REPL,RATE_INTVL IBLOOKASIDE
CURIWRITRATE ZERO REPL,RATE_INST SAMPLIWRTCT
INTIWRITRATE ZERO REPL,RATE_INTVL INTVLIWRTCT
CURIREADRATE ZERO REPL,RATE_INST IBREADS
INTIREADRATE ZERO REPL,RATE_INTVL IBREADS
CURIHWRIRATE ZERO REPL,RATE_INST ICWRITE
INTIHWRIRATE ZERO REPL,RATE_INTVL ICWRITE
CURIHREARATE ZERO REPL,RATE_INST ICREAD
INTIHREARATE ZERO REPL,RATE_INTVL ICREAD
MLSRPBUF
Base fields
Attribute CPSM Reset Calculation
READS ZERO DELTA
USERIWRITE ZERO DELTA
NONUWRITE ZERO DELTA
CREADS ZERO DELTA
CWRITES ZERO DELTA
122 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
Intermediate fields
Field CPSM Reset Calculation args
IMMD_SAMPLDWRTCT REPL,SUM USERIWRITE,NONUWRITE
Derived fields
Field CPSM Reset Calculation args
CURWRITRATE ZERO REPL,RATE_INST SAMPLDWRTCT
INTWRITRATE ZERO REPL,RATE_INTVL SAMPLDWRTCT
CURREADRATE ZERO REPL,RATE_INST READS
INTREADRATE ZERO REPL,RATE_INTVL READS
CURHWRITRATE ZERO REPL,RATE_INST CWRITES
INTHWRITRATE ZERO REPL,RATE_INTVL CWRITES
CURHREADRATE ZERO REPL,RATE_INST CREADS
INTHREADRATE ZERO REPL,RATE_INTVL CREADS
MCMDT
Base fields
Attribute CPSM Reset Calculation
GETCNT ZERO DELTA
GETUPDCNT ZERO DELTA
BROWSECNT ZERO DELTA
ADDCNT ZERO DELTA
UPDATECNT ZERO DELTA
LOCDELCNT ZERO DELTA
DEXCPCNT ZERO DELTA
IEXCPCNT ZERO DELTA
WSTRCNT ZERO DELTA
WSTRCCURCNT ZERO DELTA
READS ZERO DELTA
RECNOTFND ZERO DELTA
ADDFRREAD ZERO DELTA
ADDREQ ZERO DELTA
ADDREJ ZERO DELTA
ADDTFULL ZERO DELTA
REWRITE ZERO DELTA
DELETEREQ ZERO DELTA
MAXTSIZE ZERO DELTA
TOTLREQCNT ZERO DELTA
TOTMREQCNT ZERO DELTA
Derived fields
Field CPSM Reset Calculation Args
CURREQRATE ZERO REPL,RATE_INST TOTLREQCNT
INTREQRATE ZERO REPL,RATE_INTVL TOTLREQCNT
CURDEXCPRATE ZERO REPL,RATE_INST DEXCPCNT
INTDEXCPRATE ZERO REPL,RATE_INTVL DEXCPCNT
MLOCFILE
Base fields
Attribute CPSM Reset Calculation
GETCNT ZERO DELTA
GETUPDCNT ZERO DELTA
BROWSECNT ZERO DELTA
ADDCNT ZERO DELTA
UPDATECNT ZERO DELTA
LOCDELCNT ZERO DELTA
TOTLREQCNT ZERO DELTA
DEXCPCNT ZERO DELTA
IEXCPCNT ZERO DELTA
WSTRCNT ZERO DELTA
WSTRCCURCNT ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
CURDEXCPRATE ZERO REPL,RATE_INST DEXCPCNT
INTDEXCPRATE ZERO REPL,RATE_INTVL DEXCPCNT
CURIEXCPRATE ZERO REPL,RATE_INST IEXCPCNT
INTIEXCPRATE ZERO REPL,RATE_INTVL IEXCPCNT
CURREQRATE ZERO REPL,RATE_INST TOTLREQCNT
INTREQRATE ZERO REPL,RATE_INTVL TOTLREQCNT
MREMFILE
Base fields
Attribute CPSM Reset Calculation
REMDELCNT ZERO DELTA
GETCNT ZERO DELTA
GETUPDCNT ZERO DELTA
BROWSECNT ZERO DELTA
ADDCNT ZERO DELTA
UPDATECNT ZERO DELTA
TOTLREQCNT ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
124 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
CURREQRATE ZERO REPL,RATE_INST TOTLREQCNT
INTREQRATE ZERO REPL,RATE_INTVL TOTLREQCNT
MJOURNL
Base fields
Attribute CPSM Reset Calculation
TAPESOPEN ZERO DELTA
BLKWRCNT ZERO DELTA
ARCHSUBCNT ZERO DELTA
ARCHWCNT ZERO DELTA
DSOPENCNT ZERO DELTA
AVGSIZE ZERO
RECWRCNT ZERO DELTA
BUFULLCNT ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
CURFULLPER ZERO REPL,PCTG_INST BUFULLCNT,BLKWRCNT
INTFULLPER ZERO REPL,PCTG_INTVL BUFULLCNT,BLKWRCNT
MJRNLNAM
Base fields
Attribute CPSM Reset Calculation
NUMWRITES ZERO DELTA
NUMBYTES ZERO DELTA
NUMBUFLUSH ZERO DELTA
MPROGRAM
Base fields
Attribute CPSM Reset Calculation
NEWCOPYCNT ZERO DELTA
USECOUNT ZEROCICS DELTA
FETCHCNT ZERO DELTA
FETCHTIME ZERO DELTA
REMOVECNT ZERO DELTA
Intermediate fields
Field CPSM Reset Calculation args
IMMD_USEMIFETCH REPL,DEDUCT USECOUNT,FETCHCNT
MTERMNL
Base fields
Attribute CPSM Reset Calculation
POLLCNT ZERO DELTA
INPMSGCNT ZERO DELTA
OUTMSGCNT ZERO DELTA
TRANCNT ZERO DELTA
STGVCNT ZERO DELTA
XERRCNT ZERO DELTA
TERRCNT ZERO DELTA
PMSGCNT ZERO DELTA
PMSGGRPCNT ZERO DELTA
PMSGCONSEC ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
CURIMSGRATE ZERO REPL,RATE_INST INPMSGCNT
INTIMSGRATE ZERO REPL,RATE_INTVL INPMSGCNT
CUROMSGRATE ZERO REPL,RATE_INST OUTMSGCNT
INTOMSGRATE ZERO REPL,RATE_INTVL OUTMSGCNT
CURTRANRATE ZERO REPL,RATE_INST TRANCNT
INTTRANRATE ZERO REPL,RATE_INTVL TRANCNT
MLOCTRAN
Base fields
Attribute CPSM Reset Calculation
RESTARTCNT ZERO DELTA
USECOUNT ZERO DELTA
STGVCNT ZERO DELTA
LOCALCNT ZERO DELTA
ISOLATEST ZERO DELTA
REMSTARTCNT ZERO DELTA
REMOTECNT ZERO DELTA
CPUTIME ZERO ADD
MSGIN ZERO ADD
126 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
CHARIN ZERO ADD
MSGOUT ZERO ADD
CHAROUT ZERO ADD
MSGINSEC ZERO ADD
CHARINSEC ZERO ADD
MSGOUTSEC ZERO ADD
CHAROUTSEC ZERO ADD
ALLOCATES ZERO ADD
USTG24CNT ZERO ADD
USTG31CNT ZERO ADD
USTG24HWM ZERO ADD
USTG31HWM ZERO ADD
USTG24OCC ZERO ADD
USTG31OCC ZERO ADD
PSTG31HWM ZERO ADD
PSTG24HWM ZERO ADD
FCGETCNT ZERO ADD
FCPUTCNT ZERO ADD
FCBRWCNT ZERO ADD
FCADDCNT ZERO ADD
FCDELCNT ZERO ADD
FCCOUNT ZERO ADD
FCAMCNT ZERO ADD
TDGETCNT ZERO ADD
TDPUTCNT ZERO ADD
TDPURCNT ZERO ADD
TDCOUNT ZERO ADD
TSGETCNT ZERO ADD
TSPUTACNT ZERO ADD
TSPUTMCNT ZERO ADD
TSCOUNT ZERO ADD
BMSMAPCNT ZERO ADD
BMSINCNT ZERO ADD
BMSOUTCNT ZERO ADD
BMSCOUNT ZERO ADD
PCLINKCNT ZERO ADD
PCXCTLCNT ZERO ADD
PCLOADCNT ZERO ADD
JCUSRWCNT ZERO ADD
ICCOUNT ZERO ADD
SYNCCOUNT ZERO ADD
DISPTIME ZERO ADD
SUSPTIME ZERO ADD
WAITTIME ZERO ADD
PCLOADTM ZERO ADD
EXWAIT ZERO ADD
TCIOTIME ZERO ADD
FCIOTIME ZERO ADD
JCIOTIME ZERO ADD
TSIOTIME ZERO ADD
IRIOTIME ZERO ADD
128 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
RMITIMECT ZERO ADD
RMISUSPCT ZERO ADD
DCEDELAYTIME ZERO ADD
DCEDELAYCT ZERO ADD
DCEWAITTIME ZERO ADD
DCEWAITCT ZERO ADD
NUMINDOUBWT ZERO ADD
FORACTTRNDF ZERO ADD
FORACTINDTO ZERO ADD
FORACTNOWT ZERO ADD
FORACTOPER ZERO ADD
FORACTOTHER ZERO ADD
ACTMISMATS ZERO ADD
PERRECNT ZERO ADD
SC24SGCT ZERO ADD
SC24GSHR ZERO ADD
SC24FSHR ZERO ADD
SC31SGCT ZERO ADD
SC31GSHR ZERO ADD
SC31FSHR ZERO ADD
JNLWRTCT ZERO ADD
LOGWRTCT ZERO ADD
SYNCTIME ZERO ADD
SYNCTIMCNT ZERO ADD
RLSWAIT ZERO ADD
RLSWAITCNT ZERO ADD
RLSCPUT ZERO ADD
RLSCPUCNT ZERO ADD
LOCKMWT ZERO ADD
LOCKMWC ZERO ADD
EXTERNWT ZERO ADD
EXTERNWC ZERO ADD
CICSWT ZERO ADD
CICSWC ZERO ADD
INTVLWT ZERO ADD
INTVLWC ZERO ADD
CTLWT ZERO ADD
CTLWC ZERO ADD
SHDTSWT ZERO ADD
SHDTSWC ZERO ADD
ICTOTCNT ZERO ADD
PCLURMCT ZERO ADD
CFDTWT ZERO ADD
CFDTWC ZERO ADD
SRVSPWT ZERO ADD
SRVSPWC ZERO ADD
BARSYNCT ZERO ADD
BARASYCT ZERO ADD
BALKPACT ZERO ADD
BADPROCT ZERO ADD
BADACTCT ZERO ADD
130 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
IMSWAITC ZERO ADD
DB2RDYQW ZERO ADD
DB2RDYQC ZERO ADD
DB2CONWT ZERO ADD
DB2CONWC ZERO ADD
DB2WAIT ZERO ADD
DB2WAITC ZERO ADD
GNQDELAY ZERO ADD
GNQDELAC ZERO ADD
SOIOWTT ZERO ADD
SOIOWTC ZERO ADD
RRMSWAIT ZERO ADD
RRMSWAIC ZERO ADD
PCDPLCT ZERO ADD
SOBYENCT ZERO ADD
SOBYDECT ZERO ADD
TCBATTCT ZERO ADD
JVMTIME ZERO ADD
JVMSUSP ZERO ADD
JVMTIMEC ZERO ADD
JVMSUSPC ZERO ADD
Derived fields
Field CPSM Reset Calculation args
CURTRANRATE ZERO REPL,RATE_INST USECOUNT
INTTRANRATE ZERO REPL,RATE_INTVL USECOUNT
MTASK
Base fields
Attribute CPSM Reset Calculation
START NONE NONE
STOP NONE NONE
MSGIN ADD
CHARIN ADD
MSGOUT ADD
CHAROUT ADD
MSGINSEC ADD
CHARINSEC ADD
MSGOUTSEC ADD
CHAROUTSEC ADD
ALLOCATES ADD
TERMSTG ADD
USTG24CNT ADD
USTG31CNT ADD
USTG24HWM ADD
USTG31HWM ADD
USTG24OCC ADD
132 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
TDIOCNT ADD
TCM62IN2 ADD
TCC62IN2 ADD
TCM62OU2 ADD
TCC62OU2 ADD
PC24RHWM ADD
PC31SHWM ADD
PC24SHWM ADD
SZALLOCT ADD
SZRCVCT ADD
SZSENDCT ADD
SZSTRTCT ADD
SZCHROUT ADD
SZCHRIN ADD
SZALLCTO ADD
SZRCVTO ADD
SZTOTCT ADD
SZWAIT ADD
DSPDELAY ADD
TCLDELAY ADD
MXTDELAY ADD
ENQDELAY ADD
LU61WTT ADD
LU62WTT ADD
RMITIME ADD
RMISUSP ADD
SZWAITCT ADD
DSPDELAYCT ADD
TCLDELAYCT ADD
MXTDELAYCT ADD
ENQDELAYCT ADD
LU61WTTCT ADD
LU62WTTCT ADD
RMITIMECT ADD
RMISUSPCT ADD
DCEDELAYTIME ADD
DCEDELAYCT ADD
DCEWAITTIME ADD
DCEWAITCT ADD
PERRECNT
SC24SGCT
SC24GSHR
SC24FSHR
SC31SGCT
SC31GSHR
SC31FSHR
JNLWRTCT
LOGWRTCT
SYNCTIME ADD
SYNCTIMCNT ADD
RLSWAIT ADD
134 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
DHSETCT ADD
DHRETCT ADD
DHTOTCT ADD
DHTOTDCL ADD
IMSREQCT ADD
DB2REQCT ADD
CHMODECT ADD
QRDISPT ADD
QRDISPC ADD
QRCPUT ADD
QRCPUC ADD
MSDISPT ADD
MSDISPC ADD
MSCPUT ADD
MSCPUC ADD
L8CPUT ADD
L8CPUC ADD
J8CPUT ADD
J8CPUC ADD
S8CPUT ADD
S8CPUC ADD
QRMODDLY ADD
QRMODDLC ADD
MXTOTDLY ADD
MXTOTDLC ADD
IMSWAIT ADD
IMSWAITC ADD
DB2RDYQW ADD
DB2RDYQC ADD
DB2CONWT ADD
DB2CONWC ADD
DB2WAIT ADD
DB2WAITC ADD
GNQDELAY ADD
GNQDELAC ADD
SOIOWTT ADD
SOIOWTC ADD
RRMSWAIT ADD
RRMSWAIC ADD
PCDPLCT ADD
SOBYENCT ADD
SOBYDECT ADD
TCBATTCT ADD
JVMTIME ADD
JVMTIMEC ADD
JVMSUSP ADD
JVMSUSPC ADD
Intermediate fields
Field CPSM Reset Calculation args
Derived fields
Field CPSM Reset Calculation args
RESPONSE REPL,TALLY STOPMISTART
PFXA_RESPONSE REPL,TALLY STOPMISTART
CURAVGRESP ZERO REPLO,AVG_INST PFXA_RESPONSE,@ALTINTERVAL
INTAVGRESP ZERO REPL,AVG_INTVL RESPONSE,@ALTINTERVAL
CURAVGCPUT ZERO REPL,AVG_INST PFXA_CPUTIME,@ALTINTERVAL
INTAVGCPUT ZERO REPL,AVG_INTVL CPUTIME,@ALTINTERVAL
MREMTRAN
Base fields
Attribute CPSM Reset Calculation
REMOTECNT ZERO DELTA
USECOUNT ZERO DELTA
REMSTARTCNT ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
CURTRANRATE ZERO REPL,RATE_INST USECOUNT
INTTRANRATE ZERO REPL,RATE_INTVL USECOUNT
CURAVGRESP ZERO REPL,RATE_INST RESPTIME,USECOUNT
INTAVGRESP ZERO REPL,RATE_INTVL RESPTIME,USECOUNT
MXTRATDQ
Base fields
Attribute CPSM Reset Calculation
OUTCNT ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
CUROUTQRATE ZERO REPL,RATE_INST OUTCNT
INTOUTQRATE ZERO REPL,RATE_INTVL OUTCNT
MNTRATDQ
Base fields
Attribute CPSM Reset Calculation
136 © 2002. Xephon UK telephone 01635 33848, fax 01635 38345. USA telephone (303) 410 9344, fax (303) 438 0290.
OUTCNT ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
CUROUTQRATE ZERO REPL,RATE_INST OUTCNT
INTOUTQRATE ZERO REPL,RATE_INTVL OUTCNT
MREMTDQ
Base fields
Attribute CPSM Reset Calculation
OUTCNT ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
CUROUTQRATE ZERO REPL,RATE_INST OUTCNT
INTOUTQRATE ZERO REPL,RATE_INTVL OUTCNT
MINDTDQ
Base fields
Attribute CPSM Reset Calculation
OUTCNT ZERO DELTA
Derived fields
Field CPSM Reset Calculation args
CUROUTQRATE ZERO REPL,RATE_INST OUTCNT
INTOUTQRATE ZERO REPL,RATE_INTVL OUTCNT
MDB2THRD
Derived fields
Field CPSM Reset Calculation args
CURUSERATE ZERO REPL,RATE_INST USECOUNT
INTUSERATE ZERO REPL,RATE_INTVL USECOUNT
Dr Paul Johnson
CICS Transaction Server Systems Management Planning/Development
IBM (UK) © IBM 2002