Main
            Page
            Page
            Page
              Contents
Part 1. Customizing with user exit programs ..................1              
iv 
            Page
              Part 2. Customizing with initialization and shutdown programs ........423
vi               
Part 3. Customizing with user-replaceable programs .............433
              viii 
            Page
              x
            Page
              Part 4. Customizing the XRF overseer program................687
Part 5. CICS journaling, monitoring, and statistics ..............707                
xii 
              Part 6. Customizing CICS compatibility interfaces ..............779
Part 7. Customizing CICS security processing ................787              
Part 8. Examining and modifying resource attributes .............807
Part 9. Appendixes .............................831                
xiv 
            Page
            Page
              Preface
What this book is about                
Who this book is for
What you need to know to understand this book                
How to use this book
              Syntax notation and conventions used in this book
xviii               
Summary of changes
Changes for CICS Transaction Server for z/OS, Version 3 Release 2                
Changes for CICS Transaction Server for z/OS, Version 3 Release 1
              Changes for CICS Transaction Server for z/OS, Version 2 Release 3
xx             
Page
            Page
              Chapter 1. Global user exit programs
Writing global user exit programs                
Register conventions
              31-bit addressing implications
Access register implications                
4
Using CICS services                
Using EXEC CICS and XPI calls in the same exit program
              Using channels and containers
              Assembler programs and LEASM
EDF and global user exits                
6
The global work area                
Making trace entries
              Parameters passed to the global user exit program
DFHUEPAR standard parameters              
8
            Page
              Returning values to CICS
10               
Restrictions on the use of fields as programming interfaces
Exit programs and the CICS storage protection facility                
Execution key for global user exit programs
Data storage key for global user exit programs                
Exit programs and transaction isolation
              Errors in user exit programs
Defining, enabling, and disabling an exit program                
12 
              Viewing active global user exits
Invoking more than one exit program at a single exit              
Invoking a single exit program at more than one exit
Making programs threadsafe                
14 
              Sample global user exit programs
Basic sample and example programs                
Global work area (GWA) sample exit programs
              The DFH$PCPI program
16               
Sample program definitions
Example program              
Sample programs for specific exits
18                 
The Application Associated Data sample exit program
The Basic Mapping Support sample exit program                
The data tables sample exit programs
              The dump domain sample exit program
The enqueue EXEC interface sample exit program                
The file control state program sample exit program
The file control recovery program sample exit programs              
The function-shipping and DPL queue control sample exit program
The HTTP client sample exit programs                
20 
DFH$WBPI              
DFH$WBEX
DFH$WBX1              
DFH$WBX2
22               
The interval control EXEC interface sample exit program
The log manager domain sample exit program                
The message domain sample exit programs
              The MRO and APPC session queue management sample exit program
The pipeline sample exit program                
24 
The session queue management sample exit program, for IPIC connections                
The transaction-abend sample exit program
              Alphabetical list of global user exit points
              26 
            Page
              28 
            Page
              30 
              |
              Global user exit points by functional area
Activity keypoint program exit XAKUSER                
32 
Exit XAKUSER              
Application Associated Data exit, XAPADMGR, in the APdomain
Exit XAPADMGR                
Sample exit program, DFH$APAD
              Basic Mapping Support exits XBMIN and XBMOUT
34               
Sample program, DFH$BMXT
Exit XBMIN                
Exit XBMOUT
              The field element table structure
36               
Programming the XBMIN exit
Programming the XBMOUT exit              
Bridge facility exit XFAINTU
38                 
Exit XFAINTU
            Page
              Data tables management exits XDTRD, XDTAD, and XDTLC
40               
Exit XDTRD
              42 
              Exit XDTAD
              Exit XDTLC
44               
DBCTL interface control program exit XXDFA
              DBCTL tracking program exits XXDFB and XXDTO
Exit XXDFB                
46 
Exit XXDTO              
Dispatcher domain exits XDSBWT and XDSAWT
Exit XDSBWT                
Exit XDSAWT
              DL/I interface program exits XDLIPRE and XDLIPOST
48               
Exit XDLIPRE
              50 
              Exit XDLIPOST
              52 
              Dump domain exits XDUREQ, XDUREQC, XDUCLSE, and XDUOUT
Exit XDUREQ              
54 
            Page
              Exit XDUREQC
56             
Page
              58 
              Exit XDUCLSE
Exit XDUOUT              
Enqueue EXEC interface program exits XNQEREQ and XNQEREQC
Exit XNQEREQ                
60 
              Exit XNQEREQC
              62 
            Page
              64 
            Page
              Sample exit program, DFH$XNQE
66               
EXEC interface program exits XEIIN, XEIOUT, XEISPIN, and XEISPOUT
              The command parameter list
68               
Bypassing commands
Exit XEIIN              
Exit XEISPIN
70               
Exit XEIOUT
Exit XEISPOUT              
File control domain exits, XFCFRIN and XFCFROUT
XFCFRIN                
72 
              XFCFROUT
              Exit XFCFRIN
74             
Page
              76 
            Page
              78 
            Page
              Exit XFCFROUT
80             
Page
              82 
            Page
              84 
              File control EXEC interface API exits XFCREQ and XFCREQC
              86 
            Page
              88 
            Page
              90 
              Modifying fields in the command-level parameter structure
              Modifying the EID
92               
Use of the task token UEPTSTOK
              Use of the parameter UEPFSHIP
The EIB                
94 
Example of how XFCREQ and XFCREQC can be used              
Exit XFCREQ
              Exit XFCREQC
96             
Page
Example program              
File control EXEC interface SPI exits XFCAREQ and XFCAREQC
98               
Exit XFCAREQ
              Exit XFCAREQC
