CICS Operations and Utilities Guide
CICS Operations and Utilities Guide
SC33-1685-02
CICS® Transaction Server for OS/390® IBM
SC33-1685-02
Note!
Before using this information and the product it supports, be sure to read the general information under “Notices” on page ix.
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
What this book is about . . . . . . . . . . . . . . . . . . . . . xi
Who should read this book?. . . . . . . . . . . . . . . . . . . xi
Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . xiii
CICS Transaction Server for OS/390 . . . . . . . . . . . . . . . . xiii
CICS books for CICS Transaction Server for OS/390 . . . . . . . . . xiii
CICSPlex SM books for CICS Transaction Server for OS/390 . . . . . . xiii
Other CICS books . . . . . . . . . . . . . . . . . . . . . . xiv
Summary of changes. . . . . . . . . . . . . . . . . . . . . . xv
Changes for the CICS Transaction Server for OS/390 Release 3 edition . . . xv
Changes for the CICS Transaction Server for OS/390 Release 2 edition . . . xv
Changes for the CICS Transaction Server for OS/390 release 1 . . . . . . xvi
Contents v
Chapter 24. REMOVE . . . . . . . . . . . . . . . . . . . . . . 173
Chapter 31. Sign-on table to RACF migration utility program (DFHSNMIG) . 193
Migrating operator characteristics—CICS SNT to RACF database . . . . . . 193
Sample job stream to run the DFHSNMIG program . . . . . . . . . . . 194
Sample batch job to execute the CLIST . . . . . . . . . . . . . . . 194
Chapter 32. Stagger end-of-day time sample utility program (DFH$STED) . 195
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Contents vii
viii CICS TS for OS/390: CICS Operations and Utilities Guide
Notices
This information was developed for products and services offered in the U.S.A. IBM
may not offer the products, services, or features discussed in this document in other
countries. Consult your local IBM representative for information on the products and
services currently available in your area. Any reference to an IBM product, program,
or service is not intended to state or imply that only that IBM product, program, or
service may be used. Any functionally equivalent product, program, or service that
does not infringe any IBM intellectual property right may be used instead. However,
it is the user’s responsibility to evaluate and verify the operation of any non-IBM
product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not give you any
license to these patents. You can send license inquiries, in writing, to:
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
The following paragraph does not apply in the United Kingdom or any other
country where such provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A
PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions, therefore this statement may not apply to
you.
Licensees of this program who wish to have information about it for the purpose of
enabling: (i) the exchange of information between independently created programs
and other programs (including this one) and (ii) the mutual use of the information
which has been exchanged, should contact IBM United Kingdom Laboratories,
MP151, Hursley Park, Winchester, Hampshire, England, SO21 2JN. Such
information may be available, subject to appropriate terms and conditions, including
in some cases, payment of a fee.
Trademarks
The following terms are trademarks of International Business Machines Corporation
in the United States, or other countries, or both:
Other company, product, and service names may be trademarks or service marks
of others.
We also assume that you are familiar with MVS job control language (JCL) and
cataloged procedures.
Notes on terminology
Throughout this book, the following terms are used to indicate their associated
meanings:
Application-owning region (AOR)
A CICS region that owns and manages application programs, through
functions provided by a number of CICS control programs, principally the
program control program.
Subsequent updates will probably be available in softcopy before they are available
in hardcopy. This means that at any time from the availability of a release, softcopy
versions should be regarded as the most up-to-date.
For CICS Transaction Server books, these softcopy updates appear regularly on the
Transaction Processing and Data Collection Kit CD-ROM, SK2T-0730-xx. Each
reissue of the collection kit is indicated by an updated order number suffix (the -xx
part). For example, collection kit SK2T-0730-06 is more up-to-date than
SK2T-0730-05. The collection kit is also clearly dated on the cover.
Updates to the softcopy are clearly marked by revision codes (usually a “#”
character) to the left of the changes.
Changes for the CICS Transaction Server for OS/390 Release 3 edition
This edition is based on the Operations and Utilities Guide for CICS Transaction
Server for OS/390 Release 2, SC33-1685-01.
For CICS Transaction Server for OS/390 Release 3, the following changes have
been made:
v New section on the Local catalog storage program, DFHSMUTL.
v PROCESS command.
v Add REMOVE option to DELETE.
v Changes to DFHSTUPE and DFH$MOLS.
Changes for the CICS Transaction Server for OS/390 Release 2 edition
This edition is based on the Operations and Utilities Guide for CICS Transaction
Server for OS/390 Release 1, SC33-1685-00.
For CICS Transaction Server for OS/390 Release 2, the following changes have
been made:
v Information about sizing DASD-only log streams has been added to “Chapter 6.
Log stream sizing migration utility, DFHLSCU” on page 41.
v Information about the CICS diagnostic run mechanism has been added to
“Chapter 35. Recovery manager utility program (DFHRMUTL)” on page 221.
v Information about the new BMS macro generation utility program (DFHBMSUP)
has been added in “Chapter 36. BMS macro generation utility program
(DFHBMSUP)” on page 227.
v The statistics utility program, DFHSTUP, produces the following additional
statistics reports:
– DB2 connections
– DB2 entries.
See “Chapter 8. Statistics utility program (DFHSTUP)” on page 77.
v Three new resource types have been added to the DFHCSDUP utility program
as follows:
– DB2CONN
– DB2ENTRY
– DB2TRAN.
See “Chapter 12. System definition file utility program (DFHCSDUP)” on
page 139.
v The SCAN command has been added to the DFHCSDUP utility program. See
“Chapter 12. System definition file utility program (DFHCSDUP)” on page 139.
The chapter on DFHJUP has been amended to describe how to access, format,
and print journaled data in CICS log streams, and on SMF data sets.
See the CICS/ESA 4.1 Operations and Utilities Guide for information on XRF.
The other books in the CICS library that you may want to refer to for information
related to operating CICS regions are:
v CICS startup and CICS initialization parameters in the CICS System Definition
Guide for information about CICS system definitions; including CICS startup JCL
and system initialization parameters
v The CICS Recovery and Restart Guide, for information about CICS recovery and
restart
v The CICS Supplied Transactions manual, for information about the master
terminal transactions provided by CICS
v The CICS IMS Database Control Guide, for information about operating CICS
with IMS/ESA® database control (DBCTL)
v The CICS DB2 Guide, for information about operating CICS with DB2®
v The CICS/ESA 3.3 XRF Guide, for general information about the CICS extended
recovery facility.
If you are operating CICS within a CICSplex controlled by CICSPlex SM, you
should read the CICSPlex SM Concepts and Planning .
Operating procedures
When operating CICS, you should have clearly defined operating procedures for
your CICS environment. These procedures should provide information about how
CICS should be operated in your CICS environment, and should record actions
taken while operating CICS.
Details about CICS operations are given in “Chapter 2. Starting up CICS regions”
on page 17 through Chapter 5.
Starting up CICS
When you start up CICS, you start a process called CICS system initialization.
This process must finish before you run any transactions.
If you are operating CICS with CICS recovery options, backout procedures may be
used to restore recoverable resources to a logically consistent state. Backout
occurs if you start CICS in one of the following ways:
v With START=AUTO and CICS detects that the previous shutdown was
immediate or uncontrolled
v With START=STANDBY and XRF=YES, and a takeover occurs.
For background information about backout, and recovery and restart, see the CICS
Recovery and Restart Guide.
When CICS is started, the type of startup (and therefore the actions it takes)
depends primarily on the following:
v The value of the START system initialization parameter
v Two records in the CICS global catalog:
– The recovery manager control record
– The recovery manager autostart override record.
The values of other system initialization parameters also influence the actions taken
on CICS startup.
For information about the types of startup, the roles of the CICS catalogs, and the
effect of the START system initialization parameter, see the CICS System Definition
Guide.
Note: You cannot explicitly request a warm or emergency restart. When selecting
the type of start (using the START system initialization parameter), the
choices are INITIAL, COLD, or AUTO. AUTO can result in a warm or an
emergency restart; CICS itself determines which to use.
In a cold start:
v TERMINAL definitions are purged from the recovery file and from the catalog.
v Existing TYPETERM and MODEL definitions are purged from the catalog.
v PROGRAM definitions are purged from the recovery file and from the catalog.
v TRANSACTION and PROFILE definitions are purged from the global catalog.
v Transient data queue (TDQUEUE) definitions are purged from the catalog.
v File control records are purged from the catalog.
v Resource definition information is obtained as follows:
– Tables specified by system initialization parameters, such as MCT=xx, are
obtained from the program library.
– Information in the groups in the list named by the GRPLIST system
initialization parameter for this initialization is taken from the CICS system
definition (CSD) file and merged with information from the program library.
– Information in groups that have been defined or added to group lists is taken
from the CSD.
v Resynchronization information relating to remote systems or to RMI-connected
resource managers is preserved. The CICS system log is scanned during
startup, and information regarding unit of work obligations to remote systems, or
to non-CICS resource managers (such as DB2) connected through the RMI, is
preserved. (That is, any decisions about the outcome of local UOWs, needed to
allow remote systems or RMI resource managers to resynchronize their
resources, are preserved.)
However, note that recovery information for remote systems connected by LU6.1
links, or for earlier releases of CICS systems connected by MRO is not
preserved.
v The journal DFHLOG and DFHSHUNT entries in the catalog are used, and all
other journals and journal models are purged.
A partial warm start is similar to a complete warm start, except that some selected
CICS facilities are cold-started, as specified in the system initialization parameters.
Information is obtained for those facilities from the warm keypoint only if they are
not specified to be cold started.
In a warm start:
v Resource definition information is obtained as follows:
Note: The DCT load module is not referenced during a warm start, and any
setting on the DCT system initialization parameter is ignored.
– Information in the groups in the list named by the GRPLIST system
initialization parameter for this initialization is ignored.
– Information in the groups in the list named by the GRPLIST system
initialization parameter for the previous initialization is obtained from the warm
keypoint and the global catalog.
– Information in groups that have been installed since the last cold start is
obtained from the warm keypoint and the global catalog.
– Information in groups that have been defined or added to group lists is taken
from the CSD.
– Information about any autoinstalled terminal that has an automatic-initiate
descriptor (AID) outstanding is retrieved from the global catalog.
v Selected fields from the CSA are restored from the warm keypoint, including:
– Region exit time interval value
– Runaway time interval value
– Maximum number of tasks
– High-water mark number of the unit of recovery descriptor.
v The following pieces of information relating to logically recoverable, physically
recoverable and non-recoverable intrapartition transient data queues are
restored:
– All data defining the queues. This information is restored from the global
catalog, including trigger level information, ATI transaction IDs, ATI terminal
IDs and so on.
– All state-related data. This information is retrieved from the warm keypoint
which was written to the log, including:
- Record count
- Read pointer value
- Write pointer value
- Information about whether or not a trigger transaction has been attached.
The following attributes of the installed transactions and profiles are restored
from the warm keypoint:
– ENABLED/DISABLED status
– Transaction priority.
v Installed program and mapset definitions are obtained from these sources:
– The groups specified in the GRPLIST system initialization parameters at the
last cold start
– The groups that have been installed since the last cold start or emergency
restart
– The changes (such as LPA-eligibility) made by CEMT or EXEC CICS SET
PROGRAM commands in the last run.
Following an abnormal termination, Recovery Manager collects all of the log records
pertaining to in-flight tasks. It acquires locks on any records that they updated and
restores the tasks as shunted UOWs, to be backed out after initialization is
complete.
The logical units for which resynchronization is required will have been marked in
the TCTTEs. Resynchronization is not attempted in the following cases:
v If the terminal was acquired by a master terminal operation specifying
COLDACQ.
v If the terminal was acquired with the EXEC CICS SET TERMINAL
ACQSTATUS(COLDACQ) command.
v If the session is a pipeline session.
v If the TCTTE is marked to cold start the session by the TCT assembly process.
This is done for terminals such as 3270 terminals that do not support the set and
test sequence number (STSN) command.
Note: If the previous session abended, the use of COLDACQ overrides CICS
integrity control. This could lead to data integrity problems. Also, you should
check the CSMT log for an activity keypoint after the restart of a session
following a CICS failure. If there is no activity keypoint, you should issue
COLDACQ again after the next emergency restart.
For each logical unit that does require resynchronization, CICS issues an STSN
command that notifies the logical unit of the sequence numbers known to
CICS—that is, those numbers that backout processing placed in the TCTTE. The
logical unit can compare these sequence numbers with those that it has logged for
itself, and can thus determine if any messages were lost.
v If an input message was lost, the logical unit should retransmit it to CICS.
v If an output message was lost, CICS retransmits the message from the resend
slot and, in so doing, deletes the resend slot.
Although the MODIFY NET, USERVAR command is only significant when you are
running CICS with XRF, the USERVAR message occurs for both XRF=YES and
XRF=NO CICS systems. If you receive messages DFHSI1589D and DFHSI1572,
and if the CICS region is not initializing as an alternate CICS region, you can start
the CICS-VTAM session manually when VTAM is eventually started, by means of
the CEMT SET VTAM OPEN command from a supported MVS console or a
non-VTAM terminal.
If VTAM is active, but CICS still cannot open the VTAM ACB because VTAM does
not recognize the CICS APPLID, you receive the following messages:
F vtamname,USERVAR,ID=generic-applid,VALUE=specific-applid
+DFHSI1592I 'applid' CICS applid not (yet) active to VTAM.
+DFHSI1572 'applid' Unable to OPEN VTAM ACB - RC=00000008, ACB CODE=5A.
This may be caused by an error in the value of APPLID operand, in which case you
must correct the error and restart CICS. For information about other causes and
actions, see the CICS Messages and Codes manual.
If VTAM is active, but CICS cannot open the VTAM ACB, the following messages
are written to the system console:
+DFHSI1572 'applid' Unable to OPEN VTAM ACB - RC=xxxxxxxx, ACB CODE=yy.
DFHSI1590 'applid' XRF alternate cannot proceed without VTAM.
When the startup process is completed, users are able to enter transactions from
any terminals that are connected to CICS. For information about the CICS-supplied
transactions, see the CICS Supplied Transactions manual.
Note: You cannot change CICS system definition values set by some system
initialization parameters during CICS startup. To change such values, you
must specify the new values on system initialization parameters, and restart
CICS with those changed system initialization parameters.
CICS supplies a number of transactions that you can use to control CICS and its
resources while it is running. It also supplies a variety of utility programs, some of
which you can use to help with system management.
For information, see the CICSPlex System Manager Concepts and Planning,
GC33-0786.
The most significant transactions for CICS operation are CEMT, CEST, and CEDA.
The following sections outline these three transactions. For information about these
and other CICS transactions, see the CICS Supplied Transactions manual.
CEMT
CEMT is the master terminal transaction. You can use the CEMT transaction to
view the values of CICS system definitions and to change such definitions while
CICS is running. You can also use CEMT to manage databases, in particular for the
dynamic allocation and deallocation of data sets.
To view the values of CICS system definitions, use the CEMT INQUIRE command.
To change the values of system definitions, or to change CICS operation, use the
CEMT SET, CEMT PERFORM, or CEMT DISCARD command.
Note: CEMT is a powerful tool, and its use can significantly affect your system and
its users. Therefore, you should give the transaction adequate security
protection in a production CICS region.
CEST
CEST is the supervisor terminal transaction. It provides a subset of the CEMT
function. The CEST INQUIRE and SET commands enable you to inquire about and
alter some of the system values of control units, lines, netnames, tasks, and
terminals.
CEDA
You can use the CEDA transaction to:
v View resource definitions
v Change existing resource definitions
Similarly, you can use the CEDB transaction to view, change, or create resource
definitions, and can use the CEDC transaction to view resource definitions.
For information about the CEDA, CEDB, and CEDC transactions, see the CICS
Resource Definition Guide.
The first shutdown stage is complete when the last of the programs specified in the
first part of the shutdown PLT has run and all user tasks are complete.
Unlike processing, controls are not exercised to ensure that resources and services
remain available as long as they are needed. One consequence of this is that
transaction and CICS system abends can occur during immediate shutdown. Thus,
if a task tries to use a resource that has already been terminated, the task abends.
Then dynamic transaction backout is invoked, and that might also fail because it
could also try to use a resource that has been terminated.
Uncontrolled shutdown
An uncontrolled shutdown of CICS can be caused by a power failure, a machine
check, or an operating system failure.
In each case, CICS cannot perform any shutdown processing. In particular, CICS
does not write a warm keypoint or a warm-start-possible indicator to the global
catalog.
For information about defining CICS systems, see the CICS System Definition
Guide. For example, that book describes the system initialization parameters in
detail, and describes how to create a CICS startup job stream.
Starting CICS
You can start CICS in either of two ways:
v Use the MVS START command to start CICS as a started task. (See “Starting
CICS as a started task” on page 19.)
v Submit a CICS batch job to the MVS internal reader. (See “Starting CICS as a
batch job” on page 18.)
Whichever method you use to start CICS, you determine how CICS starts up, and
the facilities and resources that it can use, by specifying values for system
initialization parameters to be used by the CICS startup procedure. You would
normally specify the system initialization parameters that CICS is to use before you
start CICS. (See “Specifying system initialization parameters before startup”.)
However, after you have started the initialization of CICS, you can override the
system initialization parameters specified before startup; for example, to enable a
specific facility for that run of CICS. (See “Overriding system initialization
parameters during startup” on page 20.)
The system initialization parameters are processed in the preceding order, with later
system initialization parameter values overriding those specified earlier.
In particular, you can specify a new value for the START system initialization
parameter, which can have any of the following values:
START=AUTO
If you specify the START=AUTO system initialization parameter, CICS
determines whether to perform an initial, cold, warm, or emergency start by
inspecting two records in the global catalog:
START=AUTO should be the normal mode of operation, with the choice of start
being made by CICS automatically.
START=INITIAL
The new run of CICS has no reference to any previous run. The global catalog
and system log are initialized, and all information in them is lost.
START=COLD
The new run of CICS has limited reference to the previous run, and uses the
same global catalog and system log. In particular, resynchronization information
needed by remote systems to resynchronize their units of work is preserved.
START=STANDBY
CICS starts up as an XRF alternate CICS region, by initializing only to the point
at which it can monitor the active CICS region. Depending on how the active
CICS region was shut down, the alternate CICS region completes either a warm
or emergency restart, if it needs to take over, as follows:
v If the active CICS region was shut down via a successfully completed CEMT
PERFORM SHUTDOWN TAKEOVER command, the alternate CICS region
performs a warm start.
v If the active CICS region was shut down abnormally, the alternate CICS
region performs an emergency restart.
Note: You must also specify the XRF=YES system initialization parameter.
CICS uses system initialization parameters from the following sources, with later
system initialization parameters overriding earlier ones:
1. The system initialization table, DFHSIT6$, from the STEPLIB concatenation
2. The member CICSH### of the CICSTS13.CICS.CICSH###.SYSIN data set
3. The system console.
For example, you could use the following start command to start the CICS tasks
listed in Figure 2:
START CICS530
For information about the CICS-supplied startup procedure, see the CICS
Transaction Server for OS/390 Installation Guide.
If you are running CICS with RACF®, you must associate the cataloged procedure
name with a suitably authorized RACF user through the RACF table, ICHRIN03.
For details about this association, see the CICS RACF Security Guide.
Note: You can specify system initialization parameters at the system console only if
the CONSOLE keyword was specified in either the PARM parameter or in
the SYSIN data set.
Generally, CICS does not begin to read from the console until it has loaded the SIT
and processed any initialization parameters that are coded in the PARM parameter
and the SYSIN data set. CICS accepts system initialization parameters from the
console until you terminate the input with ’.END’.
Through the console, you can specify a SIT system initialization parameter only as
the first parameter when prompted by message DFHPA1921, at which point CICS
tries to load the specified SIT. If you try to specify a SIT system initialization
parameter after CICS has loaded the SIT, it is rejected as an error.
You can enter as many initialization parameters as you can get on one line of the
console, but you must use a comma to separate parameters. CICS continues to
prompt for system initialization parameters with displays of message DFHPA1105
until you terminate console input by entering the .END control keyword.
CICS prompts you to enter corrections to any errors it finds in the PARM parameter
or the SYSIN data set after it has loaded the SIT, and as each error is detected.
This means that if there is an APPLID parameter following the parameter that is in
error, either in the PARM parameter or in the SYSIN data set, it is the APPLID
coded in the SIT that CICS displays in messages DFHPA1912 and DFHPA1915.
For messages from the startup and takeover of XRF CICS regions, see the CICS
Transaction Server for OS/390 Installation Guide.
The CICS-supplied default system initialization table, DFHSIT, was used (the SIT
system initialization parameter was not specified) and system initialization
J E S 2 J O B L O G -- S Y S T E M M V S H -- N O D E W I N M V S H
JOB04877
↓
14.55.13 . IRR010I USERID userid IS ASSIGNED TO THIS JOB.
14.55.13 . ICH70001I userid LAST ACCESS AT 14:55:02 ON FRIDAY, APRIL 15, 1997
14.55.13 . $HASP373 CIDCITH1 STARTED - INIT 2 - CLASS C - SYS MVSH
14.55.13 . IEF403I CIDCITH1 - STARTED - TIME=14.55.13
14.55.14 .1 DFHPA1102 DBDCCICS READING OVERRIDE PARAMETERS FROM SYSIN.
14.55.14 . DFHPA1927 DBDCCICS * ***************************
14.55.14 . DFHPA1927 DBDCCICS * CICS system initialization parameters common to all clone TORs*
14.55.14 . DFHPA1927 DBDCCICS * *****************************************************************
14.55.14 .2 DFHPA1927 DBDCCICS APPLID=CICSHTH1 The CICS application identifier
14.55.14 .3 DFHPA1927 DBDCCICS CICSSVC=218 The default CICS SVC number
14.55.14 .4 DFHPA1927 DBDCCICS CWAKEY=CICS CICS key for the CWA
14.55.14 . DFHPA1927 DBDCCICS DBP=1$ Dynamic backout program - no local DL/I support
14.55.14 . DFHPA1927 DBDCCICS DCT=NO RDO-generated TD resources are preferred
14.55.14 .5 DFHPA1927 DBDCCICS DFLTUSER=IVPUSER Default userid is IVPUSER
14.55.14 .6 DFHPA1927 DBDCCICS DTRPGM=WLMDYP Dynamic transaction routing required
14.55.14 . DFHPA1927 DBDCCICS FCT=NO No file control table (using RDO for files)
14.55.14 .7 DFHPA1927 DBDCCICS GMTEXT='You are on CICS/ESA 5.3 Terminal-Owning Region (TOR) - CICSHTH1'
14.55.14 .8 DFHPA1927 DBDCCICS GRPLIST=(CICSHT#1,IPLLIST) Initialize with TOR and common group lists
**************************************14.55.14 . DFHPA1927 DBDCCICS * The IRC & ISC parameters required for MRO
14.55.14 .9 DFHPA1927 DBDCCICS IRCSTRT=YES Start IRC during initialization
14.55.14 . DFHPA1927 DBDCCICS ISC=YES Include the intersystem communication program
14.55.14 . DFHPA1927 DBDCCICS MXT=32 Set maximum tasks to 32
14.55.14 .10 DFHPA1927 DBDCCICS PGAIPGM=ACTIVE Program autoinstall is active
14.55.14 .11 DFHPA1927 DBDCCICS RENTPGM=PROTECT Read-only ERDSA required.
14.55.14 . DFHPA1927 DBDCCICS SEC=NO Switch off security
14.55.14 . DFHPA1927 DBDCCICS SPOOL=YES SPOOL interface open for STAT
14.55.14 . DFHPA1927 DBDCCICS SRT=1$ The CICS sample System Recovery Table
14.55.14 .12 DFHPA1927 DBDCCICS STGPROT=YES Storage protection required
14.55.14 . DFHPA1927 DBDCCICS TCT=5$ Sequential terminals required
14.55.14 .13 DFHPA1927 DBDCCICS TCTUAKEY=CICS CICS key for TCT User Areas
14.55.14 . DFHPA1927 DBDCCICS TRTABSZ=200 Trace table size
14.55.14 . DFHPA1927 DBDCCICS XRF=NO Start a non-XRF active CICS region
14.55.14 . DFHPA1103 DBDCCICS END OF FILE ON SYSIN.
14.55.14 . DFHPA1101 DBDCCICS DFHSIT IS BEING LOADED.
14.55.14 . DFHPA1108 DBDCCICS DFHSIT HAS BEEN LOADED. (GENERATED AT: MM/DD= 02/09 HH:MM= 21:49).
14.55.14 . +DFHTR0103 TRACE TABLE SIZE IS 200K
14.55.14 .14 +DFHSM0122I CICSHTH1 Limit of DSA storage below 16MB is 5,120K.
14.55.14 . +DFHSM0123I CICSHTH1 Limit of DSA storage above 16MB is 20M.
14.55.14 .12 +DFHSM0115I CICSHTH1 Storage protection is active.
14.55.14 .15 +DFHSM0126I CICSHTH1 Transaction isolation is not active.
14.55.14 . +DFHDM0101I CICSHTH1 CICS is initializing.
14.55.15 . +DFHSI1500 CICSHTH1 CICS/ESA Version 5.3.0 Startup is in progress.
14.55.15 . +DFHXS1100I CICSHTH1 Security initialization has started.
14.55.15 . +DFHSI1501I CICSHTH1 Loading CICS nucleus.
14.55.16 . +DFHDU0304I CICSHTH1 Transaction Dump Data set DFHDMPA opened.
14.55.16 . +DFHXS1102I CICSHTH1 Security is inactive.
14.55.16 . +DFHXS1101I CICSHTH1 Security initialization has ended.
Notes:
3 The SVC value of 218 is only an example; you should specify the SVC value to
be used, defined in your SVC table.
4 CICS obtains storage for the CWA in CICS key. (CICS is operating with storage
protection, specified by STGPROT=YES.) This means that only programs executing
in CICS key can modify the CWA, and user-key programs have read-only access.
5 You must define the default CICS userid, by the SIT parameter DFLTUSER,
before you can attempt to bring up a CICS region. On a production system the
default user should not have access to any unnecessary CICS-supplied
transactions. The resource access authorizations that you give to the default user
should clearly be limited to those resources that you intend should be universally
available, and therefore do not need to be restricted in any way. For information
about defining the attributes of the default userid, see the CICS RACF Security
Guide.
7 This specifies the message text that is to be displayed on the screen by the
CSGM (good morning) transaction when a terminal is logged on to CICS through
VTAM or by the CESN transaction if used to sign on to CICS.
11 CICS allocates the read-only DSAs, RDSA and ERDSA, from read-only key-0
protected storage.
12 Storage protection is active (is enabled and CICS runs on hardware and an
MVS release that supports storage protection).
13 CICS obtains the storage for the terminal control user area (TCTUA) in CICS
key. This means that only programs executing in CICS key can modify the TCTUA,
and user-key programs have read-only access.
14 The DFHSM0122 message informs you of the limit of DSA storage areas
below the 16MB boundary. The DFHSM0123 message informs you of the limit of
DSA storage areas above the 16MB boundary. These limits are set by the DSALIM
and EDSALIM system initialization parameters respectively. For information about
these storage areas, see Storage requirements for a CICS region, DSALIM, and
DFHSIT, the default system initialization table in the CICS System Definition Guide .
16 If you specify MCT=NO (default) as a system initialization parameter, the CICS
monitoring domain builds a default monitoring control table. This ensures that
default monitoring control table entries are always available for use when monitoring
is active. The following message indicates that monitoring is inactive.
It assumes that you have already defined your multisystem environment, and are
familiar with the concepts of CICS intercommunication facilities, as described in the
CICS Intercommunication Guide.
For information about CICSPlex SM, see the CICSPlex SM Concepts and Planning
manual, SC33-0786.
1. CPC. One physical processing system, such as the whole of an ES/9000 9021 Model 820, or one physical partition of such a
machine. A physical processing system consists of main storage, and one or more central processing units (CPUs), time-of-day
(TOD) clocks, and channels, which are in a single configuration. A CPC also includes channel subsystems, service processors, and
expanded storage, where installed.
Enabling MRO
To be able to use CICS MRO, you must first install support for MRO, as described
in the CICS Intercommunication Guide. In particular, when starting up your CICS
regions, you must specify the ISC=YES system initialization parameter, to include
the CICS programs required for MRO into your CICS regions.
Note: Before IRC can close, all pipes (sessions) of the external call interface must
have been closed by the batch programs. For information about the external
CICS interface, see the CICS External Interfaces Guide manual.
You can invoke CICS transactions from a console device by using the MVS
MODIFY command (F for short), and other CICS operators can communicate with
the console device operator.
Note: The CEDA transaction can be used from a console device only to INSTALL
resource definitions. The sample programs cannot be executed from a
console device.
You can use TSO CLIST processing to issue sequences of CICS commands. You
can also use an automated process, such as NetView, to issue CICS commands as
from a console device. To associate command responses with the originating
command from an automated process, you must add a command and response
token (CART) to the originating command. CICS returns this CART in all
write-to-operator (WTO and WTOR) macros issued in response to the command.
If you issue the MVS command d consoles, this displays a list of console devices
and their names.
You can define a console device to be used for putting MODIFY commands into
your job stream. For more information about putting commands into job streams,
see “Using JCL to initiate CICS commands” on page 30.
For information about defining console devices to CICS, see the CICS System
Definition Guide. For further information about defining console devices to MVS,
see the OS/390 MVS Initialization and Tuning Guide.
where:
cicsid is the region identifier for the CICS region. This is one of the following:
v name of the job being used to execute CICS
v name of a procedure if CICS was initiated as a started task without a
qualifier
2. A console device can be a locally-attached system console, a TSO user defined as a console, or an automated process such as
Netview.
For example:
MODIFY DFHIVPOL,'CEMT INQUIRE TASK'
If a transaction started at a console device requires further input, you are prompted
in the same way as a terminal operator. For more information about continuing
transaction input, see “Replying to messages from transactions started at console
devices” on page 33.
CONSOLE
{MODIFY|F} cicsid,[']command[']
END
When the TSO command CONSOLE is used, TSO checks the user for authority to
issue console commands. Further, if console operator command security is active,
the TSO user must be specifically authorized to issue MODIFY cicsid.
Your JCL should use the MVS MODIFY command and the job name, or task ID, of
the CICS region you are addressing, followed by the CICS commands. The normal
rules of JCL apply.
The following sample job shows how you might submit commands in this way.
//IEFBR14 JOB (accounting information),CLASS=A,MSGCLASS=A,MSGLEVEL=1,...,...
//*
//* Sample JOB to submit CICS commands using CONSNAME(INTERNAL)
//*
//IEFBR EXEC PGM=IEFBR14
// F CICSRUN,'CEMT INQ TER'
// F CICSRUN,'CEMT INQ TAS'
// F CICSRUN,'CEMT SET TER(L77C) ACQ'
//
Note: If you omit the apostrophes around the CICS command, and there are
sequence numbers at the end of the line, the numbers are passed to CICS
as part of the command. This causes CICS to display a warning message on
the console, but the command is still obeyed.
Console message-formatting
You can define CICS as an MVS subsystem with support for the console
message-handling facility. By using this facility, CICS can enable MVS to:
v Convert all console messages to the same format, and
v Insert into each message the applid of the sending region.
Note: The term console message is used for messages sent to the system
console, not CSMT messages or the JES joblog.
The main purpose of the console message-handling facility is to ensure that all
messages issued by CICS regions contain the APPLID of the CICS region issuing
the message.
You specify that CICS is to use the console message-handling facility when you
define CICS as an MVS subsystem (by the CICS entry in the IEFSSNaa member of
the SYS1.PARMLIB library). If the message-handling facility has been defined for
CICS, all messages from all CICS regions (of any release) are intercepted and
reformatted to include the APPLID if either of the following is true:
v An automated-operation program, such as NetView, is active in the MVS image.
v A CICS region that supports message handling is running in the same MVS
image. This includes CICS Transaction Server for OS/390 Release 3, CICS
Transaction Server for OS/390 Release 2, CICS Transaction Server for OS/390
Release 1, CICS/ESA 4.1, CICS/ESA 3.3, CICS/ESA 3.2.1 and CICS/MVS 2.1.2
regions with console message-handling support, and CICS/ESA 3.1.1 regions
with APAR PL66570 applied.
For information about defining CICS as an MVS subsystem with support for the
console message-handling facility, and about activating the facility, see the CICS
Transaction Server for OS/390 Installation Guide.
Message format
The following examples show three messages as they appear with and without
console message formatting. The examples use CICSIDC as the applid of the
sending region.
v Message format without console message formatting:
DFH5730 - USER RECOVERY BEGINNING
DFH5731 - NO ACTIVE USER RECORDS ON THE SYSTEM LOG
DFH5732 - USER RECOVERY COMPLETED
v Message format with console message formatting:
DFH5730 CICSIDC USER RECOVERY BEGINNING
DFH5731 CICSIDC NO ACTIVE USER RECORDS ON THE SYSTEM LOG
DFH5732 CICSIDC USER RECOVERY COMPLETED
The passwords are then obliterated with asterisks when the command is
redisplayed on the console or recorded in the system log.
F CICS,CESN USERID=HARBEN, PS=********, NEWPS=********
v Allows the adding of a set of MVS generic routecodes to all CICS console
messages, permitting them to be sent to a defined set of consoles.
v Removes the restriction that prevents the use of the name CICS as the MVS
jobname of a CICS region that is started with the START command.
Replying to messages
If one or more CICS messages are followed by an associated message that
requests an operator response, the earlier message or messages may have
scrolled off the console screen before the response-requesting message appears.
Some messages that need a reply include a preceding message number or specify
a response that can be entered to display the preceding message.
If a message requests a reply but does not provide means of determining the
previous messages that explain the response required, CICS retains, in the
message buffer, all messages in the logically-related set, until a valid response is
received to the final message. When the console displays a message that requires
a response, the operator can request a display of all preceding related messages. A
typical message that needs a response is:
DFHSI1552 applid Restart error reported above. Reply 'GO' or 'CANCEL'.
If such a message appears, the operator can display all the preceding related
messages by entering the MVS command:
DISPLAY R,I
When a valid response is received to the final message in the set, CICS deletes all
the related messages from the message buffer.
where 02 is the number of the message to which you are replying, and ‘datastring’
is your reply. If you cancel a transaction that is running at a console device, and the
transaction is awaiting a reply, the outstanding reply is also canceled.
For information about using CEMT and the other CICS-provided transactions, and
about entering transactions from a console, see the CICS Supplied Transactions
manual.
If you try to communicate with an active CICS region from a console device that
has not been defined to CICS, you get message DFHAC2015 saying that your
console has not been defined to CICS and that your input will be ignored.
In a CICS region that has consoles and VTAM terminals, a console can remain
active when CICS and VTAM are disconnected from each other. This means that
you can use the console to open or close the CICS-VTAM connection without CICS
being terminated.
CICS provides six sample user exit programs, DFH$SXP1 through DFH$SXP6,
which you can use to suppress or reroute messages.
For programming information about the global user exit XMEOUT and the sample
exit programs, and the user exit programming interface (XPI), see the CICS
Customization Guide.
To shut down CICS, you can issue the CEMT PERFORM SHUTDOWN command
with appropriate options, depending on the type of shutdown that you want. You can
specify any of the following shutdown options on the command, without affecting
the type of shutdown performed:
Option Effect
DUMP CICS produces a dynamic storage dump after shutdown has completed.
PLT(xx)
CICS runs programs in the PLT, DFHPLTxx, during shutdown.
XLT(xx)
Only those transactions listed in the XLT, DFHXLTxx, can be started after
the SHUTDOWN command, and before shutdown has completed.
You can use the CEMT PERFORM SHUTDOWN command at the master terminal,
or the system console.
For guidance on using the CEMT transaction, see the CICS Supplied Transactions
manual.
Note: CICS normal shutdown cannot complete until all pipes (sessions) in use for
the external call interface have been closed.
When you use the CEMT PERFORM SHUTDOWN command, CICS responds
directly by issuing the following messages at the console:
DFHTM1715 CICSITH1 CICS/ESA is being quiesced by userid IVPUSER
in transaction CEMT at netname IG2S2CA8.
DFHDM0102I applid CICS is quiescing.
Message DFHTM1715 is also issued to the master terminal, to inform the operator
that CICS is terminating.
If the normal shutdown is successful, CICS issues the following message at the
console:
DFHKE1799 applid TERMINATION OF CICS/ESA IS COMPLETE
When you use the CEMT PERFORM SHUTDOWN IMMEDIATE command, CICS
responds directly by issuing the DFHTM1703 message at the console. Message
DFHTM1703 is also issued to the master terminal, to inform the operator that CICS
is terminating.
If the CICS shutdown is successful, CICS issues the following message at the
console:
DFHKE1799 applid TERMINATION OF CICS/ESA IS COMPLETE
The commands that you can use at an XRF alternate region to shut it down are:
v CEBT PERFORM SHUTDOWN
This shuts down the alternate region normally.
v CEBT PERFORM SHUTDOWN IMMEDIATE
This shuts down the alternate region normally, but causes it to sign off
abnormally from the CAVM.
For more details about shutting down XRF CICS regions, see the CICS/ESA 4.1
Operations and Utilities Guide.
Note: This book does not describe the IBM CICS Transaction Affinities Utility
MVS/ESA, which you can use to identify possible transaction affinities that
may hinder your migration to a dynamic transaction routing environment. The
IBM CICS Transaction Affinities Utility MVS/ESA is described in the CICS
Transaction Affinities Utility Guide.
For advice on which log streams benefit from using coupling facility structures, and
which DASD-only logging, see the CICS Transaction Server for OS/390 Installation
Guide.
The values provided by DFHLSCU are estimates and may not match your actual
experience. In particular, they may be affected by changes in the pattern of logging
such as:
v RLS file usage moving logging from an FOR into AORs.
v Combining journals onto a single log stream.
v Introducing more cloned AORs.
While the recommended values provide a starting point for structure sizing, you
should monitor actual usage and adjust it as required.
| See the CICS/ESA 4.1 Operations Guide for information about journal data set
| definitions in JCL and “Considerations when using DFHLSCU” on page 45.
SYSPRINT DD
defines the output data set that will contain the formatted print records and
control messages. This is usually defined as SYSOUT=A.
The DCB parameters specified for this data set are RECFM=FBA and
LRECL=133. The block size may be provided on the SYSPRINT DD statement
and must be a multiple of 133. The default is 133.
SYSIN DD
defines values and parameters to be used by the utility. This file must be in
80-byte record format. One SYSIN statement per line is permitted. Ensure that
your statements do not exceed column 71.
Using SYSIN statements, you can pass values to the utility to be used in the report
calculations and recommendations. These assume default values if you do not
specify them explicitly.
//*************************************************************
//* RUN DFHLSCU (LOGSTREAM CALCULATIONS UTILITY).
//*
//*
//*************************************************************
//LSCU EXEC PGM=DFHLSCU
//STEPLIB DD DSN=CICSTS13.CICS.SDFHLOAD,DISP=SHR
//*************************************************************
//* CICS journal name(s)
//*************************************************************
//JOURNAL DD DISP=SHR,DCB=RECFM=VB,
// DSN=CICSLOG
//*************************************************************
//* Output data will go to SYSPRINT
//*************************************************************
//SYSPRINT DD SYSOUT=A,DCB=RECFM=FBA
//SYSIN DD *
JNLTYPE( )
INTERVAL( )
AKPFREQ( )
LOGSNUM( )
TRANSDUR( )
/*
//*
SYSIN DD *
[JNLTYPE(SYSTEM|FWDREC|USRJNL)]
[INTERVAL(minutes)]
[AKPFREQ(data-value)]
[LOGSNUM(data-value)]
[TRANSDUR(seconds)]
If you do not define a SYSIN data set, or SYSIN does not contain any control
statements, default values are assumed. Each control statement must be on a
separate line and must contain no spaces. The SYSIN statements you can code
are as follows.
JNLTYPE
This statement indicates the type of journal the data set represents. Code this
statement with one of the following operands:
SYSTEM
This data set represents the system log.
Specify this statement in minutes (0 thru 999999). The default is 30. A value of
0 indicates that no time-segmenting is to occur and that the period covered by
the entire data set is to be used.
AKPFREQ
This statement specifies the activity keypoint frequency. This is relevant only for
calculations of space needed by system logs. It is used to calculate the size of
the CF space or staging data set needed for the system log. The value here is
the AKPFREQ that you intend to use at CICS Transaction Server for OS/390
Release 3.
Code either a value of 0, or a value in the range 200 thru 65535. The default is
4000.
LOGSNUM
For a CF log stream, this statement specifies the number of log streams that
can use the structure associated with this journal or log. It is used in the
calculation of the INITSIZE and SIZE attributes to include in the CFRM policy.
Code a value in the range 1 through 512. The recommended range is 1 through
20. The default is 10.
TRANSDUR
This statement specifies the transaction duration which is the execution time
(between syncpoints) of the longest-running transaction that runs as part of the
normal workload. TRANSDUR is only relevant for system log calculations.
DFHLSCU divides up the target log into time segments according to the INTERVAL
parameter. It analyses the log records found in each segment and determines which
is the busiest segment, based on this logging activity. This segment is then used to
determine the parameters for your logstream definitions and space requirements.
A system log from a CICS system with a consistent workload will have a reasonably
regular time period between activity keypoints. Conversely, a system log from a
CICS system with irregular workloads, that rise and fall in no consistent way, or
Since DFHLSCU bases its calculations upon the time period which contains the
busiest workload (that is, which generated most log records), the INTERVAL
parameter will have a potentially marked effect upon the results generated by the
utility if the CICS run which produced the target log had an inconsistent workload.
For example, consider a target log from a ten hour CICS run. During that run, the
system was lightly used for all but a one hour plateau near the middle of the run,
when the workload rose rapidly to a much higher value, and many CICS log records
were generated during that hour.
| Note: An additional 300,000 bytes should be added to the size value used for the
| structure, DFHLSCU does not reflect this in the recommended output values
| because it is added by MVS when defining the structure.
| If DFHLSCU is run against a target journal that was defined with FORMAT=SMF, an
| IEC036I 002-04 abend occurs when the first record is read. This is because
| DFHLSCU does not support analysis of target journals in SMF format.
| If you want the target journal to be directed to a log stream when migrating to CICS
| Transaction Server for OS/390, you must redefine it under CICS/ESA so that it does
| not use SMF formatting. Run a typical workload against the redefined journal before
| using DFHLSCU to produce a report for it.
| If you want the target journal to be directed to SMF when migrating to CICS
| Transaction Server for OS/390, DFHLSCU does not give any benefit so do not use
| it against the SMF-format journal.
You must edit the sample definitions and provide appropriate values for the
structure name and preflist name.
2. For a DASD-only log stream, the report provides a sample log stream
definition. The definition contains recommended values for the following
attributes:
v HIGHOFFLOAD
Note: If you plan to define all your log streams as DASD-only, but there is a
possibility that, at a later date, you might want to convert some of them
to CF log streams, it is a good idea to save the output from DFHLSCU
for later reference.
*******************************************************************************
The end of the JOURNAL data set has been reached.
*******************************************************************************
************************************************************
This section applies to CF logstreams:- 12
STG_SIZE(4155) 16
************************************************************
This section applies to DASD-only logstreams:- 17
Notes:
1 This indicates the segment of the journal data set on which the utility is
operating. Each segment holds journal records made over the period specified in
the INTERVAL SYSIN statement, unless it is the final segment (when it contains
journal records made between the end of the previous segment and the end of the
journal data set).
2 This indicates the time duration covered in the segment. It corresponds to the
value on the INTERVAL parameter unless it is the final segment (when it is the time
between the end of the previous segment and the end of the data set).
3 This is the time at which the data being analyzed in the segment commenced
its generation.
4 This is the date on which the data being analyzed by DFHLSCU was
generated. It is of the form yyyy.ddd where yyyy is the year, and ddd is the day
within the year.
6 The average number of journal writes per second is shown here. Where the
value is greater than 1, its value is shown as an integer value. Where the value is
between 0 and 1, ’< 1’ is shown, and the estimates calculated by DFHLSCU (if
based on this segment of the data set) will be inaccurate. Where it is 0, ’0’ is
shown.
DFHLSCU’s estimates are most accurate when the value for writes per second is
high. (The maximum value is 25.)
9 A section containing information about the specific records type found in the
segment is provided. Record types included in this section are those generated by:
v File control (FC)
v Journal control (JC)
v Transient data (TD)
v Temporary storage (TS)
v Activity keypoint program (KP)
v Recovery manager (RM)
v Syncpoint program (SP)
v Other sources for which there is no equivalent on a CICS Transaction Server for
OS/390 Release 3 log stream.
The ’QUANTITY’ column shows the number of records of each type that was found.
The total of the values in this column is given. The ’NUMBER OF BYTES’ column
shows the number of bytes that these records represent. The ’5.3 EQUIVALENT’
column shows the number of bytes, as calculated by DFHLSCU, that would be
required at CICS Transaction Server for OS/390 Release 3 for an equivalent record.
11 Start of the report’s conclusion. The conclusion informs you which segment
contained the most journaling activity and is based on the segment with the highest
calculated value for AVGBUFSIZE.
12 Start of the report’s recommendations for log streams that use coupling facility
structures.
13 For a CF log stream, the recommended log stream structure definition to be
included in your DEFINE STRUCTURE jobs.
14 For a CF log stream, the recommended coupling facility space definition to be
edited by you for inclusion in the CFRM policy.
15 For a CF log stream, the recommended log stream definition. Note that the
definition assumes that duplexing of data is not required. If duplexing is required,
add to the definition:
STG_DUPLEX(YES) DUPLEXMODE(COND)
16 For a CF log stream that uses duplexing, the recommended value for the
STG_SIZE attribute on your DEFINE LOGSTREAM job. This is the size of the
staging data set required by the log stream. It does not take into account any other
log streams that might be connected, at the same time, to the log stream structure.
If other log streams are to be connected, you should calculate a value for
STG_SIZE based on the value recommended by DFHLSCU, divided by the number
of estimated connections.
18 For a DASD-only log stream, the recommended log stream definition.
The AKPFREQ and TRANSDUR information will only appear in the report if the
JNLTYPE is SYSTEM. The total value in each summary section is that of the
records which are relevant to the calculations that the utility carries out. It does not
include records that can never occur in a 5.3 journal.
You can:
v Print or copy selected journal records from CICS log streams or SMF data sets,
as specified by control statement input
v Select and print journal records on the basis of their sequential position in the log
stream or SMF data set
v Select and print journal records as determined by data contained within the
records themselves, such as the contents of time, date, or identification fields
v Allow EXIT routines to process any selected journal records
v Print or copy an entire log stream or SMF data set.
These features are selected and controlled by a series of statements that allow you
to define the input and output options, selection ranges, and various field and
record selection criteria.
SUBSYS=(LOGR,DFHLGCNV,...) keyword
If you are using a batch job to read log stream data, ensure that it includes the
SUBSYS keyword as part of its input or data DD
| SUBSYS=(LOGR,DFHLGCNV,...) keyword
has the following form and syntax:
SUBSYS
ÊÊ SUBSYS=(LOGR,DFHLGCNV ) ÊÍ
, OP1 , ·
LASTRUN
DELETE
COMPAT41
COMPAT4V
OP1:
OP2:
FROM=
YYYY/DDD ,hh:mm
:ss
OLDEST
OP3:
TO=
YYYY/DDD ,hh:mm
:ss
YOUNGEST
| CICS provides support for log streams generated by multiple CICS systems
| (a typical example would be a forward recovery log stream). Such log
| streams can contain log records generated by different releases of CICS. In
| order to ensure downward compatibility for all possible types of CICS log
| records, make sure that the highest level of DFHLGCNV (and its associated
| module DFHGTCNV) is referenced by batch jobs run against the log
| streams. As DFHLGCNV and DFHGTCNV reside in the SDFHLINK library,
| the MVS linklist should reference the SDFHLINK library of the highest
| release of CICS on an MVS region so that the batch jobs always use the
| highest available version of DFHLGCNV and DFHGTCNV.
Note: The direction of the log stream browse is from the oldest
(FROM=) to the youngest (TO=). If the value specified for the
FROM= is greater than the value specified for the TO=, the
jobstep is terminated with a JCL error.
The first block will be the one with a time stamp greater than or equal
to the calculated start time. The last block read will be the youngest
block on the log stream at the time the allocation for the DD occurs.
The DURATION= keyword is mutually exclusive with the TO= and the
FROM= keywords.
GMT|LOCAL
specifies whether the time is local time (based on the time zone offset
at the time the log was written) or GMT time.
| The options that are valid for CICS log streams when using exit routine
| DFHLGCNV are:
LASTRUN
indicates that the starting point of the records to be read from the log
stream is from the last record read by a previous use of a batch
program that used LASTRUN. The end point of the records is to the
youngest block in the log stream.
Note: Only one last run point is associated with a log stream. You
cannot, for example, specify LASTRUN on a daily log stream
processing job and on a job run on a weekly basis
DELETE
indicates that log stream records are to be deleted from the log stream.
The log stream itself is not deleted and remains available for use.
If the log stream has been opened in the job step, all records up to and
including the last complete block read by the program are deleted from
the log stream.
If the log stream has not been opened in the job step, all records prior
to the TO= time are deleted from the log stream.
| Alternatively, DFHJUP can be run, using the COMPAT41 option and the
| NEWDCB option, to create a new dataset with the correct DCB
| information and the records, as far as possible, in the format used by
| CICS/ESA R4.1.
The control information must be as 80-byte records in the SYSIN data set. These
control statements are reproduced on the output print data set in the same format
and sequence as they are processed. If DFHJUP finds any error conditions, error
messages are produced following the statement to which they apply.
You can format and print output data on the SYSPRINT data set, or copy it to a
specified data set unchanged, or both.
Although the CICS log manager supports a maximum user data length of 62K
bytes, the maximum record length readable through DFHJUP is 32K bytes. Data
beyond the 32K-byte limit is not read and records are truncated at this point. Data
to be printed is formatted into 32-byte segments and displayed in both hexadecimal
and EBCDIC forms, with the hexadecimal relative offset value preceding each
segment.
The flow of control for the program passes through two stages:
1. Control statement processing, which constructs rules for testing and selecting
records, and diagnoses control statement errors.
2. Record selection and output processing, where the input data is read,
analyzed, and compared with the selection criteria to determine the applicability
of the record for output.
During the first stage, the journal utility reads and examines the parameter
statements, and constructs the required test or test series to create a test group.
When control passes to the next stage of the program, this test group is then used
to select records. In the second stage, the input data records are read, and any
action is decided by the results of each test in the group. When the end of the input
data is reached, either by an end-of-file condition, or by the indicated record count
being satisfied, program control returns to the first stage, where the next group of
tests is constructed.
The journal utility program runs as a standard operating system job. You can
provide your own batch job to perform the function of DFHJUP. You must define a
JOB statement, an EXEC statement, and DD statements defining input and output.
“Examples of using DFHJUP” on page 70 gives some sample jobs that illustrate the
use of DFHJUP.
The DD statements
STEPLIB DD
defines a partitioned data set (DSORG=PO) containing the EXIT routine
modules. If you are not using EXIT routines, or if the modules are in a library in
the link list, this statement is not required.
SYSPRINT DD
defines the output data set that will contain the formatted print records and
control messages. This is usually defined as SYSOUT=A.
The MVS image in which DFHJUP runs must be a member of the same sysplex
as the MVS image in which the log stream was created. It is not necessary for
the CICS region(s) that created the log stream, or any CICS region, to be
running in the same MVS image as DFHJUP.
These data sets must be standard labeled files, either DASD or tape. They
must be a physical sequential data sets (DSORG=PS). If a file with RECFM=U
is used, the DCB BLKSIZE parameter must be specified.
Note: For CICS SMF data sets, CICS builds journal records into variable length
blocks before writing them, in a similar format to RECFM=VB, but with a
label record in the first position of each block. To prevent accidental
reblocking, journal data sets are often defined with RECFM=U; so to
ensure that journal records are deblocked by DFHJUP, the DCB
parameter RECFM=VB must be specified on the input data DD
statement.
DFHJUP sets the RECFM of this data set equal to the RECFM specified for the
input data set. This is also done for LRECL and BLKSIZE if not specified.
Use the END statement as a delimiter to separate one group of tests (comprising
one or more OPTION statements) from subsequent groups of tests on the next data
set. When an END statement is encountered in the control input stream, the
construction of record selection parameters ceases and the processing of input data
records starts. Proper use of the END statement allows one execution of the utility
program to perform a varied number of tests on one or more CICS journal data
sets.
You can use the statement, * or COMMENTS, to provide titles or comments on the
output listings. Use it to include any information you think is helpful to identify tests
or data. It has no effect on the utility program.
Each full keyword has a corresponding abbreviated form that you may use.
You can continue keyword operands of the DFHJUP statements on the next record,
up to a maximum of 9 records, provided you code a nonblank character in position
72, and continue the operands in column 16 of the next statement. If a statement is
not a continuation record of the preceding statement, the character in column 72 of
that preceding statement must be a blank.
CONTROL statement
The CONTROL statement (see Table 2) is optional, and you can omit it if the default
operand values are satisfactory. It defines the ddnames to be used for the input and
output data sets and the beginning and ending limits of the data set to be scanned.
If you do not specify this statement, DFHJUP defaults to reading the input file
named in a SYSUT1 DD statement. The optional output data set defined on the
SYSUT4 DD statement is opened only if you specify the OPTION COPY function in
the current group of tests, and also code the COND=E parameter.
Table 2. The DFHJUP CONTROL statement
1 10 16
CONTROL CNTL [{SKIP|K}={0|number}]
[,{STOPAFT|H}={16777215|number|EOF|(number,E)}]
[,{DDNAME|D}={SYSUT1|ddname}]
[,{DDNOUT|O}={SYSUT4|ddname}]
SKIP= or K=
defines the first record tested. All prior records are ignored. If this keyword is
not specified, a default value of zero is used and causes the first record on the
input file to be tested.
number
must be specified in the range 0 through 999999, and cannot have
imbedded commas.
STOPAFT= or H=
defines the last record to be tested. When this value has been reached by
counting processed records, the current group of tests is terminated.
The default ddname of SYSUT1 is used if you do not code this keyword, and a
SYSUT1 DD statement must be included in your job stream. If you code this
parameter to specify a different ddname, your job stream must include the
corresponding DD statement.
DDNOUT= or O=
identifies the ddname for the optional output data set for the current group of
tests.
This keyword is used in conjunction with the OPTION COPY function, and you
need only code this parameter if you want to use a ddname other than the
default of SYSUT4. Coding DDNOUT, or the presence of SYSUT4 in the
DFHJUP jobstream, does not cause this data set to be used. An output data set
is used only if OPTION COPY is specified with COND=E.
OPTION statement
The OPTION statement (see Table 3) defines the test or series of tests to be
performed upon the data of the candidate record to determine whether it is
selected. Each OPTION statement constructs one set of tests. You can specify one
or more OPTION statements, in any combination, to define more closely the
selection criteria and output processing to be performed against each input record.
If you omit all keyword operands (except for EXITR and DDNAME), all records
processed by stage 2 of DFHJUP are either written to the SYSPRINT data set, or
copied to the specified output data set.
You can execute one or more tests on each logical record by coding the appropriate
number of OPTION statements, creating the logical OR function. You can analyze
records with the logical AND function by using the multifield test capability of the
COND operand and the appropriate OPTION statements, creating a test series.
Use the operands COND=M and COND=E to denote the beginning and ending,
respectively, of a series for multifield testing of a record.
Each OPTION statement has its own output processing defaults. If you use multiple
OPTION statements to create a multifield test series, final output processing is
determined by the OPTION statement and its associated keywords that are defined
along with the COND=E keyword.
Table 3. The DFHJUP OPTION statement
1 10 16
OPTION {PRINT| [{OFFSET|O}={1|number}]
Options
Each option has two distinct functions:
1. Determine the starting position for the OFFSET keyword
2. Determine the output processing to be performed.
If individual options are combined to form a multifield test, the use of OFFSET
remains unchanged; however, output processing is determined by the option coded
with the COND=E keyword.
PRINT
causes all selected records to be displayed on the SYSPRINT data set.
COPY
causes all selected records to be transferred to the specified output data set.
You can also write these records on the SYSPRINT data set by coding the
PRTSYS keyword.
NEGOF
causes the OFFSET keyword value to be used as a negative offset from the
end of the journal record. All records selected using this function are displayed
on the SYSPRINT data set.
If multiple test groups have specified the same exit routine, DFHJUP attempts
to load the routine into storage for each group; therefore, the routine should be
reenterable. Upon reaching end of file on input, a final call is made to the exit
routine. You can determine if end of file was reached by checking for zeros in
the parameter field.
ENTRY:
REGISTERS
PARMLIST
The parameter list consists of 2 words. The first is a pointer to the candidate
record; the second (with the high order bit on) is a pointer to the SYSPRINT
data set DCB.
EXIT:
Upon return from the exit routine, the contents of register 15 determine
whether or not processing is to continue on this record.
A nonzero value indicates that no further processing is to be done on this
record, and selection tests start again against the next input record.
A zero value indicates that this record is required, and output processing is
now determined by the last OPTION statement encountered containing the
COND=E keyword.
If the EXITR keyword is omitted, processing continues as if a return code
value of zero was received.
DDNAME= or D=
defines the output data set used by the DL/I call trace journal record retrieval
routine for whenever it has been specified as the user exit routine. A
corresponding DD statement must be supplied.
PRTSYS= or P=
determines whether to print all the selected records on the SYSPRINT data set.
N indicates that no printing of selected records is to be done.
Y indicates that all records transferred to the output data set are also
formatted and printed.
END statement
When you have defined all tests for the current input file, use END statement (see
Table 4) to initiate the tests.
COMMENTS statement
The COMMENTS statement (see Table 5) is optional. If used, it causes the contents
to be displayed on the SYSPRINT data set.
Table 5. The COMMENTS statement
1 10 16
*
System log
Normally, you should allow the CICS log manager to manage the size of the system
log. You should not need to take explicit action to delete redundant data, nor to
retain data—all system log data required on a restart is presented, providing the
General logs
Pre-OS/390 Release 3
In versions of MVS before OS/390 Release 3:
v The MVS system logger imposes a limit of 168 data sets per log stream.
v There is no mechanism for the automatic deletion of records from general
log streams. It is your responsibility to delete such data to prevent the 168
data set limit being exceeded.
If you need longer-term data retention, then you must copy the data from
log stream storage into alternative archive storage. See “Example 3” on
page 72 for an example of the JCL you would need in a job to copy log
stream data to archive storage, and then delete it from the log stream.
Although message IXG257I is issued when 90% of the log stream has been
filled, this event is not detectable by CICS. You should use your automation
software to monitor occurrences of this message.
Note: Support for the removal of the 168 data set limit, and for the
AUTODELETE and RETPD parameters, requires the sysplex’s LOGR
couple data set to have been formatted using OS/390 Release 3 or
later. The removal of the 168 data set limit also requires the LOGR
data set to have been formatted with DSEXTENT(nnnnn). If either has
not been done, refer to the “Pre-OS/390 Release 3” box.
As mentioned in Managing the size of log streams, if you are running under OS/390
Release 3 or later you can use the MVS RETPD parameter to specify a retention
For definitive information about using the RETPD and AUTODELETE MVS
parameters to automate the log tail deletion process, see the CICS Transaction
Server for OS/390 Installation Guide.
Example
Assume that you have defined a CICS system log with RETPD(10) and
AUTODELETE(NO). The active portion of the log stream will consist of the data that
CICS has not marked for deletion. The inactive portion of the log stream will consist
of the data that CICS has marked for deletion, but which MVS has not yet
physically deleted—because it is less than 10 days old.
Figure 9 shows active and inactive data on a log stream with a RETPD value of 10.
Effect of AUTODELETE(YES)
Physically
deleted data Inactive data Active data
Figure 9. Active and inactive data on a log stream. The log stream has been defined with a RETPD value of 10.
The report output by DFHJUP advises you whether each block of data was read
from the active or inactive area of the log stream—see Figure 10 on page 70.
The block header record at the start of each log block is preceded by the following
diagnostic information: MVS Block identifier, length of the block (in hexadecimal)
and timestamps when the log block was written (in both GMT and local formats).
The timestamps are displayed as both STCK values and formatted date and time
fields. Note that the date field is in the format MM/DD/YYYY.
This block was read from the log stream active area
000000 000000 6EC4C6C8 00400001 C9E8C3D3 E9C3C3C3 AEEFE9CC 62CF0001 AEEFF721 96170001
*>DFH. ..IYCLZCCC..Z.......7.O...*
000020 00000000 00000001
*........ *
000000 000028 0000004C 00000038 00000014 AEEFF969 9E36E800 AEF006BE D17EE800 C3C5C3C9
*...<..........9...Y..0..J=Y.CECI*
000020 0000024C F8F7F3F6 0001D3C7 40404040 40404040 00000000 40F5F1F0 C9E8C3D3
*...<8736..LG .... 510IYCL*
000040 E9C3C3C3 E6D9C9C7 C8E3C140
*ZCCCWRIGHTA *
000000 000074 00000049 00000038 00000011 AEEFF969 9ECA6000 AEF006BE D2126000 C3C5C3C9
*..............9...-..0..K.-.CECI*
000020 0000024C F8F7F3F6 0002E4D1 C4C6C8D1 F0F34040 00000000 0000000C C1E64040
*...<8736..UJDFHJ03 ........AW *
000040 00000000 E3C5E2E3 F1
*....TEST1 *
Note: These examples refer to CICS general log streams, and NOT to the CICS
primary or secondary system log streams DFHLOG or DFHSHUNT. CICS
system log streams have different record formats and different field offsets
within their log records.
For clarity, all option keywords have been specified in their full form, and many are
coded where the default could be taken. Use of the short form and keyword
defaults will greatly reduce the required input. In each of the two main examples,
the COMMENT statement has been used to describe the function being performed.
Example 1
Figure 11 on page 71 shows the JCL and control statements required to print to the
output data set all the records written during a one-week period to a CICS general
log.
Figure 11. DFHJUP program, example 1 (Part 1 of 2). JCL and control statements to print
journal data on a CICS general log to an output data set
//SYSIN DD *
*-----------------------------------------------------*
* CONTROL STATEMENT : DEFAULTS *
* INPUT = SYSUT1 *
* OUTPUT = SYSPRINT *
* SELECTION QUALIFIERS : *
* 1. DEFAULT = ALL INPUT RECORDS *
*-----------------------------------------------------*
OPTION PRINT
END
*-----------------------------------------------------*
/*
Figure 11. DFHJUP program, example 1 (Part 2 of 2). JCL and control statements to print
journal data on a CICS general log to an output data set
Example 2
Figure 12 shows the JCL and control statements required to copy to the output data
set all the records written to a CICS general log. The records are copied in the
CICS/ESA 4.1 format, and then deleted from the log stream.
Figure 12. DFHJUP program, example 2 (Part 1 of 2). JCL and control statements to copy
journal data on a CICS general log to an output data set
Figure 12. DFHJUP program, example 2 (Part 2 of 2). JCL and control statements to copy
journal data on a CICS general log to an output data set
Example 3
The next example shows how to delete a log-stream tail without reading the log
stream.
Figure 13. IEFBR14 program, example 3. JCL and control statements to delete a log stream
tail
The OPTION parameters can be used to select specific types of records from a
journal. You need to specify the offset within the record at which these specific
record types lie. These offsets are different between the two different
formats-CICS/ESA 4.1 and CICS Transaction Server for OS/390 Release 3.
See the CICS Customization Guide descriptions of the formats and offsets of fields
in journal record headers.
There are tables at the end of this section to help you define the OPTION
statements that you need. Example statements are included here to illustrate some
of the types of record selection that can be achieved in this way.
Using the task number: The task number appears as a three byte packed
decimal value in a journal record. It must appear in the same form in the VALUE
parameter. To do this take the actual task number, in this case 25, and turn it into a
five digit decimal value by filling up the left hand side with zeros: 00025. Then add a
capital letter C to the right hand end to show its a positive value: 00025C. The
following statements will cause all records belonging to task 25 to be directed to the
SYSPRINT data set:
//SYSIN DD *
OPTION PRINT OFFSET=34,FLDTYP=X,VALUE=00025C,FLDLEN=3,COND=E
END
/*
Alternatively, the hexadecimal equivalent for these characters could be used, with
FLDTYP=X, as shown in the next example.
//SYSIN DD *
OPTION PRINT OFFSET=29,FLDTYP=X,VALUE=E7F0F0F5,FLDLEN=4,COND=E
END
/*
Finding all records with a particular time stamp: At CICS Transaction Server
for OS/390 Release 3, if you intend to select journal records for a particular time,
you are recommended to use the time selection options on the SUBSYS parameter.
Selection using more than one search parameter: Suppose you wanted to print
all the file control records for a particular task. This needs two OPTION statements.
The COND=M parameter performs the AND operation on the two statements.
//SYSIN DD *
OPTION PRINT OFFSET=34,FLDTYP=X,VALUE=00025C,FLDLEN=3,COND=M
OPTION PRINT OFFSET=43,FLDTYP=C,VALUE=FC,FLDLEN=2,COND=E
END
/*
If more than one type of record is to be found then the form of the following
example could be used.
In this case, all the user journal records written with JTYPEID CP for transaction
TRN5 are selected. The OPTION statements are ‘ANDed’ together.
//SYSIN DD *
OPTION PRINT OFFSET=43,FLDTYP=C,VALUE=UJ,FLDLEN=2,COND=M
OPTION PRINT OFFSET=61,FLDTYP=C,VALUE=CP,FLDLEN=2,COND=M
OPTION PRINT OFFSET=29,FLDTYP=C,VALUE=TRN5,FLDLEN=4,COND=E
END
/*
COMPAT41 format
Locating records using the system-type ID field: If all the file control records
were to be found, for example, the OPTION statement has the following form:
//SYSIN DD *
OPTION PRINT OFFSET=6,FLDTYP=X,VALUE=11,FLDLEN=1,COND=E
END
/*
The offset to this field, the module identifier, is 6. It is a numeric (X) type of field, of
length 1 byte. For file control, this value equates to X'11' as listed in the CICS
Customization Guide.
Using the task number: The task number appears as a three byte packed
decimal value in a journal record. It must appear in the same form in the VALUE
parameter. To do this take the actual task number, in this case 25, and turn it into a
five digit decimal value by filling up the left hand side with zeros: 00025. Then add a
capital letter C to the right hand end to show its a positive value: 00025C. The
following statements will cause all records belonging to task 25 to be directed to the
SYSPRINT data set:
//SYSIN DD *
OPTION PRINT OFFSET=16,FLDTYP=X,VALUE=00025C,FLDLEN=3,COND=E
END
/*
Alternatively, the hexadecimal equivalent for these characters could be used, with
FLDTYP=X, as shown in the next example.
//SYSIN DD *
OPTION PRINT OFFSET=23,FLDTYP=X,VALUE=E7F0F0F5,FLDLEN=4,COND=E
END
/*
Finding all records with a particular time stamp: The time must be entered in
the form hhmmsss+ as a series of decimal digits and where the + sign is
Selection using more than one search parameter: Suppose you wanted to print
all the file control records for a particular task. This needs two OPTION statements.
The COND=M parameter performs the AND operation on the two statements.
//SYSIN DD *
OPTION PRINT OFFSET=16,FLDTYP=X,VALUE=00025C,FLDLEN=3,COND=M
OPTION PRINT OFFSET=6,FLDTYP=X,VALUE=11,FLDLEN=1,COND=E
END
/*
The example shows how to search for all records which belong to task number 25
and have a system type ID of X'11'.
If more than one type of record is to be found then the form of the following
example could be used.
In this case, all the file control records for task 48 are selected together with all the
records generated by the TRN6 transaction. The first two OPTION statements are
‘ANDed’ together, whereas the third statement is a separate search because the
second statement is terminated by COND=E.
//SYSIN DD *
OPTION COPY OFFSET=6,FLDTYP=X,VALUE=11,FLDLEN=1,COND=M
OPTION COPY OFFSET=16,FLDTYP=X,VALUE=00048C,FLDLEN=3,COND=M
OPTION COPY OFFSET=23,FLDTYP=C,VALUE=TRN6,FLDLEN=4,COND=E
END
/*
Table 7. OPTION parameter values relevant for records presented in CICS/ESA 4.1 format
Field name OFFSET FLDTYP VALUE FLDLEN Contents
(example)
Note: System header fields
JCRLL 1 X 0037 2 Length of
record
JCRSTRID 5 X EF59 2 System type
ID
5 X EF 1 Function
identifier
6 X 59 1 Module
identifier
JCRUTRID 7 X 12EF 2 User type ID
JCRLRN 9 X 002C 2 Record
number within
block
Note: Main system prefix fields
JCSPLL 11 X 0014 2 Length of
system prefix
JCSPTASK 16 X 00025C 3 Task number
JCSPTIME 19 X 1445123F 4 Time of
request -
hhmmsss+
JCSPTRAN 23 C TRN1 4 Trans-action
identifier
23 X E3D9D5F1 4 alter-native
format
JCSPTERM 27 C T004 4 Terminal
identifier
27 X E3F0F0F4 4 alter-native
format
Use the version of the DFHSTUP program from the same release of CICS as the
data that it is to process. This chapter describes the CICS Transaction Server for
OS/390 Release 3 version of the DFHSTUP program, which you should use for
CICS Transaction Server for OS/390 Release 3 data only.
You can use the global user exit XSTOUT in the statistics domain, to give control to
an exit program before each statistics record is written to the SMF data set, and so
access the relevant statistics record. You may use an exit program at this exit point
to examine the statistics record and suppress the writing of unwanted records. For
information about the XSTOUT global user exit, see the CICS Customization Guide.
On a warm or emergency restart the statistics recording status is restored from the
CICS global catalog.
You can change the statistics recording status at any time, for example as follows:
v During a warm or emergency restart by changing the STATRCD system
initialization parameter as a SIT override.
v While CICS is running by using the CEMT or EXEC CICS SET STATISTICS
command.
For details of how to use the CEMT PERFORM STATISTICS and SET STATISTICS
commands, see the CICS Supplied Transactions manual. For programming
information about the equivalent EXEC CICS commands, see the CICS System
Programming Reference manual.
Whenever you use a CEMT or EXEC CICS SET command to change the statistics
recording status, the changed status is recorded in the global catalog for use in a
warm or emergency restart.
“Job to run the DFHSTUP program” gives information about how to use the
DFHSTUP program to select and format CICS statistics.
Note: Using the journal utility to select APPLIDs is optional; the statistics utility
program also allows you to select by specific APPLID. In this example we
are selecting records using the generic APPLID at offset 47. If you want
to select records for the specific APPLID of a CICS region running with
XRF, you should specify OFFSET=55.
3. Run the statistics utility program to sort, format, and print the statistics data.
Figure 14. Example job to extract and print statistics data (Part 1 of 6)
/*
//**********************************************************************
//* Step 2: Optionally, select and copy the statistics records only
//* to a journal-type data set using the journal utility
//**********************************************************************
//JUP EXEC PGM=DFHJUP
//STEPLIB DD DSN=CICSTS13.CICS.SDFHLOAD,DISP=SHR
//SYSUT1 DD DSN=user.SMF.DATA,DISP=SHR
//SYSUT4 DD DSN=&&SMFSTATS,DISP=(NEW,PASS),UNIT=SYSDA,
// SPACE=(CYL,(30,10))
Figure 14. Example job to extract and print statistics data (Part 2 of 6)
//SYSPRINT DD SYSOUT=A
//SYSIN DD *
OPTION COPY OFFSET=6,FLDTYP=X,VALUE=6E,FLDLEN=1,COND=M 3
OPTION COPY OFFSET=23,FLDTYP=X,VALUE=0002,FLDLEN=2,COND=M
OPTION COPY OFFSET=47,FLDTYP=C,VALUE=genapplid1,FLDLEN=8,COND=E
* The next test group is only needed to select a second APPLID
OPTION COPY OFFSET=6,FLDTYP=X,VALUE=6E,FLDLEN=1,COND=M 3
OPTION COPY OFFSET=23,FLDTYP=X,VALUE=0002,FLDLEN=2,COND=M
OPTION COPY OFFSET=47,FLDTYP=C,VALUE=genapplid2,FLDLEN=7,COND=E
/*
Figure 14. Example job to extract and print statistics data (Part 3 of 6)
//**********************************************************************
//* Step 3: Sort, format and print the statistics records 4
//**********************************************************************
//STUP1 EXEC PGM=DFHSTUP,REGION=32M
//********************************************
//STEPLIB DD DSN=CICSTS13.CICS.SDFHLOAD,DISP=SHR
// DD DSN=CICSTS13.CICS.SDFHAUTH,DISP=SHR
Figure 14. Example job to extract and print statistics data (Part 4 of 6)
Figure 14. Example job to extract and print statistics data (Part 5 of 6)
Notes:
//DFHPRINT DD SYSOUT=* 8
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN DD * 9
SELECT APPLID=(applid1,applid2)
COLLECTION TYPE=ALL
/*
//
Figure 14. Example job to extract and print statistics data (Part 6 of 6)
1 You can specify any number of input (INDD) and output (OUTDD) data sets for
the SMF dump program, IFASMFDP. The input files are dumped in reverse order
unless concatenated under one input file. For example, in Figure 14 on page 79,
two input files are specified. After the IFASMFDP program is processed, the output
file (user.SMF.DATA) contains the records from INDD2 first, followed by the records
for INDD1. Although you probably code the INDD parameter and the associated DD
statements to process the data sets in chronological order, the DFHSTUP program
produces a correct report if you fail to do so.
For further information about unloading SMF data sets, see the OS/390 MVS
System Management Facilities (SMF) .
Note: The AMP parameter is used on the DD statement to reduce the unload time
if you specify a suitable buffer size. (See also the monitoring utility sample
job on page Figure 25 on page 123.)
3 The OPTION statements define which records DFHJUP copies to the output
data set defined by the SYSUT4 DD statement. In this example, they comprise two
sets of multifield tests designed to select only the CICS statistics records for two
APPLIDs. (The selection option shown here is selecting by generic APPLID.) The
Using DFHJUP OPTION parameters to select APPLIDs is optional, as you can also
select APPLIDs using parameters of the DFHSTUP program after the sort step.
However, selecting at this stage can reduce the amount of data to be sorted if you
know that you only want to print some APPLIDs. If you omit the third OPTION
parameter in each test group, you must change the COND=M parameter on the
second OPTION statement to COND=E.
For more information about coding DFHJUP OPTION parameters, see “OPTION
statement” on page 63.
4 The DFHSTUP program sorts statistics records in the sequence: specific applid,
date (in DDYY form), and time.
5 The ddname for the input to the DFHSTUP program must be DFHSTATS.
If you have not used step 2 to copy the CICS statistics records to the
&&SMFSTATS data set, change the DD statement to specify the user SMF data
set, as follows:
//DFHSTATS DD DSN=user.SMF.DATA,DISP=SHR
6 The ddname for the DFHSTUP work file must be DFHSTWRK. There are six
types of statistics records that can be written to the DFHSTWRK data set:
v Files
v Log streams
v Transactions
v Transient data queues
| v DB2 Entries
| v TCP/IP Services
The size of the DFHSTWRK data set required will depend on the largest set of
resources, from the above list, being written to the data set.
The following calculation can be used to estimate the size of the DFHSTWRK data
set required:
v Files
| 1. The length of the file statistics dsect, DFHA17DS, is 328 bytes.
| 7 The DFHSTUP program sorts the data by means of a link to the MVS sort
program, DFSORT, to ensure that data is correctly processed in chronological
sequence. These sort work files are needed by the DFSORT program.
8 The ddname for the output from the DFHSTUP program must be DFHPRINT,
which you can direct either to a data set or printer.
9 The control parameters for the DFHSTUP program can be supplied only in the
SYSIN data set.
Each control parameter in the SYSIN data set should start on a new line and is
terminated by a blank. If you need to continue a control parameter for more than
one line, you must ensure that the line to be continued ends with a comma in
column 1 through 71, there is a non-blank character in column 72 of the line to be
continued, and start each continuation line in column 16. For example:
Note: If you want the statistics output in uppercase only, you must code the
UPPERCASE=YES parameter first in the parameter list.
If you do not code any parameter, the DFHSTUP program formats all the collection
types for all APPLIDs, to a page size of 60 lines.
SELECT APPLID={applid|(applid1[,applid2]..[,applidN])}
specifies the applids of the CICS regions for which you want statistics to be
formatted and printed. The parameter keywords must be coded as shown, with
one blank between the two words. Code only one SELECT APPLID parameter
or one IGNORE APPLID parameter, with up to 120 APPLIDs. If you specify
more than 120 APPLIDs, the results are unpredictable.
If your CICS regions are defined with both generic and specific APPLIDs, it is
the specific APPLID that you must specify on the SELECT APPLID parameter.
If you do not code this parameter, the DFHSTUP program reports statistics for
all APPLIDs found in the DFHSTATS data set, other than those APPLIDs
specified on an IGNORE APPLID parameter.
IGNORE APPLID={applid|(applid1[,applid2]..[,applidN])}
specifies the APPLIDs of the CICS regions for which you want the statistics
ignored. The parameter keywords must be coded as shown, with one blank
between the two keywords. Code only one SELECT APPLID parameter or one
IGNORE APPLID parameter, with up to 120 APPLIDs. If you specify two or
more APPLIDs, you must enclose them in parentheses, and separate them by
commas. If you specify more than 120 APPLIDs, the results are unpredictable.
If your CICS regions are defined with both generic and specific APPLIDs, it is
the specific APPLID that you must specify on the IGNORE APPLID parameter.
If you do not code this parameter, the DFHSTUP program reports statistics for
all APPLIDs found in the DFHSTATS data set, according to the SELECT
APPLID parameter.
SELECT TYPE={type|(type1[,type2]...[,typeN])}
specifies the resource types for which you want statistics to be formatted and
printed. The parameter keywords must be coded as shown, with one blank
between the two words. If you specify two or more resource types, you must
enclose them in parentheses, and separate them by commas.
Code either the SELECT TYPE parameter or the IGNORE TYPE parameter but
not both.
Code either the SELECT TYPE parameter or the IGNORE TYPE parameter but
not both.
The resource types that you can code on this parameter are:
v AUTOINSTALL
v CONNECTION
v DBCTL
v DB2
v DISPATCHER
v ENQUEUE
v FEPI
v FILE
v JOURNAL
v LOGSTREAM
v LSRPOOL
v MONITOR
v PROGAUTO
v PROGRAM
v RECOVERY
v STATS
v STORAGE
v SYSDUMP
| v TCPIPSERV
v TABLEMGR
v TDQUEUE
v TERMINAL
v TRANCLASS or TCLASS
v TRANDUMP
v TRANSACTION
v TSQUEUE
v USER
v VTAM
If you do not code this parameter, the DFHSTUP program reports statistics for
the resource types found in the DFHSTATS data set, depending on the
SELECT TYPE parameter.
COLLECTION TYPE={ALL|[,INT][,EOD][,REQ][,RRT][,USS]}
specifies the statistics records to be included in the formatted reports for the
Note: If the specified period (START time to STOP time) spans across
midnight, the DATE parameter must also be coded.
Examples
1. To process every statistics record written between 3rd June 1997 at 10:00
hours and 10th June 1997 at 20:00 hours, you can code the following TIME
and DATE control statements:
TIME START=10.00.00,STOP=20.00.00,ELAPSED
DATE START=06/03/97,STOP=06/10/97
2. To process every statistics record written between 10:00 hours and 20:00
hours each day starting on 3rd June 1997 and stopping on 6th June 1997,
you can code the following TIME and DATE control statements:
TIME START=10.00.00,STOP=20.00.00,DAILY
DATE START=06/03/97,STOP=06/10/97
DATE START=mm/dd/yy or mm/dd/yyyy,STOP=mm/dd/yy or mm/dd/yyyy
specifies that the DFHSTUP program is to print only statistics collected during
the specified period (START date to STOP date). This parameter should be
used in conjunction with the TIME parameter. If no TIME parameter is coded,
statistics collected at any time during the specified period are printed. The
parameter keywords must be coded exactly as shown, with one blank between
the first two words, and with both START and STOP dates specified. The start
and stop dates must be specified as:
mm/dd/yy or mm/dd/yyyy
where:
mm = month of the year
dd = day of the month
The summary report lists statistics records in the following type order:
v Statistics domain
v Transaction manager
v Transaction class
v Dispatcher
v Recovery Manager
v Enqueue Manager
v Monitoring
v Storage Manager DSA
v Storage Manager task subpool
v Storage Manager domain subpool
v Loader
v Temporary storage
v Transient data
v VTAM
v Terminal Autoinstall
v Program Autoinstall
v System dump
v Transaction dump
v Table manager
v Transaction
v Program
v File
v LSR Pool
v LSR Pool file
v Transient data queue
v Journalname
v Logstream
| v TCP/IP services
If the SMF data set (or data sets) contains CICS statistics from several runs of
CICS with the same applid, you must use the TIME parameter, and if necessary
the DATE parameter, to produce the summary report for one run of CICS. If you
do not use the TIME and DATE parameters to specify one of several runs of
CICS, the results are unpredictable.
You can save a lot of paper if you code this parameter and omit the
COLLECTION TYPE parameter.
You can also obtain trace entries at these destinations while CICS is running, by
means of the CETR trace transaction or the equivalent EXEC CICS SET
commands.
This chapter describes how you can print the CICS region trace data from:
v The CICS auxiliary trace data sets, using the CICS trace utility program,
DFHTU530
v The GTF data sets, using a CICS-supplied routine with the MVS interactive
problem control system (IPCS).
You can specify that all entries are to be processed, or select entries for processing,
for example entries:
v Written to the auxiliary trace data set within a specified period of time
v Written for a specified terminal
v With a specified trace identifier
v With specified trace entry sequence numbers 3
v Associated with a specified transaction identifier
v Associated with a specific instance of a transaction identifier (task)
v Associated with a selected kernel task
v That are for exception trace only.
You can select which trace entries you want to highlight in your formatted output by
specifying:
v The time interval between one trace entry and the next being written.
If more than the specified interval elapses before the next trace entry is written,
this next trace entry is formatted and printed with an asterisk (*) to draw your
attention to this entry.
3. The sequence number is given in each trace entry, and can be determined from a summary trace point.
Figure 15. Sample JCL to print CICS trace data from an auxiliary trace data set
Notes:
1 The sample JCL gives a region size of 2MB that you might typically need to run
the DFHTU530 utility. You can use the sample region size as a basis for your own
JCL, but you must ensure that the region size is large enough to run the
DFHTU530 utility in your CICS environment.
2 Modify the DSN parameter to specify either the DFHAUXT or DFHBUXT data
set, depending on whether the data is on the A or B data set. The ddname must be
DFHAUXT for both the A and the B data set.
3 If your trace data sets are on tape, and the data set occupies more than one
volume, you must begin with the first volume. The DD statement for trace data sets
on tape might be as follows:
//DFHAUXT DD DSN=CICSTS13.CICS.DFHAUXT.,DISP=(OLD,KEEP),
// VOL=SER=volid,UNIT=TAPE
4 You can define the number of lines to be printed and define which trace records
that you want to print by specifying trace control statements, as described in “The
trace selection parameters”.
Note: This parameter is not valid for printing GTF trace entries.
Note: This parameter is not valid for printing GTF trace entries.
INTERVAL={00.128|number of seconds}
specifies the interval between auxiliary trace entries after which entries
highlighted with an asterisk as follows:
v In abbreviated trace format, the asterisk appears to the left of the sequence
number.
v In full trace format, the asterisk appears (as it does in releases prior to CICS
Transaction Server for OS/390 Release 3 where a system-imposed time
interval of 0.0128 seconds applies) as the next character after the printed
time interval.
If successive auxiliary trace entries are written at intervals equal or greater than
this limit, they are highlighted in the same manner.
If successive auxiliary trace entries are written at intervals less than this limit,
they are not highlighted. They are, however, written, formatted and printed.
You can specify interval values in the range zero seconds (where all trace
entries would be highlighted) through 99.9999999999 seconds.
Note: This parameter is not valid for printing GTF trace entries.
TASKID=({id|id-id}[,,{id|id-id},.,..])
specifies the task identifiers (id) of one or more tasks for which trace entries are
to be printed. An id value can be in any of the following forms, to compare with
the task field in the formatted trace data:
v Any number up to five decimal digits long
v Any of the character strings JAS, J01 through J99, III, TCP, or DSTCB
v Any non-numeric two-character domain ID of the attaching domain (for
non-TCA) tasks.
You can specify a range of task identifiers of the five decimal digit form by using
a hyphen (for example, TASKID=nnnnn-nnnnn).
TERMID=(tttt[,tttt,.,.,.])
specifies the terminal identifiers (tttt) of one or more terminals for which trace
entries are to be printed.
If you use the TERMID parameter to specify the trace entries you want
formatted, the DFHTU530 program selects all the trace entries that are
associated with any transaction-attach trace entries it finds containing the
terminal identifier(s) you specify. For more information about how trace entries
for tasks are associated with transaction-attach trace entries, see “Identifying
trace entries from their transaction-attach entries” on page 96.
TRANID=(tttt[,tttt,.,.,.])
specifies the transaction identifiers of one or more transactions for which trace
entries are to be printed.
If you use the TRANID parameter to specify the trace entries you want
formatted, the DFHTU530 program selects all the trace entries that are
associated with any transaction-attach trace entries it finds that contain the
transaction identifier(s) you specify. For more information about how trace
entries for tasks are associated with transaction-attach trace entries, see
“Identifying trace entries from their transaction-attach entries” on page 96.
TIMERG=(hhmmss-hhmmss[,hhmmss-hhmmss,.,.,.])
specifies the time period or periods for which trace entries are to be printed.
Time periods are shown by pairs of values represented as hours (hh), minutes
(mm), and seconds (ss) separated by a hyphen. The ending value of each pair
must be later than the starting value.
The DFHTU530 program converts the store-clock (STCK) values in the trace
entries to whole seconds prior to comparing against the time range you specify.
Fractions of a second are ignored; that is, all times are rounded down to the
nearest whole second, which means in effect that the minimum time span can
Note: This parameter is not valid for printing GTF trace entries.
TYPETR=({ddxxxx|ddxxxx-xxxx}[,{ddxxxx|ddxxxx-xxxx}])
specifies the trace entry identifiers for the particular domain entries, specified by
the domain id and a point id within the domain.
dd represents the domain identifier:
AP Application
BR 3270 bridge
DD Directory manager
DE DCE services
DM Domain manager
DS Dispatcher
DU Dump
EX External CICS interface
GC Global catalog
KE Kernel
LC Local catalog
LD Loader
LG Log manager
LM Lock manager
ME Message
MN Monitoring
NQ Enqueue
PA Parameter manager
PG Program manager
RM Recovery manager
SM Storage manager
ST Statistics
TI Timer
TR Trace
US User
XM Transaction manager
XS Security manager
xxxx represents the point ID within the domain in the form of a four-character
hexadecimal value (0000-FFFF). You can specify a range of point IDs
by using a hyphen.
If you select trace entries by specifying the TRANID or TERMID parameters, the
DFHTU530 program searches for any transaction-attach trace entries that contain
the specified TERMID or TRANID. It then formats any associated trace entries,
identified by the TASKID found in the transaction-attach trace entry data.
For example, if the entries in your auxiliary trace data set are as illustrated in
Figure 16 on page 97, you can obtain formatted trace output for task IDs 00123 and
00124 by specifying either the TERMID or TRANID parameters. This is possible
because the associated transaction-attach trace entries are present (see record
numbers 2 and 7 in the diagram). However, you cannot obtain formatted trace
output for task ID 00120 by specifying a TERMID or TRANID, because the auxiliary
trace data does not contain the transaction-attach trace entry for that task.
You can specify each control statement one or more times; for example,
TASKID(xxxx,zzzz,yyyy,aaaa,bbbb,cccc,dddd,eeee,ffff,gggg,hhhh,iiii,jjjj),
TASKID(kkkk,rrrr-uuuu,wwww)
You must use commas to separate keywords and entries in a list. Continuation to
another record is allowed after any comma that separates keywords, provided the
comma is in column 71 or is followed by a blank. Continuation records can start in
any column.
Note: The following example would not work, because the list has been split within
the keyword rather than between keywords:
TRANID=(ABRW,AORD, [Select entries for tranids ABRW, AORD,
MYTR), & MYTR
Note: The trace point for transactions that have been task-attached is XM 1102. The trace point for
transactions that have been terminal-attached is AP 1730.
Figure 16. Association of transaction-attach trace entries with task entries
You can print CICS trace entries written to GTF by invoking IPCS with the
GTFTRACE subcommand, and specifying the USR parameter with the event trace
identifier of the records you want IPCS to select for formatting. You can also specify
most of the DFHTU530 selective trace control statements on the CICS(text)
parameter. The CICS-supplied formatting routines are called DFHTG530 and
DFHTR530, supplied in CICSTS13.CICS.SDFHLINK. DFHTG530 has the alias of
AMDUSREF. The last two characters of the AMDUSREF alias (“EF”) correspond to
the format identifier (FID), and enable IPCS to invoke the CICS formatting routine
automatically when you use the GTFTRACE subcommand.
Several CICS regions, at different CICS releases, can write to the same GTF data
set. You can print CICS Transaction Server for OS/390 Release 3, CICS
Note: The whole string of CICS trace selection parameters must be enclosed
in parentheses. If your CICS trace selection parameter is more than can
be contained on one line, terminate the line with a right parenthesis
followed by a comma, and specify the remainder on the next line. You
must repeat the CICS keyword on the continuation line(s).
START(ddd,hh.mm.ss) and STOP(ddd.hh.mm.ss)
Code the START and STOP parameters to specify trace entries for a particular
time range. If you omit the STOP parameter, IPCS continues processing until it
reaches the end of the data set.
USR(event-id-value-list|ALL)
Code this parameter to specify formatting of subsystem event trace records
created by the GTRACE macro. The trace ID for CICS GTF trace entries is
‘CICS’, which translates to X'F6C'. For information about the IDs of other
subsystem trace records (for example, VSAM, VTAM), see the OS/390 MVS
IPCS Commands . (You can code X'F6C' directly for the CICS trace event ID;
USR(CICS) is an alias for USR(F6C).)
There are many other parameters that you can specify on the GTFTRACE
subcommand of IPCS. For information about the GTFTRACE command, see the
OS/390 MVS IPCS Commands .
Figure 17. Sample IPCS job to print CICS trace entries from a GTF data set
libraries that contain the modules (DFHTG530, its alias AMDUSREF, DFHTR530,
DFHTG530, its alias AMDUSREF and DFHTR530) to be used to format the GTF
trace entries. Depending on which releases of CICS have GTF trace entries to be
printed, you should include the following libraries in the STEPLIB concatenation:
Note: For the CICS-supplied IPCS dump exit routine to format an SDUMP
successfully, certain SDUMP options must be in force at the time the
dump is taken. (See page 107.)
You can use IPCS either interactively or from an MVS batch job. For more
information about using IPCS, see “Using IPCS to format and analyze CICS
dumps” on page 106.
SELECT TYPE={OR|NOTOR|AND|NOTAND|SCAN}
[TRANID=({value|generic-value}[,value|generic-value}],.,.)]
[DUMPCODE=({value|generic-value}[,{value|generic-value}],.,.)]
[DUMPID=({value|value-range}[,{value|value-range}],.,.)]
[PAGESIZE=(value)]
[TIME=({time|time-range}[,{time|time-range}],.,.)]
[UPPERCASE=YES]
END
If you do not define a SYSIN data set, or SYSIN does not contain any control
statements, all dumps in the DFHDMPDS data set are printed.
The descriptions of the statements you can code in SYSIN are as follows:
SELECT TYPE={OR|NOTOR|AND|NOTAND|SCAN}
This control statement, which is mandatory if you are specifying any of the other
selection control statements, must be the first in SYSIN. Code the TYPE
parameter with one of the following selection operands:
OR Print only those dumps that match at least one of the fields defined in
any TRANID, DUMPID, DUMPCODE, or TIME control statements that
follow the SELECT statement. This is the default if you omit the TYPE
parameter.
NOTOR
Print only those dumps that do not match any of the fields defined in
any TRANID, DUMPID, DUMPCODE, or TIME control statements that
follow the SELECT statement.
AND Print only those dumps that match all of the fields defined in any
TRANID, DUMPID, DUMPCODE, or TIME control statements that follow
the SELECT statement.
NOTAND
Print only those dumps that do not match the combination of the fields
defined in any TRANID, DUMPID, DUMPCODE, or TIME control
statements that follow the SELECT statement.
SCAN Do not print any dumps, but write only the summary, either to the
DFHTINDX data set, or to the SYSPRINT data set if the DFHTINDX DD
statement is missing. If you code SCAN, all other statements in the
SYSIN data set (apart from the END statement) are ignored.
If you code any of the following control statements, they must appear in the SYSIN
data set after a SELECT statement, and before the END statement. Each control
statement must be on a separate line, but can start in any column.
TRANID=({value|generic-value}[,value|generic-value}],.,.)
specifies that dumps are to be selected by their transaction identifier (ID). You
can code up to 20 4-character transaction IDs on the TRANID statement(s);
excess transaction IDs are ignored. Code the transaction IDs either as explicit
IDs, or as a generic form using plus (+) or asterisk (*) symbols as arbitrary
characters. If you code a transaction ID of fewer than four characters, and
without any arbitrary characters, it is assumed to be filled with trailing blanks
(up to the limit of four characters for a transaction ID).
A + symbol represents any single character other than blank, and should be
used to specify a single arbitrary character. For example:
TRANID=ABC
specifies a 3-character transaction ID of ‘ABC’.
An asterisk (*) symbol represents any character string not containing blanks, for
example:
TRANID=XY*
specifies a transaction ID, where the first two characters are ‘XY’, the
third character can be any character other than a blank, and the fourth
can be any character.
All of the above examples can be coded on the following TRANID statement:
TRANID=(ABC,CD+F,XY*,AB+)
DUMPCODE=({value|generic-value}[,{value|generic-value}],.,.)
specifies that dumps are to be selected by a transaction dump code, which is
either the 4-character abend code or your own explicitly defined code if you
requested the dump. You can code up to 20 dump codes on the DUMPCODE
statement(s); excess dump codes are ignored. Code the dump codes either as
explicit codes, or as a generic form using plus (+) or asterisk (*) symbols as
arbitrary characters. See the TRANID control statement for details of how to
use the arbitrary character symbols.
DUMPID=({value|value-range}[,{value|value-range}],.,.)
specifies that dumps are to be selected by a 6- to 9-character dump identifier.
You can code up to 10 dump identifiers or ranges of dump identifiers on the
DUMPID statement(s); excess dump identifiers are ignored. The format of a
dump identifier is xxxx/yyyy where xxxx represents the dump run number, and
yyyy is the dump count. You must code the slash (/) symbol as a separator
character between the dump run number and the dump count.
Note: The DFHDU530 program checks only that the DUMPID operand is valid
in length, and contains only numeric and / characters. If you specify a
wrong numeric dump run number or dump count, or specify the wrong
number of / characters, the DFHDU530 program fails to find a matching
dump.
Note: The dump run number is saved in the local catalog when you
perform a normal shutdown, but is reset if you start CICS with a
START=INITIAL or START=COLD system initialization
parameter.
Dump count
A number in the range 0001 through 9999. (Leading zeros are required
You can code the DUMPID parameter as a single value, as a range of values,
or as a combination of both. If you specify a range of DUMPIDs, you must
specify the lower value first. For example:
DUMPID=10/0005
specifies a single dump identified as the fifth dump taken during dump
run number 10.
DUMPID=125/0001-125/9999
specifies all the dumps taken during dump run number 125.
DUMPID=(125/0001-125/0003,125/0019)
specifies the first three dumps taken during dump run number 125, plus
dump count number 19.
PAGESIZE=(value)
specifies the number of lines to be printed on a page. You can code values in
the range 20 through 9999 lines per page. If you specify an incorrect value,
CICS issues an error message and uses the default page size. The default
value is 60.
TIME=({time|time-range}[,{time|time-range}],.,.)
specifies that dumps are to be selected by the time at which a dump was taken.
You can code up to ten time values or range of times on the TIME statement(s);
excess times are ignored. Code either a time value or a range of times, or any
combination of both, specifying the time in hours and minutes only, ignoring the
seconds. (If CICS takes more than one transaction dump in the same minute,
all dumps matching the hour and minute are selected.)
The format for time is hh.mm or hh:mm, and you specify a range of times as
hh.mm-hh.mm or hh:mm-hh:mm. You must specify the hours and minutes as two
digits, in the range 00 through 24 and 00 through 59 respectively.
UPPERCASE=YES
specifies that the data output is to be in uppercase only. The parameter must
be coded as shown in uppercase characters with no spaces between words. If
you want output in mixed case (the default), do not code this parameter.
END
This statement is optional and terminates the SELECT group. All statements
following the END statement are ignored. If you omit the END statement, the
SELECT group is terminated by the end of the SYSIN data set.
See Figure 19 for a sample job stream for the DFHDU530 program.
Figure 19. Sample job to format and print CICS transaction dump data sets
Note:
1 The sample JCL gives a region size of 2MB that you might typically need to run
the DFHDU530 utility. You can use the sample region size as a basis for your own
JCL, but must ensure that the region size is large enough to run the DFHDU530
utility in your CICS environment.
To run the transaction dump utility program concurrently with CICS to process the
inactive disk transaction dump data set, specify DISP=SHR in the DD statements
defining the transaction dump data sets in the startup job stream.
Note: ABBREV and FULL are not valid keywords of the DFHDUP utility
program.
DOUBLE|SINGLE
For SINGLE, the transaction dump output is printed single-spaced. For
DOUBLE the output is printed with a blank line between the printed lines.
The contents of a transaction dump data set are not erased, but they are lost when
the data set is next opened for use. This happens only when:
v The data set is opened during initialization.
v You switch to the data set by using the CEMT SET DUMPDS SWITCH
command, or by the corresponding EXEC CICS SET command.
v The data set is opened explicitly by the CEMT SET DUMP OPEN command, or
by the corresponding EXEC CICS SET command.
If you use the dump utility program to print a dump data set that is still in use by
CICS, any transaction dumps written during the current run are printed. These may
be followed by an unidentified partial transaction dump from a previous run, whose
header has been overwritten during the current run. Any such partial transaction
dumps may be followed by further transaction dumps from the previous run.
Do not use the dump utility program to print a dump data set that has not been
opened during the most recent execution of CICS. If you try to, either transaction
dumps from a previous execution are reprinted, or the program is unable to
recognize the records on the data set.
To enable you to analyze CICS SDUMPs written to dump data sets by the SDUMP
macro, you can use the IPCS VERBEXIT subcommand to execute a CICS-supplied
IPCS dump exit. This dump exit enables you to:
v Process a dump selectively by specifying one or more CICS component
identifiers as parameters to the exit.
For further information about IPCS, see the OS/390 MVS IPCS User’s Guide.
If you set the dump mode for SDUMP to override mode (using the MVS
CHNGDUMP SET OVER command), you must ensure that at least these options
are set in the system’s SDUMP options list.
You must ensure that this DFHIPCSP member can be found by your IPCS job. You
can either copy the DFHIPCSP member into the SYS1.PARMLIB library (so that it is
in the same default library as BLSCECT) or provide an IPCSPARM DD statement to
specify the library containing the IPCS control tables. For example:
//IPCSPARM DD DSN=SYS1.PARMLIB,DISP=SHR For BLSCECT
// DD DSN=CICSTS13.CICS.SDFHPARM,DISP=SHR For DFHIPCSP
The names of the IPCS exit routines specified by the EP(name) operands in the
DFHIPCSP member must match the names of the CICS-supplied release-specific
IPCS exit routines.
In earlier CICS releases, the CICS formatting routine for use under the IPCS is
supplied as DFHPDX. This standard name is not suitable for those users running
more than one release of CICS, because the dump formatting process in each
version of DFHPDX is release-specific, and you must use the correct version for the
system dump you are formatting. To use the DFHIPCSP member as supplied,
rename the versions of the DFHPDX routines supplied with earlier CICS releases to
the names shown.
/* ================================================================ */
EXIT EP(DFHPD212) VERB(CICS212) ABSTRACT(+
'CICS Version 2 Release 1.2 analysis')
EXIT EP(DFHPD321) VERB(CICS321) ABSTRACT(+
'CICS Version 3 Release 2.1 analysis')
EXIT EP(DFHPD330) VERB(CICS330) ABSTRACT(+
'CICS Version 3 Release 3 analysis')
EXIT EP(DFHPD410) VERB(CICS410) ABSTRACT(+
'CICS Version 4 Release 1 analysis')
EXIT EP(DFHPD510) VERB(CICS510) ABSTRACT(+
'CICS Transaction Server for OS/390 Release 1 analysis')
EXIT EP(DFHPD520) VERB(CICS520) ABSTRACT(+
'CICS Transaction Server for OS/390 Release 2 analysis')
EXIT EP(DFHPD530) VERB(CICS530) ABSTRACT(+
'CICS Transaction Server for OS/390 Release 3 analysis')
/* ================================================================ */
To ensure that your IPCS job can find the appropriate dump exit routine to format
the CICS system dump data, you should add the library containing the dump exit
routine to the MVS linklist. The dump exit routine for CICS Transaction Server for
OS/390 Release 3, DFHPD530, is installed in the
SYS1.CICSTS13.CICS.SDFHLINK library along with other modules needed in the
MVS linklist. This routine is named with the release identifier as part of the name;
that is, DFHPD530.
To enable the CICS-supplied IPCS dump exit routines, all called DFHPDX, from
earlier CICS releases to be used, you should:
v Rename the routines to use the release identifier as part of the name (See
“Renaming dump exit routines for releases before CICS Transaction Server for
OS/390 Release 3” on page 108.)
v Copy the routines to the SYS1.CICSTS13.CICS.SDFHLINK library or another
suitable library in the MVS linklist.
To select the parts of the internal trace to be formatted by IPCS, you specify the
TRS parameter on the IPCS VERBEXIT command, for example,
VERBEXIT CICS530 'DEF=1,DLI=1,KE=3,TR=2,TRS=<TRANID=CSSC,KE_NUM=12>'
Notes:
1. The VERBEXIT statement specifies the verb name CICS530 to process CICS
Transaction Server for OS/390 Release 3 system dump data. This corresponds
to the IPCS dump exit routine DFHPD530, as specified in the DFHIPCSP
member in the CICSTS13.CICS.SDFHPARM library.
2. For the TRS parameter to work, you must also specify the TR parameter,
without a value of 0, to use output from the trace domain.
For more information about the statements that you can use to select parts of the
CICS internal trace table, see “The trace selection parameters” on page 92.
The syntax of the CICS exit parameters is shown in Figure 21 and described in
“The CICS dump exit parameters”.
For some examples of using IPCS to process CICS SDUMPs, see page 112.
where
[JOB={jobname|CURRENT}]
[UPPERCASE]
[,DEF={0|1|2|3}]
[,keyword [=levelnumber]]
keyword
specifies the CICS component ID (see page 112 for a full list of all the
keywords).
levelnumber
specifies the level of data to be output, either to a terminal or to a printer
(see page 112 for details of the available level numbers).
If you omit the JOB parameter, all the CICS jobs found in the dump data are
formatted.
UPPERCASE (optional)
specifies that you want the dump data output in uppercase only. If you want
output in mixed case (the default), do not code this parameter.
DEF={0|1|2|3}
specifies a default level for the formatting of data from the dump data set. The
DEF parameter is effective only for those components that are not included in a
list of dump component keywords.
The dump summary is always formatted, even if you specify DEF=0 and no
component keywords. The error message index is produced only if an error or
information message is output while the CICS dump exit is formatting the dump
data, even if you specify DEF=0 and no component keywords. For example:
VERBEXIT CICS530 ‘DEF=2,DS=0’ suppresses formatting of the dispatcher
(DS) domain; the dump summary is formatted, and all other components are
formatted for level 2 only. The error message index is only produced if an error
or information message is output while the CICS dump exit is formatting the
dump data.
VERBEXIT CICS530 without any parameters produces summary and control block
output for all the CICS components in the dump.
Note: If you omit the level number, it defaults to level 3 for those components
that have a summary, and level 2 for those that do not.
The CICS530 dump exit can be used in either a batch job or interactively. For an
example of a batch IPCS job, see Figure 24 on page 116. For information about
using IPCS, see the following MVS IPCS manuals:
v OS/390 MVS IPCS User’s Guide.
v OS/390 MVS IPCS Commands.
Trace entry selection: The TRS component keyword allows you to exercise much
the same choice over the formatting and printing of trace entries written in a trace
internal to a system dump as you may exercise over the formatting and printing of
trace entries in an auxiliary trace.
The trace selection parameters may be any valid trace selection parameters
available to DFHTU530 for the formatting of CICS auxiliary trace entries, except the
parameters PAGESIZE, ABBREV, SHORT, and FULL. You may, as with DFHTU530,
select any number of parameters from those available. (For descriptions of available
parameters, see “The trace selection parameters” on page 92.)
Note: You must use angled brackets around the parameter, or sequence of
parameters, that you specify. The format and default values of parameters
used to select trace entries from an internal SDUMP trace, are the same as
those that apply when you use DFHTU530 to format auxiliary trace entries.
Sample jobs to process a CICS SDUMP using the CICS dump exit
This section shows two sample jobs that you can use for processing CICS
SDUMPs using IPCS. The first, in Figure 23, is an example of how to create an
IPCS dump directory; the second, in Figure 24 on page 116, is an example of a job
that invokes IPCS from the TSO terminal monitor program to selectively print parts
of a CICS dump. The latter specifies the CICS530 dump exit on the VERBEXIT
subcommand, and identifies the areas of the CICS SDUMP that are to be printed.
/*
//INITDIR EXEC PGM=IKJEFT01,REGION=1500K
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
IPCSDDIR 'CICSTS13.CICS.IPCSDIR' 1
END
/*
//
Notes:
2 Specify the volume identifier (in place of ‘volid’) of whichever disk volume you
intend using for the IPCS directory.
Figure 24 on page 116 is the sample formatting job that you can use after you have
created the IPCS dump directory.
Figure 24. Sample job to format a CICS SDUMP using IPCS and the CICS dump exit
Notes:
2 Specify the name of the dump data set being processed instead of
‘DUMP.NAME’.
4 Change ‘CICSTS13.CICS’ to the high-level qualifier you defined for the IPCS
directory.
5 You must ensure that the DFHIPCSP member can be found by your IPCS job.
You can either copy the DFHIPCSP member into the SYS1.PARMLIB library (so
that it is in the same default library as BLSCECT) or provide an IPCSPARM DD
statement to specify the library containing the IPCS control tables, as shown in the
example JCL. For information about making the DFHIPCSP member available, see
“Chapter 2. Starting up CICS regions” on page 17.
9 The VERBEXIT statement specifies the verb name CICS530 to process CICS
Transaction Server for OS/390 Release 3 system dump data. This corresponds to
the IPCS dump exit routine DFHPD530, as specified in the DFHIPCSP member in
the CICSTS13.CICS.SDFHPARM library.
Any monitoring utility program that processes performance data must read the
dictionary record that relates to the data being processed before attempting to
analyze the data. However, if SMF switches data sets during the period when CICS
monitoring is writing performance data, CICS does not write a new dictionary
record, and therefore a CICS performance dictionary record is not the first
monitoring performance record on the new SMF data set. The DFHMNDUP
program provides a solution to the problem posed by SMF data sets that do not
contain a dictionary record.
To enable you to process SMF data sets that contain performance data records but
not a dictionary record, DFHMNDUP writes a dictionary record to a sequential data
set. The dictionary record is written to a data set specified on a DD statement with
a ddname of SYSUT4. You must put this data set in front of any data set(s) you are
You specify control information for the DFHMNDUP program on the following
parameters:
DATE=yyddd or DATE=yyyydd
specifies the Julian date to be included in the dictionary record, where:
yy represents the year of the twentieth century (for example 98 for 1998).
yyyy represents the year (for the twenty-first century the year must be
represented by yyyy. If yy is coded the twentieth century is assumed).
ddd represents the day, in the range 1 through 366.
For example 96354 represents the 20th December 1996 and the date 2005354
represents the 20th December 2005. If you do not specify a date, the current
date is used.
GAPPLID=name
specifies the generic VTAM APPLID of the CICS region for which you are
analyzing performance data.
JOBDATE=yyddd or JOBDATE=yyyyddd
specifies the MVS job date (in Julian date format) to be included in the
dictionary record.
yy represents the year of the twentieth century (for example, 98 for 1998).
yyyy represents the year (for the twenty-first century the year must be
represented by yyyy. If yy is coded the twentieth century is assumed).
ddd represents the day, in the range 1 through 366.
For example, the date 96354 represents the 20th December 1996 and the date
2005354 represents the 20th December 2005. If you do not specify a date, the
current date is used.
You can enter each parameter on a separate line, with the parameter keyword
starting in column one. Alternatively, you can enter all of the parameters on a single
line, starting in column one, with each parameter separated by a comma. If your
CICS used a default MCT, you can enter the MCT parameter as ‘MCT=NO’,
‘MCT=’, or ‘MCT=,‘.
For example, you can use the following three methods to specify the same control
information for the DFHMNDUP program:
v (MCT=NO)
//SYSIN DD *
MCT=NO
SYSID=MVSA
GAPPLID=DBDCCICS
Notes:
2 You may decide to keep a permanent data set, one for each CICS region, to
hold the dictionary record. Specify the DISP parameter according to whether the
data set already exists, or a new one is to be created and cataloged.
3 Specify the name of the SMF data set that you want to dump, where “x” is the
installation-defined suffix in the range A to Z, or 1 to 9. You can reduce the time to
unload the SMF data set by including an AMP parameter with a suitable buffer size.
For further information about unloading SMF data sets, see the OS/390 MVS
System Management Facilities (SMF) manual.
5 You must put the dictionary data set in front of the dumped SMF data set. If the
first monitoring performance record in the SMF data set is not a dictionary record,
the dictionary record created by DFHMNDUP is used. However, if the first
monitoring performance record in the SMF data set is a dictionary record, it is used
instead of the dictionary record created by the DFHMNDUP program. The
DFH$MOLS sample uses the last dictionary record read and disregards any
previous record.
The DFH$MOLS program is enhanced as follows for CICS Transaction Server for
OS/390 Release 3:
v It can handle SMF 110 monitoring data records for CICS Transaction Server for
OS/390 Release 3, CICS Transaction Server for OS/390 Release 2, and CICS
Transaction Server for OS/390 Release 1, in addition to CICS/ESA Version 3 and
CICS/ESA Version 4.
v It can unload performance class records into a flat file (CICS Transaction Server
for OS/390 Release 3 performance class records only).
v It can print the new data from the exception data record.
You run the DFH$MOLS program in a batch region to process any CICS SMF type
110 monitoring records that are present in an unloaded SMF data set, which you
can write to either a temporary or cataloged data set. You can determine the scope
of the report(s) by supplying control statements in the SYSIN data set.
You can specify a sort option for the selected data. The DFH$MOLS program sorts
the data by means of a link to the MVS sort program, DFSORT™, passing
parameters to the sort, and using the sort exits E15 and E35. You can use any
standard sort utility provided it has these E15 and E35 exits. For further information
about the DFSORT program, see the DFSORT Application Programming Guide.
For programming information about the structure of CICS SMF type 110, and how
the monitoring data is packaged within the SMF records, see the CICS
| Customization Guide. The DFH$MOLS program reads the SMF data and formats
| and prints it. If you want to analyze the data using your own routines, this is the
point at which you can link to a user-written analysis program.
Volume of output
The DFH$MOLS program prints about one page per task, so take care to specify
only those items that you need using the DFH$MOLS program control statements.
For details of the selection options, see “Control statements of the DFH$MOLS
program” on page 127.
Figure 26. Sample job to unload and process CICS data from SMF data sets
Notes
1 Specify the last character of the data set name (in place of ‘x’) for the SMF data
set you are unloading. For information about unloading multiple SMF data sets, see
the notes to the sample DFHSTUP statistics job on page 80.
2 If you want to keep the unloaded data set, change the DSN and DISP
parameters appropriately.
3 The SMF dataset may contain any type of SMF record, but in this example we
are unloading CICS type 110 records only. Although this may include CICS statistics
records, and any CICS user journal records written by SMF, the DFH$MOLS
program ignores them and process monitoring data only; they are identified by a
record sub-type ‘01’. Specify TYPE(0:255) to unload all types of SMF record.
5 If you have generated your own version of the DFH$MOLS program and stored
it in a different library from the CICS-supplied version, change the STEPLIB
statement accordingly. On the STEPLIB statement, you should specify the library
that contains the version of the DFH$MOLS program for the CICS release of SMF
records to be formatted.
Note: The CICS/MVS 2.1.2 version of DFH$MOLS will process SMF 110
monitoring data from any CICS/MVS version 2 release. The CICS
Transaction Server for OS/390 Release 3 version of DFH¢MOLS will process
SMF 110 monitoring data from any CICS/ESA version 3 or later release.
However, DFH$MOLS from an earlier version or release will not process the
monitoring data from a later version or release. You should always use the
DFH$MOLS from the highest version or release.
6 These sort work files are needed only if you specify the sort option. SORT is
recommended to ensure that data is correctly processed in chronological order.
7 Specify the control statements for data selection and other options in SYSIN.
For details of the control statements for the DFH$MOLS program, see “Control
statements of the DFH$MOLS program”.
For the twenty-first century the year must be represented by yyyy. If yy is coded
the twentieth century is assumed, for example 98 for 1998.
IGNORE
APPLID=xxxxxxxx[,yyyyyyyy,...]
| PRCSTYPE=xxxxxxxx[,yyyyyyyy,...]
TERMID=xxxx[,yyyy,...]
| TASKNO=,nnnnnnn,[nnnnnnn,...[
TRANID=xxxx[,yyyy,...]
USERID=xxxxxxxx[,yyyyyyyy,...]
APPLID=xxxxxxxx[,yyyyyyyy,...]
| PRCSTYPE=xxxxxxxx[,yyyyyyyy,...]
TERMID=xxxx[,yyyy,...]
| TASKNO=nnnnnnn,[nnnnnnn,...[
TRANID=xxxx[,yyyy,...]
USERID=xxxxxxxx[,yyyyyyyy,...]
You can use any of these SELECT options in conjunction with IGNORE
statements to form SELECT/IGNORE groups (see the BREAK control
statement).
SORT
Use this statement to sort the input monitoring data before processing.
TIME
START=hh.mm.ss,STOP=hh.mm.ss
TIMEOFF
Use this statement to suppress testing for data output chronologically.
UNLOAD{DDNAME=xxxxxxxx[,LOCAL]}
Use this statement to unload the input performance class monitoring data into
the fixed length record format.
| Note: This control statement only applies to CICS Transaction Server for
| OS/390 Release 2 and CICS Transaction Server for OS/390 Release 3
SMF records.
There are no continuation statements; you can specify multiple occurrences of the
same control statement keyword, eliminating the need for continuations.
The DFH$MOLS program prints each control statement before analyzing it. If the
DFH$MOLS program detects an error, it is associated with the last statement
printed. Control statement errors are followed by an abend U101, without a dump.
If you do not specify any control statements, the DFH$MOLS program produces a
default listing of the monitoring data, using default values.
Note: You can specify one or more groups with IGNORE statements only to
specifically exclude records. However, any record not included or
excluded, after all the SELECT/IGNORE and IGNORE-only groups, is
included.
Examples:
The following control statements select records for transaction id TSK1 which were
entered from terminal id T040:
SELECT TRANID=TSK1
SELECT TERMID=T040
The following control statements select records for all records for transaction id
TSK1, and all records from terminal id T040. The BREAK statement effectively
creates two SELECT/IGNORE groups, and any record satisfying group 1 (the
transaction id is TSK1) or group 2 (the terminal id is T040) is selected:
SELECT TRANID=TSK1
BREAK
SELECT TERMID=T040
The following control statements select records for transaction ids TSK1 and TSK2,
but excluding those that were entered from terminal id T040:
SELECT TRANID=TSK1,TSK2
IGNORE TERMID=T040
The following control statements select all records for transaction id TSK1 (SELECT
group 1) and all records for transaction id TSK2 but exclude those entered from
terminal id T040 (SELECT/IGNORE group 2):
SELECT TRANID=TSK1
BREAK
SELECT TRANID=TSK2
IGNORE TERMID=T040
If you also have records for terminal ids T050 (for transaction ids TSK1 and TSK3)
and T060 (for transaction id TSK3 only), you can use the following IGNORE-only
group to exclude all records entered from terminal id T050:
IGNORE TERMID=T050
In this case, records for terminal id T060 are included, because you have not
specifically excluded them.
To exclude the records from terminal ids T050 and T060, you can do one of the
following:
v Do not specify any IGNORE-only groups; the records for terminal ids T050 and
T060 are excluded by default.
v Specify one or more IGNORE-only groups, to specifically exclude records from
terminal ids T050 and T060, for example:
In this case, if you later add another terminal, its records are included unless you
specify the terminal id in an IGNORE-only group.
CONTROL STOPAFT=nnnnnnnn
specifies the number of records you want to process. The STOPAFT=nnnnnnnn
parameter limits the number of SMF type 110 records you want the DFH$MOLS
program to process. The DFH$MOLS program terminates after processing the
number of SMF 110 records specified by nnnnnnnn.
DATE
specifies the start and stop dates which, in conjunction with the TIME statement
(if specified), enables you to select records for a particular period only. (See
also the TIME control statement.)
START=start-date
specifies the date of the beginning of the period for which you want
records processed, in the form mm/dd/yy or mm/dd/yyyy.
Start dates in the twenty-first century must use the form mm/dd/yyyy.
STOP=stop-date
specifies the date of the end of the period for which you want records
processed, in the form mm/dd/yy or mm/dd/yyyy.
Stop dates in the twenty-first century must use the form mm/dd/yyyy.
Notes:
1. CICS dictionary records are always processed by the DFH$MOLS program
and are not affected by any date/time period specification.
2. You do not have to specify both START and STOP; you can specify START
without STOP, and STOP without START.
3. If you omit the DATE statement, records for all dates present in the input file
are processed.
4. You can specify only one DATE statement (and associated TIME statement)
in SYSIN.
| IGNORE [APPLID|PRCSTYPE|TASKNO|TERMID|TRANID|USERID]
specifies that all records are to be excluded that have the specified generic
APPLID, CICS BTS process type, task number, or all records that have a
specified transaction, terminal, or user identifier.
APPLID=xxxxxxxx[,yyyyyyyy,.,.]
Specify one or more generic APPLIDs to exclude monitoring data from
a CICS region, or regions.
| PRCSTYPE=xxxxxxxx[,yyyyyyyy,.,.]
| Specify one or more 8–character BTS process-type identifiers, to
| exclude monitoring data associated with these process-types.
| TASKNO=nnnnnnn,[,nnnnnnn,...[
| Specify one or more task numbers to exclude monitoring data
| associated with these tasks.
TERMID=xxxx[,yyyy,.,.]
Specify one or more terminal identifiers to exclude monitoring data
associated with these terminals.
| You can specify each of the APPLID, PRCSTYPE, TASKNO, TERMID, TRANID,
| and USERID parameters in the same SELECT/IGNORE GROUP, but you
| cannot specify an IGNORE and SELECT for the same type of parameter. For
| example, you can specify SELECT APPLID= and IGNORE TERMID=, but you
| cannot specify SELECT APPLID= and IGNORE APPLID=.
The DFH$MOLS program pads, with trailing blanks, operands that have less
characters than the permitted maximum. You cannot continue control statements on
another line, but the program logically chains multiple control statements of the
same keyword in the same IGNORE group (see the BREAK control statement). If
you specify IGNORE for more than one parameter, those IGNORE statements form
a logical OR function.
Examples:
If you specify:
IGNORE TRANID=CEMT
IGNORE USERID=OP7
the program excludes all records for transaction CEMT (regardless of user ID), and
exclude all records containing userid OP7 (regardless of transaction ID). It includes
all other records.
If you specify:
SELECT TRANID=CEMT
IGNORE TERMID=TRM3
the program includes only records for transaction CEMT, except for those from
terminal TRM3
| OPTION {GMT|LOCAL}
| specifies various DFH$MOLS report formatting options.
| GMT The DFH$MOLS sample program is to print the monitoring record start
| and stop timestamp fields in GMT time in the reports produced.
| LOCAL
| The DFH$MOLS sample program is to convert the monitoring record
| start and stop timestamp fields into local time in the reports produced.
| PRINT {ALL|DIC|EXC|PER|EXC,PER}
specifies the type of monitoring data record that you want printed.
ALL lists all of the monitoring SMF type 110 records that are selected by any
other control statement options. This is the default if you omit the
PRINT statement.
DIC lists only the monitoring performance class dictionary records that are
selected by any other control statement options.
EXC lists only the monitoring exception class records that are selected by
any other control statement options.
Note: The SMF headers, SMF product sections, and CICS dictionary records
are always printed except if the UNLOAD control statement is specified.
In this case, the PRINT control statement must be specified to print the
monitoring data required.
| SELECT [APPLID|PRCSTYPE|TERMID|TASKNO|TRANID|USERID]
specifies the selection of all records of the specified generic APPLIDs,
process—types, task numbers, transaction, terminal, or user identifiers.
APPLID=xxxxxxxx[,yyyyyyyy,.,.]
Specify one or more generic APPLIDs to include monitoring data from
the CICS regions identified by these APPLIDs.
| PRCSTYPE=xxxxxxxx[,yyyyyyyy,.,.]
| Specify one or more CICS BTS process types to include monitoring
| data associated with these CICS BTS process types.
| TASKNO=nnnnnnn[,nnnnnnn,...]
Specify one or more task numbers to include monitoring data
associated with these tasks.
TERMID=xxxx[,yyyy,.,.]
Specify one or more terminal identifiers to include monitoring data
associated with these terminals.
TRANID=xxxx[,yyyy,.,.]
Specify one or more transaction identifiers to include monitoring data for
these transactions.
USERID=xxxxxxxx[,yyyyyyyy,.,.]
Specify one or more user identifiers to include monitoring data for
transactions submitted by these users.
| You can specify each of the APPLID, PRCSTYPE, TASKNO, TERMID, TRANID,
and USERID parameters in the same SELECT/IGNORE GROUP, but you cannot
specify IGNORE and SELECT for the same type of parameter. For example, you
can specify SELECT APPLID= and IGNORE TERMID=, but you cannot specify
SELECT APPLID= and IGNORE APPLID=.
You cannot continue control statements on another line, but the program logically
chains multiple control statements of the same keyword in the same SELECT
group. (See the BREAK control statement for details of how to terminate a
SELECT/IGNORE group.) If you specify SELECT for more than one parameter,
those SELECT statements form a logical AND function.
Examples:
If you specify:
SELECT TERMID=TRM3
SELECT TRANID=CEMT
the program includes only records with a transaction identifier of CEMT and with a
terminal identifier of TRM3. It does not include any other records.
If you specify:
the program includes only those records that are from the CICS region with the
generic APPLID DBDCCICS, and are for transaction CEMT, but do not have the
terminal identifier TRM3.
SORT
specifies a sort of the input monitoring data before the records are processed
for output. If you specify a sort, the DFH$MOLS program links to the standard
MVS SORT program, DFSORT. (For information about the standard sort used,
see the DFSORT Application Programming Guide R14.)
The SORT utility sorts the monitoring data into the following sequence:
Generic APPLID at position 47
SMF record sub-type at position 23
SMF record date at position 11
SMF record time at position 7.
These sort fields are built into the DFH$MOLS program, and therefore the
SORT statement does not require any parameters. However, if you want to
perform a stand-alone sort before running the sample utility, you should use the
following SORT statements:
SORT FIELDS=(47,8,CH,A,23,2,BI,A,11,4,PD,A,7,4,BI,A),EQUALS
RECORD TYPE=V
Note: SORT is the recommended option when you are processing data from
multiple SMF data sets, and must be used when processing data for
multiple CICS regions or when the UNLOAD control statement is
specified.
TIME
specifies the start and stop times which, in conjunction with the DATE statement
(if specified), enables you to select records for a particular SMF time period
only. (The time stamp against which the DFH$MOLS program compares is the
SMF time in the SMF header, not the time in individual performance records.
This means that the program may select performance records for times that
may be a few minutes outside the specified period because of the way they are
buffered for writing to SMF.)
By default, the DFH$MOLS program checks the date/time sequence of the data
to prevent incorrect processing caused by data being out of sequence. This can
occur if you do not specify the SORT option of the DFH$MOLS program, and
one of the following is true:
v The input data is from a data set incorrectly sorted prior to running the
DFH$MOLS program.
v The unsorted data is from multiple SMF data sets that are not concatenated
in time ordered sequence, or are unloaded in the wrong sequence.
In CICS Transaction Server for OS/390 Release 3, some attributes are obsolete,
and are removed from the CSD definitions. Using the ALTER command on
definitions that specify obsolete attributes does not cause the loss of these
attributes in CICS Transaction Server for OS/390 Release 3, so you can safely
update resource definitions from a CICS Transaction Server for OS/390 Release 3
region. If you are sharing the CSD between a CICS Transaction Server for OS/390
Release 3 region and a CICS/MVS 2.1.2 or a CICS/OS/VS 1.7 region, you can
use the CICS Transaction Server for OS/390 Release 3 CSD utility, DFHCSDUP, to
update resources that specify obsolete attributes. A compatibility option is added for
this purpose, which you must specify on the PARM parameter on the EXEC
PGM=DFHCSDUP statement. You indicate the compatibility option by specifying
COMPAT or NOCOMPAT. The default is NOCOMPAT, which means that you cannot
update obsolete attributes. (See Figure 28 on page 141.)
The CICS Transaction Server for OS/390 Migration Guide discusses these obsolete
attributes and their compatibility with earlier releases.
Note: You cannot use the EXTRACT command of the CICS Transaction Server for
OS/390 Release 3 DFHCSDUP utility when the COMPAT option is specified.
specified as
Table in CICS load library
TABLE(name)
Listing
1 The EXEC statement should specify a suitable REGION size and a PARM
parameter:
v The REGION size. A region size of 512KB is generally recommended for the
execution of the DFHCSDUP program. However, for the MIGRATE command, the
table to be migrated is loaded into main storage, so the region size should be at
least 512KB plus the size of the largest table.
v The PARM parameter. Use this to specify any of the following options:
UPPERCASE
specifies that you want all output from DFHCSDUP to be in uppercase. If
you want all output to be in mixed case (the default), do not code this
option.
CSD({READWRITE|READONLY})
specifies whether you want read/write or read-only access to the CSD
from this batch job. The default value is READWRITE.
PAGESIZE(nnnn)
specifies the number of lines per page on output listings. Values for nnnn
are 4 through 9999. The default value is 60.
NOCOMPAT or COMPAT
specifies whether the DFHCSDUP utility program is to run in compatibility
mode (that is, whether it can update definitions that are obsolete in CICS
Transaction Server for OS/390 Release 3). The default is NOCOMPAT,
which means that you cannot update obsolete attributes. For further
information about this option, see “Sharing the CSD between CICS
Transaction Server for OS/390 Release 3 and earlier releases” on
page 140.
2 You need a DD statement for a secondary CSD if you specify the FROMCSD
parameter on an APPEND, COPY, or SERVICE command. The ddname for this DD
statement is the name you specify on the FROMCSD parameter. The secondary
CSD must be a different data set from the primary; you must not define primary and
secondary DD statements that reference the same data set.
PROGRAM
TRANSACTION
For programming information about the use of the CRFINPT file by the programs
DFH$CRFx or DFH0CRFC (for COBOL), see the CICS Customization Guide.
4 If you specify the EXTRACT command, you need to include the DD statements
for any data sets that receive output from your extract program. The ddname is
whatever ddname you define in the user program. The CICS-supplied sample
programs need DD statements for the following ddnames:
Table 9. DD statements for the CICS-supplied sample programs
program name ddname example DD statement
5 The output data sets in these examples are opened and closed for each
EXTRACT command specified in SYSIN. If you are writing the output to a
sequential disk data set, specify DISP=MOD to ensure that data is not overwritten
by successive EXTRACT commands. Alternatively, provided you do not specify
SYSOUT on the DD statement, you can change the OPEN statement in the
program (for example, in the VS COBOL II versions, to OPEN EXTEND). For
programming information about the CICS-supplied user programs, see the CICS
Customization Guide.
6 Syntax
You can code commands and keywords using abbreviations and mixed case, as
given in the syntax box in the description of each command. If you enter an
ambiguous command or keyword, the DFHCSDUP program issues a message
indicating the ambiguity.
You can specify keyword values longer than one line, if you use the continuation
character (an asterisk) at the end of a line (in column 72). Subsequent lines start in
column 1. For example, you can use this facility to specify XTPNAME values of up
to 128 hexadecimal characters.
The following sections outline the entry parameters of the DFHCSDUP program and
the responsibilities of the user program. For programming information about
invoking the DFHCSDUP program from a user program, see the CICS
Customization Guide.
Note that if you specify both replacement DDNAMES and replacement DCBs,
the alternative DCBs are used, but the alternative DDNAMES are disregarded.
EXITS
The addresses of a set of user exit routines to be invoked during processing of
the DFHCSDUP program.
Comment records are permitted; they must have an asterisk (*) in column 1.
Comment material is not permitted on a record that contains a command.
Follow the conventions for the names of groups and lists when coding the GROUP,
LIST, TO, and TYPESGROUP parameters. If you use a generic specification for the
GROUP or LIST parameter in the LIST command, you can use the symbols * and +
in the same way as for CEDA.
The FROMCSD parameter must contain a valid ddname conforming to the rules for
the JCL of the operating system.
The reaction of the DFHCSDUP program to an error (with return code 8 or greater)
depends on the nature of the error and on how the DFHCSDUP program is
invoked.
ADD syntax
Options
Group(groupname)
specifies the name of the group to be added. The name must not already exist
in the list. A generic group name is not accepted. If you do not specify a group,
the current group name is added.
LIst(listname)
specifies the name of the list to which the group is to be added. If the list does
not already exist, a new one is created. If LIST is not specified, the group name
is added to the current list if there is one. A generic list name is not accepted.
Examples
To create a list LA01, by adding a group to it
ADD GROUP(GA001) LIST(LA01)
ALTER syntax
Description
For information about the attributes that you can specify on the ALTER command
for the various resource types, and for a description of the attributes and default
values of each resource type, see the CICS Resource Definition Guide.
Do not use ALTER to change the value of the attributes of a TYPETERM definition
on which other attributes depend. If you make a mistake with DEVICE,
SESSIONTYPE, or TERMMODEL, delete the definition and define a new one with
the correct values.
If an attribute for which you have specified a null value has a default, the default
value is used. If an attribute does not have a default value, the definition acts as if
the attribute has never been specified. In this example, if you list the resource
definition for file TEST, it is shown with DESCRIPTION().
Changes to resource definitions in the CSD file do not take effect, in a running
CICS system, until you install the group in which the resource definition resides.
For each resource in the CSD file matching the specified combination of resource
name and group name, an ALTER is attempted. In the case of an individual ALTER
failing, processing terminates when all attempts for the command have been
processed.
Options
Attribute list
specifies the attributes to be altered.
Group(groupname)
specifies the name of the group containing the resource to be altered.
Resource(name)
specifies the resource whose attributes you want to alter. You can specify a
generic name by using the characters + and *.
Examples
To make a program resident:
ALTER PROGRAM(ERR01) GROUP(GENMODS) RESIDENT(YES)
DATALOCATION()
APPEND syntax
Description
No duplicate group names are allowed in a list. If DFHCSDUP finds any duplicate
names during the APPEND operation it ignores them, and they are not appended.
The DFHCSDUP output listing contains a warning message if this happens.
Options
FRomcsd(ddname)
specifies the ddname of the secondary CSD file from which you are appending
listname1.
List(listname1)
specifies the name of the list that is appended. Do not use a generic list name.
The list being appended can be on the primary CSD file, or on another CSD
file. If you are appending from another CSD file, you must identify it by
specifying the FROMCSD parameter.
To(listname2)
specifies the name of the list to which you want the group names appended. If
you are appending from another CSD file, you can give this list the same name
as the one you are appending from. Do not use a generic list name.
If this target list already exists, the source list is appended to the end of it. If the
target list does not exist, it is created. (In effect, you are copying the source
list.)
Examples
A list called LISTA contains the following groups:
GB001
GB002
GB003
Copy a resource definition, either within the same group or to a different group.
COPY syntax
Description
The COPY command copies all the resource definitions in groupname1 to
groupname2. The group to be copied (groupname1) can be on the primary CSD,
or it can be on the CSD file specified by the FROMCSD parameter.
The group is copied to the group named on the TO parameter (groupname2) in the
primary file. If this group already exists, the definitions from the source group
(groupname1) are added to those already in the groupname2 group. If the group
specified on the TO parameter does not already exist, a new group of that name is
created. However, if duplicate definitions exist in the two groups, the whole copy
operation fails unless you specify REPLACE or MERGE to indicate how duplicates
should be handled.
REQTEXT
Generic naming in the COPY command
The COPY command accepts generic group names, both on the GROUP option
and on the TO option, subject to the following rules:
v The only generic character permitted on the COPY command is the asterisk (*)
symbol.
v The prefix length of groupname1 must be equal to or greater than the prefix
length of groupname2. Thus COPY GROUP(DFHCOMP*) TO(USRCMP*) is
valid, but COPY GROUP(DFHCO*) TO(USRCOMP*) is not.
You can use the asterisk (*) symbol to copy from generically named groups to other
generically named groups or from generically named groups to a specific group, as
shown on page “Examples” on page 156.
The DFHCSDUP output listing tells you which definitions were copied, and what
happened if duplicates were found.
Options
FRomcsd(ddname)
specifies the ddname of the secondary CSD file from which you are copying
groupname1.
Group(groupname1)
specifies the name of the group to be copied. You can specify a generic name
by using an asterisk (*). See “Generic naming in the COPY command” on
page 155 for details.
MErge
If groupname2 already exists and duplicate definitions occur, the original
definitions in groupname2 are preserved.
Replace
If groupname2 already exists and duplicate definitions occur, the definitions in
groupname1 replace those in groupname2.
To(groupname2)
specifies the name of the group to which the definitions are copied. If you are
copying from another CSD file, you can give this group the same name as the
one you are copying from. You can specify a generic name by using an asterisk
(*). See “Generic naming in the COPY command” on page 155 for details.
Examples
The following example copies a group named GA001 to a group named GA002,
which already exists, replacing any duplicate resource definitions with those in
group GA001.
COPY GROUP(GA001) TO(GA002) REPLACE
The following example copies group GA003 to group GA004, but if any duplicate
definitions occur, preserves the group GA004 definitions.
COPY GROUP(GA003) TO(GA004) MERGE
The following example copies all the CICS-supplied groups to user-named groups
with a prefix of USR, with the result that DFHOPER becomes USROPER,
DFHSTAND becomes USRSTAND, and so on.
COPY GROUP(DFH*) TO(USR*)
The following example copies every group starting with ABCD to the group called
NEWGROUP:
COPY GROUP(ABCD*) TO(NEWGROUP)
DEFINE syntax
Options
Attribute list
The attribute list depends on the resource type being defined; some resources
have attributes that must be included in the definition. For a description of the
attributes and default values of each resource type, CICS Resource Definition
Guide. Attributes that you do not specify are given default values.
Group(groupname)
specifies the name of the group containing the resource definition to be altered.
Do not use a generic group name. If you specify the name of a group which
does not already exist, the group is created.
Resource(name)
specifies the name of the resource you want to define. Do not use a generic
resource name. The resource option must always be the first operand of the
DEFINE command.
Examples
You can use the same name for more than one resource definition in a group, if the
definitions are for different resource types. For example:
The next example defines two consoles to CICS. (You do not need continuation
symbols if a definition spans several lines).
DEFINE TERMINAL(CON0) GROUP(CONTERMS)
CONSOLE(00) TYPETERM(DFHCONS)
DESCRIPTION(MVS CONSOLE ID 00, FOR ISSUING
JCL COMMANDS)
Delete a single resource definition in a group, all the resource definitions in a group,
or all the group names in a group list.
DELETE syntax
Description
Deleting a resource definition is different from removing a group from a list (see
“Chapter 24. REMOVE” on page 173). A deleted resource definition really does
disappear from the CSD file.
Note:
When you DELETE the last resource in a group, the group is automatically
deleted. An empty group cannot exist.
When a group is deleted, the group is removed from all lists that had
contained it, except when running UPGRADE commands.
You cannot delete the definitions of groups and lists supplied by IBM.
If you delete a list, the definitions of the resources within the groups contained in
the list are not deleted. To do this, you must also delete each group individually.
Options
Group(groupname)
If this is specified alone, it indicates the name of the group to be deleted. If a
resource is also specified, it indicates the group to which the resource belongs.
Do not use a generic group name.
List(listname)
specifies the name of the list to be deleted. Do not use a generic list name.
| Remove
| If this is specified when the group is deleted, the group is removed from all lists
| that contained it unless UPGRADE commands are running.
Resource(name)
specifies the name of the resource to be deleted. Do not use a generic
resource name.
Examples
A list in the primary CSD file called LISTA contains the following groups:
GB001
GB002
TERMINAL(CON0)
TERMINAL(CON1)
TERMINAL(TEST)
The following command deletes the resource definition for the terminal TEST from
group GB001:
DELETE TERMINAL(TEST) GROUP(GB001)
The following command deletes all the resource definitions in group GB002:
DELETE GROUP(GB002)
This leaves only group GB001 in the group list LISTA. The following command
deletes all group names in the group list LISTA:
DELETE LIST(LISTA)
Note: The resource definitions in the groups in LISTA are not deleted.
EXTRACT syntax
Ê ÊÍ
Objects
Description
You can use the EXTRACT command to extract resource definition data from the
CSD file, either from a list or from a group, and invoke a user program to process
the extracted data. You specify the user program on the USERPROGRAM
parameter.
Note: For programming information about coding user programs for the EXTRACT
command, see the CICS Customization Guide.
Options
Group(groupname)
specifies only those resource definitions within the named group. You can
specify a generic group name.
LIst(listname)
specifies only those resource definitions within the groups contained in the
named list. You can use a generic list name only if you are not using the
OBJECTS option.
Objects
returns the detail of each resource definition. You can extract resource definition
data at two levels of detail:
v Without the OBJECTS option, the command extracts either the names of all
the groups within a specified list, or the names of all the resource definitions
within a specified group.
v With the OBJECTS option, all the resource definition attributes are also
extracted.
You must specify OBJECTS for the CICS-supplied sample user programs
DFHxCRFy and DFHxFORy. It is optional for DFH0CBDC and user-written user
programs.
USerprogram(user-written program)
specifies the name of the user-written program that is to process the data
retrieved by the EXTRACT command. You must supply a USERPROGRAM
value.
Examples
The following command uses the CICS-supplied user program, DFH0CBDC, to
extract the resource definitions in group DFHTYPE and create the DEFINE
commands needed to create them. It stores these commands in the file specified by
the CBDOUT DD statement.
EXTRACT GROUP(DFHTYPE) USERPROGRAM(DFH0CBDC) OBJECTS
INITIALIZE syntax
ÊÊ INITialize ÊÍ
Description
You must initialize your CSD file before you can use any of the other DFHCSDUP
commands, or the RDO transactions. After you have initialized your CSD file, you
do not need to execute this function again.
The standard entries for the CICS-supplied resource definitions are created on the
CSD file. The INITIALIZE command arranges these definitions into groups, and
defines these groups in a group list named DFHLIST. This list contains only the
CICS-supplied groups that are required by a CICS system.
CICS supports RDO for transient data. The DFHDCTG group contains sample
definitions of all the CICS-supplied queues. You can add the names of other queues
that you want to be installed at the same time to DFHDCTG. Place DFHDCTG at
the top of DFHLIST so that the queues become available for use at the earliest
possible point during CICS initialization.
If you use another group to install the CICS-supplied queues, make sure that this
group is at the top of the first list to be installed using GRPLIST as part of an initial
or cold start.
You can put other transient data resource definitions into different groups, from
which they can be installed either during an initial or cold start, or at some point
after initialization has completed.
INITIALIZE also creates a control record at the start of the CSD file. This record
contains fields identifying the CICS release and the current level of service applied
to the CSD. It also has fields containing the date and time of creation of the CSD
file, and the date and time the file was last updated. Both these fields appear on the
hard copy listing of the CSD file produced by the LIST command.
If you want to prepare a newly defined recoverable data set for use as a CSD file,
you must INITIALIZE it using non-RLS mode, because a recoverable data set
cannot be opened for output from batch in RLS mode, but the data set needs to be
opened for output in order to initialize it.
LIST syntax
All
ÊÊ LIst ÊÍ
Group(groupname) Objects
LIst(listname)
Description
The listings are output to the SYSOUT data set, along with the messages issued by
the command processing. The result is to print the contents of all the qualifying
groups or lists.
Options
Group(groupname)
specifies only those resource definitions within the named group. You can
specify a generic group name.
LIst(listname)
specifies only those resource definitions within the groups contained in the
named list. You can use a generic list name only if you are not using the
OBJECTS option (the only command where a generic list name is not
acceptable is LIST LIST(listname) OBJECTS).
Objects
specifies the level of detail required for each resource definition. You can extract
resource definition data at two levels of detail:
v Without the OBJECTS option, the command extracts either the names of all
the groups within a specified list, or the names of all the resource definitions
within a specified group.
v With the OBJECTS option, all the resource definition attributes are also
extracted.
Examples
The listings produced by the various commands are as follows:
v LIST ALL
– Names of defined lists and groups
– Summary of lists
– Summary of groups
This prints summaries of all the definitions of lists and groups that exist on the
CSD file.
v LIST ALL OBJECTS
This prints summaries of all the definitions of lists and groups that exist on the
CSD file, together with the properties of the resources in all the groups.
v LIST GROUP(groupname) (group name may be generic)
– Summary of groups
This summarizes the names of all the resources in one or more groups. They are
organized within each group into resource type categories (for example, map
sets, programs, and so on).
v LIST GROUP(groupname) OBJECTS (group name may be generic)
– Summary of groups (see above)
– Objects in groups
This enables you to tabulate the properties of the resources, again organized
according to resource type. The creation time for each resource is given,
together with all its attributes, as originally set up by using DEFINE and ALTER
commands, or by migrating it from a CICS table. The properties of transactions
and profiles are arranged in the same subcategories that appear on the CEDA
DEFINE screen.
v LIST LIST(listname) (list name may be generic)
– Summary of lists
The contents of one or more group lists are tabulated. The groups appear in the
same sequence as their position in the list. This order is set by the commands
ADD and APPEND, which were used in the CEDA transaction to build the list.
v LIST LIST(listname) OBJECTS (generic list name not allowed)
– Summary of lists (see above)
– Objects of groups in list
This enables you to tabulate the properties of all the resources to be defined in a
CICS system at startup time. These are identified by the list name or names
specified in the GRPLIST=(list1,list2,list3,list4) system initialization parameter.
The names of all the groups in the list appear in the summary of lists. Then, for
each group contained in the list, the properties of the individual resources in the
group are tabulated.
The ‘Objects in Groups in Lists’ tabulation arranges the groups in the same order
as they were added to the group list. This order matters if duplication occurs,
when definitions of the same resource may exist in more than one group. If a list
of this type is used at system startup time, the resource definitions used when
there is duplication are those belonging to the group that is latest in the list.
| Transfer the contents of a DCT, an FCT, an RCT, a TCT, or a TST, from a CICS
load library to the CSD file.
MIGRATE syntax
ÊÊ MIgrate TAble(tablename) Ê
TYpesgroup(typesgroupname)
Ê ÊÍ
TOGROUP(groupname)
Description
The contents of a table are transferred as one group, or as a set of several groups,
containing definitions. When migrating large tables, make sure you allocate a
sufficiently large region for the largest table to be loaded.
v To transfer a DCT, the format is:
MIGRATE TABLE(tablename) TOGROUP(groupname)
where TABLE(tablename) identifies the name of the table in the load library
(DFHDCTxx).
The result is a set of groups containing TDQUEUE resource definitions. You can
specify each group using the macro:
DFHDCT TYPE=GROUP,GROUP=xxxxxxxx
which you insert in the DCT source instructions before you assemble them for
migration. All definitions after such a TYPE=GROUP macro (up to the next
TYPE=GROUP macro) go into the group named by GROUP=xxxxxxxx.
Definitions that occur before the first such TYPE=GROUP macro are migrated to
the default group. You can also specify that definitions are to be migrated to the
default group by inserting the following macro in the DCT before the definition
entries:
DFHDCT TYPE=GROUP,GROUP=*DEFAULT
You can use the TOGROUP parameter of the MIGRATE command to assign a
specific name to the default group. If you do not specify TOGROUP, the name of
the default group is taken from the table name. For example, if the migrated table
name is DFHDCT24, the name of the group created is DCT24.
v To transfer an FCT, the format is:
The result is a set of groups containing file and LSR pool definitions. You can
define each group using the macro:
DFHFCT TYPE=GROUP,GROUP=xxxxxxxx
which you insert in the FCT source instructions before you assemble the FCT for
migration. Any file or LSR pool definitions that come before the first such
TYPE=GROUP macro are migrated into a group named after the table name: for
example, if the table name is DFHFCTxx, the group name is FCTxx.
| v To transfer an RCT, the format is:
| MIgrate TAble(tablename) [TOGROUP(groupname)]
| where TAble(tablename) identifies the name of the table in the load library
| (DFHRCTxx).
| which you insert in the RCT source instructions before you assemble the RCT for
| migration. All definitions after such a TYPE=GROUP macro (up to the next
| TYPE=GROUP macro) go into the group named by GROUP=xxxxxxxx.
| Definitions that occurbefore the first such TYPE=GROUP macro are migrated to
| the default group. You can also specify that definitions are to be migrated to the
| default group by inserting the following macro in the RCT before the definition
| entries:
| DSNCRCT TYPE=GROUP,GRROUP=*DEFAULT
| You can use the TOGROUP parameter of the MIGRATE command to assign a
| specific name to the default group. If you do not specify TOGROUP, the name of
| the default group is taken from the table name. For example, if the table name is
| DFHRCT24, the name of the group created is RCT24.
v To transfer a TCT, the format is:
MIgrate TAble(tablename) [TYpesgroup(typesgroupname)]
If this parameter is not specified, the TYPETERM definitions are put in the
GROUP currently being created, with the TERMINAL definitions.
which you insert in the TCT source instructions before you assemble the TCT
for migration. Any terminal definitions that come before the first
TYPETERMs created on the CSD file during the migration are named
systematically, in a way related to the TRMTYPE parameter of the original
terminal definition. The name consists of a prefix (3–5 characters) with a
3-character suffix. For example, a TYPETERM defining attributes for a 3270
printer is named 3270P001. Variants with the same TRMTYPE are named
3270P002, and so on. The migration process ensures that this name is used
as the TYPETERM parameter of every terminal definition that references it.
Note: Migrating your TCT does not cause an error if the destination group
already exists. Only definitions that already exist are flagged by an error
message; any new or additional definitions are added to the existing
group.
To transfer a TST, the format is:
MIgrate TAble(tablename) [TOGROUP(groupname)]
where TABLE(tablename tablename identifies the name of the table in the load
library (DFHTSTxx) and TOGROUP(groupname) specifies the name of the group
to contain the definitions obtained from the TST.
You can use the TOGROUP parameter of the MIGRATE command to assign a
specific name to the default group. If you do not specify TOGROUP, the name of
the default group is taken from the TABLENAME. For example, if the tablename
is DFHTSTJP, the name of the group created is TSTJP.
Options
TAble(tablename)
specifies the name in the load library of the table you want to migrate (that is,
DFHDCTxx, DFHFCTxx, or DFHTCTxx).
TOgroup(groupname)
specifies the name of the group to which the definitions are to be migrated. This
is for use with DCT migration only.
TYpesgroup(typesgroupname)
specifies the name of the group to which the TYPETERM definitions are to be
migrated. For use with TCT migration only.
ÊÊ PROCESS Apar(aparnumber) ÊÍ
|
| Description
| The PROCESS APAR command is used to apply maintenance to your CSD file for
| a specific APAR. Only use this command in accordance with the instructions in the
| associated PTF cover letter.
|
| Options
| Apar(aparnumber)
| The number of the APAR providing the maintenance; for example, PROCESS
| APAR(PQ12417) is used to apply maintenance for APAR PQ12417.
REMOVE syntax
Description
The group, and all its resource definitions, still exists on the CSD file.
Options
Group(groupname)
specifies the name of the group to be removed. Do not use a generic group
name.
LIst(listname)
specifies the name of the list from which a group is to be removed. Do not use
a generic list name. When the last group is removed from a list, the list no
longer exists on the CSD file.
Examples
A list LL02 contains the following groups:
This leaves:
SCAN all the IBM-supplied groups and user-defined groups for a specified
resource. The definition of the matched resource in an IBM supplied group is
compared with the definition(s) of the corresponding matched resource in the user
groups.
SCAN syntax
ÊÊ SCAN Connection(name) ÊÍ
DB2Conn(name) ALIAS(aliasname)
DB2Entry(name)
DB2Tran(name)
DOctemplate(name)
Enqmodel(name)
File(name)
Journalmodel(name)
Lsrpool(name)
Mapset(name)
PARTItionset(name)
PARTNer(name)
PROCesstype(name)
PROFile(name)
PROGram(name)
Requestmodel(name)
Sessions(name)
TCpipservice(name)
TDqueue(name)
TErminal(name)
TRANClass(name)
TRANSaction(name)
TSmodel(name)
TYpeterm(name)
Description
For information about the types of resource that you can specify on the SCAN
command, and for a description of the attributes and default values of each
resource type, see the CICS Resource Definition Guide.
The SCAN command searches all the IBM supplied groups in the CSD for a
resource definition of a specified name and type. A message is issued with the
results of the search. The user-defined groups are then searched for the same
resource definition. The outcome of this can be one of the following:
v If an IBM-supplied group and one or more user-defined groups contain the
resource definition, a comparison is made between the definition in the
IBM-supplied group and the user group(s). A message is issued indicating
whether the definition in the IBM supplied group matches the definition(s) in the
user group(s).
v If the resource definition is not found in the user defined groups a message is
issued.
You can use the SCAN command to check for differences between IBM-supplied
definitions that you have modified and the latest IBM-supplied versions after an
upgrade.
Options
Alias(aliasname)
specifies the alias name of the resource type to be searched for in the
user-defined groups.
Examples
To search the CSD for transaction CEDA:
SCAN TRANSACTION(CEDA)
To search the CSD for transaction CEDA with an alias name of AEDA:
SERVICE syntax
Description
You might occasionally (between CICS releases) have to apply a service routine to
carry out preventive or corrective maintenance to your CSD file. You do this by
loading and running a special service program (DFHCUS1), which is supplied with
CICS as a separately loadable module.
You can use the SERVICE command to create a new copy of the CSD file, from the
existing CSD file. All the definitions are preserved, with the corrections (if any)
applied.
Options
FRomcsd(ddname)
specifies the ddname of the current CSD file, which for the purposes of the
command is treated as the secondary CSD file.
LEvel(nnn)
Associated with your CSD file is a current service level, initially set to 000 when
the file was initialized. Applying the service routine causes the service level to
be incremented in steps of one, from a “current level” to a “target level”.
This operand specifies the target service level to which the CSD file is to be
upgraded, and must be 1 higher than the current level of FROMCSD. Specify it
as a 3-character integer; for example, LEVEL(001).
UPGRADE syntax
ÊÊ UPgrade ÊÍ
USing(filename) Replace
Description
| Upgrades the IBM-supplied definitions in the CSD. Definitions are added to,
| modified in, or deleted from DFH-groups. Note that deleted definitions are added to
| compatibility groups with names of the form DFHCOMPn. This enables you to share
| the CSD with earlier releases of CICS after you have run the upgrade command.
The upgrade command can also be used to apply any package of IBM-supplied
resource definitions to the CSD file. For example, the definitions for the CICS
sample programs and transactions can be transferred to the CSD file with the
UPGRADE statement.
Options
Replace
Specify the REPLACE option when you need to rerun the UPGRADE command
(for example, because of a previous failure).
USing(filename)
Upgrading a CSD file does not require you to use the USING operand. All
IBM-supplied definitions from any release are deleted and then the CSD file is
initialized, so you do not need to say which release you came from. However,
UPGRADE USING(filename) is used to install IBM features onto CICS. For
example, UPGRADE USING(DFHRDJPN) is used to place the double-byte
character set feature definitions onto the CSD file.
VERIFY syntax
ÊÊ VERIFY ÊÍ
Description
Use the VERIFY command only when the CSD file is not in use and no backout
processing is pending on the CSD file; preferably use it only when no CICS
systems that may use the CSD file are running. In particular, do not use the
VERIFY command while CICS systems could be accessing the CSD file in RLS
access mode.
VERIFY acts on the whole CSD file, and is for use in the extreme condition where
internal lock records have been left behind. These records are normally removed
when a function that changes the CSD file has been completed. However, this may
not have happened if there was a system failure when the CEDA transaction was
running, or if an offline utility failed to finish. The locks may prevent CEDA users
from accessing certain groups and lists on the CSD file.
Note that VERIFY removes only the internal locks. It does not affect the normal
user locks applied by the LOCK command in the CEDA transaction.
Before going on to discuss the process, we first discuss the reasons why such a
process may be necessary.
Note: The quiesce mechanism cannot inform batch programs that have the data
set open in RLS access mode about the quiesce request. If you have such
programs, you should use the DFSMS™ SHCDS LIST subcommands to
check whether any non-CICS jobs have files open in RLS mode against the
data set. For information about the SHCDS LIST subcommand, see
DFSMS/MVS Access Method Services for ICF, SC26-4906.
Quiescing a data set sets the quiesce flag in the ICF catalog so that the data set
can be opened in non-RLS mode only. This is the recommended way of making
data sets available for batch programs. However, even if a data set has been
quiesced, you still cannot open it for update in non-RLS access mode if SMSVSAM
is holding retained locks against the data set. This is because the locks are needed
to preserve data integrity: they protect changes that are waiting to be either
committed or backed out.
For more information about the procedures you should follow for checking and
handling retained locks when switching to non-RLS mode, see the CICS Recovery
and Restart Guide.
You can use these sample programs unmodified, or you can use them as a basis
for writing your own programs. The programs are DFH0BAT1 through DFH0BAT8.
The sample programs, using the INQUIRE DSNAME, INQUIRE UOWDSNFAIL, and
SET DSNAME SPI commands, help you to deal with any retained locks. When you
have successfully dealt with these, you can quiesce the data sets to close the
RLS-mode files using the SPI or CEMT commands.
Three of the programs are coordinating programs, which use CICS distributed
program link (DPL) commands to run programs on a set of nominated CICS
regions. The following is a summary of these 3 coordinating programs:
DFH0BAT1
This sample program coordinates the disabling of a set of nominated
transactions. This prevents the creation of new retained locks.
DFH0BAT2
This sample program coordinates the identification of retained lock information
for a set of nominated data sets:
v For each data set, it issues a SET DSNAME RETRY command to try to
resolve any retained locks that are due to transient failures, or failures that
have been corrected.
v After a timed delay to allow retries to run, it issues an INQUIRE
UOWDSNFAIL command to obtain information about any remaining shunted
UOWs that have made uncommitted changes to the data set. It displays the
information returned by the command, together with recommended
procedures for resolving the locks.
DFH0BAT3
This sample program coordinates the forcing of locks for a set of nominated
data sets:
v For each data set, it forces backout for the shunted in-doubt UOWs
v After a timed delay to allow the forced backouts to run, it resets the locks for
any commit-failed or backout-failed UOWs.
The DFH0BAT3 sample program is also useful for resolving pending backouts
after a failure to forward recover a data set.
The programs are written VS COBOL II only, and are supplied with the necessary
BMS maps and other copybooks. A summary of the processing performed by each
program is given in the following table:
Chapter 29. Batch-enabling sample programs for RLS access-mode data sets 187
Table 11. Functional summary of the DFH0BATx programs (continued)
Program Functional overview
DFH0BAT8 Linked by DPL request from DFH0BAT3 to force the release of
retained locks.
For more information about the sample programs, see the comments in the prolog
of each of the programs.
Note: These definitions and TD queues need only be available to the CICS region
you select to be the coordinator. They do not need to be defined to the
target CICS regions. The queue names are coded in the programs, but you
can change these if you want to use names that conform to your own
naming conventions.
Overview
DFHMSCAN scans load modules, looking for instruction sequences that appear to
be macro expansions. It locates and, optionally, lists each code sequence that
seems to result from a macro instruction. The suspect code sequences may be:
v CICS-supplied DFH macros listed in the CICS/ESA Application Programmer’s
Reference (Macro Level) manual, SC33-0079.
v CICS-supplied macros not listed in the CICS/ESA Application Programmer’s
Reference (Macro Level) manual, but present in MACLIB.
v User-modified CICS macros
v User-written macros
v None of these.
DFHMSCAN identifies CICS DFH macros explicitly where it can. It also reports the
use of obsolete EXEC CICS ADDRESS CSA commands.
DFHMSCAN’s primary purpose is to give you the information you need to develop a
conversion plan, and to quantify the resources you need to achieve it. Based on its
reports, you might, for example, decide to convert some of your macro-level
programs to command-level, to discard some, and to contact the suppliers of
others.
DFHMSCAN does not itself use any CICS macros, commands, or DSECTs. It runs
in batch mode and can run concurrently with online CICS systems. It does not alter
the contents of the libraries that it scans.
Running DFHMSCAN
To run DFHMSCAN, you need the following JCL:
//SCANJOB JOB ACCOUNTING INFO,CLASS=A
//SCAN EXEC PGM=DFHMSCAN,PARM=‘pppppppp’
//STEPLIB DD DSN=CICSTS13.CICS.SDFHLOAD,DISP=SHR
//INPUT DD DSN=xxxxxxx.LOADLIB,DISP=SHR
//OUTPUT DD SYSOUT=A
//SUMMARY DD SYSOUT=A
//
PARM='pppppppp'
The PARM option of the EXEC statement has two possible values, which
specify the processing and the report required:
Using DFHMSCAN
The recommended way to use DFHMSCAN is to:
1. Produce a summary report to identify suspect modules
2. Produce detailed reports to review modules that the summary report flagged as
suspect.
Summary report
If you specify PARM='$SUMMARY', DFHMSCAN summarizes the entire library. The
summary report contains:
v A separate analysis of each module in the library:
– Name
– Size
– Language (if determined)
– Number of CICS macro-level statements
– Number of CICS command-level statements
– Number of unrecognized BALR instructions.
If a module seems to contain ADDRESS CSA commands, it is flagged with the
message “POSSIBLE ADDRESS CSA”.
Detailed report
If you specify PARM='NAME1,NAME2,...', DFHMSCAN scans the named modules
only, and produces:
v A detailed report for each named module, that contains:
– A line for each BALR found, giving:
- Its offset from the start of the module
- Its address in storage
- 20 bytes of the code that precedes it
- What the code appears to be:
DFHxxx MACRO
A CICS DFHxxx macro, where “xxx” is the two- or three-letter
identifier of the macro-type.
DFHxxx call
A specific CICS DFHxxx macro call.
EXEC CICS, EXEC DLI, DLI CALL OR DFHBIF DETECTED
An EXEC CICS or EXEC DLI command, a DLI call, or a DFHBIF
macro.
BALR/BASR 14,14 FOUND - NO FURTHER INTERPRETATION
An unidentified instruction, but not a CICS-supplied macro. The
code may be, for example, a user macro or a user-modified CICS
macro that may need to be replaced.
BALR 14,15 FOUND - NO FURTHER INTERPRETATION
An unidentified instruction, but not a CICS-supplied macro. The
code may be, for example, a user macro or an EXEC CICS
command.
– An analysis of the module, in the same form as the analysis of each module
in a summary report.
v A summary report for the named modules only.
Note: The SNT must have been generated at a release of CICS before CICS
Transaction Server for OS/390, because CICS Transaction Server for
OS/390 does not support generation of SNTs.
Note: Only a user with the RACF authority SPECIAL can execute the CLIST to
update the RACF database.
Figure 32. Batch job to execute the CLIST created by the DFHSNMIG program
| The source code for DFH$STED is supplied in the hlq.SDFHSAMP samples library,
| and the pregenerated version is supplied in hlq.SDFHLOAD. It uses standard EXEC
| CICS calls to set the times and frequencies to produce SMF statistics. The program
| source contains extensive comments that explain how the program fucntions, and
| also includes the documented variables. You can use the sample program asis from
| SDFHLOAD, or:
| v Make the appropriate changes for your environment
| v Assemble the program into a library that is before SDFHLOAD in the DFHRPL
| concatenation
| v Include the CSD group definition for DFH$STAT into your startup group list
| v Add the sample program name to the 2nd phase list of programs in your PLTPI
| table
| You should run the DFH$STED program in the third phase of CICS initialization
(that is, during the second phase of PLT processing).
You can use the following three parameters to control how the end-of-day time is
amended. These parameters are part of the source of DFH$STED. To change them
you will have to modify the source of DFH$STED, which is located in SDFHSAMP.
EODDRIFT
specifies the end-of-day drift time; that is, the maximum allowable drift from the
original end-of-day time.
This enables you to stagger the end-of-day time of each of your CICS regions
by a pseudo-random amount (based upon the time of day at which the program
is executing), up to a user-specified maximum value. Since intervals are
calculated using the end-of-day as a base time, the occurrence of intervals are
staggered by this pseudo-random drift time. The default is ten minutes.
EODTIME
specifies whether the end-of-day time before amendment by the drift value
should take the current value (that is, 00:00:00 if COLD started, or the value at
previous CICS shutdown if AUTO or WARM started).
You should set this field to CURRENT if you need the current end-of-day time,
or FIXED if you need a new end-of-day time. If you specify FIXED, you should
specify the new time on the EODFIXED parameter. The default value of the
EODTIME parameter is FIXED.
EODFIXED
specifies the new logical end-of-day time, in the form hhmmss, as a
hexadecimal value in the range X'000000' through X'235959'. Specify the
EODFIXED parameter only if you also specify the EODTIME=FIXED parameter.
When used in conjunction with a finite value of EODDRIFT, the drift value
Example
You could specify the following values for the parameters of the DFH$STED
program if:
v All your CICS regions collect and write their statistics at hourly intervals
v You want to see statistics for all the CICS regions over the same period, but
without performance degradation.
EODDRIFT=5 (5 minutes maximum drift time)
EODTIME=FIXED (a new end-of-day time)
EODFIXED=X'000000' (end-of-day time is midnight)
This would vary the statistics intervals by a pseudo-random amount, from midnight,
up to maximum of five minutes:
Region 1 - statistics taken at 12.00.00
Region 2 - statistics taken at 12.04.10
Region
. 3 - statistics taken at 12.01.45
.
.
Region n - statistics taken at 12.00.27
Requirements
To use the message editing utility, you need the following:
v DASD space
The message editing utility needs 2.5MB for the programs and panels, and 9MB
for the source English message data set. The utility allocates 4MB for each
target language.
v ISPF Version 3
The message editing utility requires a minimum ISPF level of Version 3.
v Access authority
To use the message editing utility, you need alter authority for the target data
sets index, defined in “Defining the utility data set index” on page 198.
Note: Several of the CICS messages cannot be changed by the message editing
utility. In the CICS Messages and Codes, these messages are annotated
accordingly.
If you want to invoke the message editing utility with a different data set prefix, you
can pass the data set name from the command table. Alternatively, you can use the
MEULIB(xxxxxxxx.xxxxxxxx) parameter on the CLIST command, where
xxxxxxxx.xxxxxxxx is the prefix that you want to use. For example:
TSO EX 'CICSTS13.CICS.SDFHCLIB(DFHMEUCL)' 'MEULIB(mymeu.prefix)'
where mymeu.prefix is the prefix to be used for the utility data sets. MEULIB need
only be specified if the prefix has been changed from the default.
3 Perform actions on message data sets (from main panel) such 203
as:
v Copy message data set members
v Select message sets to be edited
v Edit selected messages
v Assemble and link-edit changed message set members
v Generate a message load module
4 Add the new message module to STEPLIB. For each CICS 207
region that is to use the new message module, specify the
corresponding language code on the NATLANG system
initialization parameter.
5 (If needed) Apply PTFs 208
A TSO user must not use the message editing utility concurrently from two split
screen sessions.
Note: If you are starting the message editing utility after it has failed, you must first
delete the control files from the previous run before the utility can be
restarted. The control files are called target_data set_index.MEUCNTLx,
where:
target_data set_index
is the index for all message editing utility target data sets.
x is the CICS one-character language code.
For more information about using ISPF dialog services to start functions (such as
the message editing utility), see the ISPF Dialog Management Guide and
Reference.
Note: When you first start the message editing utility, the following message is
overlaid on the CICS macro library and CICS SDFHAUTH library lines; but
after you press the ENTER key, the message is removed.
MEU017 Defaults must be set before the Message Editing Utility can be used.
While entering the defaults you can press the ENTER key to save the values as
you progress. When you have entered all the required default values, you can save
the values and exit the panel by using End (F3). This either returns you to the
“Message Editing Utility” main panel or displays the Set defaults panel 2, as shown
in Figure 34 on page 201.
When you have defined your default values, any subsequent start of the message
editing utility displays the message editing utility Main panel first.
Values are saved when ENTER, Forward (F8), or End (F3) is pressed.
Note: After the MEU target data sets index and the SMP/E maintained
SDFHMSRC parameters have been set they should not be changed. The
message editing utility creates a copy of the SMP/E maintained SDFHMSRC
for its own use, called MEU target data sets index.SDFHMSRC. These
parameters are also used as a base for the PTF update job. Changing either
can result in inconsistencies in the message files.
The + sign beside the current language suffix field indicates that further help is
available. Select Language (F4) to view the Language selection panel. (See
Figure 35 on page 203.) The language suffix that you select is shown in the Current
language (NATLANG) field.
To refresh the values back to the values last saved, use Refresh (F5).
To create a message module, the utility needs to find all the translated messages
for a language under the same target data set index. Therefore, you must not split
the messages modules for a language between data sets with different indexes.
When the utility creates a new message module, it adds the module to the
DFHMEUL load library specified on the Set defaults panel. For CICS to use this
library, it must be APF-authorized, and added to the STEPLIB concatenation of your
CICS startup job. (Alternatively, you can copy the new message module to another
library in the STEPLIB concatenation.)
The CICS SDFHAUTH library specified on the Set defaults panel is used only to
find the message module for messages that have not been edited.
Values are saved when ENTER, Backward (F7), or End (F3) is pressed.
Figure 34. Message editing utility set defaults panel (2 of 2). This defines the job statement
information added to the JCL to link-edit and generate message load modules, and to apply
PTF updates.
Languages that have already been set up and used are indicated by the status
Copied.
To select a language type a / character in the field to the left of the NLS code
column and press ENTER.
All the current English message source members are displayed on the Main panel.
Use Forward (F8) and Backward (F7) to scroll up and down the list.
The status shown for a member is always the last action performed on that
member. For example, if the action performed was Copy and a previously copied
version of the source exists, the status changes to one of the following:
v Replaced, if you have set the default parameter Replace members during
English source copy? to Yes. The English source member is copied to your
target source data set.
v No-Replace, if the value of the default parameter Replace members during
English source copy? is No. The English source member is not copied to your
target source data set. If you wanted to copy the source member, you can
change the default and repeat the copy command.
The Set defaults panel can be accessed by Defaults (F11). (See Figure 33 on
page 200.)
The PTF update panel can be accessed by ApplyPTF (F10). (See Figure 39 on
page 209.)
The other actions that you can perform from this panel are described in the
following sections:
Note:
When you select a message set to be edited, the utility scans the file for the
message numbers that it contains, and displays the Message number selection
panel for those messages. The message numbers displayed are all the translatable
messages from that message set. Any messages that cannot be translated are
identified as such by a note added to the message in the CICS Messages and
Codes. An example of the Message number selection panel is shown in Figure 37
on page 206.
To select one or more messages to be edited, type a / character in the field to the
left of the message number, then press ENTER. When you press ENTER the Edit
message panel (see Figure 38) is displayed for the messages selected.
Editing selected message sets: You can use the Edit message panel to change
the text and reply inserts, and the order of inserts, of selected messages. An
example of the Edit message panel is shown in Figure 38.
For information and rules about editing CICS messages, see “Rules for editing and
translating” on page 210.
To link-edit a message source member, type L against the member name, then
press ENTER. This submits a job to JES to convert the message source member
into assembler language.
Note: Check the link-edit job output to ensure that it completed successfully. If not,
examine the error messages generated, correct the message set and
re-submit the link-edit job.
Generating a message load module: When you have edited and link-edited all
the messages source members that you require, the next step is to create a load
module to use with your CICS regions. To do this, use Generate (F5) on the Main
panel. This assembles the link-edited version of all your message members with the
English version of any you have chosen not to translate. Successful completion of
this step results in DFHMET1x and DFHMET5x load modules being placed in the
data set specified in the DFHMEUL load library field on the Set defaults panel.
These modules can be used with your CICS job by placing them in the relevant
APF-authorized library and specifying the associated language code on the
NATLANG system initialization parameter.
Sorting the lists of message set members: To sort the lists of message sets
displayed on the Main panel use the sort function key (F6). You can sort the
message set member list by:
v English name
v New name
v Status
v Date and time.
Each time you press the sort function key the next sort order in the above list is
selected.
Note: CICS always loads the standard English message table by default,
regardless of what you specify on the NATLANG system initialization
parameter. To ensure your own message tables are selected as the default
tables, specify your own language code first on the NATLANG parameter.
Examples
If you modify messages using language code A (for alternative ENGLISH) you
should specify NATLANG=A (or NATLANG=(A,E) to ensure your modified message
tables are used as the default tables in place of the standard English versions.
NATLANG=A is equivalent to NATLANG=(A,E). Do not specify (E,A).
Figure 39. Message editing utility submit PTF update job panel
When the details have been completed and verified, press the Submit (F5) to
instruct the message editing utility to build and submit a TSO CLIST to apply the
PTF updates. This CLIST is intended for TSO Background execution only.
Immediately after pressing Submit (F5), the message editing utility terminates. The
utility is prevented from restarting while the PTF update job is in progress. If the
update process should fail for any reason, two data sets will be left over that will
prevent the message editing utility from running. In this situation the following data
sets can safely be deleted:
userid.MEU.PTFJOB
userid.MEU.PTFCLIST
DFHMEUU ---------------------------------------
DFHMEUU ---------------------------------------
Figure 40. Message editing utility PTF update log sample output
These types of inserts must not be changed in any way. However, when editing the
message, you can alter the order and position of the inserts within the message, to
make the sentence structure more appropriate, but must not change the insert
number. The positioning of inserts in the message template determines the location
Figure 41. Message editing utility edit message panel showing types of inserts
In the example in Figure 41, line numbers 229000 and 231000 can be moved but
must not be altered in anyway.
Message items that can be altered: The message editing utility limits the editing
to the message text, to maintain the integrity of the message definition. You can
alter the following types of message item:
1.
text “text_string”
ins#n format OPT value#n ″text_string″
You can translate the text, text_string, which appears between the two double
quotes or text delimiters. The “text_string” must not extend beyond column 72 or
be continued onto the next line. If more than one line is required for the text,
another text “text_string” record must be added. The text may be in upper or
mixed case. Double-byte text must be enclosed in shift-out and shift-in
delimiters within the text_string.
For optional inserts, OPT value#n, the value#n can spread over several
adjacent lines. If you move such an insert, you must move all subsequent
value#n lines that are part of the insert. If you do not move all value#n lines for
an insert, the message editing utility does not detect this, but CICS will issue an
error message if it tries to issued such an incompletely edited message.
Figure 42. Message editing utility edit message panel, opt insert split over lines
2. reply#n “text_string”
These are a special form of message insert which also serve to define the reply
values for a console message requiring an operator reply. They are not be
applicable to DBCS languages, because console messages cannot be
translated into DBCS languages, unless they are sent to a TDQ destination as
well. The positional rules are the same as for other types of inserts. As with the
value#n keyword, the text_string within the double quotes following the reply#n
keyword may be translated. The text_string must be in upper case. An example
of this is shown in Figure 43.
Figure 43. Message editing utility edit message panel showing reply#n over several lines
In calculating the overall message length, you must include the lengths of both
inserts and text strings. The following is a guide to the lengths of inserts and
special_inserts;
v Insert fields (depending on type)
CHAR n bytes (specified in insert comment)
HEX up to 14 bytes
DEC up to 6 bytes
OPT translatable field of variable length
v Special_inserts
APPLID 9 bytes
SYSID 5 bytes
DATE 9 bytes
TIME 9 bytes
TRANID 5 bytes
TERMID 5 bytes
TRANNUM 6 bytes
PROGRAM_NAME 9 bytes
USERID 9 bytes
NETNAME 9 bytes
PRIMARY_ABCODE 5 bytes
SECONDARY_ABCODE 5 bytes
All the special_inserts have a trailing blank which has been taken into account.
Change flags: Some lines have a symbol such as ‘@PA’ at the end of the line.
These symbols are IBM internal change flags and can be removed or over typed if
needed.
Getting help
From any message editing utility panel, you can press Help (F1) to display help
information relevant to that panel.
If you press Contents (F11) from any help panel, the message editing utility Help
contents panel is displayed.
Users new to this utility are advised to review the general information topic.
For further information refer to CICS Operations and Utilities Guide.
1 - General information
2 - Main panel
3 - Setting the system defaults
4 - Selecting a language suffix
5 - Selecting a message number
6 - Editing a message
7 - Submit PTF update job
COMMAND ===>
F2=Split F9=Swap F12=Cancel
To display help information for a specific topic, type the number for the topic, press
ENTER.
Note: If the program named by the shutdown transaction cannot be loaded, CICS
waits indefinitely for all user tasks to complete, which may cause shutdown
to hang. This happens on an immediate, as well as on a normal, shutdown.
You can use the shutdown assist transaction to help solve two of the problems that
can arise when shutting down CICS:
v On a normal shutdown, CICS waits for all running tasks to finish before entering
the second stage of shutdown. Long-running or conversational transactions can
cause an unacceptable delay, or can require operator intervention.
v On an immediate shutdown, CICS does not allow running tasks to finish; and
backout is not performed until emergency restart. This can cause an
unacceptable number of units of work to be shunted, with a consequent retention
of locks.
Tasks are purged in three steps; successive steps use increasingly stronger purge
techniques and are invoked only if tasks refuse to disappear from the system. The
three purge steps that DFHCESD moves through are:
1. Normal purge is issued for all remaining tasks.
2. VTAM is force closed and IRC is closed immediately.
3. CICS is shut down using PERFORM SHUT IMMEDIATE. (Note that this step
does not cause the shutdown assist transaction to run again.)
To check whether tasks are ending sufficiently quickly, DFHCESD samples the
number present in the system. It performs a purge operation, and moves on to the
next step, only if the number of tasks does not reduce over eight samples (normal
shutdown) or four samples (immediate shutdown). After taking a sample, DFHCESD
issues a delayed EXEC CICS START request for itself, passing the current sample
count in a temporary storage (TS) queue record. The new invocation of DFHCESD
also takes a sample, and compares this with the last sample from the TS queue
record. It then decides whether to carry out the purge operation and move to the
next step, or to remain on the current step.
On the initial invocation, SDFN is '00', SDXN is set to the task number of the
shutdown task, and SDNT and SDET are zero.
Figure 45 on page 218 shows some example messages generated by a run of the
DFHCESD sample program.
Figure 45. Example messages generated by the sample DFHCESD program (Part 1 of 3)
Figure 45. Example messages generated by the sample DFHCESD program (Part 2 of 3)
Figure 45. Example messages generated by the sample DFHCESD program (Part 3 of 3)
Note: For detailed information about the type of startup produced by each possible
combination of START setting, global catalog and system log contents, and
autostart override, see the CICS System Definition Guide.
Overview of DFHRMUTL
DFHRMUTL processes the global catalog data set. It can insert or modify the
recovery manager autostart override record. Optionally, it can extract a subset of
the catalog records to build a reduced new catalog for a cold start.
Input to DFHRMUTL
You can specify what you want the utility to do by supplying parameters in a single
optional record in the input data set, SYSIN. See “Specifying parameters” on
page 222.
You may need to supply one or two CICS global catalog data sets:
DFHGCD
The catalog from which a copy is extracted or, if no copy is being made, the
one in which the autostart override record is placed.
NEWGCD
The catalog which is cleared and receives the copy, if one is requested.
JCL requirements
DFHRMUTL runs as a standard operating system job. You require a JOB statement,
an EXEC statement, and DD statements defining input and output. “Examples of
using DFHRMUTL” on page 225 contains some example jobs that illustrate the uses
of DFHRMUTL.
DD statements
This section describes the DD statements for the input and output data sets used
by DFHRMUTL.
STEPLIB DD
Defines a partioned data set (DSORG=PO) containing DFHRMUTL. If
DFHRMUTL is in the link list, this statement is not required.
SYSPRINT DD
Defines the output data set for results, information and error messages. The
DCB parameters for this data set are RECFM=FBA and LRECL=133.
The block size can be provided on the SYSPRINT DD statement and must be a
multiple of 133. The default is 133.
SYSIN DD
Defines the input data set. This file must be in 80-byte record format.
DFHGCD DD
Defines the input global catalog data set, which may be empty. This catalog
may be updated unless the COLD_COPY parameter is specified, in which case
it is only read.
Note: An empty catalog data set, after having an override record inserted by
DFHRMUTL, may then be used by a CICS system for startup.
NEWGCD DD
Defines the output global catalog data set. This statement is not required unless
the COLD_COPY parameter is specified. If COLD_COPY is specified the
NEWGCD data set is first cleared and then has DFHGCD records and an
override record added to it. It must have been defined with the VSAM REUSE
attribute.
Specifying parameters
You can use the parameters SET_AUTO_START and COLD_COPY to control the
actions that DFHRMUTL takes.
A diagnostic run is used to diagnose problems on the CICS system log. The
output produced by a diagnostic run is usually passed to IBM Service.
If the system log becomes corrupt, CICS sets the recovery manager
autostart override record in the global catalog so that the next automatic
start (START=AUTO) is a diagnostic run. However, there may be other
Return codes
DFHRMUTL sets one of the following return codes:
00 The parameters are valid and all reads and writes to the input and output
data sets were successful.
16 One or more errors were detected during execution. An error message is
output.
Errors that DFHRMUTL may detect are:
v A read or write error for the SYSIN or SYSPRINT data set
v A read or write error for one of the catalog data sets
v A syntax error in the parameters
v A parameter that is incompatible with the input catalog data set
You could use this job to modify a newly-defined global catalog. This would mean
that could retain START=AUTO for all your CICS start jobs, including the first with a
new global catalog.
Note: If you use this step to initialize a newly-defined global catalog, you should
use the DFHCCUTL utility to initialize the local catalog too. (If you use it to
reinitialize an existing global catalog, it is not necessary to initialize the local
catalog.) For information about initializing catalog data sets, see the CICS
System Definition Guide.
Figure 49. DFHRMUTL—setting the global catalog for a cold start. COLD_COPY is used to
improve performance.
Overview
DFHBMSUP can recreate the original BMS macros that were assembled to produce
a mapset load module, when the macro statements are no longer available.
The utility program generates map definition macros that are equivalent to the
originals, and thus can be used to recreate symbolic maps if the original source has
been lost. However, it is not possible to recover the original field names used. Field
names are generated by the utility and you can then edit them.
Input
All input information is defined in the JCL.
Output
DFHBMSUP provides the following outputs:
Output map
Name defined in the BMSOUT DD statement.
Output map library
Name defined in the BMSOUT DD statement.
DD statements
This section describes the DD statements for the input and output data sets used
by DFHBMSUP.
STEPLIB DD
Defines a partitioned data set (DSORG=PO) containing DFHBMSUP. If
DFHBMSUP is in the link list, this statement is not required.
DFHRPL DD
Defines a partitioned data set (DSORG=PO) containing the mapset load module
to be processed. The member name is supplied in the PARM field of the EXEC
statement.
Return codes
DFHBMSUP sets one of the following return codes:
0 Utility executed successfully.
4 Input mapset could not be located.
8 Output mapset could not be opened.
//********************************
//* RUN THE DFHBMSUP PROGRAM *
//* INPUT BMSET01 *
//* OUTPUT MAPOUT *
//* *
//********************************
//*
//RUNPROG EXEC PGM=DFHBMSUP,PARM='BMSET01',REGION=2M
//STEPLIB DD DSN=CICSTS13.CICS.SDFHLOAD,DISP=SHR
//BMSOUT DD DSN=OUTPUT.MACLIB(MAPOUT),
// DISP=SHR
//DFHRPL DD DSN=INPUT.BMSLIB,DISP=SHR
//SYSUDUMP DD SYSOUT=*
//*
You can edit all the names to be more meaningful for your application.
* This is an unaligned mapset
*
TITLE 'BMSET40 Mapset MACRO Definition Listing'
@000001 DFHMSD TYPE=DSECT,LANG=ASM,MODE=INOUT
*
BMAP400 DFHMDI SIZE=(1,80),CTRL=(FRSET,FREEKB),COLUMN=1,LINE=1, *
MAPATTS=(COLOR,HILIGHT)
DFHMDF POS=0,LENGTH=4,ATTRB=(ASKIP,BRT),COLOR=PINK, *
HILIGHT=REVERSE,INITIAL='BM40'
DFHMDF POS=5,LENGTH=1,COLOR=BLUE
FLD00001 DFHMDF POS=16,LENGTH=45,ATTRB=(ASKIP,BRT),COLOR=NEUTRAL
DFHMDF POS=62,LENGTH=1,COLOR=BLUE
FLD00002 DFHMDF POS=78,LENGTH=1,COLOR=YELLOW
BMAP401 DFHMDI SIZE=(9,80),CTRL=(FRSET,FREEKB),COLUMN=1,LINE=2, *
MAPATTS=(COLOR,HILIGHT)
DFHMDF POS=0,LENGTH=1,COLOR=BLUE,INITIAL=' '
For detailed information about defining the resources needed by the utility, and
about its individual components, see the CICS Transaction Affinities Utility Guide.
Note: The Transaction Affinity Utility element detects transaction affinities in CICS
Transaction Server for OS/390 only. If you want to detect affinities in earlier
releases of CICS, for example, CICS/ESA 4.1, you need to use the IBM
CICS Transaction Affinities Utility MVS/ESA, program number 5696-582.
Contact your IBM representative for more information about this product.
This utility is needed because the RLS record locks, which preserve data integrity,
are not available at the remote site.
Overview of DFH$OFAR
DFH$OFAR causes each CICS region to issue message DFHFC0574 to indicate
that RLS offsite recovery is being performed, followed by a WTOR message,
DFHFC0575, when it has completed recovery of all RLS datasets which that CICS
had updated.
The operator is required to wait until every CICS in the CICSplex has issued the
message, and only then reply to the DFHFC0575 messages.
This mechanism protects the RLS data sets from being accessed by new work until
all the recovery work in the CICSplex has been completed.
A unique control file should exist before DFH$OFAR is run, which should be
accessible from any participating MVS image within the sysplex. The control file of
DFH$OFAR should contain a record for each participating CICS region.
Each participating MVS image in the Sysplex should have NetView configured so
that when any CICS region issues messages DFHFC0574 or DFHFC0575,
DFH$OFAR is called.
DFH$OFAR extracts the relevant input parameters from the message held in the
global variables ’token(1/2/..)’. These parameters are the message id, CICS id
(APPLID), and the message reply number.
If the message id is DFHFC0574 then DFH$OFAR updates all entries that are not
’message issued’ state to ’message waiting’. Otherwise the existing state is
preserved.
If the message id is DFHFC0575 then DFH$OFAR updates the record for the CICS
entry, denoted by the input CICS id, to ’message issued’. If this is not in the control
file, it is ignored. All other entries that are not in ’message issued ’ state are set to
’message waiting’. Otherwise the existing state is preserved.
When all entries in the control file are in ’message issued’ state, DFH$OFAR
generates an automatic reply to each DFHFC0575 message issued.
This control file should be accessible from any MVS image that runs a participating
CICS.
Netview configuration
Update the SYS1.PARMLIB member MPFLSTxx ( where xx is the current suffix in
use) to include the line:
DFHFC057*,AUTO(YES)
This causes MVS to invoke Netview whenever a message is issued that is prefixed
with DFHFC057.
| If the local catalog is re-initialized, DFHSMUTL should be run again to add the
| required subpool records to the local catalog.
|
| Input
| Control statements are read from SYSIN that specify the subpool records to be
| added to the local catalog data set.
| Deleting and adding a subpool record resets the tuning information for that subpool.
|
| Output
| Storage manager domain subpool records written to the CICS local catalog data
| set. Deleting and adding a subpool record resets the tuning information for that
| subpool. Deleting and adding a subpool record resets the tuning information for that
| subpool.
|
| Messages
| Messages, including errors, are written to SYSPRINT. DFHSM0300 DFHSMUTL
| REPORT shows:
| 1. ADD SUBPOOL=xxxxxxxx PROCESSED SUCCESSFULLY (ADD
| SUBPOOL=xxxxxxxx has been processed successfully.)
| 2. DEL SUBPOOL=xxxxxxxx PROCESSED SUCCESSFULLY (DEL
| SUBPOOL=xxxxxxxx has been processed successfully.)
| 3. FOUND DFHLCD RECORD SMSUBPOL=xxxxxxxx (Subpool record found by
| the LST command.)
Index 245
kernel domain message editing utility 208 (continued)
CICS system termination processing 14, 35, 36 applying PTFS 198
keywords applying PTFS, rules 209
C=, of DFHJUP OPTION statement 65 applying PTFS, sample output 210
COND=, of DFHJUP OPTION statement 65 copying message data set members 204
COPY, of DFHJUP OPTION statement 64 editing messages 206
D=, of DFHJUP CONTROL statement 63 editing messages, rules to be observed 210
D=, of DFHJUP OPTION statement 66 generating message load modules 207
DDNAME=, of DFHJUP CONTROL statement 63 getting help 213
DDNAME=, of DFHJUP OPTION statement 66 link editing changed message source
DDNOUT=, of DFHJUP CONTROL statement 63 members 207
E=, of DFHJUP OPTION statement 66 performing actions on message data sets 203
EXITR=, of DFHJUP OPTION statement 66 selecting languages for translation 201
FLDLEN=, of DFHJUP OPTION statement 65 selecting message sets to be edited 205
FLDTYP=, of DFHJUP OPTION statement 64 sorting lists of message set members 207
H=, of DFHJUP CONTROL statement 62 specifying default values 200
K=, of DFHJUP CONTROL statement 62 starting 199
L=, of DFHJUP OPTION statement 65 messages
NEWDCB, of DFHJUP OPTION statement 67 console messages for CICS startup 20
O=, of DFHJUP CONTROL statement 63 DFHKE1799 14, 15, 35, 36
O=, of DFHJUP OPTION statement 64 replying to messages 32
OFFSET=, of DFHJUP OPTION statement 64 replying to messages from transactions 33
P=, of DFHJUP OPTION statement 66 suppressing 32
PRINT, of DFHJUP OPTION statement 64 suppressing and rerouting 33
PRTSYS=, of DFHJUP OPTION statement 66 VTAM 8
SKIP=, of DFHJUP CONTROL statement 62 MIGRATE command, DFHCSDUP utility program 167
STOPAFT=, of DFHJUP CONTROL statement 62 DCT migration 167
T=, DFHJUP OPTION statement 64 FCT migration 167
V=, of DFHJUP OPTION statement 65 RCT migration 168
VALUE=, of DFHJUP OPTION statement 65 TABLE option 170
TCT migration 168
TOGROUP option 170
L TST migration 169
L= keyword, DFHJUP OPTION statement 65 TYPESGROUP option 170
LIST command, DFHCSDUP utility program 165 TYPETERM creation 169
examples 165 migration utility program, SNT to RACF 193
OBJECTS option 165 MODEL definitions
local catalog utility program, DFHSMUTL 237 cold start 5
log stream and coupling facility sizing, DFHLSCU 41 MODIFY command 29
monitoring
M dictionary utility program, DFHMNDUP 119
sample print program, DFH$MOLS 119
machine check 12
warm start 8
macro-level programs, identifying 189
MRO (multiregion operation) 26
mapset definitions
MVS START command, to start CICS 19
warm start 7
master terminal transaction, CEMT 11
maximum task values N
warm start 6 NEGOF keyword, DFHJUP OPTION statement 64
message editing utility 197 NEWDCB, DFHJUP OPTION statement 67
defining the utility data set index 198
edit message panel 206
help panels 213 O
installing 197 O= keyword, DFHJUP CONTROL statement 63
language selection panel 201 O= keyword, DFHJUP OPTION statement 64
main panel 203 OBJECTS option
message edit panel 210 LIST command (DFHCSDUP) 165
message edit selection panel 205 OFFSET= keyword, DFHJUP OPTION statement 64
PTF update panel 208 Offsite automatic reply program 233
requirements 197 operating system failure 12
set defaults panels 200 operations, automated 29
using 198 operator communication for initialization parameters 21
Index 247
time sharing option (TSO) (continued)
using command lists 143
V
V= keyword, DFHJUP OPTION statement 65
trace
VALUE= keyword, DFHJUP OPTION statement 65
using DFHTU530 to print 91
VERBEXIT subcommand of IPCS 106, 110
using IPCS to print from GTF 97
exit parameters for CICS 110
utility programs 91
VERIFY command, DFHCSDUP utility program 183
trace utility program, DFHTU530 91
VTAM messages
transaction abend
resynchronization after emergency restart 8
during immediate shutdown 14
Transaction Affinities Utility 231
TRANSACTION definitions
cold start 5 W
warm start 6 warm keypoints
transaction list table (XLT) 13 warm start resource definition 5
transient data warm start
intrapartition warm start 6 autoinstalled terminals 7
translating messages 197 basic mapping support (BMS) 7
TSO (time sharing option) common system area (CSA) 6
the DFHCSDUP program 143 file control table (FCT) 6
using command lists 29 file states 6
tuning the system 11 installed program definitions 7
TYPETERM definitions interval control elements 7
cold start 5 intrapartition transient data 6
logical end of day 7
mapset definitions 7
U monitoring 8
partial 5
unit of recovery descriptor (URD) 7
process 5
UPGRADE command, DFHCSDUP utility program 181 profile definitions 6
REPLACE operand 181 resource definition 5
USING operand 181 statistics collecting interval 7
URD (unit of recovery descriptor) 7 statistics collecting status 7
utility programs 12 STORECLOCK value 7
utility programs, offline temporary storage 7
assisting in disaster recovery of a CICSplex, terminal control table (TCT) 7
DFH$OFAR 233 transaction definitions 6
batch-enabling sample programs for RLS unit of recovery descriptor (URD) 7
access-mode data sets 185 warm-start-possible indicator 14
change text or language of CICS messages 197
default shutdown assist program, DFHCESD 215
detecting transaction affinities 231 X
identifying macro-level programs (DFHMSCAN) 189 XLT (transaction list table) 13
initializing CICS system definition file, XMEOUT, global exit for message handling 33
DFHCSDUP 139 XRF (extended recovery facility)
running under TSO 143 shutdown of active 12, 36
log stream and coupling facility sizing, termination of alternate 12, 36
DFHLSCU 41 VTAM ACB at startup 9
migrating SNT entries to the RACF database
(DFHSNMIG) 193
preparing statistics reports, DFHSTUP 77
preparing trace reports, DFHTU530 91
processing CICS monitoring data, DFH$MOLS 119,
124
processing CICS monitoring data, DFHMNDUP 119
processing log data, DFHJUP 55
processing the global catalog dataset,
DFHRMUTL 221
processing transaction dump data sets
(DFHDU530) 101
recreating BMS macro statements,
DFHBMSUP 227
staggering the end-of-day time (DFH$STED) 195
Feel free to comment on what you regard as specific errors or omissions, and on
the accuracy, organization, subject matter, or completeness of this book.
Please limit your comments to the information in this book and the way in which the
information is presented.
When you send comments to IBM, you grant IBM a nonexclusive right to use or
distribute your comments in any way it believes appropriate, without incurring any
obligation to you.
You can send your comments to IBM in any of the following ways:
v By mail, to this address:
Information Development Department (MP095)
IBM United Kingdom Laboratories
Hursley Park
WINCHESTER,
Hampshire
United Kingdom
v By fax:
– From outside the U.K., after your international access code use
44–1962–870229
– From within the U.K., use 01962–870229
v Electronically, use the appropriate network ID:
– IBM Mail Exchange: GBIBM2Q9 at IBMMAIL
– IBMLink™: HURSLEY(IDRCF)
– Internet: [email protected]
SC33-1685-02
Spine information:
IBM CICS TS for OS/390 CICS Operations and Utilities Guide Release 3