CICS Transaction Server fo r z/OSCustomization GuideVers ion 3 Re le ase 2SC34-6814-04
Coding for specific VTAM sense codes ...508Writing multiple NEPs ...508DFHZNEPI macros ...508Handling
UEP_FC_DUPLICATE_KEY_CODEAddress of a 1-byte output area indicating whether the requestfound more than one record for the supplied key. The possibleva
v UEP_FC_REASON_DUPLICATE_RECORDv UEP_FC_REASON_DUPLICATE_REQIDv UEP_FC_REASON_END_OF_FILEv UEP_FC_REASON_FILE_DISABLEDv UEP_FC_REASON_FILE_NOT_OPENv
UERCBYPLBypass CICS processing of this request. If the exit program hasbeen invoked for a function-shipped request, the mirror transactionmust not ter
UEP_FC_BUFFER_PAddress of a fullword containing the address of the buffer providedby the originator of the request, in which the record is returned on
UEP_FC_KEYVSAM KSDS or AIX PATH accessUEP_FC_RBAVSAM ESDS or KSDS via RBA accessUEP_FC_RRNVSAM RRDS accessUEP_FC_DEBKEYBDAM deblocking by key (READ, D
UEP_FC_CRConsistent read integrity.UEP_FC_FCT_VALUERead integrity according to the setting in the FILE definition.UEP_FC_NRINo read integrity.UEP_FC_R
UEP_FC_REASONAddress of a 1-byte area containing, if the request completed withan EXCEPTION response, the reason. The possible reasons are:v UEP_FC_RE
v UEP_FC_REASON_NOTAUTHv UEP_FC_REASON_NOT_EXTENDEDv UEP_FC_REASON_PREVIOUS_RLS_FAILUREv UEP_FC_REASON_RBA_ACCESS_TO_RLS_KSDSv UEP_FC_REASON_READ_NOT_
Note: For information about the XFCAREQ and XFCAREQC exits that are invokedfor file control SPI requests, see “File control EXEC interface SPI exitsXF
v The address of a 16-byte area that is used if the request has been functionshipped.The command-level parameter structureThe command-level parameter
The sample autoinstall control program for APPC connections ...550Default actions of the sample program ...550Resource definitions ...
FC_GROUPAlways X'06', indicating that this is a file control request.FC_FUNCTOne byte that defines the type of request:X'02' READX
X'04' MASSINSERT specified.X'02' RRN specified.X'01' SET (and not INTO) was specified.Note: Your program must test for k
X'08' XRBA specified. If the XRBA bit is on, FC_RIDFLD (describedin DSECT DFHFCEDS) points to an 8-byte extended relativebyte address (XRBA)
Modifying fields in the command-level parameter structureSome fields that are passed to file control are used as input to the request, someare used as
Modifying input fields: The correct method of modifying an input field is to createa new copy of it, and to change the address in the command-level pa
X'04' REPEATABLE specified.X'02' UPDATE specified on READNEXT or READPREV.X'01' NOSUSPEND specified (on READ, READNEXT,
Use of the parameter UEPFSHIPUEPFSHIP contains the address of a 16-byte area. This area consists of 4characters, followed by 3 fullwords. If the first
In XFCREQC:1. Check ‘UEPRCODE’ to make sure that the file control requestcompleted without error.2. Use UEPFCTOK to find the address of the area. This
UEPFSHIPAddress of a 16 byte area. See “Use of the parameter UEPFSHIP”on page 94.UEPRSRCEAddress of an 8-character copy of the EIB resource value,EIBR
‘EIBRCODE’. For details of EIB return codes, refer to EIB fields, inthe CICS Application Programming Reference manual.UEPRESPAddress of a 4-byte binar
Routing transactions dynamically ...590Dynamic transactions ...590When the dynamic routing program is invoked ...
3. Exit programs that issue EXEC CICS commands, and that use theDFHEIENT macro, should use the DFHEIRET macro to set a return codeand return to CICS.
4. XFCAREQCv For the INQUIRE FILE command, only the XFCAREQ and XFCAREQC exits areinvoked:1. XFCAREQ2. XFCAREQCExit XFCAREQWhen invokedBefore CICS pro
Note: Take care when using recursive commands. For example, you must avoidentering a loop when issuing a file control SPI request from the XFCAREQexit
values into the application program’s EXEC interface block (EIB) after thecompletion of XFCAREQC or if you specify a return code of UERCBYP inXFCAREQ.
v FCIS_BITS4v FCIS_BITS5v FCIS_BITS6v FCIS_BITS7v FCIS_BITS8FCIS_GROUPAlways X'4C', indicating that this is a file control SPI request.FCIS_
X'40' Set if the request contains an argument for the ADD keyword. Ifset, FCIS_ADDR10 is meaningful.X'20' Set if the request conta
X'10' Set if the request contains an argument for the EXCLUSIVEkeyword. If set, FCIS_ADDR28 is meaningful.X'08' Set if the request
X'08' Set if the request contains the LOADTYPE keyword.X'04' Set if the request contains the POOL keyword.X'02' Set if t
FCIS_ADDR15is the address of a 4-byte area containing the CVDA from ENABLESTATUS.FCIS_ADDR16is the address of a 4-byte area containing the CVDA from R
FCIS_ADDR37 to FCIS_ADDR51are not used by file control.FCIS_ADDR52is the address of a 4-byte area containing the data from JOURNALNUM.FCIS_ADDR53is th
When the distributed routing program is invoked ...632Changing the target CICS region ...633Telling CICS whether to route the me
Table 5. INQUIRE FILE requests (continued). The relationship between arguments,keywords, data types, and input/output types.Argument Keyword Data Type
Table 6. SET FILE requests (continued). The relationship between arguments, keywords,data types, and input/output types.Argument Keyword Data Type Inp
Note: You must never modify an input field by altering the data that is pointed to bythe command-level parameter list. To do so would corrupt storage
Modifying user argumentsUser exit programs can modify user arguments as follows:v For input arguments, your exit program should obtain sufficient stor
For a CLOSE WAIT command, the exits are invoked as follows. XFCSREQ isinvoked, the task requests a closure of the file and waits for the closure to ha
UEPFSOFBOpen for backout.If the first byte indicates a close request (UEPFSCLS), the secondbyte shows the type of close:UEPFSNCNormal closeUEPFSCPClos
UEFJRUJournal read for updateUEFJWUJournal write updateUEFJWAJournal write addUEFJDSNDsname has been journaledUEFJSYNJournal read synchronouslyUEFJASY
UEFACBCPThis field is set to nulls in this exit.Note: Only the first seven fields of UEPFINFO are set for this exit.Of the remaining fields, URFFRCLG
Exit XFCSREQCWhen invokedAfter a file ENABLE, DISABLE, OPEN, CLOSE, or CANCEL CLOSEcommand has completed.Note: The exit is not invoked for function-sh
UEFLNAMEThe 8-character file name.UEDSNAMEThe 44-character dsname of the data set associated withthe file.UEFSERVOne byte indicating the SERVREQ setti
Event codes ...681The EJB event sample program ...682Actions of the default program ...682Writing
UEFVSAMVSAM fileUEFBDAMBDAM fileUEFDTBLData table fileUEFDTUMUser data table fileUEFCFDTCoupling facility data tableUEFBCRVOne byte indicating the rec
UEPFBCASData set marked unavailable.UEFACBCPAddress of a read-only copy of the ACB for a VSAM file, orthe DCB for a BDAM file. Set only after completi
UERCPURGTask purged during XPI call.XPI callsAll can be used.API and SPI callsAll except EXEC CICS SHUTDOWN and EXEC CICS XCTL can be used.Note:1. Tak
associated with the file, as described by fields UEFLNAME andUEDSNAME in the DFHUEFDS DSECT.3. Issues a WRITE OPERATOR command to write as much data a
XFCNREC. If the base cluster block is set as unrecoverable and a mismatch hasbeen allowed, access may be allowed to the data set, via an unrecoverable
Exit XFCVSDSWhen invokedInvoked after VSAM RLS has informed CICS that processing is required asa result of a data set-related action occurring in the
CICS is not to carry out the processing required for the VSAM RLSaction, and is to cancel the action throughout the sysplex.A return code of UERCPURG
UEPQRCDEAddress of a 1-byte field indicating the result of the quiesce orunquiesce. Possible values are:UEQOKSuccessful.UEQREJECRejected—see UEPQCONF
File control recovery program exits XFCBFAIL, XFCBOUT, XFCBOVER,and XFCLDELCICS provides four global user exits that you can use in connection with fi
point; the TBEXITS parameter allows only one exit program at each exit point.PLTPI processing is described in Chapter 4, “Writing initialization and s
Chapter 28. CICS monitoring ...743Introduction to CICS monitoring ...743How CICS monitoring data is passed to SMF ...
UEPFCRSPAddress of the file control response byte. This can have one of thefollowing values:UEAIXFULNo space in non-unique alternate index.UECACHERLS
UERCBYPIgnore the error (do not invoke CICS backout failure control) andcontinue. Setting this return code could be damaging to the integrityof your d
record on the data set with the “before-image” held in the log recordaddressed by UEPBLOGR. Use parameter UEPFCRSP to determine whicherror occurred.XB
The sample program takes this step to demonstrate the use of the UERCBYPreturn code. It is not recommended that you use UERCBYP with important dataset
Because the same backout code is executed following an emergency restart as atany other time, XFCBOUT replaces both XRCINPT and XDBIN for file data. T
VSAM RLS locks individual records within a data set, and these locks are convertedto retained locks for those UOWs that are not completed because of b
UERCNORMDo not perform the backout of this log record. Any updatesperformed by the batch run should take precedence.UERCBCKOPerform the backout. It is
– The data set name– The file control portion of the log record.v Checks the data set name to see if it is one of those for which it is known thatbatc
UEPFLENAddress of a fullword containing the length of the data in the filecontrol request.Return codesUERCFAILDo not perform the logical delete, and t
– An eye-catcher ‘DFH$FCLD ENTRY’– The unmarked file control request data– The file control portion of the log record.v Issues an EXEC CICS INQUIRE FI
Part 8. Examining and modifying resource attributes ...807Chapter 33. Using the programmable interface to CEDA ...809When to use the pr
Good morning message program exit XGMTEXTWhen invokedBefore the good morning message is transmitted.Exit-specific parametersUEPTCTTEAddress of the ter
If you already have an XISCONA exit program, you may be able to modify it for useat the XZIQUE exit point.The purpose of XISCONA is to help you preven
v Examine the type of request and the resource being accessed (which can bediscovered by examining the request parameter list). The program could, for
UEPEIPPLAddress of the request parameter list.UEPCONTYA 1-byte field indicating the connection-type. Possiblevalues are:UEPMRO (X'80')Reques
Note that this exit is invoked only if the request to be shipped is of type EXEC CICSSTART NOCHECK. For EXEC CICS requests other than those with the N
UERCPURGTask purged during XPI call.XPI callsAll can be used.ImportantThere is no ‘UERCNORM’ return code at this exit point, because the exit is invok
Note:1. The contents of the fields addressed by UEPICQID andUEPICTID are unpredictable if the associated data items werenot specified on the request.
Exit XICTENFWhen invokedExit XICTENF is also invoked from the interval control program. However,this exit relates to the ‘terminal not known’ conditio
v For dynamically-routed transactions—only dynamically-routed(non-terminal-related) START requests cause the exit to be invoked. Thus, adynamically-ro
Exit-specific parametersUEPCLPSAddress of the command-level parameter structure. See “TheUEPCLPS exit-specific parameter” on page 152.UEPICTOKAddress
Appendix F. The example program for the XTSEREQ global user exit,DFH$XTSE ...877Appendix G. Threadsafe XPI commands ...
EXEC CICS SHUTDOWNEXEC CICS XCTLNote: Take care when issuing recursive commands not to cause a loop. Forexample, it is your responsibility to avoid en
UERCNORMContinue processing.UERCPURGTask purged during XPI call.UERCRESUA required resource is unavailable. Setting this value causes CICSto reject th
UEPDATEAddress of a fullword copy of the EIB date value, EIBDATE.UEPTIMEAddress of a fullword copy of the EIB time value, EIBTIME.UEP_IC_REMOTE_SYSTEM
The command-level parameter structure consists of a series of addresses. The firstaddress points to the EXEC interface descriptor (EID), which consist
the request. The remaining addresses point to pieces of data associated with therequest. For example, the second address points to the interval for ST
IC_GROUPX'10' This is an interval control request.X'4A' This is an ASKTIME or FORMATTIME command.IC_FUNCTOne byte that defines the
X'80' Set if the request specifies RTERMID, or if a FORMATTIMErequest specifies DATESEP. If set, IC_ADDR9 is meaningful.X'40' Set
X'04' YEAR was specified on a FORMATTIME command, orMINUTES was specified.X'02' TIME was specified on a FORMATTIME command, orPROT
IC_ADDR2is the address of one of the following:v An 8-byte area containing the value of REQID (if the request is DELAY,POST or START).v A halfword con
v A fullword containing the value of DAYCOUNT.IC_ADDRBis the address of one of the following:v An area containing the value of HOURS.v A fullword cont
xvi Customization Guide
The following are always input fields:v INTERVALv TIMEv REQIDv FROMv TERMIDv SYSIDv HOURSv MINUTESv SECONDSv USERIDv CHANNELThe following are always o
ABSTIME is an input field on a FORMATTIME request, and an output field on anASKTIME request. DATESEP and TIMESEP can be input fields on a FORMATTIMEre
X'40' The existence bit for QUEUEX'20' The existence bit for HOURSX'10' The existence bit for MINUTESX'08' The
IC_EIDOPT8X'20' Unused by CICS.The EID is reset to its original value before return to the application program. Thatis, changes made to the
1. Scan the global work area (GWA) to locate a suitable CICS region (forexample, the region currently processing the least number of STARTrequests).2.
These are both information-only exits. Any changes made to the exit parameters bythe exit program are ignored by CICS, as is any return code which it
UEPPROGLAddress of a 4-byte field containing the length, in bytes, of theprogram that is being freed.UEPLDPTAddress of a 4-byte field containing the a
If you do not provide a JOURNALMODEL resource definition for DFHLOGand DFHSHUNT, or if you use the CICS definitions supplied in groupDFHLGMOD, the mod
For information about the IXGINVNT service, see the OS/390 MVS AuthorizedAssembler Services manual.An XLGSTRM global user exit program can set explici
UEPSYSLGThe log stream is for a CICS system log.UEPGENLGThe log stream is for a general log (a forward recovery log,a user journal, or auto-journal).R
PrefaceWhat this book is aboutThis book provides the information needed to extend and modify an IBM®CICS®Transaction Server for z/OS®system to match y
Note: To run the sample program “as is”, you must first create a model log streamcalled 'CICSAD01.DEPT0001.MODEL100'. However, you will prob
ImportantBecause of the danger of recursion, your XMEOUT exit program should not try toreroute:v Any DFHTDxxxx messages, produced by the transient dat
UEPTERMAddress of the 4-byte ID of the terminal under which the currenttransaction is running. If the current transaction is not associatedwith a term
DFHFC0531 date time applid Automatic journal journaljournalname, opened for file filename is not oftype MVS. Module module.The XMEOUT inserts are date
DFH$SXP5Reroute a TDQ message to another TDQDFH$SXP6Reroute a TDQ message to a console.Related concepts“The message domain sample exit programs” on pa
UEPDICTAddress of the dictionary. The sequence of dictionary entries ismapped by the DSECT generated from the macro DFHMCTDR.This field only has meani
UERCNORMContinue processing.UERCBYPSuppress monitor record output.UERCPURGTask purged during XPI call.XPI callsWAIT_MVS can be used. Do not use any ot
UEPAPABN (X'40')The Web service provider application completed its processingsuccessfully.UEPAPSFA 1-byte field indicating if the Web servic
Note:1. The attributes of the local PROGRAM definition are not passed to theexit program. If the exit program needs to know, for example, thevalue of
2. Reinvoke the routing program, on the routing region, for route selectionfailure.3. Return a RESUNAVAIL condition on the EXEC CICS LINK commandexecu
v Cv COBOLv PL/I.In this book, the phrase “the languages supported by CICS” refers to the abovelanguages.Syntax notation and conventions used in this
UEPRSRCEAddress of an 8-character copy of the EIB resource value,EIBRSRCE.UEP_PC_PBTOKAddress of a 4-byte field containing the z/OS Workload Manager(W
UEPRECURAddress of a halfword recursion counter. Because the XPCERESexit can never be called recursively in the same transaction, thevalue of this fie
UEPCLPSAddress of the command parameter list.UEPPCTOKAddress of a 4-byte token passed from XPCREQ. This allowsXPCREQ to, for example, pass a work area
UERCPURGTask purged during XPI call.XPI callsAll can be used.Although the exit permits the use of XPI GETMAIN and FREEMAIN calls,we recommend that you
PC_ADDRA. It is defined in the DSECT PC_ADDR_LIST, which you should copyinto your exit program by including the statement COPY DFHPCEDS.The command-le
PC_EXIST7 (X'02 ')Set if the request specifies the SYSID parameter. If set,PC_ADDR7 is meaningful.PC_EXIST8 (X'01 ')Set if the req
PC_ADDRAis the address of the 16-byte channel name, as specified on the CHANNELparameter.Modifying fields in the command parameter structure: Some fie
Bits in the EID should be modified in place. You should not modify the pointer to theEID. (Any attempt to do so is ignored by CICS.)The EID is reset t
1. Scan the global work area (GWA) to locate a suitable CICS region - forexample, the region currently processing the least number of LINK requests.2.
terminal-related information, and that can be mapped using theDSECT DFHPCUE. When XPCFTCH is invoked, the followingDFHPCUE fields are significant:PCUE
Summary of changesThis book is based on the CICS Customization Guide for CICS Transaction Serverfor z/OS, Version 3 Release 1, SC34-6429-00. Changes f
address. Set the top bit to specify that the alternativeprogram is to run AMODE (31).PCUE_REAL_ENTRYFrom z/OS 1.7 onwards, this field provides the rea
BASSM 15,0USING *,15When invokedBefore a HANDLE ABEND routine is given control.Exit-specific parametersUEPPCDSAddress of a storage area that contains
XPI callsAll can be used.Exit XPCTAXPCTA is invoked immediately after a transaction abend, and before anyprocessing that might modify the existing env
PCUE_LOGICAL_LEVELFullword containing the number of chained DFHRSADSblocks (that is, logical level).PCUE_BRANCH_ADDRESSFullword. You can use this fiel
DFH$PCTA can be extended for transaction isolation.Related concepts“The transaction-abend sample exit program” on page 24Exit XPCABNDXPCABND is invoke
UERCBYPSuppress the dump call.UERCPURGTask purged during XPI call.XPI callsAll can be used.Resource manager interface program exits XRMIIN and XRMIOUT
UERCNORMContinue processing.UERCPURGTask purged during XPI call.XPI callsAll can be used.API and SPI commandsAll except EXEC CICS SHUTDOWN and EXEC CI
Return codesUERCNORMContinue processing.UERCPURGTask purged during XPI call.XPI callsAll can be used.API and SPI commandsAll except EXEC CICS SHUTDOWN
connection is a concatenation of a FEPI node name and a FEPI target name, eachof which is 8 characters long (fixed length) with no separator.The exit
UEIDDB2EA DB2 entry (DB2ENTRY)UEIDDB2TA DB2 transaction (DB2TRAN)UEIDDJARA deployed JAR file (DJAR)UEIDDOCTA DOCTEMPLATEUEIDFECOA FEPI connectionUEIDF
Changes for CICS Transaction Server for z/OS, Version 2 Release 3The more significant changes for this edition were:v A new global user exit, XICERES,
UEIDPSETA partitionsetUEIDRQMDA request model (IIOP)UEIDSESSA sessionUEIDSTRMAn MVS log streamUEIDTCLSA transaction classUEIDTCPSA TCP/IP serviceUEIDT
UERCPURGTask purged during XPI call.XPI callsYou can use all XPI calls.ImportantAbends in a program enabled at the XRSINDI exit point may cause CICS t
UEPTRMIDAddress of the terminal id.UEPTCTUAAddress of the TCT user area.UEPTCTULAddress of the TCT user area length.UEPTRMTYAddress of the terminal-ty
UEPTRMTYAddress of the terminal-type byte.UEPSNFLGAddress of a 2-byte field containing flags:UEPSNOKSign-off was successfulUEPSNFLSign-off failedUEPSN
To use this program, add an entry to the first section of your PLTPI table (thatis, before the DFHDELIM statement). For example:DFHPLT TYPE=INITIAL,SU
UEPSTYPEAddress of the 3-byte character field statistics type. The values ofthe types are:INT Interval statisticsEOD End-of-day statisticsREQ Requeste
SRP_ERROR_TYPEThe 4-character error type—always ‘ASRB’.SRP_SYS_ABCODE2 bytes containing the system abend code XXX in binaryformat (for example, D37).S
SRP_CICS_ERROR_REASON4-character field containing the MVS abend reason code. Itcontains a value only if flag SRP_VALID_REASON is set.SRP_CICS_ERROR_DA
2. The format of SRP_ERROR_DATA is shown in the CICS DataAreas manual.Return codesUERCNOCAAbnormally terminate the task with abend code ‘ASRB’. Do not
XPI callsAll other XPI calls except WRITE_JOURNAL_DATA can be used. However,their use is not recommended, because they could cause the task to losecon
Part 1. Customizing with user exit programs© Copyright IBM Corp. 1977, 2011 1
UEP_TS_QUEUE_NAMEAddress of a 16-byte field containing the queue name.UEP_TS_DATA_PAddress of a fullword containing the address of the data. (Write an
UEPTERMAddress of the 4-byte terminal ID.UEPPROGAddress of the 8-byte application program name.UEP_TS_FUNCTIONAddress of a byte containing the functio
Exit XTSPTINWhen invokedBefore execution of a temporary storage interface request for a CICSinternal queue (for example, for interval control or BMS q
Return codesUERCNORMNormal.UERCPURGTask purged during XPI call.XPI callsAll can be used.API and SPI callsNone can be used.Exit XTSPTOUTWhen invokedAft
v UEP_TS_RESPONSE_EXCEPTIONv UEP_TS_RESPONSE_DISASTERv UEP_TS_RESPONSE_INVALIDReturn codesUERCNORMNormal response.UERCPURGA purged response was receiv
Exit XTSEREQWhen invokedBefore CICS processes a temporary storage API request.Exit-specific parametersUEPCLPSAddress of a copy of the command paramete
Note: Take care when issuing recursive commands. For example, you must avoidentering a loop when issuing a temporary storage request from theXTSEREQ e
UERCPURGTask purged during XPI call.XPI callsAll can be used.API and SPI commandsAll can be used, except for:EXEC CICS SHUTDOWNEXEC CICS XCTLYou can u
The command-level parameter list is made up as follows.Note: The relationship between arguments, keywords, data types, and input/outputtypes is summar
X'02' Set if the request contains an argument for the SYSID keyword.If set, TS_ADDR7 is meaningful.TS_BITS2Two bytes not used by temporary s
2 Customization Guide
TS_ADDR7is the address of an area containing the value of SYSID.Modifying fields in the command-level parameter structure: Some fields thatare passed
However, you can make minor changes to requests, such as to turn on theexistence bit for SYSID so that the request can be changed into one that is shi
Table 11. READQ TS: User arguments and associated keywords, data types, andinput/output typesArgument Keyword Data type Input/output typeArg1 QUEUE CH
1. Obtain storage for the argument to be added2. Initialize the storage to the required value3. Select and set up the appropriate pointer from the par
UEPALLENAddress of a fullword binary field containing the length of the FROMdata; or hexadecimal zeros, in either of the following cases:v The AID was
Note: The XALTENF exit, used to handle the “terminal not known” condition, isalso invoked from the terminal allocation program. XALTENF is described o
XPI callsAll can be used. However, note that you cannot use a GETMAIN call toobtain terminal-class storage for use as a replacement TIOA.Exit XTCATTWh
in the local system. If the requested terminal is remote, the terminal allocationprogram ships an ATI request to the remote system, which initiates tr
UERCNETNNetname of TOR returnedUERCSYSISysid of TOR returned.For return codes UERCNETN and UERCSYSI, the exit program must place thenetname or sysid o
UEPALTRNAddress of 4 bytes containing the name of the transaction to berun.UEPALRTRAddress of 4 bytes containing the name of the terminal on whichthe
Chapter 1. Global user exit programsYou can use the CICS global user exit points, in conjunction with programs of aspecial type that you write yoursel
run. It is important that your exit program supply a terminalnetname if the TOR to which it directs the ATI request is a memberof a VTAM generic resou
UEPICFNA START command was not being processed or aSTARTwas being processed but it was not function shipped.UEPICTRNAddress of 4 bytes containing the
run. It is important that your exit program supply a terminalnetname if the TOR to which it directs the ATI request is a memberof a VTAM generic resou
DFHXTENF CSECTDFHVM XTENFENTRY DFHXTENADFHXTENA DS 0HSTM R14,R12,12(R13) save registersBALR R11,0 set up base registerUSING *,R11*USING DFHUEPAR,R1 DF
ImportantThe example in Figure 2 on page 231 is intended purely as a demonstration ofsome of the possibilities available, and would be impractical in
transaction specified on DTRTRAN is attached and CICS considersthat the transaction has been found.Equated values are:UEATFNDThe transaction was found
When the task being attached is for a task started by an immediateSTART command; that is, a START without an interval, the current taskis the task tha
UEPTDLUDAddress of the fullword length of the unmodified TD data.UEPTDAMDAddress of the TD data modified by the exit program.UEPTDLMDAddress of the fu
Note: If you return UERCTDOK to suppress the first line of amultiline message, the rest of the message is not presentedto XTDOUT, but is also suppress
Exit XTDEREQWhen invokedBefore CICS processes a transient data API request.Exit-specific parametersUEPCLPSAddress of the command-level parameter struc
v Register 13 contains the address of the standard register save area where yourexit program should store its own registers immediately after being in
Note: Take care when issuing recursive commands. For example, you must avoidentering a loop when issuing a transient data request from the XTDEREQexit
UERCNORMContinue processing.UERCPURGTask purged during XPI call.XPI callsAll can be used.Although the exit permits the use of XPI GETMAIN and FREEMAIN
You can examine the EID to determine the type of request and the keywordsspecified. You can examine the other parameters in the list to determine the
X'04' READQX'06' DELETEQ.TD_BITS1Existence bits that define which arguments were specified. To obtainthe argument associated with
TD_ADDR4is the address of a value intended for CICS internal use only. It must not beused.TD_ADDR5is the address of a value intended for CICS internal
Modifying fields used for both input and output: An example of a field that isused for both input and output is LENGTH on a READQ request that specifi
You can update the copies of EIBRSRCE, EIBRCODE, EIBRESP, and EIBRESP2that you are given in the parameter list. Transient data copies your values into
When using XRCINIT and XRCINPT, you should bear in mind that the exits may beinvoked before recovery of temporary storage and transient data resources
name6 are the names of your user exit programs for XRCINIT, XRCINPT,XFCBFAIL, XFCLDEL, XFCBOVER, and XFCBOUT.v Enable the exits during the first stage
UEPUOWBOUOW backed outUEPUOWIFUOW was in-flightUEPUOWIDUOW was in-doubt.UEPLGRECAddress of the log record just read. The journal control record canbe
An exit program invoked at an exit that does not support the use of EXEC CICScommands must not call a task-related user exit program (TRUE). Calling a
UEPTPNLAddress of a 1-byte field containing the length of the TPN or DPN.UEPTRANAddress of the 4-byte transaction ID.Note: The exit program must not c
UEPTCTTEAddress of the terminal control table terminal entry (TCTTE). TheTCTTE can be mapped using the DSECT DFHTCTTE.UEPTIOAAddress of the terminal i
v The equivalent global user exit to control the number of queued requestsfor sessions on IP interconnectivity (IPIC) connections is XISQUE: see“XISQU
Using the information passed in the parameter list, your global user exit programcan decide (based on queue length, for example) whether CICS is to qu
v For specific modegroup allocate requests, use return code UERCAKLM.UERCAKLM also returns SYSIDERR to all application programs waiting onthe purged a
Each time an XZIQUE global user exit program returns with a request to purge aqueue, CICS increments a new field in either the system entry or mode en
UEPPADA 1-byte padding field.UEPFSPLAddress of the 10-byte function shipping parameter list.UEPCONSTAddress of the 158-byte system entry statistics re
UEPSACNTA half-word binary field containing the number of all non-specificallocates processed since the queue was started (see UEPSAQTSfor the start t
UERCNORMResume normal operation of the link or modegroup.UERCAPURReject the allocate request with SYSIDERR.XPI callsAll can be used.Designing an XZIQU
to control the existence and length of the queue of allocate requests. If you enablethe exit, the parameters from the connection definition are passed
Assembler programs and LEASMAssembler programs translated with the LEASM option cannot be used as globaluser exit programs.LEASM is used to produce La
Extensions to the sample program: The sample exit program does not attempt tocontrol the queue length, or detect poor response for a particular modegr
Exit-specific parametersUEPISDATAAddress of the 78-byte area containing the information listed below.This area is mapped by the DSECT in copybook DFHX
UERCAQUEQueue the allocate request.UERCAPURReject the allocate request with SYSIDERR.UERCAKLLReject this allocate request with SYSIDERR. Purge all oth
number of allocates processed since the queue began, to determine the rate atwhich CICS is processing requests. The relevant fields are: UEPSAQTS andU
ISR_XISQUE_ALLOC_REJECTSEach time an XISQUE global user exit program returns with a request to rejecta request, CICS increments this field, which is p
the exit, the parameters from the IPCONN definition are passed to the XISQUE exitprogram, which can change the way in which these parameters are used.
v A predatory takeover. A “predatory takeover” can occur, if you are using VTAMRelease 3.4.0 or above, and a VTAM application with the same APPLID as
v For XRF, in the event of a VTAM failure: CICS continuesprocessing as if the exit program had not been invoked.v For VTAM persistent sessions, in the
266 Customization Guide
Chapter 2. Task-related user exit programsThis chapter describes a special kind of user exit called a task-related user exit(TRUE). The chapter is div
v If your global user exit is in a domain, you can add extra trace calls to provideadditional diagnostic information by setting the AP option of EXEC
The task-related user exit program is provided with a parameter list (DFHUEPAR)by the CICS management module that handles task-related user exits. Thi
The administration routines may also contain commands to retrieve informationabout one of the exit program’s work areas (the EXEC CICS EXTRACT EXITcom
The application can use a parameter to determine whether the resource managerwas called. For example, if the application sets a parameter to zero and
Writing a task-related user exit programThe main function of the task-related user exit program is to translate the callingprogram’s parameters into a
Threadsafe restrictionsAn open API TRUE must not treat the executing open TCB environment in such away that it causes problems for:v Other open API TR
Application program call (API)—UERTAPPLFor this call, CICS always invokes the TRUE on an L8 mode TCBCICS syncpoint manager call—UERTSYNCFor this call,
v The address of the kernel stack entryv The address of the APPC unit of work (UOW) identifierv The address of the user security block flagv The addre
area, with the contents of registers 14 through 12 stored in the fourth andsubsequent words. Its fifth word, representing the calling program's r
UEPRMQUAAddress of an 8-byte field into which the task-related user exit can movethe qualifier name of the resource manager on each API request. This
exit is called on the QR TCB with the UEPTUTCB bit set. For allother calls, CICS abends the transaction without invoking thetask-related user exit.The
CICS Transaction Server fo r z/OSCustomization GuideVers ion 3 Re le ase 2SC34-6814-04
* (ZERO = NO WORK AREA)UEPGAL DS A ADDRESS OF GLOBAL WORK AREA LENGTHUEPCRCA DS A ADDRESS OF CURRENT RETURN-CODEUEPTCA DS A RESERVEDUEPCSA DS A RESERV
An exit program must make no assumptions about the contents of thePerformance Block and must not attempt to modify it: if it does so, theresults are u
Caller parameter listsIn addition to the DSECTs DFHUEPAR and DFHUERTR, the inclusion ofDFHUEXIT TYPE=RM in the task-related user exit program provides
messages for resource recovery. They are presented explicitly because, after asystem failure, the task driving the exit is not the task that originall
task. But note that, on many invocations of the exit program, parameters 2through 9 do not contain values. See note 1.Parameter 3Address of a 4-charac
1. Parameters 2 through 8 contain values only if the CICS syncpointmanager call is prompted by the issue of an EXEC CICS RESYNCcommand after a session
UERTCABY(X'20') CICS abend, retry possible, TCBs dispatchableUERTCABN(X'10') CICS abend, retry not possible, TCBs dispatchableUERT
UEPEDFRA(X'20') About to display command to EDF.UEPEDFRC(X'10') Command has been displayed to EDF.UEPEDFSC(X'08') EDF us
Note:1. CICS provides a list of named standard attribute bytes that youmay want to use. These standard attribute bytes are containedwithin DFHBMSCA, w
CICS SPI Application Syncpoint Task manager Terminationmanager callContextmanagementcallCICS EDFcallcall program call manager call callDFHUEPAR DFHUEP
The schedule flag wordThe schedule flag word is a fullword indicator that the task-related user exitprogram uses to control its own invocation. It is
Apart from register 15, which contains the return code value from the exitprogram, the values in this save area are used by CICS to reload the registe
flag word. When the calling application program subsequently issues a syncpointcommand, or when end-of-task is reached, the CICS syncpoint manager cal
The calling program’s registersThe calling program’s registers are stored at the address specified by UEPHMSA ofDFHUEPAR. Where the calling program is
DFHRMCAL, the task-related user exit is invoked in AMODE 24. For this reason,task-related user exits which have been enabled without the LINKEDITMODEo
v Before passing control to a task-related user exit program, CICS inhibits:– The ability to purge tasks– The monitoring of runaway tasksv While contr
v On each invocation of a task-related user exit program, a new EXECenvironment is created, even when the program is being invoked from the sametask.
The local work areaA local work area is associated with a single task and lasts only for the duration ofthe task. It is for the use of a single task-r
piece of recoverable work to ensure that the CICS syncpoint manager calls the exitprogram during syncpoint processing. (The identification of the curr
manager’s parameter list and the TRUE return codes. (The CICS syncpointmanager parameters are described in “CICS syncpoint manager parameters” onpage
As described in “Increasing efficiency – single-update and read-only protocols” onpage 294, if the UERTONLY bit is set (indicating that the resource m
On receiving a request to perform the first phase of a two-phase commit, theresource manager is expected to get into a state where recoverable changes
Table 1. TCB indicators in DFHUEPAR (continued). DescriptionSymbolicvalue2-bytecodeDescriptionUEPTX9 X9 An X9 open TCB, used for C and C++ programs, c
LimitationsIf your exit program is invoked at end-of-task, you must be alert to possiblelimitations on exit program activity at task-detach. For examp
CICS abend, retry possible, TCBs dispatchable (UERTCABY)MVS has flagged the failure as being “eligible for retry”. Your exit programmust follow the MV
JTRUE1A CSECT TERMINATION TRUE ENTRYPOINTSTM 14,12,12(13) Save registersUSING JTRUE1A,R3LR R3,R15 Use R3 as base registerUSING DFHUEPAR,R1 Address DFH
Using EDF with your task-related user exit programIf your exit program sets the EDF bit in the schedule flag word and EDF is active,the exit program i
Table 16 describes each stage of the interface between the task-related user exitand EDF, relating the descriptions to the (Tn) and (En) expressions i
operators. This section lists what you must do before you can use the adapter, anddescribes the commands used by the supervisor to administer task-rel
capable of waiting for in-doubt resolution. This applies to local resourcessuch as files, and also other RMCs, such as LU6.1, LU6.2, or MROconnections
Chapter 3. The user exit programming interface (XPI)This chapter describes the user exit programming interface (XPI) of CICSTransaction Server for z/O
– Release all storage held by the SEARCH_LDAP function—see “TheFREE_SEARCH_RESULTS call” on page 324.v Using the XPI dispatcher functions, you can:– O
– Inquire about the attributes of a specified program—see “TheINQUIRE_PROGRAM call” on page 366– Inquire about the attributes of the program that is c
If you supply a return code value that is not expected at a particular exit point, thedefault return code indicating a normal response (usually UERCNO
– Inquire about an attached transaction—see “The INQUIRE_TRANSACTIONcall” on page 414– Change the task priority and transaction class of the current t
mandout2(value),...[optout1(value),][optout2(value),]...RESPONSE,REASON]XPI calls follow assembler-language coding conventions:v The “macro-name” must
Note: Failure to clear the parameter list can cause unpredictable results,such as program checks or storage violations. If you are building theparamet
DFHxxyyX. You cannot assume that the arithmetic values of correspondingRESPONSE codes are the same for all macro calls. The meanings of theRESPONSE co
If a DFHDSSRX SUSPEND or WAIT_MVS call does not specify anINTERVAL, and gets this RESPONSE with a REASON of‘TASK_CANCELLED’ or ‘TIMED_OUT’, it indicat
The XPI copy booksThere is a copy book for each XPI function, to provide the DSECTs associated withthat function. These DSECTs allow you to map the pa
in the first 4 bytes of the LIFO storage addressed by UEPXSTOR. In this example,the initialization of the parameter list (using the CLEAR option), the
TITLE ’GUEXPI - GLOBAL USER EXIT PROGRAM WITH XPI’************************************************************************** The first three instructi
*************************************************************************** Before issuing an XPI function call, set up addressing to XPI ** parameter
************************************************************************** Test SMMC_RESPONSE -- if OK, then branch round error handling. ************
storage. However, on an EXEC CICS GETMAIN command, the exit program canoverride the TASKDATAKEY option by specifying either CICSDATAKEY orUSERDATAKEY.
An example showing how to build a parameter list incrementallyIn the following example, the parameter list is built incrementally. The initialization
OUT, *ADDRESS((R6)), *RESPONSE(*), *REASON(*)ImportantYou must set your parameters using only the XPI functions.XPI syntaxThe XPI functions use specia
len The data length as {namel | (Rn) | expression}:namel The name of a location containing a binary fullword givingthe data length in bytes(Rn) A regi
(Rn) A register, the contents of which specify in fullword binarythe maximum number of bytes of dataexpressionA decimal integer, or any arithmetic exp
CACHE_SIZE(name4)a fullword that specifies the number of bytes available for caching LDAP searchresults. A value of zero indicates an unlimited cache
RESPONSE REASONKERNERROR NonePURGED NoneNote: For more detail, refer to the explanation of RESPONSE and REASON in“Making an XPI call” on page 308.The
[OUT,[LDAP_RESPONSE(name4),]RESPONSE(name1 | *),REASON(name1 | *)]This command is threadsafe.LDAP_RESPONSE(name4)specifies the return code that is sen
RESPONSE REASONINVALID NoneKERNERROR NonePURGED NoneNote: For more detail, refer to the explanation of RESPONSE and REASON in“Making an XPI call” on p
VALUE_ARRAY_POSITION(name4)specifies the position of the requested value, in the value array for the currentattribute. This parameter is only required
VALUE_COUNT(name4)a fullword containing the number of values returned for this attribute. There isusually one value returned.RESPONSE and REASON value
v Otherwise, use the EXEC CICS ENABLE command to enable the user exitprogram.If you enable a global user exit program before it has been installed and
SEARCH_TOKEN(name4)the name of the fullword token that is returned by the SEARCH_LDAP function.RESPONSE and REASON values for GET_NEXT_ENTRY:RESPONSE
address of the data, and the second word contains the length in bytes of thedata. For more information on block-descriptors, see “XPI syntax” on page
[LDAP_RESPONSE(name4),][ATTRIBUTE_COUNT(name4),]RESPONSE(name1 | *),REASON(name1 | *)]This command is threadsafe.DISTINGUISHED_NAME(buffer-descriptor)
This command is threadsafe.LDAP_RESPONSE(name4)specifies the return code that is sent by the LDAP API.LDAP_SESSION_TOKEN(name4)the name of the fullwor
The normal synchronization protocolIn the normal case, synchronization involves two tasks and three operations. In thefollowing sample operations, the
Because task-purging is effective only if performed between SUSPEND andRESUME, Suspend-fail precedes Resume-fail. This means that, with the sameconstr
The ADD_SUSPEND callADD_SUSPEND acquires a suspend token that can later be used to identify aSUSPEND/RESUME pair.ADD_SUSPENDDFHDSSRX [CALL,][CLEAR,][I
name4The name of a 4-byte field where the token is stored(Rn) A register into which the token value is loaded.RESPONSE and REASON values for ADD_SUSPE
depends on the setting of the TIME_UNIT option. The INTERVAL valueoverrides any time-out (DTIMOUT) value specified for the transaction.name4The name o
name8The name of the location where an 8-byte value is stored.string A string of characters without intervening blanks; if it is not 8 bytes long,it i
– If the new program supplies a different return code value from the currentvalue addressed by UEPCRCA, CICS ignores both values and resets the“curren
IO Waiting on an I/O operation or indeterminate I/O-related operation (locks,buffer, string, and so on).LOCKWaiting on a lock.MISCWaiting on an uniden
attach) has expired. The token, however, remains suspended and mustbe the object of a RESUME before it can be the object of aDELETE_SUSPEND.The RESUME
2. ‘TASK_CANCELLED’ means that the task was canceled by operatoraction while it was suspended, and that the suspend token is availablefor use.The DELE
Note: ECBs used in WAIT_MVS requests must never be “hand posted”. They mustbe posted using the MVS POST macro.WAIT_MVSDFHDSSRX [CALL,][CLEAR,][IN,FUNC
Table 18. WAIT_MVS call - RESPONSE(PURGED) (continued)CONDITION PURGE FORCEPURGE DTIMOUT INTERVALPURGEABLE (NO) Canceled Proceeds normally Canceled Pr
MILLI_SECONDThe INTERVAL option specifies the number of milliseconds beforetimeout.WLM_WAIT_TYPE(name1)specifies, in a 1-byte location, the reason for
RESPONSE and REASON values for WAIT_MVS:RESPONSE REASONOK NoneEXCEPTION NoneDISASTER NoneINVALID NoneKERNERROR NonePURGED TASK_CANCELLEDTIMED_OUTNote:
literalconstA number in the form of a literal, for example B'00000000', X'FF',X'FCF4', "0" or an equate symbol
here appears in the dump header, so you could use it to identify the exitprogram that initiated the system dump request. For a description of validblo
The TRANSACTION_DUMP callTRANSACTION_DUMP causes a transaction dump to be taken. If the transactiondump code that you supply on input is in the transa
If a CICS DB2 application program has been written and defined as threadsafe toobtain the benefits of the CICS open transaction environment (OTE), the
end of the list must be marked by a word containing X'FFFFFFFF'. SEGMENTand SEGMENT_LIST are mutually exclusive.TCA(NO|YES)specifies whether
Note:1. For more detail, refer to the explanation of RESPONSE and REASON in“Making an XPI call” on page 308.2. ‘NOT_OPEN’ means that the CICS dump dat
rather than enqueue name, allowing the NQ domain to locate the enqueuecontrol block directly, and hence more efficiently.MAX_LIFETIME(DISPATCHER_TASK)
The ENQUEUE_TOKEN, ENQUEUE_NAME1, ENQUEUE_NAME2, andMAX_LIFETIME(DISPATCHER_TASK) parameters are the same as in theENQUEUE function call.RESPONSE and
STOP_PURGE_PROTECTIONDFHKEDSX [CALL,][CLEAR,][IN,FUNCTION(STOP_PURGE_PROTECTION),][OUT,RESPONSE (name1 | *)]This command is threadsafe.There are no in
The DEFINE_PROGRAM callDEFINE_PROGRAM allows you to define new programs to the loader domain, or tochange the details of programs that have already be
Table 19. Summary of attributes defining DSA eligibility (continued)EXECUTION_KEYoptionReentrant Above or below16MB lineDynamic storagearea (DSA)CICS
PRIVATEThe program is in the DFHRPL or dynamic LIBRARY concatenation. APRIVATE program need not be reentrant, and is given only limitedprotection from
RESPONSE REASONCATALOG_NOT_OPERATIONALDISASTER NoneINVALID NoneKERNERROR NonePURGED NoneNote: For more detail, refer to the explanation of RESPONSE an
name1The name of a 1-byte location to receive the program attribute.(Rn) A register in which the low-order byte receives the program attributeand the
v Share a GWA between global user exit programs, thereby making the informationit contains available to more than one program, and overcoming limitati
RESPONSE and REASON values for ACQUIRE_PROGRAM:RESPONSE REASONOK NoneEXCEPTION NO_STORAGEPROGRAM_NOT_DEFINEDPROGRAM_NOT_FOUNDDISASTER NoneINVALID None
name8The name of a location containing an 8-byte program name.string A string of characters naming the program."string"A string in quotation
string A string of characters naming the program."string"A string in quotation marks. The string length is set to 8 by padding withblanks or
RESPONSE REASONINVALID NoneKERNERROR NoneThe SET_PARAMETERS callSET_PARAMETERS allows you to set the activity keypoint frequency for the CICSregion.SE
INQUIRE_MONITORING_DATA calls cannot be used in any exit program invokedfrom any global user exit point in DFHTCP or DFHZCP (that is, at any of the ex
expressionA valid assembler-language expression giving the fullword binaryvariable for this EMP.name4The name of a 4-byte field containing the fullwor
"string"A string, enclosed in quotation marks, and possibly containing blanks.This value is processed in the same way as the “string” above.
The DFHMNTDS DSECT that maps the data is of fixed format. Note that:v All the CICS system-defined fields in the performance records (including fieldst
Program management XPI functionsThere are eight XPI program management functions. These are the DFHPGISXcalls:INQUIRE_PROGRAMINQUIRE_CURRENT_PROGRAMSE
[PROGRAM_LENGTH(name4),][PROGRAM_TYPE(NOT_APPLIC|PRIVATE|SHARED|TYPE_ANY),][PROGRAM_USAGE(APPLICATION|NUCLEUS),][PROGRAM_USE_COUNT(name4),][PROGRAM_US
v Uses the START option of the EXEC CICS ENABLE command to makeDFH$PCEX available for execution. This causes DFH$PCEX to be driven forall LINKs and XC
THREADSAFEThe program is defined as threadsafe, and is able to run underwhichever TCB is in use by its user task when the program is givencontrol. Thi
USER CICS gives control to the program in user key. The program is loadedinto a user DSA, above or below the 16MB line; that is, the UDSA orEUDSA, dep
LANGUAGE_DEFINED(ASSEMBLER|C370|COBOL|LE370| NOT_APPLIC|NOT_DEFINED|PLI)returns the programming language specified on the resource definition.LIBRARY(
MODULE_TYPE(MAPSET|PARTITIONSET|PROGRAM)returns the kind of program resource.NEW_PROGRAM_TOKEN(name4)returns a token that can be used to identify the
NOT_APPLICNot applicable. The program is remote.PRIVATEThe program is to be loaded from the DFHRPL or dynamic LIBRARYconcatenation.. A PRIVATE program
RESPONSE and REASON values for INQUIRE_PROGRAM:RESPONSE REASONOK NoneEXCEPTION PROGRAM_NOT_DEFINED_TO_LDPROGRAM_NOT_DEFINED_TO_PGDISASTER ABENDLOCK_ER
This command is threadsafe.Note: The options not described in the following list are identical to the equivalentoptions of the INQUIRE_PROGRAM call.CU
where a global user exit program or task-related user exit program is involved,the options return information about the exit program.INVOKING_ENVIRONM
SET_PROGRAMDFHPGISX [CALL,][CLEAR,][IN,FUNCTION(SET_PROGRAM),{PROGRAM_NAME(name8 | string | ’string’)|PROGRAM_TOKEN(name4)},][AVAIL_STATUS(DISABLED|EN
FULLAPICICS links to and runs the program without the API restrictionsof a remote DPL program. The program can use the full CICSAPI.PROGRAM_ATTRIBUTE(
Note!Before using this information and the product it supports, be sure to read the general information under “Notices” on page923.This edition applie
Example programAs well as the sample programs supplied in source code, there is an examplelisting, DFH$XTSE, that shows you how to:v Use EXEC CICS com
TYPE_ANYEither the copy in the DFHRPL or a dynamic LIBRARY concatenation,or the LPA copy of the program can be used, though preference isgiven to the
The START_BROWSE_PROGRAM callSTART_BROWSE_PROGRAM returns a token that enables you to begin browsingthrough program definitions, optionally starting a
The GET_NEXT_PROGRAM callGET_NEXT_PROGRAM allows you to inquire on the next program definition duringa browse sequence initiated by START_BROWSE_PROGR
NEW_PROGRAM_TOKEN(name4)returns a token that identifies the next definition in the browse sequence. Youcan use it in the BROWSE_TOKEN field of your ne
The INQUIRE_AUTOINSTALL callINQUIRE_AUTOINSTALL returns information about the current settings of theautoinstall function for programs, mapsets, and p
SET_AUTOINSTALLDFHPGAQX [CALL,][CLEAR,][IN,FUNCTION(SET_AUTOINSTALL),[AUTOINSTALL_CATALOG (ALL|MODIFY|NONE),][AUTOINSTALL_EXIT_NAME(name8),][AUTOINSTA
State data access XPI functionsThe state data access functions allow you to inquire on and set certain system datain the AP domain.The INQ_APPLICATION
* The parameter list itself, in name APIQ_EIB, is used to hold theaddress.RSA(name4 | (Rn|*)returns the address of the register save area for the curr
name4The name of a 4-byte area that is to receive the length, in bytes, of theTWA.(Rn) A register that is to receive the length of the TWA.* The param
[TIMEOFDAY(name4| *),][XRFSTATUS(NOXRF | PRIMARY | TAKEOVER),]RESPONSE (name1|*),REASON (name1|*)]This command is threadsafe.CICSREL(name4 | *)returns
DFH$DTRDA sample global user exit program, designed to be invoked at the XDTRDexit.DFH$DTAD, DFH$DTLC, and DFH$DTRD are listed in the CICS Shared Data
name4The name of a 4-byte location that is to receive the date.DTRPRGRM(name8 | *)returns the name of the dynamic routing program.name8The name of an
name2The name of a 2-byte area that is to receive, as a half-word binaryvalue, the level number of the MVS element of OS/390. For example,OS/390 Relea
NOTSHUTDOWNCICS is not in shutdown mode.SHUTDOWNCICS is performing an immediate shutdown.STARTUP(COLDSTART|EMERGENCY|WARMSTART)returns the type of sta
RESPONSE REASONINVALID INVALID_FUNCTIONEXCEPTION LENGTH_ERRORUNKNOWN_DATADISASTER INQ_FAILEDPURGED NoneThe SET_SYSTEM callThe SET_SYSTEM call allows y
RESPONSE and REASON values for SET_SYSTEM:RESPONSE REASONOK NoneINVALID INVALID_FUNCTIONEXCEPTION AKP_SIZE_ERRORNO_KEYPOINTDISASTER SET_FAILEDPURGED N
GETMAINDFHSMMCX [CALL,][CLEAR,][IN,FUNCTION(GETMAIN),GET_LENGTH(name4 | (Rn) | expression),STORAGE_CLASS(CICS|CICS24|SHARED_CICS|SHARED_CICS24|SHARED_
STORAGE_CLASS(CICS|CICS24|SHARED_CICS|SHARED_CICS24|SHARED_USER|SHARED_USER24|USER|USER24|TERMINAL)specifies the class of the storage that is the subj
2. ‘INSUFFICIENT_STORAGE’ is returned if the GETMAIN request wasspecified with SUSPEND(NO), and there was not enough storageavailable to satisfy the r
[OUT,ACCESS(CICS | READ_ONLY | USER),RESPONSE(name1 | *),REASON(name1 | *)]This command is threadsafe.ACCESS(CICS|READ_ONLY|USER)returns the access-ke
ELEMENT_ADDRESS(name4 | (Rn) | *)returns the start address of the element of task-lifetime storage referenced bythe ADDRESS parameter. The start addre
a batch update run that has overridden retained locks. See “DFH$FCBVsample global user exit program” on page 134.DFH$FCLDA sample exit program designe
RESPONSE and REASON values forINQUIRE_SHORT_ON_STORAGE:RESPONSE REASONOK NoneDISASTER NoneKERNERROR NoneThe INQUIRE_TASK_STORAGE callINQUIRE_TASK_STOR
RESPONSE REASONNO_TRANSACTION_ENVIRONMENTDISASTER NoneINVALID NoneKERNERROR NonePURGED NoneThe SWITCH_SUBSPACE callSWITCH_SUBSPACE causes CICS to swit
The TRACE_PUT callTRACE_PUT writes a trace entry to the active trace destinations. You should onlymake a TRACE_PUT call when UEPTRON indicates that tr
expressionA valid assembler-language expression that results in the addressname4The name of a fullword containing the address(Ra) A register containin
name8The name of an 8-byte location to receive the name of the bridge exitprogram.BRIDGE_TRANSACTION_ID(name4)returns the name of the bridge monitor t
The INQUIRE_DTRTRAN callINQUIRE_DTRTRAN returns the name of the dynamic transaction routing (DTR)transaction definition.The DTR transaction definition
MXT_QUEUED(name4 | (Rn) ),TCLASS_QUEUED(name4 | (Rn) ),RESPONSE (name1 | *),REASON (name1 | *)]This command is threadsafe.CURRENT_ACTIVE(name4 | (Rn))
The INQUIRE_TCLASS callThe INQUIRE_TCLASS function is provided on the DFHXMCLX macro call. Itspurpose is to provide current information about the spec
name4The name of a 4-byte location that is to receive the current maximumnumber of active tasks currently allowed for this transaction class,expressed
[SHUTDOWN(name1),][SPURGE(name1),][STATUS(name1),][STORAGE_CLEAR(name1),][STORAGE_FREEZE(name1),][SYSTEM_ATTACH(name1),][SYSTEM_RUNAWAY(name1),][TASKD
PROXY=proxyurlThis optional keyword stores the URL (in the form http://proxyserver) of aproxy server into the Web global work area, then enables the s
XMXD_NOA transaction dump is not required.DYNAMIC(name1)returns, in a 1-byte location (name1), an equated value indicating whether thetransaction is d
name4The name of a 4-byte location that contains the name of the transactionidentifier.string A string of characters, without intervening blanks, nami
XMXD_OWNThe reserved name OWN is specified for the partitionset, which meanstasks running under this transaction definition perform their ownpartition
XMXD_NOThe transaction cannot be restarted.XMXD_YESThe transaction can be restarted.ROUTABLE_STATUS(ROUTABLE|NOT_ROUTABLE)returns a value indicating w
STORAGE_CLEAR(name1)returns, in a 1-byte location (name1), an equated value indicating whethertask-lifetime storage, of tasks associated with this tra
TCLASS(name1)returns, in a 1-byte location (name1), an equated value indicating whether thetransaction belongs to a transaction class.XMXD_NOThe trans
name4The name of a 4-byte location that contains the name of the transactionidentifier.TWASIZE(name4 | (Rn))returns the size of the transaction work a
[TASK_PRIORITY(name1),][TCLASS(name1),[TCLASS_NAME(name8),]][TERMINATE_PROTECTED(name1),] [TPURGE(name1),][TRANNUM(name4 | string | 'string'
XMIQ_TDThe principal facility is a transient data queue.XMIQ_TERMINALThe principal facility is a terminal.NETNAME(name8)returns the network name of th
START_CODE(name1)returns, in a 1-byte location (name1), an equated value indicating how the taskwas started:C A CICS internal attach.XMIQ_DFThe start
racfcid=uuuuuuuuis the current userid, obtained from UEPUSERibm-httprealm=rrrrrrrris the HTTP 401 realm, obtained from UEPREALM (if this exists)labele
TRANNUM(name4)returns the task number of the transaction.name4The name of a 4-byte location to receive the task number.TRANSACTION_TOKEN(name8)specifi
TASK_PRIORITY(name4)specifies the new task priority being set for the task identified byTRANSACTION_TOKEN.name4The name of a 4-byte location that cont
WRITE_JOURNAL DATADFHJCJCX [CALL,][CLEAR,][IN,FUNCTION(WRITE_JOURNAL_DATA),FROM(block-descriptor),JOURNALNAME(name8 | string | ’string’ ) |JOURNAL_REC
RESPONSE REASONJOURNAL_NOT_OPENLENGTH_ERRORSTATUS_ERRORDISASTER NoneINVALID NoneKERNERROR NonePURGED NoneNote: For more detail, refer to the explanati
422 Customization Guide
Part 2. Customizing with initialization and shutdown programs© Copyright IBM Corp. 1977, 2011 423
424 Customization Guide
Chapter 4. Writing initialization and shutdown programsYou can write programs to run during the initialization and shutdown phases ofCICS processing.
v First phase PLTPI programs must not enable any task-related user exit programwith the TASKSTART option.v Because first-phase PLT programs run so ear
Note: A pseudo-terminal:– Must be a surrogate TCTTE that exists only in an AOR– Can be used only in a transaction routing environment– Cannot exist wi
Note: It is not necessary to specify a pipeline in the DFHWS-PIPELINEcontainer. The pipeline is dynamically created by DFHPIRT whenCHANNEL(DFHWSTC-V1)
Writing shutdown programsAny program that is to execute during CICS shutdown must be defined in aprogram list table (PLT), and the PLT must be named o
to be started, and they cannot communicate with terminals. Further, second phasePLT programs must not cause any resource security checking or DB2 call
program causes the relevant unit of work to be shunted. The PLTPI programabends ASP1, and CICS runs the next program defined in the PLTPI table, if an
1. Create a separate PROGRAM resource definition using the same JVMCLASSattribute value and specify EXECKEY(CICS).2. Add the PROGRAM resource definiti
432 Customization Guide
Part 3. Customizing with user-replaceable programs© Copyright IBM Corp. 1977, 2011 433
434 Customization Guide
Chapter 5. General notes about user-replaceable programsThe comments in this chapter apply to all the user-replaceable programs describedin Part 3 of
Assembling and link-editing user-replaceable programsThe source for the CICS-supplied user-replaceable programs is installed in theCICSTS32.CICS.SDFHS
2 The library into which the load module will be link-edited.3 Optionally, the name of a library containing your local Assembler macros andcopy member
Related concepts“The sample XMEOUT global user exit programs” on page 171The MRO and APPC session queue management sample exitprogramThis sample progr
Data storage key for user-replaceable programsThe storage key of storage used by user-replaceable programs depends on howthe storage is obtained:v The
Chapter 6. Writing a program error programConsiderations common to all user-replaceable programsNote that the comments contained in Chapter 5, “Genera
v The program status word (PSW) at the time of the (current) abend, atPEP_COM_PSW. The full contents of PEP_COM_PSW are significant for abendcodes ‘AS
DFHEISTG DSECT ,** Insert your own storage definitions here*DFHPCOM TYPE=DSECT************************************************************************
DFHPEP_COMMAREA DSECT** Standard header section*PEP_COM_STANDARD DS 0FPEP_COM_FUNCTION DS CL1 Always ’1’PEP_COM_COMPONENT DS CL2 Always ’PC’PEP_COM_RE
The sample program error programsTwo source-level versions of the default program are provided: DFHPEP, coded inassembler language, and DFHPEPD, coded
444 Customization Guide
Chapter 7. Writing a transaction restart programThe transaction restart user-replaceable program (DFHREST) enables you toparticipate in the decision a
v The transaction abend which caused the transaction to be terminating abnormallymust have been detected before the commit point of the implicit syncp
The equated values for this parameter are:XMRS_WRITE_YESMeans a terminal write has been performed by the transaction.XMRS_WRITE_NOMeans a terminal wri
XPCTA exit, to test whether the abend was caused by a storage protectionexception condition. It is described on page “The sample XPCTA globaluser exit
v AFCW, indicating that the transaction abended due to a VSAM-detecteddeadlock (RLS only).The source of the CICS-supplied default transaction restart
Chapter 8. Writing a terminal error programConsiderations common to all user-replaceable programsNote that the comments contained in Chapter 5, “Gener
version of the terminal error program (DFHTEP, either CICS-supplied oruser-written), so that it can take the appropriate action.Terminal control progr
The communication areaThe communication area is the basic interface used by the sample DFHTEP, andshould be used by a user-written DFHTEP to:v Address
of as the number of error occurrences that are permitted for a given type of error ona given terminal before the sample DFHTEP accepts the DFHTACP def
An ESE records the occurrence of a particular type of error associated with theterminal. The contents of an error status element are described in the
Figure 22 on page 456 gives an overview of the structure of the sample terminalerror program.Entry and initializationOn entry, the sample TEP uses DFH
General exitControl is passed to a general exit routine from each error processor. This routinedetermines whether the terminal is to remain in service
Sample terminal error program messagesThe messages logged to the transient data destination CSMT (or, optionally, to thedestination specified in the O
of each type of message by using the appropriate parameters specified on thePRINT operand of DFHTEPM TYPE=INITIAL.These messages are:DFHTEP, ERROR – e
Table 2. Alphabetical list of global user exit points (continued)Exit name Module or domain Where or when invoked TopicXDTAD Data tablesmanagementWhen
This message contains the symbolic terminal ID of the device associated withthe error. This message can be suppressed by using the NOTID option.DFHTEP
macros are related and care must be taken to ensure compatibility. The parametersconcerned are identified in the descriptions of the macros later in t
TYPE=INITIALestablishes the beginning of the generation of the sample DFHTEP moduleitself.DSECTPR={YES|NO}controls the printing of CICS DSECTs on the
TIMEThis type of threshold testing is supported.NOTIMEThis type of threshold testing is not supported.PRINT=print-informationspecifies which types of
TACLE|NOTACLEspecifies whether the TACLE prefix is to be recorded on the transient datadestination.TACLEThe 16-byte TACLE prefix as received from DFHT
TYPE=ERRPROCindicates that a CICS-supplied error processor routine is to be replaced with theuser-written error processor that immediately follows the
DFHTEPT–generating the sample DFHTEP tablesThe following macros are required to generate the terminal error program tables:v DFHTEPT TYPE=INITIAL—to e
DFHTEPT TYPE=INITIAL–establishing the control sectionThe DFHTEPT TYPE=INITIAL macro necessary to establish the control section forthe TEP tables is:TY
TYPE=PERMTIDdefines permanently reserved terminal error blocks for specific terminals.Permanent TEBs are defined for terminals that are critical to sy
default actions to be taken. If the number of occurrences is less than thethreshold, the error processor normally takes a logic path that overrides th
Table 2. Alphabetical list of global user exit points (continued)Exit name Module or domain Where or when invoked TopicXFCBFAIL File control recoveryc
Table 23 illustrates the default thresholds of the sample terminal error program,referred to in the TYPE, COUNT, and TIME operands of the DFHTEPTTYPE=
DFHTEPT TYPE=FINAL–terminating DFHTEPT entriesThe DFHTEPT TYPE=FINAL macro terminates the generation of the DFHTEPtables.DFHTEPT–examples of how the m
Writing your own terminal error programYou can write your own terminal error program in any of the languages supportedby CICS. However, CICS-supplied
Addressing the contents of the communication areaAfter your terminal error program receives control from DFHTACP, it should obtainthe address of the c
ABORTWR (X'08')Abend write, free terminal storageRELTTIOA (X'04')Release TCAM incoming message. (TCAM is no longer supported.)SIGN
and DFHTACP writes the ‘DFHTC2522 INTERCEPT REQUIRED’ message toCSMT; if the task is not marked nonpurgeable, it is abended with code ‘AEXY’ or,rarely
After you have carried out the required functions and, optionally, altered the defaultactions scheduled by DFHTACP, the user-written DFHTEP must retur
Example of a user-written terminal error programThe “DFHTEP recursive retry routine” on page 476 is an example of the logic stepsnecessary to design a
(PCICNT)represents a user-defined field used to accumulate the count of recursiveerrors. It should be in the process control information (PCI) area of
*ASM XOPTS(NOPROLOG NOEPILOG SP)************************************************************************* ** DFHTEP RECURSIVE RETRY ROUTINE ** *******
ContentsPreface ...xviiWhat this book is about ...xviiWho this book is for ...xviiWhat y
Table 2. Alphabetical list of global user exit points (continued)Exit name Module or domain Where or when invoked TopicXICEREQ Interval control EXECin
Note that the code in Figure 28 on page 477 is intended only as an illustration of arecursive error handling technique and of the steps necessary to e
Chapter 9. Writing a node error programConsiderations common to all user-replaceable programsNote that the comments contained in Chapter 5, “General n
Background to CICS-VTAM error handlingIn general, errors detected by CICS-VTAM terminal control are queued for handlingby a special task, the CICS nod
redirecting to another. With messages sent with exception-response only, CICSmay not have the data available to send it again, but the requesting appl
The action flags can be set or reset within DFHZNEP.The action flags set by DFHZNAC for specific error codes and sense codes arelisted in Appendix B,
other, reusable NEBs for general use. If you expect to accumulate error statisticsabout 10 LUs concurrently, you need 10–12 NEBs.Each NEB may contain
will then locate the correct ESB within a selected NEB. The latter may bepermanently dedicated to the LU in error (a named NEB), or may be one takenfr
The 3270 sample code is not intended to cover all error conditions. Note that thecode is not suitable for SNA 3270s (LU session type 2). Error conditi
You also have to provide the sub-NEPs for the various NEP transaction classes,including, of course, one for the default NEPCLASS(0). Each of these sub
DFHZNAC assumes that system sense codes are available upon receipt of anexception response from the logical unit. Thus, analysis is performed to deter
Table 2. Alphabetical list of global user exit points (continued)Exit name Module or domain Where or when invoked TopicXPCABND Program controlprogramA
The significance of each section of the communication area is described below:HeaderA 4-byte header common to all user-replaceable programs.Error_bein
************************************************************************ Header **** These fields are READ ONLY **************************************
************************************************************************ VTAM information - Any VTAM sense and RPL codes **** These fields are READ ON
The next sections describe fields in the parameter list that can be reset withinDFHZNEP. See also “Coding for the 3270 ‘unavailable printer’ condition
causes CICS to take a system dump when there is no task attached to theterminal at the time of error detection, if the flag TWAOAT in TWAOPT2 is alsos
“good morning” message transaction is initiated (the transaction specified by thesystem initialization parameter GMTRAN).The flags are:TWAOAS (X'
TWAONCN (X'10')Normal CLSDST (no reset allowed)TWAOSCN (X'08')Normal CLSDST (reset allowed)TWAONEGR (X'04')Send negative
TWANLD of the communication area, and the length of the data in field TWANLDL.The data is logged to the CSNE transient data queue for future inspectio
The sample node error programThe sample node error program provides a general environment for the executionof error processing routines (error process
v Optional error processors for 3270 or interactive logical units. A node errorprogram cannot be generated with both 3270 and interactive logical unit
Table 2. Alphabetical list of global user exit points (continued)Exit name Module or domain Where or when invoked TopicXSZARQ Front EndProgramming Int
Optional common subroutinesThe common subroutines are addressed via the CSVT and provide error processorswith the following functions:v Locate or assi
Optional error processor for interactive logical unitsOnly one error processor is supplied for interactive LUs: group index 1, with errorcode X'D
DFHSNEP TYPE=USTOR to define storage, then both it and DFHSNEPTYPE=USTOREND must be coded before DFHSNEP TYPE=INITIAL.The DFHSNEP TYPE=USTOREND macro
DFHSNEP TYPE=ERRPROC,GROUP=1,CODE=(D9,DC,DD,F2)Sense/status error processor code.DFHSNEP TYPE=ERRPROC,GROUP=2,CODE=42Unavailable printer error process
in the range X'01' through X'FF' (a leading zero can be omitted). The errorprocessor name has the form NEPROCxx, where “xx” is the
4. Registers 4 through 9 can be saved by common subroutines in an areareserved in EXEC interface storage at label NEPCSRS. They must berestored before
specified in the COUNT operand is not exceeded before this time intervalelapses, the error count is reset to 0. Specify “units” as SEC, MIN, or HRS. T
CSVTESBL DS A NEPESBL - ESB locate routineCSVTNEBD DS A NEPNEBD - NEB delete routineCSVTECUP DS A NEPECUP - error count updateroutineWriting your own
v Updates to recoverable resources. If the resources are locked by another task,the CSNE unit of work could be suspended or shunted.You should also no
Before linking to the node error program, DFHZNAC inserts the primary andsecondary printer netnames and terminal IDs into the communication area,indic
Table 2. Alphabetical list of global user exit points (continued)Exit name Module or domain Where or when invoked TopicXWBAUTH Web domain During proce
If used in this way, the initiated transaction can write an appropriate signonmessage when the session has been acquired. Note, however, that ifLOGONM
DFHZNEPI TYPE=INITIAL—specifying the default routineThe DFHZNEPI TYPE=INITIAL macro specifies the name of the defaulttransaction-class routine to be u
Handling shutdown hung terminals in the node error programError Code: X'6F'Symbolic Name: TCZSDASMessage Number: DFHZC2351For error code X&a
system-wide recovery notification options (whether terminal users are notified of arecovery, the recovery message, or the recovery transaction) for so
Changing the recovery messageIf you define a terminal with RECOVNOTIFY(MESSAGE) in its TYPETERMdefinition, a recovery message is sent to the terminal
the others have all been shut down), the ISSUE PASS command does not fail withan INVREQ. Instead, the terminal is logged off and message DFHZC3490 is
514 Customization Guide
Chapter 10. Writing a program to control autoinstall ofterminalsConsiderations common to all user-replaceable programsNote that the comments contained
v Create some model TERMINAL definitions.v Define the terminals to VTAM, so that their definitions in VTAM match the modelTERMINAL definitions in CICS
Coding entries for MTSYou need to define model names (MDLTAB, MDLENT, and MDLPLU macros) andprinter and associated printer names (ASLTAB, ASLENT, and
Global user exit points by functional areaThe exit points are grouped according to their functional relationships. This usuallymeans according to the
v Autoinstall processing has been completed to a point where information (aterminal identifier and autoinstall model name) from the control program is
The control program selects one model from this list, and CICS uses this model tobuild the TCTTE for the device. The default autoinstall control progr
model name into the model name list (Autinstmodelname_1), and also into themodel name field (Modelname) in the selection list addressed by fullword 4
used to name a CONNECTION. It should therefore conform to the namingstandards for a CONNECTION (rather than a TERMINAL) as defined inCONNECTION defini
As a general rule, all the models in the list passed to your program match theVTAM data for the terminal. That is, a viable TCT entry usually results
However, you may be in a situation where you must continue to use unique andpredictable TERMINAL names for your terminals. Your control program must b
satisfactory, CICS schedules the new resource for OPNDST in order to completethe logon request. If the installation process fails, then the control pr
The autoinstall control program at DELETETo provide symmetry of control over the autoinstall process, the autoinstall controlprogram is also invoked w
Table 27. Autoinstall control program’s parameter list at DELETE (continued)1st byte 2nd byte 3rd byte 4th byteThird fullword Length of netname to bed
If CICS attempts to BIND, compare the device’s CINIT RU to the CICS BIND, andmake corrections accordingly.It is very important that you ensure that th
Return codesUERCNORMContinue processing.XPI callsXPI must not be used.API and SPI callsThe following commands are supported:v ADDRESS CWAv ADDRESS EIB
The default action of the sample program, on INSTALL, is to select the first modelin the list, and derive the terminal identifier from the last four n
* REGISTER CONVENTIONS = ** R0 used by DFHEICAL expansion ** R1 -------"-------"------"---- ** R2 Base for Input parameters ** R3 Base
COBOLFigure 41 on page 531, in COBOL, redefines the NETNAME, so that the last fourcharacters are used to select a more suitable model than that select
PL/IFigure 42 on page 532, in PL/I, extracts information from the VTAM CINIT RU,which carries the BIND image. Part of this information is the screen p
DCL 1 CINIT BASED(INSTALL_CINIT_PTR),2 CINIT_LENG FIXED BIN(15),2 CINIT_RU CHAR(256);DCL SAVE_CINIT CHAR(256);/* Temp save area for CINIT RU */DCL 1 S
/* Now access the screen PS area in the portion of the BINDimage presented in the CINIT RU *//* using the screen alternate height as a guide to the mo
534 Customization Guide
Chapter 11. Writing a program to control autoinstall ofconsolesConsiderations common to all user-replaceable programsNote that the comments contained
Note:1. You can have only one active autoinstall control program to handleterminals, consoles, and APPC connections. You specify the name ofthe active
The parameter list contains the following information:1. A standard header. Byte 1 indicates the request type (this is hexadecimalcharacter X'FD&
UERCNORMContinue processing.XPI callsAll can be used.API and SPI callsAll can be used, except for:v EXEC CICS ABENDv EXEC CICS PERFORM SHUTDOWNSample
How CICS builds the list of autoinstall modelsCICS builds the list of autoinstall models by selecting from its complete list ofterminal models those m
If you want an INSTALL request to proceed, perform these steps in your autoinstallcontrol program:v Return an autoinstall model name in the first 8 by
CICS action on return from the control programWhen CICS receives control back from the autoinstall control program, it examinesthe return code field:v
The sample autoinstall control programs for consolesIBM supplies a default autoinstall control program, written in each of the supportedprogramming la
542 Customization Guide
Chapter 12. Writing a program to control autoinstall of APPCconnectionsConsiderations common to all user-replaceable programsNote that the comments co
Like autoinstall for other resources, autoinstall for APPC connections requires modeldefinitions. However, unlike the model definitions used to autoin
The autoinstall control program for APPC connectionsThe purpose of the autoinstall control program is to provide CICS with any extrainformation it nee
INSTALL_APPC_STANDARD headerA fullword input field comprising the following information:INSTALL_APPC_EXIT_FUNCTIONA 1-byte field that defines the inst
INSTALL_APPC_SS_BINDX'F4' represents an install request for an APPC single-sessionconnection via a BIND.Note: The values X'F0' and
v Use the mapset name, map name, and field length defined in the map, and theactual length of field data placed in the outbound datastreamv Modify the
Your control program can use the TEMPLATE_NETNAME field to specify theNETNAME of the template. For connections between generic resources, yourprogram
The autoinstall control program at DELETETo provide symmetry of control over the autoinstall process, the autoinstall controlprogram is also invoked w
Synclevel 1 connections installed via a BINDSynclevel 1-only APPC connections autoinstalled via a BIND request (except forlimited resource connections
Note: This type of request cannot be received by CICS TransactionServer for z/OS, Version 3 Release 2.INSTALL_APPC_PS_BIND (X'F3')An incomin
552 Customization Guide
Chapter 13. Writing a program to control autoinstall of IPICconnectionsConsiderations common to all user-replaceable programsNote that the comments co
You can use any installed IPCONN definition as a template but, for performancereasons, your template must be an installed definition that is not in us
If the default user program is not adequate for your purposes, you can write acustomized version of the default program or create your own program to
isaic_networkid (Input)An 8-character field containing the network ID of the system trying to connect,as sent on the connect flow.isaic_port (Input/Ou
isaic_function (Input)The function for which the user program has been invoked:X'F1' After deletion of an IPCONN.isaic_ipconn (Input)The nam
UEPBMTCTAddress of the TCTTE associated with the mapping request.UEPEXECBAddress of the system EIB associated with the task.UEPBMCNTAddress of the hal
Default actions of the sample programThe role of the autoinstall user program in installing IPCONNs is to choose theIPCONN template to be used and to
Chapter 14. Writing a program to control autoinstall ofshipped terminalsConsiderations common to all user-replaceable programsNote that the comments c
CICS-generated aliasesThe autoinstall control program is invoked once for each shipped terminal orconnection definition to be installed.If CICS detect
terminal. If, during the delay interval, the terminal definition is deleted, re-shipped,and re-installed with a different local TERMID, the started tr
autoinstall control program at INSTALL” on page 536. The parameter list passed atINSTALL of local APPC connections initiated by BIND requests is descr
(the value of the TERMINAL or CONNECTION attribute on the shippeddefinition) is already in use in the AOR to identify an installed remoteterminal or c
installed, and stored within the definition. Thus, if the definition is shipped toanother region, the value of the token is shipped too. The correlati
DELETE_SHIPPED_TERM (X'FA')A shipped terminalDELETE_SHIPPED_RSE (X'FB')A shipped connection (remote system entry).DELETE_SHIPPED_T
566 Customization Guide
Chapter 15. Writing a program to control autoinstall of virtualterminalsVirtual terminals are used by the External Presentation Interface (EPI) and te
BMXACTLNis a halfword binary value which contains the actual length of the data receivedor transmitted in this field.BMXDATAis the address of the fiel
TERMIDs generated by CICS for Client terminals consist of a 1-character prefixand a 3-character suffix. The default prefix is '\', but you c
same AOR. However, if you are using CICS-generated TERMIDs, your serverprograms must not rely on TERMIDs being allocated consistently to particular Cl
If a name clash occurs in an AOR, the autoinstall control program is invoked in theAOR. It can resolve the conflict by allocating an alias terminal id
v The USERID of the first transaction in a pseudoconversation can be obtainedusing EXEC CICS ASSIGN USERID.v The TRANSID of the first transaction in a
Note: The communications area for INSTALL of virtual terminals is the same asthat for INSTALL of shipped terminals and connections—that is why the fie
SELECTED_SHIPPED_TERMIDA 4-character field used to specify the name by which the virtualterminal will be known to CICS. If the name is less than 4 cha
INSTALL_BRFAC_STANDARDA fullword input field containing the following information:INSTALL_BRFAC_EXIT_FUNCTIONA 1-byte field that indicates the type of
RETURN_OK (X'00')Install the virtual terminal. This is the default value. Your userprogram must return this value if the resource is to beau
DELETE_SHIPPED_EXIT_FUNCTIONA 1-byte field that indicates the type of resource being deleted. The equatedvalue for Client virtual terminals is DELETE_
INSTALL_LINK_BRFAC (X'10')The autoinstall program was called during installation of a bridge facilityto be used by the Link3270 bridge.INSTA
File control EXEC interface API exits XFCREQ and XFCREQC ...85File control EXEC interface SPI exits XFCAREQ and XFCAREQC ...98File control file s
When modifying data in the XBMIN exit, the safest method is to use the lengthprovided in BMXMAPLN, but to ensure that any pad characters added by BMS
578 Customization Guide
Chapter 16. Writing a program to control autoinstall ofprogramsConsiderations common to all user-replaceable programsNote that the comments contained
v CICS calls any user-replaceable program other than the program or terminalautoinstall program.v A program is named in the PLTPI or PLTSD list.Autoin
Note: This assumes that the autoinstall control program chooses not toinstall a definition. If no definition is installed because autoinstallfails, th
Faster startup timesWarm and emergency startsIf you are using program autoinstall with cataloging, restart times are similar tothose of restarting a C
The autoinstall control program at INSTALLOn invocation, CICS passes a parameter list to the autoinstall control program bymeans of a communication ar
If you do not set this field, the autoinstall routine uses the language defined inthe model, if one is specified. However, when control is passed to t
PGAC_EXECUTION_SETallows you to specify, in a 1-byte field, whether or not the program is restrictedto using the distributed program link (DPL) subset
shared resources it takes into account the possibility that otherprograms may be executing concurrently and attempting to modify thesame resources.PGA
If you customize the supplied control program, or write your own version, youshould note the following:v Input:The first two fields of the parameter l
Exit-specific parametersUEPFAREQAddress of a 1-byte field that indicates why the exit has beencalled. Possible values are:UEPFAINInitialization.UEPFAT
group containing the definitions in your startup grouplist. If you specify an invalidname for the control program, CICS disables the program, thus dis
Chapter 17. Writing a dynamic routing programConsiderations common to all user-replaceable programsNote that the comments contained in Chapter 5, “Gen
3. “Routing bridge requests dynamically” on page 6034. “Routing by user ID” on page 6075. “Parameters passed to the dynamic routing program” on page 6
v After the routed transaction has completed, if the routing program has requestedto be reinvoked at termination.v If the routed transaction abends, i
Sometimes, the dynamic routing program may be invoked for transactions that arerouted statically. This happens if a transaction defined as DYNAMIC(YES
ImportantTo route a transaction defined by the DTRTRAN definition, your dynamic routingprogram must set the DYRDTRRJ field of the communications area
If the system is unavailable or unknownThe dynamic routing program is invoked again if the remote system name that youspecify on the route selection c
Modifying the initial terminal dataThe dynamic routing program should not perform an EXEC CICS RECEIVE or anEXEC CICS GDS RECEIVE command, because thi
may also need to change the input communications area passed to the routedapplication. Field DYRACMAA of the routing program’s communications areaenab
result of logic in the routed transaction. You should also consider carefully theeffect of EXEC CICS SYNCPOINT and ABEND commands on APPC transactionr
Return codesUERCNORMContinue processing.XPI callsAll can be used, except those that use recoverable resources.API callsAll can be used except those th
v Distributed Computing Environment (DCE) remote procedure calls (RPCs)v ONC/RPC calls.A program-link request received from outside CICS can be dynami
Changing the target CICS regionThe communications area passed to the dynamic routing program initially containsthe system identifier (sysid) and netna
alternative program is to be linked. You can specify a local or remote program,depending on the region to which the request is to be routed.Changing t
been set to ‘N’—the request is not to be queued—for this error to occur), issue areturn code of ‘0’ in DYRRETC, and try to route the request again.v Y
For information about writing an XPCERES global user exit program, see TheXPCERES global user exit.If a required resource is unavailable on the target
v The dynamic routing program can be RMODE ANY but must be AMODE 31.Unit of work considerationsThe client program, the dynamic routing program, and po
v If an error occurs in route selection, for example, if the target region returned bythe routing program on its initial (route selection) call is una
v If the SYSIDs are the same (or the returned SYSID is blank) CICS executes thelink request locally.v If the two SYSIDs are not the same, CICS routes
To use the XPCERES exit, both the routing region and the target region mustsupport the “resource unavailable” condition (RESUNAVAIL). All the followin
resources, because changes to those resources may be committed or backedout inadvertently as a result of logic in the routed program.v If you want to
Note: For additional information about using these exits with CICS shared datatable support, see the CICS Shared Data Tables Guide.Related concepts“Th
ImportantThe same communications area is passed to both the dynamic routing program andthe distributed routing program. Some parameters are meaningful
under the DYRFUNC parameter the value X'5' is not listed because it is neverpassed to the dynamic routing program—it occurs only on a route
When your routing program is invoked because the routed transaction hasabended (DYRFUNC=4), the information in the communications area, or in theDFHRO
DYRBRTKis the 8-byte bridge facility token associated with a Link3270 bridge request.This field is valid only when DYRTYPE=8.DYRCABPindicates whether
N The transaction is not rejected.This indicator is always set to the reject condition when the dynamic routingprogram is invoked. To dynamically rout
2 The selected system is in service, but no sessions are available.3 An allocate request has been rejected, and SYSIDERR returned to theapplication pr
3 Invoked for notification of the destination of a statically-routed request.This applies in the following cases:ATI requestsA transaction defined as
Note: This mixed level of operation, in which different CICS regions in thesame logical server are at different levels of CICS, is intended to beused
N The dynamic routing program is not to be reinvoked. This is the default.Y The dynamic routing program is to be reinvoked.You can specify this option
8 Terminate the transaction with either a message or an abend.Whenever the routing program is invoked, DYRRETC is set to ‘0’. When itis invoked for ro
UEPDTCMT (X'40')This is a CICS-maintained table. Only meaningful ifUEPDTSDT is on.UEPDTOPT (X'20')The exit has been invoked for ta
client that the dynamic routing program has rejected the request, and acompcode that gives details of the reason the last attempt to route therequest
– If DYRERROR is set to ‘2’ (no session available) and you want CICS toretry routing, you must change DYRSYSID or change the value ofDYRQUEUE to ‘Y’ (
2. If the original value was not obtained from the TRANSID option of an EXECCICS LINK command. A value specified on the TRANSID option of a LINKcomman
DYRUSERNis a 1024-byte user area.CICS initializes this user area to zeroes before invoking the dynamic routingprogram for a given task. This user area
v The invocation of the dynamic routing program if the routed transaction abends(DYRFUNC=4), if you have specified DYROPTER=Y.If you want EDF to displ
Chapter 18. Writing a distributed routing programYou can write your own distributed routing program or use the default program thatis provided with CI
6. “Routing by user ID” on page 6447. “Dealing with an abend on the target region” on page 6448. “Some processing considerations” on page 6459. “Param
3. The distributed routing program is invoked at more points than the dynamicrouting program. Figure 60 on page 627 shows the points at which thedistr
“Daisy-chaining” is not supported. That is, once a BTS activity has been routed to atarget region it cannot be re-routed from the target to a third re
Changing the target CICS regionThe DYRSYSID field of the communications area passed to the distributed routingprogram initially contains the system id
XPI callsAll can be used.Exit XDTADThe XDTAD user exit is invoked when a write request is issued to a data table.v For a user-maintained data table an
Returning a value in DYRRETC has no effect when the routing program is invokedfor notification, routing complete, transaction initiation, transaction
Routing method requests for enterprise beans and CORBA statelessobjectsThis section describes how to use a distributed routing program to dynamicallyr
1. Client connections can be balanced across the listener regions, using any of thefollowing methods:v Connection optimization by means of dynamic Dom
on the local EJB/CORBA server, that issues a request for another bean. Whathappens next depends on whether or not the target object belongs to the loc
– Whether or not the target object implementsCosTransactions::TransactionalObject.v Whether or not the client has an OTS transaction when it issues th
This invocation signals that (unless the routing region and the target regionare one and the same) the routing region’s responsibility for this reques
When it is invoked for route selection, the distributed routing program can changethe target region by changing the value in DYRSYSID.If the specified
If the routing program sets DYROPTER to 'Y', it is re-invoked on the target region:1. When the routed method starts on the target region. Th
In general, you should follow the guidelines in Updating enterprise beansin a production region, in the Java Applications in CICS manual about howto o
Performing a rolling upgrade of an EJB/CORBA serverThe DYRLEVEL field of the communications area is a migration aid, intended tohelp you perform a “ro
UEPDTRBLThe fullword length of the data table buffer.UEPDTRLThe fullword length of the data record.UEPDTKAThe address of the data table key.UEPDTKLThe
distributed routing program is invoked for notification only—it cannotroute the request. Unless the SYSID option of the START commandspecifies a remot
Figure 63 shows the points at which the distributed routing program is invoked, andthe region on which each invocation occurs. Note that the “target r
Returning a value in DYRRETC has no effect when the routing program is invokedfor notification, routing complete, transaction initiation, transaction
Invoking the distributed routing program on the target regionThe route selection, notification, route selection error, and routing completeinvocations
region, even though the transaction is defined as ROUTABLE(YES) andDYNAMIC(YES). The transaction may, however, be statically routed from the targetreg
Changing the target CICS regionThe DYRSYSID field of the communications area passed to the distributed routingprogram initially contains the system id
If an error occurs in route selectionIf an error occurs in route selection—for example, if the sysid returned by thedistributed routing program is una
The recommended way of dealing with an abend on the target region is as follows:1. Code your routing program so that, on each route selection (and rou
ImportantThe same communications area is passed to both the distributed routing programand the dynamic routing program. Some parameters are meaningful
under the DYRTYPE parameter the value X'4' is not listed because it is neverpassed to the distributed routing programit occurs only on a pro
UEPDTCMT (X'40')This is a CICS-maintained table. Only meaningful ifUEPDTSDT is on.UEPDTCFT(X'10')The exit has been invoked by coup
DYRACTIDis the CICS-assigned, 52-character activity identifier of the BTS activity beingrouted. (When a process is being routed, DYRACTID returns the
This field is not used by the distributed routing program. On invocation, it is setto 'N'.DYRERRORhas a value only when DYRFUNC is set to 1.
resource is unavailable on the target region. This error code may be setfor program-link, Link3270 bridge, and non-terminal-related STARTrequests.DYRF
6 Invoked because CICS has finished trying (successfully orunsuccessfully) to route the request to the target region.This invocation occurs on the rou
DYRNETNMis not used by the distributed routing program. On invocation, it is set to nullcharacters.Note: To set the target region, the distributed rou
DYRPROCTis the process-type of the BTS process to which the process or activity beingrouted belongs.This field applies only to the routing of BTS proc
The distributed routing program can accept the value of DYRSYSID orchange it before returning to CICS.If the sysid you return to CICS is the same as t
Note that this is the name by which the transaction is known in the routingregion. Unlike the dynamic routing program, the distributed routing program
v For non-terminal-related START requests, DYRUSERID contains:– The userid specified on the USERID option of the EXEC CICS STARTcommand, or– If USERID
Note: A sample definition is provided for DFHDSRP, but you must install a newresource definition for a customized distributed routing program.Distribu
UERCABDUAbend CICS with a dump.XPI callsTRANSACTION_DUMP must not be used.DBCTL tracking program exits XXDFB and XXDTOExit XXDFBWhen invokedBy the alt
658 Customization Guide
Chapter 19. Writing a CICS–DBCTL interface status programConsiderations common to all user-replaceable programsNote that the comments contained in Cha
DBUDISC (X'02')Disconnected.DBUREASReason for Disconnection. Contains flags:DBUMENU (X'01')Disconnected from menuDBUDBCC (X'0
Chapter 20. Writing a 3270 bridge exit programConsiderations common to all user-replaceable programsNote that the comments contained in Chapter 5, “Ge
662 Customization Guide
Chapter 21. Writing a security exit program for IIOPConsiderations common to all user-replaceable programsNote that the comments contained in Chapter
* 1–character reserved fieldpIIOPDatacontains the address of the first megabyte of the unconverted IIOP buffer. If theincoming request is fragmented,
sslClientUserid1–byte field showing the derivation of the user ID if SSLTYPECLIENTAUTH is specified in the TCPIPSERVICE definition, where:0 user ID se
If you write your own security exit program, it should return all fields other thanuserid and return_code unchanged, or unpredictable results will occ
Chapter 22. Writing programs to customize JVMsThis chapter describes how to write programs to customize a Java Virtual Machine(JVM). The normal way to
Exit-specific parametersUEPDBXRAddress of CICS XRF information for use with DBCTL. The CICSXRF information can be mapped using the DSECT DFHDXUEP.Retu
For a JVM to use an output redirection class that you have modified or written, theclass must be present in a directory on an appropriate class path i
by one provided in a subclass. It does not implement a writeRecord method, andsuch a method must be provided by any subclass to control the output red
the sample classes trap all errors in this way, this means that the calling programsdo not need to handle any exceptions thrown by the output redirect
CICS checks the length of the runtime options before passing them to LanguageEnvironment. If the length is greater than 255 bytes, CICS does not attem
You cannot call DFHJVMAT for a continuous JVM, that is, with a JVM profile thatspecifies REUSE=YES (for example, the default CICS-supplied JVM profile
1. Except where explicitly stated as being for information only, you canreset the values of these variables.2. All environment variables and values ar
Table 34. JVM profile options available to DFHJVMAT (continued)Option SpecifiesXrs Reduces the use of operating system signals by the JVMXrundllname L
Chapter 23. Writing a distinguished name program for clientsof enterprise beansConsiderations common to all user-replaceable programsNote that the com
ejdn_common_name_ptrA pointer to the proposed common name of the client, derived from theusername associated with the client’s userid in the external
Sample programs and copy booksThe default distinguished name program is an assembler-language program namedDFHEJDNX. The source of the default program
Recursion within a task-related user exit program...290Purging tasks ...290Using CICS services in your task-related user
XPI callsMust not be used.Exit XDSAWTWhen invokedAfter an operating system wait issued by the quasireentrant CICS TCB.Exit-specific parametersUEPSYSRC
678 Customization Guide
Chapter 24. Writing an EJB event programYou can write your own EJB event program or use the program provided with CICS,DFHEJEP.You must be familiar wi
The DFHEJEP communications areaThe DFHEJEP communications area is mapped by the EJEV_COMMAREA DSECT,which is supplied in the DFHEJEPH copybook.The inf
Event codesTable 36 shows the codes and meanings of all EJB events that may be passed tothe EJB event program.Table 36. EJB event codes. The table sho
Table 36. EJB event codes (continued). The table shows the event type and meaning ofeach event code. The “Bean name” column indicates whether the EJEV
Table 37. EJB event programs and copy books (continued)Language Member name LibraryCopy books:v Assemblerv Cv COBOLv PL/Iv DFHEJEPDv DFHEJEPHv DFHEJEP
684 Customization Guide
Chapter 25. Writing programs to customize LanguageEnvironment run-time options for XPLink programsConsiderations common to all user-replaceable progra
686 Customization Guide
Part 4. Customizing the XRF overseer program© Copyright IBM Corp. 1977, 2011 687
1. The descriptions of the exits that follow show the general format of theapplication’s parameter list. For detailed information about the format oft
A general note about user-written programs:On return from any user-written program, CICS must always receive control inprimary-space translation mode,
Chapter 26. The extended recovery facility overseer programThe information in this chapter is of interest only to users of the extended recoveryfacili
Endto terminate the sample programOpento ask the overseer to try to open CICS availability manager (CAVM) data setsthat it has previously failed to op
takeover. That system is the current active, and the information displayedfor the alternate is marked as OLD until a new alternate is signed on andrun
active-alternate pairs are not to be automatically restarted in place, regardless ofwhether restart processing is enabled or disabled. This is describ
This problem arises only if the overseer is initialized before all the CAVM data setshave been formatted. If it occurs, the operator can use the Open
The sample overseer program reads the DFHOSD records in key sequence andbuilds a table of entries. Each active-alternate pair is known by its generic
2 The last three entries are for three related MRO regions that are identified bythe related system name of MROSYS. One of these is not allowed to r
by the overseer program and passed back to DFHWOS as input to the OPEN,CLOSE, READ, QJJS, and TERM macros.DFHWOSM FUNC=BUILD macroThe DFHWOSM FUNC=BUI
DFHWOSM FUNC=DSECT macroThe DFHWOSM FUNC=DSECT macro generates a number of DSECTs, includingthe DSECT of the DBLID definitions.DFHWOSM FUNC=JJC macroT
UEPAPLISTAddress of application’s parameter list. The general format forCOBOL and assembler language is:plist address --> parm1 address --> parm
For FUNC=QJJS, the PARM value is a pointer to the addresses of thefollowing:v An 8-byte job namev An 8-byte JES job IDv A 256-byte SSOB return areav A
8 Access already initialized for this generic applid or for thisddname9 Version numbers of the named CAVM data sets do not matchC Data set open failur
InputThe PARM value is a pointer to a parameter list that contains the addresses ofthe generic applid and the “dbllist”. The dbllist is a list of one
Note:1. The data structures of the status information pointed to by items X'0024'and X'0124' are provided in DSECT DFHXRHDS ofCICS
0 Read successful, active and alternate signed on1 Read successful, active signed on2 Read successful, alternate signed on.3 Read successful, nothing
DFHWOSM FUNC=TERM macroThe DFHWOSM FUNC=TERM macro terminates communication between theoverseer program and DFHWOS, and releases any associated storag
The associated DSECTs are provided in member DFH$XRDS ofCICSTS32.CICS.SDFHSAMP. There are several ways in which you can change thesupplied code to mak
user exit program to request a CICS abend, and thereby initiate a takeover,and for the overseer program to issue the PERFORM TAKEOVER commandwhile act
link-edit job step requires the entry name DFHXRONA. If you change any of theDSECTs used by the sample overseer program, you should reassemble the fou
Part 5. CICS journaling, monitoring, and statistics© Copyright IBM Corp. 1977, 2011 707
UEPPSB1A PSB exists.UEPPSBNMAddress of an area containing the 8-character PSB name. Thecontents of the area can be overwritten by the exit, for all ty
A general note about user-written programs:The following comment applies to all user-written programs mentioned in Part 5 ofthis book:v Upon return fr
Chapter 27. CICS logging and journalingThis chapter is divided into the following sections:1. “The CICS log manager”2. “Log stream storage”3. “Enablin
data sets managed by the storage management subsystem (SMS). Each logstream, identified by its log stream name (LSN), is written to its own log datase
Enabling, disabling, and reading journalsJournal records are written to a log stream either directly from a user applicationprogram, or from a CICS ma
Reading journal records offlineAccess to journaled data in log streams is provided through an MVS subsysteminterface (SSI), LOGR. Your existing user p
System logs are always presented in CICS Transaction Server for z/OS format..Each general log comprises a stream of contiguous blocks of journaled dat
LGBH_GLOBAL_INFO8-bytes containing '>DFHtrnn', where:t = log typer = reservednn = block version numberLGBH_GENERIC_APPLID8-byte CICS appl
GLRH_RECORD_LENGTH4-byte record length.GLRH_HEADER_LENGTH4-byte header length.GLRH_REC_DATA_LEN4-byte record data length.GLRH_GMT8-byte time (GMT).GLR
Start of task indicator1-byte which may contain:X’8n’ Equivalent to JCSPSOTK (start of task)X’4n’ Equivalent to JCSPLSTK (start of UOW)Reserved3-byte
Journal records can be written by any of the following CICS components: thelogger, journal control (in the case of a request issued by a user), file c
The general format for PL/I is:plist address --> parm1 address --> parm1 (parmcount)parm2 address --> locator descriptor --> parm2parm3 ad
Some records have a third and fourth section which are of variable length.Table 38 outlines the sections in a journal record written by file control.T
FLJB_GENERAL_DATA12-byte general data.FLJB_COMMON_DATA16-byte common data.FLJB_CD_KEYVariable-length caller data key.FLJB_CD_DATAVariable-length calle
FLJB_FILE_NAME8-byte file name.Reserved2-byte reserved field.The format of the FLJB_COMMON_DATA section is shown in Figure 80.FLJB_CD_BASE_ESDS_RBA4-b
Write-delete record typesThere are four sections in the journal records written for write-delete record types:v The FLJB_GENERAL_DATA section,v The FL
FLJB_WDD_BASE_ESDS_RBA4-byte relative byte address of record in base data set for ESDS (0 if filedoes not refer to ESDS, or if it is an extended addre
FLJB_GENERAL_DATA12-byte general data section.FLJB_CLOSE_DATA28-byte close data section.See Figure 79 on page 719 for the format of the FLJB_GENERAL_D
Tie-up record typesThere are two sections in the journal records written for tie-up record types:v The FLJB_GENERAL_DATA sectionv The TIE_UP_RECORD_DA
FLJB_TUR_BASE_CI_SIZE4-byte CI size of base data set.44421126244442FLJB_TUR_ BITSFixed lengthFixed lengthFixed lengthFixed lengthLog stream name of fo
FLJB_TUR_MAXIMUM_LRECL4-byte maximum record length.FLJB_TUR_BASE_KEY_POSITION4-byte base key position in record.FLJB_TUR_BASE_KEY_LENGTH2-byte base ke
Function ID1-byte function identifier.Module ID1-byte module identifier.Inbound VTAM SN2-byte inbound VTAM sequence number.Outbound VTAM SN2-byte outb
Return codesUERCNORMContinue processing.UERCPURGTask purged during XPI call.XPI callsAll can be used.Dump domain exits XDUREQ, XDUREQC, XDUCLSE, and X
UP_MODFN1-byte module functionUP_SVMID1-byte module identifierUP_FEPDF1-byte data functionUP_FEPES1-byte escape character for keystrokeReserved2-byte
Structure and content of COMPAT41-format journal recordsSMF recordsThe following description does not apply to journal records written to an SMF datas
The label header part of the journal control label header is 10 bytes long, and itsformat is shown in Figure 91.JCRLL2-byte length of record.X'00
JCRSTRID2-byte system-type identifier. For a user journal request, this is X'0000'.Otherwise, it consists of a 1-byte function ID followed b
The system header is 10 bytes long. Its format is shown in Figure 94.JCRLL2-byte length of record.X'0000'2-bytes containing X'0000&apos
JCRUTRID2-byte user-type identifier. For a CICS journal request, this is X'0000'.Otherwise, it contains the code specified by the JTYPEID ke
Reserved2-byte reserved field.JCSPF11-byte flag field:X’01’ User prefix presentX’02’ Physical start-of-task, JCSPSOTKX’04’ Logical start-of-task, JCSP
JCRLL - (system header (10) bytes + JCSPLL + user prefix)Not all journal records contain journaled data.The CICS components that issue journaling requ
************************************************************************* FUNCTION IDENTIFIERS *******************************************************
Note:1. Records created by automatic journaling and automatic logging areidentified by values of X'20' (FIDAJRN) and X'40' (FIDALO
UEPDSYSTA system dump was requested.Note: The dump-type identifier indicates the type of dump requestthat was passed to the dump domain. It does not r
Journal records written to SMF can be read offline by user-written programs. Suchprograms can map journal records by including an INCLUDE DFHLGMSDstat
The format of the SMF block header is:SMFH_LENGTH2-byte record length.SMFH_SEG2-byte segment descriptor (X'0000').SMFH_FLG1-byte operating s
SMFH_NPS2-byte number of CICS product section.SMFH_ASS4-byte offset to CICS data section.SMFH_ASL2-byte length of CICS data section.SMFH_ASN2-byte num
The format of the CICS product section is:SMFPS_VRM2-byte CICS version, release, and modification information, in the formatX'0vrm'.SMFPS_PR
SMFPS_JNM8-byte journal name.SMFPS_JBN8-byte job name.SMFPS_RSD4-byte job date.SMFPS_RST4-byte job time (local).SMFPS_UIF8-byte user ID.SMFPS_PDN8-byt
Chapter 28. CICS monitoringThis section describes the monitoring facilities of CICS Transaction Server for z/OS,Version 3 Release 2, and tells you how
or when there is an immediate shutdown of CICS, the transaction resource recordsare not written to SMF and the data is lost.Exception records are pass
invoked, displays a menu screen from which the user can choose a specificapplication. It is then possible to run all the elements of the application u
This example shows 4 bytes of user data, typically the transaction ID, being movedusing the DFHAPPL.1 EMP. The data starts at offset 0, and the data l
The monitoring control table (MCT)You can use the monitoring control table (MCT):v To tell CICS about the EMPs that are invoked by your application pr
UEPXDMAXAddress of a 4-byte field which contains the current dump tableMAXIMUM setting. This field may be modified by the exit to changethe current du
DFHMCT TYPE=EMPThere must be a DFHMCT TYPE=EMP macro definition for every user-coded EMP.The PERFORM operand of the DFHMCT TYPE=EMP macro tells CICS w
Example 1: Starting a user clockExample 1 shows a user clock being started by an application that is identified asPROG3. This is the eleventh EMP in t
The DBCTL data recorded by these event monitoring points can be mapped usingthe IMS macro DFSDSTA DSECT=YES, which is available in the IMS genlibs.For
The label ‘MNSMFDS’ is the default DSECT name, and SMF is the default PREFIXvalue, so you could also generate the DSECT simply by coding:DFHMNSMFThe M
Note:1. CICS sets only the subsystem-related bits of the operating systemindicator flag byte in the SMF header (SMFMNFLG). SMF sets theremainder of th
factors. For an explanation of the setting of the other bits, refer to thez/OS MVS System Management Facilities (SMF) manual.2. Fields SMFMNDCA SMFMND
CICS data sectionThe CICS data section can be made up of a dictionary data section, a performancedata section, an exception data section, or a transac
Whenever the monitoring of performance class data is switched on, whether atCICS initialization or while CICS is running, a dictionary data section is
C Byte-stringP Packed decimal numberS ClockT Time stamp756 Customization Guide
FIELD-NAME SIZE CONNECTOR OFFSET NICKNAMEDFHTASK C001 4 X’0001’ X’0000’ TRANDFHTERM C002 4 X’0002’ X’0004’ TERMDFHCICS C089 8 X’0003’ X’0008’ USERIDDF
3. The field addressed by UEPFMOD contains '????????'—thefailure was not in application code, but CICS was unable todetermine the name of th
FIELD-NAME SIZE CONNECTOR OFFSET NICKNAMEDFHSTOR A106 4 X’004B’ X’0314’ SCUSRHWMDFHSTOR A116 4 X’004C’ X’0318’ SC24CHWMDFHSTOR A119 4 X’004D’ X’031C’
FIELD-NAME SIZE CONNECTOR OFFSET NICKNAMEDFHTASK A346 4 X’0086’ X’0410’ ICSTRCCTDFHTASK A347 4 X’0087’ X’0414’ ICSTRCDLDFHSYNC A060 4 X’0088’ X’0418’
FIELD-NAME SIZE CONNECTOR OFFSET NICKNAMEDFHSOCK A298 4 X’00C2’ X’0500’ SOTOTCTDFHSOCK A301 4 X’00C3’ X’0504’ SOMSGIN1DFHSOCK A302 4 X’00C4’ X’0508’ S
Performance data sectionsEach performance data section is made up of a string of field connectors, followedby one or more performance data records.All
performance records changes if you add user data at user event monitoring points(EMPs), or if you exclude any system-defined data from the monitoring
Figure 114 illustrates the relationship between the dictionary record, the fieldconnectors, and the performance records.How the string of field connec
record type, and they do not change between CICS runs. There is moreinformation about field identifiers in the CICS Resource Definition Guide.Field of
For further information about exception class data, see Exception class data, in theCICS Performance Guide, which lists all the system-defined data th
queues for which resource data can be collected for any one transaction. Forexample, if you specify FILE=10 in the DFHMCT TYPE=INITIAL macro, the file
DFHMNRDS DSECT , Transaction resource monitoring recordMNR_LENGTH DS H Length of resource dataMNR_ID_EQUATE EQU 79 Monitoring domain id maskMNR_ID DC
UEPDUMPTAddress of the 1-byte dump-type identifier, which contains one ofthe following values:UEPDTRANA transaction dump was requested.UEPDSYSTA syste
MNR_ID_ACMETH_TCAM EQU X’04’ TCAM/DCB (supported for remoteterminals only)MNR_ID_ACMETH_BGAM EQU X’06’ BGAMMNR_ID_ACMETH_CONSOLE EQU X’07’ CONSOLEMNR_
Chapter 29. Writing statistics collection and analysisprogramsThis chapter describes how you can customize the collection and analysis of CICSstatisti
Resetting statistics countersStatistics counters are reset in the following circumstances:v At CICS startupv When interval statistics are written (but
v DFH0STGNv DFH0STLKv DFH0STPRv DFH0STSYv DFH0STTPv DFH$STASv DFH$STCNv DFH$STTBThe sample programs produce a report showing critical system parameter
Note:1. CICS sets only the subsystem-related bits of the operating systemindicator flag byte in the SMF header (SMFSTFLG). SMF sets theremainder of th
3. Fields SMFSTINT and SMFSTINO are only relevant if SMFSTRQT is‘INT’. Otherwise both values should be ignored.4. For TS data sharing, the record subt
Figure 124 on page 775. For further guidance information about the fields withinthe statistics data records, see CICS statistics in DSECTs and DFHSTUP
STID STIDSymbolic Value Copy book Type of recordnameSTISMD 5 DFHSMDDS Storage mgr domain subpool idSTISMT 6 DFHSMTDS Storage manager task subpool idST
The TS data sharing statistics use no symbolic names, but relate to the STIDvalues as follows:The coupling facility data table server statistics use n
Processing the output from CICS statisticsThere are several utilities to help you process statistics output:The CICS-supplied DFHSTUP programFor infor
The DEFINE_PROGRAM call ...353The ACQUIRE_PROGRAM call ...356The RELEASE_PROGRAM call ...358The DELETE_PROG
UEPXDNOThe CICS system is not to shutdown.This field may be modified by the exit to update the dump tableSHUTDOWN setting.UEPXDMAXAddress of a 4-byte
778 Customization Guide
Part 6. Customizing CICS compatibility interfaces© Copyright IBM Corp. 1977, 2011 779
A general note about user-written programs:The following comment applies to all user-written programs mentioned in Part 6 ofthis book:v Upon return fr
Chapter 30. The dynamic allocation sample programThis chapter suggests ways in which you can customize the dynamic allocationsample application progra
The application uses a 3270 display screen terminal, and adjusts its formatting tosuit the screen size. BMS is not required. The program is designed s
containing “?” is entered, no DYNALLOC SVC is issued. “?” is recognized only inthe positions specified above; the rest of the command is ignored.The d
The dynamic allocation sample program does not support negative numbers. Itdoes not cross-check operand keywords; errors of this type usually causeDYN
Following successful tokenizing, the main program calls DFH99FP to analyze theverb keyword. DFH99FP calls DFH99LK to look up the verb keyword in the t
At the end of processing the command, the main program calls DFH99MP with noparameters, which causes it to send the output buffer to the terminal, and
Part 7. Customizing CICS security processing© Copyright IBM Corp. 1977, 2011 787
Exit XDUCLSEWhen invokedImmediately after a transaction dump data set has been closed.Exit-specific parametersUEPTRANIDAddress of the 4-byte transacti
General notes:The following comments apply to the chapters in Part 7 of this book:v The only aspects of CICS security processing covered are:– Invokin
Chapter 31. Invoking an external security managerCICS provides an interface to an external security manager (ESM), which may bethe Resource Access Con
you can use the router exit to pass control to your own ESM. If you do use RACF,you could use the exit for preprocessing before RACF is invoked.The MV
Table 44. MVS router exit return codesCode Meaning0 The exit has completed successfully. Control proceeds to the RACF front-endroutine for further sec
For non-RACF users — the ESM parameter listCICS (or another caller) passes information to your external security manager in theESM parameter list, the
Table 46. Obtaining the address of the installation data parameter list (continued)RACROUTEREQUEST typeRACF exit Exit list mappingmacroParameter list
DEFAULT_SIGN_ON (X'01')Signon of default useridPRESET_SIGN_ON (X'02')Signon of preset security terminalIRC_SIGN_ON (X'03&apos
LINK_COMMAND_CHECK (X'51')Command checking for linkEDF_COMMAND_CHECK (X'52')Command checking for EDFUSER_RESOURCE_CHECK (X'60
UXPLUNAMAddress of an area containing the VTAM LU name. The address may bezero if no terminal is associated with the request, or the area may be blank
v When an invalid password, or a passticket is presented, or an EXEC CICSVERIFY PASSWORD command is issued.RACROUTE REQUEST=FASTAUTHIssued during reso
UEPDMPDYBuffer is about to be written, and the CICS dump data set isa dummy file or is closed.UEPDMPBFAddress of the dump buffer, whose length is addr
CICS defers the creation of the accessor environment element until theRACROUTE REQUEST=VERIFY macro with the ENVIR=CREATE option is issuedto perform t
Using CICS API commands in an early verification routineAn early verification routine can use CICS application programming interface (API)commands, pr
800 Customization Guide
Chapter 32. Writing a “good night” programYou can use the GNTRAN system initialization parameter to specify a “good night”transaction that you want CI
GNTRAN_START_TRANSIDThe identifier of the transaction that started the “good night” transaction. If itwas started by CICS because of a terminal timeou
pseudoconversational sequence. (If the terminal did not time out during apseudoconversational sequence, the value of this field is meaningless.)GNTRAN
c. Writes the communication area, if any, to a temporary storage queue.d. Displays a screen asking the user to input his or her password, and sets the
LOGOFFThe terminal is both signed off and logged off.v Specify the identifier (TRANSID) of your “good night” transaction on the GNTRANsystem initializ
806 Customization Guide
Part 8. Examining and modifying resource attributes© Copyright IBM Corp. 1977, 2011 807
UEPNQTOKAddress of a 4-byte area which can be used to pass informationbetween XNQEREQ and XNQEREQC for a single enqueuerequest.UEPRCODEAddress of a 6-
A general note about user-written programs:The following comment applies to all user-written programs mentioned in Part 8 ofthis book:v Upon return fr
Chapter 33. Using the programmable interface to CEDAThis chapter describes a programmable interface to the resource definition online(RDO) transaction
request input from its associated terminal, whereas an automaticallyinitiated transaction must first send data to the terminal.An attempt to start CED
be prevented by all DTP applications issuing a SYNCPOINT request when they getinto SEND state (on all of their sessions) and before they issue the LIN
812 Customization Guide
Chapter 34. User programs for the system definition utilityprogram (DFHCSDUP)This chapter tells you how to write programs for use with the CICS system
v As a batch program. The next section refers to this method.v From a user program running either in batch mode or in a TSO environment.“Invoking DFHC
2. If you specify the OBJECTS option, all the attributes of the resourcedefinitions are also extracted.USERPROGRAMis the name of the user-written prog
8 Keyword detail call10 Object end call12 Group end call14 List end call16 Final call.Workarea PtrThis is the address of a field containing the addres
Table 48. Sample EXTRACT user programs for the DFHCSDUP utility program (continued)ProgramnamesLanguages DescriptionDFH$FORADFH0FORCDFH$FORPAssemblerC
UEPCLPSAddress of a copy of the command parameter list. See “Thecommand-level parameter structure” on page 63.UEPNQTOKAddress of a 4-byte area which c
The CSD cross-referencing programThe CICS-supplied sample CSD cross-referencing program produces across-reference listing of objects and keywords on t
v For distribution, in part or as a whole, to other CICS installationsv To recreate or add resource definitions to any CSD using DFHCSDUP.The program
An assembler-language versionThe sample job in Figure 129 shows the link-edit statements you need for anassembler-language version of a DFHCSDUP user
Notes for the Language Environment job:1 Specify the entry name as DFHEXTRA, which is the entry name in theCICS-supplied stub, DFHEXLE (see 3).2 The C
message number ‘DFH5618’ to the put-message exit (see “Theput-message exit” on page 827), where this is available, and also tothe default output file:
Note that if you specify both replacement ddnames and replacement DCBs, thealternative DCBs are used, but the alternative ddnames are disregarded.EXIT
first three subentries of the DDNAMES parameter. The fourth, fifth, and sixthsubentries, if present, replace the ddnames of DFHCSD, SYSIN, and SYSPRIN
DFHUEXIT DSECTUEPEXN DS A ADDRESS OF EXIT NUMBERUEPGAA DS A ADDRESS OF GLOBAL AREAUEPGAL DS A ADDRESS OF GLOBAL AREA LENGTHUEPCRCA DS A ADDRESS OF CUR
UEPCMDAPointer to the address of a command.UEPCMDLAddress of a halfword containing the length of the command text.The maximum length that can be speci
data is being extracted. This value is set on ‘group start’, ‘groupend’, ‘object start’, ‘object end’, and ‘keyword’ calls.EXTRACT_CSD_OBJECT_TYPE_PTR
non-zero value. To help you set values for EIBRCODE, EIBRESP, and EIBRESP2,the values used by the enqueue domain are specified in DSECT DFHNQUED.Note:
UEPMDOMReservedUEPINSNAddress of a 2-byte field containing the number of insert fieldsUEPINSAAddress of the following message structure:DS F ReservedI
UERCNORM (X'00')Continue processing.UERCERRIrrecoverable error. This causes DFHCSDUP to terminate with areturn code of ‘8’.XPI callsMust not
830 Customization Guide
Part 9. Appendixes© Copyright IBM Corp. 1977, 2011 831
832 Customization Guide
Appendix A. Coding entries in the VTAM LOGON mode tableThis appendix shows you what to code in your VTAM LOGON mode table for aterminal to be automati
Note that Table 49 is a complete list of TYPETERM device types; not all of thesecan be used with autoinstall. Those that cannot are marked with an ast
Table 49. TYPETERM device types, with cross-references to VTAM logmodeentries (continued)TYPETERM device type Referencenumber inTable 50 on page836DEV
table, such as PSERVIC for some reference numbers, are not tested by CICS. Anybit settings that do not matter to CICS during bind analysis for autoins
Table 50. LOGON mode table and ISTINCLM entries (continued)RN VTAM MODEENT macro entries that are needed for relatedCICS TYPETERM definitionsSuitables
NQ_FUNCTOne byte that defines the type of request:X'04' ENQX'06' DEQNQ_BITS1Existence bits that define which arguments were specif
Table 50. LOGON mode table and ISTINCLM entries (continued)RN VTAM MODEENT macro entries that are needed for relatedCICS TYPETERM definitionsSuitables
Table 50. LOGON mode table and ISTINCLM entries (continued)RN VTAM MODEENT macro entries that are needed for relatedCICS TYPETERM definitionsSuitables
PSERVIC screen size values for LUTYPEx devicesTable 51 is to help you decide what screen size values you should specify on thePSERVIC operand of the V
Table 52. Equivalent PSERVIC screen size values (continued)Bytes 20—24 of CICS model bind Valid screen size values on PSERVICdefinitionxxxx 0000 7E Pl
ATI ==> YESTTI ==> YESAUTOCONNECT ==> NOLOGONMSG ==> YESBIND SENT BY CICS depends on PSERVIC value on LOGMODE definition above:EITHER : 01
TERMINAL definition*************************AUTINSTNAME ==> M3770AUTINSTMODEL ==> ONLYGROUP ==> PDATDTYPETERM ==> T3770INSERVICE ==> YE
ATI ==> YESTTI ==> YESPAGESIZE ==> 50,80AUTOPAGE ==> YESLOGONMSG ==> NOLDCLIST ==> LDC1Needs LDC declaration in TCT :LDCS DFHTCT TYP
BRACKET ==> YESIOAREALEN ==> 256ATI ==> YESTTI ==> YESBIND SENT BY CICS : 010404B1 B0708000 00858580 00000000*****************************
AUTINSTMODEL ==> ONLYGROUP ==> PDATDTYPETERM ==> T3790CINSERVICE ==> YESTYPETERM definition*************************TYPETERM ==> T3790C
TERMINAL definition*************************AUTINSTNAME ==> M3650AAUTINSTMODEL ==> ONLYGROUP ==> PDATDTYPETERM ==> T3650AINSERVICE ==>
2. There are no output fields on EXEC CICS ENQ and DEQ requests.Modifying the EID: It is not possible to modify the EID to make major changes toreques
TSPROF=X’03’,PRIPROT=X’B1’,SECPROT=X’90’,COMPROT=X’6000’TERMINAL definition*************************AUTINSTNAME ==> M3650B2AUTINSTMODEL ==> ONLY
TSPROF=X’07’,PRIPROT=X’B0’,SECPROT=X’B0’,COMPROT=X’50B1’,PSNDPAC=X’00’,SRCVPAC=X’00’,SSNDPAC=X’00’,RUSIZES=X’8585’,PSERVIC=X’060200000000000000002C00’
USERAREALEN ==> 32ATI ==> YESTTI ==> YESLOGONMSG ==> YESERRHILIGHT ==> BLINKRECEIVESIZE ==> 1024BIND SENT BY CICS : 010303B1 9030800
DFHLU3 MODEENT LOGMODE=DFHLU3, LU TYPE 3 PRINTER.TYPE=1,FMPROF=X’03’,TSPROF=X’03’,PRIPROT=X’B1’,SECPROT=X’B0’,COMPROT=X’3080’,RUSIZES=X’8585’,PSERVIC=
DFHLU0M2 MODEENT LOGMODE=D4B32782, LU0 model 2 nonqueryableFMPROF=X’02’,TSPROF=X’02’,PRIPROT=X’71’,SECPROT=X’40’,COMPROT=X’2000’,RUSIZES=X’0000’,PSERV
DFHLU2M3 MODEENT LOGMODE=D4A32783, LU2 model 3 nonqueryableFMPROF=X’03’,TSPROF=X’03’,PRIPROT=X’B1’,SECPROT=X’90’,COMPROT=X’3080’,RUSIZES=X’87C7’,PSERV
854 Customization Guide
Appendix B. Default actions of the node abnormal conditionprogramThis appendix describes the default actions of the node abnormal conditionprogram, DF
Table 53. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'20&apo
Table 53. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'49&apo
1. CICS does not check changes to argument values, so any changes mustbe verified by the user exit program making the changes.2. It is not advisable f
Table 53. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'75&apo
Table 53. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'A7&apo
Table 53. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'D3&apo
Table 53. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'FF&apo
Table 54. CICS messages associated with VTAM errors (continued)Message Symbolic label Error code Action flags setDFHZC2410 TCZTXCU X'D1' 237
Table 54. CICS messages associated with VTAM errors (continued)Message Symbolic label Error code Action flags setDFHZC2450 TCZSSXAR X'83' No
Table 54. CICS messages associated with VTAM errors (continued)Message Symbolic label Error code Action flags setDFHZC3429 TCZSTRMM X'EC' 2
Table 54. CICS messages associated with VTAM errors (continued)Message Symbolic label Error code Action flags setDFHZC3489 TCZLUINH X'C8' 7
Table 54. CICS messages associated with VTAM errors (continued)Message Symbolic label Error code Action flags setDFHZC4939 TCZLUPUN X'8C' 23
Table 55. Messages issued and flags set by DFHZNAC for specific sensecodes (continued)Sense code Message Action flags setX'0811' DFHZC2464 9
– applies only to resource names of length equal to or greater than thatof your replacement string.– is an alternative to method A when a resource nam
Table 55. Messages issued and flags set by DFHZNAC for specific sensecodes (continued)Sense code Message Action flags setX'40FF' DFHZC3453 2
Table 56. Meanings of action flags set by DFHZNAC (continued)Flag Field Bit mask Hex bitsettingAction11 ..1. ... X'20' Abend any task attac
870 Customization Guide
Appendix C. Analyzing CICS restart informationYou can programmatically determine the type of CICS shutdown that occurred andwhether it is safe to over
872 Customization Guide
Appendix D. Using the transient data write-to-terminalprogram (DFH$TDWT)DFH$TDWT is a sample program that sends transient data messages to a terminalo
874 Customization Guide
Appendix E. Uppercase translationThis appendix describes how to translate lower- and mixed-case characters touppercase. “Translating national characte
Note: If you are already using a customized TCT rather than DFHTCTDY (that is,something other than 'NO' or 'DY' is specified on th
Appendix F. The example program for the XTSEREQ globaluser exit, DFH$XTSEThis appendix lists the example global user exit program, DFH$XTSE. The examp
Storage keys for PLT programs ...430Part 3. Customizing with user-replaceable programs ...433Chapter 5. General notes about us
XEIOUTInvoked after the execution of any EXEC CICS API or SPI command.XEISPOUTInvoked after the execution of any EXEC CICS SPI command except thoselis
* ** It is not safe to use the following storage: ** Program storage (DFHEISTG) since this is freed as soon ** as the exit program returns control to
*---------------------------------------------------------------------** The TS Routing table is made up of a set of entries. Each entry ** can be map
* Registers: ** R1 = UEPAR plist (set on entry) ** = Work register ** R2 = UEPAR plist ** R3 = Program base register (set by DFHEIENT) ** R6 = Linkage
*=====================================================================** TS_REQUEST - Invoked at XTSEREQ exit point ** Determine the TS Queue Name and
*=====================================================================*TS_REQUEST DS 0H* Check for possible recursionL R1,UEPRECUR Address of recursiv
*=====================================================================** TS_REQUEST_COMPLETE - Invoked at XTSEREQC exit point ** Free any shared stora
*=====================================================================** LOCAL_REQUEST: Process Local TS Queues ** An entry has been found in the TS_R
*=====================================================================** ROUTE_REQUEST: Ship request to remote system ** An entry has been found in th
* Update the Sysid in CLPSROUTE1 DS 0HMVC SHARED_SYSID,NEW_SYSID Copy SYSID into shared storageL R8,UEPCLPS Address the CLPS..USING TS_ADDR_LIST,R8 ..
* Logic: ** Entry_Not_Found: ** Call Getmain_Shared ** Copy default_sysid into shared storage ** Address the command plist ** Update ADDR7 to point to
This particular example of the danger of tampering with argument 0 does not applyto COBOL or C application programs, but nevertheless you should not m
*=====================================================================** GETMAIN_SHARED - Obtain Shared storage ** ** Registers: ** R0 = Used by EXEC
*=====================================================================** FREEMAIN_SHARED - Free shared storage ** Free the shared storage associated w
USING DFHTRPT_ARG,R1TRACE_ENTRY DS 0HL R1,UEPXSTOR Prepare for XPI callDFHTRPTX CLEAR, XPOINT_ID(TR_ENTRY)B ISSUE_TRACETRACE_EXIT DS 0HL R1,UEPXSTOR P
ERROR4 DS 0HMVI TR_ERROR_N,4B TRACE_ERRORERROR5 DS 0HMVI TR_ERROR_N,5B TRACE_ERRORERROR6 DS 0HMVI TR_ERROR_N,6B TRACE_ERRORERROR7 DS 0HMVI TR_ERROR_N,
Before using the sample program in a production environment, you would need tocustomize it to suit your installation.TS_ROUTING_TABLE DS 0DENTRY_NAME_
Appendix G. Threadsafe XPI commandsMost, but not all, XPI commands are threadsafe. Issuing any of the non-threadsafecommands causes CICS to use the QR
Non-threadsafe commands:v DFHDUDUX TRANSACTION_DUMP894 Customization Guide
BibliographyThe CICS Transaction Server for z/OS libraryThe published information for CICS Transaction Server for z/OS is delivered in thefollowing fo
CICS Transaction Server for z/OS Migration from CICS TS Version 3.1,GC34-6858CICS Transaction Server for z/OS Migration from CICS TS Version 1.3,GC34-
CICSPlex SM Application Programming Guide, SC34-6848CICSPlex SM Application Programming Reference, SC34-6849DiagnosisCICSPlex SM Resource Tables Refer
UERCPURGTask purged during XPI call.XPI callsAll can be used.Exit XEISPINWhen invokedBefore the execution of any EXEC CICS SPI command except:v EXEC C
Short Title Full TitleData Areas Volume 1 OS/390 MVS Data Areas, Vol 1(ABEP-DALT), SY28-1164Data Areas Volume 2 OS/390 MVS Data Areas, Vol 2(DCCB-ITTC
Updates to the softcopy are clearly marked by revision codes (usually a #character) to the left of the changes.Bibliography 899
900 Customization Guide
AccessibilityAccessibility features help a user who has a physical disability, such as restrictedmobility or limited vision, to use software products
902 Customization Guide
IndexSpecial characters“good night” transactioncustomizing the sample program 804overview 801sample program, DFH0GNIT 803Numerics3270 bridgebridge exi
automatic installation of IPIC connectionsintroduction 553preliminary considerations 553automatic installation of programsbenefits of 581control progr
communications areaautoinstall control programAPPC connections 545programs 583terminals 518autoinstall user programIPCONNs 555CICSDBCTL interface stat
DFHCSDUP, system definition utility program(continued)sample programs (continued)DFH$CRFA 816DFH$CRFP 816DFH$FORA 817DFH$FORP 817DFH0CBDC 817DFH0CRFC
DFHSAIQX macro 386, 391DFHSMFDS, SMF header DSECT 750DFHSMMCX macro 392DFHSMSRX macro 397DFHSNEP macroTYPE=DEF3270 500TYPE=DEFILU 501TYPE=ERRPROC 484,
XPI callsAll can be used.Exit XEIOUTWhen invokedAfter the execution of any EXEC CICS API or SPI command.Exit-specific parametersUEPARGAddress of the E
distributed program link (DPL) (continued)dynamic routing of requests (continued)eligibility for routing 597error handling 600terminating a request 60
dynamic routing program (DFHDYP) (continued)changing bridge parameters 604changing the program name 593, 599changing the target region 592, 599communi
Functional list of GLUEs 32Ggeneric resources, VTAM 547node error program 512GET_ATTRIBUTE_VALUE function of the XPI 325GET_NEXT_ATTRIBUTE function of
global user exits (continued)sample programs (continued)DFH$WBX1 21DFH$WBX2 22DFH$XDRQ 19DFH$XISQ 24DFH$XNQE 19, 66DFH$XZIQ 24DFH$ZCAT 16DFHXIS 140DFH
log manager functions of the XPI 360logical units (LUs)node error program 486LOGON mode table, VTAM 833LU alias names 523MMAXERRS operandDFHTEPT TYPE=
NEP (node error program) (continued)sample (continued)DFHSNEP TYPE=INITIAL macro 500DFHSNEP TYPE=USTOR macro 499DFHSNEP TYPE=USTOREND macro 499error p
nonpurgeable task 472notation, syntax xviiiOOPTIONS operandDFHTEPM TYPE=INITIAL 460DFHTEPT TYPE=INITIAL 465overseer programcustomizing the sample prog
Ssample programs“good night” transaction (DFH0GNIT) 803CICS–DBCTL interface status program(DFHDBUEX) 660for automatic installation of APPC connections
syntax notation xviiisystem autoinstall 581system definition utility program (DFHCSDUP)as a batch programEXTRACT command 814link-edit statements for u
task-related user exits (continued)UEPHMSA, address of register save area 275UEPPBTOK, address of performance blocktoken 277UEPRMQUA, address of the r
Exit-specific parametersUEPARGAddress of the EXEC command parameter list.UEPEXECBAddress of the system EIB.UEPUSIDAddress of the 8-character userid.UE
terminal error program (TEP) (continued)replace error processors, DFHTEPMTYPE=ERRPROC 462sampleaction flag names 457common subroutines 455components 4
user-written node error programs 505utility programsshutdown assist, DFHCESD 429Vvirtual terminals, automatic installation of 567VTAM dynamic LU alias
XPCREQ, global user exit (continued)description 175example of use 185parameter list and return codes 177UEPCLPS parameter 181XPCREQC, global user exit
XRMMI, global user exit 193XRSINDI, global user exit 196XSNEX, global user exit 201XSNOFF, global user exit 200XSNON, global user exit 199XSRAB, globa
922 Customization Guide
NoticesThis information was developed for products and services offered in the U.S.A. IBMmay not offer the products, services, or features discussed i
The licensed program described in this document and all licensed material availablefor it are provided by IBM under terms of the IBM Customer Agreemen
TrademarksIBM, the IBM logo, and ibm.com are trademarks or registered trademarks ofInternational Business Machines Corp., registered in many jurisdict
926 Customization Guide
Readers’ Comments — We'd Like to Hear from YouCICS Transaction Server for z/OSCustomization GuideVersion 3 Release 2Publication No. SC34-6814-04W
v An internal CICS request to process a system file.Note that:v If the exit program passes the request to CICS file control (without choosing toredire
Readers’ Comments — We'd Like to Hear from YouSC34-6814-04SC34-6814-04Cut or FoldAlong LineCut or FoldAlong LineFold and Tape Please do not s
Product Number: 5655-M15SC34-6814-04
Spine information: CICS Transaction Server for z/OS Customization GuideVe r s i o n 3Re l ease 2
Exit XFCFRINWhen invokedBefore the execution of a file control request. The request may haveoriginated from:v The execution of an application request
UEP_FC_BUFFER_LAddress of a fullword containing (for READ, READ NEXT, andREAD PREV requests) the value of the LENGTH of the buffer intowhich the recor
The full length of the record identifier is returned as a mandatoryoutput field on READ NEXT and READ PREV requests. The valueis used by CICS function
UEP_FC_SEQUENTIAL_WRITERecords are to be written in sequential mode.UEP_FC_DIRECT_WRITERecords are to be written in direct mode.UEP_FC_READ_INTEGRITYA
Komentáře k této Příručce