100             
Page
              102 
            Page
              104 
            Page
              106 
              Modifying fields in the command-level parameter structure
||||              
108 
            Page
              Modifying the EID
Use of the task token UEPTSTOK                
110 
Modifying user arguments              
File control file state program exits XFCSREQ and XFCSREQC
              Exit XFCSREQ
112             
Page
              114 
            Page
              Exit XFCSREQC
116             
Page
              118 
            Page
              120 
              File control open/close program exit XFCNREC
Using XFCNREC with a back out recovery setting mismatch                
Using XFCNREC with a BWO mismatch
              File control quiesce receive exit, XFCVSDS
122               
Exit XFCVSDS
              File control quiesce send exit XFCQUIS
124             
Page
              File control recovery program exits XFCBFAIL, XFCBOUT,XFCBOVER, and XFCLDEL
Order of invocation                
126 
Enabling the exit programs              
Exit XFCBFAIL, file control backout failure exit
              128 
            Page
              130 
              Exit XFCBOUT, file control backout exit
              Exit XFCBOVER, file control backout override exit
132             
Page
              134 
              Exit XFCLDEL, file control logical delete exit
              136 
              Front End Programming Interface exits XSZARQ and XSZBRQ
              Good morning message program exit XGMTEXT
HTTP client open and send exits: XWBAUTH, XWBOPEN and XWBSNDO                
138 
Intersystem communication program exits XISCONA and XISLCLQ                
The XISCONA exit
            Page
              140 
              The XISLCLQ exit
              142 
              Interval control program exits XICREQ, XICEXP, and XICTENF
Exit XICREQ              
Exit XICEXP
144                 
Exit XICTENF
              Interval control EXEC interface program exits XICEREQ, XICERES, and XICEREQC
              Parameters passed to each of the exits
Exit XICEREQ                
146 
            Page
              Exit XICERES
148               
Exit XICEREQC
              150 
ADDRD Seconds | monthofyear                
Chapter1. Global user exit programs 151
              Figure1. The command-level parameter structure for interval control
              152 
            Page
              154 
            Page
              156 
            Page
              158 
            Page
              160 
            Page
              Loader domain exits XLDLOAD and XLDELETE
162               
Exit XLDLOAD
Exit XLDELETE              
Log manager domain exit XLGSTRM
164             
Page
              Exit XLGSTRM
166               
An example of how XLGSTRM can be used
The sample program for the XLGSTRM exit, DFH$LGLS              
Message domain exit XMEOUT
168               
Exit XMEOUT
              170 
              The sample XMEOUT global user exit programs
              Monitoring domain exit XMNOUT
Exit XMNOUT                
172 
            Page
              Pipeline domain exits
Exit XWSPRROO                
Exit-specific parameters
174                 
Return codes
              Program control program exits XPCREQ, XPCERES, XPCREQC, XPCFTCH, XPCHAIR, XPCTA, and XPCABND
XPCREQ, XPCERES, and XPCREQC              
176 
            Page
              178 
            Page
              180 
            Page
              182 
            Page
              184 
            Page
              Exit XPCFTCH
186             
Page
              The sample XPCFTCH global user exit program, DFH$PCEX
Exit XPCHAIR                
188 
            Page
              Exit XPCTA
190               
The sample XPCTA global user exit program, DFH$PCTA
              Exit XPCABND
192               
Resource manager interface program exits XRMIIN and XRMIOUT
Exit XRMIIN              
Exit XRMIOUT
194               
Resource management install and discard exit XRSINDI
              Exit XRSINDI
196             
Page
              198 
              Signon and signoff exits XSNON, XSNOFF, and XSNEX
Exit XSNON              
Exit XSNOFF
200               
Exit XSNEX
              Statistics domain exit XSTOUT
Exit XSTOUT                
202 
              System recovery program exit XSRAB
              204 
            Page
              System termination program exit XSTERM
Exit XSTERM                
206 
              Temporary storage domain exits XTSQRIN, XTSQROUT, XTSPTIN, and XTSPTOUT
Exit XTSQRIN              
Exit XTSQROUT
208             
Page
              Exit XTSPTIN
210               
Exit XTSPTOUT
              Temporary storage EXEC interface program exits XTSEREQ and XTSEREQC
212               
Exit XTSEREQ
              Exit XTSEREQC
214             
Page
              216 
            Page
              218 
            Page
              220 
              Terminal allocation program exit XALCAID
Exit XALCAID              
222 
              Terminal control program exits XTCIN, XTCOUT, and XTCATT
Exit XTCIN                
Exit XTCOUT
Exit XTCATT              
Terminal not known condition exits XALTENF and XICTENF
224               
The exits
              Exit XALTENF
226             
Page
              Exit XICTENF
228             
Page
              The sample program for the XALTENF and XICTENF exits, DFHXTENF
230             
Page
              Transaction manager domain exit XXMATT
Exit XXMATT                
232 
            Page
              Transient data program exits XTDREQ, XTDIN, and XTDOUT
Exit XTDREQ                
234 
Exit XTDIN              
Exit XTDOUT
              Transient data EXEC interface program exits XTDEREQ and XTDEREQC
Example program                
236 
              Exit XTDEREQ
              Exit XTDEREQC
238             
Page
              240 
            Page
              242 
            Page
              User log record recovery program exits XRCINIT and XRCINPT
244               
Coding the exit programs
Enabling the exit programs              
Exit XRCINIT
Exit XRCINPT                
246 
              VTAM terminal management program exit XZCATT
