Manuals / Brands / Computer Equipment / Server / IBM / Computer Equipment / Server

IBM SC34-6814-04 manual - page 2

1 953
Download 953 pages, 3.16 Mb
Contents
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