Configuring PDF
Configuring PDF
6.1
Configuring CICS
IBM
Note
Before using this information and the product it supports, read the information in Product Legal Notices.
This edition applies to the IBM® CICS® Transaction Server for z/OS®, Version 6 Release 1 (product number 5655-
YA15655-BTA ) and to all subsequent releases and modifications until otherwise indicated in new editions.
The IBM CICS Transaction Server for z/OS, Version 6 Release 1 may be referred to in the product and documentation as
CICS Transaction Server for z/OS, 6.1 .
© Copyright International Business Machines Corporation 1974, 2022.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
Contents
iii
Multiple users of the CSD within a CICS region (non-RLS)....................................................................... 71
Sharing a CSD by CICS regions within a single MVS image (non-RLS)..................................................... 71
Sharing a CSD in a multi-MVS environment (non-RLS).............................................................................72
Multiple users of one CSD across CICS or batch regions (non-RLS)........................................................ 72
Sharing the CSD between different releases of CICS............................................................................... 73
Sharing the CSD between CICS regions that use Db2.........................................................................74
CICS-supplied compatibility groups.................................................................................................... 74
Other factors restricting CSD access.........................................................................................................74
Differences in CSD management between RLS and non-RLS access...................................................... 75
Specifying read integrity for the CSD................................................................................................... 75
Specifying file control attributes for the CSD............................................................................................75
Effect of RLS on the DFHCSDUP utility......................................................................................................76
Planning for backup and recovery............................................................................................................. 76
Transaction backout during emergency restart...................................................................................79
Dynamic backout for transactions....................................................................................................... 79
Other recovery considerations.................................................................................................................. 79
CEDA command syncpoint criteria...................................................................................................... 79
Accessing the CSD by DFHCSDUP....................................................................................................... 80
Logging RDO commands............................................................................................................................80
Logging SPI commands............................................................................................................................. 81
Making the CSD available to CICS............................................................................................................. 82
Installing the RDO transactions........................................................................................................... 83
Installing definitions for the Japanese language feature....................................................................83
iv
Preparing your CICS region for debugging..............................................................................................192
Starting CICS regions...............................................................................................................................193
Specifying system initialization parameters before startup............................................................. 194
Starting CICS as a batch job.............................................................................................................. 195
Starting CICS as a started task.......................................................................................................... 195
Overriding system initialization parameters during startup............................................................. 197
System console messages for CICS startup......................................................................................198
CICS Transaction Server resource usage collection for software pricing.........................................202
v
Autoinstalling z/OS Communications Server terminals.................................................................... 280
Autoinstalling MVS consoles..............................................................................................................290
Autoinstalling APPC connections...................................................................................................... 293
Autoinstalling IPIC connections........................................................................................................ 296
Autoinstalling programs, map sets, and partition sets..................................................................... 296
Autoinstalling model terminal definitions......................................................................................... 300
Autoinstalling journals....................................................................................................................... 300
Defining CICS resources with macros.....................................................................................................300
Format of macros............................................................................................................................... 301
Defining control tables to CICS..........................................................................................................302
Assembling and link-editing control tables: the DFHAUPLE procedure...........................................304
Defining CICS bundles.............................................................................................................................307
Artifacts that can be deployed in bundles.........................................................................................309
Characteristics of resources in CICS bundles................................................................................... 314
Referencing zFS artifacts in a bundle................................................................................................ 320
Private resources for application versions........................................................................................ 321
Manifest contents for a CICS bundle................................................................................................. 327
Scoping of bundles.............................................................................................................................330
OSGi bundle recovery on a CICS restart............................................................................................332
Security for bundles........................................................................................................................... 333
Variables in a CICS project.................................................................................................................335
Variables and properties files definition............................................................................................337
Defining terminal resources.................................................................................................................... 338
Defining z/OS Communications Server terminals............................................................................. 338
Defining sequential (BSAM) devices..................................................................................................340
Defining console devices................................................................................................................... 342
Defining z/OS Communications Server persistent sessions support............................................... 345
Installing CICS resource definitions....................................................................................................... 346
What happens when CICS is initialized............................................................................................. 346
What happens when you use the INSTALL command...................................................................... 347
How to install a limited number of data definitions.......................................................................... 348
Duplicate resource definition names.................................................................................................348
Installing ATOMSERVICE resource definitions..................................................................................349
Installing connection definitions....................................................................................................... 349
Installing Db2 connection definitions................................................................................................350
Installing Db2 entry definitions......................................................................................................... 351
Installing Db2 transaction definitions............................................................................................... 352
Installing enqueue model definitions................................................................................................352
Installing file definitions.................................................................................................................... 353
Installing IPCONN definitions............................................................................................................353
Installing a LIBRARY resource definition by using CEDA..................................................................353
Installing partner definitions............................................................................................................. 354
Installing sessions definitions........................................................................................................... 354
Installing transient data queue definitions....................................................................................... 355
Installing terminal definitions............................................................................................................356
Installing URIMAP resource definitions............................................................................................ 357
Installing WEBSERVICE resource definitions....................................................................................358
Overriding resource definitions............................................................................................................... 358
How it works: resource definition overrides......................................................................................358
Setting up a resource overrides configuration file............................................................................ 363
Enabling resource definition overrides..............................................................................................373
Applying resource definition overrides .............................................................................................373
Monitoring resource definition overrides ..........................................................................................375
vi
Performance of a user-maintained data table.................................................................................. 377
Storage use for shared data tables....................................................................................................377
MVS JCL requirements when using shared data tables....................................................................379
Selecting files for use as data tables................................................................................................. 379
Using statistics to select data tables.................................................................................................380
Security checking for data tables...................................................................................................... 383
Preparing to use shared data tables support.................................................................................... 384
Resource definition for data tables......................................................................................................... 385
Resource definition for CICS-maintained data tables...................................................................... 386
Resource definition for user-maintained data tables....................................................................... 386
The DEFINE FILE command defines data tables........................................................................... 387
EXEC CICS commands for data tables.............................................................................................. 390
CEMT commands for data tables.......................................................................................................391
vii
Transaction definitions for CICS ONC RPC transactions...................................................................455
Transaction definitions for extra alias transactions.......................................................................... 455
Program definitions for CICS ONC RPC programs.............................................................................455
Program definitions for user-written programs.................................................................................456
Program definitions for remote CICS programs................................................................................ 456
Mapset definition............................................................................................................................... 457
Transient data definitions.................................................................................................................. 457
XLT definitions.................................................................................................................................... 457
Configuring CICS ONC RPC using the connection manager................................................................... 457
Starting the connection manager...................................................................................................... 458
Using the connection manager BMS panels......................................................................................460
Updating CICS ONC RPC status......................................................................................................... 461
Enabling CICS ONC RPC.....................................................................................................................462
Defining, saving, modifying, and deleting 4-tuples...........................................................................464
Registering the 4-tuples.................................................................................................................... 468
Unregistering 4-tuples....................................................................................................................... 469
Disabling CICS ONC RPC....................................................................................................................471
Updating the CICS ONC RPC data set................................................................................................472
Processing the alias list......................................................................................................................476
Chapter 16. Checking CICS configuration with IBM Health Checker for z/OS........509
viii
Planning for migrating CICS to a Parallel Sysplex.................................................................................. 528
Application affinities.......................................................................................................................... 528
CICS workload routing and management......................................................................................... 530
Notices..............................................................................................................537
Index................................................................................................................ 543
ix
x
About this PDF
This PDF describes how you set up CICS TS for z/OS. Other PDFs, listed below, describe the configuration
for certain areas of CICS and you might need to refer to those as well as this PDF. (In IBM Documentation,
all this information is under one section called "Configuring".) You are also likely to need the reference
companions to this PDF: the System Initialization Parameter Reference and the Resource Reference. Before
CICS TS V5.4, the information in this PDF was in the System Definition Guide and the Resource Definition
Guide.
Configuring information for areas of CICS is in the following PDFs:
• SOAP and JSON is in Web Services Guide .
• ONC/RPC interface is in the External Interfaces Guide .
• EXCI is in Using EXCI with CICS.
• Java and Liberty are in Java Applications in CICS.
• Front End Programming Interface is in the Front End Programming Interface User's Guide.
• Db2® is in Db2 Guide.
• DBCTL is in the IMS DB Control Guide.
• Shared data tables are in the Shared Data Tables Guide.
• CICSPlex SM is in CICSPlex SM Administration.
• BTS is in Business Transaction Services
• Connections between CICS systems is in the Intercommunication Guide
Reference information about the parameters used in CICS system initialization is in the System
Initialization Parameter Reference.
For details of the terms and notation used in this book, see Conventions and terminology used in the CICS
documentation in IBM Documentation.
z/ OS system z/ OS system
CICSplex CICSplex
CICS region CICS region CICS region CICS region CICS region CICS region CICS region CICS region
z/OS CICS
Bundles • You can define some resource types • You cannot modify or change the state
in the CICS bundle to be created of resources defined in a bundle in
dynamically when the bundle is the same ways as individually defined
deployed. resources.
• You can specify other required resources • Not all application resources are
that must be present in the CICS region. supported by bundles.
• You can install, uninstall, enable, and
disable applications by operating on a
single resource.
• Bundles provide versioning so that you
can manage resource and application
updates.
• Some resources can only be defined and
deployed using bundles.
• Non-CICS resources can be created and
managed in CICS bundles alongside CICS
resources.
CICSPlex SM BAS • Centralized resource definition. Not all application resources are supported
by BAS.
• Logical scoping.
• Distributed resource installation.
RDO RDO is used while CICS is running, so Because CEDA operates on an active CICS
allows fast access to resource definitions. system, care should be taken if it is used
in a production system. Use some form of
auditing as a control mechanism.
EXEC CICS SPI It enables configuration and installation CREATE commands neither refer to nor
commands of CICS resources for large numbers of record in the CSD file. The resulting
CICS regions from a single management definitions are lost on a cold start, and you
focal point. It also allows you to write cannot refer to them in a CEDA transaction.
applications for administering the running
CICS system.
EXEC CICS CSD • You can write applications customized to Requires more work to implement than
system commands your environment that can manage the some other methods.
CSD and installed resources.
• Resources updated by this method can
be referred to by CEDA.
• Supports compatibility mode for sharing
CSDs with earlier releases of CICS.
Autoinstall If you have large numbers of resources, You must spend some time initially setting
much time is needed to define them, and if up autoinstall in order to benefit from it.
they are not all subsequently used, storage
is also wasted for their definitions. Using
autoinstall reduces this wasted time and
storage.
Macro • You can change the definitions contained
in the tables while CICS is running, but
you must stop and restart CICS if you
want it to use the changed tables.
• You must do time-consuming assemblies
to generate macro tables.
Table 2. Resources and how you can define them to the running CICS system
Resource CICS CICSPlex SM BAS RDO, EXEC CICS SPI, Bundles DFHCSDUP Autoinstall Macro
Explorer and EXEC CICS CSD
commands
Resource CICS CICSPlex SM BAS RDO, EXEC CICS SPI, Bundles DFHCSDUP Autoinstall Macro
Explorer and EXEC CICS CSD
commands
Resource CICS CICSPlex SM BAS RDO, EXEC CICS SPI, Bundles DFHCSDUP Autoinstall Macro
Explorer and EXEC CICS CSD
commands
Resource security checking ensures that terminal operators can access only those resources for which
they have been authorized. You can use resource security checking (RESSEC) for the TRANSACTION
definition.
Multiple CSD files
You can have different CSD files for different CICS systems. The users of one CICS do not have access
to the CSD file for another CICS.
You could have a test CSD file in a system where the RDO transactions can be used, and a production
CSD file in a system where the RDO transactions are not available. There would then be no chance of
unauthorized users altering resource definitions needed for production work.
Read-only and update definitions for the same CSD file
Having two CSD files means duplicating resource definitions for resources that are shared by more
than one system. An advantage of RDO is that you need only one definition for each resource. You can
define one CSD file to be shared among several CICS systems with only one having write access. To do
this, you define one CSD file differently to different systems by using the CSDACC system initialization
parameter. For the system where the CSD file can be used but not updated, you specify:
CSDACC=READONLY
and, for the system where you are planning to update the CSD, you specify:
CSDACC=READWRITE
You need READONLY access to install definitions. This also allows you to use the DISPLAY and
VIEW commands. You need READWRITE access to use the ADD, APPEND, ALTER, COPY, MOVE, and
RENAME commands. For information on defining the CSD file, see Resource management transaction
CEDA commands.
Controlling access to a group or list—LOCK and UNLOCK
RDO also provides a means of controlling access to any group or list, so that users in the same system
can have different types of access. This is done with the LOCK and UNLOCK commands.
The LOCK and UNLOCK commands enable you to control update access to a group or list so that only
operators with the same operator identifier can make changes.
The lock is held on the CSD file and remains in effect across restarts of CICS. The lock is owned by the
user, who is identified by a combination of the CICS generic applid (specified by the APPLID system
initialization parameter), and the user's operator identifier (OPIDENT).
31 bit addressing
“the line” 16 MB
24 bit addressing
Extended
31-bit storage
DSAs
EPCDSA
“the line” 16 MB
Related information
Terms to understand about CICS storage
MVS storage
GSDSA
64-bit storage
GUDSA
GCDSA
ESDSA ERDSA
31-bit storage
EUDSA EPUDSA
ECDSA EPCDSA
EPCDSA
“the line” 16 MB
SDSA RDSA
24-bit storage
UDSA PUDSA
CDSA PCDSA
The dynamic storage areas are contained in virtual storage pages that are taken from z/OS storage
subpools. In the dynamic storage areas, CICS arranges the storage in CICS subpools. The subpools are
dynamically acquired as needed, a page at a time, from within the applicable DSA. Individual subpools
can be static or dynamic. Some subpools contain static CICS storage, which cannot be tuned. All the
subpools are rounded up to a multiple of 4 KB in storage size. Include this rounding factor when you
calculate subpool sizes or you evaluate changes in storage size after tuning or other changes. The storage
that individual subpools use is shown in the domain subpool statistics in the CICS storage manager
statistics.
CICS manages DSA storage in extents. An individual DSA consists of one or more extents.
• 24-bit storage extents are usually allocated in multiples of 256 KB. However, when transaction isolation
is in operation, the UDSA (user DSA) is allocated in 1 MB extents.
• 31-bit storage extents are allocated in multiples of 1 MB.
• 64-bit storage extents are allocated in multiples of 1 GB.
Only the owning DSA can use an allocated extent, and an extent cannot be shared between more than one
DSA simultaneously.
Parameters control the amount of storage that CICS can use for DSAs. Within this allocated storage,
CICS manages the following dynamic storage areas automatically, and you do not need to specify their
individual sizes.
PCDSA (Program Requests for unprotected storage in 24- Always from CICS-key storage
CICS DSA that bit storage (see Instruction execution
is never protected protection.)
from instruction
The equivalent area in 31-bit storage is
execution)
the EPCDSA. There is no equivalent area
in 64-bit storage.
PUDSA (Program Requests for unprotected storage in 24- Depends on the setting on STGPROT for
user DSA that is bit storage (see Instruction execution the CICS region:
never protected protection.)
• If STGPROT=YES, this DSA is allocated
from instruction
The equivalent area in 31-bit storage is from user-key storage. This is the
execution)
the EPUDSA. There is no equivalent area default.
in 64-bit storage. • If STGPROT=NO, this DSA is allocated
from CICS-key storage.
SDSA (Shared DSA) Any non-reentrant user-key RMODE(24) Depends on the setting on STGPROT for
programs, and also for any storage the CICS region:
obtained by programs that issue CICS
• If STGPROT=YES, this DSA is allocated
GETMAIN commands for 24-bit storage
from user-key storage. This is the
with the SHARED option.
default.
The equivalent area in 31-bit storage is • If STGPROT=NO, this DSA is allocated
the ESDSA. The equivalent area in 64-bit from CICS-key storage.
storage is the GSDSA.
RDSA (Read-only All reentrant programs and tables in 24- Depends on the setting on RENTPGM for
DSA) bit storage. the CICS region:
The equivalent area in 31-bit storage is • If RENTPGM=PROTECT, this DSA
the ERDSA. There is no equivalent area is allocated from read-only key-0
in 64-bit storage. protected storage. This is the default.
• If RENTPGM=NOPROTECT, this DSA is
allocated from CICS-key storage.
EPCDSA (Extended Requests for unprotected storage in 31- Always from CICS-key storage
program CICS bit storage (see Instruction execution
DSA that is protection.)
never protected
The equivalent area in 24-bit storage is
from instruction
the PCDSA. There is no equivalent area
execution)
in 64-bit storage.
EPUDSA (Extended Requests for unprotected storage in 31- Depends on the setting on STGPROT for
program user bit storage (see Instruction execution the CICS region:
DSA that is protection.)
• If STGPROT=YES, this DSA is allocated
never protected
The equivalent area in 24-bit storage is from user-key storage. This is the
from instruction
the PUDSA. There is no equivalent area default.
execution)
in 64-bit storage. • If STGPROT=NO, this DSA is allocated
from CICS-key storage.
ESDSA (Extended Any non-reentrant user-key Depends on the setting on STGPROT for
shared DSA) RMODE(ANY) programs, and also for any the CICS region:
storage obtained by programs that issue
• If STGPROT=YES, this DSA is allocated
CICS GETMAIN commands for 31-bit
from user-key storage. This is the
storage with the SHARED option.
default.
The equivalent area in 24-bit storage is • If STGPROT=NO, this DSA is allocated
the SDSA. The equivalent area in 64-bit from CICS-key storage.
storage is the GSDSA.
ERDSA (Extended All reentrant programs and tables in 31- Depends on the setting on RENTPGM for
read-only DSA) bit storage. the CICS region:
The equivalent area in 24-bit storage is • If RENTPGM=PROTECT, this DSA
the RDSA. There is no equivalent area in is allocated from read-only key-0
64-bit storage. protected storage. This is the default.
• If RENTPGM=NOPROTECT, this DSA is
allocated from CICS-key storage.
GCDSA (64-bit All CICS-key task-lifetime storage in 64- Always allocated from CICS-key storage.
storage CICS DSA) bit storage, and for CICS facilities that
use 64-bit storage.
The equivalent area in 24-bit storage is
the CDSA. The equivalent area in 31-bit
storage is the ECDSA.
GUDSA (64-bit All user-key task-lifetime storage in 64- Depends on the setting on STGPROT for
storage user DSA) bit (above-the-bar) storage. the CICS region:
The equivalent area in 24-bit storage is • If STGPROT=YES, this DSA is allocated
the UDSA. The equivalent area in 31-bit from user-key storage. This is the
storage is the EUDSA. default.
• If STGPROT=NO, this DSA is allocated
from CICS-key storage.
GSDSA (64-bit Any storage that programs obtain by Depends on the setting on STGPROT for
storage shared issuing a CICS GETMAIN64 command to the CICS region:
DSA) obtain 64-bit storage with the SHARED
• If STGPROT=YES, this DSA is allocated
option.
from user-key storage. This is the
The equivalent area in 24-bit storage is default.
the SDSA. The equivalent area in 31-bit • If STGPROT=NO, this DSA is allocated
storage is the ESDSA. from CICS-key storage.
KESTK24 A single 2 KB 24-bit (below 16 MB) stack segment. This is a dummy stack segment that
is shared by all tasks. Tasks that need to use 24-bit stack storage obtain an extension
stack segment from the subpool KESTK24E.
KESTK24E 4 KB 24-bit (below 16 MB) extension stack segments obtained by tasks that need to
use 24-bit stack storage. CICS preallocates a reserve pool of 24-bit extension stack
segments that tasks can use if no other storage is available in the subpool.
LD_JFCB Storage for the job file control blocks for the loader domain.
SMCONTRL Satisfies GETMAIN requests for control class storage.
SMSHARED 24-bit shared storage, for example RMI global work areas, EDF blocks for the life of the
transaction being monitored, and other control blocks.
SMSHRC24 Used for many control blocks of SHARED_CICS24 class storage.
SMTP24 Storage for line and terminal I/O areas that cannot be located above 16 MB. The
storage requirements depend on the amount of terminal and line traffic in the system.
The subpool can be tuned by reducing the RAPOOL, RAMAX, TIOAL size, and number of
MRO sessions.
SZSPFCAC FEPI z/OS Communications Server ACB work areas.
TRUBELOW Task-related user exit pool below 16 MB.
XMGEN24 General storage used by transaction manager.
ZCSETB24 Application control buffers below 16 MB.
ZCTCTUA Storage for the TCTTE user area. Its location is controlled by the system initialization
parameter, TCTUALOC=ANY|BELOW and the system initialization parameter,
TCTUAKEY=CICS|USER. The maximum size can be specified in USERAREALEN operand
of the terminal definition. For more information about the terminal definition, see
TERMINAL resources.
FC_ACB Storage for ACBs for VSAM files. Each VSAM file has one ACB, of 80 bytes.
FC_BDAM Storage for BDAM file control blocks. Each BDAM file requires 96 bytes of storage.
FC_DSNAM Storage for data set name blocks. Each file requires a data set name block, which uses
120 bytes of storage.
FC_FCPE Storage for file control pool elements.
FC_FCPW Storage for file control CFDT pool wait elements.
FC_FCUP Storage for the file control CFDT unit of work pool block.
FC_FLAB Storage for file control lasting access blocks.
FC_FLLB Storage for file control lock locator blocks.
FC_FRAB Storage for file request anchor blocks (FRABs). Each transaction that has issued a file
control request has one FRAB. The FRAB is retained until the end of the task. There is a
free chain of FRABs not currently in use.
FC_FRTE Storage for file request thread elements (FRTE). There is one FRTE for each active file
control request per task. A file control request has a FRTE if it meets these conditions:
• It has not yet stopped its VSAM thread. For example, a browse that has not yet issued
an ENDBR.
• It has updated a recoverable file and a sync point has not yet occurred.
• It is holding READ-SET storage that must be freed in future.
There is a free chain of FRTEs not currently in use.
TSGENRAL The amount of storage used by the TSGENRAL subpool. The amount depends on the
number of buffers and strings and the control interval size defined for the temporary
storage data set.
TSMBR Storage for temporary storage browse blocks.
TSMDB Storage for temporary storage model blocks.
TSQAB Storage for TS queue anchor blocks.
TSQOB Storage for TS queue ownership blocks.
TSQUB Storage for TS queue update blocks.
TSTSS Storage for TS section descriptors.
TSTSX Storage for TS auxiliary item descriptors.
TSW Storage for TS wait queue elements.
UE_EPBPL The subpool for the user exit program block (EPB).
USIDTBL Storage for the attach security userid table entries (LUITs). See ISC/IRC attach time
entry statistics for more information.
USGENRAL The general purpose subpool for the user domain.
USRTMQUE Storage for queue elements for users waiting for USRDELAY. Each queue element is 16
bytes.
USUDB Storage for user data blocks. The storage requirement is 128 bytes for each unique
user.
USXDPOOL Storage for user domain transaction-related data. Each running transaction requires 32
bytes.
XSGENRAL The general purpose subpool for the security domain.
XSXMPOOL Storage for security domain transaction-related data. Each running transaction requires
56 bytes.
WBGENRAL The general subpool for CICS web support.
WBOUTBND Storage for outbound HTTP buffers.
WBPATHN1 Storage for path node elements used for URI map storage for short path names.
WBPATHN2 Storage for path node elements used for URI map storage for long path names.
WBPATHUR Storage used for URI map storage for URI path names.
WBRQB Storage for web request objects.
MVS storage
MVS storage is available to z/OS to perform region-related services in response to an operating system
macro or SVC issued by the CICS region. MVS storage is the amount of storage that remains after the
dynamic storage areas and other CICS storage requirements are met. CICS initially preallocates the CICS
DSAs out of the region storage and manages this storage. The remainder of the storage is used where
CICS, z/OS components, vendor programs, or applications issue requests.
For example, languages and components such as z/OS Communications Server, DL/I, or Db2 issue z/OS
GETMAIN requests to obtain storage in which to build their own control blocks. These requests are met
from z/OS storage below 2 GB. If you run Java™ or Node.js programs in a region, both 31-bit and 64-bit
MVS storage is allocated to each JVM or Node.js application that runs under the control of CICS.
Figure 5 on page 47 shows the layout of virtual storage for a z/OS address space and the various storage
areas.
The areas that are shown in the diagram are introduced in MVS common area and MVS private area. See
Terms to understand about CICS storage for information about the separating areas that are called the
line and the bar.
The 24-bit and 31-bit virtual storage areas are managed according to the concept of subpools, where
each subpool has specific characteristics, such as authorization requirements, fixed or pageable storage,
common (available to all address spaces) or private storage area, a system or application program area,
and so on.
• For each area below 16 MB, there is an equivalent area above 16 MB. For example, the common area
below 16 MB has the equivalent extended common area above 16 MB.
• z/OS services such as GETMAIN, STORAGE OBTAIN, CPOOL are used to allocate, deallocate, and alter
storage in these areas on a byte basis.
• Specific virtual private ranges can be shared between address spaces.
The 64-bit virtual storage areas above the bar are managed according to the concept of memory objects.
Memory objects are allocated in megabyte increments and have specific attributes.
• CICS uses z/OS services such as IARV64 and IARCP64 to allocate, deallocate, and alter storage in these
areas.
• Specific virtual storage ranges can be defined as common or private and, if private, can be shared
among different address spaces.
Extended SQA
Extended Nucleus
16 MB
“the line”
Nucleus
SQA
CSA
User Region
Private
(Low Private)
24 KB
System Region
8 KB
Common PSA
0
Common service area (CSA) and extended common service area (ECSA)
The common service area contains z/OS system control programs and control blocks. Each address space
uses the same common service area.
These common service areas contain, for example, buffers or executable modules for IMS, ACF/SNA, and
JES3. CSA and ECSA also contain control blocks that are used to define subsystems and provide working
storage for areas such as TSO input/output control (TIOC), event notification facility (ENF), and message
processing facility (MPF). When system configuration and activity increases, the storage requirements
also increase.
CICS uses the ECSA for multiregion operation (MRO) to store control blocks only and not for data transfer.
If cross-memory facilities are used, the ECSA usage is limited to the following amounts:
• 40 bytes per session if IRC (interregion communication) is open, irrespective of whether the resource is
acquired and in-service, or released
• 4 KB per address space participating in MRO
In addition, the amount of storage used by CICS MRO for interregion buffers is detailed in the DFHIR3794
message issued to the CSMT destination at termination.
CICS also uses ECSA for IMS and shared data tables.
For static systems, the amount of unallocated CSA should be around 10% of the total allocated CSA; for
dynamic systems, a value of 20% is optimal. Unlike the SQA, if CSA is depleted there is no scope for
expansion and a re-IPL might be required.
Link pack area (LPA) and extended link pack area (ELPA)
The link pack area (LPA) contains all the common reentrant modules that are shared by the system.
The link pack area (LPA) provides economy of real storage by sharing one copy of the modules, protection
because LPA code cannot be overwritten, even by key-0 programs, and reduced path length because
modules can be branched to.
It has been established that a 2 MB LPA is sufficient for z/OSwhen using CICS with MRO or ISC, that is, the
size of an unmodified LPA as shipped by IBM. If it is larger, there are load modules in the LPA that might
be of no benefit to CICS. There might be SORT, COBOL, ISPF, and other modules that are benefiting batch
and TSO users. You must evaluate whether the benefits you obtain are worth the virtual storage that they
use. If modules are removed, check whether you need to increase the size of the regions they run in to
accommodate them.
The pageable link pack area (PLPA) contains supervisor call routines (SVCs), access methods, and other
read-only system programs, along with read-only reenterable user programs selected by an installation
to be shared among users of the system. Optional functions or devices selected by an installation during
system generation add additional modules to the PLPA.
The modified link pack area (MLPA) contains modules that are an extension to the PLPA. The MLPA can be
changed at IPL without requiring the Create Link Pack Area (CLPA) option at IPL to change modules in the
PLPA.
For performance reasons, an installation can choose to have some modules that are normally loaded in
the pageable link pack area (PLPA) loaded into the fixed link pack area (FLPA) .
Subpool 230
This subpool is used by the z/OS Communications Server for inbound message assembly for segmented
messages. Data management keeps data extent blocks (DEBs) here for any opened data set.
Generally, the size of subpool 230 increases as the number of opened data sets increases. Starting with
an initial value of 40 KB to 50 KB, allow 300 to 400 bytes per opened data set.
CICS DBCTL requires subpool 230 storage for DBCTL threads. Allow 3 KB for every DBCTL thread, up to
the MAXTHRED value.
User region
A portion of each private area is available to the user's application program and this is referred to as its
user region. (Note that this terminology is distinct from a CICS region, which is an instance of CICS within a
z/OS address space.)
The user region in 24-bit storage contains:
• CICS DSA
• TCB storage
• MVS common area
The extended user region in 31-bit storage contains:
• CICS Extended DSAs and control blocks
• JVM server LE enclave
• Other JVM storage
• Storage for other products, such as Db2 and IBM MQ.
The user region in 64-bit storage (High-Virtual User Region) contains:
• CICS GDSA
• 64-bit control blocks
• 64-bit GETMAINs
• 64-bit JVM storage
• CICS trace table
The private area user region, that is, the user region in 24-bit storage, can be any size up to the size of the
entire private area (from the top end of the prefixed storage area (PSA) to the beginning, or bottom end,
of the common service area (CSA)) minus the size of LSQA, SWA, subpools 229 and 230, and the system
region. This storage that is left between the top of the region and the bottom of the high private area is
sometimes referenced as MVS storage above region. The size of this area can vary significantly. As the high
private area grows, it extends down into this area, and the CICS region can extend up into this area up to
the value specified by the IEALIMIT user exit. It is recommended that the region is 420 KB less to allow
for recovery termination management (RTM) processing. (If this free storage is not enough for recovery
termination management (RTM) processing, the address space might be terminated with a S40D abend
that does not produce a dump.)
The segment sizes are one megabyte; therefore, CSA is rounded up to the nearest megabyte. The private
area is in increments of one megabyte.
TSQUEUE
TSTSI
Message tables Minimum 3 MB for the MVS storage outside Message modules in English
message modules in English. the CICS DSAs are always loaded.
Add 1 MB if the user
message table is loaded.
Add 3 MB for each additional
language that is loaded.
Storage protection
CICS storage protection allows you to separate the storage that is used to run your applications from the
storage that is used to run CICS and system programs. The storage areas are differentiated as CICS-key
storage and user-key storage (see Terms to understand about CICS storage). Corresponding execution
modes for the program - CICS key and user key - control the access that it has to a type of storage. Access
to a storage area is not permitted unless the access key matches the key for that storage area.
By default, applications execute in user key, with all their storage obtained in user-key storage. You should
use CICS key execution only for those programs where it is essential that they execute in CICS-key
storage, such as system programs that provide special function in support of user applications. Some
examples of such programs are described in CICS-key applications. If you choose to run a program in
CICS key, that is what you get. CICS storage protection does not prevent code and control blocks in
CICS-key storage from being overwritten by programs that you choose to run in CICS key.
Storage protection is optional. The STGPROT system initialization parameter controls whether CICS
storage protection is active. Then, you can select the storage key for different data areas and define
the execution key for the program.
To select the storage key for a data area, you use one of the following:
• System initialization parameters: for example, CWAKEY system initialization parameter and TCTUAKEY
system initialization parameter controls the key for the common work area (CWA) and for the terminal
control table user areas (TCTUAs).
CICS
Executing in CICS key
READ/WRITE READ/WRITE
User application
Executing in user key
Transaction isolation
Transaction isolation uses z/OS subspaces to protect storage between transactions. This ensures that an
application program associated with one transaction cannot accidentally overwrite the data of another
transaction.
CICS transaction isolation ensures that programs that are defined to run in user key mode execute in
their own subspace, with appropriate access to any shared storage, or to CICS storage. It is as if the
user transaction is limited to its own view of the address space. Programs that are defined to run in CICS
key mode run in the base space. Transaction isolation does not protect user-key storage from CICS key
programs. For information about program execution modes, see “Storage protection” on page 57. For
information about subspaces, see “MVS subspaces ” on page 60.
Transaction isolation is built on top of storage protection. To use transaction isolation, you must set
storage protection on with the STGPROT system initialization parameter. Then, you can either control
transaction isolation for the whole region with the TRANISO system initialization parameter. Or you
can control transaction isolation for individual transactions and programs with the ISOLATE option
of the TRANSACTION resource definition. Transaction isolation uses the settings on EXECKEY, and
TASKDATAKEY to determine where a program runs.
TXNB application
Executing in user key
TXNA application
Executing in user key
TXNB application
Executing in user key
Figure 8. Two transactions defined as ISOLATE(NO) with read/write access to each other's task lifetime
storage
MVS subspaces
z/OS provides subspaces to limit the application server address space that an application program
can reference. CICS uses subspaces to protect storage between transactions (transaction isolation). A
subspace is a specific range of storage in the private area of an address space, designed to limit the
storage a program can reference. A program that is associated with a subspace cannot reference some
of the private area storage outside of the subspace storage range; the storage is protected from the
program. An address space can have many subspaces. An address space that owns subspaces is called a
base space. Each subspace represents a different subset of the storage in the base space.
For more information, see What is a subspace? in the z/OS documentation.
Storage statistics
Some storage statistics can be accessed through the EXTRACT STATISTICS STORAGE system command.
See EXTRACT STATISTICS. Others are written to SMF for offline processing. For details on all the
statistics, see Storage manager statistics.
Storage reports
Storage reports provide information about the use of MVS™ and CICS® virtual storage. There are separate
reports for 24-bit storage (below 16 MB), 31-bit storage (above 16 MB but below 2 GB), 64-bit storage
(above 2 GB), CICS domain and task storage subpool allocations and use, and user region storage and
extended user region storage. The sample statistics program DFH0STAT can produce these reports.
For details on all the reports, see Storage reports.
Procedure
1. Decide how much disk space you require.
2. Decide whether you want to use the CSD in RLS or non-RLS mode.
Having the CSD open in RLS mode allows more than one CICS region to update the CSD concurrently.
However, if your CSD is defined as a recoverable data set and you want to update it using the CSD
update batch utility program DFHCSDUP, you must quiesce the CSD in the CICS regions before running
DFHCSDUP.
If you decide to use RLS for the CSD, specify CSDRLS=YES as a system initialization parameter. See
“VSAM record-level sharing (RLS)” on page 128.
3. Decide what backup and recovery procedures you require for your CSD. The CSD can use backup-
while-open (BWO), which means that DFSMS components can back up the CSD while the data set is
open for update.
To use BWO, ensure that DFSMShsm and DFSMSdss components of DFSMS 1.2 or later are available.
The CSD must have an ICF catalog entry and be defined in SMS-managed storage.
• Define the recovery options for a CSD accessed in RLS mode:
– Specify BWO(TYPECICS) in the ICF catalog to make the data set eligible for backup-while open.
– Make the CSD a recoverable data set by specifying the appropriate LOG parameter in the ICF
catalog.
• Define the recovery options for a CSD accessed in non-RLS mode:
– Make the data set eligible for backup-while-open by either specifying BWO(TYPECICS) in the
catalog or setting the CSDBKUP system initialization parameter to DYNAMIC.
– Make the data set recoverable by setting the appropriate LOG parameter in the ICF catalog entry
or specifying the appropriate option on the CSDRECOV system initialization parameter.
Procedure
1. In your calculation, allow for approximately 1800 CICS-supplied resource definitions of various types,
which are loaded into the CSD when you initialize the CSD with the CSD update batch utility program
DFHCSDUP. You need to consider:
a) Each resource definition (for example each program, transaction and terminal) needs one record.
The sizes of these definition records are:
What to do next
Use your final figure when you define the VSAM cluster for the CSD. (See the sample job in “Initializing the
CSD” on page 67.)
Procedure
1. Code the KEYS parameter as shown in the sample job.
Example
DATA -
(NAME(CICSTS61.CICS.applid.DFHCSD.DATA) -
CONTROLINTERVALSIZE(8192)) -
INDEX -
(NAME(CICSTS61.CICS.applid.DFHCSD.INDEX))
/*
//INIT EXEC PGM=DFHCSDUP,REGION=300K
//STEPLIB DD DSN=CICSTS61.CICS.SDFHLOAD,DISP=SHR
//DFHCSD DD DSN=CICSTS61.CICS.applid.DFHCSD,DISP=SHR 5
//SYSPRINT DD SYSOUT=A
//SYSUDUMP DD SYSOUT=A
//SYSIN DD *
INITIALIZE
LIST ALL OBJECTS
/*
//
Procedure
1. Define the type of access that is allowed using the CSDACC parameter.
2. Define whether the CSD is eligible for BWO using the CSDBKUP parameter.
This parameter is ignored if you specify CSDRLS=YES. CICS uses the BWO parameter in the ICF
catalog instead. By default, CICS also uses the BWO parameter in the ICF catalog for non-RLS
mode CSDs if the LOG parameter in the ICF catalog specifies either UNDO or ALL. You can set
the NONRLSRECOV system initialization parameter to FILEDEF if you want CICS to always use the
CSDBKUP parameter over the BWO attribute.
3. Define the number of buffers for CSD data using the CSDBUFND parameter.
This parameter is ignored if you specify CSDRLS=YES.
4. Define the number of buffers for the CSD index using the CSDBUFNI parameter.
This parameter is ignored if you specify CSDRLS=YES.
5. Define the disposition of the CSD data set using the CSDDISP parameter.
6. Define the JCL data set name (DSNAME) of the CSD using the CSDDSN parameter.
7. Define a forward recovery journal identifier using the CSDFRLOG parameter.
This parameter is ignored if you specify CSDRLS=YES, or if the recovery attributes are defined in the
ICF catalog on the LOG parameter, in which case LOGSTREAMID from the ICF catalog is used instead.
You can set the NONRLSRECOV system initialization parameter to FILEDEF if you want CICS to always
use the CSDFRLOG parameter over the LOGSTREAMID attribute.
8. Define the level of read integrity for a CSD accessed in RLS mode using the CSDINTEG parameter.
9. Define an identifier for automatic journaling using the CSDJID parameter.
10. Define the VSAM local shared resource pool using the CSDLSRNO parameter.
This value is ignored if you specify CSDRLS=YES.
11. Define whether or not the CSD is recoverable using the CSDRECOV parameter.
This parameter is ignored if you specify CSDRLS=YES and CICS uses the LOG parameter from the ICF
catalog instead. If LOG is “undefined”, any attempt to open the CSD in RLS mode fails.
What to do next
These parameters are described in greater detail in “Specifying CICS system initialization parameters” on
page 146.
Note the following limitations when the activities listed in Table 19 on page 72 are attempted
concurrently:
1. You cannot run DFHCSDUP in read/write mode in a batch region if any CICS region using the same CSD
is running one of the CEDA, CEDB, or CEDC transactions. (The exception is when the CEDx transactions
accessing the CSD are in a region (or regions) for which the CSD is defined as read-only.)
2. None of the CEDx transactions runs if the CSD to be used is being accessed by the DFHCSDUP utility
program in read/write mode. (This restriction does not apply if the transaction is run in a region for
which the CSD is defined as read-only.)
3. None of the CEDx transactions runs in a CICS region whose CSD is defined for read-write access if any
of the RDO transactions are running in another CICS region that has the CSD defined for read-write
access.
A CICS region starting with an initial or cold start opens the CSD for read access only during initialization,
regardless of the CSDACC operand. This enables a CICS region to be initialized even if a user on another
region or the DFHCSDUP utility program is updating the CSD at the same time. After the group lists are
installed, CICS leaves the CSD in a closed state.
On a warm or emergency start, the CSD is not opened at all during CICS initialization if CSDRECOV=NONE
is coded as a system initialization parameter. However, if CSDRECOV=ALL is coded, and backout
processing is pending on the CSD, the CSD is opened during CICS initialization on an emergency start.
Table 20. CSDBKUP and related parameters at SIT assembly time for CSDRLS=NO
CSDRECOV CSDFRLOG CSDBKUP Result
ALL FRLOG from 01 Either DYNAMIC or OK
through 99. STATIC
ALL NO Either DYNAMIC or SIT assembly fails with MNOTE
STATIC stating that CSDRECOV=ALL implies
that the CSDFRLOG option must be
specified.
BACKOUTONLY or FRLOG from 01 DYNAMIC SIT assembly fails with
NONE through 99. assembler MNOTES stating
that CSDBKUP=DYNAMIC
requires CSDRECOV=ALL and
that CSDFRLOG requires
CSDRECOV=ALL.
BACKOUTONLY or NO DYNAMIC SIT assembly fails with an
NONE assembler MNOTE stating that
CSDBKUP=DYNAMIC requires
CSDRECOV=ALL.
BACKOUTONLY or NO STATIC OK
NONE
Note:
1. When CSDBKUP=DYNAMIC, the CSD is eligible for BWO.
2. Backup and recovery attributes must be specified in the ICF catalog for a CSD opened in RLS mode
(CSDRLS=YES).
3. Backup and recovery attributes can optionally be specified in the ICF catalog for a CSD opened in
non-RLS mode (CSDRLS=NO), but you must still have a consistent set of parameters as defined in the
table above.
Table 21. CSDBKUP and related system initialization parameters during CICS override processing (CSDRLS=NO)
CSDRECOV CSDFRLOG CSDBKUP (see Notes) Result
ALL FRLOG from 01 through Either DYNAMIC or OK
99. STATIC.
ALL NO Either DYNAMIC or Message DFHPA1944
STATIC. is issued stating that
CSDRECOV=ALL cannot
be specified without a
CSDFRLOG if CSDRLS=NO.
CICS initialization is
terminated.
BACKOUTONLY or NONE FRLOG from 01 through DYNAMIC Processing continues and
99. messages DFHPA1929,
stating that CSDBKUP
has defaulted to STATIC,
and DFHPA1930, stating
that CSDFRLOG has been
ignored, are issued.
BACKOUTONLY or NONE NO DYNAMIC Processing continues and
message DFHPA1929
is issued, stating that
CSDBKUP has defaulted
to STATIC.
BACKOUTONLY or NONE NO STATIC OK
BACKOUTONLY or NONE FRLOG from 01 through STATIC Processing continues and
99. message DFHPA1930
stating that CSDFRLOG
has been ignored is
issued.
Note:
1. When CSDBKUP=DYNAMIC, the CSD is eligible for BWO.
2. Backup and recovery attributes must be specified in the ICF catalog for a CSD opened in RLS mode
(CSDRLS=YES).
*
DEFINE TDQUEUE (CSSL) GROUP(DFHDCTG)
DESCRIPTION(USED FOR MESSAGES)
TYPE(EXTRA) TYPEFILE(OUTPUT)
RECORDSIZE(132) BLOCKSIZE(136)
RECORDFORMAT(VARIABLE) BLOCKFORMAT(UNBLOCKED)
DDNAME(MSGUSR)
*
DEFINE TDQUEUE (CADL) GROUP(DFHDCTG)
DESCRIPTION(CEDA VTAM RESOURCE LOGGING)
TYPE(INDIRECT) INDIRECTNAME(CSSL)
*
DEFINE TDQUEUE (CAIL) GROUP(DFHDCTG)
DESCRIPTION(AITM MESSAGES)
TYPE(INDIRECT) INDIRECTNAME(CSSL)
*
DEFINE TDQUEUE (CRDI) GROUP(DFHDCTG)
DESCRIPTION(RDO INSTALL LOG)
TYPE(INDIRECT) INDIRECTNAME(CSSL)
*
DEFINE TDQUEUE (CSLB) GROUP(DFHDCTG)
DESCRIPTION(CICS LD Domain LIBRARY Audit Trail)
TYPE(INDIRECT) INDIRECTNAME(CSSL)
*
DEFINE TDQUEUE (CSDL) GROUP(DFHDCTG)
DESCRIPTION(CEDA COMMAND LOGGING)
TYPE(INDIRECT) INDIRECTNAME(CSSL)
*
DEFINE TDQUEUE (CSFL) GROUP(DFHDCTG)
DESCRIPTION(FILE ALLOCATION MESSAGES)
TYPE(INDIRECT) INDIRECTNAME(CSSL)
*
DEFINE TDQUEUE (CSKL) GROUP(DFHDCTG)
DESCRIPTION(TRANSACTION MANAGER MESSAGES)
TYPE(INDIRECT) INDIRECTNAME(CSSL)
*
DEFINE TDQUEUE (CSPL) GROUP(DFHDCTG)
DESCRIPTION(PROGRAM MANAGER MESSAGES)
TYPE(INDIRECT) INDIRECTNAME(CSSL)
*
DEFINE TDQUEUE (CSRL) GROUP(DFHDCTG)
DESCRIPTION(PARTNER RESOURCE MANAGER)
TYPE(INDIRECT) INDIRECTNAME(CSSL)
*
DEFINE TDQUEUE (SPIA) GROUP(DFHDCTG)
DESCRIPTION(USED FOR MESSAGES)
TYPE(EXTRA) TYPEFILE(OUTPUT)
RECORDSIZE(132) BLOCKSIZE(136)
RECORDFORMAT(VARIABLE) BLOCKFORMAT(UNBLOCKED)
DDNAME(SPIAUDIT)
*
DEFINE TDQUEUE (CADS) GROUP(DFHDCTG)
DESCRIPTION(SPI AUDIT MESSAGES)
TYPE(INDIRECT) INDIRECTNAME(SPIA)
*
Figure 12. Definitions for SPI audit messages redirected to extrapartition queue
Procedure
1. Include the following DD statement in your CICS startup job stream:
//DFHCSD DD DSN=CICSTS61.CICS.applid.DFHCSD,DISP=SHR
You usually need the CSD DD statement to include DISP=SHR. (See Sharing user access from several
CICS regions.)
If you include a DD statement for the CSD in the CICS startup job, the CSD is allocated at the time of
CICS job step initiation and remains allocated for the duration of the CICS job step.
2. To dynamically allocate the CSD, specify the data set name (DSNAME) and disposition (DISP) of the
CSD, using one of the following methods:
• The CSDDSN and CSDDISP system initialization parameters
• The CEMT SET FILE command
• The EXEC CICS SET FILE command
Do not provide a DD statement for the CSD in the startup job stream. If there is a CSD DD statement, it
is used instead of dynamic allocation.
CICS uses the full data set name (DSNAME) to allocate the CSD as part of OPEN processing. The CSD is
automatically deallocated when the last entry associated with it is closed.
UPGRADE USING(DFHRDJPN)
If you previously used a language-specific mapset for sign on (DFHSNLK), this is no longer supported as
part of the DFHRDJPN group. Instead, you can modify the CESL and CESN maps that are supplied in the
sample library SDFHSAMP. For details, see CESL - sign-on long and CESN - sign-on.
If you already have a customized mapset DFHSNLK that you have used in previous releases, you can
rename it to DFHSNLE to avoid having to recode and regenerate the module.
For information about DFHCSDUP and its commands, see Defining resources with DFHCSDUP.
Procedure
1. Plan what CICS data sets you require.
a) Review the CICS facilities that you want in your CICS regions and their data set requirements.
b) Define a naming convention for your data sets.
c) Calculate the space to allocate to the data sets and the data definition statements to define them to
the running CICS region.
2. Define and catalog the data sets that are used by CICS.
3. If required, initialize or preformat the data sets that are used by CICS.
4. Protect the data sets with RACF®, to suit your security requirements.
5. Define the DD statements for the required data sets in the CICS startup job stream.
You do not have to define DD statements for the following data sets:
• User files for which you are using CICS dynamic allocation facilities
• CICS system data sets that are managed by CICS file control and for which you are using CICS
dynamic allocation facilities
• DL/I databases you are accessing through CICS remote DL/I support or DBCTL
For more information about user file definitions, see “Defining user files” on page 125.
What to do next
When you have defined the CICS data sets, you can use CICS utility programs to perform postprocessing
on the data sets. These utilities are described in CICS utility programs.
Procedure
1. You must define the following CICS data sets:
Temporary storage and transient data intrapartition data sets use control interval (CI) processing and
therefore the record format is not relevant.
2. You must define the following CICS data sets if you plan to use the equivalent functions:
Procedure
• For 4-character names, use the CTGI naming convention, based on the 4-character CTGI symbol,
where:
– C identifies an entire CICSplex
– T identifies the type of region
– G identifies a group of regions
– I identifies iterations of regions within a group
• For 8-character names, as for CICS APPLIDs, use the letters CICS for the first four characters,
particularly for production regions.
For example, if CICSHTH1 is the APPLID, the data set name for the CSD would be:
DFHCSD DD DSN=CICSTS61.CICS.CICSHTH1.DFHCSD,DISP=SHR
RECORDS(primary,secondary)
RECORDS(primary) -
VOLUMES(volume1,volume2,volume3,.....)
For multiple extents on multiple volumes, combine both primary and secondary RECORDS operands with
multiple VOLUMES operands:
If a particular volume causes performance bottlenecks, try single extents on multiple volumes.
Use multiple extents over multiple volumes if there is a probability that a volume will exhaust its free
space before VSAM reaches its limit on extra extents. If this occurs, VSAM continues to create extra
extents on the next volume in the list.
Procedure
1. Run the DFHCOMDS job to create the CICS region definition data set, DFHCSD, and the SYSIN data set.
2. Run the DFHDEFDS job to create data sets used only by one CICS region.
You must run a separate copy of this job to create the data sets for each CICS region. This job creates
the following data sets:
Procedure
1. Recalculate the size of these system data sets, taking into account the increased volumes of data that
CICS generates.
For example, for an SDUMP data set you must have at least 25 cylinders of a 3380 device, or the
equivalent. For guidance information about calculating the size of SDUMP data sets, see the z/OS MVS
Initialization and Tuning Guide.
2. To prevent the SDUMP data sets from becoming full of unwanted SDUMPs, suppress the SDUMPs as
described in “Suppressing system dumps that precede ASRx abends” on page 121.
SDUMPs can precede ASRA, ASRB, and ASRD abends after the message DFHAP0001.
3. If you are collecting CICS interval statistics frequently, or the volume of statistics at each interval is
high, then you must take this into account when sizing your SMF data sets.
CICS can write records to SMF of up to 32 756 bytes, resulting in SMF writing spanned records to the
SMF data sets. For more efficient use of DASD, you should consider creating the SMF data sets to be
used by CICS with a control interval size of either 16 384 bytes (16 KB) or 8192 bytes (8 KB). If you
use other control interval sizes you must consider the trade-off between efficient use of DASD, SMF
data set I/O performance, and the possibility of data being lost due to insufficient SMF buffers.
4. If you are collecting CICS monitoring data, you must size the amount of data that is written when the
monitoring classes are active.
For background information about SMF, and about other SMF data set considerations, see z/OS MVS
System Management Facilities (SMF).
5. If you are running CICS with GTF trace on, make allowance for CICS trace entries in the GTF data sets.
For background information about GTF, see z/OS MVS Diagnosis: Tools and Service Aids .
Procedure
• Define the cluster with parameter BWO=TYPECICS.
This value means that the cluster is eligible for BWO in a CICS region. The file resource definition is
ignored, even if it conflicts.
Clusters with data sets that are to be opened in RLS mode must have BWO specified in the cluster
definition.
• If the BWO parameter is not defined, it defaults to UNDEFINED. In this case, CICS looks at the file
resource definition.
CICS defines a data set as eligible for BWO when a file is defined using RDO. If
BACKUPTYPE=DYNAMIC is specified for a VSAM file, the file is defined as eligible for BWO when
the data set is opened.
If DFSMSdss is to back up a data set that is specified with BACKUPTYPE=STATIC, all CICS files
currently open for update against that data set must be closed before the backup can start.
Results
CICS records the fact that a VSAM base cluster data set is eligible for BWO in its base cluster block.
This is remembered when all files have closed against the VSAM base cluster and across CICS warm and
emergency restarts. It is not remembered across CICS cold or initial starts.
What to do next
You must put appropriate procedures into place for BWO and for forward recovery. These procedures
must include:
• Restoring the BWO backup and running the forward recovery utility to bring the data set to a point of
consistency. The restore requires that users do not have access to the file during the recovery process.
• Restoring and forward recovery of data sets that might have been damaged while allocated to CICS.
This operation might require backout of partially committed units of work, by CICS emergency restart.
Restrictions on BWO
The following restrictions apply to VSAM KSDS data set types only.
If a VSAM control interval or control area split occurs while a BWO is in progress, the backup is unreliable
and is discarded by DFHSM and DFDSS. During such a split, certain portions of the data set may be
duplicated or not represented at all in the backup as DFDSS copies sequentially. MVS/DFP 3.2 indicates
that a split has occurred in the ICF catalog. At the end of the backup, DFHSM and DFDSS check the ICF
catalog, and if a split has occurred, or is still in progress, discard the backup. For this reason, certain
heavily-updated VSAM KSDS data sets may not be eligible for BWO, or might be eligible only during
periods of reduced activity (for example, overnight). For a KSDS data set to be eligible for BWO, the typical
time between control interval or control area splits must be greater than the time taken for DFHSM and
DFDSS to take a backup of the data set.
Example
It is possible to define a path with a dsname of CICSTS.applid.DFHCSD associated with base cluster
CICSTS.release.applid.DFHCSD. The path dsname can be used in the JCL. In this way, the JCL does
not need to be changed when you migrate to a new release of CICS TS.
Procedure
1. Consider adding multiple extents and multiple volumes for the data set.
The sample job produces a single-extent data set defined on a single volume, but you might
experience channel and arm contention if auxiliary temporary storage is used heavily.
To use DASD space more efficiently, you could define the DFHTEMP data set with a primary extent
large enough for normal activity, and with secondary extents for exceptional circumstances, such as
unexpected peaks in activity.
For instructions to define further extents or volumes, see “Defining data sets with multiple extents and
volumes” on page 87.
2. Optional: If you want to encrypt the data set, see “Encrypting data sets” on page 143.
3. Specify a RECORDSIZE value that is 7 bytes less than the CONTROLINTERVALSIZE.
//DFHTEMP DD DSN=CICSTS61.CICS.applid.DFHTEMP,DISP=SHR
Example
Figure 13. Sample job defining an auxiliary temporary storage data set
What to do next
Use the TS system initialization parameter to specify an appropriate number of VSAM buffers and strings
for auxiliary temporary storage. CICS uses each VSAM buffer to make a control interval from DFHTEMP
available in CICS storage, and uses a VSAM string for each VSAM I/O request between a buffer and
DFHTEMP. Typically, the default setting of three buffers and three strings is sufficient. For information
about the performance considerations, see Auxiliary temporary storage: monitoring and tuning.
Example
If you use BMS to write a 24 x 80 character screen to temporary storage, the data written occupies
1920-bytes. You require 36-bytes for the CICS temporary storage header, giving a total of 1956-bytes.
Rounding this up to a multiple of 64 gives 1984-bytes. Finally, adding a further 64-bytes of VSAM control
information gives a control interval size of 2048-bytes to hold a single record. You can select a control
interval size larger than 2048-bytes to hold several records that might differ in size.
Procedure
1. Decide if a single extent data set on a single volume is appropriate.
If you define one extent on one volume, you might require a much larger data set than your average
requirements to cater for exceptional cases. You can define multiple extents or multiple volumes or
both for the data set. For details, see “Using multiple extents and multiple volumes” on page 96.
2. Optional: If you want to encrypt the data set, see “Encrypting data sets” on page 143.
3. Specify a CONTROLINTERVALSIZE parameter that is large enough to hold the longest data record, in
addition to the 32 bytes that CICS requires for its own purposes. The maximum control interval size is
32 KB.
Space is allocated to queues in units of a control interval (CI). The first CI is reserved for CICS use; the
remaining CIs are available to hold data. Data records are stored in CIs according to VSAM standards.
4. If you allocate space in records, rather than tracks or cylinders, you must specify a RECORDSIZE value.
The value must be 7 bytes less than the CONTROLINTERVALSIZE.
5. Add the data definition statement for the intrapartition data set to the CICS startup job stream.
The DD name for the intrapartition data set is DFHINTRA, and the DSN operand must be the name of
the VSAM entry-sequenced data set. For example, you could specify:
//DFHINTRA DD DSNAME=CICSTS61.CICS.applid.DFHINTRA,DISP={OLD|SHR}
Figure 14. Sample job to define a transient data intrapartition data set
What to do next
Use the TD system initialization parameter to specify an appropriate number of VSAM buffers and strings
for the transient data intrapartition data set. CICS uses buffers to make control intervals from the data
set available in CICS storage, and uses strings for VSAM I/O requests between a buffer and the data set.
Typically, the default setting of three buffers and three strings is sufficient.
Example
//LOGUSR DD DSN=CICSTS61.CICS.applid.LOGUSR,DISP=(NEW,KEEP),
// DCB=(DSORG=PS,RECFM=V,BLKSIZE=136),
// VOL=SER=volid,UNIT=3380,SPACE=(CYL,2)
//MSGUSR DD SYSOUT=A
Figure 15. Sample JCL to define transient data extrapartition data sets
CICS uses the CXRF queue during CICS initialization as some CICS components might need to write to
transient data queues.
If the queues are not available at initialization time, the request to write to these queues is redirected to
CXRF. Any requests from CICS components to write to transient data before the CXRF queue definition
has been installed fails with a QIDERR condition.
Any requests to write to an intrapartition transient data queue after the warm keypoint has been taken
during a normal shutdown are routed to CXRF.
If you want to take advantage of the special CXRF queue, you must include a DD statement for DFHCXRF.
If you omit the DD statement, transient data write requests redirected to CXRF fail with a NOTOPEN
condition.
DFHCXRF DD statements
You can define the DFHCXRF data set to MVS in the same way as other transient data extrapartition data
sets, either to a SYSOUT data set or a sequential data set on disk (or tape). For example, you could use
either of the DD statements shown in the following example in a startup job stream for a CICS region:
//DFHCXRF DD SYSOUT=*
or
//DFHCXRF DD DSN=CICSTS61.CICS.applid.DFHCXRF,DISP=(NEW,KEEP),
// DCB=(DSORG=PS,RECFM=V,BLKSIZE=136),
// VOL=SER=volid,UNIT=3380,SPACE=(TRK,5)
If you define JOURNALMODEL resource definitions to define log stream names for DFHLOG and
DFHSHUNT, ensure that the resulting log stream names are unique. If you have some CICS regions that
use the same applid, you must use some other qualifier in the log stream name to ensure uniqueness.
If you use JOURNALMODEL resource definitions for the system log, these resource definitions must be
defined and added to the appropriate group list (using the CSD update batch utility program DFHCSDUP)
before INITIAL-starting CICS.
System logs cannot be TYPE(SMF).
DFHLOG can be TYPE(DUMMY), but you can use this only if you always INITIAL start your CICS regions
and there are no recoverable resources requiring transaction backout. CICS cannot perform a cold start,
or warm or emergency restart if TYPE(DUMMY) is specified on the JOURNALMODEL definition.
If you do not want to use a system log, perhaps in a test or development region, define a JOURNALMODEL
for DFHLOG with type DUMMY, as shown in the following example:
To start a CICS region without a system log, you must ensure that a JOURNALMODEL definition, such
as the one shown above, is included in the start-up group list. Use DFHCSDUP to define the required
JOURNALMODEL and to add the group to the group list.
Planning log streams for use by your user journals and autojournals
General logs are identified as such by their MVS log stream names, which are differentiated from system
log streams in that their names do not end with DFHLOG or DFHSHUNT.
In addition to forward recovery, the log of logs is also used for recording log stream errors. When a log
stream failure occurs, CICS tries to update the log of logs with the error and diagnostic information,
unless DFHLGLOG is defined as TYPE(DUMMY).
Do not share the log of logs between test and production CICS regions, because it could be misused to
compromise the contents of production data sets during a restore.
In this example, the literal SHARED is used in place of the default CICS applid, which would require a
unique log stream for each region.
You might want to use JOURNALMODELs to map journals to log streams if the CICS region userid changes
between runs. This could be the case, for example, where CICS test regions are shared between groups
of developers. It would be wasteful to create log streams with a different high level qualifier for each
user and you might prefer to use the same log streams regardless of which developer starts up a CICS
region. For example, the following generic JOURNALMODEL definition maps all journals not defined by
more explicit definitions to the same log stream
You might want to merge data written by CICS regions using different journal names to a single log
stream.
System logs
DFHLOG and DFHSHUNT are the journal names for the CICS system log.
CICS automatically creates journal table entries for DFHLOG and DFHSHUNT during initialization as
shown in Table 23 on page 102.
Table 23. Journal name entry for the CICS primary system log
Journal table entry - CICS system Created during system initialization
log
Name: DFHLOG Always DFHLOG for the primary log
Status: Enabled Set when journal entry created
Type: MVS The default, but it can be defined as DUMMY on JOURNALMODEL
definition (DUMMY = no output)
LSN: log_stream_name By default, log_stream_name resolves to ®userid..&applid..DFHLOG,
but this can be user-defined on a JOURNALMODEL definition
Table 24. Example of journal name entry for non-RLS mode forward recovery log
Journal table entry - forward Entry created during file-open processing
recovery log
Name: DFHJ01 Name derived from FWDRECOVLOG identifier. For example,
FWDRECOVLOG(01) = DFHJ01, thus FWDRECOVLOG(nn) = DFHJnn
Status: Enabled Set when journal entry created
Type: MVS The default, but it can be defined as DUMMY on JOURNALMODEL
definition (DUMMY = no output)
LSN: log_stream_name By default, log_stream_name resolves to
®userid..&applid..DFHJ01, but this can be user-defined on a
JOURNALMODEL definition
Note: There is no journal table entry for the forward recovery log of an RLS file. The recovery attributes
and LSN are obtained directly from the VSAM catalog, and the LSN is referenced directly by CICS file
control. Therefore there is no need for indirect mapping through a journal name.
You can also choose to specify the recovery attributes and LSN for a non-RLS file in the VSAM catalog.
Table 25. Example of a user journal name entry for output to MVS
Journal table entry - user Entry created on first reference
journals
Name: JRNL001 Name derived from API WRITE JOURNALNAME command
Status: Enabled Set when journal entry created
Type: MVS This journal is defined for MVS output by a JOURNALMODEL that
references the JRNL001 name
LSN: log_stream_name By default, log_stream_name resolves to
®userid..&applid..JRNL001, but this can be user-defined on a
JOURNALMODEL definition
Note: The journal control table of earlier releases is obsolete, and is replaced by a journal names table
that CICS creates dynamically.
The CICS log manager needs the name of the log stream that corresponds to a CICS system log or general
log, and the type - whether it is MVS, SMF, or a dummy. Except for VSAM forward recovery log stream
names taken directly from the ICF catalog, CICS maintains this information in the journal names table,
together with the corresponding log stream token that is returned by the MVS system logger when CICS
successfully connects to the log stream.
User application
program
Write request to
journal name DFHJ06
Figure 17. Looking for a journal model that matches a journal name
1 2
ABEND xxx
Figure 18. How CICS maps the system log (DFHLOG) to a log stream name (LSN) during an INITIAL start
userid.applid.journalname
Before you try to use this default log stream name, ensure that
• The default log stream is defined explicitly to the MVS system logger, or
• A suitable model log stream is defined so that it can be created dynamically.
If the log stream is not available (perhaps it has not been defined to MVS) or the definition is not found
(perhaps it has not been installed), CICS attempts to create a log stream using the default name:
LSN_QUALIFIER1.LSN_QUALIFIER2.MODEL
where the qualifier fields are based on the JOURNALMODEL definition streamname attribute, as follows:
• If the log stream being created has a qualified name consisting of only two names (qualifier1.qualifier2)
or has an unqualified name, CICS constructs the model name as qualifier1.MODEL or name.MODEL.
• If the log stream being created has a qualified name consisting of 3 or more names
(qualifier1.qualifier2....qualifier_n), CICS constructs the model name as qualifier1.qualifier2.MODEL.
Once the log stream has been created, CICS connects to it.
Figure 19 on page 108 shows a graphical representation of the mapping process for general logs.
1 First reference?
Create entry in journal names table for DFHJ02 as follows:
fnd log stream name (LSN) and type for DFHJ02 from
installed JOURNALMODEL defnition.
If not found, use defaults for LSN:
&USERID . . &APPLID . . DFHJ02 (TYPE MVS)
5 Issue a defne log stream to MVS system logger If the defne fails, CICS returns
an exception condition to the task
Figure 19. How a CICS journal is mapped to its log stream name (LSN)
Procedure
1. Define the global catalog.
2. Define the local catalog.
Procedure
1. Edit the data set name in the CLUSTER definition to be the same as the DSN parameter in the DD
statement for the global catalog in the CICS startup job stream.
2. The primary and secondary extent sizes are shown as n1 and n2 cylinders. Calculate the size required
to meet your installation requirements, and substitute your values for n1 and n2.
Whichever IDCAMS parameter you use for the global catalog data set space allocation (CYLINDERS,
TRACKS, or RECORDS), make sure that you specify a secondary extent. CICS abends if your global
catalog data set fills and VSAM cannot create a secondary extent. For information about record sizes,
see Table 26 on page 111
3. Specify the REUSE option on the DEFINE CLUSTER command.
//DFHGCD DD DSN=CICSTS61.CICS.applid.DFHGCD,DISP=OLD
This example shows the minimum specification for a global catalog for use by a single CICS region.
8. Add the relevant AMP subparameters to the DD statement to help improve restart and shutdown time.
The AMP parameter is described in z/OS MVS JCL Reference and an example is shown in the CICS
startup job stream in “CICS startup” on page 180.
Example
Figure 20. Example job to define and initialize the global catalog
Notes
1. The size of a bundle catalog record depends on the number of parts that are included in the bundle,
the size of the bundle directory, and the length of the scope. The minimum size for a bundle with no
scope and small directory is approximately 300 bytes. However, with a scope and large directory, the
number of bytes can increase to 800. For each bundle part, the size can also range from 300 to 800
bytes.
2. The size of an event binding catalog record depends on the number of capture specifications in
the event binding and the number of filters and capture data items in each capture specification. If
required, you might have multiple catalog records for each event binding.
3. The TYPETERM and model TERMINAL definitions are present if you are using autoinstall. They are
stored directly in the global catalog when the definitions are installed, either by a CEDA transaction, or
as members of a group installed through a group list. For example, if you start CICS with the startup
parameter GRPLIST=DFHLIST, the CICS-supplied TYPETERM and model terminal definitions, defined
in the groups DFHTERM and DFHTYPE, are recorded in the global catalog. Allocate space in your
calculations for all autoinstall resources installed in your CICS region.
4. One for each LSR pool; that is, 8.
5. If you open a VSAM path, you get two of these; for BDAM or VSAM base data sets you get one.
6. You will have these if you use the VSAM RLS SHCDS option NONRLSUPDATEPERMITTED. In this case,
for each data set for which you have specified NONRLSUPDATEPERMITTED, you can have an upper
limit. This limit is the number of different file names through which you access the data set multiplied
by the number of tasks that update the data set. You will typically have only a few, if any, of these
control blocks.
7. The value given is for a DWE chained off an LU6.1 session or an APPC session.
BUFND = (STRNO + 1)
BUFNI = STRNO
BUFSP = 33 * 32768 (BUFND * CI size) + 32 * 1024 (BUFNI * CI size) =
1114112 bytes
Another way to define buffer space for the global catalog data set is to use the AMP parameter on the DD
statement in the CICS startup job stream, which you can use to override the default or defined value. If
the AMP BUFSP specifies fewer bytes than the BUFFERSPACE parameter of the access method services
DEFINE command, the BUFFERSPACE number overrides the BUFSP number.
Figure 21. DFHRMUTL example—setting the global catalog for a cold start
You can define and initialize the CICS local catalog in two ways. You can use the sample job as described
below or you can use the CICS-supplied job, DFHDEFDS, to create a local catalog for an active CICS
region.
Edit the sample job as follows:
Procedure
1. If you are defining local catalogs for multiple CICS regions, identify the clusters uniquely by making the
specific APPLID of each CICS one of the data set qualifiers.
For example, you might use the following names for the clusters of active and alternate CICS regions,
where DBDCCIC1 and DBDCCIC2 are the specific APPLIDs:
DEFINE CLUSTER -
(NAME( CICSTS61.CICS.DBDCCIC1.DFHLCD)
DEFINE CLUSTER -
(NAME( CICSTS61.CICS.DBDCCIC2.DFHLCD)
//DFHLCD DD DSN=CICSTS61.CICS.applid.DFHLCD,DISP=OLD
Example
Figure 22. Sample job to define and initialize the local catalog
Procedure
1. To enable you to initialize the local catalog correctly, with all the records in the correct sequence, run
the CICS-supplied utility DFHCCUTL immediately after you have defined the VSAM data set.
This utility writes the necessary data to the local catalog from the CICS domains.
Example
Procedure
1. Decide whether to define one or two sequential data sets for auxiliary trace.
If you want to specify automatic switching for your auxiliary trace data sets, you must define two data
sets. If you specify automatic switching for auxiliary trace, but define only one data set, auxiliary trace
is stopped and a system dump is generated.
2. Decide on the location of the auxiliary trace data sets.
If you use tape for recording auxiliary trace output, use unlabeled tape. Using standard-labeled tape,
whether on a single tape drive or on two tape drives, stops you processing the contents of any of the
volumes with the DFHTU740 utility until after the CICS step has been completed. If you have to use
standard-labeled tape, make sure all the output produced in the CICS run fits on the one (or two)
volumes mounted.
You cannot catalog data sets that are on unlabeled tapes.
3. If you are defining auxiliary trace data sets on disk, allocate and catalog the auxiliary trace data sets
before you start CICS. Use one of the following methods:
• Use the sample job shown in “Sample job to allocate auxiliary trace data sets” on page 120 to
allocate and catalog the data sets.
• Use the supplied job DFHDEFDS to create the auxiliary trace data sets. For more information, see
Creating the CICS data sets in Installing.
4. If you are using tape for the auxiliary data sets, and you want auxiliary trace to be active from CICS
startup, assign tape units and mount the tapes before you start CICS.
If you plan to start auxiliary trace by entering a command when CICS is running, ensure the tapes are
mounted before you enter the command.
5. Optional: If you want to encrypt the data sets, see “Encrypting data sets” on page 143.
6. Define the auxiliary trace data sets to CICS in the startup job stream.
a) For auxiliary trace data sets on disk, use the following DD statements:
//DFHAUXT DD DSN=CICSTS61.CICS.applid.DFHAUXT,DCB=BUFNO=n,DISP=SHR
//DFHBUXT DD DSN=CICSTS61.CICS.applid.DFHBUXT,DCB=BUFNO=n,DISP=SHR
//DFHAUXT DD DSN=CICSTS61.CICS.applid.DFHAUXT,UNIT=3400,VOL=SER=volid,
// DISP=(NEW,KEEP),LABEL=(,NL)
//DFHBUXT DD DSN=CICSTS61.CICS.applid.DFHBUXT,UNIT=3400,VOL=SER=volid,
// DISP=(NEW,KEEP),LABEL=(,NL)
Procedure
1. The DCB subparameters shown in this sample job specify the required DCB attributes for the CICS
auxiliary trace data sets. As an alternative to this job, you can specify (NEW,CATLG) on the DD
statements in the CICS startup job stream, omit the DCB parameter, and let CICS open the data
sets with the same default values.
2. Change the space allocations in this sample job stream to suit your installation's needs.
Example
Figure 23. Sample job to define auxiliary trace data sets on disk
Procedure
1. For the initial installation of CICS, define a dump data set of between 5 and 10 MB.
When normal operations begin, you can adjust this to suit your own installation's requirements.
Results
When you start CICS for the first time, CICS uses system default values for the dump table options, and
continues to use the system default values until you modify them.
CICS has a dump table facility that enables you to control dumps. The dump table lets you:
• Specify the type of dump, or dumps, you want CICS to record.
• Suppress dumping entirely.
• Specify the maximum number of dumps to be taken during a CICS run.
• Control whether CICS is to terminate as a result of a failure that results in a dump.
System dumps
CICS produces a system dump using the MVS SDUMP macro.
The MVS SDUMP dump results from CICS issuing an MVS SDUMP macro. It includes almost the entire
CICS address space, that is, the MVS nucleus and other common areas, as well as the CICS private
storage areas. The SDUMP dump is written to an MVS dump data set, which you can process using the
interactive problem control system (IPCS), either online under TSO, or by submitting a batch job to print
it. IPCS is described in the z/OS MVS IPCS User's Guide. For information about the IPCS VERBEXIT
parameters that you use with the CICS IPCS dump exit, see Using IPCS to format and analyze CICS
dumps: Overview. For information about the SDUMP macro, and the associated MVS dump data sets, see
z/OS MVS Diagnosis: Tools and Service Aids.
The SDUMP macros issued by CICS normally contain the QUIESCE=NO parameter. They might not if
the SDUMP is taken because of an abend in CICS SVC code or when altering MRO control blocks. This
parameter allows the MVS system to remain dispatchable while the SDUMP is being taken, thus reducing
the impact on the system. However if QUIESCE=YES is specified as an MVS system default it will override
that specified by CICS. These defaults can be altered by using the MVS CHNGDUMP command.
Alternatively, define a system DUMPCODE resource using CEDA and install it. For example:
However, in this case, the SDUMPs are taken at a later point than SDUMPs usually taken for system dump
code AP0001 and SR0001.
For information about the DFHAP0001 and DFHSR0001 messages, see CICS messages and Finding
where a program check occurred.
Related information
DUMPCODE resources
Procedure
• To print transaction dumps explicitly:
a) Use the command CEMT SET DUMP SWITCH to switch the data sets.
CICS closes the current data set after any transaction dump being recorded has been completed,
and opens the other data set.
b) If you specified DISP=SHR for the dump data set, you can print the completed data set with the
DFHDU740 utility program and then reissue the CEMT SET DUMP AUTO command.
This again switches data sets automatically (once only) when the current data set is full.
Procedure
1. Code the DUMPDS system initialization parameter to specify which transaction dump data set is to be
opened during CICS initialization.
If you specify DUMPDS=AUTO, CICS opens, on a warm or emergency start, the data set that was not in
use when CICS was last terminated. This lets you restart CICS after an abnormal termination without
waiting to print the dump data set that was in use at termination.
2. Optional: If you want to encrypt the data sets, see “Encrypting data sets” on page 143.
3. Allocate the dump data sets. You can do this in one of two ways:
• Use the sample data definition statements to allocate and catalog dump data sets on disk.
• Use the CICS-supplied job DFHDEFDS to allocate and catalog the dump data sets.
If you select to use the sample job, edit the statements as follows:
a) Change the space allocations in this sample job stream to suit your own installation's needs.
b) If you are running CICS with XRF, allocate different data sets for the alternate.
c) If you use tape for recording dump output, use unlabeled tape.
Standard-labeled tape, whether on a single tape drive or on two tape drives, stops you processing
the contents of any of the volumes with the DFHDU740 utility until after the CICS step has been
completed. If you want to use standard-labeled tape, make sure that all the output produced in the
CICS run fits on the one or two volumes mounted.
You cannot catalog dump data sets defined on unlabeled tapes. Your data set definitions must be in
the CICS startup job stream each time CICS is run.
Figure 24. Sample job control statements for defining disk dump data sets
4. Optional: To copy dump data sets to tape or disk, specify DCB parameters on the DD statements when
allocating and cataloging the dump data sets, as follows:
// DCB=(RECFM=VB,BLKSIZE=4096,LRECL=4092)
//DFHDMPA DD DSN=CICSTS61.CICS.applid.DFHDMPA,DISP=SHR
//DFHDMPB DD DSN=CICSTS61.CICS.applid.DFHDMPB,DISP=SHR
DISP=SHR enables each data set, if held on disk, to be processed by the DFHDU740 offline utility
after the switch to the other data set has taken place.
• If you have put the transaction dump data sets on unlabeled tapes, add the following DD
statement:
//DFHDMPA DD DSN=CICSTS61.CICS.applid.DFHDMPA,UNIT=3400,VOL=SER=volid1,
// DISP=(NEW,KEEP),LABEL=(,NL)
//DFHDMPB DD DSN=CICSTS61.CICS.applid.DFHDMPB,UNIT=3400,VOL=SER=volid2,
// DISP=(NEW,KEEP),LABEL=(,NL)
Results
CICS always attempts to open at least one transaction dump data set during initialization. If you do not
include a DD statement for at least one transaction dump data set in your CICS job, initialization continues
after the DFHDU0306 message is sent to the console.
When CICS opens the dump data set, it issues an MVS DEVTYPE macro. This returns the track size for
direct access devices, or 32760 for magnetic tape. The maximum block size used for a transaction dump
is the lesser of the values returned from the DEVTYPE macro and 4096. As this usually results in a block
size of 4096 (because devices generally have a track size greater than this), CICS writes multiple blocks
per track. After writing each block, MVS returns the amount of space remaining on the current track. If the
space remaining is 256 bytes or more, then the size of the next block written is the lesser of the values
returned by MVS and 4096.
If the space remaining is less than 256 bytes, the next block is written to the next track.
There are four global user exits that you can use with the transaction dump data sets:
1. XDUCLSE, after the dump domain has closed a transaction dump data set
2. XDUREQ, before the dump domain takes a transaction dump
3. XDUREQC, after the dump domain takes a transaction dump
4. XDUOUT, before the dump domain writes a record to the transaction dump data set
Coupling
facility
VSAM MVS
data sets logger
data sets
Without RLS support (RLS=NO system initialization parameter), more than one CICS region cannot open
the same VSAM data set concurrently using a non-RLS mode (such as LSR or NSR). These access modes
mean that to share VSAM data between CICS regions, you must either:
• Use shared data tables,
or
• Allocate the VSAM data sets to one CICS region, a file-owning region (FOR), and function ship file
requests from the applications to the FOR using either MRO, APPC, or IPIC connections.
With RLS support, multiple CICS regions can open the same data set concurrently. To use RLS:
• You need a level of DFSMS that supports RLS, and RLS=YES specified as a CICS system initialization
parameter
• The CICS regions must all run in the same parallel sysplex
• There must be one SMSVSAM server started in each MVS image
• Specify RLSACCESS(YES) in the CICS file resource definition to provide full update capability for data
sets accessed by multiple CICS regions.
CICS restrictions
You can open a file in RLS mode or non-RLS mode in a CICS region when the referenced data set is
already open in a different mode by another user (CICS region or batch job).
However, in addition to the above VSAM rules, a data set cannot be open in different modes concurrently
within the same CICS region. This ensures that CICS maintains a consistent view of data within the CICS
region.
Figure 26. Sample JCL to create and load a BDAM data set
Notes:
1. The input data set (called SYSUT1 in this example) should be physically sequential and have attributes
that are compatible with the DCB for the output data set (called SYSUT2 in this example; see note 3).
In particular:
• If RECFM=F is specified for the output data set, then the input data set must have RECFM=F or
RECFM=FB specified, and the value of LRECL should be the same for both data sets.
• If RECFM=V or RECFM=U is specified for the output data set, then the value of LRECL for the input
data set must not be greater than that specified on the output data set.
2. When you create a data set, you define a data set name (DSNAME) of up to 44 characters. This data set
name uniquely identifies the data set to your MVS system.
3. The DCB parameter for the output data set should specify the following:
• DSORG=DA. This identifies the data set as a BDAM data set.
• BLKSIZE. This should have the same value as specified for BLKSIZE in the associated file control
table (FCT) entry.
• RECFM. This can take the values F (fixed), V (variable), or U (undefined), and correspond to the first
subparameter of the RECFORM operand in the associated FCT entry.
These options are specified on the DFHFCT TYPE=FILE definition. File control table (FCT) gives
information about defining files using DFHFCT TYPE=FILE options. A data set created by this example,
Using JCL
You can define the data set in a DD statement in the JCL of the CICS startup job. The DD name must be
the same as the file name that refers to the data set.
For example, the following DD statements would correspond to file definitions for the file names VSAM1A
and BDAMFILE:
//VSAM1A DD DSN=CICSTS61.CICS.vsam.user.file,DISP=OLD
//BDAMFILE DD DSN=CICSTS61.CICS.bdam.user.file,DISP=SHR
If you define a data set to CICS in this way it is allocated to CICS by MVS at CICS startup time, and it
normally remains allocated until the end of the CICS run. Also, the physical data set is associated with the
installed file definition throughout the CICS run.
If you use JCL to define a user data set to the CICS system, the DD statement must not include the
FREE=CLOSE operand.
When you use this command, CICS allocates the data set as part of OPEN processing as described above.
The data set is automatically deallocated when the last file entry associated with the data set is closed.
Before you can dynamically allocate a file using the CEMT command, the file status must be CLOSED, and
also be DISABLED or UNENABLED.
This method of defining the data set to CICS allows a file definition to be associated with different data
sets at different times. Alternatively, you can close the file and deallocate the data set and then reallocate
and open the same file with a different DISP setting. For example, you could do this to enable the physical
data set to be shared with a batch program, which reads the data set.
For information about the CEMT SET command, see CEMT SET commands.
When you use one of these commands, the file is opened irrespective of whether its state is enabled or
disabled. You may choose this method to avoid the overhead associated with opening the file being borne
by the first transaction to access the file.
You can also specify that you want CICS to open a file immediately after initialization by specifying the
RDO OPENTIME(STARTUP) attribute (or the FILSTAT=OPENED parameter in the DFHFCT macro). If you
specify that you want CICS to open the file after startup, and if the file status is ENABLED or DISABLED,
the CICS file utility transaction CSFU opens the file. (CSFU does not open files that are: defined
as UNENABLED the status of these remains CLOSED, UNENABLED.) CSFU is initiated automatically,
immediately before the completion of CICS initialization. CICS opens each file with a separate OPEN
request. If a user transaction starts while CSFU is still running, it can reference and open a file that CSFU
has not yet opened; it does not have to wait for CSFU to finish.
A transaction is also a user of a file if it completes a recoverable change to the file but has not yet reached
a sync point or the end of the transaction.
If there are users at the time of the close request, the file is not closed immediately. CICS waits for all
current users to complete their use of the file. The file is placed in an UNENABLING state to deny access
to new users but allow existing users to complete their use of the file. When the last user has finished
with the file, the file is closed and UNENABLED. If a transaction has made recoverable changes to a file
and then suffered a failure during syncpoint, the unit of work is shunted, and the file can be closed at this
point.
Procedure
1. Create the DFHDBFK data set by running an IDCAMS job, an example of which is shown in Figure 28 on
page 136.
//* Place the definitions you want to load after SYSUT1. For example:
//SYSUT1 DD *
SAMPLE DIS DB DI21PART
SAMPLE STA DB DI21PART
SAMPLE STO DB DI21PART
/*
//SYSIN DD *
GENERATE MAXFLDS=1
RECORD FIELD=(40)
/*
//DBFKLOAD EXEC PGM=IDCAMS,REGION=1M
//SYSPRINT DD SYSOUT=*
//AMSDUMP DD SYSOUT=*
//SYS01 DD DSN=CICSTS61.CICS.DBFKINIT,DISP=SHR
//DFHDBFK DD DSN=CICSTS61.CICS.DFHDBKF,DISP=SHR
//SYSIN DD *
REPRO INFILE (SYS01) -
OUTFILE (DFHDBFK)
/*
//
where dbfkvol is the volume on which the DFHDBFK data set is to be created and dbfkunit is the unit
type for that volume.
Figure 28. Sample job to define and initialize the DFHDBFK data set
2. Use this job to load IMS commands or use the maintenance function within the CDBM transaction.
//DFHDBFK DD DSN=CICSTS61.CICS.DFHDBFK,DISP=SHR
Procedure
1. Create the DFHCMACD data set and load it with the CICS-supplied messages and codes data.
You can create the data set in one of the following ways:
• Run the DFHCMACI job. For more information about the DFHCMACI job, see Creating the CICS data
sets in Installing.
• Use the supplied sample job, as described in “Job control statements to define and load the
messages data set” on page 137.
2. If you use the supplied sample job to define the messages data set, add the following data definition
statement to your CICS startup JCL:
//DFHCMACD DD DSN=CICSTS61.CICS.DFHCMACD,DISP=SHR
Results
The CICS messages are available from the CMAC transaction.
Job control statements to define and load the messages data set
Before its first use, the DFHCMACD data set should be defined and loaded as a VSAM key sequenced data
set (KSDS). The following sample job shows you how to do this.
Figure 29. Sample job to define and initialize the CMAC data set
Figure 30. Example JCL to define the WS-AT directory data set
1. Define the backout recovery attribute in the ICF catalog, so that the data set defined by this job can be
used in either RLS or non-RLS mode. For data sets used in RLS mode, you define the recovery attributes
in the ICF catalog, and those attributes override any that are specified in the CICS file resource definition.
You must define the PI directory data set as recoverable.
2. Specify your own value for the VOLUME parameter, or remove it completely if you are using SMS-
managed storage.
3. The default record size is 1 KB, which can be changed.
Note: You do not change any of the definition values shown in Figure 30 on page 139. DFHPIDIR contains
only one record, its control record. However, ensure that you specify runtime settings (such as BUFND,
BUFNI, and STRNO subparameters on the AMP parameter on the DD statement, or the equivalent in the
CICS file resource definition) to support the maximum number of requests that might be active at any one
time.
Figure 31. Sample JCL to create the debugging profiles data sets
The sample JCL creates data sets which contain example debugging profiles. To create empty data sets,
remove the following line:
*-------------------------------------------------------------------*
* Define base file for Debugging Profiles (RLS) *
*-------------------------------------------------------------------*
DEFINE FILE(DFHDPFMB) GROUP(DFHDPVR)
DESCRIPTION(Debugging Profiles base file - VSAM RLS)
RLSACCESS(YES) TABLE(NO)
LSRPOOLNUM(1) DSNSHARING(ALLREQS)
STRINGS(5) STATUS(ENABLED)
OPENTIME(FIRSTREF) DISPOSITION(SHARE)
DATABUFFERS(3) INDEXBUFFERS(2)
RECORDFORMAT(V) READINTEG(REPEATABLE)
ADD(YES) BROWSE(NO)
DELETE(YES) READ(YES)
UPDATE(YES) JOURNAL(NO)
JNLREAD(NONE) JNLSYNCREAD(NO)
JNLUPDATE(NO) JNLADD(NONE)
JNLSYNCWRITE(YES) RECOVERY(NONE)
FWDRECOVLOG(NO) BACKUPTYPE(STATIC)
*-------------------------------------------------------------------*
* Define path file for Debugging Profiles (RLS) *
*-------------------------------------------------------------------*
DEFINE FILE(DFHDPFMP) GROUP(DFHDPVR)
DESCRIPTION(Debugging Profiles path file - VSAM RLS)
RLSACCESS(YES) TABLE(NO)
LSRPOOLNUM(1) DSNSHARING(ALLREQS)
STRINGS(10) STATUS(ENABLED)
OPENTIME(FIRSTREF) DISPOSITION(SHARE)
DATABUFFERS(11) INDEXBUFFERS(10)
RECORDFORMAT(V) READINTEG(REPEATABLE)
ADD(YES) BROWSE(NO)
DELETE(YES) READ(YES)
UPDATE(YES) JOURNAL(NO)
JNLREAD(NONE) JNLSYNCREAD(NO)
JNLUPDATE(NO) JNLADD(NONE)
JNLSYNCWRITE(YES) RECOVERY(NONE)
FWDRECOVLOG(NO) BACKUPTYPE(STATIC)
Figure 32. Resource definitions for debugging profiles data sets defined as VSAM RLS files
1. Copy the sample FILE definitions for DFHDPFMB and DFHDPFMP resource to another group.
2. Add the DSNAME attribute:
• For DFHDPFMB, specify the name of the debugging profiles base data set. For example:
• For DFHDPFMP, specify the name of the debugging profiles base data set. For example:
Alternatively, you can omit the DSNAME attribute, and include a DD card in the CICS startup JCL. For
example:
//DFHDPFMB DD DSN=CICSTS61.CICS.DFHDPFMB,DISP=SHR
//DFHDPFMP DD DSN=CICSTS61.CICS.DFHDPFMP,DISP=SHR
Figure 33. Resource definitions for debugging profiles data sets defined as VSAM non-RLS files
1. Copy the sample FILE definitions for DFHDPFMB and DFHDPFMP resource to another group.
2. Add the DSNAME attribute:
• For DFHDPFMB, specify the name of the debugging profiles base data set. For example:
• For DFHDPFMP, specify the name of the debugging profiles base data set. For example:
Alternatively, you can omit the DSNAME attribute, and include a DD card in the CICS startup JCL. For
example:
//DFHDPFMB DD DSN=CICSTS61.CICS.DFHDPFMB,DISP=SHR
//DFHDPFMP DD DSN=CICSTS61.CICS.DFHDPFMP,DISP=SHR
Figure 34. Resource definitions for debugging profiles data sets defined as remote files
1. Copy the sample FILE definitions for DFHDPFMB and DFHDPFMP resource to another group.
2. Add the DSNAME attribute:
• For DFHDPFMB, specify the name of the debugging profiles base data set. For example:
• For DFHDPFMP, specify the name of the debugging profiles path data set. For example:
Alternatively, you can omit the DSNAME attribute, and include a DD card in the CICS startup JCL. For
example:
//DFHDPFMB DD DSN=CICSTS61.CICS.DFHDPFMB,DISP=SHR
//DFHDPFMP DD DSN=CICSTS61.CICS.DFHDPFMP,DISP=SHR
Procedure
1. Either create an encryption key and associated key label, or use an existing key label.
2. Allocate a new instance of the data set, specifying extended format and the data set key label.
a) Specify extended format in one of the following ways:
Table 28. Which system data sets are candidates for encryption?
CICS system data set Candidate for encryption? Special considerations
Temporary storage data set Yes, could contain sensitive data. DFHTEMP supports extended
(DFHTEMP) format, but does not support
extended addressing.
Intrapartition Transient Data Yes, could contain sensitive data. DFHINTRA supports extended
(DFHINTRA) format, but does not support
extended addressing.
Extrapartition Transient Data Yes, could contain sensitive data. Encryption is not supported for
partitioned data sets (PDS).
Auxiliary Trace data sets Yes, can potentially include If trace data is encrypted and
(DFHAUXT and DFHBUXT) sensitive data in the diagnostics. you need to send it to IBM
Alternatively, use the CONFDATA for diagnostics, use CICS trace
system initialization parameter, formatting or another method to
which might provide sufficient ensure that you send decrypted
protection. data.
CICS dump data sets (DFHDMPA Yes, can potentially include If dump data is encrypted and
and DFHDMPB) sensitive data in the diagnostics. you need to send it to IBM
Alternatively, use the CONFDATA for diagnostics, use CICS dump
system initialization parameter, formatting or another method to
which might provide sufficient ensure that you send decrypted
protection. data.
CICS dump data sets support
extended format, but do not
support extended addressing.
Doctemplate resources Yes, can potentially contain Provided that the data set used is
sensitive data. of a type for which encryption is
supported.
URIMAP resources used for static Yes, can potentially contain Provided that the data set used is
delivery sensitive data. of a type for which encryption is
supported.
BTS repository data sets and BTS No, contain only control data. None.
local request queue (LRQ) data
set
Related tasks
“Encrypting data sets” on page 143
You can encrypt any data sets that you use with CICS for which z/OS data set encryption is supported.
Procedure
1. Code the following macro parameter first:
DFHSIT TYPE=CSECT, *
The asterisk (*) can be any character in column 72 to indicate the macro continues on the next line.
2. Use the following syntax to add system initialization parameters to the macro:
TYPE=CSECT
DFHSIT
TYPE=DSECT parameter = value
where parameter is the system initialization parameter that you want to code, and value is the
appropriate parameter value. You should code the parameters and keywords in uppercase, except
for parameters where case is important. For example, any parameter that specifies the name of a z/OS
UNIX directory is case sensitive. The system initialization parameters are described in detail in System
initialization parameter descriptions and summary.
For example:
ADI=30, *
AIBRIDGE=AUTO, *
AIEXIT=DFHZATDX, *
AILDELAY=0, *
END DFHSITBA
Example
For information on the sample system initialization tables provided, see Defining resources in CICS
control tables.
Table 29. Summary of resources with a suffix, a dummy load module, or a COLD option
DFHSIT keyword 1 Default 2 Suffix 3 Dummy 4 COLD start 5
BMS FULL - - COLD
CLT - xx - -
DIP NO - program -
FCT YES xx - -
Note:
1. When the DFHSIT keyword is specified with more than one value, these values must be enclosed
within parentheses: for example, BMS=(FULL,COLD).
2. The Default column indicates the default value for the keyword in the DFHSIT macro.
For keywords with the suffix option, if you code YES in the SIT, an unsuffixed version of the table or
program is loaded. For example, TCT=YES results in a table called DFHTCT being loaded. You can also
select an unsuffixed module or table at CICS startup by specifying keyword=, or keyword=YES. For
example, if you code:
FCT=, or FCT=YES
blanks are appended to DFHFCT, and these unsuffixed names are used during initialization.
The result of specifying keyword=, as a system initialization parameter through PARM, SYSIN, or
CONSOLE is not necessarily the same as in the DFHSIT macro. For example, TST=, (or omitted
altogether) when coding the DFHSIT macro is taken to mean TST=NO, but TST=, through any of the
other three methods is the same as TST=YES.
3. The Suffix column indicates whether you can code a suffix. (xx indicates that a suffix can be coded.)
A suffix can be any 1 or 2 characters, but you must not use DY, and you cannot use NO as a suffix.
If you code a suffix, a table or program with that suffix appended to the standard name is loaded.
4. The Dummy column indicates whether a dummy version of the program or table is loaded if you code
NO. In some cases, coding NO for the operand associated with the table results in a dummy program.
For more information about the effect of this option, see “Selecting versions of CICS programs and
tables” on page 163.
5. The COLD start column indicates whether the resource can be forced to start COLD. (COLD indicates
that a cold start can be performed for the resource individually.) TST and cold start ensure that a cold
start is performed for temporary storage or the whole system if you make any change to the TST.
If COLD is coded, it can be overridden only by coding START=(...,ALL) as a system initialization
parameter. For more information about this option, see page ALL.
For more information about CICS table and program selection, see “Selecting versions of CICS
programs and tables” on page 163.
Procedure
1. Assemble and link-edit the table into an APF-authorized library, such as CICSTS61.CICS.SDFHAUTH.
2. Include this library in the STEPLIB concatenation of the CICS startup job stream.
Results
If you code a system initialization parameter in your SIT source, and the parameter's keyword is not
defined in the CICS-supplied version of the DFHSIT macro, you get an IEV017 warning message from the
assembly, as follows:
For information about assembling and link-editing CICS control tables, and an explanation of the syntax
notation used to describe CICS macros, see Defining resources in CICS control tables.
Specifying programname=NO
If you code system initialization parameter programname=NO (for example, DIP=NO), you exclude the
named management program at CICS system initialization.
You can exclude the following programs by coding programname=NO:
• Batch data interchange program (DIP)
• Terminal control program (TCP)
Note: In the case of DIP, you get a dummy version of the management program, which is supplied on the
distribution tape with a suffix of DY.
Specifying function=NO
If you code function=NO as a system initialization parameter, you exclude the management program
associated with the named function at CICS system initialization.
You can exclude functions such as intersystem communication (ISC), the 3270 print-request facility, and
the system spooling interface in this way.
CONSOLE (CN)
This keyword tells CICS to read initialization parameters from the console. CICS prompts you with
message DFHPA1104 when it is ready to read parameters from the console.
Where to code CONSOLE: You can code CONSOLE (or CN) in the PARM parameter of the EXEC
PGM=DFHSIP statement or in the SYSIN data set. This keyword can appear either at the end of the
PARM parameter or in the SYSIN data set, but code it in one place only.
If you code CONSOLE (or CN) in the PARM parameter, and PARM also contains the SYSIN keyword,
CICS does not begin reading parameters from the console until it has finished reading and processing
the SYSIN data set. Similarly, wherever you place the CONSOLE keyword in the SYSIN data set, CICS
does not begin reading parameters from the console until it has finished reading and processing the
SYSIN data set.
Examples:
If both SYSIN (or SI) and CONSOLE (or CN) appear as keywords of the PARM parameter, the order in
which they are coded is irrelevant as long as no other keywords, other than .END, follow them.
.END
The meaning of this keyword varies:
PARM
The use of the .END keyword is optional in the PARM parameter. If you omit it, CICS assumes it to
be at the end of the PARM parameter. If you code .END in the PARM parameter it can have one of
two meanings:
1. If you also code one, or both, of the other control keywords (CONSOLE and/or SYSIN) .END
denotes the end of the PARM parameter only.
For example:
2. If you code .END as the only control keyword in the PARM parameter, it denotes the end of all
system initialization parameters, and CICS begins the initialization process. For example:
If .END is not the last entry in the PARM parameter, CICS truncates the PARM parameter and the
parameters following the .END keyword are lost.
SYSIN
The use of the .END keyword is optional in the SYSIN data set. If you omit it, CICS assumes it to
be at the end of SYSIN. If you code .END in the SYSIN data set its meaning depends on your use of
the CONSOLE keyword, as follows:
• If you code the CONSOLE control keyword in the PARM parameter or in the SYSIN data set, .END
denotes the end of the SYSIN data set only.
//SYSIN DD *
* CICS system initialization parameters
SIT=6$,START=COLD,
PDIR=1$, ( SUFFIX of PSB directory
.END
/*
CONSOLE
The meaning of .END through the console depends on whether you are entering new parameters
or entering corrections. The two meanings are as follows:
1. If you are keying new parameters in response to message DFHPA1104, .END terminates
parameter reading, and CICS starts initialization according to the SIT it has loaded, but
modified by any system initialization parameters you have supplied. Until you enter the .END
control keyword, CICS continues to prompt you for system initialization parameters.
2. If you have coded PARMERR=INTERACT, and CICS detects a parameter error, either in the
keyword or in the value that you have assigned to it, CICS prompts you to correct the error with
message DFHPA1912 or DFHPA1915. If you enter the correct keyword or value, initialization
resumes with CICS continuing to process either the PARM parameter, the SYSIN data set, or
prompting for more system initialization parameters through the console, depending on where
CICS detected the error. If you cannot correct the error, but want CICS to continue with the
initialization process, you can enter .END to end the error correction phase.
2. If you did not specify CONSOLE, CICS tries automatically to load an unsuffixed SIT module (DFHSIT). If
this load fails, CICS issues message DFHPA1106, requesting a SIT suffix in reply to the message.
Note: CICS does not process any system initialization parameters that are coded in the PARM parameter
and the SYSIN data set until after the SIT has been loaded.
Rules for coding CICS system initialization parameters in the SYSIN data set
When you code CICS system initialization parameters in the SYSIN data set, observe the following rules.
• You must use a comma to separate parameters that are on the same line.
• You can optionally use a comma at the end of a SYSIN record.
• You can use an asterisk in column 1 to code comments, or to remove an initialization parameter
temporarily from a specific execution of CICS.
• You can also add comments after the parameters on a SYSIN line, but they must be preceded by at least
one blank character.
• Everything that appears in positions 1 through 80 is treated by CICS as input data.
• You can continue, on another line in SYSIN, parameters that have multiple operands if you make the
split immediately after a comma. CICS concatenates the operands, omitting the intervening blanks.
• Generally, you cannot split an individual operand between lines. However, for the following parameters,
you can enter the operand over more than one line. To do this you must code up to column 80 on the
first line before continuing from column 1 on the next.
C-I J-U
CRLPROFILE JVMPROFILEDIR
GMTEXT KEYRING
HTTPSERVERHDR RESOVERRIDES
HTTPUSRAGENTHDR USSCONFIG
INFOCENTER USSHOME
• Be careful when you code parameters that use apostrophes, parentheses, or commas as delimiters,
because if you do not include the correct delimiters, unpredictable results can occur.
Table 31. Effect of the START= parameter in conjunction with the global catalog and system log
START State of global catalog State of system Result at restart
parm. log
Any. Not defined to VSAM. Any. JCL error.
INITIAL Defined. Any. CICS performs an initial start. The
global catalog and system log are
initialized.
COLD Defined but contains no recovery Any. After prompting for confirmation,
manager control record. CICS performs an initial start. The
global catalog and system log are
initialized.
COLD Contains recovery manager Not defined or Message DFHRM0401 is issued.
records. dummy or Startup fails.
empty.
Note:
1. It is important to keep the CICS global and local catalogs in step. If CICS tries to perform a warm
or emergency start and finds that the local catalog has been initialized, startup fails. Therefore, only
initialize the local catalog at the same time as the global catalog.
2. It is recommended that you always run the DFHRMUTL and DFHCCUTL utilities in the same job. Run
DFHRMUTL first and check its return code before running DFHCCUTL. If you do this, the global and
local catalogs should never get out of step.
Table 32 on page 174 shows the effect of different types of CICS startup on the CICS trace, monitoring,
statistics, and dump domains.
F vtamname,USERVAR,ID=generic-applid,VALUE=specific-applid
+DFHSI1589D 'applid' VTAM is not currently active.
+DFHSI1572 'applid' Unable to OPEN VTAM ACB - RC=xxxxxxxx, ACB CODE=yy.
If you receive messages DFHSI1589D and DFHSI1572, you can start the CICS-z/OS Communications
Server session manually when the Communications Server eventually starts, by using the CEMT SET
VTAM OPEN command from a supported MVS console or a non-Communications Server terminal.
If the z/OS Communications Server is active, but CICS still cannot open the SNA ACB because
Communications Server 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.
/CICSSystemManagement/CICSSystemParameter/<MYPLEX>/<REGION>?PARAMETER=PARMSRCE(COMBINED)
%20PARMTYPE(SIT)&CRITERIA=KEYWORD%3D++T%20AND%20NOT%20KEYWORD%3DMXT
com.ibm.cics.component.feature = {true|false}
A feature can have one or more configuration options. A feature toggle that is used to set a configuration
option takes the following form:
com.ibm.cics.component.feature.config_property = value
finalize com.ibm.cics.bms.ids=true
finalize com.ibm.cics.bms.ids.vtamignore=false
Procedure
• To set up a common configuration file, follow the procedure in “Setting up a common configuration
file” on page 179.
• To set up a region-level configuration file, follow the procedure in “Setting up a region-level
configuration file” on page 179.
• Restart the CICS region.
Results
The feature toggle configuration files are read at CICS startup, immediately after system initialization
reads the SIT parameters. The common file is read first, followed by the region-level file. Settings in the
region-level file override settings in the common file, except for common settings that are specified with
the parameter finalize. If any region-level file attempts to override any finalized settings, message
DFHPA1957 is issued during CICS initialization, and the region-level setting is ignored.
After the CICS region is started, you can see the feature toggles and their values in message DFHPA1956I
in the CICS log. The message indicates which settings were read in and stored from the feature toggle
configuration file, but it does not indicate whether and how the feature toggles are being used.
Restriction: CICSPlex SM does not display feature toggles.
Example
This is an example feature toggle configuration file:
Procedure
1. Create a file with the name featuretoggle.properties in the USSCONFIG directory.
The USSCONFIG directory is specified by the USSCONFIG system initialization parameter. The default
directory is /var/cicsts/dfhconfig.
Note: The CICS installation process creates an empty featuretoggle.properties file in /
pathprefix/usr/lpp/cicsts/ussdira/dfhconfig, which you can copy to the required
USSCONFIG directory.
2. In the file, for each feature that you want to use, specify the feature toggle for enabling the feature,
and, if necessary, the feature toggles for setting configuration options, as described in “Specifying
feature toggles” on page 177. The file must be saved in the EBCDIC file encoding on UNIX System
Services.
Note: To prevent region-level files from setting certain feature toggles specified in the common file,
you can specify the parameter finalize in the toggle setting, as in the following example:
finalize com.ibm.cics.bms.ids=true
finalize com.ibm.cics.bms.ids.vtamignore=false
If any region-level file attempts to override any finalized settings, message DFHPA1957 is issued
during CICS initialization, and the region-level setting is ignored.
Results
You have now created a feature toggle common configuration file, featuretoggle.properties, in the
USSCONFIG directory.
Procedure
1. Create a directory in the USSCONFIG directory of the CICS region.
The USSCONFIG directory is specified by the USSCONFIG system initialization parameter. The default
directory is /var/cicsts/dfhconfig.
Results
You have now created a feature toggle region-level configuration file, featuretoggle.properties, for
the CICS region.
Related information
USSCONFIG system initialization parameter
CICS startup
Depending on your system environment, you can start the CICS job from a procedure by using the START
command, or you can submit the CICS startup job stream through the internal reader.
INITPARM=(DFHD2INI='yyyy')
where yyyy is the 4-character Db2 subsystem ID. The value must conform to MVS JCL rules about
special characters. You cannot use the ID of a data sharing group of Db2 subsystems on the INITPARM
system initialization parameter — you must specify the ID of a single Db2 subsystem. If you want to
use the INITPARM system initialization parameter to specify a Db2 subsystem, leave blank both the
DB2GROUPID and the DB2ID in the installed DB2CONN definition. An ID specified in either of these
attributes of the DB2CONN definition overrides an ID specified on the INITPARM system initialization
parameter.
Procedure
1. Calculate the amount of 24-bit (below-the-line) storage and 31-bit (above-the-line) storage to request
on the REGION parameter.
See Estimating REGION.
For further details about changing a MEMLIMIT value in z/OS, or determining the value that applies to
the CICS region that you are setting up, see Limiting the use of private memory objects in the z/OS MVS
Programming: Extended Addressability Guide.
* The following INITPARM parameters are for DBCTL and a user program
INITPARM=(DFHDBCON='XX,DBCON2',userprog='a,b,c')
* The following INITPARM parameter is for DB2
INITPARM=(DFHD2INI= 'DBA2')
Unless you explicitly code the system initialization control keyword CONSOLE, CICS stops reading
system initialization parameters when it reaches the end of SYSIN or the END control keyword.
//DFHAUXT DD DSN=CICSTS61.CICS.applid.DFHAUXT,DCB=BUFNO=n,DISP=SHR
//DFHBUXT DD DSN=CICSTS61.CICS.applid.DFHBUXT,DCB=BUFNO=n,DISP=SHR
If you specify BUFNO greater than 1, you can reduce I/O involved in writing auxiliary trace records. A
value in the range 4 - 10 can greatly reduce I/O when running with auxiliary trace on.
11 Extrapartition data sets
LOGA and CSSL are examples of extrapartition transient data queues.
• LOGA defines a user data set used by the CICS sample programs.
• CSSL defines the data set used by a number of CICS services.
• CCSO is used as an output queue only when you are running C/370 application programs.
• CESO is used as an error queue only when you are running application programs under Language
Environment.
S|START procname[.identifier][,SUB=subsystemname][,keyword=option
[,keyword=option] . . .]
where:
procname
The name of the cataloged procedure that defines the job to be started.
identifier
The name you choose to identify the task.
SUB=subystemname
The name of the subsystem that is to select the job for processing. If you omit this parameter, the
primary job entry subsystem is used.
keyword=option
Any appropriate keyword to override the corresponding parameter in the procedure. You can use this
parameter to override symbolic parameters defined in the cataloged procedure.
For guidance information about the complete syntax of the START command, and all the keywords and
options you can use, see z/OS MVS System Commands.
To start CICS, you only need to code procname.identifier,keyword(s)=option.
For example:
START DFHSTART.CICSA,SIP=T,REGNAME1=IDA,REGNAM2=IDA
Procedure
1. If you plan to use the region for debugging compiled language programs, include the Debug Tool
library SEQAMOD in the DFHRPL concatenation in your CICS startup JCL.
For more information, see “Using the sample startup job stream” on page 182.
2. Create the debugging profile data sets.
For more information, see “Setting up the debugging profiles data sets” on page 139.
3. Include the resource definition for the debugging profile file in a resource definition list that is named
in the GRPLIST system initialization parameter.
4. Optionally, specify the following value for the DEBUGTOOL system initialization parameter:
DEBUGTOOL=YES
If you do not specify DEBUGTOOL=YES, you can enable the region for debugging when it is running:
• To enable the region for debugging from a program, use the EXEC CICS SET SYSTEM DEBUGTOOL
command
• To enable the region for debugging from the main terminal transaction, use the CEMT SET SYSTEM
DEBUGTOOL command
Enabling the region for debugging when it is running is recommended for regions which are not
normally used for debugging. When debugging is complete, you can disable the region for debugging,
using the same commands.
5. Define and install Debug Tool's resource definitions. They are located in member EQACCSD in Debug
Tool's SEQASAMP data set. For more information, see Debug Tool for z/OS.
Procedure
1. Specify system initialization parameters before startup.
2. Start CICS in one of the following ways:
• “Starting CICS as a batch job” on page 195
• “Starting CICS as a started task” on page 195
3. Optional: After the CICS system initialization started, if you want to override any system initialization
parameters that are specified before startup, follow the instructions in “Overriding system initialization
parameters during startup” on page 197.
Results
When system initialization is completed, the message DFHSI1517 is returned, indicating that control is
given to CICS and that CICS is ready to process terminal requests.
Tip:
System warm-up by use of z/OS Workload Manager health service
Consider allowing CICS to have a warm-up process after the end of system initialization.
Even though DFHSI1517 signals the end of system initialization, the region might not be fully
ready to receive work. This is because in some cases initialization continues after this message.
For example, some bundle-defined resources are being installed asynchronously; so resources such
as JVMSERVERs required for some applications have not completed initialization, even though the
TCP/IP listener is open and accepting work. This could cause transactions to abend. For web services,
a pipeline scan might not have completed, so use of the web service before the scan completes will
fail.
You can allow CICS to have a warm-up process by setting the WLMHEALTH system initialization
parameter. If the z/OS Workload Manager health service is active in the region, when the message
DFHSI1517 is returned, the warm-up process is started. Then CICS intermittently adjusts the region's
z/OS WLM health value to control flow of work into the region until the region is fully capable to
process work. For more information about the CICS warm-up process, see CICS warm-up and cool-
down by use of z/OS Workload Manager health service.
Inquiry of CICS system startup date and time
To find out the date and time a CICS region last undertook a cold, emergency, initial, or warm startup,
you can use the INQUIRE SYSTEM SPI command. For more information, see INQUIRE SYSTEM.
Procedure
• In the system initialization table, loaded from a library in the STEPLIB concatenation of the CICS
startup procedure
• In the PARM parameter of the EXEC PGM=DFHSIP statement of the CICS startup procedure
• In the SYSIN data set defined in the startup procedure, but only if SYSIN is coded in the PARM
parameter.
Results
The system initialization parameters are processed in the order outlined above, with later system
initialization parameter values overriding those specified earlier.
Example
For example, if your CICS startup procedure specifies:
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 CICSTS61.CICS.CICSH###.SYSIN data set.
3. The system console.
What to do next
In particular, you can specify a new value for the START system initialization parameter.
Procedure
1. Create a job to start CICS. In your job you can either:
• Include the CICS startup procedure inline.
• Invoke a cataloged startup procedure.
This latter method has the advantage that several CICS startup jobs (for example, for different CICS
regions) can use the same procedure, tailoring the procedure through startup parameters.
For example, Figure 35 on page 195 shows a CICS startup job that invokes the cataloged procedure,
CICSTASK, to perform a cold start with the startup parameters SYSIDNT=HTH1 and CLONE=HT##1.
By altering the SYSIDNT and CLONE parameters, the same job could be used to start other CICS
regions with the same procedure.
Procedure
1. Create a procedure and install it in the MVS procedure library.
Ensure that your startup job stream is coded according to the rules for coding procedures. You can
use the CICS-supplied sample startup procedure DFHSTART and tailor it to suit your needs. For more
information about the CICS-supplied startup procedure, see CICS startup procedure, DFHSTART in
Installing .
S|START procname[.identifier][,SUB=subsystemname][,keyword=option
[,keyword=option] . . .]
where
procname
The name of the cataloged procedure that defines the CICS job to be started.
identifier
The name you choose to identify the CICS task.
subystemname
The name of the subsystem that is to select the job for processing. If you omit this parameter, the
primary job entry subsystem is used.
option
Any appropriate keyword to override the corresponding parameter in the procedure. You can use
this parameter to override symbolic parameters defined in the cataloged procedure.
Example
For example, you could use the following start command to start the CICS tasks listed in Figure 36 on
page 196:
START CICS740
//CICS740 PROC
//*
//DUMMY EXEC PGM=IEFBR14
//*
// START CICSTASK.CICSHTH1,SYSIDNT='HTH1',CLONE='HT##'
//* START=COLD
// START CICSTASK.CICSHAH1,SYSIDNT='HAH1',CLONE='HA##'
//* START=COLD
// START CICSTASK.CICSHAH2,SYSIDNT='HAH2',CLONE='HA##'
//* START=COLD
// START CICSTASK.CICSHRH1,SYSIDNT='HRH1',CLONE='HR##'
//* START=COLD
//*
//* END OF CICS START PROCEDURE
Figure 36. Procedure to start a CICS TOR, two AORs, and an ROR
Procedure
1. Specify a SIT system initialization parameter only as the first parameter when prompted by message
DFHPA1921.
At this 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.
2. 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 .
3. When you have changed the appropriate initialization parameter, terminate the console input by
entering the END control keyword.
J E S 2 J O B L O G -- S Y S T E M M V 2 6 -- N O D E W I N M V S 2 C
09.12.26 STC63069 $HASP373 CICSGBV1 STARTED
09.12.26 STC63069 IEF403I CICSGBV1 - STARTED
09.12.26 STC63069 - --TIMINGS (MINS.)-- ----PAGING COUNTS---
09.12.26 STC63069 -JOBNAME STEPNAME PROCSTEP RC EXCP CPU SRB CLOCK SERV PG PAGE SWAP VIO SWAPS
STEPNO
09.12.26 STC63069 -CICSGBV1 GENINPT 00 27 .00 .00 .00 202 0 0 0 0
0 1
09.12.26 STC63069 DFHPA1101 IYK2ZFV1 DFHSITVE IS BEING LOADED.
09.12.26 STC63069 DFHPA1108 IYK2ZFV1 DFHSITVE HAS BEEN LOADED. (GENERATED AT: MM/DD= 06/14 HH:MM= 13:42).
09.12.26 STC63069 DFHPA1100 IYK2ZFV1 OVERRIDE PARAMETERS FROM JCL EXEC STATEMENT: SI
09.12.26 STC63069 DFHPA1102 IYK2ZFV1 OVERRIDE PARAMETERS FROM SYSIN:
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 AICONS=AUTO, Autoinstall for consoles
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 CICSSVC=217,SRBSVC=215, CTS 5.4.0 The default CICS SVC number 1
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 CSDDSN=<USER>.CICSVEN.DFHCSD, CICS default userid 2
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 CSDDISP=SHR,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 DEBUGTOOL=NO,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 DSALIM=8M, 3
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 EDSALIM=800M, 3
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 JVMPROFILEDIR=/u/<user>/<version>/JVMProfiles,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 MCT=D$, 4
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 MN=ON,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 MNPER=ON,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 MNRES=ON,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 MXT=200, Set maximum tasks to 200
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 RLS=YES, RLS support required
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 SIT=VE,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 SLD=NO,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 SPCTR=OFF,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 STATINT=010000,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 USSHOME=/itbld/cics.ts.dev/Integrat/dist
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 DB2CONN=YES,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 APPLID=IYK2ZFV1,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 AUXTR=ON,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 AUXTRSW=NEXT,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 CHKSTSK=NONE,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 CHKSTRM=NONE,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 CPSMCONN=LMAS
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 DBCTLCON=YES,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 DEBUGTOOL=NO,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 DSALIM=8M,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 DTRPGM=EYU9XLOP, Use CPSM for routing
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 DSRTPGM=EYU9XLOP, Use CPSM for routing
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 FCT=NO,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 GMTEXT='**** <user_name> - <version_alias>(CICS TS <version>) System GMB1
****', 5
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 GRPLIST=(DFHLIST,CICSGMB1,MYJAVA) JVM servers and Liberty Initialize with group
lists for TOR 6
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 ICV=0100,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 ICVTSD=0,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 INITPARM=(DFHDBCON='4D'), DBCTL only
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 INITPARM=(DFHLETRU='USEQSAM'),
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 INITPARM=(DFHFCLJ1='01'),
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 LPA=NO,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 MN=ON,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 MNPER=ON,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 MNRES=ON,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 MQCONN=YES,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 MXT=200, Set maximum tasks to 200
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 NCPLDFT=NCPOOL4,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 NISTSP800131A=NOCHECK,
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 PDIR=2$, All DFHSAM* requests go
to GMB2
09.12.26 STC63069 DFHPA1927 IYK2ZFV1 PLTPI=1B, No tools,IP CICS sockets,PLT
Note:
1. The SVC value is only an example; specify the SVC value that is defined in your SVC table.
2. You must define the default CICS user ID using the DFLTUSER system initialization parameter, before
you can attempt to bring a CICS region up. On a production system, the default user must not have
access to any unnecessary CICS transactions. The resource access authorizations that you give to the
default user must be clearly limited to those resources that you intend to be universally available, and
therefore do not have to be restricted in any way. For information about defining the attributes of the
default user ID, see Defining the default CICS user ID to RACF.
3. The DFHSM0122 message shows the limit of dynamic storage areas (DSAs) below 16 MB. This limit
is set by the DSALIM system initialization parameter. The DFHSM0123 message shows the limit of the
DSAs above 16 MB but below 2 GB. This limit is set by the EDSALIM system initialization parameter.
For information about these storage areas, see DSALIM system initialization parameter and EDSALIM
system initialization parameter.
4. If you specify MCT=NO (the 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 next message indicates that monitoring is
inactive.
5. 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 z/OS Communications Server, or by the CESN
transaction if this transaction is used to sign on to CICS.
Procedure
• To define the MVS subsystem statically, add an entry with the required parameters to the IEFSSNxx
member of SYS1.PARMLIB:
Defining AXM in the IEFSSNxx member ensures that AXM system services automatically become
available when you IPL MVS.
The AXM subsystem initialization routine, AXMSI, sets up the appropriate definitions from the main
scheduler region. Note that AXM uses the subsystem definition only as a means of scheduling AXM
initialization in the main scheduler address space. The MVS subsystem interface for AXM is not
activated or used.
• To define the MVS subsystem dynamically, enter the following command:
SETSSI ADD,SUBNAME=AXM,INITRTN=AXMSI
If initialization of the AXM subsystem fails for any reason, for example, because of an error in the
command or because AXMSI is not in a linklist library, MVS does not allow another attempt because
the subsystem is then already defined. In this case, use a different subsystem name, such as AXM1,
because AXM does not rely on a specific subsystem name. If you start AXM successfully the first time,
further attempts are ignored.
What to do next
When the AXM subsystem has started successfully, you can create a data sharing server.
Procedure
1. Define a TS pool as a temporary storage list structure in a coupling facility.
2. Define and start the temporary storage job, for a shared TS pool to run in an mvs batch region.
3. When the temporary storage region is running, you can issue commands to control the queue server
for the pool.
4. Optionally, you can upload and reload queue pools.
Coupling
facility (CF1) F2)
Temporary
storage
pool
Security
The server must be authorized to access the coupling facility list structure in which the temporary storage
pool is defined; XES checks this. The server must also be authorized to act as a temporary storage server;
AXM checks this. For information on how to define the necessary authorizations see Authorizing access to
temporary storage servers.
The name of the list structure for a TS data sharing pool is created by appending the TS pool name to the
prefix DFHXQLS_, giving DFHXQLS_poolname. When defined, you must activate the CFRM policy using the
MVS operator command SETXCF START.
When a list structure is allocated, an initial size and a maximum size can be specified in the CFRM policy.
All structure sizes are rounded up to the next storage increment for the coupling facility level (CFLEVEL)
at allocation time. For example, sizes are rounded up to the nearest 1 MB for CFLEVEL 16. Provided that
space is available in the coupling facility, a list structure can be dynamically expanded from its initial
size towards its maximum size, or contracted to free up coupling facility space for other purposes. If the
initial structure allocation becomes full, the structure does not expand automatically, even if the structure
allocated is less than the specified maximum size. To expand a list structure when the allocation becomes
full, you can expand it (up to its maximum size) using the following SETXCF command:
SETXCF START,ALTER,STRNAME=DFHXQLS_poolname,SIZE=nnnn
Defining the CFRM policy statements for a list structure does not create the list structure. A TS server
creates the list structure during its initialization. See “Setting up and running a temporary storage server”
on page 204.
If the server connection fails, there are implications for coupling facility data tables. See “Server
connection management” on page 270 and Named counter recovery.
For further information about defining list structures, see the following z/OS information:
• z/OS MVS Setting Up a Sysplex
• z/OS MVS Programming: Sysplex Services Guide
• z/OS MVS Programming: Sysplex Services Reference
Procedure
1. Specify the DFHXQMN program either in a SYSIN data set defined in the JCL, or in the PARM parameter
on the EXEC statement.
2. Specify the mandatory and optional startup parameters for the DFHXQMN program.
a) You must specify a SYSPRINT DD statement for the print file.
b) You must specify a SYSIN DD statement for the server parameters.
c) You must specify the TS pool name.
Primary parameters
These parameters are usually specified for all servers:
POOLNAME=pool_name
specifies the name, of 1 to 8 characters, of the queue pool used to form the server name and
the name of the coupling facility list structure DFHXQLS_poolname. This parameter is valid only at
initialization, and must always be specified.
This keyword can also be coded as POOL.
BUFFERS={100|number}
specifies the number of queue buffers to allocate for the server address space.
A queue index buffer holds a queue index entry plus up to 32K of queue data (for a small queue).
When a READ or WRITE request completes the queue index information is retained in the buffer. This
can avoid the need to reread the queue index if the same queue is referenced from the same MVS
image before the buffer has been reused. If no buffer is available at the time of a request, the request
is made to wait until one becomes free.
The number of buffers should preferably be at least ten for each CICS region that can connect to the
server in this MVS image. This avoids the risk of buffer waits. Additional buffers may be used to reduce
the number of coupling facility accesses by keeping recently used queue index entries in storage. In
particular, if the current version of a queue index entry is in storage at the time a queue item is read,
the request requires only one coupling facility access instead of two. If the current version of a queue
index entry is in storage when a second or subsequent item is written to the same queue, the request
requires only one coupling facility access instead of three.
It is not worth defining extra buffers beyond the point where this might cause MVS paging, as it
is more efficient to reread the index entry than to page in the buffer from auxiliary storage. This
parameter is valid only at initialization.
The valid range is from 1 to 999999.
This keyword can also be coded as BUF.
FUNCTION={SERVER|UNLOAD|RELOAD}
Information about this parameter is given in “Unloading and reloading queue pools” on page 216.
STATSOPTIONS={NONE|SMF|PRINT|BOTH}
specifies the statistics options that determine whether interval statistics are produced and whether
statistics are sent to SMF, the print file, or both.
This keyword can also be coded as STATSOPT.
Tuning parameters
These parameters are provided for tuning purposes, but usually you can omit these and let the TS server
use the default values.
ELEMENTRATIO={1|number}
An MVS coupling facility resource management (CFRM) parameter that specifies the element part of
the entry-to-element ratio when the structure is first allocated. This value determines the proportion
of the structure space that is initially set aside for data elements.
The ideal value for the entry-to-element ratio is the average size of data for each entry divided by the
element size. However, the server automatically adjusts the ratio according to the actual entry and
element usage.
This parameter is valid only at server initialization, and is used only when the structure is first
allocated. The valid range is from 1 to 255.
You can abbreviate this keyword to ELEMRATIO.
For further information about this parameter in the coupling facility, see z/OS MVS Programming:
Sysplex Services Guide.
The MVS STOP command is equivalent to issuing the server command STOP using the MVS MODIFY
command.
The queue server supports the following commands:
SET keyword=value
changes one or more server parameter values. This applies to all parameters other than those
indicated as being for initialization only. The command can be abbreviated to T, as for the MVS SET
command.
Statistics summaries
BUFSTATS
Queue index buffer pool statistics.
You can also code this keyword as BUFST.
CFSTATS
Coupling facility interface I/O and response statistics.
You can also code this keyword as CFST or STATSCF.
POOLSTATS
Usage statistics for the pool list structure as a whole.
You can also code this keyword as POOLST.
STORAGESTATS
Main storage allocation statistics for the server address space.
You can also code this keyword as STGST, STGSTATS, or STORAGEST.
RECFM=F,LRECL=4096,BLKSIZE=4096.
An upper limit for the total size of the data set in bytes can be estimated from the pool usage statistics
produced by the server. The total data size in bytes is obtained by multiplying the number of elements in
use by the element size (usually 256), and for each queue there is also some control information which
typically occupies fewer than 100 bytes per queue. The size is normally smaller than this because unused
space in data elements is not included in the unloaded file. See Figure 40 on page 217 for an example of
UNLOAD JCL.
The RELOAD function requires a DD statement for file name DFHXQRL describing the sequential data set
from which the queue pool is to be reloaded. The structure is allocated if necessary during reloading, in
which case the same server parameters may be used to control structure attributes as for normal server
execution. The RELOAD process bypasses any queues that are already found in the queue pool, because,
for example, the structure was too small and the reload job had to be restarted after using ALTER to
increase the size.
Note that when a pool is nearly full (with less than about 5% free entries and elements) there is no
guarantee that it can be unloaded and reloaded into a structure of exactly the same size. The amount
of space available is affected by the current ratio of entries to elements, which can only be controlled
approximately by the automatic ALTER process.
If the structure reaches the warning level during reloading, the automatic ALTER process attempts to
adjust the entry to element ratio, and the reload process will automatically wait for the ALTER to complete
if no space is available while an ALTER is still in progress.
If RELOAD fails because it runs out of space, the resulting messages include the numbers of queues
reloaded and blocks read up to the time of the failure. Compare these values with those in the messages
from the original UNLOAD to determine how many more queues and how much more data remained to be
loaded. See Figure 41 on page 217 for an example of RELOAD JCL.
Procedure
1. Define and start a coupling facility data table server job, to run in an mvs batch region.
2. When the server is running you can perform various operating tasks:
• You can control the server region using MVS commands.
• You can delete or empty the pool for the coupling facility data tables.
• You can unload and reload the contents of a pool to and from a sequential data set.
Coupling
(CF1) facilities
F2)
Coupling
facility
data table
pool
Figure 42. Conceptual view of a Parallel Sysplex with coupling facility data table servers
Server connections
A client CICS region establishes a single cross-memory connection to a server the first time a request
refers to the pool for that server. If the server connection fails, there are implications for coupling facility
data tables. See “Server connection management” on page 270 and Named counter recovery.
CFDT administration
CICS provides some utility functions that you can use to obtain summary information and periodic
statistics from a coupling facility data table server about CFDTs defined in a pool. See Coupling facility
data table statistics and Coupling Facility Data Table Pools report in Reference.
You can use this information when you administer coupling facility data table pools, and to evaluate
capacity. See “Coupling facility data table server parameters” on page 225 for details.
STRUCTURE NAME(DFHCFLS_PRODCFT1)
SIZE(79872)
INITSIZE(32768)
PREFLIST(FACIL01,FACIL02)
SETXCF START,POLICY,POLNAME=policyname,TYPE=CFRM
Activating a CFRM policy that contains a definition of a list structure does not create the structure. The
structure is created the first time an attempt is made to connect to it, which occurs when the first coupling
facility data table (CFDT) server that refers to the corresponding pool is started.
When the CFDT server creates a list structure, the structure is allocated with an initial size, which can be
increased up to a maximum size, as specified in the CFRM policy. All structure sizes are rounded up to the
next storage increment for the coupling facility level (CFLEVEL) at allocation time. For example, sizes are
rounded up to the nearest 1 MB for CFLEVEL 16.
Provided that space is available in the coupling facility, you can dynamically expand a list structure from
its initial size up to its maximum size, or contract it to free up coupling facility space for other purposes.
If the initial structure allocation becomes full, the structure does not expand automatically, even if the
structure allocated is less than the specified maximum size. To expand a list structure when the allocation
becomes full, you can expand it (up to its maximum size) using the following SETXCF command:
SETXCF START,ALTER,STRNAME=DFHCFLS_poolname,SIZE=nnnn
If you dynamically increase the size of a list structure in this way, also update the CRFM INITSIZE
parameter to reflect the new size, so that the structure does not revert to its original size if you
subsequently re-create or reload it.
Procedure
1. Specify the DFHCFMN program either in a SYSIN data set defined in the JCL, or in the PARM parameter
on the EXEC statement.
2. Specify the mandatory and optional startup parameters for the DFHCFMN program.
If you specify a startup parameter in both the SYSIN data set and the PARM parameter, the PARM value
overrides the SYSIN value because the MVS START command can override the PARM value.
a) You must specify a SYSPRINT DD statement for the print file.
b) You must specify a SYSIN DD statement for the server parameters.
c) You must specify the TS pool name.
d) You must concatenate the license activation data set (the SDFHLIC library) to the STEPLIB DD
statement.
e) It is recommended that you specify the REGION parameter.
This parameter ensures that the coupling facility data table server region has enough storage to
process the maximum number of data table requests that can run concurrently.
f) It is recommended that you specify TIME=NOLIMIT.
The server task remains in a wait during most normal processing, because server processing is
performed under the TCB of the client CICS region. If you omit this parameter, your server job could
fail with abend S522 (wait limit exceeded), depending on the JWT value specified in the SMFPRMxx
member of SYS1.PARMLIB.
g) Specify additional parameters as required.
For example, you might want to control the maximum number of queues that are to be supported in
the pool and the number of buffers the server is to allocate.
Results
Tip: The easiest way to ensure that all pool-related parameters are consistent across MVS images is to
use the same SYSIN parameter data set, or an identical copy of it, for all servers accessing the same pool,
and to specify in the PARM field any parameters that vary between servers.
REGION parameter
The JCL REGION parameter ensures that the coupling facility data table server region has enough storage
to process the maximum number of data table requests that can run concurrently.
The number of coupling facility data table requests that each connected CICS region can have active at a
time is limited to about 10. Each request requires about 40 KB, therefore the REGION size should specify
at least 400 KB for each connected CICS region, plus a margin of about 10% for other storage areas. Thus,
for a server supporting up to five CICS regions, specify REGION=2200K.
During server initialization, the server acquires all the available storage above 16 MB, as determined by
the REGION parameter, then releases 5% of it for use by operating system services. It also acquires 5%
of the free storage below 16MB for use in routines that require 24-bit addressable storage, for example
sequential file read and write routines.
After initialization, the server uses AXM page allocation services to manage its storage. Server statistics
indicate how much storage is allocated and used within the storage areas above and below 16 MB, which
are called AXMPGANY and AXMPGLOW in the statistics.
If a task in the server region or a cross-memory request runs out of storage, this is likely to result in AXM
terminating that task or request using a simulated abend with system completion code 80A to indicate a
GETMAIN failure. Although the server can usually continue processing other requests in this case, running
out of storage in a critical routine can cause the server to terminate. Therefore, it is best to ensure that the
REGION size is large enough to eliminate this risk.
Security parameters
You can use the security parameters to specify whether to use the optional security mechanism that the
server provides, to check that CICS regions are authorized to open a coupling facility data table. You can
also use these parameters to override standard processing for this optional security.
SECURITY={YES|NO}
Specifies whether individual coupling facility data table security checks are required.
YES
The server performs a security check against each CICS region that attempts to open a coupling
facility data table. Access is controlled through profiles defined in the general resource class
Statistics parameters
Use the following parameters to specify server statistics options:
ENDOFDAY={00:00|hh:mm}
specifies the time of day, in hours and minutes, when the server is to collect and reset end-of-day
statistics.
Note: If the STATSOPTIONS parameter specifies NONE, the server still writes end-of-day statistics to
the print file.
The valid range of times is from 00:00 to 24:00.
This keyword can be abbreviated to EOD.
Tuning parameters
These parameters are provided for tuning purposes, but usually you can omit them and let the coupling
facility data table (CFDT) server use the default values.
ELEMENTRATIO={1|number}
An MVS coupling facility resource management (CFRM) parameter that specifies the element part of
the entry-to-element ratio when the structure is first allocated. This value determines the proportion
of the structure space that is initially set aside for data elements.
The ideal value for the entry-to-element ratio is the average size of data for each entry divided by the
element size. However, the server automatically adjusts the ratio according to the actual entry and
element usage.
This parameter is valid only at server initialization, and is used only when the structure is first
allocated. The valid range is from 1 to 255.
You can abbreviate this keyword to ELEMRATIO.
For further information about this parameter in the coupling facility, see z/OS MVS Programming:
Sysplex Services Guide.
ELEMENTSIZE={256|size}
An MVS CFRM parameter that specifies the data element size for the list structure, which must be a
power of 2. This parameter is used only for coupling facility log streams. For current coupling facility
implementations, there is no reason to use any value other than the default value of 256.
This parameter is valid only at server initialization and is only used when the structure is first
allocated. The valid range is from 256 to 4096.
You can abbreviate this keyword to ELEMSIZE.
ENTRYRATIO={1|number}
An MVS CFRM parameter that specifies the entry part of the entry-to-element ratio when the structure
is first allocated. This value determines the proportion of structure space that is initially set aside for
list entry controls.
It is not essential to specify this parameter because the server automatically adjusts the ratio, based
on actual usage, to improve space utilization if necessary.
This parameter is valid only at server initialization and is used only when the structure is first
allocated. The valid range is from 1 to 255.
For further information about this parameter in the coupling facility, see z/OS MVS Programming:
Sysplex Services Guide.
Warning parameters
Use these parameters to modify the thresholds at which warning messages are issued, and an automatic
structure alter occurs, when the structure becomes nearly full.
ELEMENTWARN={80|number}
specifies the percentage of list structure elements in use at which warning messages and an
automatic structure alter should be first triggered.
The valid range is from 1 to 100 per cent.
This keyword can be abbreviated to ELEMWARN.
ELEMENTWARNINC={5|number}
specifies the percentage increase (or decrease) of elements in use before the next warning message
should be triggered (reduced to 1 when the next increase would otherwise reach 100). After the first
warning, additional messages are issued as the number of elements increases and decreases. These
messages stop when the number of elements in use has fallen at least this percentage below the
initial warning level.
The valid range is from 1 to 100 per cent.
ALTERELEMMIN={100|number}
specifies the minimum number of excess elements that must be present to cause the server to issue
an automatic alter to convert those elements to entries.
The valid range is from 0 to 999999999.
ALTERELEMPC={5|number}
specifies the minimum percentage of excess elements that must be present to cause the server to
issue an automatic later to increase the proportion of entries.
The valid range is from 0 to 100 per cent.
ALTERENTRYMIN={100|number}
specifies the minimum number of excess entries that must be present to cause the server to issue an
automatic alter to convert those entries to elements.
The valid range is from 0 to 999999999.
ALTERENTRYPC={5|number}
specifies the minimum percentage of excess entries that must be present to cause the server to issue
an automatic alter to increase the proportion of elements.
The valid range is from 0 to 100 per cent.
ALTERMININTERVAL={00:10|hh:mm}
specifies the minimum time interval to be left between automatic structure alter attempts when
the structure is nearly full (above the element or entry warning level). This is to prevent excessive
numbers of alter attempts to try to optimize space when the structure is nearly full.
The valid range is from 00:00 to 24:00.
This keyword can be abbreviated to ALTERMININT.
You can use the following commands to control the coupling facility data table server region.
Procedure
• To modify the server initialization parameters, use the SET command:
SET keyword=operand[,keyword=operand,…]
DISPLAY keyword[=operand][,keyword[=operand,]…]
The valid keywords for DISPLAY are all the initialization parameters, plus an additional set described
under “DISPLAY and PRINT command options” on page 235.
The command can be abbreviated to D, as for the MVS DISPLAY command.
• To print the output that the DISPLAY command produces, use the PRINT command:
PRINT keyword[=operand][,keyword[=operand,]…]
The command produces the same output as DISPLAY, supporting the same keywords, but on the print
file only.
• To delete a table, use the DELETE TABLE=name command.
The table must not be in use for this command to succeed. You can abbreviate the command to DEL.
• To stop the server normally, use either the STOP command or the MVS STOP command.
The server waits for any active connections to end first and prevents any new connections while it is
waiting. The command can be abbreviated to P; for example P jobname.
• To request an automatic restart, use the CANCEL command.
This command terminates the server immediately. You can specify whether the server will
automatically restart. For information about CANCEL RESTART see “The CANCEL command options”
on page 216.
• The server also responds to XES events such as an operator SETXCF command to alter the structure
size.
If the server can no longer access the coupling facility, it automatically issues a server CANCEL
command to close itself down immediately.
TABLE=name
specifies the table to which the following table-related parameters in the same command are to be
applied. This parameter is required before any table-related parameters.
MAXRECS=number
Modify the maximum number of records that can be stored in the table specified by the preceding
TABLE parameter.
If the maximum number is set to a value less than the current number of records in the table, no new
records can be stored until records have been deleted to reduce the current number to within the
new maximum limit. For a recoverable table, this also means that records cannot be updated, because
the recoverable update process adds a new record on the rewrite operation then deletes the original
record when the transaction completes.
This keyword can also be specified as MAXNUMRECS.
AVAILABLE={YES|NO}
Specify whether the table named by the preceding TABLE parameter is available for new OPEN
requests. If the table is made unavailable, a CICS region that subsequently issues an OPEN request
for the table receives a response indicating that it is unavailable, but regions that currently have the
table open are not affected. Even when a table is marked as unavailable, a server can implicitly open it
on behalf of a CICS region to allow recoverable work to be resolved during restart processing.
This keyword can be abbreviated to AVAIL.
Examples of the SET command: The following example changes the statistics options:
SET STATSOPT=BOTH,EOD=21:00,STATSINT=06:00
The following example modifies the maximum number of records allowed in the specified table:
SET TABLE=PAYECFT1,MAXRECS=200000
SETXCF FORCE,STRUCTURE,STRNAME=DFHCFLS_poolname
You can delete a structure only when there are no servers connected to the pool, otherwise MVS rejects
the command.
When you attempt to start a server for a pool that has been deleted (or attempt to reload the pool), it is
allocated as a new structure. The newly allocated structure uses size and location attributes specified by
the currently active CFRM policy, and other values determined by the server initialization parameters (in
particular, MAXTABLES).
RECFM=F
LRECL=4096
BLKSIZE=4096
You can obtain an estimate of the upper limit for the total size of the data set, in bytes, from the
pool usage statistics produced by the server:
RELOAD
Reload, into the coupling facility data table pool named on the POOLNAME parameter, a previously
unloaded coupling facility data table pool.
You can reload a pool into a pool with a different name—it does not have to keep the same name
as the original pool. When the reload processing has completed (normally or abnormally) the
server program terminates.
The RELOAD function requires a DD statement for DDNAME DFHCFRL, describing the sequential
data set from which the table pool is to be reloaded.
The structure is allocated, if necessary, during reloading, in which case you can use the same
server parameters to control structure attributes as for normal server startup. The reload process
bypasses any tables or units of work that are already found in the pool (for example, because the
structure was too small and the reload job had to be restarted after using ALTER to increase the
structure size).
Note: If the unloaded pool structure was altered dynamically at any time after initial allocation (by
using the SETXCF command to increase the size), ensure that the increased size is allocated for
the reloaded pool. The recommended way is to update the INITSIZE parameter for the structure
in the current CFRM policy whenever you alter the structure size, and to activate the updated
policy using the SETXCF START ,POLICY command. Alternatively, you can specify the required
pool size in the POOLSIZE parameter in the reload JCL, but note that this does not override the
CFRM INITSIZE parameter if it is exactly equal to the maximum pool size.
Note: If you omit the FUNCTION parameter, the server program initializes a coupling facility data table
server address space.
For the UNLOAD and RELOAD function, the server program requires exclusive use of the list structure.
If the structure is currently being used by a normal server, the unload or reload attempt is rejected.
Similarly, if a normal server attempts to start while an unload or reload job is in progress, the attempt fails
because shared access to the structure is not available.
You can specify all normal server parameters when unloading or reloading, but some of these (for
example, security-related parameters) are ignored because they do not apply to unload or reload
processing.
Note that when a pool is nearly full (with less than about 5% free entries and elements) there is no
guarantee that it can be unloaded and reloaded into a structure of exactly the same size. This is because
the amount of space available is affected by the current ratio of entries to elements, which is controlled
only approximately by the automatic ALTER process.If the structure reaches the warning level during
reloading, the automatic ALTER process attempts to adjust the entry to element ratio. The reload process
automatically waits for the ALTER to complete if reloading runs out of space while an ALTER is still in
progress.
If reloading fails because it runs out of space, the resulting messages include the numbers of tables
reloaded and blocks read up to the time of the failure. You can compare these values with those in the
messages from the original unload job, to determine how many more tables and how much more data
remains to be loaded. If a table had been partially reloaded before running out of space, it is deleted
so that the whole table is reloaded again if the reload is retried later. If reloading is interrupted for any
other reason than running out of space, for example by an MVS system failure, reloading can still be
restarted using the partially reloaded structure, but in that case the structure space occupied by any
Procedure
To set up a CICS region as a region status server, follow these steps:
1. Ensure that you have a list structure for a region status server pool.
Note: It is strongly recommended to use the default region status server pool name. You might want
to use a pool name other than the default for the scenarios described in “Considerations on the region
status server pool name” on page 241.
• For the best performance, define a new dedicated list structure for a region status server pool. For
detailed instructions, see “Defining a list structure for a region status server” on page 242.
• Optionally, you can use an existing CFDT pool to store your CICSplex data tables. However, the
throughput of your optimized workloads might be impeded by any user application activity to the
specified pool name, and any application throughput to the pool might be affected by the sysplex
optimized workloads.
2. Define a region status server start job and run the job in an MVS batch region.
For instructions, see “Starting a region status server” on page 244.
What to do next
Manage the region status server
After you have successfully started your region status server, you can control the region status server
by using MVS MODIFY commands. For more information, see “Controlling region status servers” on
page 245.
Delete a region status server
If required (for example, for a service upgrade, or for a clean sysplex restart), you can follow this
instruction to delete a region status server.
Procedure
1. Specify the name of the list structure.
The name is formed by adding the prefix DFHCFLS_ to your chosen pool name, giving
DFHCFLS_poolname.
The default pool name as implemented by CICSPlex SM is DFHRSTAT. It is strongly recommended to
use the default region status server pool name. You might want to use a pool name other than the
default for the following scenarios:
• You already have duplicate CICSplex names on the same sysplex as the region status server.
• You are planning on having duplicate CICSplex names on the same sysplex as the region status
server.
• You have strict naming convention policies that prohibit use of the default pool name.
• You have an environment that has multiple environments (for example, a test environment and a
production environment) running on the same sysplex, requiring additional isolation.
When you do not use the default name DFHRSTAT, you must change the name before starting any
other regions in the CICSplex. CICSPlex SM will not prevent you from changing the pool name while
the CICSplex is active. If you make a change while the CICSplex is active, restart all CMAS and MAS
regions (both routers and targets) in the CICSplex as soon as possible. Before all routers and targets
have transferred over to the new region status server pool, WLM optimization is deactivated and
routing requests will be non-optimized, even though some regions that have completed the migration
might start showing as optimized. This means that you will see inconsistent data in the CICSPlex SM
WLM views until all the regions in the CICSplex are restarted.
You define and modify CICSplexes using the EYUSTARTCPLEXDEF view set. Using the CPLEXDEF detail
view, you can modify the coupling facility (CF) tuning parameters for the region status (RS) server,
which provide sysplex optimized workload routing.
2. Specify the size of the list structure.
Although the record size and calculations shown in Figure 46 on page 244 can be useful for your
own information, you must use the CFSizer tool to calculate the INITSIZE and SIZE parameters. The
CFSizer tool takes minimums into consideration, but the calculations in Figure 46 on page 244 do not.
Failure to get valid sizing parameters using the CFSizer tool could result in a CICS runtime failure and
DFHCF0403, DFHCF0409, and DFHCF0481 messages.
When using the CFSizer tool, select CICS Data Tables list structure and specify the following values:
Maximum number of tables
Specify the number of CICSplexes that you have defined in CICSPlex SM and that will be using
Sysplex Optimized Workloads. This is usually a very low number.
Average rounded record size
40
Total records
Specify the total number of CICS regions that will connect to all CICSplexes.
Target usage percent
Use the default.
Maximum expansion percent
Use the default.
You can also specify ALLOWAUTOALT(YES), which enables automatic changes in the ratio of elements
to entries, to make better use of the space within the structure.
3. Specify the preference list of coupling facilities in which the policy can be stored.
4. When you have updated the CFRM new policy with the new structure definition, activate the policy
using the following MVS command:
SETXCF START,POLICY,POLNAME=policyname,TYPE=CFRM
Where policyname is the CFRM policy being started, for example, DFHCFLS_DFHRSTAT.
Note that defining the CFRM policy statements for a list structure does not create the list structure.
The structure is created the first time an attempt is made to connect to it, which occurs when the first
coupling facility data table (CFDT) server that refers to the corresponding pool is started.
Example
STRUCTURE NAME(DFHCFLS_DFHRSTAT)
SIZE(7168)
INITSIZE(6144)
PREFLIST(FACIL01,FACIL02)
Figure 47. Example definition of a list structure for region status servers
Procedure
1. Specify the DFHCFMN program either in a SYSIN data set defined in the JCL, or in the PARM parameter
on the EXEC statement.
2. Specify the mandatory and optional startup parameters for the DFHCFMN program.
If you specify a startup parameter in both the SYSIN data set and the PARM parameter, the PARM value
overrides the SYSIN value because the MVS START command can override the PARM value.
a) You must specify a SYSPRINT DD statement for the print file.
b) You must specify a SYSIN DD statement for the server parameters.
Results
The region status server is running, ready to receive and broadcast region status data to the CICS regions
connected to it. The CICS regions connect through the pool name that is specified in the CICSplex
definition.
Figure 48. Sample JCL to start a region status server address space
For an example of security parameters, see Authorizing a CICS region to a coupling facility data table.
You use the MODIFY command to pass information to a job or started task. In this task, you use the
following commands to control the region status servers.
Procedure
• To modify the server initialization parameters, use the MVS SET command:
SET keyword=operand[,keyword=operand,…]
DISPLAY keyword[=operand][,keyword[=operand,]…]
The valid keywords for DISPLAY are all the initialization parameters, plus an additional set described
under “DISPLAY and PRINT command options” on page 235.
The DISPLAY command can be abbreviated to D, as for the MVS DISPLAY command.
• To print the output that the DISPLAY command produces, use the MVS PRINT command:
PRINT keyword[=operand][,keyword[=operand,]…]
The PRINT command produces the same output as DISPLAY, supporting the same keywords, but on
the print file only.
• To delete a table, use the DELETE TABLE=name command.
The table must not be in use for this command to succeed. You can abbreviate the command to DEL.
• To stop the server normally, use the STOP command.
The server waits for any active connections to end first, and prevents any new connections while it is
waiting. You can abbreviate the command to P. You can also use the MVS STOP command, which is
equivalent to issuing the server STOP command through the MVS MODIFY command. The syntax of the
STOP command is:
STOP|P [jobname.]identifier[,A=asid]
TABLE=name
specifies the table to which the following table-related parameters in the same command are to be
applied. This parameter is required before any table-related parameters.
MAXRECS=number
Modify the maximum number of records that can be stored in the table specified by the preceding
TABLE parameter.
If the maximum number is set to a value less than the current number of records in the table, no new
records can be stored until records have been deleted to reduce the current number to within the
new maximum limit. For a recoverable table, this also means that records cannot be updated, because
the recoverable update process adds a new record on the rewrite operation then deletes the original
record when the transaction completes.
This keyword can also be specified as MAXNUMRECS.
AVAILABLE={YES|NO}
Specify whether the table named by the preceding TABLE parameter is available for new OPEN
requests. If the table is made unavailable, a CICS region that subsequently issues an OPEN request
for the table receives a response indicating that it is unavailable, but regions that currently have the
table open are not affected. Even when a table is marked as unavailable, a server can implicitly open it
on behalf of a CICS region to allow recoverable work to be resolved during restart processing.
This keyword can be abbreviated to AVAIL.
Examples of the SET command: The following example changes the statistics options:
SET STATSOPT=BOTH,EOD=21:00,STATSINT=06:00
The following example modifies the maximum number of records allowed in the specified table:
SET TABLE=PAYECFT1,MAXRECS=200000
SETXCF FORCE,STRUCTURE,STRNAME=DFHCFLS_poolname
You can verify that the pool has been successfully deleted by issuing the XCF command shown here:
D XCF STRUCTURE,STRNAME=DFHCFLS_poolname
Note that if you delete a region status server structure while CICS regions and workload are running, you
disable CICSPlex SM WLM optimized functions.
What to do next
When you attempt to start a server for a pool that has been deleted (or attempt to reload the pool), it is
allocated as a new structure. The newly allocated structure uses size and location attributes specified by
the currently active CFRM policy and other values determined by the server initialization parameters (in
particular, MAXTABLES).
Procedure
1. Define a named counter options table.
2. Define a list structure.
3. Define and start a named counter server job, to run in an mvs batch region.
4. Manage named counter server regions.
• Issue commands to control a named counter server.
• Change the size of named counter pools.
• Delete or empty named counter pools.
• Unload and reload named counter pools.
• Dump named counter pool list structures.
Coupling
facility (CF1) F2)
Number
counter
pool
Security
The server must be authorized to access the coupling facility list structure in which the named counter
pool is defined. The server must also be authorized to act as a named counter server.
For information on how to define the necessary authorizations see Authorizing access to named counter
pools and servers.
Note: You cannot control access to individual named counters.
DFHNCO [POOLSEL={(generic_values)|*},]
[JOBNAME={(generic_values)|*},]
[APPLID={(generic_values)|*},]
{POOL={YES|NO|name} | CALL=programname}
END DFHNCOPT
The POOLSEL, JOBNAME, and APPLID parameters specify optional selection conditions to determine
whether the entry applies to the current request. You can specify each of these operands as
• A single generic name
• A list of names in parentheses, the list containing two or more generic names, each name separated by
a comma.
Each name comprises the characters that can appear on the appropriate parameter, plus the wild-card
characters * to match any sequence of zero or more non-blank characters, and % to match any single
non-blank character. When multiple generic name are specified, the selection condition is satisfied if any
one of them matches. A blank pool selector value can be matched using a null POOLSEL operand, for
example POOLSEL= or POOLSEL=().
POOLSEL={(generic1,generic2,…,…)∨* }
Specifies that this options table entry applies only when the pool selection parameter specified by the
application program matches one of the generic names specified on this parameter.
Specifying POOLSEL=, or POOLSEL=() is the equivalent of specifying 8 blanks.
If you omit the POOLSEL keyword, it defaults to *.
DFHNCO POOLSEL=DFHNC*,POOL=YES
DFHNCO POOL=
END DFHNCOPT
With the default options table in use, any pool selector parameter that specifies a string beginning with
DFHNC is taken to be an actual pool name, indicated by POOL=YES in the table entry. Any other value,
including a value of all spaces, is assigned the default pool name, indicated by the POOL= table entry
without a POOLSEL parameter.
The source for this default table is supplied in CICSTS61.CICS.SDFHSAMP.
Procedure
1. Specify the name of the list structure.
The name is formed by adding the prefix DFHNCLS_ to your chosen pool name, giving
DFHNCLS_poolname.
2. Specify the size of the list structure.
You can allocate an initial and maximum size using the INITSIZE and SIZE parameters in the CRFM
policy definition. For an accurate estimate of storage requirements, use the IBM CFSizer tool. See
CFSizer.
3. Specify the preference list of coupling facilities in which the policy can be stored.
An example definition of a coupling facility list structure for named counters is as follows:
STRUCTURE NAME(DFHNCLS_PRODNC1)
SIZE(2048)
INITSIZE(1024)
PREFLIST(FACIL01,FACIL02)
SETXCF START,POLICY,POLNAME=policyname,TYPE=CFRM.
Results
You have defined the CFRM policy statements for a list structure. This action does not create a list
structure. The structure is created the first time an attempt is made to connect to it, which occurs when
the first named counter server that refers to the corresponding pool is started.
Before you start the named counter server, ensure that you have defined and started the authorized
cross-memory (AXM) server environment (see “Defining and starting AXM system services” on page 203).
Example
Figure 51. Sample JCL to start a named counter server address space
Statistics parameters
Use the following parameters to specify server statistics options:
ENDOFDAY={00:00|hh:mm}
specifies the time of day, in hours and minutes, when the server is to collect and reset end-of-day
statistics.
Note: If the STATSOPTIONS parameter specifies NONE, the server still writes end-of-day statistics to
the print file.
The valid range of times is from 00:00 to 24:00.
This keyword can be abbreviated to EOD.
STATSINTERVAL={03:00|hh:mm}
specifies the statistics collection interval, in the range 1 minute to 24 hours. This parameter is ignored
if the STATSOPTIONS parameter specifies NONE.
The time interval can range from 00:01 to 24:00.
This keyword can be abbreviated to STATSINT.
STATSOPTIONS={NONE|SMF|PRINT|BOTH}
specifies whether the server is to produce interval statistics, and the destination for the statistics it
produces.
NONE
The server does not produce any interval statistics.
SMF
The server produces interval statistics and writes them to the current SMF data set only.
PRINT
The server produces interval statistics and writes them to the server's print file only.
Warning parameters
Use these parameters to modify the thresholds at which warning messages are issued when the structure
becomes nearly full.
ENTRYWARN={80|number}
specifies the percentage of list structure entries in use at which warning messages should be first
triggered.
The valid range is from 1 to 100 per cent.
ENTRYWARNINC={5|number}
specifies the percentage increase (or decrease) of entries in use before the next warning message
should be triggered (reduced to 1 when the next increase would otherwise reach 100). After the first
warning, additional messages are issued as the number of elements increases and decreases. These
messages stop when the number of entries in use has fallen at least this percentage below the initial
warning level.
The valid range is from 1 to 100 per cent.
F server_job_name,command
parameters... comments
SET keyword=operand[,keyword=operand,…]
Change one or more server parameter values.
Procedure
• To change one or more server parameter values, use the SET command.
You can abbreviate the command to T, as for the MVS SET command. See “The SET command
options” on page 262 for details.
• To display one or more parameter values or statistics summary information on the console, use the
DISPLAY command.
The syntax is as follows:
DISPLAY keyword[=operand][,keyword[=operand,]…]
The valid keywords for DISPLAY are all the initialization parameters, plus an additional set described
under “DISPLAY and PRINT command options” on page 263. You can abbreviate the command to D, as
for the MVS DISPLAY command.
• To print the parameter values, use the PRINT command.
This command produces the same output as the DISPLAY command, supporting the same keywords,
but on the print file only.
• To stop the server normally, use the STOP command.
The server waits for any active connections to end first, and prevents any new connections while it is
waiting. You can abbreviate the command to P. You can also use the MVS STOP command, which is
equivalent to issuing the server STOP command through the MVS MODIFY command. The syntax of the
STOP command is:
STOP|P [jobname.]identifier[,A=asid]
SET STATSOPT=BOTH,EOD=21:00,STATSINT=06:00
SETXCF FORCE,STRUCTURE,STRNAME=DFHNCLS_poolname
For example:
SETXCF START,ALTER,STRNAME=DFHNCLS_poolname,SIZE=size
RECFM=F
LRECL=4096
BLKSIZE=4096
RELOAD
Reload, into the named counter pool named on the POOLNAME parameter, a previously unloaded
named counter pool.
The RELOAD function requires a DD statement for DDNAME DFHNCRL, describing the sequential
data set from which the table pool is to be reloaded.
The structure is allocated, if necessary, during reloading, in which case you can use the same
server parameters to control structure attributes as for normal server startup. The reload process
bypasses named counters that are already found in the pool (for example, because the structure
was too small and the reload job had to be restarted after using ALTER to increase the structure
size).
Note: If the unloaded pool structure was altered dynamically at any time after initial allocation (by
using the SETXCF command to increase the size), ensure that the increased size is allocated for
the reloaded pool. The recommended way is to update the INITSIZE parameter for the structure
Server messages
Messages that are issued by the server code itself start with the five-letter server prefix (DFHXQ, DFHCF
or DFHNC).
These messages fall into the following groups:
• Operator console system status messages, which are issued by WTO (Write To Operator) with routing
codes 2 (operator information) and 11 (programmer information), and descriptor code 4 (system
status).
These messages provide information about important status changes, primarily about the beginning and
end of server initialization and the beginning and end of server termination, and about problems.
Any server message that is issued in this way during normal running indicates a potentially serious
problem, and should not be ignored. If this process is automated, a simple rule is to ignore the specific
list of status messages for normal initialization and termination, and to treat any other server message
as a warning.
These messages can be issued either from the server address space or from a client address space.
If the server code that requests the message is running in cross-memory mode, the message is
passed back to a routine that issues the WTO in primary mode in the client address space. This
avoids restrictions which apply to WTO messages that are issued in cross-memory mode. For example,
cross-memory mode WTO messages do not appear in any job log.
• Command responses, which are issued by WTO with routing codes 2 and 11 and descriptor code 5
(immediate command response).
These messages contain responses to server commands that are issued via the system MODIFY or
STOP command, for example to display statistics.
• Job log messages:
These messages typically contain diagnostic information, for example details of an abend or an
attempted security violation. They are written to the job log, by WTO with routing code 11 (programmer
information).
• Trace and statistics messages:
These messages are written only to the server SYSPRINT file.
All messages that are issued by the server code, whether they are running under the server address space
or in cross-memory mode from the client address space, are also copied to the server SYSPRINT file.
AXM messages
The AXM environment code issues operator messages from the server and client address spaces and
from the main address space during AXM system services initialization.
These messages are issued using WTO with routing codes 2 (operator information) and 11 (programmer
information, not used when running in the main address space), and descriptor code 4 (system status).
AXM message numbers are of the form "AXMxxnnnns", where the first five characters "AXMxx" are the
Restarting a server
All three types of CICS data-sharing server (temporary storage, coupling facility data tables, and named
counters) support automatic restart using the services of the Automatic Restart Manager (ARM).
The servers also have the ability to wait during start-up, using an Event Notification Facility (ENF) exit, for
the coupling facility structure to become available if the initial connection attempt fails.
The server normally registers at start-up with ARM, so that it will be restarted automatically if it fails,
subject to any rules in the installation ARM policy. If ARM registration fails for any reason except for ARM
being unavailable, the server cannot be started. If ARM is unavailable, the server starts normally but has
to be restarted manually if it fails.
The servers recognize the ARM return code that indicates that the ARM couple data set has not been
formatted for the current MVS system, as being equivalent to ARM being unavailable.
A server does not start if registration fails with return code 8 or above.
When a server starts up, if it is unable to connect to its structure because of some environmental
error such as a structure failure, it automatically waits for the structure to become available, using the
Event Notification Facility (ENF) to watch for events relating to its structure. This wait occurs before the
cross-memory interface is enabled, so the server is not visible to client regions at this time and will
appear to be unavailable. While it is waiting, the server can be cancelled using the MVS CANCEL command
if it is no longer required.
If the server is running normally, but the coupling facility interface reports a loss of connectivity or a
structure failure, the server immediately terminates itself. This disconnects it from the coupling facility,
and terminates the server side of any current cross-memory connections from client regions. The server
will normally be restarted immediately by the ARM, but will continue to be unavailable to client regions
until the coupling facility structure is available again (possibly as a new empty instance of the structure).
An abrupt coupling facility failure such as a power failure may result in a loss of connectivity indication
even though the structure has failed, because the operating system cannot determine the state of the
structure in that case. This could prevent a new structure from being allocated until the operating system
can determine the status of the existing structure, for example after the failed coupling facility has been
successfully restarted. If it is certain that the old structure has been lost, but the system has not yet
recognized the fact, the operator may be able to save some time by issuing the SETXCF FORCE command
to delete the old structure, allowing the system to go ahead and create a new instance of the same
structure in a different coupling facility.
You can find more information about automatic restart of coupling facility servers in Automatic restart of
CICS data-sharing servers
Display XCF,STR,STRNAME=DFHXQLS_PRODTSQ1,CONNAME=ALL
To look at the connection details for coupling facility data tables structure DFHCFLS_DTPOOL1, use the
following command:
Display XCF,STR,STRNAME=DFHCFLS_DTPOOL1,CONNAME=ALL
To look at the connection details for the named counter structure DFHNCLS_PRODNC1, use the following
command:
Display XCF,STR,STRNAME=DFHNCLS_PRODNC1,CONNAME=ALL
For any of these start commands, the resulting IXC360I message output contains the following lines
(in the CONNECTION information section), indicating that system-managed rebuild is enabled for the
connection:
Timeout considerations
The wait-time for a system-managed rebuild is expected to vary from a few seconds for a small structure
to a few tens of seconds for a large structure. This means that transactions can be purged by DTIMOUT, or
by an operator command, while waiting on the rebuild.
To minimize the risk of unnecessary problems caused by timeouts during syncpoint processing, the CICS
wait exit for CFDT unit of work control functions specify that the wait is not purgeable.
Error handling
The reaction of DFHCSDUP to an error (with return code 8 or greater) depends on the nature of the error
and on how DFHCSDUP is invoked.
As a batch program
If the error occurs during connection of the CSD, no subsequent commands are completed. If the
error occurs elsewhere, no subsequent commands are executed other than LIST commands. The
put-message-exit routine is not applicable if DFHCSDUP runs as a batch program.
From a user program
DFHCSDUP exits can be used to control error processing. See User programs for the system definition
utility program (DFHCSDUP). If you provide a put-message-exit routine for DFHCSDUP, it is invoked
whenever a message is issued. If an error is detected while DFHCSDUP is receiving commands from a
get-command exit, all subsequent commands are processed if possible.
Create
Create
Resource
model YAML Resource
definition YAML
Build
z/OS LPAR
In addition, CICS resource builder provides an import capability that allows system programmers to
identify the standards used for resource definitions in an existing CSD and migrate these standards into
CICS resource builder resource models and resource definitions. This capability also makes it possible
to apply existing resource definition standards to additional applications. For simplicity, this capability is
omitted in Figure 54 on page 277.
For more information about CICS resource builder, see the CICS resource builder product documentation.
Procedure
• Use the ALTER command on definitions that specify obsolete attributes.
This does not cause the loss of these attributes in CICS Transaction Server for z/OS, Version 6 Release
1, so you can safely update resource definitions from a CICS TS for z/OS, Version 6.1 region.
• If you are sharing the CSD between a CICS TS for z/OS, Version 6.1 region and a region at an earlier
release of CICS, you can use the CICS TS for z/OS, Version 6.1 CSD update batch utility program
DFHCSDUP to update resources that specify obsolete attributes.
a) Specify if you want to use the compatibility option. Use the PARM parameter on the EXEC
PGM=DFHCSDUP statement, using the option COMPAT.
The default is NOCOMPAT, which means that you cannot update obsolete attributes. (See Sample
job for invoking DFHCSDUP as a batch program.)
b) You cannot use the DFHCSDUP EXTRACT command in this release when the COMPAT option is
specified.
Procedure
Customize the sample job based on your use case as follows:
1. Change the EXEC statement to specify a suitable REGION size and a PARM parameter:
Use the PARM parameter 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.
PROGRAM
TRANSACTION
TYPETERM
XTPNAME
DSNAME
For programming information about the use of the CRFINPT file by the programs DFH$CRFx or
DFH0CRFC (for COBOL), see The sample EXTRACT programs.
4. If you specify the EXTRACT command, include the DD statements for any data sets that receive output
from your extract program. The sample shows two options: to write the data set to disk or to SYSOUT.
The ddname is whatever ddname you define in the user program. The sample uses the ddname outdd.
The sample programs that are supplied with CICS need DD statements for the following ddnames:
Autoinstall
Autoinstall is a method of creating and installing CICS resources dynamically as they are required. You
can use autoinstall for SNA LUs, MVS consoles, APPC connections, IPIC connections, programs, map sets,
partition sets, and journals. With autoinstall, you do not have to define and install every resource that
you intend to use. Instead, CICS dynamically creates and installs a definition for you, based on a model
definition that you provide, when a resource is requested.
You must provide at least one model definition for each type of resource to be autoinstalled. You can have
more than one model definition, depending on what properties you want the autoinstalled resources to
have. You set up model definitions using either RDO or DFHCSDUP.
You can use an autoinstall control program to control the way autoinstall operates in your CICS region.
This program is responsible for, among other things, providing the model name or names to CICS and,
providing z/OS Communications Server information to CICS for autoinstall for terminals, and so on. CICS
provides several autoinstall control programs (listed below). You can use the CICS-supplied ones or you
can customize them to suit your installation.
• “The autoinstall control program for connections” on page 295
• The autoinstall control program for VTAM terminals
• “The autoinstall control program for MVS consoles” on page 292
• The autoinstall control program for programs, map sets, and partition sets
Transaction routing
An autoinstall request to a local system overrides an autoinstall request for the same definition shipped
from a different system.
If transaction routing can occur between two CICS systems, any terminal that can log on to both should
be installed in both in the same way. Such a terminal should be:
• Autoinstalled in both systems, or
• Defined to each system at initialization
Is
there an Yes
entry for this
NETNAME?
No
Is Is
Is terminal VTAM
Yes Yes Yes
autoinstall eligible for information
operative? autoinstall? enough?
No
AUTOINSTALL
Has
VTAM
Yes
supplied a
valid model
name?
No
Autoinstall program
Autoinstall program CICS creates a
chooses one Finish
assigns a terminal name terminal entry
AUTIN STMODEL name
Procedure
1. Determine whether your terminals are eligible for autoinstall.
The following terminals can be autoinstalled:
• z/OS Communications Server locally attached 3270 terminals (non-SNA), both displays and printers
• z/OS Communications Server logical unit type 0 terminals
• z/OS Communications Server logical unit type 1 terminals, including SCS printers
• z/OS Communications Server logical unit type 2 terminals
TIMEOUT No No automatic
specified? signoff or logoff
Yes
TYPETERM Yes
SIGNOFF(NO)?
No
No
No No
Terminal available
Delete TCTTE
for reuse
Figure 58. AUTOINSTALL—automatic logoff and TCTTE deletion after an emergency restart
Procedure
1. Define a console terminal definition with the following attributes:
• Specify AUTINSTMODEL(YES), or AUTINSTMODEL(ONLY)
• Specify the CONSNAME(name)
• Reference a TYPETERM that specifies DEVICE(CONSOLE)
You can use the model console definition defined in the group DFHTERMC, which is added to your CSD
by the INITIALIZE and UPGRADE commands.
Note: When a model terminal definition is used by the console autoinstall function, CICS ignores the
console name specified on the model definition.
Procedure
1. Decide whether to use autoinstall for connections.
The main benefits of using autoinstall for connections are that cold, warm, and emergency restarts
are faster, you have fewer CSD file definitions to manage, and less storage is taken up by unused
definitions.
However, some possible restrictions are discussed in “Recovery and restart for connection autoinstall”
on page 296.
2. Decide which sessions to autoinstall.
You can use autoinstall for CICS-to-CICS connections, but it is intended primarily for workstations.
3. Create your model connection definitions.
A model definition provides CICS with one definition that can be used for all connections with the
same properties. See “Model definitions for connection autoinstall” on page 295.
4. Design and write an autoinstall control program.
The definitions for the supplied model connections and sessions are:
If you want to use these definitions, you must add group DFHAI62 to your group list. Do not try to use the
terminal autoinstall exit DFHZATDX to autoinstall connections; any sessions installed by DFHZATDX are
terminated and message DFHZC6921 is issued.
Note: VTAM is now the z/OS Communications Server.
For programming information on customizing the autoinstall control program, see Writing a program to
control autoinstall of LUs.
Procedure
1. Decide whether your programs are eligible for autoinstall
All other programs can be autoinstalled, including:
• All other user-replaceable programs
• Global user exits (GLUEs) and task-related user exits (TRUEs)
• PLT programs
User-replaceable programs and PLT programs are autoinstalled on first reference. GLUEs and TRUEs
are autoinstalled when enabled.
2. Decide whether to use autoinstall for programs
Using autoinstall for programs can save time spent on defining individual programs, mapsets, and
partitionsets. Savings can also be made on storage, because the definitions of autoinstalled resources
do not occupy space until they are referenced.
Use of autoinstall for programs can reduce the number of definitions to be installed on a COLD start,
thereby reducing the time taken.
3. Decide which programs to autoinstall
Depending on your programs, you can choose to use a mixture of RDO and autoinstall. A suggested
way to manage program autoinstall is to continue to use RDO for existing program definitions and
for installing groups containing related programs. Use autoinstall as you develop and install new
applications, and in test environments, where you might otherwise install large numbers of programs
at CICS startup.
4. Enable autoinstall for programs
You can enable autoinstall for programs either by specifying system initialization parameters by using
the SET SYSTEM command.
Three system initialization parameters relate to program autoinstall:
PGAICTLG
The PGAICTLG parameter specifies whether autoinstalled program definitions are cataloged. See
“Cataloging for program autoinstall” on page 298.
PGAIPGM
The PGAIPGM parameter specifies whether the program autoinstall function is active or inactive.
PGAIEXIT
The PGAIEXIT parameter specifies the name of the program autoinstall exit.
Three options relate to program autoinstall on the SET SYSTEM command:
PROGAUTOCTLG
The PROGAUTOCTLG option specifies whether autoinstalled program definitions are to be
cataloged. See “Cataloging for program autoinstall” on page 298.
PROGAUTOEXIT
The PROGAUTOEXIT option specifies the name of the program autoinstall exit.
If you do not want to use your own definitions, you can use the CICS-supplied model definitions. These
are:
• DFHPGAPG for programs
• DFHPGAMP for mapsets
• DFHPGAPT for partitionsets
They are listed in Supplied resource definitions, groups, and lists.
Note: Although the DFHPGAPG definition does not specify a program language, the CICS autoinstall
routine detects the program language from the program being loaded.
Sample programs
CICS supplies the following sample programs for the program autoinstall exit:
• DFHPGADX—assembler program
• DFHPGAHX—C program
• DFHPGALX—PL/I program
• DFHPGAOX—COBOL definition
The source for these programs is supplied in the CICSTS61.SDFHSAMP sample library, but only the
assembler version is supplied in executable form, in the CICSTS61.SDFHLOAD load library.
Autoinstalling journals
CICS writes journal data to journals or logs on log streams managed by the MVS system logger, or to SMF.
You must define JOURNALMODELs so that the connection between the journal name, or identifier, and
the log stream, or SMF log, can be made. You can use RDO, DFHCSDUP, or an EXEC CICS CREATE
JOURNALMODEL command to define a journalmodel.
CICS resolves the link between the log stream and the journal request by using user-defined
JOURNALMODELs or, in the situation where an appropriate JOURNALMODEL does not exist, by using
default names created by resolving symbolic names. See JOURNALMODEL attributes for more information
about this.
Journals are not user-definable resources.
Format of macros
The CICS macros are written in assembler language and, like all assembler language instructions, must be
written in a standard format.
DFHSIT...,FCT=MY,...
Note: The TYPE=INITIAL macros have a STARTER operand that is not listed in the descriptions of the
individual macros. Coding STARTER=YES enables you to use the $ and # characters in your table suffixes.
The default is STARTER=NO. This operand should be used only with starter system modules.
DFHxxT TYPE=FINAL
Command list table Sets of commands and messages for an XRF DFHCLTxx CLT SDFHAUT Yes Command list table
(CLT) takeover. The command list table (CLT) is used H (CLT)
for XRF (extended recovery facility). If you are
using XRF, you must have a CLT; it is used only
by the alternate CICS system. The CLT contains a
list of commands that are passed to JES or MVS
for execution. It also provides the authorization for
canceling the active CICS system.
Data conversion table A data conversion table might be needed if the DFHCNV CNV SDFHLOAD Defining the conversion
CICS system is using ISC to communicate with a table
member of the CICS family that runs on a hardware
platform that does not use EBCDIC. The conversion
table defines how data is to be changed from ASCII
format at the workstation to EBCDIC format at the
CICS host.
DL/I directories (PDIR) Databases and program specification blocks. If DFHPSBxx PSB SDFHLOAD No PDIR: DL/I directory
you use CICS-IMS DBCTL (database control)
exclusively to manage your CICS system's use of
DL/I, you need not define the DL/I directory (PDIR)
using CICS.
The PDIR is a directory of all the remote program
specification blocks (PSBs) that are accessed by
the CICS system.
If you function-ship requests to a remote database
manager (remote DL/I), you need only one
directory, the PDIR.
File control table (FCT) BDAM file definitions. The file control table (FCT) is DFHFCTxx FCT SDFHLOAD No File control table (FCT)
retained to allow you to define BDAM files.
Monitoring control table Monitoring actions (data collection) to be taken at DFHMCTxx MCT SDFHLOAD Yes Monitoring control table
(MCT) each user event monitoring point (EMP). Different (MCT)
actions can be specified for each monitoring class
at each EMP.
Recoverable service Sets of recoverable service elements. The DFHRSTxx RST SDFHAUT Yes Recoverable service
table (RST) recoverable service table (RST) is used for IBM H table (RST)
CICS IMS DBCTL (database control) support. If
you are using XRF and DBCTL, you must have an
RST: it is used by the active CICS system. The RST
contains a list of recoverable service elements that
define the DBCTL configuration. It defines which
DBCTL CICS connects to.
System initialization Parameters used by the system initialization DFHSITxx SIT SDFHAUT Specifying CICS system
table (SIT) process. In particular, the SIT identifies (by suffix H initialization parameters
characters) the versions of CICS system control
programs and CICS tables that you have specified
are to be loaded.
System recovery table A list of codes for abends that CICS intercepts. DFHSRTxx SRT SDFHLOAD System recovery table
(SRT) (SRT).
Temporary storage table Generic names (or prefixes) for temporary storage DFHTSTxx TST SDFHLOAD Yes Temporary storage table
(TST) queues. CICS still supports the use of a TST in (TST)
combination with or in place of TSMODEL resource
definitions. You must use a TST if you have
application programs that reference temporary
storage data sharing queues by specifying an
explicit SYSID on EXEC CICS temporary storage
commands, or if a SYSID is added by an XTSEREQ
global user exit program. You must also use
a TST if you require the TSAGE attribute. For
temporary storage queues where you do not
require these functions, you can use TSMODEL
resource definitions, which provide all other
functions of the TST and some additional functions.
Terminal control table Retained to define non- SNA LU networks. DFHTCTxx TCT SDFHLOAD No Terminal control table
(TCT) (TCT)
Terminal list table (TLT) Sets of related terminals. The terminal list table DFHTLTxx TLT SDFHLOAD No Terminal list table (TLT)
(TLT) allows terminal or operator identifications,
or both, to be grouped logically. A TLT is required
by the supervisory terminal operation (CEST),
to define and limit the effective range of the
operation. It can also be used by a supervisory
or master terminal operation (CEMT) to apply a
function to a predetermined group of terminals.
A TLT can be used, singly or in combination with
other TLTs, to provide predefined destinations for
message switching.
Transaction list table Sets of logically related transaction identifications. DFHXLTxx XLT SDFHLOAD Yes Transaction list table
(XLT) A list of identifications that can be initiated from (XLT)
terminals during the first quiesce stage of system
termination, or a group of identifications that
can be disabled or enabled through the master
terminal.
Other tables that have special requirements are program list tables (PLTs), terminal list tables (TLTs), and
transaction list tables (XLTs). For each TLT, autoinstall for programs must be active or you must specify
a program resource definition in the CSD, using the table name (including the suffix) as the program
name. PLTs or XLTs are autoinstalled if there is no program resource definition in the CSD. For example, to
generate a TLT with a suffix of AA (DFHTLTAA), the CEDA command would be as follows:
Temporary SYS1.MACLIB
partitioned data set 1
IEBGENER
Utility
MACROS
CICS.SDFHMAC
SMPCNTL
2
SMPJCL1 Assembler Assembly listing
Temporary
SMPJCL2
sequential data set
LNKCTL
including link-edit
3 Punch
IEBUPDTE control statements,
SMPEOF statements and
Utility link-edit JCL, and
object decks
SMP UPDATE statements
Object
4
Linkage Editor
Linkage Editor
listing
CICS,
SDFHLOAD,
SDFHAUTH
5
Assembler
Temporary
data set
(SET BDY)
6
SMP UPDATE
SMPC SI
(HMASMP)
SMP listing
7
IEFBR14
Utility
Figure 59. Assembling and link-editing the control tables using the DFHAUPLE procedure
Procedure
1. If you're using IBM CICS Explorer or IBM Developer for z/OS to create CICS bundles:
a) Use the IBM CICS Explorer to create a CICS bundle and define the artifacts that you want to include
in the bundle.
Follow the instructions in Working with bundles in the CICS Explorer product documentation.
b) If you are deploying the CICS bundle on its own, deploy it to a suitable directory on z/OS UNIX.
CICS must have permission to read this directory.
If you are deploying the CICS bundle as part of an application or a platform, follow the instructions
in Working with platforms and applications in the CICS Explorer product documentation to include
the CICS bundle.
c) If you are deploying the CICS bundle on its own, define, enable, and make available a BUNDLE
resource for the CICS bundle.
See BUNDLE resources for details of the attributes to specify.
d) If you are deploying the CICS bundle with a platform, follow the instructions in Working with
bundles in the CICS Explorer product documentation to remove the previous version of the CICS
bundle then add the new version of the CICS bundle to the platform.
e) If you are deploying the CICS bundle as part of an application, follow the instructions in Working
with applications in the CICS Explorer product documentation to deploy the application.
2. If you want to use the Gradle or Maven plug-in to create and deploy CICS bundles, see How it works:
CICS bundle deployment API.
Results
CICS reads the manifest in the bundle directory and dynamically creates the CICS resources. CICS also
checks that any required dependencies, for example programs or files, outside the bundle are present in
the CICS region.
FILE resources
The following file types are supported for definition in CICS bundles:
• VSAM files (including files that refer to CICS-maintained, user-maintained, and coupling facility data
tables, as well as files that refer to VSAM data sets)
• Remote VSAM files
• Remote BDAM files
The initial status of a FILE resource that is dynamically created from a CICS bundle is derived from the
initial status of the CICS bundle that defines the resource. As a result, it is not possible to define a FILE
resource with a STATUS of UNENABLED to inhibit the implicit opening of files by applications.
The PASSWORD attribute is not supported for dynamically created FILE resources.
When a file that is defined in a CICS bundle is installed, it is added to the catalog. CICS recovers the
bundle installed files from the catalog during a warm or emergency restart. These recovered files are
JVMSERVER resources
For JVM servers that are packaged in CICS bundles, the JVM profiles are packaged with the resource
definitions in the CICS bundles. You can therefore install the JVM server in any CICS region without
needing to set up a JVM profile in the local JVM profile directory for the CICS region.
When creating a JVM server, you can create the JVM profile using sample templates for an OSGi JVM
server, an Axis2 JVM server, or a Liberty JVM server, or import an existing JVM profile to the CICS bundle
from elsewhere in the workspace or from the local file system.
The set of acceptable characters in the JVM profile name is more restricted when the JVMSERVER
resource is defined in a CICS bundle. For details, see JVMSERVER attributes. The directory name for the
directory where the JVM profile is stored is limited to 240 characters, which is the same limit that applies
to JVM profiles that are not defined in CICS bundles.
A JVM server that is defined in a CICS bundle must be installed and enabled before you install OSGi
bundles or other application artifacts for Java applications that run in it. It is good practice to deploy
a CICS bundle containing the definition for a JVMSERVER resource as part of a platform bundle, and
to then deploy the CICS bundles containing OSGi bundles or other Java application artifacts as part of
applications that are deployed on the platform. This architecture ensures that when the resources are
first installed in a CICS region or if the CICS region is restarted, the JVM server and the Java application
resources are installed and enabled in the correct order.
LIBRARY resources
If a LIBRARY resource is included in a CICS bundle, it should only be used for loading the modules used
by that CICS bundle. Although advisable, this requirement is not enforced for a stand-alone CICS bundle,
but it is enforced for a CICS bundle that is packaged and installed as part of an application on a platform.
The BUNDLEPART resource associated with the LIBRARY resource does not report a status of DISABLED
until the LIBRARY concatenation and all programs loaded from it have a use-count of zero. It might be
necessary to purge work from CICS so that the bundle disable process can complete.
If a program is loaded from a LIBRARY concatenation that was defined and installed by a CICS bundle,
that program is treated as though it was defined in the CICS bundle, even though the program might have
been defined independently. The lifecycle of these programs conforms to the lifecycle of the CICS bundle
in which the LIBRARY resource is defined. If a CICS bundle that contains a LIBRARY resource is disabled,
all programs loaded from that LIBRARY concatenation are disabled.
PIPELINE resources
For pipelines that are packaged in CICS bundles, the pipeline configuration files are also packaged with
the resource definitions in the CICS bundles. You can create a pipeline configuration file using one of the
CICS-supplied sample pipeline configuration files, or import an existing pipeline configuration file from
the local file system.
If a PIPELINE resource is packaged in a CICS bundle, it should be deployed as part of a platform
for hosting WEBSERVICE resources that are defined using CICS bundles. PIPELINE resources that are
defined in CICS bundles can only be used with WEBSERVICE resources that are defined in CICS bundles
or created dynamically by a pipeline scan. WEBSERVICE resources defined using the CICS CSD or BAS are
not compatible with PIPELINE resources that are defined in CICS bundles.
A PIPELINE resource that is packaged in a CICS bundle must be installed and enabled before you install
the WEBSERVICE resources that require it. It is good practice to deploy a CICS bundle containing the
definition for a PIPELINE resource as part of a platform bundle, and to then deploy the CICS bundles
PROGRAM resources
If a program is in use and the CICS bundle from which it was installed is disabled, CICS disables the
program, and no new work can be started by that program. However, the associated BUNDLEPART
resource remains enabled until the use-count for the program reaches zero. As a result, during this period
the BUNDLEPART resource, and the program both report different states. If the use-count for the program
does not reach zero after an acceptable interval, it might be necessary to purge work from CICS so that
the bundle disable process can complete.
When the bundle state has changed from DISABLING to DISABLED, the CICS bundle can be discarded.
However, if you discard the CICS bundle, the program that was installed by the bundle is discarded and
becomes unavailable until the CICS bundle is reinstalled.
The PROGRAM NEWCOPY and PROGRAM PHASEIN processes are not available for programs installed
from CICS bundles. The process for a program defined in a CICS bundle is to install a new version of the
CICS bundle, or of the application with which the CICS bundle was deployed. For PROGRAM resources
defined in stand-alone CICS bundles, you must uninstall the previous version of the CICS bundle before
you install the new version. When you deploy PROGRAM resources defined in CICS bundles as part of an
application on a platform, you can install new versions of the PROGRAM resource without uninstalling the
previous versions, and manage the availability of the new versions for users. For more information about
multi-versioning for applications, see Multi-versioning for applications deployed on platforms.
Programs that are installed by CICS bundles are not suitable for invocation from the PLT.
PROGRAM resources can be declared as application entry points, although the PROGRAM resource does
not have to be defined in a CICS bundle to be declared as an application entry point. Programs that are
declared as an application entry point must have a unique PROGRAM resource name in your environment.
For more information about programs as application entry points, see Application entry points.
TRANSACTION resources
A transaction might be allocated work that is due to be started, by an EXEC CICS START command, at a
scheduled time. If that work is scheduled to start after the CICS bundle is disabled, the scheduled work is
canceled, and no new work is allowed to start for that transaction. If the CICS bundle is then re-enabled,
the canceled work is not rescheduled, and remains canceled.
TRANSACTION resources can be declared as application entry points, although the TRANSACTION
resource does not have to be defined in a CICS bundle to be declared as an application entry point. A
TRANSACTION that is declared as an application entry point must have a unique TRANSACTION resource
name in your environment. For more information about TRANSACTION's as application entry points, see
Application entry points.
URIMAP resources
A WEBSERVICE resource is normally associated with at least one URIMAP resource. The URIMAP
resources can be packaged in the same bundle as the WEBSERVICE resource, but it can be preferable to
package them in a separate bundle that can be customized for each platform to which the WEBSERVICE
resource is deployed. For example, you might want to use a different URI in a quality assurance platform
than is used in a production platform, or define a mirror transaction for the WEBSERVICE resource in the
production platform but not in the unit testing platform.
When you define a URIMAP resource in a CICS application bundle, you can use an application entry point
declaration to control users' access to the service provided by the URIMAP resource. In this situation,
WEBSERVICE resources
For web services that are packaged in CICS bundles, you can import a web service binding file and a
WSDL document or WSDL archive file to be packaged in the bundle along with the resource definition. To
support the web service, you can use a WEBSERVICE definition packaged in a CICS bundle to generate a
URIMAP definition in a separate bundle. You can also create an alias transaction for the URI map, and an
optional URIMAP definition for WSDL discovery.
Web services that are packaged in CICS bundles have additional states of DISABLING and DISABLED,
which do not apply to web services created using other methods. When disabling is in progress for a
CICS bundle, WEBSERVICE resources defined in the bundle enter DISABLING state. Work that is currently
executing is allowed to complete, but the web service does not accept new work. When the web service
is no longer in use, the WEBSERVICE resource enters DISABLED state. Requests to a web service in
DISABLING or DISABLED state are rejected and a SOAP fault, "Web service is not in service", is sent. If
CICS is the web service requester, the INVOKE SERVICE command returns a RESP code of INVREQ and a
RESP2 value of 8.
If the CICS bundle is enabled again, the WEBSERVICE resource returns to INSERVICE state. Otherwise,
the WEBSERVICE resource can be discarded by discarding the CICS bundle. You can inquire on the
state of a WEBSERVICE resource using the EXEC CICS or CEMT INQUIRE WEBSERVICE command, the
CICSPlex SM web user interface, or the CICS Explorer, but you cannot set it manually.
Related concepts
Artifacts that can be deployed in bundles
The artifacts that you can define and deploy in CICS bundles include application and system events, Atom
feeds, channel-based services, CICS policies, CICS programs, OSGi bundles, XML-based services, and
transactions. Each of these artifacts is represented by one or more CICS resources and these resources
are dynamically created as part of the bundle deployment.
Referencing zFS artifacts in a bundle
A number of CICS resources reference external zFS artifacts for further configuration information. For
example, JVMSERVER resources require a JVM profile, and PIPELINE resources require a pipeline
configuration file. If these resources are defined in a CICS bundle, the zFS artifacts that they require
must also be stored in the CICS bundle, and referenced using a relative zFS name.
Manifest contents for a CICS bundle
Each CICS bundle contains a bundle manifest that describes the contents of the bundle. A bundle
manifest describes the bundle, which resources to design or modify in the CICS region when provisioned,
and dependencies required for the CICS bundle to successfully enable.
Scoping of bundles
The BUNDLE resource definition provides the BASESCOPE attribute as a way of applying a scope to
related BUNDLE resources. You can use this attribute for bundles that are deployed on a platform,
Example of a manifest
The following example shows a manifest for a CICS bundle that contains a program definition that is also
an application entry point, together with a policy and policy scope for user tasks for that application entry
point.
1. Contains information on the bundle project including the bundle ID and bundle version.
2. The meta directives element contains the date and time the bundle was created.
3. The bundle imports a transaction resource that must be present and enabled in the provisioned
system to enable this CICS bundle. This CICS bundle does not declare or manage the transaction
resource.
4. The bundle defines a PROGRAM resource, including the name of the resource and the path to the XML
file that defines the resource attributes.
5. The bundle defines a LIBRARY resource to dynamically load the defined PROGRAM, including the
name of the resource and the path to the XML file that defines the resource attributes.
6. The bundle defines a POLICY resource, including the name of the policy and the path to the XML file
that defines the policy attributes.
7. The bundle declares a PROGRAM resource as an application entry point for a particular operation.
8. The bundle declares that the POLICY is to be applied only to tasks which match the specified
operation.
Related concepts
Artifacts that can be deployed in bundles
The artifacts that you can define and deploy in CICS bundles include application and system events, Atom
feeds, channel-based services, CICS policies, CICS programs, OSGi bundles, XML-based services, and
transactions. Each of these artifacts is represented by one or more CICS resources and these resources
are dynamically created as part of the bundle deployment.
Referencing zFS artifacts in a bundle
A number of CICS resources reference external zFS artifacts for further configuration information. For
example, JVMSERVER resources require a JVM profile, and PIPELINE resources require a pipeline
configuration file. If these resources are defined in a CICS bundle, the zFS artifacts that they require
must also be stored in the CICS bundle, and referenced using a relative zFS name.
Scoping of bundles
The BUNDLE resource definition provides the BASESCOPE attribute as a way of applying a scope to
related BUNDLE resources. You can use this attribute for bundles that are deployed on a platform,
or to set a Service Component Architecture (SCA) domain for a bundle that contains SCA composite
applications.
OSGi bundle recovery on a CICS restart
When you restart a CICS region that contains OSGi bundles, CICS recovers the BUNDLE resources and
installs the OSGi bundles into the framework of the JVM server.
Security for bundles
Different security profiles and checks apply to BUNDLE resources created from a definition, and to
BUNDLE resources that are created when you install an application or platform.
Variables in a CICS project
Scoping of bundles
The BUNDLE resource definition provides the BASESCOPE attribute as a way of applying a scope to
related BUNDLE resources. You can use this attribute for bundles that are deployed on a platform,
or to set a Service Component Architecture (SCA) domain for a bundle that contains SCA composite
applications.
BASESCOPE is an optional attribute on the BUNDLE resource definition that you can use in different ways.
You can use the IBM CICS Explorer to view all of the BUNDLE resources that are defined in a CICS region
and order them by the value of the BASESCOPE attribute.
cicsapplication://Platform/ApplicationID/MajorVersion/MinorVersion/MicroVersion
Platform is the name of the platform, ApplicationID is the ID of the application bundle, followed by the
major, minor, and micro version of the application.
CICS uses the BASESCOPE attribute to identify the relevant application and version, so that multiple
versions of the same application can be installed on a platform. The BASESCOPE attribute can be used to
restrict resources to the appropriate version of the application. For example, certain supported resource
types that are defined in a CICS bundle, then packaged and installed as part of an application bundle
or application binding bundle, are private to that version of that application. For more information about
private resources for applications, see Private resources for application versions.
The same cicsapplication format basescope can be added to CICS bundles that are outside of a platform
environment. This is useful in a stand-alone CICS region (SMSS) where you do not have a platform and
applications. In the SMSS case, it is the responsibility of the user to ensure that the basescope is properly
specified, whereas in a platform CICS automatically generates the correct basescope attribute.
Using variables
Typically, attribute values in resource definitions need to be changed before being installed in to different
environments. For example, a data set might have a different high-level qualifier for development, test,
and production environments. You can use variables to change parts of an attribute value depending on
the environment it is being deployed to, by using a variables.properties file that is specific to each
environment.
Variables are resolved during deployment by running the CICS build toolkit with the --resolve option,
before resources are installed in CICS. The properties file that is used to resolve a variable differs
depending on whether the variable is in a stand-alone bundle or is included as part of an application.
The most reliable method of creating variables is to use the Insert variable or Extract value to variable
wizard in CICS Explorer. For details, see Creating variables in the CICS Explorer product documentation.
If you do not want a time limit (that is, you assume that all terminals never hang), specify NO for
the TCSWAIT system initialization parameter. For more information about this parameter, see TCSWAIT
system initialization parameter.
Note: VTAM is now z/OS Communications Server for SNA.
DFHTCT TYPE=INITIAL,
ACCMETH=(NONVTAM) defining the access
method
DFHTCT TYPE=SDSCI,
DSCNAME=isadscn, defining the input
DDNAME=indd, ... data set
DFHTCT TYPE=SDSCI,
DSCNAME=osadscn, defining the output
DDNAME=outdd, ... data set
DFHTCT TYPE=LINE,
ISADSCN=isadscn,
OSADSCN=osadscn, ...
DFHTCT TYPE=TERMINAL,
TRMIDNT=name, ...
The two data sets defined by the DFHTCT TYPE=SDSCI macros simulate a CICS terminal known by the
name specified in the TRMIDNT operand of the DFHTCT TYPE=TERMINAL macro. The DSCNAMEs of the
input and output data sets must be specified in the ISADSCN and OSADSCN operands of the DFHTCT
TYPE=LINE macro respectively.
//CARDIN DD *,DCB=BLKSIZE=80
.
Statements containing valid transactions
.
/*
//PRINTER DD SYSOUT=A,DCB=BLKSIZE=132
This example of an I/O combination simulates a terminal to a CICS application program. There
is an example of the SDSCI statements supporting this CARDIN/PRINTER combination in the
copybook DFH$TCTS, which is defined in the sample TCT, DFHTCT5$. DFH$TCTS is supplied in
CICSTS61.CICS.SDFHSAMP. Input to the application program is submitted through the input stream
(CARDIN), and output to the terminal is sent to the output stream (PRINTER). If the BLKSIZE parameter
is defined in the TCT for the data set, you can omit it from the JCL. However, if it is not defined in
the TCT, the block size defaults to 0, and if you also omit it from the DD statement for the data
set, you get message IEC141I 013-34. There are other examples of DD statements for I/O sequential
data sets in some of the CICS-supplied installation verification procedures. You can find them in
CICSTS61.CICS.SDFHINST after installation.
You can also use two DASD data sets to simulate a terminal. You must code a DD statement for each data
set defined by an SDSCI macro, and the DD name on the DD statement must be the name coded on the
DDNAME (or DSCNAME) parameter of the SDSCI macro.
For example, you might code:
//DISKIN1 DD DSN=SIMULATD.TERMINAL.IN,
// UNIT=3380,DISP=OLD,VOL=SER=volid
//DISKOT1 DD DSN=SIMULATD.TERMINAL.OUT,
// UNIT=3380,DISP=OLD,VOL=SER=volid
Input from this simulated terminal is read from the DISKIN1 data set. Output to the terminal is written to
the DISKOT1 data set.
Each statement in the input file (from CARDIN or DISKIN1 in the examples used earlier), must end with
a character representing X'E0'. The standard EBCDIC symbol for this end-of-data hexadecimal value is
a backslash (\) character, and this is the character defined to CICS in the pregenerated system. You can
redefine this for your installation on the EODI system initialization parameter; see Specifying CICS system
initialization parameters for details.
Terminating
End-of-file does not terminate sequential input. Use CESF GOODNIGHT as the last transaction, to close
the device and stop reading from the device.
Otherwise, CICS invokes the terminal error program (DFHTEP), and issues the messages in Table 39 on
page 341 at end-of-file on the sequential device.
Using CESF GOODNIGHT puts the sequential device into RECEIVE status and terminates reading from the
device. However, if you close an input device in this way, the receive-only status is recorded in the warm
For each terminal where SERVSTATUS returns DFHVALUE(INSERVICE) and TTISTATUS returns
DFHVALUE(NOTTI), set the terminal to TRANSCEIVE with the following statement:
For programming information about the use of EXEC CICS INQUIRE and EXEC CICS SET commands,
see System commands. For programming information about writing post initialization-phase programs,
see Writing initialization programs.
If you use BSAM devices for testing purposes, the final transaction to close down CICS could be CEMT
PERFORM SHUT. The receive-only status is recorded in the warm keypoint at CICS shutdown. This means
that on a subsequent warm start of CICS, the terminal is still in RECEIVE status and CICS does not then
read the input file.
If you use the CEMT PERFORM SHUT, perform a cold or initial start of the CICS region to read the input
file. This assumes that recoverability of resources is not important to you.
System consoles
System consoles are defined to MVS in the SYS1.PARMLIB library, in a CONSOLnn member that defines
attributes such as NAME, UNIT, and SYSTEM.
The name is the most significant attribute, because it is the name that CICS uses to identify the console.
The name is passed to CICS on an MVS MODIFY command. Although consoles also have a numeric
identifier, this is allocated by MVS dynamically during IPL, and its use is not recommended for defining
consoles to CICS.
For information about defining console devices to MVS, see z/OS MVS Initialization and Tuning Reference.
For information about defining MVS consoles to CICS, see “Defining MVS consoles to CICS” on page 343.
Figure 60. Defining consoles and a TSO user in the CSD using DFHCSDUP
Procedure
1. Use the PSTYPE system initialization parameter to specify an appropriate level of persistent sessions
support.
a) If you have z/OS Communications Server V4R4 or later, in a Parallel Sysplex with a coupling facility,
specify MNPS for multinode persistent sessions support.
This level of support enables recovery in the event of a z/OS Communications Server, z/OS, or CICS
failure.
b) If you do not have suitable facilities for multinode persistent sessions support, specify SNPS for
single-node persistent sessions support.
This level of support enables recovery in the event of a CICS failure, but not in the event of a z/OS
Communications Server or z/OS failure.
2. Use the PSDINT system initialization parameter to specify a suitable persistent sessions delay interval.
This value determines for how long z/OS Communications Server holds sessions in a recovery-pending
state. The interval you specify must be able to cover the time from a CICS failure to the time when the
z/OS Communications Server ACB is opened by CICS during a subsequent emergency restart.
3. Choose and set an appropriate value for the RECOVOPTION option of the SESSIONS and TYPETERM
resource definitions used in the CICS region.
Typically, this value can be the default SYSDEFAULT, which makes CICS select the optimum procedure
for recovering sessions. This setting means that in the event of a recovery, the terminal user can clear
the screen and continue to enter CICS transids.
4. Choose and set an appropriate value for the RECOVNOTIFY option of the TYPETERM resource
definitions used in the CICS region.
a) If you want a successful recovery to be transparent to terminal users, specify NONE.
b) If you want to display a message on the screen to say that the system has recovered, specify
MESSAGE.
c) If you want to start a transaction at the terminal, such as the good-morning transaction, specify
TRANSACTION.
5. If you are working with an existing CICS region, perform a cold start of the CICS region to implement
the changes to persistent sessions support.
Procedure
1. If the ATOMSERVICE resource already exists, ensure that it is disabled.
Use the following command:
While the ATOMSERVICE resource is disabled, if a web client makes an HTTP request that requires the
resource, CICS returns an HTTP 503 response (Service Unavailable) to the web client.
2. Install the ATOMSERVICE definition.
Use the following command:
Procedure
1. Close IRC down.
Use the following command:
Procedure
1. If the file already exists, ensure that it is closed and disabled.
Use the following command:
Procedure
Install the LIBRARY definition by using the following command:
What to do next
Defining the data sets to the CICS system
When you have successfully installed the LIBRARY resource definition and have also installed any
programs, map sets, or other elements that comprise the application in the LIBRARY resource, you
can then define the data sets to the CICS system, if you have not already done this.
Enabling a LIBRARY resource definition
If the LIBRARY resource was defined and installed as DISABLED, you can use the EXEC CICS SET
LIBRARY or CEMT SET LIBRARY command to change its status to ENABLED.
Procedure
1. Close IRC down.
Use the following command:
Procedure
1. Make sure that nobody is using the terminals that you want to install. Remember that the CEMT
INQUIRE TERMINAL command puts a lock on the TCT entry, and this also prevents installation of a
group containing that terminal.
2. Make sure that there are no ATIs outstanding for the terminals.
3. Install the resource definitions. Use the following command:
4. Use CEMT to make the terminals available again. Use the following command:
TERMINAL(BJ01) GROUP(BJTERMS)
TERMINAL(BJ02) GROUP(BJTERMS)
TERMINAL(BJ03) GROUP(BJTERMS)
.
.
.
TERMINAL(BJnn) GROUP(BJTERMS)
Remember: If you are using autoinstall for terminals, you must install the TYPETERM definitions before
installing the autoinstall model definitions, to ensure that the model is created. The CHECK command
does not check the order of such definitions.
Procedure
1. If the URIMAP resource already exists, ensure that it is disabled.
Use the following command:
While the URIMAP resource is disabled, if a web client makes an HTTP request that requires the
resource, CICS issues error message DFHWB0763, and returns an HTTP 503 response (Service
Unavailable) to the web client through a web error program. You can tailor this response by changing
the web error program.
2. Install the URIMAP definition.
Use the following command:
When you install a URIMAP definition, CICS carries out the following security checks:
• If the URIMAP definition specifies SCHEME(HTTPS), CICS checks at install time that SSL is active
in the CICS region. This is indicated by the use of the KEYRING system initialization parameter to
specify the key ring used by the CICS region. If SSL is not active in the CICS region, CICS issues
message DFHAM4905, and the URIMAP definition is not installed.
• If the URIMAP definition specifies the CIPHERS attribute, CICS validates the list of ciphers against
the ciphers supported in the running system. If no valid ciphers are found in the list, CICS issues
message DFHAM4918 and the URIMAP definition is not installed. However, if some but not all of the
ciphers in the list are supported, CICS issues message DFHAM4917 and the URIMAP is installed with
the reduced set of cipher codes.
• If the URIMAP definition specifies the CERTIFICATE attribute, CICS validates the certificate against
those specified in the key ring. If the specified certificate is not valid, then CICS issues messages
DFHAM4889 and DFHAM4928, and the URIMAP definition is not installed.
Tip: CICS validates the certificate against the information held in the key ring for the CICS region
in RACF. When the CICS region carries out SSL handshakes, it uses information from the cache of
certificates in the SSL environment for the CICS region, which is managed by z/OS System SSL. If you
have added this certificate to the key ring, or renewed it, since the last build or rebuild of the SSL
environment for the CICS region, issue the PERFORM SSL REBUILD command for the CICS region.
The command refreshes the cache of certificates and ensures that the correct information for this
certificate is present in the cache.
Procedure
• Use the PERFORM PIPELINE SCAN command (using the CEMT transaction, or the system
programming interface) to initiate a scan of the pickup directory for a PIPELINE resource.
Use this method when you have added or updated a Web service binding file in the pickup directory of
a PIPELINE that is already been installed. CICS scans the pickup directory and uses each Web service
binding file that it finds there to dynamically install a WEBSERVICE resource.
• Install a PIPELINE resource.
Use this method when the pickup directory of a PIPELINE resource contains a Web service binding
file that you want to associate with the PIPELINE, and the PIPELINE has not been installed. When you
install the PIPELINE, CICS scans the pickup directory and uses each Web service binding file that it
finds there to install a WEBSERVICE resource.
• Install a WEBSERVICE resource from the CSD.
Use this method if neither of the two other methods is appropriate - for example, when you want to
use a PIPELINE definition with a Web service binding file that is not in the PIPELINE's pickup directory.
What to do next
If you have updated the Web service binding file that is referenced by a WEBSERVICE definition installed
from the CSD, you must discard and reinstall the WEBSERVICE to pick up the new Web service binding
file.
Request
installation
CICS System
Definition file
(CSD) Install PROGRAM
Read resource resource Install resource
definition (PROGRAM) (PROGRAM) with
CICSPlex SM overrides
data repository
(DREP)
Resource Cataloged
overrides
Global
resourceoverrides.yaml catalog
Figure 61. Installing a CICS PROGRAM resource and applying resource overrides
For autoinstalled resources, you can override the resource attributes by applying resource overrides to the
autoinstall model that CICS uses to autoinstall the resources. Overriding the autoinstall model ensures
that resource overrides are applied correctly when the resources are dynamically installed. For certain
resource types, the autoinstall program can override resource attributes. In this situation, the overrides
from the autoinstall program are used for these attributes, rather than those from the resource overrides
file.
The effect of resource overrides on autoinstalled resources during a warm or emergency start of the CICS
region depends on whether the autoinstall model or the autoinstalled resources are configured to be
cataloged. This behavior is described in the following sections.
You can also apply resource overrides to the following default autoinstall models that are provided with
CICS and that are defined in the CSD groups that are shown in Table 40 on page 362. For example,
you can override the default autoinstall program model DFHPGAPG in CSD group DFHPGAIP when it is
installed. You cannot apply overrides to other resources that are defined in CSD groups that start with the
reserved characters DFH.
For more information about using autoinstall for resources, see Autoinstall.
Restrictions
You cannot override a resource name, or the CSD group attribute when a resource is installed during a
GRPLIST install or by using CEDA.
You cannot apply overrides to the following resources:
• Most resources that are defined in CSD groups that start with the reserved characters DFH. The
exceptions are the default autoinstall models in the CSD groups that are listed in Table 40 on page
362.
• Resources where the source of the resource definition is CICS or CICSPlex SM
(DEFINESOURCE=SYSTEM). This includes any CICSPlex SM resources that are defined during CICS
startup by using EXEC CICS CREATE commands.
• Resources that can be defined only by using bundles:
– Atom configuration file
– Db2 package set
– Event binding
– Event processing adapter
– Event processing adapter set
– Node.js application
– OSGi bundle
– Policy
• Resources that are not supported in this release of CICS TS.
Procedure
1. Create a resource overrides file in the ussconfig/resourceoverrides directory and save this file
in the UTF-8 file encoding.
What to do next
Make sure that resource overrides are enabled (see Enabling resource definition overrides) then apply the
overrides. See Applying resource overrides.
Related information
RESOVERRIDES
USSCONFIG system initialization parameter
USSHOME system initialization parameter
General information
The resource overrides file is a configuration file that uses a subset of the YAML Version 1.2 format and
must use a UTF-8 character encoding. The file must be located in the ussconfig/resourceoverrides
directory, where ussconfig is the location that is specified by the USSCONFIG system initialization
parameter, for example /var/cicsts/dfhconfig/resourceoverrides. The file name must be the
name that is specified by the RESOVERRIDES system initialization parameter.
A sample resource overrides file, and a resource overrides JSON schema to use when you edit the
resource overrides file, are provided. See Setting up a resource overrides configuration file.
To specify resource overrides, use YAML format block collections with lists (also known as sequences)
and mappings (key-value pairs). The following information describes the YAML formatting that is
supported in the resource overrides file.
YAML flow style notation for lists and mappings (use of indicator characters rather than indentation) is not
supported.
The format is as follows:
The following list summarizes YAML format that is relevant to the resource definition overrides file. For
more information about the YAML version 1.2 specification, see The Official YAML Web Site.
• Optionally, the YAML file can begin with three dashes to indicate the start of the document.
---
• Use the YAML format for block collections. That is, use indentation for scope and begin each entry on its
own line.
• For indentation, use 2 or more spaces. You can indent lines by any number of spaces, but members of
the same list or block must use the same indentation. Do not use tabs for indentation.
• Each list entry starts on a new line, starts with a dash and a space, and is followed by a colon.
- list-item:
key: value
• You can surround values with single ' or double " quotation marks to ensure that they are not
processed as YAML file syntax.
• Values can be up to 255 characters. You cannot split values across multiple lines; that is, you cannot
use YAML syntax for multiline strings.
• Each comment starts with a hashtag (#). For a comment on the same line as another entry, ensure that
there is a space between the entry and the start of the comment.
# Comment
- list-item: # Comment about this list
• Attribute values are case-sensitive. Other strings are case-insensitive. Where necessary, resource
override processing converts attribute values to the appropriate case for CICS processing.
• Optionally, the YAML file can end with three dots to indicate the end of the document.
...
Schema version
You use the schemaVersion mapping to specify the version of the resource overrides JSON schema
that describes the required syntax for the resource overrides in the resource overrides file. All resource
overrides that you specify in the resource overrides file must be supported by this version of the resource
overrides JSON schema.
Specify the schemaVersion key, followed by the name and version number of the corresponding
resource overrides JSON schema. The schema name must be resourceOverrides. The name and
version number are separated by a forward slash (/). The schema version number is in the format
major.minor, where major and minor are the same as the version number of the corresponding JSON
schema resourceoverrides-major.minor.micro.json.
Resource overrides
To specify the start of the resource overrides in the YAML file, specify the resourceOverrides key. This
mapping is followed by the list of CICS resource types that you want to apply overrides to.
resourceOverrides:
To specify a resource overrides file that does not contain any resource types or override rules, you can
specify a value of null or ~ for the mapping. Any content that follows must be commented out. For
example:
resourceOverrides: null
# - resource-type:
# - override rules
Resource types
To specify the CICS resource types that you want to apply overrides to, specify each resource type as a list
item after the resourceOverrides mapping. You can list a resource type more than once in the block.
List all resource types at the same level in the file.
For the list of resource types that you can apply overrides to, see How it works: resource definition
overrides. For details of valid resource types, resource attributes, and attribute values that you use to
specify resource overrides, see Resource definition attributes.
- resource-type:
For example:
- program:
- override rules
- file:
- override rules
Each resource type is followed by a nested list of one or more override rules.
Override rule
Each override rule consists of an optional selector mapping and an overrides mapping:
• A selector mapping specifies which resources of the listed resource type to apply the overrides to.
• An overrides mapping specifies one or more override actions to apply.
- selector:
overrides:
or
- overrides:
- selector:
attribute: value
For conditions that use a condition operator, use a nested attribute followed by a nested list item for each
condition-operator: value mapping.
- selector:
attribute:
- condition-operator: value
- condition-operator: value
- selector:
name: value
You can select resources that don't have a value set for a specified attribute by specifying an empty
value or null string. A null string must be a valid value for that attribute, so this applies to most character
attributes and a minority of CICS-value data area (CVDA) attributes, but not integer attributes.
- selector:
attribute: ""
In a condition (except for conditions that use the literal or literalNot condition operators), you
can use the wildcard character * once in a character attribute value. If you start a value with a wildcard
name: '*ABC'
name: A*BC
name: *ABC
name: A*B*C
- transaction:
# Select all transactions starting with TR that have an initial program of MYPROG
- selector:
name: TR*
program: MYPROG
- program:
# Select all programs ending with TEST that are not in the group MYGRP1
- selector:
name: '*TEST'
group:
- not: MYGRP1
- enqmodel:
# Select all enqmodel definitions with an enqname value of ENQ*
- selector:
enqname:
- literal: ENQ*
Overrides mapping
To specify the overrides mapping, specify the overrides key, followed by one or more actions. The
actions specify the attribute values to apply as overrides, and are processed in the order that they are
specified in the file.
You cannot override a resource name or a group attribute.
For a set action, you can use a nested attribute: value mapping, or an action operator.
- overrides:
attribute: value
For actions that use an action operator such as set, prefix, or suffix, use a nested attribute followed by a
nested list for each action-operator: value mapping. For the find and replace action, use a nested attribute
followed by a nested list item for the pair of action-operator: value mappings.
- overrides:
attribute:
- action-operator: value
- action-operator: value
You can specify the following operators in an action, depending on whether the attribute is a character
attribute, an integer, or a CVDA.
set
You can set character attributes, integer attributes, and CVDAs in one of the following ways:
• Use an attribute: value mapping.
• After the attribute, use a nested list item for the action-operator: value mapping, where the action
operator is set.
- program:
- overrides:
cedf: YES
- db2conn:
- overrides:
purgecycle: 05,00
The following example also sets CEDF on for programs, but uses the set action operator.
- program:
- overrides:
cedf:
- set: YES
For attributes where it is valid to set a null string, you can remove any current attribute value by
specifying an empty value "" or a null string. This applies to most character attributes and a minority
of CVDAs, but not integer attributes. For example:
- transaction:
- overrides:
alias: ""
For a character attribute, you can use symbols and symbol substrings in the attribute value. See
“Symbols and symbol substrings” on page 370.
For some integer attributes, it is valid to set specific character values. For example, SYSTEM is a
valid value for the RUNAWAY attribute of a TRANSACTION resource, and NO is a valid value for some
timeout attributes.
find and replace
You can use find and replace for character attributes.
After the attribute, use a nested list item for the pair of action-operator: value mappings, where the
action operators are find and replace.
- overrides:
attribute:
- find: value
replace: value
For example:
- urimap:
# Modify the path for URIMAP resources to change all instances of prod to test
- overrides:
path:
- find: prod
replace: test
You can use symbols and symbol substrings in the attribute values. See “Symbols and symbol
substrings” on page 370.
prefix
You can add a prefix to a character attribute with an existing value. You cannot prefix a null attribute
value.
After the attribute, use a nested list item for the action-operator: value mapping, where the action
operator is prefix.
- overrides:
attribute:
- prefix: value
For example:
You can use symbols and symbol substrings in the attribute value. See “Symbols and symbol
substrings” on page 370.
suffix
You can add a suffix to a character attribute with an existing value. You cannot suffix a null attribute
value.
After the attribute, use a nested list item for the action-operator: value mapping, where the action
operator is suffix.
- overrides:
attribute:
- suffix: value
For example:
- file:
- overrides:
dsname:
- suffix: .DEV
You can use symbols and symbol substrings in the attribute value. See “Symbols and symbol
substrings” on page 370.
For example:
- file:
- overrides:
dsname: "{{CICS_APPLID}}.zuser.catalog.filea"
- file:
- overrides:
You can specify a substring in a symbol to indicate specific characters in that symbol. Enclose the
substring in brackets []. You can use one of the following formats:
• [start:end]
• [start::length]
start, end and length are valid index values for the symbol, in the range 0 - 254. Be aware that symbol
indices use a zero origin, so [0:1] indicates the first two characters of a symbol. The following example
uses the first two characters of the application identifier of a CICS region:
- transaction
- overrides:
tranclass:
- prefix: "{{CICS_APPLID[0:1]}}"
The following example uses the third and fourth characters of the system identifier of a CICS region.
- file:
- overrides:
dsname: "USER{{CICS_SYSID[2::2]}}.zuser.catalog.filea"
Examples
schemaVersion: resourceOverrides/1.100
resourceOverrides:
- program:
# Set CEDF on for all programs in the group MYGRP
- selector:
name: '*'
group: MYGRP
overrides:
cedf: YES
# Change CONCURRENCY from quasi-reentrant to threadsafe for programs
# currently set to quasi-reentrant, except for programs in the groups
# MYGRP1 and MYGRP2
- selector:
group:
- not: "MYGRP1"
- not: "MYGRP2"
concurrency: quasirent
overrides:
concurrency: threadsafe
# Set CEDF on for all programs autoinstalled from the default autoinstall
# program model
- selector:
name: DFHPGAPG
group: DFHPGAIP
overrides:
cedf:
- set: YES
- db2conn:
# Set the PURGECYCLE for the DB2CONN DB2AAA to 5 minutes, 0 seconds
- selector:
name: DB2AAA
overrides:
purgecycle: 05,00
- transaction:
# Remove the ALIAS attribute for all transactions that start with TR
- selector:
name: TR*
overrides:
alias: ""
# Set the TRANCLASS to "TCLTEST" for all transactions that match the
# pattern "TR*1"
- selector:
name: "tr*1"
overrides:
tranclass: "TCLTEST"
# Prefix the TRANCLASS of all transactions with the first two characters
# of the CICS_APPLID
- overrides:
Procedure
1. Set the system initialization parameter RESOVERRIDES to point to the resource overrides file. See
RESOVERRIDES.
2. Store the resource overrides file in zFS.
3. Secure the resource overrides file.
As with other CICS TS configuration files on z/OS UNIX, appropriate security must be set for the
resource overrides file. This configuration file is used to implement system-wide changes, so access
must be restricted appropriately. Only the following access permissions are required:
• The CICS region user ID must have read access to the resourceoverrides_file_name.yaml
file in the ussconfig/resourceoverrides zFS directory, where ussconfig is the location that is
specified by the USSCONFIG system initialization parameter. For more information about setting up
security, see Authorizing access to z/OS UNIX System Services.
• System programmers must have write access to the resourceoverrides_file_name.yaml file
to make updates to the file.
What to do next
Apply the resource definition overrides. See Applying resource overrides.
Procedure
1. To load a new or changed resource overrides file, restart CICS. Typically, you use an initial or cold start.
During startup, the resource overrides file is read from zFS and parsed. Any errors are flagged during
this parse and CICS initialization terminates with message DFHSI1612. If the file is valid (does not
have parse errors), CICS attempts to apply the overrides to the resources that are installed during
startup.
During CICS initialization, the following message is displayed in the JES message log:
Further messages are sent to the MSGUSR extrapartition transient data destination. These messages
show the overrides that were applied, for example:
If resource override processing errors occur during resource installation, corresponding error
messages are displayed.
• If errors occur during a GRPLIST installation, resource override processing continues but CICS
terminates when that processing completes.
• If errors occur during other methods of resource installation, resource override processing continues
but the affected resources fail to install. When resource override processing completes, CICS
continues to run.
When resource override processing is successful, for each resource that has an override applied, the
resource signature CHANGEAGENT field shows a value of Override.
2. To apply override values from the currently loaded resource overrides file while the CICS region is
running, use one of the following methods to install resources:
For each resource that has an override applied, the resource signature CHANGEAGENT field shows a
value of Override.
Results
The overrides specified in the resource overrides file are applied to the resources that were installed in
your CICS region. The resource definitions with the overrides applied are stored in the global catalog. The
CSD file or the CICSPlex SM EYUDREP data repository remains unchanged.
What to do next
Track the application of resource definition overrides. See Setting up a resource overrides configuration
file.
Messages
During CICS initialization, success or failure messages are displayed in the JES message log. For example:
Further messages are sent to the MSGUSR extrapartition transient data destination. These messages
show the overrides that were applied, for example:
Resource signature
Changes to resource definitions can be audited through resource signatures. The resource signature
CHANGEAGENT field shows a value of Override. See Identifying changes to resources (resource
signatures).
CICS trace
Requested Statistics Report Collection Date-Time 12/25/99-11:51:38 Last Reset 09:00:00 Applid CICAOR1 Jobname SDTGSTA1
_________________________________________________________________________________________________________________________________
FILES - Resource Information
____________________________
File Data Set Name Data Set RLS DT Time Time Remote Remote Lsrpool
Name Base Data Set Name (If Applicable) Type File Indicator Opened Closed Name Sysid ID
_______________________________________________________________________________________________________________________________
APPLE REMOTE CLOSED CLOSED APPLE CIF1 N
BANANA REMOTE CLOSED CLOSED BANANA CIF1 N
ORANGE REMOTE CLOSED CLOSED ORANGE CIF1 N
ZUCCHINI REMOTE CLOSED CLOSED COURGETT CIA2 N
_______________________________________________________________________________________________________________________________
Requested Statistics Report Collection Date-Time 12/25/99-11:51:38 Last Reset 09:00:00 Applid CICAOR1 Jobname SDTGSTA1
_________________________________________________________________________________________________________________________________
FILES - Requests Information
____________________________
File Get Get Upd Browse Update Add Delete Brws Upd VSAM EXCP Requests RLS req
Name Requests Requests Requests Requests Requests Requests Requests Data Index Timeouts
____________________________________________________________________________________________________
APPLE 1158701 532 0 531 11 1 0 0 0 0
BANANA 305641 0 19067 0 0 0 0 0 0 0
ORANGE 58709 32854 4265 32621 1018 1001 0 0 0 0
ZUCCHINI 78914 0 14765 0 0 0 0 0 0 0
____________________________________________________________________________________________________
*TOTALS* 1601965 33386 38097 33152 1029 1002 0 0
Requested Statistics Report Collection Date-Time 12/25/99-11:51:38 Last Reset 09:00:00 Applid CICAOR1 Jobname SDTGSTA1
_________________________________________________________________________________________________________________________________
FILES - Data Table Requests Information
_______________________________________
File Close Read Recs ¬ Adds from Add Adds rejected Adds rejected Rewrite Delete Highest Storage
Name Type Requests in Table Reads Requests - Exit - Table Full Requests Requests Table Size Alloc(K)
___________________________________________________________________________________________________________________________
DFHST0223 I There are no data table statistics to report.
Requested Statistics Report Collection Date-Time 12/25/99-11:49:31 Last Reset 09:00:00 Applid CICAOR2 Jobname SDTGSTA2
_________________________________________________________________________________________________________________________________
FILES - Resource Information
____________________________
File Data Set Name Data Set RLS DT Time Time Remote Remote Lsrpool
Name Base Data Set Name (If Applicable) Type File Indicator Opened Closed Name Sysid ID
_______________________________________________________________________________________________________________________________
COURGETT CIC02.CICOWN.COURGETT K NO 08:22:15 OPEN 1
LEMON REMOTE NO CLOSED CLOSED ORANGE CIF1 N
_______________________________________________________________________________________________________________________________
Requested Statistics Report Collection Date-Time 12/25/99-11:49:31 Last Reset 09:00:00 Applid CICAOR2 Jobname SDTGSTA2
_________________________________________________________________________________________________________________________________
FILES - Requests Information
____________________________
File Get Get Upd Browse Update Add Delete Brws Upd VSAM EXCP Requests RLS req
Name Requests Requests Requests Requests Requests Requests Requests Data Index Timeouts
____________________________________________________________________________________________________
COURGETT 78914 27469 14765 27469 336472 0 0 8212 481 0
LEMON 2010745 65706 13566 65706 3525 1562 0 0 0 0
____________________________________________________________________________________________________
*TOTALS* 2089659 93175 28331 93175 339997 1562 0 0
Requested Statistics Report Collection Date-Time 12/25/99-11:49:31 Last Reset 09:00:00 Applid CICAOR2 Jobname SDTGSTA2
_________________________________________________________________________________________________________________________________
FILES - Data Table Requests Information
_______________________________________
File Close Read Recs ¬ Adds from Add Adds rejected Adds rejected Rewrite Delete Highest Storage
Name Type Requests in Table Reads Requests - Exit - Table Full Requests Requests Table Size Alloc(K)
___________________________________________________________________________________________________________________________
DFHST0223 I There are no data table statistics to report.
Load modules
These load modules must be installed in your CICS region in order to use shared data tables.
Storage occupancy
The total size of the modules that occupy storage above the 16MB line is about 41KB. For modules that
are in ECSA storage, about 1.5KB are required for each logged-on FOR, and about 0.5KB for each AOR.
The modules are all eligible for inclusion in the link pack area (LPA), but only DFHDTFOR, DFHDTAM,
DFHDTAOR, and possibly DFHDTCV are used sufficiently frequently to be worth considering.
VSAM SHAREOPTION
If the source data set is allocated with DISP=SHR, there is a risk that it could be updated by a region other
than the FOR. If this happened, the data table would no longer match the source data set. To minimize
this risk, the VSAM cross-region SHAREOPTION should be set to 1 or 2.
• 1 means that either one region can have update access to the data set or many regions can have
read-only access.
• 2 means that one region can have update access to the data set and, at the same time, many regions
can have read-only access.
Regardless of the setting of DISP, a warning message is issued if the cross-region SHAREOPTION is 3 or 4,
or if it is 2 but the CICS-maintained data table has read-only access (which means another region might
be able to update the data set).
Data integrity
A file that uses a CICS-maintained data table can be defined as a recoverable resource. The source data
set is recovered in the normal way after a system or transaction failure.
• After a system failure, the data table is reloaded from the recovered source data set when the file is
reopened.
• After a transaction failure, changes that are made to the source data set by dynamic transaction
backout are also made to the data table.
Automatic journaling is supported (in the same way as for any other file) for file operations that access the
source data set. File operations that do not access the source data set are not journaled.
Data integrity
A user-maintained data table can be defined as a recoverable resource. Changes to the data table are
not recorded in the system log, but they are held internally in CICS memory. Thus the data table can be
recovered after a transaction failure (by dynamic backout) but not after a system failure.
This is because the CICS Shared Data Table facility manages its own recovery and does not use the
services of the log manager or the recovery manager. The exception is when changes are made to a
recoverable data table as part of a distributed unit of work. In this case, as with other recoverable
resources, a record of the link is written to the system log as part of the two-phase commit process.
However, the changes themselves are not recorded in the system log.
After a system failure, the data table is reloaded from the source data set when the file is reopened.
Remember that, at the time of failure, the contents of the source data set and data table would not have
been the same unless you had ensured that:
• no change is made to either, or
• any change is made to both.
Automatic journaling is supported only for requests that access the source data set during loading. The
records that are accessed by the loading process are journaled before user exit XDTRD, and the records
that are accessed due to application requests are journaled after user exit XDTRD.
SET FILE
The following parameters are relevant to data tables; you can use them only when the file is closed and
disabled.
MAXNUMRECS(value)
Specifies the maximum number of records that can be contained in the data table, in the range 1
through 99999999. The value of zero means no limit.
INQUIRE FILE
The following parameters are relevant to data tables.
You can request that each data table attribute of a file is returned in a CICS-value data area (cvda) by
specifying:
TABLE(cvda)
If the value CICSTABLE is returned, the file has been defined as a CICS-maintained data table.
If the value USERTABLE is returned, the file has been defined as a user-maintained data table.
If the value CFTABLE is returned, the file has been defined as a coupling facility data table.
If the value NOTTABLE is returned, the file is not currently defined as a data table.
If the value NOTAPPLIC is returned, the option is not applicable because the file is a remote file.
MAXNUMRECS(cvda)
The value returned indicates the maximum number of records that can be contained in the data table.
The value of zero means no limit.
SET FILE
The following parameters are relevant to data tables; you can use them only when the file is closed and
disabled.
{CICSTABLE|USERTABLE|CFTABLE|NOTTABLE}
specify CICSTABLE to define the file as a CICS-maintained data table
specify USERTABLE to define the file as a user-maintained data table
Note: You can also specify CFTABLE to indicate a coupling facility data table.
specify NOTTABLE to indicate that the file is not a data table
MAXNUMRECS(value)
Specify the maximum number of records that can be contained in the data table, in the range 1
through 99999999. The value of zero means no limit.
INQUIRE FILE
The following parameters are relevant to data tables.
Procedure
1. Design the platform.
You consider what applications, policies, and resources that you want to deploy on the platform and
whether you are creating new CICS regions and region types or adopting existing CICS regions and
system group definitions. For more information, see “Designing a CICS platform” on page 394.
2. In zFS, configure your platform home directory.
For more information, see Preparing zFS for platforms.
3. In CICS Explorer, create a platform project.
To this project, you add regions types, specify any CICS bundles to deploy and the regions types where
they will be deployed.
4. From CICS Explorer, export the platform project from to zFS.
The export process packages the CICS bundles that are referenced in the CICS platform project, then
exports all the files for the platform bundle and the CICS bundles to the platform home directory in
zFS. For more information, see “Deploying a platform” on page 400.
5. In CICS Explorer, create a platform definition.
The platform definition is a CICSPlex SM PLATDEF resource definition, which points to the platform
bundle in the platform home directory in zFS, and identifies the target CICSplex for the platform. For
more information, see Deploying a CICS platform.
6. For each CICS region definition that you created in a region type in your platform project, set up an
actual CICS region.
For more information, see “Deploying a platform” on page 400.
7. In CICS Explorer, install the platform definition into the CICSplex where you want to run the platform.
CICSPlex SM uses the information in the platform bundle to install the platform in the target CICSplex,
along with any CICS bundles that are installed with the platform. For more information, see “Deploying
a platform” on page 400.
8. Start your CICS regions.
9. If you have any CICS bundles deployed with the platform, in CICS Explorer, enable them so that they
are available to the platform.
What to do next
After you set up a platform in your CICSplex, you can deploy packaged applications on it. For more
information, see Deploying an application to a platform . You can also add further quality of service by
deploying policies to control the environment. These policies can apply to every region in the platform, or
to particular applications. For more information, see CICS policies.
For more information about running a platform, see Administering platforms and applications .
Checking that CICSPlex SM data repository (EYUDREP) is big enough for platforms
If you are planning a large-scale deployment, check that the size of your CICSPlex SM data repository is
adequate. The data repository is the VSAM data set where system configuration and definition data for
CICSPlex SM is stored. Each CMAS has its own data repository.
The resources for platforms and applications are managed from the data repository, not from the CICS
CSD, so the data repository needs to have enough space for the definitions for your platform and the
applications and bundles deployed on it. You can determine the current size of the data repository by
using the LISTCAT function of the IDCAMS utility.
If you want to expand the data repository, use the REPRO function of the IDCAMS utility. An example of
the JCL to do this is in the EYUJXDRP member of the CICSTS51.CPSM.SEYUSAMP library. In that JCL, on
the RECORDS(xx,yy) statement, specify a primary (xx) and a secondary (yy) value that are appropriate for
your environment. The initial values are 500 and 3000.
Procedure
1. Create a z/OS UNIX file system data set to use as the zFS platform home directory.
This is a dedicated file system for use by all CICS regions in the platform. The default platform home
directory is /var/cicsts/CICSplex/platform1, where CICSplex is the name of the CICSplex
where the platform will be installed, and platform1 is the name of your platform.
As a best practice, keep this default.If you use a different directory as the platform home directory, you
must change the platform bundle to specify the alternative directory name after you create the CICS
Platform project. You do this in the CICS Explorer platform descriptor editor.
Results
Your zFS environment is now configured with the correct directories and permissions. Additional
directories are created when you export the platform from CICS Explorer to zFS as part of the deployment
process.
What to do next
You can now create a platform bundle by following the instructions in Creating a CICS platform.
Procedure
1. Create a CICS Platform project. Enter a name for the project, and a name and description for the
platform itself.
The project location specifies where the CICS Platform project is saved in your local workspace.
2. Add one or more region types for the platform. Name each region type, then specify whether it is a
created region type with a new system group, or an adopted region type that uses an existing system
group. For a created region type, enter a name for the CICS system group (CSYSGRP) that will be
created for the region type.
To add an existing CICS system group as an adopted region type, you must have a connection to
CICSPlex SM.
3. Optional: Specify any CICS bundles that you want to deploy with the platform, then select the region
types where they will be deployed.
If you do not have any CICS bundles ready to deploy with the platform, skip this stage.
4. Use the platform descriptor editor in the CICS Explorer to edit the CICS Platform project to check and
complete your specifications for the platform bundle.
The platform descriptor editor opens automatically after you create a platform project. To open the
platform descriptor editor later, double-click any of the .xml files for the platform bundle, except the
manifest.xml file.
a) If you need to use a different directory instead of the default platform home directory, browse for
the home directory that you set up and specify it as the platform home directory.
b) Verify your region types, and add or remove created and adopted region types as required.
After a platform is installed and active, you can add and remove individual CICS regions in region
types. However, you cannot modify the region types in an installed platform, so finalize your region
types before you install the platform.
c) For each of the created region types in your platform, specify any settings that must apply in all the
CICS regions in the region type.
Only CICS regions that can accept the settings can be part of that region type. If your created region
type has no special requirements for an attribute, do not specify any value for that attribute so that
any setting is allowed in the CICS regions.
What to do next
Export the CICS Platform project to the platform home directory on zFS, set up CICS regions to match
each CICS region definition that you created in a region type in your platform, and install the platform in
the CICSplex to make it available. For instructions, see Deploying a platform.
Deploying a platform
To deploy a platform, you export the CICS Platform project from CICS Explorer to the platform home
directory in zFS, set up CICS regions to match each CICS region definition that you created in your
platform, and create and install a platform definition (PLATDEF) in CICSPlex SM.
Procedure
1. Using the CICS Cloud perspective in the CICS Explorer, export the CICS Platform project from CICS
Explorer to the platform home directory in zFS.
The export process packages the CICS bundles that are referenced in the CICS Platform project and
exports all the files for the platform bundle and the CICS bundles to the platform home directory in
zFS. During the export, the wizard checks that the subdirectories of the platform home directory exist,
and creates them if they do not exist. For more information about the platform directory structure, see
Platform directory structure in z/OS UNIX.
2. Use the CICS Explorer to create a platform definition (PLATDEF). This definition points to the platform
home directory in zFS, and identifies the target CICSplex for the platform.
You can choose to create a platform definition immediately after exporting your platform project, by
checking the box in the platform export wizard. To create your platform definition at another time, use
the New Platform Definition wizard in the CICS Explorer.
The platform definition is created in the data repository of the CICSPlex SMCMAS.
Results
The platform is installed and enabled.
What to do next
You can deploy packaged applications on the platform. For more information, see Deploying an
application to a platform. You can also add further quality of service by deploying policies to control
the environment. For more information, see CICS policies.
For more information about running a platform, see Administering platforms and applications.
Setup guide
Scenario 1: You want to set up the CMCI in a WUI region that does not have CMCI configured.
Follow the instructions in “Configuring CMCI with CMCI JVM server in a WUI region” on page 404.
Scenario 2: You have a WUI region that is already set up with the basic CMCI. You want to convert
the WUI region to use the CMCI JVM server.
For instructions, see “Converting a WUI region with basic CMCI to use CMCI JVM server” on page 408.
Scenario 3: You want to have several CMCI JVM servers running in a CICSplex.
If you have several CMCI JVM servers running in a CICSplex, you can configure the single sign-on
(SSO) support in Liberty to enable HTTP client users to authenticate once with one CMCI JVM server,
thus having access to other CMCI JVM servers in the same CICSplex without re-authentication. For
instructions, see “Setting up for multiple CMCI JVM servers in a CICSplex” on page 411.
2. Specify or review the following system initialization parameters for the WUI region:
3. Specify WUI server initialization parameters to enable the CMCI, such as CMCI options and TCP/IP
options.
These configuration options are specified on the job card using a DD statement. For WUI regions, the
DD statement is EYUWUI. For detailed instructions on how to specify these parameters, see Web User
Interface server initialization parameters.
Some of the parameters are mandatory for the CMCI. For example, you must specify CMCIPORT and
TCPIPHOSTNAME. And you might need a nonzero value on the DEFAULTWARNCNT parameter for the
CMCI.
Extra configuration is also needed if the WUI server initialization parameter values that map to
the CMCI JVM server configuration elements are not compatible with the CMCI JVM server. For
more information on these options and how they are mapped to the CMCI JVM server configuration
elements, see the Mapping between TCP/IP options and configuration elements in server.xml table.
Configuring the CMCI JVM server
4. Create the JVM profile for the CMCI JVM server.
a) Copy EYUCMCIJ.jvmprofile from its installation location to the location that is specified on the
JVMPROFILEDIR parameter for customization. If you haven't set JVMPROFILEDIR, see Setting the
location for the JVM profiles.
The installation location is controlled by the root directory specified on USSHOME. The default
installation location is /usr/lpp/cicsts/cicsts61/JVMProfiles.
b) Validate or update the values of the JAVA_HOME and WORK_DIR options in the JVM profile.
For detailed description or requirements of each option, see JVM server profile options.
-Dcom.ibm.cics.jvmserver.wlp.saf.profilePrefix=${MYPREFIX}
where ${MYPREFIX} specifies the SAF profile prefix for the CICS regions that need to share
security configurations.
5. The CMCI JVM server enables SAF authorization by default. You then need to configure a Liberty angel
process to use the z/OS authorized services, including SAF.
Create a Liberty angel if you don't have one, or use an existing Liberty angel. You can use either the
default Liberty angel or a named angel provided that the version of Liberty for the angel process is the
same as or higher than the version of Liberty that's running in CICS. If the default one doesn't match
that criterion, either update it or use a named angel that does. For instructions on how to configure a
Liberty angel process, identify the Liberty version of an existing angel, or specify a named angel, see
The Liberty server angel process.
6. Permit the user ID of the region that contains the CMCI JVM server to use the Liberty angel process.
If you are using RACF, you can use the sample CLIST EYU$ANGL in SEYUSAMP to create RACF
definitions for the WUI region to use the Liberty angel process, as follows:
a) Take a copy of the CLIST EYU$ANGL in SEYUSAMP.
b) Update the copy by specifying the following variables:
WUI_REGION_USERID
Specify the user ID under which the WUI region runs.
ANGEL_NAME
If you are using a named angel process, the value is ANGEL.name where name is the value of
the -Dcom.ibm.ws.zos.core.angelName property.
If you are not using a name angel process (-Dcom.ibm.ws.zos.core.angelName is not
specified), the value is ANGEL.
c) Run the CLIST.
If you are using an external security manager other than RACF, refer to the documentation of the
external product for instructions.
7. Tasks starting from the CMCI JVM server that are not classified as web requests run under the CJSU
transaction by default. If transaction security is active in the region that contains the CMCI JVM server,
give the CICS default user ID access to the CJSU transaction.
Alternatively, you can:
• Create a new user ID based on the CICS default user, with additional access to the CJSU transaction.
You must specify the user ID in the com.ibm.cics.jvmserver.unclassified.userid property
to override the default user ID.
com.ibm.cics.cmci.jvmserver=true
For information about the feature toggle configuration, see Specifying feature toggles.
9. Enable users to authenticate through the CMCI JVM server.
You must give users access to authenticate with the CMCI JVM server, including the authority to use
the CMCI.
If you are using RACF, you must define the RACF EJBROLE profile
&PROFILE_PREFIX.CMCI.CMCIUSER and give all CMCI users read access to this profile. To do so,
you can update the sample CLIST EYU$CMCI in SEYUSAMP, as follows:
a) Take a copy of the CLIST EYU$CMCI in SEYUSAMP.
b) Update the copy by specifying the following variables:
WUI_REGION_USERID
Specify the user ID under which the WUI region runs.
WUI_APPLID
Specify the APPLID of the WUI region.
CMCIUSER_ACCESS_LIST
Specify the list of users or groups of users that will access the CMCI through CICS Explorer.
PROFILE_PREFIX
Specify the prefix for SAF profiles in the EJBROLE class. By default, it's the
APPLID of the WUI region. If you specified a SAF profile prefix on the
com.ibm.cics.jvmserver.wlp.saf.profilePrefix property in the JVM profile in Step
“6.e” on page 418. You can override the default value by setting PROFILE_PREFIX to the value
specified on com.ibm.cics.jvmserver.wlp.saf.profilePrefix.
c) Optionally, you can overwrite default values on the following options if needed:
NOTIFY
The TSO user ID to be notified in case of access violations. The default value is IBMUSER.
OWNER
The TSO user ID of the profile owner. The default value is IBMUSER.
PROGRAM_CLASS
The name of the RACF program grouping class. The default value is NCICSPPT.
d) Run the CLIST.
If you are using an external security manager other than RACF, refer to the documentation of the
external product for instructions.
What to do next
If you want to limit clients that can connect to the CMCI JVM server, you can define a client allowlist to
the CMCI JVM server. For instructions, see “Defining a client allowlist to CMCI JVM server in a CICSplex”
on page 414.
If you want to deploy CICS bundles through the CICS bundle deployment API, you must perform
additional configurations for the CMCI JVM server. For instructions, see “Configuring the CMCI JVM server
for the CICS bundle deployment API” on page 421.
Procedure
1. Specify storage limits on the following parameters, according to the estimate you get from Step “3”
on page 403 of Planning for CMCI setup. appropriate levels of 64-bit (above-the-bar) storage in the
region, and auxiliary storage, as follows:
2. Specify or review the following system initialization parameters for the WUI region:
3. Review your WUI server initialization parameters such as CMCI options and TCP/IP options.
You might need to change some values that are incompatible with the CMCI JVM server. For more
information, see “Configuration parameter mapping between WUI or SMSS region and CMCI JVM
server” on page 423.
4. Create the JVM profile for the CMCI JVM server.
a) Copy EYUCMCIJ.jvmprofile from its installation location to the location that is specified on the
JVMPROFILEDIR parameter for customization. If you haven't set JVMPROFILEDIR, see Setting the
location for the JVM profiles.
The installation location is controlled by the root directory specified on USSHOME. The default
installation location is /usr/lpp/cicsts/cicsts61/JVMProfiles.
b) Validate or update the values of the JAVA_HOME and WORK_DIR options in the JVM profile.
For detailed description or requirements of each option, see JVM server profile options.
c) Verify that -Dcom.ibm.ws.zos.core.angelRequired=true and
-Dcom.ibm.ws.zos.core.angelRequiredServices=SAFCRED,PRODMGR,ZOSAIO have been
set in EYUCMCIJ.jvmprofile.
d) Ensure that RACF profiles BBG.AUTHMOD.BBGZSAFM.SAFCRED,
BBG.AUTHMOD.BBGZSAFM.PRODMGR and BBG.AUTHMOD.BBGZSAFM.ZOSAIO in class SERVER
have been created and that the CICS region user ID has been granted READ access to those
profiles. See Enabling z/OS authorized services on Liberty for z/OS.
e) If you want a selection of regions that contain CMCI JVM servers to share security configurations,
specify the same SAF profile prefix for these regions.
Note: The SAF profile prefix is used by SAF authorization to determine which RACF rules the CICS
region uses. SAF authorization is automatically enabled for the CMCI JVM server.
For example, when authenticating users for the CICS bundle deployment API, CMCI JVM servers in
the CICS regions with the same SAF profile prefix will allow the same users to access the API.
For the CMCI JVM server, the SAF profile prefix defaults to the APPLID of the region. To override it,
add the following line to the JVM profile:
-Dcom.ibm.cics.jvmserver.wlp.saf.profilePrefix=${MYPREFIX}
where ${MYPREFIX} specifies the SAF profile prefix for the CICS regions that need to share
security configurations.
5. The CMCI JVM server enables SAF authorization by default. You then need to configure a Liberty angel
process to use the z/OS authorized services, including SAF.
Create a Liberty angel if you don't have one, or use an existing Liberty angel. You can use either the
default Liberty angel or a named angel provided that the version of Liberty for the angel process is the
same as or higher than the version of Liberty that's running in CICS. If the default one doesn't match
that criterion, either update it or use a named angel that does. For instructions on how to configure a
Liberty angel process, identify the Liberty version of an existing angel, or specify a named angel, see
The Liberty server angel process.
com.ibm.cics.cmci.jvmserver=true
For information about the feature toggle configuration, see Specifying feature toggles.
9. Enable users to authenticate through the CMCI JVM server.
You must give users access to authenticate with the CMCI JVM server, including the authority to use
the CMCI.
If you are using RACF, you must define the RACF EJBROLE profile
&PROFILE_PREFIX.CMCI.CMCIUSER and give all CMCI users read access to this profile. To do so,
you can update the sample CLIST EYU$CMCI in SEYUSAMP, as follows:
a) Take a copy of the CLIST EYU$CMCI in SEYUSAMP.
b) Update the copy by specifying the following variables:
WUI_REGION_USERID
Specify the user ID under which the WUI region runs.
WUI_APPLID
Specify the APPLID of the WUI region.
CMCIUSER_ACCESS_LIST
Specify the list of users or groups of users that will access the CMCI through CICS Explorer.
What to do next
If you want to limit clients that can connect to the CMCI JVM server, you can define a client allowlist to
the CMCI JVM server. For instructions, see “Defining a client allowlist to CMCI JVM server in a CICSplex”
on page 414.
If you want to deploy CICS bundles through the CICS bundle deployment API, you must perform
additional configurations for the CMCI JVM server. For instructions, see “Configuring the CMCI JVM server
for the CICS bundle deployment API” on page 421.
Procedure
• Configure LTPA in Liberty.
Follow the instructions in Configuring LTPA in Liberty. See LTPA Token (ltpa) for LTPA properties that
you can set in the Liberty server configuration.
• Customize the SSO configuration support to use LTPA cookies in Liberty.
Follow the instructions in Customizing SSO configuration using LTPA cookies in Liberty.
Procedure
1. Define a client allowlist file.
In the file, you can use a number sign (#) at the start of a line to specify a comment. You can also use
an asterisk (*) as the last character in an entry as a wild card. The file must be saved in the ASCII file
encoding.
Figure 66. Examples of client allowlist files where CICS Explorer is the client
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/
71.0.3578.98 Safari/537.36
Figure 67. Examples of client allowlist files where a browser is the client
2. Specify the file location as follows:
Uncomment the following line in the JVM profile for the CMCI JVM server, EYUCMCIJ.jvmprofile,
and specify the file location.
-Dcom.ibm.cics.jvmserver.cmci.user.agent.allow.list=/var/userAgentallowlist
If a user attempts to connect to the CMCI JVM server from a client that is not in the allowlist, the request
is rejected with HTTP code 403. If you want to return a custom response text to the user, continue with
step “3” on page 415.
3. Optional: In the JVM profile for the CMCI JVM server, EYUCMCIJ.jvmprofile, add the following line,
where response_text is your message to the user:
-Dcom.ibm.cics.jvmserver.cmci.user.agent.allow.list.reject.text=response_text
Results
For each valid user-agent that is processed in the allowlist, message DFHSJ1410I is issued. Only user-
agents that are defined in the allowlist are allowed to connect to the CMCI.
What to do next
Updating the allowlist
The allowlist values in this file are held in a cache, which by default is refreshed by Liberty cache file
monitoring. Liberty cache file monitoring checks whether the file has changed every 10 seconds by
default.
If you need to update the list, you might want to override the default by setting the following Java
system property in the JVM profile of the CMCI JVM server:
-Dcom.ibm.cics.jvmserver.cmci.user.agent.allow.list.monitor.interval=20s
Procedure
1. If your CICS region is already configured with the basic CMCI, remove the TCPIPSERVICE and
URIMAP resources that you installed when configuring the basic CMCI, and ensure that they are
not reinstalled at CICS restart. For example, you can remove them from any group list that is
autoinstalled at CICS startup.
This is to avoid conflicts with the resources required by the CMCI JVM server. If the region starts with
previous resources installed and the CMCI JVM server configured, EYUNX0110W or EYUNX0013E is
issued.
If your region is not configured with any CMCI yet, skip to Step “2” on page 417.
2. Review or change your CICS startup JCL:
a) Ensure the hlq.CPSM.SEYUAUTH library is added to the STEPLIB concatenation, where hlq is your
high-level qualifier; for example CICSTS61
b) Ensure the hlq.CPSM.SEYULOAD library is added to the DFHRPL concatenation, where hlq is your
high-level qualifier; for example CICSTS61
These libraries must be at the same CICS TS level as those for CICS; that is, the same as the CICS
hlq.CICS.SDFHAUTH and CICS hlq.CICS.SDFHLOAD libraries in the STEPLIB concatenation.
3. Specify storage limits on the following parameters, according to the estimate you get from Step “3”
on page 416 of Before you begin.
5. Specify CMCI options and TCP/IP options to enable the CMCI in the region.
Add a DD statement to the region for the EYUSMSS data set. For detailed instructions, see “Specifying
CMCI and TCP/IP options for the SMSS” on page 420.
Some option parameters are mandatory. For example, you must specify CMCIPORT and
TCPIPHOSTNAME. For more information on these options and how they are mapped to the CMCI JVM
server configuration elements, see the Mapping between TCP/IP options and configuration elements
in server.xml table.
Configuring the CMCI JVM server and its security
6. Create the JVM profile for the CMCI JVM server.
a) Copy EYUSMSSJ.jvmprofile from its installation location to the location that is specified on the
JVMPROFILEDIR parameter for customization. If you haven't set JVMPROFILEDIR, see Setting
the location for the JVM profiles.
The installation location is controlled by the root directory specified on USSHOME. The default
installation location is /usr/lpp/cicsts/cicsts61/JVMProfiles.
b) Validate or update the values of the JAVA_HOME and WORK_DIR options in the JVM profile.
For detailed description or requirements of each option, see JVM server profile options.
c) Verify that -Dcom.ibm.ws.zos.core.angelRequired=true and
-Dcom.ibm.ws.zos.core.angelRequiredServices=SAFCRED,PRODMGR,ZOSAIO have
been set in EYUSMSSJ.jvmprofile.
d) Ensure that RACF profiles BBG.AUTHMOD.BBGZSAFM.SAFCRED,
BBG.AUTHMOD.BBGZSAFM.PRODMGR and BBG.AUTHMOD.BBGZSAFM.ZOSAIO in class SERVER
have been created and that the CICS region user ID has been granted READ access to those
profiles. See Enabling z/OS authorized services on Liberty for z/OS.
e) If you want a selection of regions that contain CMCI JVM servers to share security configurations,
specify the same SAF profile prefix for these regions.
Note: The SAF profile prefix is used by SAF authorization to determine which RACF rules the CICS
region uses. SAF authorization is automatically enabled for the CMCI JVM server.
For example, when authenticating users for the CICS bundle deployment API, CMCI JVM servers
in the CICS regions with the same SAF profile prefix will allow the same users to access the API.
For the CMCI JVM server, the SAF profile prefix defaults to the APPLID of the region. To override
it, add the following line to the JVM profile:
-Dcom.ibm.cics.jvmserver.wlp.saf.profilePrefix=${MYPREFIX}
where ${MYPREFIX} specifies the SAF profile prefix for the CICS regions that need to share
security configurations.
7. The CMCI JVM server enables SAF authorization by default. You then need to configure a Liberty
angel process to use the z/OS authorized services, including SAF.
Create a Liberty angel if you don't have one, or use an existing Liberty angel. You can use either the
default Liberty angel or a named angel provided that the version of Liberty for the angel process is the
Results
What to do next
If you want to limit clients that can connect to the CMCI JVM server, you can define a client allowlist to
the CMCI JVM server. For instructions, see “Defining a client allowlist to CMCI JVM server in a CICSplex”
on page 414.
If you want to deploy CICS bundles through the CICS bundle deployment API, you must perform
additional configurations for the CMCI JVM server. For instructions, see “Configuring the CMCI JVM server
for the CICS bundle deployment API” on page 421.
Configuring the CMCI JVM server for the CICS bundle deployment
API
The CICS management client interface (CMCI) supports deploying CICS bundles into a region through the
CICS bundle deployment API. This API can be used by HTTP clients, including a Gradle or Maven plug-in.
To use the CICS bundle deployment API, system programmers must perform additional configuration for
the CMCI JVM server.
Procedure
1. Enable the CICS bundle deployment API by specifying the bundles directory (-
Dcom.ibm.cics.jvmserver.cmci.bundles.dir) in your JVM profile of the CMCI JVM server, that
is, EYUCMCIJ.jvmprofile for a CICSplex or EYUSMSSJ.jvmprofile for a single CICS region.
Add the following line:
-Dcom.ibm.cics.jvmserver.cmci.bundles.dir=<bundles_directory>
Tips: It's recommended that you create a directory on zFS dedicated for the use of the API in
managing bundles. If you are configuring the API for multiple single CICS regions (SMSS), you are
also advised to create a separate dedicated bundles directory for each of them. Bundles pushed to
the CICS bundle deployment API are stored in the bundles directory and accessed by the CICS target
region.
2. Optional: In the JVM profile, you can also add specifications about the data that's allowed to pass the
API.
-Dcom.ibm.cics.jvmserver.cmci.deploy.timeout={120000|timeout_limit}
Specifies the timeout limit for deploying a CICS bundle, in milliseconds. This includes the time for
all bundle lifecycle actions, including disable, discard, install and enable.
The default value is 120000 (120 seconds).
-Dcom.ibm.cics.jvmserver.cmci.max.file.size={52428800|max_file_size}
Specifies the maximum size allowed for the uploaded CICS bundle, in bytes. The default size is
52428800 (50 MB).
If the size of any uploaded bundle is greater than this size, you'll receive a 400 Bad Request
message SRVE8021E: The file being uploaded is too large.
-Dcom.ibm.cics.jvmserver.cmci.max.request.size={104857600|max_request_size}
Specifies the maximum size allowed for a multipart or form-data request, in bytes. The default size
is 104857600 (100 MB).
The web container will throw an exception if the overall size of all uploaded files exceeds this
threshold.
3. Configure security levels in the CLIST.
If you're using RACF, you can copy and update the sample CLIST in SEYUSAMP. Use the EYU$BUND
sample for CICSPlex SM or EYU$BNDS for SMSS.
Specify the following required options:
Table 43. Required CLIST options for CICS bundle deployment API setup
The following options are optional. If not specified, the default value is used.
Table 44. Optional CLIST options for CICS bundle deployment API setup
What to do next
After you have configured CICS for the CICS bundle deployment API, Java developers can deploy CICS
bundles using clients including the CICS-provided Gradle or Maven plug-in. For instructions, see their
GitHub repositories: cics-bundle-maven and cics-bundle-gradle.
Table 45. Mapping between CMCI options and configuration elements in server.xml
CMCI options Option Effect on CMCI CMCI JVM server configuration
value elements
CMCIAUTH AUTOMATIC The CMCI supports both basic clientAuthenticationSupporte
authentication and client certificate d="true" on the ssl element.
authentication. 1
allowFailOverToBasicAuth="tr
ue" on the webAppSecurity
element.
Basic authentication and client
authentication are supported.
Note:
1. Valid when SEC=YES is in effect.
2. The KEYRING system initialization parameter must be in effect.
Table 46. Mapping between TCP/IP options and configuration elements in server.xml
TCIP/IP options Option Effect on CMCI CMCI JVM server configuration
value elements
TCPIPADDRESS name Allows client connections to the host on the httpEndPoint
CMCI by using only the provided element.
(Overrides
TCP/IP address.
TCPIPHOSTNAME
for WUI) INADDR_A Allows client connections to the host="*" on the httpEndPoint
NY CMCI by using any TCP/IP address element.
associated with the LPAR. This is the
default.
TCPIPHOSTNAME name WUI only Allows client connections host on the httpEndPoint
(Required for by using any host name associated element.
WUI) with the LPAR.
TCPIPHTTPHOST YES|NO WUI only Not used by the CMCI. Not used
TCPIPSSL YES HTTPS connections to the CMCI are Configure the CMCI JVM server to use
used. SSL and disable the httpPort on the
(Can be
httpEndPoint element.
overridden by
CMCISSL) NO Non-HTTPS connections to the CMCI Do not configure the CMCI JVM
are used. This is the default. server to use SSL and disable the
httpsPort on the httpEndPoint
element.
Note:
1. If the list contains any invalid ciphers, CICS removes invalid ciphers and continues as long as at
least one valid cipher remains. If there are no valid ciphers, access to the CMCI will be rejected.
Liberty allows invalid ciphers to be configured but rejects connections with message Unsupported
ciphersuite in the Liberty logs. In such cases, the following messages help you identify the cause of
the problem:
DFHSO0145W indicates that invalid ciphers have been supplied.
DFHSO0146I lists the invalid ciphers that were removed by CICS.
Liberty references:
For information about the attributes on the ssl element, see SSL configuration attributes in Liberty.
For information about the attributes on the webAppSecurity element, see Web Container Application
Security (webAppSecurity) in Liberty.
For information about the attributes on the httpEndPoint element, see HTTP Endpoint (httpEndpoint)
in Liberty.
Mapping between region SIT parameters and CMCI JVM server configuration
elements
Table 47 on page 426 shows how the WUI or SMSS region system initialization parameters are mapped to
the CMCI JVM server configuration parameters and indicates what additional configuration is required in
the CMCI JVM server.
Table 47. Mapping between region system initialization parameters and CMCI JVM server configuration elements
Region SIT Region SIT Effect on CMCI CMCI JVM server configuration
parameter parameter elements
name value
APPLID applid When SAF authorization is in use, profilePrefix on the
sets the prefix for CMCI security safCredentials element.
profiles unless overridden by the
safCredentials element. For more
information, see Authorization using
SAF role mapping.
KEYRING keyring-name Provides the name of the Keyring location on the keyStore element
used for HTTPS or client certificate
Used when SSL or client certification is
authentication.
active.
MINTLSLEVE WUI only Not used by the CMCI. You can configure sslProtocol on
L the ssl element to set the SSL
protocol.
NISTSP8001 NOCHECK| Instructs the CMCI to check for Configure Liberty to run in
31A CHECK conformance to the NIST SP800-131A SP800-131a.
standard.
SEC NO Disables authentication. Disables Liberty security.
YES Enables basic authentication in Enables Liberty security.
the CMCI, unless overridden by
CMCIAUTH.
Liberty references:
For information about the attributes on the safCredentials element, see Interface SAFCredential in
Liberty.
For information about the attributes on the ssl element, see SSL configuration attributes in Liberty.
Procedure
1. Calculate the storage requirement for a typical request.
Select the resource that is likely to generate the largest number of records in a request and multiply
the number of records by the size of each record. See the appropriate table in CICSPlex SM resource
tables to determine the record size.
2. Calculate your total requirements for 64-bit storage for retained result sets.
Estimate your expected maximum number of retained result records for a single request and multiply
this figure by your estimate of the storage required for each request. For example, if you can have
100,000 CICS terminals in a single request, multiply this figure by the size of the resource record as
determined in Step “1” on page 428.
3. If you are setting up the CMCI in a CICSPlex SM environment, estimate your auxiliary storage
requirements for your CMAS.
Estimate the maximum number of concurrent requests that you can expect and multiply this figure by
your estimate of the storage required for each request as calculated in Step “2” on page 428. You can
derive your estimate of concurrent requests from the total number of users that you expect to be using
the CMCI at any one time and how many simultaneous requests they are likely to make.
4. Consider adding more storage for metadata.
The CMCI stores all requested resource records for each request for a new retained result. For
the initial request of a new resource type, for example, a first request for CICS programs, a small
amount of attribute metadata is also stored. For large requests, the size of the attribute metadata and
any other storage used while making the request is negligible compared to the storage required for
records themselves. Consider adding an extra 2% to your final estimate to cover any extra metadata
used internally by the CMCI on the WUI server. This extra metadata is not necessary for the CMAS
calculation.
If you are setting up the CMCI JVM server, calculate its storage requirements also:
5. The CMCI JVM server is a Liberty JVM server running in a WUI region of a CICSplex or a single CICS
region. The JVM server requires MVS storage in 24-bit, 31-bit, and 64-bit addressing areas, in addition
to the storage calculated in the previous steps.
To calculate storage requirements for JVM servers, see Calculating storage requirements for JVM
servers .
The recommended maximum heap size for the CMCI JVM server is at least 2 GB in a CICSPlex SM
environment, or 1 GB in a single CICS region (SMSS). Use it as an initial estimate and increase it as
the scale of your environment needs.
What to do next
• If the CMCI is installed in a CICSplex SM environment, use your estimate of auxiliary storage to set
values for the MAXAUXCPSM and MAXAUXTOTL parameters on the CMAS associated with your WUI
server.
• Use your estimate of the 64-bit storage required for retained result sets plus the maximum heap size
to help determine the z/OS MEMLIMIT value for your WUI region, or your single CICS region if you are
running the CICS System Management Single Server for the CMCI. You must allow for the other CICS
facilities that use 64-bit storage.
For information about the MEMLIMIT value for CICS, and instructions to check the value of MEMLIMIT
that currently applies to the CICS region, see Estimating and checking MEMLIMIT. For further
Procedure
Use this task to stop or start event processing.
1. Using the CICSplex Explorer view in CICS Explorer, click the CICSplex or CICS region to select the
CICSplex or CICS region on which you want to stop event processing.
2. Using the CICS Explorer toolbar, click Operations > Event Processing.
The status of event processing is displayed.
3. Right-click to select the region on which you want to stop event processing and click Stop. Then click
OK.
Note: The status does not update until you click the refresh icon at which point the STOPPED status is
displayed in the Event Processing Status column, indicating that event processing is stopped.
4. To restart event processing, right-click to select the region for which you want to start event processing
and click Start. Then click OK.
Note: The status does not update until you click the refresh icon at which point the STARTED status is
displayed, indicating that event processing is started.
Results
When event processing is STOPPED, event capture is stopped immediately. All events on the dispatcher
queue are deleted.
When event processing is STARTED, for in flight transactions, the capture of nontransactional events
starts immediately and the capture of transactional events starts at the next sync point.
What to do next
You must enable an event binding and an EP adapter before you can emit any events for processing by
an event consumer. For more information, see Enabling an event binding in the CICS Explorer product
documentation and Enabling an EP adapter in the CICS Explorer product documentation.
Procedure
1. In the bridge router region, define the AIBRIDGE system initialization parameter to specify whether
the autoinstall user replaceable module (URM) is called when bridge facilities are created and deleted.
2. Define the SPCTR and STNTR system initialization parameters if you want standard and special tracing
for the bridge (BR) and partner (PT) domains.
3. Optional: The Link3270 bridge runs under CSMI by default. If you want to use a transaction ID other
than CSMI for the Link3270 bridge, specify an INITPARM system initialization parameter for program
DFHL3270, as follows:
INITPARM=(DFHL3270='tttt'),
where tttt is the desired transaction ID. The definition of your transaction tttt must be a copy of the
definition of CSMI, so that the initial program is DFHMIRS and the profile is the same as that used by
CSMI.
Results
You have configured CICS to use a URM to install bridge facilities and added tracing.
See Coupling facility data tables for guidance on creating coupling facility data tables.
File DFHBRNSF contains two control records plus 1 record for each router region that accesses the file.
The maximum number of records that can be written to DFHBRNSF is 731 (this includes the 2 control
records).
You need to define file DFHBRNSF to CICS in the Link3270 router regions. Resource definitions have been
provided for all versions of the file. You should include the appropriate group in your startup grouplist, or
copy chosen definitions into a group in the grouplist. You will need to edit the definitions to match your
IDCAMS statements. Change the DSN field to match the cluster name used with IDCAMS to create the
file, unless the CFDT version of the file is to be used. If the CFDT definition is being used, change the
CFDTPOOL value to the name of the pool containing the table defined by the file definition. The table
shows the groups provided that contain the DFHBRNSF definitions.
Note:
1. If DFHBRNSF becomes unavailable, only Link3270 requests that do not cause an allocation or release
of a bridge facility namespace range will still complete successfully.
2. If DFHBRNSF file has to be redefined for any reason, all router regions that access the file should be
shut down before the file is redefined, and restarted after the file has been redefined.
ACQSTATUS ACQUIRED
ACCESSMETHOD VTAM
CORRELID blanks
EXITTRACING NOTAPPLIC
LINKSYSTEM blanks
MODENAME blanks
REMOTENAME blanks
REMOTESYSTEM blanks
REMOTESYSNET blanks
SERVSTATUS INSERVICE
TCAMCONTROL X'FF'
TERMSTATUS ACQUIRED
TTISTATUS YES
ZCPTRACING NOZCPTRACE
STARTCODE S,SD,TO,TP
If the real FACILITYLIKE terminal is logged on when the bridge facility is created, the QUERY will have
been performed and the values returned will apply to the bridge facility.
If the real FACILITYLIKE terminal is not logged on at the time that the bridge facility is created, the QUERY
will not have been performed and the bridge facility will be created using values from the FACILITYLIKE
resource definition.
SET TERMINAL/NETNAME
The following table shows the effect of each of the SET TERMINAL/NETNAME keywords when issued by a
user transaction for its bridge facility. Unless otherwise specified, the response is DFHRESP(NORMAL).
KEYWORD EFFECT
ACQSTATUS Ignored.
ALTPRINTER Value is SET, and is returned on INQUIRE, but is never used by CICS.
ALTPRTCOPYST Value is SET, and is returned on INQUIRE, but is never used by CICS.
ATISTATUS Works as for normal 3270.
CANCEL Ignored
CREATESESS Ignored.
DISCREQST Value is SET, and is returned on INQUIRE, but is never used by CICS.
EXITTRACING Ignored.
FORCE Ignored.
MAPNAME Works as for normal 3270.
MAPSETNAME Works as for normal 3270.
NEXTTRANSID Works as for normal 3270.
OBFORMATST Works as for normal 3270.
PAGESTATUS Ignored.
PRINTER Value is SET, and is returned on INQUIRE, but is never used by CICS.
PRTCOPYST Value is SET, and is returned on INQUIRE, but is never used by CICS.
PURGE Ignored.
PURGETYPE Ignored.
RELREQST Value is SET, and is returned on INQUIRE, but is never used by CICS.
Procedure
1. Add RDO group EXCIXXXX to the grouplist of the CICS region. If EXCIXXXX is not available, make a
copy from the supplied DFH$EXCI RDO group.
This group contains all connections required for EXCI functions and can support up to 100 connections
for batch requests.
2. Add the RDO group for the application to the grouplist of the CICS region.
3. Assemble DFHXCOPT into the SDFHEXCI load library. Ensure that DFHXCOPT has SURROGATE=YES.
4. Assemble and compile your application programs.
If your application program is written in Assembler, use the linkage editor parameters AMODE(31) and
RMODE(ANY). Link the program into your application load library.
5. Configure the batch JCL to run your application program.
a) Edit the JCL to specify to which CICS region the batch program will send the EXCI request:
//STELIB DD Disp=shr,Dsn=SYS5C.CICn.CICS740.SDFHEXCI
//DD Disp=shr,Dsn=Your.application.loadlib
6. Run the batch program and check that the results are as expected.
Procedure
1. Specify the following system initialization parameters in the CICS region:
• DSRTPGM=EYU9XLOP
• DTRPGM=EYU9XLOP
2. Update your RDO group as follows:
a) Add an RDO entry for the EXCI server program, DFHMIRS.
Results
When an application issues a distributed program link, CICSPlex SM checks if the incoming transaction is
under its control. When it finds that EXCI or its equivalent is valid in its transaction group, CICSPlex SM
routes the transaction to one of the candidate AORs for processing.
An alternative to this approach is to define an RDO definition for the program or transaction with
DYNAMIC=Yes. CICSPlex SM routes the request to the selected region.
The following options are provided specifically for the external CICS interface:
• CONNTYPE on the CONNECTION resource definition
• EXCI on the PROTOCOL attribute of the CONNECTION and SESSIONS resource definitions.
jobname.stepname.procname - mvsid
Either stepname, or procname, or both may not be present, indicated by the periods (.) being adjacent to
one another.
The mvsid identifies the MVS system on which the job is running. If XCF/MRO is in use, the job can reside
on a different MVS image from that on which CICS is running.
Information about jobs using the external CICS interface is available only when the job has issued at least
one DPL request. A non-zero task number indicates that a DPL request is currently active. A zero task
number indicates an external CICS interface session is still open (connected) for that job, although no DPL
request is currently active.
See CEMT - main terminal for more information about the CEMT command.
DFHXCO TYPE={CSECT|DSECT}
[,ABENDBKOUT={NO|YES}]
[,CICSSVC={216|number}]
[,CONFDATA={HIDE|SHOW}]
[,DURETRY={30|number-of-seconds}]
[,GTF={OFF|ON}]
[,LOCALCCSID={037|CCSID}]
[,MSGCASE={MIXED|UPPER}]
[,TIMEOUT={0|number}]
[,TRACE={OFF|1|2|3}]
[,TRACESZE={16|number-of-kilobytes}]
[,TRAP={OFF|ON}]
[,XCFGROUP={DFHIR000|name}]
You must terminate your parameters with the following END statement.
END DFHXCOPT
DEFINE CLUSTER ( -
NAME( xxxxxxxx.CICSONC.RESOURCE ) -
CYL ( 2 1 ) -
KEYS( 19 0 ) -
INDEXED -
VOLUME ( vvvvvv ) -
RECORDSIZE( 150 150 ) -
FREESPACE( 5 5 ) -
SHAREOPTIONS( 1 ) -
)
The job to define the data set must be run before you start the connection manager for the first time.
(Optional) Switch dump formatting for CICS ONC RPC
To switch dump formatting on for CICS ONC RPC (and for all running features), change the IPCS
VERBEXIT control statement. The JCL entry for dump formatting is as follows:
The VERBEXIT provides a formatted dump of CICS ONC RPC control blocks.
Modify z/OS Communications Server data sets
You can define the CICS Transaction Server region to z/OS Communications Server in the
TCPIP.PROFILE. data set to reserve specific ports for ONC RPC applications. This is described in
z/OS Communications Server: IP Configuration Guide.
Important: CICS ONC RPC is part of the CICS Transaction Server base. None of the IBM-supplied
programs for CICS ONC RPC can be moved to CICS Transaction Server from earlier releases.
If you want a CICS program to run under an alias with a name other than CRPA, you can enter this in
the connection manager when defining the attributes of the 4-tuple associated with the CICS program, as
described in “Defining the attributes of a 4-tuple” on page 465. The name of the alias can also be changed
by the Decode function, as described in Changing the alias and CICS program.
LANGUAGE option
User-written XDR routines should be defined with LANGUAGE(C). Converters and CICS programs should
be defined with an appropriate LANGUAGE.
CEDF option
Program definitions for CICS programs must include CEDF(YES) if EDF is required for debugging.
If you want to use EDF, you must enter a terminal ID in the connection manager when defining the
attributes of the 4-tuple associated with the CICS program, as described in “Defining the attributes of a
4-tuple” on page 465.
EXECKEY option
CICS programs should be defined as EXECKEY(USER), unless there is some reason for defining them as
CICS-key in your CICS system. Defining programs as EXECKEY(USER) prevents them from overwriting
CICS.
Converters and the resource checker should not be regarded as application programs when defining
storage. You are recommended to define them as EXECKEY(CICS). This allows them to modify CICS-key
storage.
When the Decode and Encode functions allocate storage to hold the converted data, that storage should
be allocated as CICS-key.
User-written XDR routines must be defined as EXECKEY(CICS).
If you specify EXECKEY(USER) for the CICS program, ensure that TASKDATAKEY(USER) is specified for the
alias. USER is the default TASKDATAKEY setting in the alias definition in the supplied group DFHRP.
If you have CICS programs that need to be specified with EXECKEY(CICS), you are advised to specify
TASKDATAKEY(CICS) for the alias that will execute them.
CICS operates with storage protection when the system initialization parameter STGPROT is set to YES, or
allowed to default to YES.
RELOAD option
You should specify RELOAD(YES) for any user-written XDR routines to prevent errors in CICS ONC RPC
disable processing.
Mapset definition
Mapset definitions are supplied in the group DFHRP for the connection manager mapsets. The definitions
cannot be changed.
//CRPO DD SYSOUT=A
XLT definitions
The XLT system initialization parameter and its associated transaction list should allow the connection
manager, CRPC, to be started during normal CICS shutdown. If CICS ONC RPC is delaying shutdown, the
connection manager can be used to force an immediate disable of CICS ONC RPC.
Panel format
At the top of all panels is a panel identifier in the right corner (for example, DFHRP02) and CRPC in the left
corner.
On the bottom of all panels, the fourth line from the bottom gives the status of CICS ONC RPC, the third
line from the bottom is a prompt line, while the bottom line lists the available PF keys, which can include:
PF1
Help information (all panels)
PF2
Delete definition from the CICS ONC RPC data set (only where shown)
PF3
Exit CRPC (you are prompted to confirm by using PF3 again)
PF4
Write fields to the CICS ONC RPC data set (only where shown)
PF7
Scroll up (only where shown)
PF8
Scroll down (only where shown)
PF9
Display messages relating to current input
PF12
Cancel this panel and return to the previous panel
2
“Defining, saving, modifying, and deleting 4-tuples” on page 464
Overtype to Modify
Choice Possible Options
The values displayed in the Choice column are those stored in the CICS ONC RPC data set. The data set
is initialized with the values shown in Figure 73 on page 463, except that the value displayed for CRPM
Userid is the default CICS user ID for the CICS system in which CICS ONC RPC is operating.
You can make entries in the following fields. Entries may be in lowercase or uppercase. Where entries to
a field are restricted (for example, YES or NO) you can enter the whole option (YES) or the minimum (Y).
In the panels, the minimum entry is shown in uppercase in the Possible Options column. In the reference
material in this manual, the minimum entry is given in parentheses after the full entry.
Trace
Specifies whether CICS ONC RPC tracing is active. STARTED (STA) means it is active, STOPPED (STO)
means it is not. The default value is STARTED.
CICS ONC RPC exception trace entries are always written to CICS internal trace whatever the setting
of this option. To get non-exception trace entries written, CICS trace must be started, and this option
must be set to STARTED.
Trace Level
Specifies the trace level for CICS ONC RPC. The value 1 means that level 1 trace points are traced, and
2 means that both level 1 and 2 are traced. The default value is 1.
Resource Checker
YES (Y) means that CICS ONC RPC is to call the user-written resource-checking module on receipt of
every incoming RPC request. NO (N) means the resource checker is not to be called. The default is NO.
CRPM Userid
Specifies the CICS user ID under which the server controller is to run. The default is the default user
ID for the CICS system in which CICS ONC RPC is operating.
Automatic Enable
Enter YES (Y) or NO (N). If YES is stored in the CICS ONC RPC data set, you can enable CICS ONC
RPC by just typing CRPC; all values are defaulted from the CICS ONC RPC data set, CICS ONC RPC
becomes enabled without further user input, and all the 4-tuples with YES for their Register from Data
Set option are registered. The default value is NO.
Setting this field has an effect only when you enable CICS ONC RPC. If you use PF4 to save the
values to the CICS ONC RPC data set, this value will be effective the next time you enable, unless
you override it. A YES in this field in the CICS ONC RPC data set may be overridden by the fast path
command CRPC E A(N).
The first panel for defining, saving, modifying, and deleting 4-tuples is DFHRP03. (See Figure 74 on page
464.) This panel is shown as soon as you have enabled CICS ONC RPC, or if you choose option 2 on panel
DFHRP10.
Option
For more information see:
1
See information later in this section.
2
“Defining the attributes of a 4-tuple” on page 465
3
“Unregistering 4-tuples” on page 469
4
See information later in this section.
If you select option 1, the 4-tuples in the CICS ONC RPC data set that have YES for their Register from
Data Set attribute are all registered.
If you specify a 4-tuple for which there is no definition in the CICS ONC RPC data set, a message is issued
when you press Enter, and panel DFHRP03 remains on the screen.
CRPC CICS ONC RPC for MVS/ESA Remote Procedure Registration DFHRP5
CRPC CICS ONC RPC for MVS/ESA Remote Procedure Registration DFHRP5B
After you have made your modifications to panel DFHRP5, you should press PF8 to move to panel
DFHRP5B. From panel DFHRP5B you can press PF7 if you want to go back to panel DFHRP5. After you
have made your modifications to the panels, you press Enter to get all the modifications validated.
The attributes of a 4-tuple are divided into three categories:
• ONC RPC attributes
• CICS attributes
• CICS ONC RPC attributes
CICS attributes
The alias transaction ID, EDF terminal ID, and program name are the attributes you must specify for CICS.
ALIAS Transaction ID
Specifies the transaction ID to be used for the alias. If this is omitted, and not provided by the Decode
function, the alias transaction ID is CRPA. For reasons why you might want a different name from
CRPA, see “Transaction definitions for extra alias transactions” on page 455.
EDF Terminal ID
Specifies the terminal ID to be used for the alias. You need a terminal ID only if you want to use
execution diagnostic facility (EDF) to debug the resource checker, CICS program, or Encode function
of the converter. A blank means that you cannot use EDF. EDF setup is described in Using EDF.
Program Name
Specifies the name of the CICS program that is to be called to service a request for this 4-tuple.
Limits on registration
CICS ONC RPC makes a total of 252 sockets available for use. One socket is used by each program/
version/protocol 3-tuple from the time the first 4-tuple for that program, version and protocol is
Unregistering 4-tuples
You can unregister 4-tuples that have previously been registered with CICS ONC RPC only when CICS
ONC RPC is already enabled. You can unregister 4-tuples from a list or one by one.
From panel DFHRP10, if you select option 3, panel DFHRP11 is shown (see Figure 76 on page 469).
Select an option, and then press Enter.
NORMAL (N)
Normal disable processing is started.
• All program-version pairs are unregistered from z/OS Communications Server.
• All work that has already entered CICS ONC RPC is allowed to run to completion, and replies are
sent to the relevant client.
IMMEDIATE (I)
Immediate disable processing is started.
• Aliases not yet started do not start at all.
• CICS programs running under aliases are allowed to end, and then the alias abends. If the
CICS program ends normally, and was called using DPL, the changes it makes to recoverable
resources are committed. If the CICS program is a local program, the changes it makes to
recoverable resources are backed out unless the CICS program takes a sync point with EXEC
CICS SYNCPOINT.
• All the program-version pairs are unregistered from z/OS Communications Server.
• No replies are sent to clients, so they do not know whether the CICS program has run or not.
Pressing Enter causes the entry you have made to be validated. Pressing Enter a second time begins
disable processing. The Current Status is changed to Disabling or Disabled, depending on the progress of
disable processing. When disable processing is complete, pressing Enter changes the Current Status to
Disabled.
Current Status:
The Current Status field in this panel might show Enabled or Disabled, depending on which panel you
came from.
Before selecting option 4, you must supply the following information:
Program Number
The program number of the 4-tuple whose definition is to be retrieved.
Version Number
The version number of the 4-tuple whose definition is to be retrieved.
Procedure Number
The procedure number of the 4-tuple whose definition is to be retrieved.
Protocol
The protocol of the 4-tuple whose definition is to be retrieved.
Select an option, then press Enter.
Option
Description
1
“Updating the CICS ONC RPC definition record” on page 473
Current Status:
The values displayed in the Choice column are those stored in the CICS ONC RPC data set.
After you have made your changes you should press Enter to get them validated. You can then press Enter
again to update the CICS ONC RPC data set with the values you have supplied. The next time you start the
connection manager, the saved options are used to set up panel DFHRP02
Trace
Specifies whether CICS ONC RPC tracing is active. STARTED (STA) means it is active, STOPPED (STO)
means it is not. The default value is STARTED.
CICS ONC RPC exception trace entries are always written to CICS internal trace whatever the setting
of this option. To get non-exception trace entries written, CICS trace must be started, and this option
must be set to STARTED.
Trace Level
Specifies the trace level for CICS ONC RPC. The value 1 means that level 1 trace points are traced, 2
means that both level 1 and level 2 are traced. The default value is 1.
Resource Checker
YES (Y) means that CICS ONC RPC is to call the user-written resource-checking module on receipt of
every incoming RPC request. NO (N) means the resource checker is not to be called. The default is NO.
CRPM Userid
Specifies the CICS user ID under which the server controller is to operate. The default is the default
user ID for the CICS system in which CICS ONC RPC is operating.
This panel presents a list of 4-tuples currently defined in the CICS ONC RPC data set. If CICS ONC RPC is
enabled, the 4-tuples that are currently registered are shown highlighted. You can put a command against
a 4-tuple, and it takes effect when you press Enter. The following commands can be entered against a
4-tuple:
D
Deletes the definition from the data set.
R
If CICS ONC RPC is enabled, registers the 4-tuple with CICS ONC RPC. If CICS ONC RPC is disabled,
this command produces an error message.
M
Shows panel DFHRP21. See “Changing the attributes of a 4-tuple” on page 475 for details.
?
Shows panel DFHRP15, which displays the attributes of a 4-tuple, but does not allow changes.
Current Status:
Current Status:
CRPC CICS ONC RPC for MVS/ESA Remote Procedure Registration DFHRP2B
Current Status:
You can use these panels to delete a 4-tuple definition from the CICS ONC RPC data set by pressing PF2.
If you want to modify the 4-tuple definition, you should first make modifications to panel DFHRP21, and
then press PF8 to move to panel DFHRP2B. From panel DFHRP2B you can press PF7 if you want to go
back to panel DFHRP21. After you have made your modifications to the panels, you should press Enter to
get all the modifications validated, and then press Enter again to get the definition changed.
Procedure
1. Define recovery attributes for data sets, including replication, in the integrated catalog facility (ICF).
2. If a replication logstream is not defined, you need to define a general log stream for replication data. If
you do not define a general log stream, CICS attempts to create a log stream dynamically.
region_userid.applid.DFHLOG
region_userid.applid.DFHSHUNT
where region_userid is the RACF user ID under which the CICS address space is running, and applid
is the region's z/OS Communications Server APPL name (taken from the APPLID system initialization
parameter). The CICS-supplied JOURNALMODEL definitions for default DFHLOG and DFHSHUNT log
streams are in the CSD group DFHLGMOD, which is included in DFHLIST.
If you use these default log stream names, ensure that
• The default log streams are defined explicitly to the MVS system logger, or
• Suitable model log streams are defined for dynamic creation.
With a JOURNALMODEL definition
If CICS finds a JOURNALMODEL definition with JOURNALNAME(DFHLOG) and
JOURNALNAME(DFHSHUNT), it issues calls to the MVS system logger to connect to the system log
streams named in the definitions. Ensure that the system log stream names are unique to the CICS
region.
If you define JOURNALMODEL resource definitions for your system logs, ensure that:
• The log streams named in the JOURNALMODEL are defined to the MVS system logger, or
• Suitable model log streams are defined that enable them to be created dynamically.
If you don't want to use a system log (for example, in a CICS test region), specify JOURNALMODEL
resource definitions for DFHLOG and DFHSHUNT with TYPE(DUMMY). Note that running CICS with the
system log defined as TYPE(DUMMY) forces you to perform an initial start, and CICS does not support
dynamic transaction backout.
Recovery considerations
If you are using coupling facility log streams, sharing structures between MVS images provides some
recovery advantages. If an MVS image or logger address space fails, another surviving MVS image using
the same log stream structures (not necessarily the same log streams) is notified of the failure and can
start immediate log stream recovery for the log streams used by the failing MVS. Otherwise, recovery is
delayed until the next time a system connects to a log stream in the affected structures, or until the failed
system logger address space restarts.
However, model log streams defined with the CICS default name are always assigned to the same
structure within an MVS image. Using model log streams defined with the CICS default name may not give
you the best allocation in terms of recovery considerations if you are using structures defined across two
or more coupling facilities.
For example, consider a two-way sysplex that uses two coupling facilities, each with one log structure
defined for use by CICS system logs, structures LOG_DFHLOG_001 and LOG_DFHLOG_002. In this
situation, it is better from a recovery point of view for the CICS regions in each MVS to balance log
stream allocations across both log structures. This scenario is illustrated in Figure 87 on page 483, which
shows a 2-way sysplex comprising MVSA and MVSB, with four CICS regions in each MVS. CICSA1 through
CICSA4 reside in MVSA, and CICSB1 through CICSB4 reside in MVSB. Each MVS is using two coupling
facilities, CF1 and CF2, each of which has one log structure referenced by model log streams. The first
and second CICS regions in each MVS use log streams defined in the first log structure, and the third and
fourth CICS regions in each MVS use log streams defined in the second log structure. In this scenario,
each MVS image has a partner to recover its log streams in the event of an MVS failure.
CICSA1 CICSB1
LOG_DFHLOG_001
CICSA2 CICSB2
CF2
CICSA3 CICSB3
LOG_DFHLOG_002
CICSA4 CICSB4
Another example, shown in Figure 88 on page 483, is based on a 4-way sysplex comprising MVSA,
MVSB, MVSC, and MVSD. In this case, ensure that the CICS regions that normally run on MVSA and
MVSB use structure LOG_DFHLOG_001, and that the regions that run on MVSC and MVSD use structure
LOG_DFHLOG_002. Thus each MVS image has a partner to recover its log streams in the event of an MVS
failure. If a structure fails, the two MVS images using the other structure can take over the workload.
4-Way Sysplex
LOG_DFHLOG_001
MVSA MVSB
(on CF1)
LOG_DFHLOG_002
MVSC MVSD
(on CF2)
Activity keypointing
During a restart, the CICS log manager scans the log backwards to recover unit of work information.
The log is scanned backwards as follows:
1. To begin with, CICS reads all records sequentially as far back as the last complete activity keypoint
written before termination. To minimize the time taken for this scan, it is important that you do not
specify an activity keypoint frequency zero. For information about setting a suitable activity keypoint
frequency for your CICS region, see The activity keypoint frequency (AKPFREQ).
2. When CICS reaches the last-written complete activity keypoint, it extracts all the information relating
to in-flight units of work, including indoubt units of work. With this information, CICS continues reading
backwards, but this time reading only the records for units of work that are identified in the activity
keypoint. Reading continues until CICS has read all the records for the units of work identified by the
activity keypoint.
This process means that completed units of work, including shunted backout-failed and commit-failed
units of work, are ignored in this part of the log scan. This is significant for the retrieval of user-written
log records. User-written records cannot be presented at the XRCINPT global user exit program (see
“Writing user-recovery data” on page 486) if they are part of units of work that CICS skips in this part
of the log scan process.
Figure 89 on page 484 illustrates the way CICS performs log processing during a CICS restart.
CICS SYSTEM LOG STREAM
n-1 n
Abnormal
termination
of CICS
Here are some steps you can take to ensure that system log stream sizes, and thus restart times, are kept
to a minimum:
• Keep to a minimum the amount of data that has to be read. This means specifying an activity keypoint
frequency that is non-zero, and which is:
– Long enough to avoid excessive keypointing
– Short enough to avoid large volumes of data between keypoints.
For information about calculating system log stream structure sizes, see Structure size for system log
usage.
• Except for your own recovery records that you need during emergency restart, do not write your own
data to the system log (for example, audit trail data).
• In particular, do not write information to the system log that needs to be kept. (See “Avoiding retention
periods on the system log” on page 486).
x x x x x x x x x x
Procedure
1. Define recovery attributes for data sets, including forward recovery, in either the integrated catalog
facility (ICF) catalog (if you are using DFSMS 1.3 or later), or in the CICS file resource definition.
See “Defining files as recoverable resources” on page 495 for details.
2. Define a general log stream for forward recovery data.
If you do not define a general log stream, CICS attempts to create a log stream dynamically. See
“Model log streams for CICS general logs” on page 488 for details.
3. Decide how you want to merge forward recovery data from different CICS regions into one or more log
streams.
See “Merging data on shared general log streams” on page 488 for details.
What to do next
In the event of physical failure or corruption, restore the most recent backup, and use a forward recovery
utility such as CICS VSAM Recovery to reapply updates.
To recover from a storage failure, first restore the most recent backup to a new data set. Then use a
forward recovery utility, such as CICS VSAM Recovery (CICS VR), to apply all the updates that were
written to a forward recovery log stream after the backup date.
Learn more
For more information about recovery of distributed units of work, see Troubleshooting intersystem
problems.
For more information about options on the TRANSACTION definition, see TRANSACTION attributes.
Forward recovery
For VSAM files, you can use a forward recovery utility, such as CICS VSAM Recovery for z/OS, when online
backout processing fails as a result of some physical damage to the data set. For forward recovery:
• Create backup copies of data sets.
• Record after-images of file changes in a forward recovery stream. CICS does this for you automatically if
you specify that you want forward recovery support for the file.
• Write a job to run a forward recovery utility, and keep control of backup data sets and log streams that
might be needed as input. CICS VSAM Recovery for z/OS automatically constructs the forward recovery
job for you, using an ISPF dialog interface.
Backward recovery
To ensure that VSAM files can be backward recoverable, you must consider the following points:
• Key-sequenced data sets (KSDS) and both fixed- and variable-length relative record data sets (RRDS):
– If the files referring to KSDS or RRDS data sets are designated as recoverable with LOG(ALL)
specified, CICS can back out any updates, additions, and deletions made by an interrupted unit
of work.
– For information about backout failures, see Backout-failed recovery.
• Entry-sequenced data sets (VSAM-ESDS):
– New records are added to the end of a VSAM-ESDS. After they are added, records cannot be
physically deleted. A logical deletion can be made only by modifying data in the record; for example,
by flagging the record with a "logically deleted" flag, using an XFCLDEL global user exit program.
See Transaction backout for more information.
You specify recovery options, including forward recovery, either in the integrated catalog facility (ICF)
catalog (if you are using DFSMS 1.3 or later), or in the CICS file resource definition, as follows:
• If your VSAM data sets are accessed by CICS in RLS mode, the recovery attributes must be defined in
the ICF catalog.
• If your VSAM data sets are accessed by CICS in non-RLS mode, you can define recovery attributes in
either the FILE resource or the ICF catalog. If you use the ICF catalog to define attributes for data sets
accessed in non-RLS mode, CICS uses the ICF catalog entry recovery attributes instead of the FILE
resource. To force CICS to use the FILE resource attributes instead of the catalog, set the NONRLSRECOV
system initialization parameter to FILEDEF.
• You define the recovery attributes for BDAM files in file entries in the file control table (FCT).
BDAM files
You can specify CICS support for backward recovery for BDAM files using the LOG parameter on the
DFHFCT TYPE=FILE macro. You can also specify that you want automatic journaling of the various types
of file access, using the JREQ and JID parameters of the FCT macro.
LOG=YES
If you specify LOG=YES, CICS provides backout recovery for the file. Using the services of the CICS
recovery manager and log manager, CICS file control writes before-images of updated records to the
system log stream.
JREQ=request-type(s) and JID=nn
Specify the file requests that you want CICS to journal automatically to the log stream mapped by the
journal identifier specified on the JID parameter.
Although CICS does not provide forward recovery support for BDAM files, you can use the autojournal
records to provide your own facility. JREQ=(WU,WN) is the equivalent of the CSD file definition
parameters JNLUPDATE(YES) combined with JNLADD(BEFORE), providing the necessary images for
forward recovery to a journal specified by JID=nn.
For information about defining BDAM file resource definitions, see FILE resources.
The first file open for the base data set determines the base data set recovery attributes, and these
are stored in the base cluster block (BCB). If, on a subsequent file open request, CICS detects an
inconsistency between the file definition recovery attributes and those stored in the BCB, the open
request fails.
See “Inquiring on recovery attributes” on page 497 for information about finding the recovery attributes
for files and data sets.
CICS takes the actions shown in the following list when opening a file for update processing in non-
RLS mode—that is, the file definition specifies RLSACCESS(NO), and the operations parameters specify
ADD(YES), DELETE(YES) or UPDATE(YES). If you set only READ(YES), BROWSE(YES) or both CICS does
not make these consistency checks. These checks are not made at resource definition or install time.
• If a file definition refers to an alternate index path and RECOVERY is ALL or BACKOUTONLY, the
alternate index must be in the upgrade set for the base. This means that any changes made to the base
data set are also reflected in the alternate index. If the alternate index is not in the upgrade set, the
attempt to open the ACB for this alternate index path fails.
• If a file is the first to be opened against a base cluster after the last cold start, the recovery options of
the file definition are copied into the base cluster block.
• If a file is not the first to be opened for update against a base cluster after the last cold start, the
recovery options in the file definition are checked against those copied into the base cluster block by the
first open. There are the following possibilities:
– Base cluster has RECOVERY(NONE):
- File is defined with RECOVERY(NONE): the open proceeds.
- File is defined with RECOVERY(BACKOUTONLY): the attempt to open the file fails, unless overridden
by an XFCNREC global user exit program, which can allow inconsistencies in backout settings for
files that are associated with the same base data set.
- File is defined with RECOVERY(ALL): the open fails.
– Base cluster has RECOVERY(BACKOUTONLY):
- File is defined with RECOVERY(NONE): the attempt to open the file fails unless overridden by an
XFCNREC global user exit program to allow inconsistencies in backout settings for files associated
with the same base data set.
- File is defined with RECOVERY(BACKOUTONLY): the open proceeds.
- File is defined with RECOVERY(ALL): the open fails.
– Base cluster has RECOVERY(ALL):
- File is defined with RECOVERY(NONE): the open fails.
- File is defined with RECOVERY(BACKOUTONLY): the open fails.
Backward recovery
CICS can recover only intrapartition transient data. The intrapartition data set is a VSAM ESDS data set,
with a file name of DFHINTRA.
For more information about allocation and space requirements, see “Defining the intrapartition data set”
on page 95.) For extrapartition transient data considerations, see “Recovery for extrapartition transient
data” on page 501.
You must specify the name of every intrapartition transient data queue that you want to be recoverable
in the queue definition. The recovery attributes you can specify for an intrapartition transient data queue
are:
• Logical
• Physical
• None
Logical recovery
If you request logical recovery on an intrapartition queue definition, changes to a transient data queue by
an interrupted unit of work are backed out. Backout occurs dynamically in the case of a task abend, or at a
CICS emergency restart in the case of a CICS failure.
As a general rule, you should request logical recoverability. For example, if you make related changes to
a set of resources that includes intrapartition transient data, and you want to commit (or back out) all the
changes, you require logical recovery.
Making intrapartition TD physically recoverable can be useful in the case of some CICS queues. For
example, after a CICS failure, you might choose to restart CICS as quickly as possible, and then look for
the cause of the failure. By specifying queues such as CSMT as intrapartition and physically recoverable,
the messages produced just before the failure can be recovered and are therefore available to help you
diagnose the problem.
No recovery
Recovery is not performed if you specify NO on the recovery attribute of an intrapartition transient data
definition.
Forward recovery
CICS does not provide forward recovery support for transient data.
If you want forward recovery of intrapartition transient data, provide application programs to record the
changes made to the contents of your intrapartition transient data queues while CICS is running. Changes
are recorded in a user journal. The information journaled must include:
• Each WRITEQ, including the data that is written
• Each READQ
• Each DELETEQ of a queue
• For logically recoverable queues, each backout, syncpoint, or syncpoint rollback
Backward recovery
Temporary storage queues that are to be recoverable by CICS must be on auxiliary temporary storage.
Define temporary storage queues as recoverable using temporary storage model resource definitions as
shown in the following example define statements:
For BMS, the example shows the required resource definitions for the default temporary storage queue
prefixes. Application programmers can override the default temporary storage queue prefixes for BMS by
specifying the following operands:
• REQID operand in the SEND MAP command
• REQID operand in the SEND TEXT command
• REQID operand in the ROUTE command
• PROTECT operand in the CMSG transaction
Forward recovery
If you want forward recovery of temporary storage you must provide application programs to record the
changes made to temporary storage during the current CICS run.
1. At emergency restart time, your application program can then delay the emergency restart (by using
PLTPI, for example) and, again using application programs, rebuild as much as possible of the
temporary storage data using the records previously read.
2. Repeat the emergency restart but with the system initialization parameters amended to perform a
cold start for temporary storage (TS=(COLD)). Note, however, that this loses the contents of the entire
temporary storage data set.
Procedure
1. Use IDCAMS to define the local request queue and repository file to MVS.
You must specify a suitable value for STRINGS for the file definition. The default value of 1 is unlikely
to be sufficient, and you are recommended to use 10 instead.
2. Define the local request queue and repository file to CICS.
Details of how to define the local request queue to CICS are described in “Defining local queues in a
service provider” on page 504. You must specify a suitable value for STRINGS in the file definition.
The default value of 1 is unlikely to be sufficient, and it is recommended that you use 10 instead.
3. Define a PROCESSTYPE resource with the name DFHMQSOA, using the repository file name as the
value for the FILE option.
4. Ensure that during the processing of a persistent message, a program issues an EXEC CICS
SYNCPOINT command before the first implicit syncpoint is requested; for example, using an SPI
command such as EXEC CICS CREATE TDQUEUE implicitly takes a syncpoint.
Issuing an EXEC CICS SYNCPOINT command confirms that the persistent message has been
processed successfully. If a program does not explicitly request a syncpoint before trying to implicitly
take a syncpoint, an ASP7 abend is issued.
What to do next
For one way request messages, if the web service abends or backs out, sufficient information is retained
to allow a transaction or program to retry the failing request, or to report the failure appropriately. You
need to provide this recovery transaction or program. See “Persistent message processing” on page 505
for details.
Procedure
1. Define an initiation queue.
Use the following command:
DEFINE
QLOCAL('initiation_queue')
DESCR('description')
where initiation_queue is the same as the value specified for the QNAME attribute of the installed
MQMONITOR resource definition for the CICS region, or the value specified for the INITQNAME
attribute of the installed MQCONN resource definition.
2. For each local request queue, define a QLOCAL object.
Use the following command:
DEFINE
QLOCAL('queuename')
DESCR('description')
PROCESS(processname)
INITQ('initiation_queue')
TRIGGER
TRIGTYPE(FIRST)
TRIGDATA('default_target_service')
BOTHRESH(nnn)
BOQNAME('requeuename')
where:
• queuename is the local queue name.
• processname is the name of the process instance that identifies the application started by the
queue manager when a trigger event occurs. Specify the same name on each QLOCAL object.
• initiation_queue is the name of the initiation queue to be used; for example, the initiation queue
specified in the QNAME attribute of the installed MQMONITOR resource definition for the CICS
region.
• default_target_service is the default target service to be used if a service is not specified on
the request. The target service is of the form '/string' and is used to match the path of a URIMAP
definition; for example, '/SOAP/test/test1'. The first character must be '/' .
• nnn is the number of retries that are attempted.
• requeuename is the name of the queue to which failed messages are sent.
3. Define a PROCESS object that specifies the trigger process.
Use the following command:
DEFINE
PROCESS(processname)
APPLTYPE(CICS)
APPLICID(CPIL)
where:
processname is the name of the process, and must be the same as the name that is used when
defining the request queues.
Error processing
If an error occurs when creating the required BTS process, the web service transaction abends, and the
inbound web service request is not processed. If BTS is not usable, message DFHPI0117 is issued, and
CICS continues without BTS, using the existing channel-based container mechanism.
If a CICS failure occurs before the web service starts or completes processing, BTS recovery ensures that
the process is rescheduled when CICS is restarted.
If the web service ends abnormally and backs out, the BTS process is marked complete with an ABENDED
status. For request messages that require a response, a SOAP fault is returned to the web service
requester. The BTS process is canceled, and CICS retains no information about the failed request. CICS
issues message DFHBA0104 on transient data queue CSBA, and message DFHPI0117 on transient data
queue CPIO.
For one way messages, there is no way to return information about the failure to the requester so the BTS
process is retained in a COMPLETE ABENDED state. CICS issues message DFHBA0104 on transient data
queue CSBA, and DFHPI0116 on transient data queue CPIO.
You can use the CBAM transaction to display any COMPLETE ABENDED processes, or you can supply
a recovery transaction to check for COMPLETE ABENDED processes of the DFHMQSOA and take
appropriate action.
For example, your recovery transaction could:
1. Reset the BTS process using the RESET ACQPROCESS command.
2. Issue the RUN ASYNC command to retry the failing web service. It could keep a retry count in another
data-container on the process, to avoid repeated failure.
3. Use information in the associated data-containers to report on the problem:
The DFHMQORIGINALMSG data-container contains the message received from IBM MQ, which
might contain RFH2 headers.
The DFHMQMSG data-container contains the IBM MQ message with any RFH2 headers removed.
The DFHMQDLQ data-container contains the name of the dead letter queue associated with the
original message.
The DFHMQCONT data-container contains the IBM MQ MQMD control block relating to the MQ GET
for the original message.
Procedure
1. Decide whether you want to use the CICS-supplied program error program, DFHPEP or create your
own.
CICSplex
Multiple CICS regions can communicate with each other and cooperate to handle inbound work requests.
This specialized type of cluster is referred to as a CICSplex. In the CICS environment, CICSplex provides
many benefits, including superior scalability, single system image, and so on. A CICSplex is managed
as a single entity. It is a significant technology for high availability and continuous operation for CICS
workloads. However on its own, it can do nothing about the availability of other subsystems or data, which
might be required to fulfill the CICS application business needs (for example, access to Db2 data).
CICSPlex SM
The CICSPlex SM element of CICS TS is the system management infrastructure that has the capability
to manage multiple CICS systems (a CICSplex) across multiple images from a single control point.
Enterprises in which CICSPlex SM might be needed range from those running only a few CICS systems
to those running hundreds of CICS regions or more. In the many large z/OS sysplex environments,
a large number of CICS systems can be needed to support the transaction processing workload.
Workload management, real-time analysis, and monitoring services are used to manage the CICSPlex
SM configuration and CICSplex environment, and to gather statistical information.
CICSPlex SM provides a real-time, single-system image of all CICS regions and resources that make up
each CICSplex in the transaction processing environment. It provides a single point of control for the
definition and deployment of resources in a CICSplex.
The CICSPlex SM workload manager dynamically routes transactions and provides workload management
for all dynamic transactions and program links across CICS systems in the target scope, taking into
account region availability, and honoring any workload affinity and workload separation requirements.
Parallel Sysplex
When you have a single copy of any system component, hardware, software, or data, you are inevitably
exposed to system outages because of either failure of the component or because of planned changes to
the component that require it to be taken offline.
One of the goals of Parallel Sysplex is to eliminate the impact that scheduled outages have on application
availability, and minimize the effects of an unscheduled outage by allowing work to continue executing on
the remaining systems in the sysplex. This requires, among other things, that the system is designed for
redundancy within the Parallel Sysplex. Applications must be able to run across multiple systems, with
Named counters
The named counter facility is used for generating unique sequence numbers for use by application
programs in a Parallel Sysplex environment.
The named counter is controlled by a named counter server, which maintains each sequence of numbers
as a named counter. Each time a sequence number is assigned, the corresponding named counter is
incremented automatically. There are various uses for this facility, such as obtaining a unique number
for documents (for example, customer orders, invoices, and despatch notes), or for obtaining a block of
numbers for allocating customer record numbers in a customer file.
In a single CICS region, you can use various methods to control the allocation of a unique number. For
example, you might use the CICS common work area (CWA) to store a number that is updated by each
application program that uses the number. However, the CWA is unique to the CICS address space, and
cannot be shared by other regions that are running the same application. A CICS shared data table might
be used to provide such a service, but the CICS regions must all run in the same z/OS image. The named
counter facility overcomes all the sharing difficulties that are presented by other methods by maintaining
its named counters in the coupling facility, and providing access through a named counter server that
is running in each z/OS image in the sysplex. This ensures that all CICS regions throughout the Parallel
Sysplex have access to the same named counters.
com.ibm.cics.rls.delete.ridfld=true
Learn more
For information about setting up VSAM RLS support in CICS, see Definitions required for VSAM RLS
support.
For more information about CICS VR, see CICS VSAM Recovery for z/OS.
Networking
CICS indirectly exploits a number of Parallel Sysplex networking techniques and facilities.
CICSPlex SM
CICSPlex SM enables you to manage multiple CICS systems across multiple images from a single control
point, as a single-system image (SSI). Just as CICSPlex SM can manage multiple CICS regions in a
single z/OS image, it can manage CICS regions across one or more Parallel Sysplexes. The provision of a
single-system image enables you to operate at the logical rather than the physical level, without regard to
either the scale or location of CICS resources.
CICS Intercommunication
CICS intercommunication is communication between a local CICS system and a remote system, which
might or might not be another CICS system. There are two types of intercommunication; multiregion
operation and intersystem communication:
Multiregion operations
By using CICS multiregion operation (MRO), CICS systems that are running in the same z/OS image, or
in the same z/OS sysplex, can communicate with each other. MRO does not support communication
between a CICS system and a non-CICS system, such as IMS. MRO does not need networking
facilities.
Intersystem communication
CICS provides intercommunications facilities for intersystem communication over SNA (ISC over SNA)
and IP interconnectivity (IPIC), so that you can communicate with external systems.
• CICS provides intersystem communication over a TCP/IP network. This form of communication is
called IP interconnectivity or IPIC. IPIC provides similar capabilities and qualities of service to those
provided by ISC over SNA.
• Intersystem communication over SNA (ISC over SNA) allows communication between CICS and
non-CICS systems or CICS systems that are not in the same z/OS image or sysplex. These
intercommunication facilities can also be used between CICS regions in the same z/OS image or
sysplex.
The CICS-supplied mirror program DFHMIRS is defined as a threadsafe program. For supported CICS
facilities, over IPIC connections only, the remote CICS region uses a threadsafe mirror transaction
and runs the request on an L8 open TCB whenever possible. For threadsafe applications that issue
commands for functions on remote CICS systems using IPIC connections, the reduction in TCB
switching improves application performance compared to other intercommunication methods. The
use of open TCBs also provides significant potential throughput improvements between CICS regions.
For more information about CICS intercommunication, see Getting started with intercommunication and
Introduction to CICS intercommunication.
Application affinities
To fully realize the benefits of Parallel Sysplex for CICS, you must remove as many affinities as possible,
because you do not want any transaction to be tied to the availability of any single CICS region.
To achieve your availability goals, you need to be able to maintain application availability across both
planned and unplanned CICS region outages. By removing all affinities, and providing multiple regions
For license inquiries regarding double-byte character set (DBCS) information, contact the IBM Intellectual
Property Department in your country or send inquiries, in writing, to:
538 Notices
• Customization Guide
• C++ OO Class Libraries
• Debugging Tools Interfaces Reference
• Distributed Transaction Programming Guide
• External Interfaces Guide
• Front End Programming Interface Guide
• IMS Database Control Guide
• Installation Guide
• Security Guide
• CICS Transactions
• CICSPlex System Manager (CICSPlex SM) Managing Workloads
• CICSPlex SM Managing Resource Usage
• CICSPlex SM Application Programming Guide and Application Programming Reference
• Java Applications in CICS
If you access the CICS documentation in manuals in PDF format, information that is NOT intended to
be used as a Programming Interface of CICS TS 6.1, but that might be misconstrued as Programming
Interfaces, is included in the following manuals:
• Data Areas
• Diagnosis Reference
• Problem Determination Guide
• CICSPlex SM Problem Determination Guide
Trademarks
IBM, the IBM logo, and ibm.com® are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be
trademarks of IBM or other companies. A current list of IBM trademarks is available on the Web at
Copyright and trademark information at www.ibm.com/legal/copytrade.shtml.
Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or
trademarks of Adobe Systems Incorporated in the United States, and/or other countries.
Apache, Apache Axis2, Apache Maven, Apache Ivy, the Apache Software Foundation (ASF) logo, and the
ASF feather logo are trademarks of Apache Software Foundation.
Gradle and the Gradlephant logo are registered trademark of Gradle, Inc. and its subsidiaries in the United
States and/or other countries.
Intel, Intel logo, Intel Inside, Intel Inside logo, Intel Centrino, Intel Centrino logo, Celeron, Intel Xeon,
Intel SpeedStep, Itanium, and Pentium are trademarks or registered trademarks of Intel Corporation or
its subsidiaries in the United States and other countries.
Java and all Java-based trademarks and logos are trademarks or registered trademarks of Oracle and/or
its affiliates.
The registered trademark Linux® is used pursuant to a sublicense from the Linux Foundation, the exclusive
licensee of Linus Torvalds, owner of the mark on a worldwide basis.
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of Microsoft Corporation in the
United States, other countries, or both.
Red Hat®, and Hibernate® are trademarks or registered trademarks of Red Hat, Inc. or its subsidiaries in
the United States and other countries.
Spring Boot is a trademark of Pivotal Software, Inc. in the United States and other countries.
Notices 539
UNIX is a registered trademark of The Open Group in the United States and other countries.
Zowe™, the Zowe logo and the Open Mainframe Project™ are trademarks of The Linux Foundation.
The Stack Exchange name and logos are trademarks of Stack Exchange Inc.
540 Notices
For CICS Explorer:
Depending upon the configurations deployed, this Software Offering may use session and persistent
preferences that collect each user’s user name and password, for purposes of session management,
authentication, and single sign-on configuration. These preferences cannot be disabled, although
storing a user's password on disk in encrypted form can only be enabled by the user's explicit action
to check a check box during sign-on.
If the configurations deployed for this Software Offering provide you, as customer, the ability to collect PII
from end users via cookies and other technologies, you should seek your own legal advice about any laws
applicable to such data collection, including any requirements for notice and consent.
For more information about the use of various technologies, including cookies, for these purposes, see
IBM Privacy Policy and IBM Online Privacy Statement, the section entitled Cookies, Web Beacons and
Other Technologies and the IBM Software Products and Software-as-a-Service Privacy Statement.
Notices 541
542 CICS TS for z/OS: Configuring CICS
Index
Index 543
BMS ROUTE requests CEMT main terminal transaction 123
autoinstalled terminals 280 CESF GOODNIGHT transaction 341
bridge CESF LOGOFF transaction 342
bridge facility definition 433 CESN transaction 344
system initialization parameters 433 changing local time 490
bridge (3270) channel-based service 309
bridge facility definition 433 characteristics of bundled resources 314
bridge facility properties 436 checking definitions of Db2 connection resources 351
FACILITYLIKE 433 checking definitions of Db2 entry resources 351
system initialization parameters 433 checking definitions of Db2 transaction resources 352
BRMAXKEEPTIME 433 checking terminal definitions 356
BSAM devices CI (control interval) 93
DD statements for 184, 340 CICS global catalog
bundle autoinstall models 282
platform 399 CICS journal utility program (DFHJUP) 108
bundle recovery 332 CICS management client interface
bundle resource interdependency 314 CICS region setup 416
bundle security 333 set up 403, 416
bundled LIBRARY resources 314 storage requirements 427
bundled PROGRAM resources 314 CICS ONC RPC data set 462
bundled TRANSACTION resources 314 CICS ONC RPC definition record 462
bundled zFS artifacts 320 CICS ONC RPC options 462
bundles CICS region 1
defining 307 CICS server support for system-managed processes 272
in platforms 330 CICS system group 1
scoping 330 CICS topology 1
types of application 309 CICS-maintained data table
Business Application Services, CPSM 5 data integrity 386
BWO (backup while open) journaling 386
disabling activity keypointing 91 performance 377
introduction 89 resource definition 385
restrictions 91 CICS-supplied TYPETERM definitions
storage management facilities 90 AUTOCONNECT attribute 281, 288
CICSplex 1, 394
CICSPlex SM 176
C CICSSVC, parameter of DFHXCOPT 449
CADS 81 CLSDST, issued by CICS at logon 282
card reader 340 CLT (command list table)
card reader and line printer 340 CLT (command list table) 302
cataloged procedures CMAC support, messages data set 137
starting CICS as a batch job 195 CMCI
starting CICS as a started task 191, 195 DEFAULTWARNCNT 412
cataloging set up 403
program autoinstall 298 setting record count warnings 412
CEDA DEFINE FILE command storage requirements 427
description 387 CMCI JVM server 416
example for CMT 389 CMCIPORT 421
example for UMT 390 CMDSEC 455
LOG parameter 387 cold start
MAXNUMRECS parameter 387 nonrecovery of autoinstalled TCT entries 288
OPENTIME parameter 387 use of GRPLIST to re-create tables 346
RECORDFORMAT parameter 387 using to remove table entries 346
TABLE parameter 387 command list table (CLT)
CEDA transaction CLT (command list table) 302
defining consoles devices 343 command logs, RDO 80
installing SNA LU terminal definitions 338 command security 455
recovery and backup 77 commands
sharing a CSD between more than one CICS region 65 CEDA command syncpoint criteria 79
CEMT CEDA DEFINE 338
INQUIRE command 391 CEDA INSTALL GROUP(groupname) 338
SET command 391 DEFINE TERMINAL CONSNAME(name) 344
CEMT INQUIRE EXCI command 445 DEFINE TERMINAL CONSOLE(number) 344
CEMT INQUIRE TERMINAL DFHCSDUP INITIALIZE 345
lock on TCT entry 282 LIST ALL OBJECTS 69
Index 545
data sets (continued) deleting (continued)
dynamic allocation using CEMT 132 resource definitions from system tables
GTF data sets 89 at autoinstall log off 282
messages data set 137 TCT entry at log off (autoinstall) 282
MVS system data sets used by CICS 89 deploying platforms 400
SDUMP data sets 89 DEVTYPE macro (MVS) 122
SMF data sets 89 DFH$TCTS, copybook 341
transient data (extrapartition) 94 DFH$TDWT (transient data write-to-terminal sample
transient data (intrapartition) 94 program) 94
user data sets DFH99, sample DYNALLOC utility program 132
BDAM 130 DFHAUPLE procedure 448
closing 133 DFHAUXT auxiliary trace data set 118
defining to CICS 131 DFHBUXT auxiliary trace data set 118
loading VSAM data sets 126 DFHCCUTL, local catalog initialization utility program 116
opening 132, 133 DFHCOMP1, CSD resource definition group 74
VSAM 126 DFHCOMP2, CSD resource definition group 74
VSAM bases and paths 126 DFHCSDUP
data sets, extrapartition definitions for the Japanese language feature 83
input 501 DFHCSDUP offline utility 6
output 502 DFHCSDUP utility program
data space invoking as a batch program 278
use by data tables 377 DFHCSVC, the CICS type 3 SVC 201
data tables DFHCXRF data set, transient data extrapartition
closing 135 DD statements for 98
loading 135 in active CICS regions 98
opening 135 DFHDBFK data set
overview 134 job control statements to define and load 136
types of 134 DFHDCTG, group of transient data definitions 81
Data-owning region 2 DFHDPFMB
day-light saving time debugging profiles data set
changing clocks 491 creating 139
daylight saving time defining
impact on CICS 490 as remote files 142
DB2CONN as VSAM non-RLS files 141
installing and discarding 350 as VSAM RLS files 141
deadlock, transaction DFHDPFMP
effect of DTIMOUT 492 debugging profiles data set
debugging creating 139
preparing for 192 defining
debugging profiles data sets as remote files 142
creating 139 as VSAM non-RLS files 141
defining as VSAM RLS files 141
as remote files 142 DFHDPFMX
as VSAM non-RLS files 141 debugging profiles data set
as VSAM RLS files 141 creating 139
define DFHDTCV 384
ENQMODEL 352 DFHDTSVC 384
LIBRARY 353 DFHFCT macro
defining debugging profiles data sets SERVREQ operand 14
as remote files 142 DFHGCD, global catalog data set 110
as VSAM non-RLS files 141 DFHISTAR job 88
as VSAM RLS files 141 DFHJUP, CICS journal utility program 108
defining general log streams 479 DFHLCD, local catalog data set 116
defining recovery attributes DFHLIST startup list
files 495 DFHMISC 506
defining replication log streams 480 DFHMVRMS 384
defining system log streams DFHNCMN, named counter server region program 257
activity keypoints 484 DFHNCO macro 254
JOURNALMODELs 481 DFHNCOPT, named counter options table 254
model log streams (coupling facility) 481 DFHPEP
MVS log streams 480 defined in DFHMISC 506
preserving data integrity 480 DFHREST, user replaceable module 492
deleting DFHRSTAT 242
existing entry at installation 348 DFHSIT keywords and operands
Index 547
GCD (global catalog data set) (continued) intercommunication, resource definition for 13
space calculations 111 intrapartition transient data
generalized trace facility (GTF) 89 backout 499
generic connection forward recovery 500
definition of 443 recoverability 499
global catalog intrapartition transient data queues
at installation 346 defining the intrapartition data set 95
for resource definitions 169 IPCONN definitions
use in restart 169 installing 353
with autoinstall 283
global catalog data set (GCD)
buffer space 113
J
description 109 Japanese language feature
job control statement for CICS execution 110 installing definitions in the CSD 83
job control statements to define and initialize 109 Java applications 309
space calculations 111 JCL (job control language)
groups of resource definitions CICS startup
installing as a batch job 183
while CICS is running 348 as a started task 191
locked, valid commands 14 job control language (JCL)
GRPLIST for CICS as a batch job 183, 195
DFHSIT operand 346 for CICS as a started task 191, 195
not used at restart 346 job stream
GTF (generalized trace facility) 89 CICS startup 182
GTF, parameter of DFHXCOPT 450 jobs
DFHISTAR 88
I journaling
BWO 89
IDCAMS, AMS utility program 126 JOURNALMODEL definitions 103
IEV017 error message 163 journals
initial start autoinstalling 300
use of GRPLIST to re-create tables 346 for extrapartition transient data set recovery 501
using to remove table entries 346 offline programs for reading 490
initial state of data table JVM
defining by CEDA 387 Language Environment enclave 53
initialization (PLT) programs storage heaps 53
use of 501
initializing CICS
cold start 346
K
emergency restart 346 KSDS (key-sequenced data set)
initial start 346 with a UMT 386
warm start 346
input data sets 501
INQUIRE FILE command L
description 391
Language Environment 453
MAXNUMRECS parameter 391, 392
Language Environment runtime library, SCEERUN 183
TABLE parameter 391, 392
Language Environment runtime library, SCEERUN2 183
INSTALL command
LCD (local catalog data set)
to install a group of resource definitions 348
description 115
installation
job control statement for CICS execution 116
MVS considerations 384
job control statements to define and initialize 115
parameter list 383
use in restart 170
installation of resource definitions
Liberty JVM server 416
and deletion of existing entry 348
libraries
cold start 346
SCEERUN, Language Environment runtime library 183
emergency restart 346
SCEERUN2, Language Environment runtime library 183
initial start 346
LIBRARY definition
quiescing resources first 348
installing definitions 353
transient data queues 355
line printer 340
warm start 346
link-editing
INSTLN parameter 383
DFHXCOPT options table 448
integrity
using DFHAUPLE 448
of CMT data 386
list structure
of UMT data 387
Index 549
O programs (continued)
autoinstalling 296
operator communication for initialization parameters 169, programs for CICS ONC RPC
197 defining in CICS 455
OPIDENT operand PROTOCOL attribute
DFHSNT CONNECTION definition 443
for controlling access to groups and lists 14 SESSIONS definition 443
OPNDST, issued by CICS at logon 282 PSDINT 345
OSGi bundles 309 PSTYPE 345
OSGi recovery 332
output data sets 502
overriding system initialization parameters
Q
from the console 169, 197 QUERY function
from the SYSIN data set 168 with autoinstall 282
overview of coupling facility data table server 218
overview of temporary storage data sharing server 204
R
P RACF
used as security manager 383
PARMSRCE parameter 176 RBA (relative byte address) 97
PARMTYPE parameter 176 RDO (resource definition online)
partition sets CICS system definition data set (CSD) 65
autoinstalling 296 read-only CSD file, for production system 14
performance RECEIVECOUNT attribute, SESSIONS definition 444
benefits of data tables 377 RECEIVEPFX attribute, SESSIONS definition 444
of a CMT 377 record count warnings 412
of a UMT 377 record-level sharing (RLS)
persistent message 503 VSAM data sharing 128
persistent message support 505 recovery
persistent sessions 345 backward 494, 499, 502
physical recovery 500 logical 499
pipe no recovery needed 500
invocation of DFHXCURM during ALLOCATE_PIPE 446 physical 500
pipeline terminals recovery and restart
ineligible for autoinstall 285 and connection autoinstall 296
planning for data tables 377, 384 and program autoinstall 299
PLATDEF 394, 400 autoinstall 288
platform recovery for transactions
creating 399 automatic restart using DFHREST 492
deploying 400 purging 492
PLATFORM 400 timeout for long waits 492
platform design 394 recovery of data tables
platform project 399, 400 defining by CEDA 387
platforms 394 recovery, OSGi bundles 332
PLT (program list table) 303 RECOVNOTIFY 345
postinitialization (PLT) programs RECOVOPTION 345
(initialization programs) referencing zFS artifacts 320
use of 501 region 1
prerequisites for CICS ONC RPC 453 REGION parameter 181
preset security 294 region status
printers starting a server 241
eligible for autoinstall 285 region status server
program autoinstall list structure, defining 242
and recovery and restart 299 region type 394
cataloging 298 Register from Data Set option 467
for autoinstall control program 299 registering 4-tuples 468
model definitions 298 registration
program error program (PEP) with CICS ONC RPC 468
CICS-supplied DFHPEP 506 with TCP/IP for MVS 468
editing 506 relative byte address (RBA) 97
omitting DFHPEP 507 RELOAD, named counter pool 265
user-supplied DFHPEP 506 REMOTENAME parameter 456
program list table (PLT) 181, 303 REMOTESYSTEM parameter 456
programs
Index 551
sharing the CSD (continued) static routing
protection by internal locks 71 EXCI 441
sharing between CICS regions 71 statistics
sign-on table (SNT) to select data tables 380
OPIDENT operand 14 storage calculations 206
single session terminals storage management subsystem (SMS)
APPC backup while open facility 89
eligible for autoinstall 285 release information 90
single-node persistent sessions 345 storage protection for CICS regions 62
SIT (system initialization table) storage requirements
APPLID (CICS system name) 14 for the CICS management client interface 427
DFHSIT keywords and operands 152 storage requirements for CICS regions 181
DFHSIT TYPE=CSECT 152 storage use
DFHSIT TYPE=DSECT 152 description 377
supplying system initialization parameters to CICS 165 subpools
SIT parameters CDSA 26
retrieving information 176 ECDSA 29, 42
size of data table ERDSA 44
defining by CEDA 387 ESDSA 43
defining by SET command 391 GCDSA 44
finding by INQUIRE command 391, 392 GSDSA 46
SMS (storage management subsystem) 90 PCDSA 28, 29
SMSS RDSA 28
set up 416 SDSA 27
SNPS 345 suffixes of CICS control tables 302
source data set suppressing user data in trace
with multiple files 386 CONFDATA option 449
space calculations SVC
CSD 66 specifying DFHCSVC in the startup job 201
defining data sets 85 SYSPARM resource table 176
disk space 66 sysplex 1
dump data sets 120 system authorization facility 383
global catalog 111 system console 342
specific connection system data sets 85
definition of 442 system dumps 121
SPURGE option (DEFINE TRANSACTION) 492 system group 1
START command, MVS 191, 195 system initialization
START operand, DFHSIT 346 for an alternate CICS (XRF=YES)
start, cold START=STANDBY 195
nonrecovery of autoinstalled TCT entries 288 how CICS determines the type of startup 169
start, emergency START=AUTO 170, 194
temporary recovery of autoinstalled TCT entries 288 START=COLD 171
START, system initialization parameter START=INITIAL 171, 194
START=AUTO 170, 194 system initialization parameters
START=COLD 171, 194 entering at the console 169, 197
START=INITIAL 171, 194 from operator's console 165, 169, 197
START=STANDBY 195 how to specify 146
start, warm in the PARM parameter 165, 167
nonrecovery of autoinstalled TCT entries 288 in the SYSIN data set 165, 168
started task, CICS as a 191, 195 PGAICTLG 298
starting CICS regions system initialization table (SIT)
as a batch job 195 DFHSIT keywords and operands 152
as a started task 191, 195 supplying system initialization parameters to CICS 165
MVS START command 191, 195 system logs
sample job stream 182 log-tail deletion 485
specifying the type of startup 169 system management facilities
START=AUTO 170, 194 for CICS statistics 89
START=COLD 171 system programming
START=INITIAL 171, 194 EXEC CICS CREATE commands 6
START=STANDBY, for an XRF alternate CICS 195 EXEC CICS CSD commands 6
starting the connection manager 458 system startup
startup job streams startup job stream 182
terminals 338 system tables, CICS
startup procedure, DFHSTART 182
Index 553
U XFCNREC
overriding open failures 498
UNLOAD, named counter pool 265 XLT (transaction list table) 303
UNLOCK GROUP command XLT definitions 457
controlling access to groups 14 XML-based service 309
UNLOCK LIST command XRES system initialization parameter 333
controlling access to lists 14
user abend exit creation 505
user file definitions 125
Z
user files z/OS Communications Server
coupling facility data table server 218 ACB at CICS startup 174
user-maintained data table deletion of TCT entry by autoinstall at end of session
data integrity 387 282
journaling 387 logging on to CICS through 282
performance 377 NETNAME 282, 288
resource definition 385 persistent sessions support 345
user-replaceable module terminals, statements for 338
DFHXCURM 446 z/OS Communications Server
utility programs terminals
DFHCCUTL, local catalog initialization utility program autoinstalling 280
116 z/OS console, defining to CICS 342
DFHJUP, CICS journal utility program 108 z/OZ Communications
IDCAMS, AMS utility program 126 ServerSNA
and autoinstall 282
V
variables 335, 337
VERBEXIT, IPCS parameter 121
VSAM
alternate indexes 386
base cluster 386
SHAREOPTION 386
VSAM data sets
bases and paths 126
loading empty VSAM data sets 126
opening and closing 132, 133
VSAM files
forward recovery considerations 494
VSAM intrapartition data set 94
VSAM RLS
for sharing data 380
recovery attributes 387
suitable for UMT 386
unsuitable for CMT 386
W
warm restart
nonrecovery of autoinstalled entries 288
recreation of tables 346
web services 503
WebSphere MQ persistent messages 503
X
XCFGROUP, parameter of DFHXCOPT 452
XDR routines
specifying 466
XDUCLSE, dump global user exit 122, 124
XDUOUT, dump global user exit 122, 124
XDUREQ, dump global user exit 122, 124
XDUREQC, dump global user exit 122, 124
XES, named counter server response to 262