Exit XZCATT              
VTAM working-set module exits XZCIN, XZCOUT, XZCOUT1, and XZIQUE
Exit XZCIN                
248 
Exit XZCOUT              
Exit XZCOUT1
XZIQUE exit for managing MRO and APPC intersystem queues              
250 
            Page
              252 
            Page
              254 
            Page
              Designing an XZIQUE global user exit program
256             
Page
              XISQUE exit for managing IPIC intersystem queues
When the XISQUE exit is invoked                
258 
Exit XISQUE            
Page
              Using an XISQUE global user exit program
260               
Statistics fields in DFHISRDS
              Designing an XISQUE global user exit program
Using IPCONN statistics                
262 
The sample exit program, DFH$XISQ              
XRF request-processing program exit XXRSTAT
              Exit XXRSTAT
264             
Page
            Page
              Chapter 2. Task-related user exit programs
Introduction to the task-related user exit mechanism (the adapter)              
THEADAPTER
268               
The stub program
              Returning control to the application program
Task-related user exits and EDF                
270 
              Writing a task-related user exit program
Obligations of OPENAPI task-related user exits              
Threadsafe restrictions
Calling an OPENAPI task-related user exit                
272 
              User exit parameter lists
              DFHUEPAR
274             
Page
              276 
            Page
              DFHUERTR (the function definition)
278               
Caller parameter lists
              280 
            Page
              282 
            Page
              284 
              Summary of the task-related user exit parameter lists
Figure7. Task-related user exit parameter lists              
286 
              The schedule flag word
              Register handling in the task-related user exit program
Saving CICS registers                
288 
The calling programs registers                
The RMI registers
              Addressing-mode implications
              Exit programs and the CICS storage protection facility
Execution key for task-related user exit programs                
290 
Data storage key for task-related user exit programs                
Recursion within a task-related user exit program
              Using CICS services in your task-related user exit program
              Using channels and containers
Assembler programs and LEASM                
292 
Wait states in your task-related user exit program                
Work areas
              Coding a program to be invoked by the CICS SPI
Coding a program to be invoked by the CICS syncpoint manager              
Increasing efficiency  single-update and read-only protocols
Return codes                
294 
              What is expected of your resource manager
Sample code for a TRUE invoked by the CICS syncpoint manager              
296 
Resynchronization              
Coding a program to be invoked by the CICS task manager
              Coding a program to be invoked at CICS termination
298               
Sample code for a TRUE invoked at CICS termination
              300 
              Using EDF with your task-related user exit program
              Administering the adapter
302               
What you must do before using the adapter
Enabling for specific invocation-types                
The administration routines
              Tracing a task-related user exit program
304               
Chapter 3. The user exit programming interface (XPI)
Overview of the XPI              
306 
            Page
              Making an XPI call
308             
Page
              310 
            Page
              Setting up the XPI environment
XPI register usage                
312 
              The XPI copy books
Reentrancy considerations resulting from XPI calls                
Global user exit XPI examples, showing the use of storage
            Page
            Page
              316 
            Page
              An example showing how to build a parameter list incrementally
318               
XPI syntax
              320 
              Directory domain XPI functions
The BIND_LDAP call                
BIND_LDAP
              RESPONSE and REASON values for BIND_LDAP:
322               
The END_BROWSE_RESULTS call
END_BROWSE_RESULTS                
RESPONSE and REASON values for END_BROWSE_RESULTS:
The FLUSH_LDAP_CACHE call                
FLUSH_LDAP_CACHE
              The FREE_SEARCH_RESULTS call
324                 
FREE_SEARCH_RESULTS
RESPONSE and REASON values for FREE_SEARCH_RESULTS:              
The GET_ATTRIBUTE_VALUE call
GET_ATTRIBUTE_VALUE                
RESPONSE and REASON values for GET_ATTRIBUTE_VALUE:
              The GET_NEXT_ATTRIBUTE call
326                 
GET_NEXT_ATTRIBUTE
RESPONSE and REASON values for GET_NEXT_ATTRIBUTE:              
The GET_NEXT_ENTRY call
GET_NEXT_ENTRY                
RESPONSE and REASON values for GET_NEXT_ENTRY:
              The SEARCH_LDAP call
328                 
SEARCH_LDAP
RESPONSE and REASON values for SEARCH_LDAP:              
The START_BROWSE_RESULTS call
START_BROWSE_RESULTS                
START_BROWSE_RESULTS:
              The UNBIND_LDAP call
330                 
UNBIND_LDAP
RESPONSE and REASON values for UNBIND_LDAP:              
Dispatcher XPI functions
Synchronization protocols for SUSPEND and RESUME processing              
The normal synchronization protocol
The synchronization protocol and task purge                
332 
              Alternative approach to task purge
              The ADD_SUSPEND call
ADD_SUSPEND                
334 
RESPONSE and REASON values for ADD_SUSPEND:              
The SUSPEND call
SUSPEND              
336 
            Page
              RESPONSE and REASON values for SUSPEND:
338               
The RESUME call
RESUME                
RESPONSE and REASON values for RESUME:
              The DELETE_SUSPEND call
DELETE_SUSPEND                
340 
RESPONSE and REASON values for DELETE_SUSPEND:                
The WAIT_MVS call
              WAIT_MVS
              342 
            Page
RESPONSE and REASON values for WAIT_MVS:              
The CHANGE_PRIORITY call
344                 
CHANGE_PRIORITY
RESPONSE and REASON values for CHANGE_PRIORITY:              
Dump control XPI functions
The SYSTEM_DUMP call                
SYSTEM_DUMP
              RESPONSE and REASON values for SYSTEM_DUMP:
346               
The TRANSACTION_DUMP call
TRANSACTION_DUMP              
RESPONSE and REASON values for TRANSACTION_DUMP:
348               
Enqueue domain XPI functions
The ENQUEUE function                
ENQUEUE
RESPONSE and REASON values for ENQUEUE              
The DEQUEUE function
350                 
DEQUEUE
RESPONSE and REASON values for DEQUEUE              
Kernel domain XPI functions The START_PURGE_PROTECTION function
START_PURGE_PROTECTION                
RESPONSE values for START_PURGE_PROTECTION:
The STOP_PURGE_PROTECTION function                
STOP_PURGE_PROTECTION
              Nesting purge protection calls
Loader XPI functions              
The DEFINE_PROGRAM call
DEFINE_PROGRAM              
354 
              RESPONSE and REASON values for DEFINE_PROGRAM:
              The ACQUIRE_PROGRAM call
ACQUIRE_PROGRAM                
356 
            Page
RESPONSE and REASON values for ACQUIRE_PROGRAM:              
The RELEASE_PROGRAM call
358                 
RELEASE_PROGRAM
RESPONSE and REASON values for RELEASE_PROGRAM:              
The DELETE_PROGRAM call
DELETE_PROGRAM                
RESPONSE and REASON values for DELETE_PROGRAM:
              Log manager XPI functions
360                 
The INQUIRE_PARAMETERS call
INQUIRE_PARAMETERS                
RESPONSE and REASON values for INQUIRE_PARAMETERS:
              The SET_PARAMETERS call
SET_PARAMETERS                
RESPONSE and REASON values for SET_PARAMETERS:
Monitoring XPI functions              
The MONITOR call
MONITOR                
362 
            Page
RESPONSE and REASON values for MONITOR:              
The INQUIRE_MONITORING_DATAcall
364               
INQUIRE_MONITORING_DATA
INQUIRE_MONITORING_DATA:              
Program management XPI functions
The INQUIRE_PROGRAM call                
366 
INQUIRE_PROGRAM            
Page
              368 
            Page
              370 
            Page
              372 
RESPONSE and REASON values for INQUIRE_PROGRAM:              
The INQUIRE_CURRENT_PROGRAM call
INQUIRE_CURRENT_PROGRAM              
374 
INQUIRE_CURRENT_PROGRAM:              
The SET_PROGRAM call
              SET_PROGRAM
376             
Page
              RESPONSE and REASON values for SET_PROGRAM:
378               
The START_BROWSE_PROGRAM call
START_BROWSE_PROGRAM                
START_BROWSE_PROGRAM:
              The GET_NEXT_PROGRAM call
GET_NEXT_PROGRAM                
380 
RESPONSE and REASON values for GET_NEXT_PROGRAM:              
The END_BROWSE_PROGRAM call
END_BROWSE_PROGRAM                
RESPONSE and REASON values for END_BROWSE_PROGRAM:
              The INQUIRE_AUTOINSTALL call
INQUIRE_AUTOINSTALL                
382 
RESPONSE and REASON values for INQUIRE_AUTOINSTALL:                
The SET_AUTOINSTALL call
              SET_AUTOINSTALL
RESPONSE and REASON values for SET_AUTOINSTALL:              
State data access XPI functions
The INQ_APPLICATION_DATA call                
384 
INQ_APPLICATION_DATA            
Page
RESPONSE and REASON values for INQ_APPLICATION_DATA:              
The INQUIRE_SYSTEM call
386                 
The INQUIRE_SYSTEM call gives you access to CICS system data in the AP domain.
INQUIRE_SYSTEM            
Page
              388 
            Page
              RESPONSE and REASON values for INQUIRE_SYSTEM
390               
The SET_SYSTEM call
SET_SYSTEM                
RESPONSE and REASON values for SET_SYSTEM:
              Storage control XPI functions
392                 
The GETMAIN call
              GETMAIN
              RESPONSE and REASON values for GETMAIN:
394               
The FREEMAIN call
FREEMAIN                
RESPONSE and REASON values for FREEMAIN:
The INQUIRE_ACCESS call                
INQUIRE_ACCESS
              The INQUIRE_ELEMENT_LENGTH call
396                 
INQUIRE_ELEMENT_LENGTH
INQUIRE_ELEMENT_LENGTH:              
The INQUIRE_SHORT_ON_STORAGE call
INQUIRE_SHORT_ON_STORAGE                
INQUIRE_SHORT_ON_STORAGE:
              The INQUIRE_TASK_STORAGE call
398                 
INQUIRE_TASK_STORAGE
RESPONSE and REASON values for INQUIRE_TASK_STORAGE:              
The SWITCH_SUBSPACE call
SWITCH_SUBSPACE                
RESPONSE and REASON values for SWITCH_SUBSPACE:
Trace control XPI function              
The TRACE_PUT call
TRACE_PUT                
400 
RESPONSE values for TRACE_PUT              
Transaction management XPI functions
The INQUIRE_CONTEXT call                
INQUIRE_CONTEXT
              RESPONSE and REASON values for INQUIRE_CONTEXT:
402               
The INQUIRE_DTRTRAN call
INQUIRE_DTRTRAN                
RESPONSE and REASON values for INQUIRE_DTRTRAN:
The INQUIRE_MXT call                
INQUIRE_MXT
              RESPONSE and REASON values for INQUIRE_MXT:
404               
The INQUIRE_TCLASS call
INQUIRE_TCLASS                
RESPONSE and REASON values for INQUIRE_TCLASS:
              The INQUIRE_TRANDEF call
406                 
INQUIRE_TRANDEF
            Page
              408 
            Page
              410 
            Page
              412 
            Page
RESPONSE and REASON values for INQUIRE_TRANDEF:              
The INQUIRE_TRANSACTION call
414                 
INQUIRE_TRANSACTION
            Page
              416 
            Page
RESPONSE and REASON values for INQUIRE_TRANSACTION:              
The SET_TRANSACTION call
418                 
SET_TRANSACTION
RESPONSE and REASON values for SET_TRANSACTION:              
User journaling XPI function
The WRITE_JOURNAL_DATA call              
WRITE_JOURNAL DATA
RESPONSE and REASON values for WRITE_JOURNAL_DATA:                
420 
            Page
            Page
            Page
            Page
              Chapter 4. Writing initialization and shutdown programs
Writing initialization programs                
First-phase PLT programs
              Second phase PLT programs
426               
Effect of delayed recovery on PLTPI processing
              Writing shutdown programs
First phase PLT programs                
428 
PLT programs for the second quiesce stage              
The shutdown assist utility program, DFHCESD
General considerations when writing initialization and shutdown programs              
Storage keys for PLT programs
Execution key for PLT programs                
Non-Java Programs
Java Programs                
430 
              Data storage key for PLT programs
            Page
            Page
            Page
              Chapter 5. General notes about user-replaceable programs
Rewriting user-replaceable programs              
Assembling and link-editing user-replaceable programs
436               
User-replaceable programs and the storage protection facility
Execution key for user-replaceable programs              
Data storage key for user-replaceable programs
438               
Chapter 6. Writing a program error program
              440 
            Page
              442 
              The sample program error programs
            Page
              Chapter 7. Writing a transaction restart program
              The DFHREST communications area
446               
The CICS-supplied transaction restart program
            Page
              Chapter 8. Writing a terminal error program
Background to error handling for sequential devices                
When an abnormal condition occurs
              Terminal control program
Terminal abnormal condition program                
450 
Terminal error program              
The communication area
Terminal abnormal condition line entry (TACLE)                
The sample terminal error program
Components of the sample terminal error program              
TEP error table
452                 
TEP default table
              Structure of the sample terminal error program
              Entry and initialization
Terminal ID and error code lookup                
454 
Error processor selection                
Error processing execution
              General exit
Common subroutines              
Sample terminal error program messages
456             
Page
              Generating the sample terminal error program
458               
Job control for generating the sample terminal error program
DFHTEPMgenerating the sample DFHTEP module              
460 
            Page
              DFHTEPM TYPE=ENTRY and EXITfor user entry and exit routines
DFHTEPM TYPE=ERRPROCreplacing error processors                
462 
              DFHTEPM TYPE=FINALending the sample DFHTEP module
DFHTEPM macro examples              
DFHTEPTgenerating the sample DFHTEP tables
464               
DFHTEPT TYPE=INITIALestablishing the control section
DFHTEPT TYPE=PERMTIDassigning permanent terminal error blocks              
DFHTEPT TYPE=PERMCODE|ERRCODEdefining error status elements
466             
Page
              DFHTEPT TYPE=BUCKETusing the error bucket for specific errors
468               
DFHTEPT TYPE=FINALterminating DFHTEPT entries
DFHTEPTexamples of how the macros are used              
Writing your own terminal error program
Why write your own terminal error program?                
470 
Restrictions on the use of EXEC CICS commands              
Addressing the contents of the communication area
              Resetting the flags in the user action byte, TEPCAACT
472               
Addressing the contents of the TACLE
              474 
              Example of a user-written terminal error program
              DFHTEP recursive retry routine
476             
Page
              478 
              Chapter 9. Writing a node error program
              Background to CICS-VTAM error handling
Why use a NEP to supplement CICS default actions?                
480 
              An overview of writing a NEP
              The default NEP
The sample NEP                
482 
The node error table              
Coding the sample NEP
              484 
              Multiple NEPs
              When an abnormal condition occurs
486               
The communication area
              488 
            Page
              490 
              The user option bytes (TWAOPTL)
              492 
            Page
              Additional information for the NEP (TWAADINF)
494               
The additional system parameters (TWASYSPM)
XRF parameters (TWAXRNOT)              
The sample node error program
Compatibility with the sample terminal error program                
496 
Components of the sample node error program              
Entry section
Routing mechanism                
Node error table
              Optional common subroutines
Optional error processors for 3270 logical units                
498 
Optional error processor for interactive logical units              
Generating the sample node error program
DFHSNEP TYPE=USTOR and USTORENDdefining user storage              
DFHSNEP TYPE=INITIALgenerating the routing mechanism
DFHSNEP TYPE=DEF3270including error processors for 3270 LUs                
500 
              DFHSNEP TYPE=DEFILUincluding error processors for INTLUs
DFHSNEP TYPE=FINALterminating DFHSNEP entries                
DFHSNEP TYPE=ERRPROCspecifying a user error processor
              502 
              DFHSNETgenerating the node error table
              DSECTs
504               
Writing your own node error program
Restrictions on the use of EXEC CICS commands              
Entry and addressability
Coding for the 3270 unavailable printer condition                
506 
              Coding for session failures
              Coding for specific VTAM sense codes
Writing multiple NEPs                
508 
DFHZNEPI macros              
DFHZNEPI TYPE=INITIALspecifying the default routine
DFHZNEPI TYPE=ENTRYspecifying a transaction-class routine                
DFHZNEPI TYPE=FINALterminating DFHZNEPI entries
              Handling shutdown hung terminals in the node error program
How DFHZNAC passes the setting of TCSACTN to DFHZNEP                
510 
How DFHZNAC passes the DFHZC2351 reason code to DFHZNEP                
How DFHZNEP can modify the force-close action for the current terminal
              The node error program with persistent session support
Changing the recovery notification              
Changing the recovery message
Changing the recovery transaction                
512 
Using the node error program with VTAM generic resources            
Page
            Page
              Chapter 10. Writing a program to control autoinstall of terminals
Autoinstalling terminalspreliminary considerations              
Coding entries in the VTAM LOGON mode table
Using model terminal support (MTS)                
516 
Coding entries for MTS              
The autoinstall control program for terminals
              The communication area at INSTALL for terminals
518               
How CICS builds the list of autoinstall models
              Returning information to CICS
520               
Selecting the autoinstall model
              Setting the TERMINAL name
522               
CICS action on return from the control program
              524 
              The communication area at DELETE for terminals
              Testing and debugging
526               
The sample autoinstall control programs for terminals
              Customizing the sample program
Assembler language                
528 
            Page
              COBOL
530               
PL/I
              532 
            Page
            Page
              Chapter 11. Writing a program to control autoinstall of consoles
Autoinstalling consolespreliminary considerations                
Leaving it all to CICS
Using an autoinstall control program              
The communication area at INSTALL for consoles
536             
Page
              How CICS builds the list of autoinstall models
Returning information to CICS                
538 
              Selecting the autoinstall model
Setting the TERMINAL name              
CICS action on return from the control program
540             
Page
            Page
              Chapter 12. Writing a program to control autoinstall of APPC connections
Autoinstalling APPC connectionspreliminary considerations                
Local APPC single-session connections initiated by CINIT
Local APPC parallel-session and single-session connections initiated by BIND              
Autoinstall templates for APPC connections
Benefits of autoinstall                
544 
Requirements for autoinstall              
The autoinstall control program for APPC connections
Recovery and restart                
The communication area at INSTALL for APPC connections
              546 
            Page
              548 
              When autoinstalled APPC connections are deleted
Single-session connections installed via a CINIT                
Synclevel 1 connections installed via a BIND
Synclevel 2 connections installed via a BIND                
550 
              The sample autoinstall control program for APPC connections
Default actions of the sample program              
Resource definitions
            Page
              Chapter 13. Writing a program to control autoinstall of IPIC connections
Autoinstalling IPIC connections: preliminary considerations                
Autoinstall templates for IPCONNs
              Requirements for autoinstall
When the user program is invoked                
554 
The autoinstall user program for IPCONNs                
Recovery and restart
              The autoinstall user program at INSTALL
The communication area at INSTALL for IPCONNs              
The autoinstall user program at DELETE
556               
When autoinstalled IPCONNs are deleted
The sample autoinstall user program for IPIC connections (IPCONN)              
Default actions of the sample program
At INSTALL                
558 
At DELETE                
Resource definitions
              Chapter 14. Writing a program to control autoinstall of shipped terminals
Installing shipped terminals and connections              
CICS-generated aliases
Resetting the terminal identifier                
560 
              Example
              The communications area at INSTALL for shipped terminals
562             
Page
              564 
              Default actions of the sample programs
            Page
              Chapter 15. Writing a program to control autoinstall of virtual terminals
How Client virtual terminals are autoinstalled                
Autoinstall models
Terminal identifiers              
Why override TERMIDs?
Overriding CICS-generated TERMIDs                
568 
              Overriding Client-specified TERMIDs
              How bridge facility virtual terminals are autoinstalled
Using the terminal autoinstall control program for bridge facilities                
570 
Autoinstall of a START bridge facility                
Autoinstall of a Link3270 bridge facility
              Bridge facility name uniqueness
The communications area at INSTALL for Client virtual terminals              
572 
              The communications area at INSTALL for bridge facility virtual terminals
              574 
              The communications area at DELETE for Client virtual terminals
              The communications area at DELETE for bridge facility virtual terminals
576               
Default actions of the sample programs
            Page
              Chapter 16. Writing a program to control autoinstall of programs
Autoinstalling programspreliminary considerations              
Autoinstall model definitions
Autoinstalling programs invoked by EXEC CICS LINK commands                
580 
              Autoinstall processing of mapsets
System autoinstall                
Benefits of autoinstalling programs
Reduced system administration costs                
Saving in virtual storage
              Faster startup times
Warm and emergency starts                
582 
Initial and cold starts                
Requirements for program autoinstall
            Page
              584 
            Page
              The sample autoinstall control program for programs, DFHPGADX
Customizing the sample program                
586 
              Resource definition
              Testing and debugging your program
588               
Chapter 17. Writing a dynamic routing program
              Routing transactions dynamically
Dynamic transactions                
590 
When the dynamic routing program is invoked              
Information passed to the dynamic routing program
              Using a common transaction definition in the TOR
592               
Changing the program name
Telling CICS whether to route or terminate a transaction              
If the system is unavailable or unknown
Invoking the dynamic routing program at end of routed transactions                
594 
Invoking the dynamic routing program on abend              
Modifying the initial terminal data
Modifying the applications communications area              
Receiving information from a routed transaction
Monitoring the output communications area                
596 
Monitoring the output TIOA              
Unit of work considerations
Routing DPL requests dynamically              
When the dynamic routing program is invoked
598               
Changing the program name
              Changing the transaction ID
Telling CICS whether to route or terminate a DPL request                
600 
Special casecare!              
Using the XPCERES exit to check the availability of resources on the
              Invoking the dynamic routing program at end of routed requests
Modifying the applications input communications area                
602 
Monitoring the applications output communications area              
Unit of work considerations
Routing bridge requests dynamically              
Changing bridge request parameters
Changing the Link3270 bridge request SYSID                
604 
Changing the bridge request TRANSID                
Changing the Link3270 bridge request transaction priority
              Rejecting a Link3270 bridge request
Handling route selection errors of Link3270 bridge requests                
Using the XPCERES exit to check the availability of resources on the
              Re-invoking the dynamic routing program after Link3270 bridge requests
Link3270 bridge dynamic routing considerations                
606 
              Modifying the applications containers
Routing by user ID                
Parameters passed to the dynamic routing program
              608 
            Page
              610 
            Page
              612 
            Page
              614 
            Page
              616 
            Page
              618 
            Page
              620 
              Naming your dynamic routing program
Testing your dynamic routing program              
Dynamic transaction routing sample programs
622               
Chapter 18. Writing a distributed routing program
              Differences between the distributed and dynamic routing interfaces
624               
Routing BTS activities
Which BTS activities can be dynamically routed?              
626 
              Telling CICS whether to route the activity
              628 
              Routing method requests for enterprise beans and CORBA stateless objects
Where workload balancing occurs              
Local and remote clients
630             
Page
              632 
            Page
              Telling CICS whether to route the method request
634               
Dealing with a disabled CorbaServer
              636 
              Performing a rolling upgrade of an EJB/CORBA server
Routing non-terminal-related START requests              
638 
              Telling CICS whether to route the request
              Using the XICERES exit to check the availability of resources on the
640               
Routing inbound Web service requests
              642 
              Telling CICS whether to route the request
              Routing by user ID
Dealing with an abend on the target region                
644 
              Parameters passed to the distributed routing program
              646 
            Page
              648 
            Page
              650 
            Page
              652 
            Page
              654 
            Page
              Naming your distributed routing program
656               
Distributed transaction routing sample programs
            Page
              Chapter 19. Writing a CICSDBCTL interface status program
              The sample CICSDBCTL interface status program
660               
Chapter 20. Writing a 3270 bridge exit program
            Page
              Chapter 21. Writing a security exit program for IIOP
              664 
              The sample programs
DFHXOPUS            
Page
              Chapter 22. Writing programs to customize JVMs
Writing Java classes to redirect JVM stdout and stderr output              
The com.ibm.cics.server.OutputRedirectionPlugin interface
668               
Possible destinations for output
Handling output redirection errors and internal errors              
Using DFHJVMRO to modify the Language Environment enclave for a JVM
670               
Using DFHJVMAT to modify options in a JVM profile
              Options in the JVM profile that are available to DFHJVMAT
672             
Page
              674 
              Chapter 23. Writing a distinguished name program for clients of enterprise beans
              676 
              Sample programs and copy books
            Page
              Chapter 24. Writing an EJB event program
Overview of the EJB event program              
The DFHEJEP communications area
680               
Event codes
Table36 shows the codes and meanings of all EJB events that may be passed to the EJB event program.              
The EJB event sample program Actions of the default program
Writing your own EJB event program                
682 
            Page
            Page
              Chapter 25. Writing programs to customize Language Environment run-time options for XPLink programs
DFHAPXPO                
Defining run-time options
            Page
            Page
            Page
              Chapter 26. The extended recovery facility overseer program
The sample XRF overseer program                
The functions of the sample program
              The display function
690               
The restart-in-place function
              Opening CAVM data sets dynamically
692               
How the sample overseer program interfaces with CICS
How to tell the overseer which actives and alternates to monitor              
694 
              The DFHWOSM macros
The DFHWOSM tokens              
DFHWOSM FUNC=BUILD macro
DFHWOSM FUNC=CLOSE macro                
696 
              DFHWOSM FUNC=DSECT macro
DFHWOSM FUNC=JJC macro                
DFHWOSM FUNC={JJS|QJJS} macro
              DFHWOSM FUNC=OPEN macro
698               
DFHWOSM FUNC=OSCMD macro
DFHWOSM FUNC=READ macro              
700 
            Page
              Reading DBCTL status information from the CAVM data sets
702               
DFHWOSM FUNC=TERM macro
Customizing the sample XRF overseer program              
704 
              Loop or wait detection
Assembling and link-editing the overseer program            
Page
            Page
              708 
              Chapter 27. CICS logging and journaling
The CICS log manager                
Log stream storage
              710 
              Enabling, disabling, and reading journals
Enabling and disabling a journal              
Reading journal records offline
Structure and content of CICS Transaction Server for z/OS format journal records                
712 
SMF records              
Format of general log block header
              Format of general log journal record
714             
Page
              Start-of-run record
Format of caller data                
716 
              Caller data written by file control
              Read-only, read-update, write-update, write-add, write-add complete record types
718             
Page
              720 
              Write-delete record types
              File-close record types
722             
Page
              Tie-up record types
724               
FLJB_TUR_BASE_CI_SIZE 4-byte CI size of base data set.
Figure86. Format of TIE_UP_RECORD_DATA section                
Chapter27. CICS logging and journaling 725
              Terminal control prefix data
726               
FEPI prefix data
              728 
              Structure and content of COMPAT41-format journal records
SMF records                
Format of COMPAT41 journal control label header
              730 
32                
JCRLL 2-byte length of record. X'0000' 2-bytes containing X'0000'.
Fixedlength                
104
              Format of journal record
              732 
            Page
              734 
            Page
              736 
              Identifying records for the start of tasks and UOWs
Format of journal records written to SMF              
The SMF block header
738             
Page
              The CICS product section
740             
Page
              The CICS data section
742               
Chapter 28. CICS monitoring
Introduction to CICS monitoring                
How CICS monitoring data is passed to SMF
              Coding additional event-monitoring points
Application naming event monitoring points                
744 
              Examples of invoking application naming EMPs
              746 
              The monitoring control table (MCT)
              DFHMCT TYPE=EMP
DFHMCT TYPE=RECORD                
748 
Examples of MCT coding with MONITOR commands                
Example 1: Starting a user clock
              DFHMCT TYPE=EMP entries for DBCTL
              CICS monitoring record formats
SMF header and SMF product section                
750 
            Page
              752 
            Page
              CICS data section
Dictionary data sections                
754 
            Page
            Page
            Page
              758 
            Page
              760 
              Performance data sections
              Relationship of the dictionary record to the performance records: field connectors
762               
How the string of field connectors is constructed
              Exception data sections
764               
Transaction resource data sections
              766 
            Page
              768 
              Chapter 29. Writing statistics collection and analysis programs
Writing a program to collect CICS statistics Background information              
Resetting statistics counters
Using the EXEC CICS COLLECT and EXTRACT STATISTICS commands                
770 
              CICS statistics record format
SMF header and SMF product section              
772 
              CICS statistics data section
            Page
            Page
              Using an XSTOUT global user exit program to filter statistics records
776               
Processing the output from CICS statistics
            Page
            Page
              780 
              Chapter 30. The dynamic allocation sample program
Overview of the dynamic allocation program              
Installing the program and transaction definitions
The dynamic allocation programterminal operation                
782 
Using the dynamic allocation programs Help feature              
The dynamic allocation programvalues
              Abbreviation rules for keywords
System programming considerations                
784 
The flow of control when a DYNALLOC request is issued            
Page
            Page
            Page
              788 
              Chapter 31. Invoking an external security manager
An overview of the CICS-ESM interface                
The MVS router
The MVS router exit              
The MVS router parameter list
Router exit return codes                
790 
Passing control to a user-supplied ESM              
Using ESM exit programs to access CICS-related information
              For non-RACF users  the ESM parameter list
For RACF users  the RACF user exit parameter list                
792 
              The installation data parameter list
              794 
            Page
              CICS security control points
796               
Using early verification processing
              Writing an early verification routine
798               
Using CICS API commands in an early verification routine
Return and reason codes from the early verification routine            
Page
              Chapter 32. Writing a good night program
The communications area of the good night program              
802 
              The sample good night program, DFH0GNIT
What the sample program does              
Customizing the sample good night program
804             
Page
            Page
            Page
              808 
              Chapter 33. Using the programmable interface to CEDA
              When to use the programmable interface
Using DFHEDAP in a DTP environment                
810 
            Page
            Page
              Chapter 34. User programs for the system definition utility program (DFHCSDUP)
An overview of DFHCSDUP              
Invoking a user program from DFHCSDUP
Writing a program to be invoked during EXTRACT processing                
814 
The EXTRACT command              
When the user program is invoked
Parameters passed from DFHCSDUP to the user program              
The sample EXTRACT programs
816             
Page
              The CSD cross-referencing program
The DB2 formatting program                
818 
The CSD backup utility program              
Assembling and link-editing EXTRACT programs
              An assembler-language version
A Language Environment version                
820 
              Invoking DFHCSDUP from a user program
              Entry parameters for DFHCSDUP
822             
Page
              Responsibilities of the user program
The user exit points in DFHCSDUP                
824 
Parameters passed to the user exit routines              
The initialization exit
The get-command exit              
The extract exit
826               
The put-message exit
              The termination exit
828               
The sample program, DFH$CUS1
            Page
            Page
            Page
              Appendix A. Coding entries in the VTAM LOGON mode table
Overview of the VTAM LOGON mode table                
TYPETERM device types and pointers to related LOGON mode data
              834 
              VTAM MODEENT macro operands
              836 
            Page
              838 
            Page
              PSERVIC screen size values for LUTYPEx devices
840               
Matching models and LOGON mode entries
              842 
            Page
              844 
            Page
              846 
            Page
              848 
            Page
              LOGON mode definitions for CICS-supplied autoinstall models
850             
Page
              852 
            Page
            Page
              Appendix B. Default actions of the node abnormal condition program
DFHZNACdefault actions for terminal error codes              
856 
            Page
              858 
            Page
              860 
              CICS messages associated with VTAM errors
              862 
            Page
              864 
            Page
              DFHZNACdefault actions for system sense codes
866             
Page
              Action flag settings and meanings
868             
Page
            Page
              Appendix C. Analyzing CICS restart information
            Page
              Appendix D. Using the transient data write-to-terminal program (DFH$TDWT)
DFH$TDWTresource definitions required            
Page
              Appendix E. Uppercase translation
Translating national characters to uppercase                
Using the XZCIN exit
Using DFHTCTxx              
Translating TS data sharing messages to uppercase
876               
Appendix F. The example program for the XTSEREQ global user exit, DFH$XTSE
              878 
            Page
              880 
            Page
              882 
            Page
              884 
            Page
              886 
            Page
              888 
            Page
              890 
            Page
              892 
              Appendix G. Threadsafe XPI commands
            Page
              Bibliography
The CICS Transaction Server for z/OS library                
The entitlement set
PDF-only books                
CICS books for CICS Transaction Server for z/OS
              CICSPlex SM books for CICS Transaction Server for z/OS
896                 
CICS family books
Licensed publications              
Other CICS books
Books from related libraries                
MVS books
              VTAM books
Other related books                
898 
Determining if a publication is current            
Page
            Page
              Accessibility
            Page
              Index Special characters
Numerics                
A
              B
C                
904 
              D
              906 
            Page
              908 
              E
F              
G
910               
I
J                
K
L              
M
N                
912 
            Page
              O
P                
914 
Q                
R
              S
              T
916             
Page
              U
918               
V
W                
X
              920 
            Page
            Page
              Notices
            Page
              Trademarks
            Page
              Readers Comments  We'd Like to Hear from You
Readers Comments  We'd Like to Hear from You              
 
___________________________________________________________________________________________________                
SC34-6814-04