Ibm SC33-1683-02 Bedienungsanleitung

Stöbern Sie online oder laden Sie Bedienungsanleitung nach Computers Ibm SC33-1683-02 herunter. IBM SC33-1683-02 User Manual Benutzerhandbuch

  • Herunterladen
  • Zu meinen Handbüchern hinzufügen
  • Drucken
  • Seite
    / 875
  • Inhaltsverzeichnis
  • LESEZEICHEN
  • Bewertet. / 5. Basierend auf Kundenbewertungen
Seitenansicht 0
CIC Transaction Server for OS/390®
CICS Customization Guide
Release 3
SC33-1683-02
IBM
Seitenansicht 0
1 2 3 4 5 6 ... 874 875

Inhaltsverzeichnis

Seite 1 - CICS Customization Guide

CICS® Transaction Server for OS/390®CICS Customization GuideRelease 3SC33-1683-02IBM

Seite 2

The INQUIRE_PARAMETERS call ...329The SET_PARAMETERS call ...329Monitoring functions...330The MONITOR

Seite 3

Exit XEIOUTWhen invokedAfter the execution of any EXEC CICS API or SPI command.Exit-specific parametersUEPARGAddress of the EXEC command parameter list

Seite 4

UEPRSAAddress of the application’s register save area. This contains thecontents of the registers at the point when the program issued theEXEC CICS co

Seite 5 - Contents

File control EXEC interface API exits XFCREQ and XFCREQCThe XFCREQ exit allows you to intercept a file control application programminginterface (API) r

Seite 6

The command-level parameter structureThe command-level parameter structure consists of a series of addresses. The firstaddress points to the EXEC inter

Seite 7 - Contents v

FC_FUNCTOne byte that defines the type of request:X'02' READX'04' WRITEX'06' REWRITEX'08' DELETEX'0A'

Seite 8

X'01' SET (and not INTO) was specified.Note: Your program must test for keywords at the bit level, becausethere may be more than one of these

Seite 9 - Contents vii

v A 4-byte address returned for SET (if the request is READ, READNEXT, orREADPREV, and if FC_EIDOPT5 indicates that this is SET).v Data returned for I

Seite 10

KEYLENGTHREQIDSYSIDThe following are always output fields:INTONUMRECSETWhether LENGTH and RIDFLD are input or output fields depends on the request,as sh

Seite 11 - Contents ix

Modifying output fieldsThe technique described in “Modifying input fields” on page 75 is not suitable formodifying output fields. (The results would be r

Seite 12

X'01' NOSUSPEND specified (on READ, READNEXT, READPREV, WRITE,DELETE, or REWRITE).Bits in the EID should be modified in place. You should not

Seite 13 - Contents xi

Rewriting user-replaceable programs ...401Assembling and link-editing user-replaceable programs...402User-replaceable programs and

Seite 14

been function shipped to this region. In this case, if your exit program wants tobypass file control (by setting a return code of UERCBYP), it must set

Seite 15 - Contents xiii

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 a

Seite 16

UEPFSHIPAddress of a 16 byte area. See “Use of the parameter UEPFSHIP”on page 77.UEPRSRCEAddress of an 8-character copy of the EIB resource value,EIBR

Seite 17 - Contents xv

UEPRESPAddress of a 4-byte binary copy of the EIB response code‘EIBRESP’.Note: If the file that has just been accessed is remote, theaddressed field con

Seite 18

Example programCICS supplies, in CICSTS13.CICS.SDFHSAMP, an example program,DFH$XTSE, that shows how to modify fields in the command-level parameterstr

Seite 19

File control EXEC interface SPI exits XFCAREQ and XFCAREQCThe XFCAREQ exit allows you to intercept a file control system programminginterface (SPI) req

Seite 20

Exit XFCAREQWhen invokedBefore CICS processes a file control SPI request.Exit-specific parametersUEPCLPSAddress of a copy of the SPI command parameter l

Seite 21 - Trademarks

Exit XFCAREQCWhen invokedAfter a file control SPI request has completed, before return from the filecontrol SPI EXEC interface program.Exit specific para

Seite 22

file control to describe a valid completion. CICS does not check the consistency ofthe values you set. If EIBRCODE is set to a non-zero value and EIBRE

Seite 23 - Notes on terminology

FC_BITS8FC_GROUPAlways X'4C', indicating that this is a file control SPI request.FC_FUNCTOne byte that defines the type of request:X'02&a

Seite 24

The node error program in an XRF environment ...480The node error program with persistent session support ...481Changing the recovery not

Seite 25 - Bibliography

X'02' Set if the request contains an argument for theENABLESTATUS keyword. If set, FC_ADDR15 is meaningful.X'01' Set if the reques

Seite 26 - ACF/TCAM books

X'01' Not used by file control.FC_BITS5Existence bits which specify which arguments were specified. Thecomments below FC_BITS1 also apply to F

Seite 27 - Other related books

FC_ADDR1is the address of an 8-byte area containing the name from FILE.FC_ADDR2is the address of a 44-byte area containing the name from DSNAME.FC_ADD

Seite 28

FC_ADDR23is the address of a 4-byte area containing the CVDA from BLOCKFORMAT.FC_ADDR24is the address of a 4-byte area containing the CVDA from KEYLEN

Seite 29 - Summary of changes

Table 5. INQUIRE FILE requests. The relationship between arguments, keywords, datatypes, and input/output types.Argument Keyword Data Type Input/Outpu

Seite 30

Note: The file parameter on INQUIRE FILE commands is:v An input field if the request does not specify START, NEXT, or ENDv An output field if the request

Seite 31 - Summary of changes xxix

Table 6. SET FILE requests (continued). The relationship between arguments, keywords,data types, and input/output types.Argument Keyword Data Type Inp

Seite 32 - Performance Guide

Note: If you modify the EID, you must be careful not to create inconsistentparameters. For example, if the original request specified SET FILE OPENand

Seite 33

File control file state program exits XFCSREQ and XFCSREQCTwo user exits are provided in the file control state program. You can useXFCSREQ, which is in

Seite 34

Exit XFCSREQWhen invokedBefore a file ENABLE, DISABLE, OPEN, CLOSE, or CANCEL CLOSE isattempted.Exit-specific parametersUEPFSREQAddress of a 2-byte field

Seite 35

Installing shipped terminals and connections ...523CICS-generated aliases ...524Resetting the terminal identifier ...

Seite 36 - Register conventions

UEFLNAMEThe 8-character file name.UEDSNAMEThe 44-character dsname of the data set associated withthe file, if this has been set before the file request w

Seite 37 - Using CICS services

UEFDSACCOne byte indicating the access method of the file. Thepossible values are:UEFVSAMVSAM fileUEFBDAMBDAM file.UEFBCRVSet to nulls for this exit.UEFF

Seite 38 - The global work area

UERCPURGTask purged during XPI call.XPI callsAll can be used.API and SPI callsAll can be used.Notes:1. Take care when issuing recursive commands not t

Seite 39 - Making trace entries

UEPFSCPClose pendingUEPFSELMEnd of load mode closeUEPFSIMMImmediate closeUEPFSICPImmediate close pendingUEPFSQURLS quiesce close.UEPFILEAddress of the

Seite 40 - DFHUEPAR standard parameters

UEFJDSNDsname has been journaledUEFJSYNJournal read synchronouslyUEFJASYJournal write asynchronously.UEFDSVJLOne byte indicating a further automatic j

Seite 41 - 12 (decimal) in this

VSAM sphere with which it is associated. It contains thedate when activity against the VSAM sphere was brought toan end (quiesced).UEFCTIMEA time (HHM

Seite 42 - Returning values to CICS

Return codesUERCNORMContinue processing.UERCPURGTask purged during XPI call.XPI callsAll can be used.API and SPI callsAll can be used.Notes:1. Take ca

Seite 43

File control open/close program exit XFCNRECYou can use XFCNREC to suppress the open failure that occurs when a mismatchis detected between the backou

Seite 44 - Errors in user exit programs

Exit XFCNRECWhen invokedBefore file open when a mismatch is detected between the backoutrecovery setting for the file and its associated non-RLS data se

Seite 45

File control quiesce receive exit, XFCVSDSThe XFCVSDS exit is invoked when VSAM RLS notifies CICS that processing isrequired as a result of some data s

Seite 46

Changing the transaction ID...560Telling CICS whether to route or terminate a DPL request...560If an error occurs in route select

Seite 47 - The DFH$PCPI program:

Exit XFCVSDSWhen invokedInvoked after VSAM RLS has informed CICS that processing is required asa result of a data set-related action occurring in the

Seite 48 - Sample program definitions:

CICS isnotto carry out the processing required for the VSAM RLSaction, and is to cancel the action throughout the sysplex.A return code of UERCPURG is

Seite 49 - Tables Guide

File control quiesce send exit XFCQUISThe XFCQUIS global user exit is invoked on completion of a VSAM RLS quiesce orunquiesce of a data set that was r

Seite 50

UEQTIMEDFailed because quiesce was canceled due to timeout(UEQSD and UEIMQSD only).UEQMIGRTFailed because the data set has been migrated.UEPQCONFAddre

Seite 51

File control recovery program exits XFCBFAIL, XFCBOUT, XFCBOVER,and XFCLDELCICS provides four global user exits that you can use in connection with fil

Seite 52

If more than one file is associated with a single data set, only the first record inthe first of the files to fail backout within the UOW causes CICS to i

Seite 53

UEDLOCKDeadlock detected.UEDUPRECDuplicate key on unique alternate index.UEIOERORI/O error.UELCKFULRLS lock structure full.UENOLDELLogical delete not

Seite 54

API and SPI callsAlthough this exit is allowed to issue API and SPI calls, you should be verycareful about which commands you use because the exit is

Seite 55

request. This request is issued by file control backout to delete a newrecord added to a VSAM data set. Use parameter UEPFCRSP to determinewhich error

Seite 56

v Sets a response code of UERCNORM and takes the normal exit from theprogram. A return code of UERCNORM specifies that CICS backout failureprocessing i

Seite 57 - Exit XAKUSER

DFHWOSM FUNC=CLOSE macro ...616DFHWOSM FUNC=DSECT macro ...616DFHWOSM FUNC=JJC macro...616DFHWOSM FUNC={JJS|Q

Seite 58 - Important

Exit-specific parametersUEPFLOGRThe address of the file control portion of the log record that is beingpresented for backout. This is mapped by the DSEC

Seite 59 - Basic Mapping Support exits

Exit XFCBOVER, file control backout override exitXFCBOVER is part of the support CICS file control provides for “batch windows” ina VSAM RLS environment

Seite 60 - Exit XBMOUT

When invokedWhenever CICS is about to ignore a UOW log record that is due to bebacked out, because the lock that protected the updated record could ha

Seite 61

DFH$FCBV sample global user exit programDFH$FCBV provides sample processing for the file control backout override globaluser exit, XFCBOVER. The exit p

Seite 62 - Programming the XBMOUT exit

Exit XFCLDEL, file control logical delete exitXFCLDEL is invoked whenever a WRITE to a VSAM ESDS, or to a BDAM data set,is being backed out. Because th

Seite 63 - Message routing

It is recommended that you restrict EXEC CICS commands to inquiries, andavoid commands that update CICS resources, because the resources maythemselves

Seite 64 - Exit XFAINTU

v Normal exit from the program:– Makes a user trace entry if tracing is active for file control. This has tracepoint id X'01F1' and traces:-

Seite 65 - Exit XDTRD

Front End Programming Interface exits XSZARQ and XSZBRQExits XSZARQ and XSZBRQ are invoked from the CICS/ESA Front EndProgramming Interface (FEPI), if

Seite 66

“Good morning” message program exit XGMTEXTWhen invokedBefore the “good morning” message is transmitted.Exit-specific parametersUEPTCTTEAddress of the

Seite 67

Intersystem communication program exits XISCONA and XISLCLQThe two exits in the intersystem communication program allow you to control thelength of in

Seite 68 - Exit XDTAD

Part 6. Customizing CICS compatibility interfaces ...689Chapter 26. Using TCAM with CICS ...691CICS with TCAM SNA...

Seite 69 - Exit XDTLC

3. If it is invoked, your exit program must decide whether or not to queue therequest by analyzing the statistics provided through the user exit param

Seite 70

Exit-specific parametersUEPISPCAAddress of a parameter list containing the following fields. You canmap the parameter list using the DSECT DFHXISDS.UEPC

Seite 71

XPI callsAll can be used.ImportantThere is no ‘UERCNORM’ return code at this exit point, because the exit isinvoked after a failure. The choice is whe

Seite 72 - Exit XXDFB

Note: No DSECT is provided for the above parameter list. You have tocode your own DSECT to access the named fields.Return codesUERCSYSTake the system a

Seite 73 - Exit XXDTO

Interval control program exits XICREQ, XICEXP, and XICTENFYou can use some XPI calls in exit programs invoked from the interval controlprogram. Howeve

Seite 74 - Exit XDSAWT

Return codesUERCNORMContinue processing.UERCPURGTask purged during XPI call.XPI callsThe following must not be used:ADD_SUSPENDDELETE_SUSPENDDEQUEUEEN

Seite 75

Interval control EXEC interface program exits XICEREQ andXICEREQCXICEREQ is invoked on entry to the interval control program before CICSprocesses an i

Seite 76 - DL/I interface program exits

UEPRESP2Address of a 4-byte binary copy of the EIB response code‘EIBRESP2’.UEPTSTOKAddress of a 4-byte token that is valid throughout the life of a ta

Seite 77 - Exit XDLIPRE

‘EIBRCODE’. For details of EIB return codes, refer to theCICSApplication Programming Referencemanual.UEPRESPAddress of a 4-byte binary copy of the EIB

Seite 78

The command-level parameter structureThe command-level parameter structure consists of a series of addresses. The firstaddress points to the EXEC inter

Seite 79 - Exit XDLIPOST

Chapter 29. Writing a “good night” program ...733The sample “good night” program, DFH0GNIT ...735What the sample program does ...

Seite 80

area that describes the type of request and identifies each keyword specified withthe request. The remaining addresses point to pieces of data associate

Seite 81 - Exit XDUREQ

IC_EIDOPT7IC_EIDOPT8IC_GROUPAlways X'10', indicating that this is an interval control request.IC_FUNCTOne byte that defines the type of reque

Seite 82

X'20' Set if the request specifies HOURS. If set, IC_ADDRB ismeaningful.X'10' Set if the request specifies MINUTES. If set, IC_ADDRC

Seite 83

IC_ADDR1is the address of one of the following:v An 8-byte area containing the value of the INTERVAL keyword (or TIMEkeyword if IC_EIDOPT7 indicates t

Seite 84 - Exit XDUREQC

IC_ADDREis the address of an area containing the value of USERID.Modifying fields in the command-level parameter structureSome fields that are passed to

Seite 85

An output field is modified by altering the data that is pointed to by thecommand-level parameter list. In the case of an output field, you can modify th

Seite 86

X'01' The existence bit for NOCHECK.IC_EIDOPT7Bits in IC_EIDOPT7 should only be modified within the same functional group -that is, only thos

Seite 87 - Exit XDUOUT

Using the task token UEPTSTOKUEPTSTOK provides the address of a 4-byte area that you can use to passinformation between successive interval control re

Seite 88

6. Set the X'02' existence bit on in IC_BITS1 to indicate that a SYSID isspecified.7. Return to CICS.In XICEREQC:1. Scan the global work area

Seite 89 - Exit XNQEREQ

Loader domain exits XLDLOAD and XLDELETEThere are two global user exits in the loader domain. XLDLOAD is invoked when anew instance of a program is lo

Seite 90 - Exit XNQEREQC

Index ...823Sending your comments to IBM ...841xvi CICS TS for OS/390: CICS Customization Guide

Seite 91

XPI callsMust not be used.API and SPI callsMust not be used.Exit XLDELETEWhen invokedAfter an instance of a program is released by CICS, and before th

Seite 92

Log manager domain exit XLGSTRMThere is one exit point, XLGSTRM, in the log manager domain.You can use XLGSTRM to modify a request to MVS to create a

Seite 93

An XLGSTRM global user exit program can set explicit attributes for the log streamdefinition, and can also set a return code that causes the log stream

Seite 94

UERCBYPCICS does not attempt to define the log stream. The process thatwas attempting to use the log stream may fail (for example, a dataset open).XPI

Seite 95 - Sample exit program, DFH$XNQE

Message domain exit XMEOUTThe XMEOUT exit allows you to suppress or reroute CICS messages that use themessage domain.Note that your exit program is su

Seite 96

ImportantBecause of the danger of recursion, your XMEOUT exit program should nottry to reroute:v Any DFHTDxxxx messages, produced by the transient dat

Seite 97 - The command parameter list

UEPMNUMAddress of a 4-byte field containing the message number.UEPMDOMAddress of a 2-byte field containing the domain identifier of theCICS message.UEPMR

Seite 98 - Exit XEIIN

UEPNRTEAddress of 1-character flag indicating whether or not the messagecan be rerouted by XMEOUT. The possible values are:C'0:' The message

Seite 99 - Exit XEISPIN

Monitoring domain exit XMNOUTXMNOUT is invoked before an exception class monitoring record is passed to SMF,and before a performance class monitoring

Seite 100 - Exit XEISPOUT

UEPMRTYPAddress of the halfword monitoring record type. If the value is 3,the type is performance class. If the value is 4, the type isexception class

Seite 101 - EXEC interface program exits

NoticesThis information was developed for products and services offered in the U.S.A. IBMmay not offer the products, services, or features discussed i

Seite 102

Program control program exits XPCREQ, XPCREQC, XPCFTCH,XPCHAIR, XPCTA, and XPCABNDThere are six user exit points in the program control program.XPCREQ

Seite 103

Return codesUERCBYPProgram control is to ignore the request.UERCNORMContinue processing.UERCPURGTask purged during XPI call.XPI callsAll can be used.A

Seite 104

XPI callsAll can be used.Although the exit permits the use of XPI GETMAIN and FREEMAIN calls,we recommend that you use the EXEC CICS GETMAIN and FREEM

Seite 105

PC_ADDR0is the address of a 7-byte area called the EXEC interface descriptor (EID),which is made up as follows:PC_GROUPPC_FUNCTPC_BITS1PC_BITS2PC_EIDO

Seite 106

PC_BITS2Two bytes not used by program control.PC_EIDOPT5Not used by program control.PC_EIDOPT6Indicates whether the request specifies the SYNCONRETURN

Seite 107 - Modifying input fields

An output field is modified by altering the data that is pointed to by thecommand-level parameter list. In the case of an output field you can modify the

Seite 108 - Modifying the EID

example, if you need to pass information between successive invocations of theXPCREQ exit, UEPTSTOK provides a means of doing this.The EIBCopies of EI

Seite 109 - Use of the parameter UEPFSHIP

3. If a GETMAIN was issued in XPCREQ to obtain an area to hold the SYSID,issue a FREEMAIN for the address held in UEPPCTOK.4. Return to CICS.Exit XPCF

Seite 110

PCUE_LOAD_POINTThe program’s load point.PCUE_ENTRY_POINTThe program’s entry point.PCUE_PROGRAM_SIZEFullword containing the size of the program, in byt

Seite 111 - Exit XFCREQ

Exit-specific parametersUEPPCDSAddress of a storage area that contains program- andterminal-related information, and that can be mapped using theDSECT

Seite 113

The licensed program described in this document and all licensed material availablefor it are provided by IBM under terms of the IBM Customer Agreemen

Seite 114 - Example program

Exit XPCTAXPCTA is invoked immediately after a transaction abend, and before anyprocessing that might modify the existing environment so that the task

Seite 115

PCUE_BRANCH_CICSCICS key.If storage protection is active, and you do not specify avalue, the resumed task executes in User key.If storage protection i

Seite 116 - Exit XFCAREQ

Exit-specific parametersUEPPCDSAddress of a storage area that contains program-related andterminal-related information. The storage area is mapped by t

Seite 117 - Exit XFCAREQC

Resource manager interface program exits XRMIIN and XRMIOUTExit XRMIINWhen invokedBefore a task-related user exit program is invoked due to an applica

Seite 118

Exit XRMIOUTWhen invokedAfter a task-related user exit program has returned from handling an RMIAPI request.Exit-specific parametersUEPTRUENAddress of

Seite 119

Resource management install and discard exit XRSINDIThe XRSINDI global user exit is driven, if it is enabled, immediately after CICSsuccessfully insta

Seite 120

UEPTERMAddress of the 4-byte terminal ID.UEPPROGAddress of the 8-byte application program name.UEPIDREQAddress of the 1-byte install or discard identi

Seite 121

UEIDMODEA modegroupUEIDNQRNAn ENQMODELUEIDPARTA partnerUEIDPROFA profileUEIDPROGA programUEIDPRTYA BTS process-typeUEIDPSETA partitionsetUEIDRQMDA requ

Seite 122

UEIDKEEPThe resources are recoverable at a warm or emergencyrestart.UEIDLOSEThe resources are not recoverable.Note: The exit is not driven during a CI

Seite 123

Signon and signoff exits XSNON and XSNOFFExit XSNON is invoked after a terminal user signs on, and exit XSNOFF is invokedafter a terminal user signs o

Seite 124

TrademarksThe following terms are trademarks of International Business Machines Corporationin the United States, or other countries, or both:ACF/VTAM

Seite 125

UEPSNFLSignon failed.Return codesUERCNORMContinue processing.UERCPURGTask purged during XPI call.XPI callsAll can be used.Exit XSNOFFWhen invokedWhen

Seite 126

UERCPURGTask purged during XPI call.XPI callsAll can be used.sign on and sign off exitsChapter 1. Global user exit programs 179

Seite 127 - Modifying user arguments

Statistics domain exit XSTOUTOn invocation, XSTOUT is passed the address of a buffer containing one or morestatistics records. The buffer can contain

Seite 128

UEPSDATEAddress of a 6-byte character field containing the collection date(MMDDYY).UEPSTIMEAddress of a 6-byte character field containing the collection

Seite 129 - Exit XFCSREQ

System recovery program exit XSRABExit XSRABWhen invokedWhen the system recovery program (DFHSRP) finds a match in the SRT foran MVS/ESA™ abend code. F

Seite 130

SRP_USER_CODEThe abend occurred while running user applicationcode.SRP_PPT_ENTRYThe abend occurred while runningSRP_ERROR_PPT_NAME. If this flag is not

Seite 131

SRP_ERROR_FP_REGSAn area describing the contents of the floating pointregisters at the time of the abend. It contains:SRP_FP_REG_0FP register 0SRP_FP_R

Seite 132 - Exit XFCSREQC

ImportantNotes:1. Take care when coding a program to run at the XSRAB exit point. If yourexit program causes the system recovery program to be reenter

Seite 133

System termination program exit XSTERMThe XSTERM exit could be used to output final statistics to your statistics SMF datasets, and to close them. (Not

Seite 134

Temporary storage domain exits XTSQRIN, XTSQROUT, XTSPTIN, andXTSPTOUTThe temporary storage domain exits XTSQRIN, XTSQROUT, XTSPTIN, andXTSPTOUT allow

Seite 135

xx CICS TS for OS/390: CICS Customization Guide

Seite 136

UEP_TS_DATA_PAddress of a fullword containing the address of the data. (Write andrewrite requests).UEP_TS_DATA_LAddress of a fullword containing the l

Seite 137 - Recovery and Restart Guide

UEPPROGAddress of the 8-byte application program name.UEP_TS_FUNCTIONAddress of a byte containing the function:UEP_TS_FUN_WRITEUEP_TS_FUN_REWRITEUEP_T

Seite 138 - Exit XFCNREC

Exit XTSPTINWhen invokedBefore execution of a temporary storage interface request for a CICSinternal queue (for example, for interval control or BMS q

Seite 139

UEP_TS_STORAGE_TYPE_AUX_RECOV_NOAuxiliary storage (non-recoverable).Return codesUERCNORMNormal.UERCPURGTask purged during XPI call.XPI callsAll can be

Seite 140 - Exit XFCVSDS

UEP_TS_RESPONSE_OKUEP_TS_RESPONSE_PURGEDUEP_TS_RESPONSE_EXCEPTIONUEP_TS_RESPONSE_DISASTERUEP_TS_RESPONSE_INVALIDReturn codesUERCNORMNormal response.UE

Seite 141

Temporary storage EXEC interface program exits XTSEREQ andXTSEREQCThe XTSEREQ exit allows you to intercept temporary storage API requests beforeany ac

Seite 142 - file control quiesce send exit

Exit XTSEREQWhen invokedBefore CICS processes a temporary storage API request.Exit-specific parametersUEPCLPSAddress of a copy of the command parameter

Seite 143

Exit XTSEREQCWhen invokedAfter a temporary storage API request has completed, before return fromthe temporary storage EXEC interface program.Exit-spec

Seite 144 - Order of invocation

You must set valid temporary storage responses. You must set all three ofEIBRCODE, EIBRESP, and EIBRESP2 to a consistent set of values, such as wouldb

Seite 145

TS_FUNCTTS_BITS1TS_BITS2TS_EIDOPT5TS_EIDOPT6TS_EIDOPT7TS_EIDOPT8TS_GROUPAlways X'0A', indicating that this is a temporary storage request.TS

Seite 146

PrefaceWhat this book is aboutThis book provides the information needed to extend and modify an IBM® CICS®Transaction Server for OS/390® system to mat

Seite 147

X'80' WRITEQ MAIN or READQ ITEM specified.X'04' WRITEQ REWRITE or READQ NUMITEMS specified.TS_EIDOPT8Indicates whether certain keywo

Seite 148

NUMITEMSSETLENGTH is an input field on a WRITEQ request, and an output field on a READQrequest that specifies SET. It is both an input and an output field

Seite 149 - Migration note

X'10' The existence bit for NOSUSPEND.X'08' The existence bit for MAIN.The EID is reset to its original value before return to the

Seite 150

Table 9. DELETEQ TS: User arguments and associated keywords, data types, andinput/output typesArgument Keyword Data type Input/output typeArg1 QUEUE C

Seite 151

Example programCICS supplies—in hardcopy only—an example program, DFH$XTSE, thatshows how temporary storage requests can be modified. See “Appendix E.T

Seite 152

Terminal allocation program exit XALCAIDXALCAID is driven when an AID with data is canceled in one of the following ways:v By means of the CEMT transa

Seite 153

contains FMHs, as specified by the FMH option on the associatedSTART command; or hexadecimal zeros otherwise.UEPALSTCAddress of a 2-byte field containin

Seite 154

Terminal control program exits XTCIN, XTCOUT, XTCATT, XTCTIN, andXTCTOUTExit XTCINWhen invokedAfter an input event for a sequential device.Exit-specifi

Seite 155

Exit XTCATTWhen invokedBefore task attach.Exit-specific parametersUEPTCTTEAddress of the terminal control table terminal entry (TCTTE). TheTCTTE can be

Seite 156

Exit XTCTOUTWhen invokedBefore a TCAM output event.Exit-specific parametersUEPTCTTEAddress of the terminal control table terminal entry (TCTTE). TheTCT

Seite 157

CICS Transaction Server for OS/390 Release 3 supports CICS applications writtenin:v Assembler languagev Cv COBOLv PL/I.In this book, the phrase “the l

Seite 158

‘Terminal not known’ condition exits XALTENF and XICTENFThe ‘terminal not known’ condition can occur when intercommunicating CICSregions use both SHIP

Seite 159 - The XISCONA exit

CICS drives the XICTENF exit when the ‘terminal not known’ condition occurs afterthe interval control program has been invoked by an EXEC CICS START c

Seite 160 - Exit XISCONA

Exit-specific parametersUEPALEVTAddress of 2 bytes containing the type of request. The equatedvalues of the types are:UEPALESDSTART command with dataUE

Seite 161 - CICS Performance Guide

For START commands issued in this system by transaction routingto a task, the netname of the last system from which the task wasrouted.For other START

Seite 162 - The XISLCLQ exit

Exit XICTENFWhen invokedBy the interval control program when the terminal that an EXEC CICSSTART command requires is unknown in this system. The exit

Seite 163

UEPICNTIAddress of 8 bytes containing, for function-shipped STARTcommands, the netname of the last system from which the requestcame.For START command

Seite 164 - Exit XICREQ

DELETE_SUSPENDDEQUEUEENQUEUERESUMESUSPENDWAIT_MVS.The sample program for the XALTENF and XICTENF exits, DFHXTENFOne program can be used for both exits

Seite 165 - Exit XICTENF

*BLDNETNM DS 0H** Build a netname by taking the first character of the* terminal ID and appending it to the characters 'CICS'.*L R2,UEPICNTO

Seite 166 - Exit XICEREQ

Transaction manager domain exit XXMATTExit XXMATTWhen invokedDuring transaction attach. This exit is able to change some of the attributesof the trans

Seite 167 - Exit XICEREQC

UEPATTTKThe address of a doubleword containing a transaction token. Notethat some of the transaction manager XPI calls require this token toidentify t

Seite 168

BibliographyCICS Transaction Server for OS/390CICS Transaction Server for OS/390: Planning for InstallationGC33-1789CICS Transaction Server for OS/390

Seite 169

Transient data program exits XTDREQ, XTDIN, and XTDOUTExit XTDREQWhen invokedBefore request analysis.Exit-specific parametersUEPTDQUEAddress of 4-byte

Seite 170

Exit XTDINWhen invokedAfter receiving data from QSAM (for extrapartition) or VSAM (forintrapartition).Exit-specific parametersUEPTDQUEAddress of the 4-

Seite 171

Exit XTDOUTWhen invokedBefore passing the data to a QSAM (for extrapartition) or VSAM (forintrapartition) user-defined transient data queue.Exit-specifi

Seite 172

Transient data EXEC interface program exits XTDEREQ andXTDEREQCThe XTDEREQ exit allows you to intercept a transient data request before anyaction has

Seite 173

UEPRCODEAddress of a 6-byte hexadecimal copy of the EIB return code‘EIBRCODE’. For details of EIB return codes, refer to theCICSApplication Programmin

Seite 174 - Modifying output fields

Exit XTDEREQCWhen invokedAfter a transient data API request has completed, and before return fromthe transient data EXEC interface program.Exit-specifi

Seite 175

The command-level parameter structureThe command-level parameter structure consists of a series of addresses. The firstaddress points to the EXEC inter

Seite 176

End of parameter list indicatorThe high-order bit is set on in the last address set in the parameter list toindicate that it is the last one in the li

Seite 177 - Using the task token UEPTSTOK

TD_BITS1Existence bits that define which arguments were specified. To obtainthe argument associated with a keyword, you need to use theappropriate addre

Seite 178 - CICS Intercommunication Guide

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

Seite 179 - Exit XLDLOAD

CICSPlex SM books for CICS Transaction Server for OS/390GeneralCICSPlex SM Master IndexSC33-1812CICSPlex SM Concepts and PlanningGC33-0786CICSPlex SM

Seite 180 - Exit XLDELETE

An output field is modified by altering the data that is pointed to by thecommand-level parameter list. In the case of an output field, you can modify th

Seite 181 - OS/390 MVS Authorized

The EIBCopies of EIBRSRCE, EIBRCODE, EIBRESP, and EIBRESP2 are passed to theexit, so that you can:v Modify or set completion and resource information

Seite 182 - Exit XLGSTRM

User log record recovery program exits XRCINIT and XRCINPTAt warm and emergency restart, updates made to recoverable CICS resources thatwere not commi

Seite 183

v There is a restriction on using the XPI early during initialization: do not invokeexit programs that use the XPI functions TRANSACTION_DUMP,WRITE_JO

Seite 184 - Message domain exit XMEOUT

programs” on page 393.Exit XRCINITWhen invokedAt warm and emergency restart:v Before the first user recovery record is delivered to XRCINPTv When all s

Seite 185 - Exit XMEOUT

be mapped using the information supplied in “Chapter 23. CICSlogging and journaling” on page 629.UEPLGLENAddress of a fullword containing the length o

Seite 186

VTAM terminal management program exit XZCATTExit XZCATTWhen invokedBefore task attach for terminal tasks.Exit-specific parametersUEPTCTTEAddress of the

Seite 187

VTAM working-set module exits XZCIN, XZCOUT, XZCOUT1, andXZIQUENote: None of the exits in the VTAM working-set module is available for advancedprogram

Seite 188 - Exit XMNOUT

XPI callsAll can be used. However, we do not recommend that you use a GETMAINcall to obtain terminal-class storage for use as a replacement TIOA. This

Seite 189

XZIQUE exit for managing intersystem queuesYou can use the XZIQUE exit to control the number of queued requests forsessions on intersystem links (allo

Seite 190 - XPCREQ and XPCREQC

MVS booksShort Title Full TitleAssembler Programming Guide OS/390 MVS Assembler Services Guide,GC28-1762Authorized Assembler Programming Guide OS/390

Seite 191 - Exit XPCREQC

modegroups, depending on the session request. Non-specific allocate requests arefor MRO, LU6.1, and APPC sessions that do not specify a modegroup.Using

Seite 192

If the queue limit has been reached but the performance of allocate processingagainst the queue is below the acceptable limits defined in your user exi

Seite 193

A14EALRJ:Each time an XZIQUE global user exit program returns with a requestto reject a request, CICS increments a new field in the system entry connec

Seite 194 - Modifying output fields:

UEPRC8The exit program returned control to CICS on the previousinvocation with return code 8.UEPRC12The exit program returned control to CICS on the p

Seite 195

Non-specific allocates data:The following three fields contain data relatingto MRO, LU6.1, and non-specific APPC allocates:UEPSAQTSA double-word binary fi

Seite 196 - In XPCREQC:

modegroup specified on this allocate request and send aninformation message to the operator console. Retry the modegroupafter an interval.UERCPURGTask

Seite 197 - Exit XPCFTCH

Sample exit program designA sample XZIQUE exit program is provided with CICS Transaction Server forOS/390 Release 3 as a base for you to design your o

Seite 198 - Exit XPCHAIR

CICS invokes the exit program to enable it to indicate that normal processingcan continue.In this case, the exit program returns with UERCNORM to indi

Seite 199

XRF request-processing program exit XXRSTATXXRSTAT enables you to decide whether to terminate CICS when either of thefollowing occurs:v CICS is notifie

Seite 200 - Exit XPCTA

Return codesUERCNORMTake the system action. The system action depends on the reasonwhy the exit was invoked:v For XRF, in the event of a VTAM failure:

Seite 201 - Exit XPCABND

Determining if a publication is currentIBM regularly updates its publications with new and changed information. When firstpublished, both hardcopy and

Seite 202

XRF request-processing program exit248CICS TS for OS/390: CICS Customization Guide

Seite 203 - Exit XRMIIN

Chapter 2. Task-related user exit programsThis chapter describes a special kind of user exit called a task-related user exit.Atask-related user exit a

Seite 204 - Exit XRMIOUT

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

Seite 205 - Exit XRSINDI

statnameis a label that can be referenced externally. It should conform to therequirements of an assembler-language ENTRY statement, and typicallyreso

Seite 206

If you do not specify RTNABND=YES and the task-related user exit is not available,the application program terminates abnormally with the abend code ‘A

Seite 207

User exit parameter listsWhen a task-related user exit is invoked, the CICS management module thathandles task-related user exits provides the exit wi

Seite 208

command. The global work area is described on page “The global workarea” on page 269. CICS initializes this work area to X'00' when thetask-

Seite 209 - Exit XSNON

UEPUOWDSAddress of the APPC unit of work (UOW) identifier.UEPSECFLGAddress of the user security flag. The user security flag is a 1-byte field thatcan tak

Seite 210 - Exit XSNOFF

data locations can be above or below 16MB; whether the application’sstorage is in CICS-key or user-key storage; and whether the TRUE hasbeen called by

Seite 211 - All can be used

UEPTRLV1 (X'80')RMI level 1 trace is active.UEPTRLV2 (X'40')RMI level 2 trace is active.Having tested this field, the task-related

Seite 212 - Exit XSTOUT

Summary of changesThis book is based on theCustomization Guidefor CICS Transaction Server forOS/390 Release 2, SC33-1683-01. Changes from that edition

Seite 213

exit program can be invoked to satisfy EXEC CICS INQUIRE EXITPROGRAMcommands on which the CONNECTST or QUALIFIER option is specified. Thisallows applic

Seite 214 - Exit XSRAB

UERTBACK(X'20') Backout.UERTDGCS(X'10') Unit of recovery has been lost because of an initial start ofCICS.UERTDGNK(X'08'

Seite 215 - could be determined

Parameter 6Address of a 4-byte, packed-decimal field containing the date of the failingsyncpoint, in the format 00yyddd+. See note 1.Parameter 7Address

Seite 216 - CICS Data Areas

The significance of the parameters is as follows:Parameter 1The address of a single byte with bit definitions indicating the reason for thecall:UERTSOTR

Seite 217

UEPEDFFIThe input flag byte. When a task-related user exit is invoked by EDF,UEPEDFFI can take the following bit settings:UEPEDFRQ(X'80') “Ab

Seite 218 - Exit XSTERM

Notes:1. CICS provides a list of named standard attribute bytes that you maywant to use. These standard attribute bytes are contained withinDFHBMSCA,

Seite 219 - Exit XTSQRIN

CICS SPI Application Syncpoint Task manager Termination CICS EDFcall program call manager call call manager call callDFHUEPAR DFHUEPAR DFHUEPAR DFHUEP

Seite 220 - Exit XTSQROUT

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 al

Seite 221

program to be called at the start as well as at the end of a task, you must specifyTASKSTART on the EXEC CICS ENABLE command for the TRUE. This causes

Seite 222 - Exit XTSPTIN

significance of register settings on return are either described in your resourcemanager’s documentation, or defined locally.Addressing-mode implication

Seite 223 - Exit XTSPTOUT

CICS® Transaction Server for OS/390®CICS Customization GuideRelease 3SC33-1683-02IBM

Seite 224

- XEISPOUT– In the file control recovery program:- XFCAREQ- XFCAREQC– In the 3270 bridge facility management program:- XFAINTUv The following new exit

Seite 225 - XTSEREQC

another program (via a link or transfer-control command), the program thus invokedexecutes according to the execution key (EXECKEY) defined in its prog

Seite 226 - Exit XTSEREQ

v DFHEIENT and DFHEIRET must be in your program.But see the note about notusing DFHEIENT in abend invocations, on page 276.For further details of theD

Seite 227 - Exit XTSEREQC

that is exclusively for the exit program’s use. It is specified using the TALENGTHoption of the EXEC CICS ENABLE command and is accessed using the UEPT

Seite 228 - READQ TS Table 8 on page 200

Increasing efficiency – single-update and read-only protocolsIf your resource manager is capable of performing a single-phase commit, you canincrease

Seite 229

Table 12. Valid return codes for a TRUE invoked by the CICS syncpoint managerRequest-type Return codes MeaningUERTPREPUERFPREP Phase 1 of 2-phase comm

Seite 230

As described in “Increasing efficiency – single-update and read-only protocols” onpage 271 , if the UERTONLY bit is set (indicating that the resource

Seite 231

a UERTELUW call. Because no updates were made, data integrity is not at risk,and therefore no action is taken if the commit fails.On receiving a reque

Seite 232

invocation is at start- or end-of-task, you can examine the CICS task managerparameters described in “CICS task manager parameters” on page 260. Typic

Seite 233 - Removing user arguments

The limitations on what your program can do, if invoked, depend on the type oftermination:Orderly shutdown (UERTCORD)Your exit program must follow the

Seite 234

JTRUE1A CSECT TERMINATION TRUE ENTRYPOINTSTM 14,12,12(13) Save registersUSING JTRUE1A,R3LR R3,R15 Use R3 as base registerUSING DFHUEPAR,R1 Address DFH

Seite 235 - Exit XALCAID

The following global user exits became obsolete:– XDBDERR– XDBFERR– XDBIN– XDBINIT– XJCWB– XJCWR– XKCREQ– XRCFCER– XRCOPER– XTSIN– XTSOUT– XTSREQv Cha

Seite 236

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 is

Seite 237 - Exit XTCOUT

Table 13 describes each stage of the interface between the task-related user exitand EDF, relating the descriptions to the (Tn) and (En) expressions i

Seite 238 - Exit XTCTIN

ImportantThe E1/T2 and E2/T5 cycles can be used repeatedly. This may occur, forexample, if the EDF user changes the screen a number of times.Adapter a

Seite 239 - Exit XTCTOUT

user exit should invoke its resource manager to free any task-relatedresources, such as the thread. However, the resource manager shouldmaintain any l

Seite 240 - The exits

Tracing a task-related user exit programCICS outputs a trace entry just before control is passed to the task-related user exitand just after returning

Seite 241 - Exit XALTENF

Chapter 3. The user exit programming interface (XPI)This chapter describes the user exit programming interface (XPI) of CICSTransaction Server for OS/

Seite 242

v Using the XPI dump control functions, you can:– Request a system dump—see “The SYSTEM_DUMP call” on page 314– Request a transaction dump—see “The TR

Seite 243

– Change the settings of the autoinstall function for programs, mapsets, andpartitionsets—see “The SET_AUTOINSTALL call” on page 350.v Using the XPI s

Seite 244

Note: Using the XPI feature table, you can register a CICS-supplied feature (suchas ONC/RPC) to CICS. After it has been registered, you can inquire on

Seite 245

The general format (omitting the assembler-language continuation character) of allXPI calls is:macro-name [CALL],[CLEAR],[IN,FUNCTION(call_name),mandi

Seite 246

– The descriptions of fields in CICS-produced monitoring records, previously in“Chapter 24. CICS monitoring” on page 657, were moved to theCICSPerforma

Seite 247

Note: If you build your parameter list incrementally, do not specify CLEARwhen you finally issue the call, because the CLEAR option sets theparameter l

Seite 248 - Exit XXMATT

the name of a field in which you want the RESPONSE value to be placed.You need not code the RESPONSE option if you are using the macrowithout CALL to b

Seite 249

Note that if an XPI call other than DFHDSSRX SUSPEND orWAIT_MVS gets this RESPONSE, your exit program should set thereturn code to ‘UERCPURG’ and retu

Seite 250 - Exit XTDREQ

CICS to perform the XPI call processing. You must not use any of these fields: ifyou do so, your user exit program will have unpredictable results.The

Seite 251 - Exit XTDIN

to to obtain more than the extra 64 bytes provided, obtain it by either aDFHSMMCX FUNCTION (GETMAIN) macro, or an MVS GETMAIN request.Information to b

Seite 252 - Exit XTDOUT

TITLE 'GUEXPI - GLOBAL USER EXIT PROGRAM WITH XPI'************************************************************************** The first three

Seite 253 - Exit XTDEREQ

************************************************************************** The next seven instructions form the normal start of a global user ** exit

Seite 254

************************************************************************** Issue the DFHSMMCX macro call, specifying: ** ** CALL -- the macro is to be

Seite 255 - Exit XTDEREQC

************************************************************************** Test SMMC_RESPONSE -- if OK, then branch round error handling. ************

Seite 256

An example showing how to build a parameter list incrementallyIn the following example, the parameter list is built incrementally. The initialization

Seite 257

Part 1. Customizing with user exit programs© Copyright IBM Corp. 1977, 1999 1

Seite 258

DFHSMMCX CLEAR...DFHSMMCX GET_LENGTH(100)...DFHSMMCX CALL, *IN, *FUNCTION(GETMAIN), *GET_LENGTH(*), *SUSPEND(NO), *INITIAL_IMAGE(X'00'), *ST

Seite 259

OPTION(addr,len)addr The data address as {namea | (Ra) | aliteral}:nameaThe name of a location containing the data address(Ra) A register containing t

Seite 260

maxlenThe maximum data length as {namel | (Rn) | expression}:namel The name of a location containing a binary fullword givingthe maximum data length i

Seite 261

v Issuing the SUSPEND call.2. Task B performs the action by:v Getting the parametersv Performing the actionv Setting the resultsv Terminating (or wait

Seite 262 - Coding the exit programs

The difference is that Set results and Get results are replaced by Clean up. It isvital that only these two sequences can happen; this means that both

Seite 263 - Enabling the exit programs

ADD_SUSPENDDFHDSSRX [CALL,][CLEAR,][IN,FUNCTION(ADD_SUSPEND),[RESOURCE_NAME(name16 | string | 'string'),][RESOURCE_TYPE(name8 | string | &ap

Seite 264 - Exit XRCINPT

RESPONSE and REASON values for ADD_SUSPEND:RESPONSE REASONOK NoneEXCEPTION NoneDISASTER NoneINVALID NoneKERNERROR NonePURGED NoneNote: For more detail

Seite 265

(Rn) A register containing the interval value, a binary fullword.PURGEABLE(YES|NO)specifies whether your code can cope with the request being abnormall

Seite 266 - Exit XZCATT

"string"A string of characters enclosed in quotation marks. Blanks are permittedin the enclosed string. If you want to document a name (labe

Seite 267 - Exit XZCOUT

Note: This is the default reason given to the wait if you suspend a task anddo not specify the WLM_WAIT_TYPE parameter.OTHER_PRODUCTWaiting on another

Seite 268 - Exit XZCOUT1

2 CICS TS for OS/390: CICS Customization Guide

Seite 269 - VTAM working-set module exits

corresponding RESUME. You must ensure that you keep account of the SUSPENDand RESUME requests issued from your exit program.RESUMEDFHDSSRX [CALL,][CLE

Seite 270

DELETE_SUSPENDDFHDSSRX [CALL,][CLEAR,][IN,FUNCTION(DELETE_SUSPEND),SUSPEND_TOKEN(name4 | (Rn)),][OUT,RESPONSE(name1 | *),REASON(name1 | *)]SUSPEND_TOK

Seite 271

WAIT_MVSDFHDSSRX [CALL,][CLEAR,][IN,FUNCTION(WAIT_MVS),{ECB_ADDRESS(name4 | (Ra)) | ECB_LIST_ADDRESS(name4 | (Ra)),}PURGEABLE(YES|NO),[INTERVAL(name4

Seite 272 - Exit XZIQUE

Table 15. WAIT_MVS call - RESPONSE(PURGED)REASON TASK_CANCELLED TIMED_OUTCONDITION PURGE FORCEPURGE DTIMOUT INTERVALPURGEABLE (NO) Canceled Proceeds n

Seite 273

MILLI_SECONDThe INTERVAL option specifies the number of milliseconds beforetimeout.WLM_WAIT_TYPE(name1)specifies, in a 1-byte location, the reason for s

Seite 274

RESPONSE and REASON values for WAIT_MVS:RESPONSE REASONOK NoneEXCEPTION NoneDISASTER NoneINVALID NoneKERNERROR NonePURGED TASK_CANCELLEDTIMED_OUTNotes

Seite 275 - Design considerations

literalconstA number in the form of a literal, for example B'00000000', X'FF',X'FCF4', "0" or an equate symbol

Seite 276 - Sample exit program design

CALLER(block-descriptor)specifies the source of a system dump request. The information that you supplyhere appears in the dump header, so you could use

Seite 277

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

Seite 278 - Exit XXRSTAT

and SEGMENT_LIST are mutually exclusive.TCA(NO|YES)specifies whether the task control area (TCA) is to be included in thetransaction dump. The default

Seite 279

Chapter 1. Global user exit programsThis chapter describes the CICS global user exit points, and how you can usethem, in conjunction with programs of

Seite 280

Notes:1. For more detail, refer to the explanation of RESPONSE and REASON in“General form of an XPI call” on page 286.2. ‘NOT_OPEN’ means that the CIC

Seite 281

However, as no recovery services are provided for abending global user exits,CICS ensures that any outstanding XPI enqueues are dequeued automatically

Seite 282 - The stub program

Kernel domain functionsThe START_PURGE_PROTECTION functionThe START_PURGE_PROTECTION function is provided on the DFHKEDSX macrocall. It inhibits purge

Seite 283 - Figure 5. The stub concept

Nesting purge protection callsNote that the START_ and STOP_PURGE_PROTECTION functions can be nested.You should ensure that, if multiple START_PURGE_P

Seite 284

DEFINE_PROGRAMDFHLDLDX [CALL,][CLEAR,][IN,FUNCTION(DEFINE_PROGRAM),PROGRAM_NAME(name8 | string | 'string' ),[EXECUTION_KEY(CICS|USER),][PROG

Seite 285 - User exit parameter lists

Table 16. Summary of attributes defining DSA eligibility (continued)EXECUTION_KEYoptionReentrant Above or below16MB lineDynamic storagearea (DSA)USER Y

Seite 286

ECDSACannot be overwritten by USER tasksERDSAComplete—cannot be overwritten by USER tasks or CICS tasksEUDSANoneRDSA Complete—cannot be overwritten by

Seite 287

The ACQUIRE_PROGRAM callACQUIRE_PROGRAM returns the entry and load point addresses, the length, anda new program token for a usable copy of the named

Seite 288

storage unless deleted. RESIDENT programs must be at leastquasireentrant. Any program of PROGRAM_TYPE SHAREDhas the RESIDENT attribute by default. The

Seite 289 - Caller parameter lists

2. A REASON of ‘NO_STORAGE’ with a RESPONSE of ‘EXCEPTION’ means thatthere was insufficient storage to satisfy this request, and SUSPEND(NO) wasspecifi

Seite 290

Each global user exit point has a unique identifier, and is located at a point in themodule or domain at which it could be useful to do some extra proc

Seite 291

RESPONSE REASONEXCEPTION PROGRAM_NOT_DEFINEDPROGRAM_NOT_IN_USEDISASTER NoneINVALID NoneKERNERROR NonePURGED NoneNotes:1. For more detail, refer to the

Seite 292 - CICS task manager parameters:

Log manager functionsThere are two XPI log manager functions. These are the DFHLGPAX calls:INQUIRE_PARAMETERSSET_PARAMETERSThese calls allow you to in

Seite 293 - CICS EDF build parameters:

SET_PARAMETERSDFHLGPAX [CALL,][CLEAR,][IN,FUNCTION(SET_PARAMETERS),[KEYPOINT_FREQUENCY(name4 | (Rn) ),]][OUT,RESPONSE(name1 | *),REASON(name1 | *)]KEY

Seite 294

The user event-monitoring points must be defined in the usual way in themonitoring control table (MCT). For more information about CICS monitoring, rea

Seite 295

DATA2(expression | name4 | (Rn) | *)specifies a fullword binary variable whose contents depend on the type of userEMP being used:v If the MCT user EMP

Seite 296

expressionA valid assembler-language expression that can be expressed in 2bytes.name2The name of a 2-byte source of point data(Rn) A register containi

Seite 297 - The schedule flag word

INQUIRE_MONITORING_DATADFHMNMNX [CALL,][CLEAR,][IN,FUNCTION(INQUIRE_MONITORING_DATA),DATA_BUFFER(buffer-descriptor),][OUT,RESPONSE(name1 | *),REASON(n

Seite 298 - Saving CICS registers

and the DFHPGAQX calls:INQUIRE_AUTOINSTALLSET_AUTOINSTALL.Used with the Loader functions DEFINE_PROGRAM, ACQUIRE_PROGRAM,RELEASE_PROGRAM, and DELETE_P

Seite 299 - Addressing-mode implications

CICS CICS-keyNONE The program has not been loadedREAD_ONLYReadonlyUSER User-key.AVAIL_STATUS(DISABLED|ENABLED)returns a value indicating whether the p

Seite 300

ENTRY_POINT(name4)returns the program’s entry point address, as it would be returned by a Loaderdomain ACQUIRE_PROGRAM call.EXECUTION_KEY(CICS|NOT_APP

Seite 301 - Work areas

v Register 15 contains the entry address of the exit program.No other register values are guaranteed, and they should not be relied on. The exitprogra

Seite 302 - Programming Reference

MANUALThe program is a CICS internal module explicitly defined to theProgram Manager by another CICS component.RDO RDO commands.SYSAUTOSystem autoinsta

Seite 303 - Return codes

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

Seite 304 - Limitations

NOT_APPLICNot applicable. The program is remote.PRIVATEThe program is to be loaded from the relocatable program library (RPL).A PRIVATE program need n

Seite 305

RESPONSE and REASON values for INQUIRE_PROGRAM:RESPONSE REASONOK NoneEXCEPTION PROGRAM_NOT_DEFINED_TO_LDPROGRAM_NOT_DEFINED_TO_PGDISASTER ABENDLOCK_ER

Seite 306 - Resynchronization

CURRENT_AMODE(24|31)returns the addressing mode which the running program is currently using.CURRENT_CEDF_STATUS(CEDF|NOCEDF)returns the EDF status of

Seite 307

RESPONSE and REASON values forINQUIRE_CURRENT_PROGRAM:RESPONSE REASONOK NoneEXCEPTION NO_CURRENT_PROGRAMDISASTER LOCK_ERRORABENDINVALID NoneKERNERROR

Seite 308

Note: If the program has been link-edited as reentrant withAMODE(31),RMODE(ANY), the EXECUTION_KEY option is ignored,and it is loaded into the extende

Seite 309 - (Part 1 of 2)

name4The name of a location containing a 4-byte token obtained from aprevious INQUIRE_PROGRAM, INQUIRE_CURRENT_PROGRAM,START_BROWSE_PROGRAM, or GET_NE

Seite 310 - (Part 2 of 2)

RESPONSE and REASON values for SET_PROGRAM:RESPONSE REASONOK NoneEXCEPTION CEDF_STATUS_NOT_FOR_MAPSETCEDF_STATUS_NOT_FOR_PTNSETCEDF_STATUS_NOT_FOR_REM

Seite 311 - ) expressions in Figure 10

string A string of characters naming the program.'string'A string of characters in quotation marks. The string length is set to 8by padding

Seite 312 - Adapter administration

All exit programs that issue EXEC CICS commands, and that use the DFHEIENTmacro, should use the DFHEIRET macro to set a return code and return toCICS.

Seite 313 - The administration routines

GET_NEXT_PROGRAMDFHPGISX [CALL,][CLEAR,][IN,FUNCTION(GET_NEXT_PROGRAM),BROWSE_TOKEN(name4),][OUT,PROGRAM_NAME(name8),[ACCESS(CICS|NONE|READ_ONLY|USER)

Seite 314 - TRACETYPE command

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 next

Seite 315 - Overview

The INQUIRE_AUTOINSTALL callINQUIRE_AUTOINSTALL returns information about the current settings of theautoinstall function for programs, mapsets, and p

Seite 316

SET_AUTOINSTALLDFHPGAQX [CALL,][CLEAR,][IN,FUNCTION(SET_AUTOINSTALL),[AUTOINSTALL_CATALOG (ALL|MODIFY|NONE),][AUTOINSTALL_EXIT_NAME(name8),][AUTOINSTA

Seite 317

State data access functionsThe state data access functions allow you to inquire on and set certain system datain the AP domain.The INQ_APPLICATION_DAT

Seite 318 - General form of an XPI call

SYSEIB(name4 | (Rn) | *)returns the address of the system EXEC interface block of the current task.name4The name of a fullword area that is to receive

Seite 319

RESPONSE and REASON values for INQ_APPLICATION_DATA:RESPONSE REASONOK NoneEXCEPTION DPL_PROGRAMNO_TRANSACTION_ENVIRONMENTTRANSACTION_DOMAIN_ERRORDISAS

Seite 320

The INQUIRE_SYSTEM callThe INQUIRE_SYSTEM call gives you access to CICS system data in the APdomain.INQUIRE_SYSTEMDFHSAIQX [CALL,][CLEAR,][IN,FUNCTION

Seite 321

CICSSYS(name1 | *)returns the operating system for which the running CICS has been built.name1The name of a 1-byte area that is to receive the hexadec

Seite 322 - DFHUEXIT TYPE=XPIENV

GMMTRANID(name4 | *)returns the transaction identifier of the CICS good morning transaction.name4The name of a 4-byte area that is to receive the CICS

Seite 323 - The XPI copy books

Application programs can communicate with user exit programs that use or sharethe same global work area. The application program uses the EXEC CICSEXT

Seite 324

name1The name of a 4-byte area that is to receive the version and releasenumber of OS/390 on which CICS is running. A value of “0240”represents OS/390

Seite 325 - XPI examples

name4The name of a 4-byte location that is to receive the startup date of thisCICS system.TERMURM(name8 | *)returns the name of the autoinstall user p

Seite 326

SET_SYSTEMDFHSAIQX [CALL,][CLEAR,][IN,FUNCTION(SET_SYSTEM),[DTRPRGRM(name8 | string | 'string'),][GMMLENGTH(name2 | (Rn) | expression),][GMM

Seite 327

Storage control functionsThere are seven XPI storage control functions. These are the DFHSMMCX macrocalls GETMAIN, FREEMAIN, INQUIRE_ELEMENT_LENGTH, a

Seite 328

GETMAINDFHSMMCX [CALL,][CLEAR,][IN,FUNCTION(GETMAIN),GET_LENGTH(name4 | (Rn) | expression),STORAGE_CLASS(CICS|CICS24|SHARED_CICS|SHARED_CICS24|SHARED_

Seite 329

STORAGE_CLASS(CICS|CICS24|SHARED_CICS|SHARED_CICS24|SHARED_USER|SHARED_USER24|USER|USER24|TERMINAL)specifies the class of the storage that is the subje

Seite 330 - The XPI functions

2. ‘INSUFFICIENT_STORAGE’ is returned if the GETMAIN request was specifiedwith SUSPEND(NO), and there was not enough storage available to satisfy there

Seite 331 - OPTION(addr,maxlen,*)

INQUIRE_ACCESSDFHSMSRX [CALL,][CLEAR,][IN,FUNCTION(INQUIRE_ACCESS),ELEMENT_ADDRESS(name4 | (Rn) | *),ELEMENT_LENGTH(name4 | (Rn) | *),][OUT,ACCESS(CIC

Seite 332 - Dispatcher functions

INQUIRE_ELEMENT_LENGTHDFHSMMCX [CALL,][CLEAR,][IN,FUNCTION (INQUIRE_ELEMENT_LENGTH),ADDRESS (name4 | (Rn) | *),][OUT,ELEMENT_ADDRESS(name4 | (Rn) | *)

Seite 333

INQUIRE_SHORT_ON_STORAGEDFHSMSRX [CALL,][CLEAR,][IN,FUNCTION(INQUIRE_SHORT_ON_STORAGE),][OUT,SOS_ABOVE_THE_LINE(NO|YES),SOS_BELOW_THE_LINE(NO|YES),RES

Seite 334 - The ADD_SUSPEND call

Note!Before using this information and the product it supports, be sure to read the general information under “Notices” onpage xvii.Third edition (Mar

Seite 335

If your exit program is to be invoked at every global user exit point, you can code:DFHUEXIT TYPE=EP,ID=ALLIf your user exit program is to be used bot

Seite 336 - The SUSPEND call

lengths of the elements of task-lifetime storage belonging to either the specifiedtask or, by default, the current task. The lengths returned do not in

Seite 337

Trace control functionThere is one XPI trace control function. This is the DFHTRPTX call TRACE_PUT.DFHTRPTX calls cannot be used in any exit program i

Seite 338

call within a calling domain should specify a unique POINT_ID. This enablesyou to locate the origin of a trace call when examining a formatted trace.

Seite 339 - The RESUME call

name8The name of an 8-byte location to receive the name of the bridge exitprogram.BRIDGE_FACILITY_TOKEN(name4)returns a token that contains the addres

Seite 340 - The DELETE_SUSPEND call

The DTR transaction definition provides common attributes for transactions that areto be dynamically routed and which do not have a specific transaction

Seite 341 - The WAIT_MVS call

name4The name of a 4-byte location that is to receive the current number ofactive user tasks, expressed as a binary value.(Rn) A register to receive t

Seite 342

The INQUIRE_TCLASS callThe INQUIRE_TCLASS function is provided on the DFHXMCLX macro call. Itspurpose is to provide current information about the spec

Seite 343 - CICS Problem Determination

name4The name of a 4-byte location that is to receive the current maximumnumber of active tasks currently allowed for this transaction class,expressed

Seite 344

INQUIRE_TRANDEFDFHXMXDX [CALL,][CLEAR,][IN,FUNCTION(INQUIRE_TRANDEF),INQ_TRANSACTION_ID(name4 | string | ‘string’),][OUT,[BREXIT(name8),][CMDSEC(name1

Seite 345 - The CHANGE_PRIORITY call

CMDSEC(name1)returns, in a 1-byte location (name1), a value indicating whether commandsecurity checking is required for the transaction.YES Command se

Seite 346 - The SYSTEM_DUMP call

UEPTCApoints to fetch-protect storage. Use of this field results in an abend ASRD atexecution time.UEPCSApoints to fetch-protect storage. Use of this fi

Seite 347 - RESPONSE REASON

YES The UOW is to wait, pending recovery from the failure, to determinewhether recoverable resources are to be backed out or committed.INDOUBT_WAIT_TI

Seite 348 - The TRANSACTION_DUMP call

PARTITIONSET(name1)returns, in a 1-byte location (name1), the partitionset specified on thetransaction definition.KEEP The reserved name KEEP is specifie

Seite 349

RESSEC(name1)returns, in a 1-byte location (name1), a value indicating whether resourcesecurity checking is required for the transaction.NO Resource s

Seite 350 - The ENQUEUE function

DISABLEDThe transaction definition is disabled.ENABLEDThe transaction definition is enabled.STORAGE_CLEAR(name1)returns, in a 1-byte location (name1), a

Seite 351 - The DEQUEUE function

TCLASS_NAME(name8)returns the name of the transaction class to which the transaction belongs.name8The name of an 8-byte location to receive transactio

Seite 352 - Kernel domain functions

(Rn) A register to receive the size of the transaction work area, expressed asa binary value.RESPONSE and REASON values for INQUIRE_TRANDEF:RESPONSE R

Seite 353 - The DEFINE_PROGRAM call

The descriptions of the following parameters are the same as the correspondingparameters on the INQUIRE_TRANDEF function call.DTIMEOUTDYNAMICINITIAL_P

Seite 354

ORIGINAL_TRANSACTION_ID(name4)returns the transaction id that was used to attach the transaction. For example,if an alias was used at a terminal, this

Seite 355

T A terminal input attach.TT A permanent transaction terminal attach.SUSPEND_TIME(name4 | (Rn))returns the length of time that the task has been in it

Seite 356

RESPONSE and REASON values for INQUIRE_TRANSACTION:RESPONSE REASONOK NoneDISASTER ABENDLOOPINVALID NoneEXCEPTION NO_TRANSACTION_ENVIRONMENTBUFFER_TOO_

Seite 357 - The ACQUIRE_PROGRAM call

Table 1. TCB indicators in DFHUEPAR (continued). DescriptionSymbolicvalue2-bytecodeDescriptionUEPTRP RP The ONC/RPC mode TCBUEPTSZ SZ The FEPI mode TC

Seite 358

RESPONSE and REASON values for SET_TRANSACTION:RESPONSE REASONOK NoneEXCEPTION NO_TRANSACTION_ENVIRONMENTUNKNOWN_TCLASSINVALID_TRANSACTION_TOKENDISAST

Seite 359 - The RELEASE_PROGRAM call

WRITE_JOURNAL DATADFHJCJCX [CALL,][CLEAR,][IN,FUNCTION(WRITE_JOURNAL_DATA),FROM(block-descriptor),JOURNALNAME(name8 | string | 'string' ) |J

Seite 360 - The DELETE_PROGRAM call

RESPONSE and REASON values for WRITE_JOURNAL_DATA:RESPONSE REASONOK NoneEXCEPTION IO_ERRORJOURNAL_NOT_FOUNDJOURNAL_NOT_OPENLENGTH_ERRORSTATUS_ERRORDIS

Seite 361 - The SET_PARAMETERS call

Part 2. Customizing with initialization and shutdown programs© Copyright IBM Corp. 1977, 1999 391

Seite 362 - The MONITOR call

392 CICS TS for OS/390: CICS Customization Guide

Seite 363 - CICS Resource Definition Guide

Chapter 4. Writing initialization and shutdown programsYou can write programs to run during the initialization and shutdown phases ofCICS processing.

Seite 364

system initialization parameter. The autoinstall user program is not invoked toallow the definitions to be modified. The programs are defined with the fo

Seite 365

First phase PLT programsPrograms that are to execute during the first quiesce stage of CICS shutdown arespecified in the first half of the PLT (before th

Seite 366 - Program management functions

v On an immediate shutdown, CICS does not allow running tasks to finish andbackout is not performed until emergency restart. This can cause anunaccepta

Seite 367 - The INQUIRE_PROGRAM call

However, if a PLT-definedshutdownprogram itself passes control to anotherprogram (via a link or transfer-control command), the program thus invokedexec

Seite 368 - Intercommunication Guide

as if the exit program had not been invoked, and it is a valid option at most globaluser exit points. The exceptions are shown in the list of return c

Seite 369

PLT programs—general398CICS TS for OS/390: CICS Customization Guide

Seite 370

Part 3. Customizing with user-replaceable programs© Copyright IBM Corp. 1977, 1999 399

Seite 371

400 CICS TS for OS/390: CICS Customization Guide

Seite 372

Chapter 5. General notes about user-replaceable programsThe comments in this chapter apply to all the user-replaceable programs describedin Part 3 of

Seite 373

Assembling and link-editing user-replaceable programsThe source for the CICS-supplied user-replaceable programs is installed in theCICSTS13.CICS.SDFHS

Seite 374

Notes:1 This job stream uses the CICS-supplied procedure DFHASMVS to assembleand link-edit user-replaceable programs. The DFHASMVS procedure refers

Seite 375 - The SET_PROGRAM call

Link-edit statements for DFHPEP.ORDER DFHEAI this CSECT is in SDFHLOAD(DFHEAI)ORDER DFHPEP this CSECT is in USERTEXT(DFHPEP)ORDER DFHEAI0 this CSECT i

Seite 376

User-replaceable programs and the storage protection facilityWhen you are running CICS with the storage protection facility, there are two pointsyou n

Seite 377

program, the program thus invoked executes according to the execution key(EXECKEY) defined in its program resource definition.ImportantYou are strongly

Seite 378 - The START_BROWSE_PROGRAM call

Chapter 6. Writing a program error programConsiderations common to all user-replaceable programsNote that the comments contained in “Chapter 5. Genera

Seite 379 - The GET_NEXT_PROGRAM call

program (via a link or transfer-control command), the program thus invoked isexecuted according to the execution key (EXECKEY) defined in its programre

Seite 380

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 ‘ASR

Seite 381 - The END_BROWSE_PROGRAM call

DFHEISTG DSECT ,** Insert your own storage definitions here*DFHPCOM TYPE=DSECT************************************************************************

Seite 382 - The SET_AUTOINSTALL call

The sample programs and copy booksTwo source-level versions of the default program are provided: DFHPEP, coded inassembler language, and DFHPEPD, code

Seite 383

Chapter 7. Writing a transaction restart programThe transaction restart user-replaceable program (DFHREST) enables you toparticipate in the decision a

Seite 384 - The INQ_APPLICATION_DATA call

All the following conditions must be true for CICS to invoke the transaction restartprogram:v A transaction must be terminating abnormally.v The trans

Seite 385

XMRS_WRITEIndicates, in a 1-byte field, whether the transaction has issued any terminalwrite requests.The equated values for this parameter are:XMRS_WR

Seite 386

The CICS-supplied transaction restart programThe CICS-supplied default transaction restart program requests that the transactionbe restarted if:1. The

Seite 387 - The INQUIRE_SYSTEM call

Chapter 8. Writing a terminal error programConsiderations common to all user-replaceable programsNote that the comments contained in “Chapter 5. Gener

Seite 388

When an abnormal condition occursWhen an abnormal condition associated with a particular terminal or line occurs, theterminal control program puts the

Seite 389

DFHTEP module and tables by means of the DFHTEPM and DFHTEPT macros,respectively. You can select the appropriate options in this sample program, andyo

Seite 390

recursive command (such as a TS command at exit point XTSEREQ). The exitsmost likely to be affected provide a recursion count parameter, UEPRECUR, tha

Seite 391 - The SET_SYSTEM call

the operating environment by selecting the appropriate generation options andvariables. Because each error condition is processed by a separate routin

Seite 392

You should assign permanent TEBs to terminals that are critical to the network. Forthe remainder of the network, you can generate a pool of reusable T

Seite 393 - The GETMAIN call

1. Entry and initialization2. Terminal identification and error code lookup3. Error processor selection4. Error processing execution5. General exit6. C

Seite 394

processor, are to be performed. The common error bucket is processed by thespecific error processor. However, the thresholds of the common error bucket

Seite 395

TEPPUTTDUsed to output character or hexadecimal data to a user-defined transient datadestination.TEPTMCHKUsed by TEPINCR to determine whether the time

Seite 396 - The INQUIRE_ACCESS call

Sample terminal error program messagesThe messages logged to the transient data destination CSMT (or, optionally, to thedestination specified in the OP

Seite 397

six types, each identified by a unique message prefix. You can control the selectionof each type of message by using the appropriate parameters specified

Seite 398 - INQUIRE_ELEMENT_LENGTH:

This message contains the symbolic terminal ID of the device associated withthe error. This message can be suppressed by using the NOTID option.DFHTEP

Seite 399 - The INQUIRE_TASK_STORAGE call

to generate a sample error program and tables that include your user-writtenroutines. Some of the parameters specified in the DFHTEPM and DFHTEPTmacros

Seite 400 - The SWITCH_SUBSPACE call

This macro indicates the end of user storage definitions. Its use is mandatory ifDFHTEPM TYPE=USTOR has been coded. If you use DFHTEPM TYPE=USTOR todefi

Seite 401 - The TRACE_PUT call

The following rules apply to return codes if a second user exit program sets adifferent return code value from that selected by the previous program:–

Seite 402 - The INQUIRE_CONTEXT call

NOEXITSNo branches are taken to user routines.TIME|NOTIMEspecifies whether threshold tests are to be controlled over prescribed timeintervals. An examp

Seite 403 - The INQUIRE_DTRTRAN call

TID|NOTIDspecifies whether the symbolic terminal ID of the terminal associated withan error is to be recorded on the transient data destination.TIDThe

Seite 404 - The INQUIRE_MXT call

The macro required for a user “ENTRY” routine is:This macro must be immediately followed by user “ENTRY” routine code, startingwith the label “TEPENTR

Seite 405

to be logged to the TEPQ transient data destination. The CICS DSECTs are notprinted on the sample DFHTEP assembler-language listing. There are two err

Seite 406 - The INQUIRE_TCLASS call

DFHTEPT–generating the sample DFHTEP tablesThe following macros are required to generate the terminal error program tables:v DFHTEPT TYPE=INITIAL—to e

Seite 407 - The INQUIRE_TRANDEF call

NOTIMETime threshold space is not reserved.DFHTEPT TYPE=PERMTID–assigning permanent terminal errorblocksThe DFHTEPT TYPE=PERMTID macro to define perman

Seite 408

CODE={errcode|BUCKET}identifies the error code referred to by the TYPE=PERMCODE|ERRCODEparameter. These codes are listed in Figure 22 on page 443. CODE

Seite 409

numberThe interval in units of one hundredth of a second. Parentheses are notrequired if this method is used. The maximum number must be less than8 64

Seite 410

DFHTEPT TYPE=BUCKET–using the error bucket for specificerrorsThe DFHTEPT TYPE=BUCKET macro is used to ensure that specific errorconditions are always ac

Seite 411

This example generates 10 terminal error blocks, one of which is reserved forthe terminal whose symbolic ID is TM02, and the other nine are reusable.

Seite 412

Global work area (GWA) sample exit programsThis set of sample programs shows you how to:v Enable a global user exit program and allocate a global work

Seite 413

Table 21. Supplied source files and macros (continued)Name Type Description LibraryDFHTEPCA Macro Assembler-languagecommunication areaCICSTS13.CICS.SDF

Seite 414

You generate the communication area DSECT by coding DFHTEPCATYPE=DSECT in your program. The layout of the communication area is shown inFigure 21.The

Seite 415 - The INQUIRE_TRANSACTION call

SIGNOFF (X'02')Call sign-off program.On entry to DFHTEP, the above flags represent the default actions set byDFHTACP. The write-abend bit (co

Seite 416

and DFHTACP writes the ‘DFHTC2522 INTERCEPT REQUIRED’ message toCSMT; if the task is not marked nonpurgeable, it is abended with code ‘AEXY’ or,rarely

Seite 417

L TCTTEAR,TCTLEPTE POINT TO ERROR TCTTEUSING DFHTCTTE,TCTTEARDROP TCTLEARL TCTLEAR,TCTTELEA POINT TO TCTLEUSING DFHTCTLE,TCTLEARAfter you have carried

Seite 418

TERMINAL ABNORMAL CONDITION LINE ENTRYDec Hex4 BYTES00TCTLEPSASTORAGE ACCOUNTING AREA44RESERVED88TCTLEPFL TCTLEPF2NOT USEDERROR FLAGS SPECIAL IND12 CT

Seite 419 - The SET_TRANSACTION call

DisplacementDec Hex Code Bytes Label Meaning0 0 4 TCTLEPSA Storage accountingRESERVED8 8 1 TCTLEPFL Error flags81 Message too long84 TCT search error8

Seite 420 - The WRITE_JOURNAL_DATA call

Example of a user-written terminal error programThe “DFHTEP recursive retry routine” on page 446 is an example of the logic stepsnecessary to design a

Seite 421

DFHTEP recursive retry routine*ASM XOPTS(NOPROLOG NOEPILOG SP)************************************************************************* ** DFHTEP RECU

Seite 422

EXEC CICS COLLECT STATISTICS TERMINAL(TEPCATID) SET(STATBAR)* Get statistics for this terminal* using TERMID passed in Commarea*MVC PCISAVE,A06TENI Sa

Seite 423

Most of the above information is obtained using EXEC CICS API commandssuch as:– INQUIRE SYSTEM– ASSIGN– ADDRESS– ASKTIME– FORMATTIME.v Uses the START

Seite 424

448 CICS TS for OS/390: CICS Customization Guide

Seite 425 - First phase PLT programs

Chapter 9. Writing a node error programConsiderations common to all user-replaceable programsNote that the comments contained in “Chapter 5. General n

Seite 426 - Shutdown programs

Background to CICS-VTAM error handlingIn general, errors detected by CICS-VTAM terminal control are queued for handlingby a special task, the CICS nod

Seite 427

v There could be application-related activity to be performed when a node erroroccurs. For example, if a message fails to be delivered to a terminal,

Seite 428 - Storage keys for PLT programs

v Status changes (for example, of TCTTE)v Clean-up work (cancel any associated transaction, end the VTAM session).The action flags can be set or reset

Seite 429 - PLT programs—general

The node error table must be defined as a RESIDENT program. This makes it easyfor the NEP to find it (using a CICS LOAD request), and ensures that any c

Seite 430

The initial code first tests the internal error code passed from DFHZNAC to see if itbelongs to a group that the NEP needs to handle. (The groups are i

Seite 431

The code for non-SNA 3270s can be generated by codingDFHSNEP TYPE=DEF3270where you would otherwise code a DFHSNEP TYPE=ERRPROC macro plus logicof your

Seite 432

The DFHZNEPI macros (see “DFHZNEPI macros” on page 478) generate aDFHZNEP module that is purely a routing module. This inspects the NEPCLASS ineffect

Seite 433 - Operation

When an abnormal condition occursThe following CICS components are involved when an abnormal condition isdetected from a logical unit:v The terminal c

Seite 434 - CICS System Definition Guide

DFH$PCPI is designed to be run as a PLT program. If you write a similar program,you should define it in the second part of the PLTPI list (after thePRO

Seite 435

When control is returned from DFHZNEP, DFHZNAC performs the actions specifiedin field TWAOPTL (except when disconnecting logical units, as noted above),

Seite 436

************************************************************************ Header **** These fields are READ ONLY **************************************

Seite 437

************************************************************************ VTAM information - Any VTAM sense and RPL codes **** These fields are READ ON

Seite 438

The next sections describe fields in the parameter list that can be reset withinDFHZNEP. See also “Coding for the 3270 ‘unavailable printer’ condition”

Seite 439 - Restart Guide

aids. The first five flags cause DFHZNAC to write the desired information to theCSNE log if the appropriate bit is set. Setting the sixth flag (TWAODNTA)

Seite 440

TWAOGMM (X'08')“good morning” message to be sentTWAOPBP (X'04')Purge any BMS pages for this sessionTWAOASM (X'02')SIMLOG

Seite 441

TWAOOS indicates that no further processing is to be done for this node. Thenode is logically out of service.For an LU6.1 intersystem communication se

Seite 442

This notification results in an informative message being issued, and causesDFHZNAC to invoke your NEP, whether the CLSDST request has failed orsucceed

Seite 443

v A general environment within which your error processing programs can beaddedv The default node error program in a system that has several node erro

Seite 444

Routing mechanismThe routing mechanism invokes the appropriate error processor depending on theerror code provided by the node abnormal condition prog

Seite 445

ContentsNotices ...xviiProgramming interface information ...xviiiTrademarks...xixPreface

Seite 446

DFH$FCBVA sample exit program designed to be invoked at the XFCBOVER exit; itallows you to decide whether to allow an update to be backed out, followi

Seite 447

Note: If you write your own node error program, you must generate a NET, even ifit contains no entries because your error processors do not use it.Opt

Seite 448 - Terminal error program

with an IC PUT command. Otherwise the default actions are taken. (For moredetails, see the section “Coding for the 3270 ‘unavailable printer’ conditio

Seite 449 - The communication area

DFHSNEP TYPE=USTOR and USTOREND—defining user storageThe DFHSNEP TYPE=USTOR macro has the following format:This macro indicates the start of user stora

Seite 450 - TEP error table

TYPE=DEF3270specifies that the CICS-supplied error processors for 3270 logical units are tobe included in the node error program. This macro causes the

Seite 451 - TEP default table

GROUP=error-group-indexspecifies an error group index for the error processor. This index is used toname the error processor, locate its address from t

Seite 452 - Error processing execution

4. Registers 4 through 9 can be saved by common subroutines in an areareserved in EXEC interface storage at label NEPCSRS. They must be restoredbefore

Seite 453 - Common subroutines

TIME=(7,MIN)|(interval,units)specifies the time interval that is to be stored in the NET header for use by thecommon subroutines to maintain error coun

Seite 454

DFHNEPC DSECTDS F Load instructionDS F Branch instructionCSVTNEP DS A Node error program base addressCSVTESBL DS A NEPESBL - ESB locate routineCSVTNEB

Seite 455

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

Seite 456

Before linking to the node error program, DFHZNAC inserts the primary andsecondary printer netnames and terminal IDs into the communication area,indic

Seite 457

The terminal-not-known sample exit programYou can use this sample global user exit program to handle terminal-not-knownconditions arising from START a

Seite 458 - DFHTEPM TYPE=USTOREND

If used in this way, the initiated transaction can write an appropriate signonmessage when the session has been acquired. Note, however, that ifLOGONM

Seite 459

DFHZNEPI TYPE=INITIAL—specifying the default routineThe DFHZNEPI TYPE=INITIAL macro specifies the name of the defaulttransaction-class routine to be us

Seite 460

Handling shutdown hung terminals in the node error programError Code: X'6F'Symbolic Name: TCZSDASMessage Number: DFHZC2351For error code X&a

Seite 461

One of the steps in the conversation-restart process is to link to the node errorprogram with error code X'3F'. If you want to be able to ch

Seite 462 - DFHTEPM macro examples

notification that service has been restored. To achieve this, you could codeRECOVNOTIFY(MESSAGE) in the TYPETERM definition, and then use the nodeerror

Seite 463

specific TOR within the CICS generic resource group, you must specify LUNAMEas the member name—that is, the CICS APPLID, as in the first example.)Note t

Seite 464 - [,OPTIONS={TIME

484 CICS TS for OS/390: CICS Customization Guide

Seite 465

Chapter 10. Writing a program to control autoinstall ofterminalsConsiderations common to all user-replaceable programsNote that the comments contained

Seite 466

For an overview of autoinstall, see theCICS Resource Definition Guide. You shouldalso read the sections in the same manual that describe the CEDA comma

Seite 467

Using model terminal support (MTS)CICS Transaction Server for OS/390 supports the model terminal support (MTS)function of VTAM 3.3 and above.Using MTS

Seite 468

Table 2. Alphabetical list of global user exit points (continued)Exit name Module ordomainWhere or when invoked PageXDSAWT DispatcherdomainAfter an op

Seite 469

described in “The communications area at INSTALL for shipped terminals” onpage 526 . The parameter list passed at INSTALL of client virtual terminals

Seite 470 - CICSTS13.CICS.SDFHMAC

For example, if a 3270 printer attempts to autoinstall, the subset of matchingmodels includes all the types in VTAM category 2 that you have defined as

Seite 471

How CICS builds the list of autoinstall modelsIf CICS finds an MTS model name (and the model is defined to CICS and iscompatible with the VTAM informati

Seite 472

VTAM characteristics of the device attempting to log on. The number in theright-hand column of the figure indicates the selection of the subset from th

Seite 473 - 8 in real TCTLE)

before returning to CICS. If you need information about the formats and acceptablecharacter ranges for any of the return values, refer to theCICS Reso

Seite 474 - USING DFHTCTLE,TCTLEAR

bisynchronous devices, which do not support QUERY, one approach is to make thedefinition as straightforward as possible, with no special features.If yo

Seite 475

Using a table has two disadvantages, each of which loses you some of thebenefits of autoinstall: it takes up storage and it must be maintained. You cou

Seite 476

A suggested course of action is as follows:1. Determine whether a model such as ‘mmmmmmmm’ is suitable. If there areseveral models that have identical

Seite 477

1. Standard Header. Byte 1 indicates the request type. For deletion of localterminals (including APPC single-session devices installed via CINIT reque

Seite 478

parameter list in your test program, upon which operations can be performed.Running your program on a terminal before you use it properly means that y

Seite 479

Table 2. Alphabetical list of global user exit points (continued)Exit name Module ordomainWhere or when invoked PageXFCBFAIL File controlrecovery cont

Seite 480

Table 25. Autoinstall programs and copy books (continued)Language Member name Alias LibraryCopy books:AssemblerCOBOLPL/IC/370DFHTCUDSDFHTCUDODFHTCUDPD

Seite 481 - CICS Intercommunication

Customizing the sample programHere are three pieces of code that customize the sample program.Assembler languageFigure 31, in assembler language, limi

Seite 482

COBOLFigure 32 on page 501, in COBOL, redefines the NETNAME, so that the last fourcharacters are used to select a more suitable model than that selecte

Seite 483 - An overview of writing a NEP

PL/IFigure 33 on page 502, in PL/I, extracts information from the VTAM CINIT RU,which carries the BIND image. Part of this information is the screen p

Seite 484 - The sample NEP

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

Seite 485 - Coding the sample NEP

/* 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

Seite 486

504 CICS TS for OS/390: CICS Customization Guide

Seite 487 - Multiple NEPs

Chapter 11. Writing a program to control autoinstall ofconsolesConsiderations common to all user-replaceable programsNote that the comments contained

Seite 488

Using an autoinstall control programIf you choose to have your autoinstall control program invoked for consoles, followthese steps:v Use the default a

Seite 489

The communication area at INSTALL for consolesThe layout of the communication area is shown in Figure 34.The parameter list contains the following inf

Seite 490

Table 2. Alphabetical list of global user exit points (continued)Exit name Module ordomainWhere or when invoked PageXISCONA Intersystemcommunicationpr

Seite 491

How CICS builds the list of autoinstall modelsCICS builds the list of autoinstall models by selecting from its complete list ofterminal models those m

Seite 492

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 byt

Seite 493

CICS action on return from the control programWhen CICS receives control back from the autoinstall control program, it examinesthe return code field:v

Seite 494

The sample programs and copy booksIBM supplies a default autoinstall control program, written in each of the supportedprogramming languages, all of wh

Seite 495

512 CICS TS for OS/390: CICS Customization Guide

Seite 496

Chapter 12. Writing a program to control autoinstall of APPCconnectionsConsiderations common to all user-replaceable programsNote that the comments co

Seite 497 - The sample node error program

Local APPC parallel-session and single-session connections initiatedby BINDIf autoinstall is enabled, and an incoming APPC BIND request is received fo

Seite 498 - Entry section

DFHZATDX, described in “Chapter 10. Writing a program to control autoinstall ofterminals” on page 485. Thus, you can use a customized version of DFHZA

Seite 499 - Node error table

described in “The communications area at INSTALL for shipped terminals” onpage 526 . The parameter list passed at INSTALL of Client virtual terminals

Seite 500 - Optional common subroutines

INSTALL_APPC_EXIT_FUNCTIONA 1-byte field that defines the install request type. The equated valuesare:INSTALL_APPC_PS_CINITX'F2' represents an

Seite 501

Table 2. Alphabetical list of global user exit points (continued)Exit name Module ordomainWhere or when invoked PageXRMIIN Resourcemanager interfacepr

Seite 502

X'0001'Synclevel 1X'0002'Synclevel 2.INSTALL_APPC_TEMPLATE_NETNAME_PTRA fullword pointer to an 8-byte input/output area (TEMPLATE_

Seite 503

partner. This field is set whenever the local CICS is registered as a genericresource. At all other times it has a value of 0.INSTALL_APPC_GR_TYPE_PTRA

Seite 504 - Table 22. Register assignment

When autoinstalled APPC connections are deletedAny autoinstalled APPC connection entry is deleted if the connection is discarded(using the CEMT DISCAR

Seite 505

The actions taken by the supplied version of the program are to:1. Examine the request type passed in the INSTALL_APPC_EXIT_FUNCTIONfield:X'F0&apo

Seite 506

DFHZATDY is defined as follows in DFHAI62:DEFINE PROGRAM(DFHZATDY)DESCRIPTION(Assembler definition for sessions autoinstall control program)GROUP(DFHAI

Seite 507

Chapter 13. Writing a program to control autoinstall ofshipped terminalsConsiderations common to all user-replaceable programsNote that the comments c

Seite 508 - Entry and addressability

CICS-generated aliasesThe autoinstall control program is invoked once for each shipped terminal orconnection definition to be installed.If CICS detects

Seite 509 - Coding for session failures

v Whether your application programs record TERMIDs for later use. For example,an application might issue an EXEC CICS START TERMID command, with atime

Seite 510 - DFHZNEPI macros

INSTALL of local terminals and APPC single-session connections initiated by CINITis described in “The communication area at INSTALL for terminals” on

Seite 511

INSTALL_SHIPPED_CLASHA 1-character input field that indicates whether the TERMID of the shippeddefinition is already in use in the AOR.Y The name by whi

Seite 512 - CICS/ESA 3.3 XRF

Table 2. Alphabetical list of global user exit points (continued)Exit name Module ordomainWhere or when invoked PageXXDFB DBCTL trackingprogramIn the

Seite 513

INSTALL_SHIPPED_CORRID_PTRA fullword pointer to an 8-character input field containing the shipped definition’scorrelation identifier. A correlation ident

Seite 514 - Changing the recovery message

DELETE_SHIPPED_EXIT_FUNCTIONA 1-byte field that indicates the type of resource being deleted. The equatedvalues are:DELETE_SHIPPED_TERM (X'FA&apos

Seite 515

530 CICS TS for OS/390: CICS Customization Guide

Seite 516

Chapter 14. Writing a program to control autoinstall of Clientvirtual terminalsConsiderations common to all user-replaceable programsNote that the com

Seite 517 - Preliminary considerations

Terminal identifiersThe terminal identifier (TERMID) passed to the CICS autoinstall function at install ofa virtual terminal is determined using the fol

Seite 518

Why override TERMIDs?Why might you want to create an alias for the supplied TERMID (or, in the case ofa clash of names, to override the alias generate

Seite 519 - Coding entries for MTS

Overriding Client-specified TERMIDsIf TERMIDs are always nominated, in a consistent way, by your Client EPIprograms, the problem of data mismatch due t

Seite 520 - SNA Network Product Formats

INSTALL_SHIPPED_STANDARDA fullword input field containing the following information:INSTALL_SHIPPED_EXIT_FUNCTIONA 1-byte field that indicates the type

Seite 521

long, it must be padded with trailing blanks. For a list of the charactersyou can use in terminal names, see theCICS Resource DefinitionGuide.On invoca

Seite 522

At DELETE, all fields in the communications area are input only. Fields not listedbelow are as described for INSTALL.DELETE_SHIPPED_EXIT_FUNCTIONA 1-by

Seite 523 - Returning information to CICS

Activity keypoint program exit XAKUSERThe XAKUSER exit is invoked during the activity keypointing process. You can usethis exit to record, on the syst

Seite 524 - CICS Resource Definition

2. Permits the remote definition to be installed by leaving the return code field setto its default value of RETURN_OK, and returning.When DFHZATDX or D

Seite 525 - Setting the TERMINAL name

Chapter 15. Writing a program to control autoinstall ofprogramsConsiderations common to all user-replaceable programsNote that the comments contained

Seite 526 - MISMATCH BITS: xxxxxxxx

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

Seite 527

Autoinstall processing of mapsetsTable 26 shows the differences in mapset processing between CICS regions withprogram autoinstall active and inactive.

Seite 528 - Testing and debugging

Faster startup timesWarm and emergency startsIf you are using program autoinstallwith cataloging, restart times are similar tothose of restarting a CI

Seite 529

The autoinstall control program at INSTALLOn invocation, CICS passes a parameter list to the autoinstall control program bymeans of a communication ar

Seite 530 - Definition Guide

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 the

Seite 531 - Assembler language

PGAC_LPA_NOCICS is to load a private copy from its own DFHRPL libraryconcatenation.PGAC_EXECUTION_SETallows you to specify, in a 1-byte field, whether

Seite 532

named explicitly on the SYSID option of the EXEC CICS LINKcommand, the routing program can route the request to the region onwhich the program is to e

Seite 533

v You can discard definitions after they have been installed; they are reinstalledwhen next referenced.v You must ensure that the parameters you return

Seite 534

WRITE JOURNALNAME.ImportantOnly the listed EXEC CICS commands are allowed in the XAKUSER exit. Theexit should link only to other programs with the sam

Seite 535

v Autoinstall control program definition for DFHPGAOX. This defines theCICS-supplied COBOL version, and its status is set to DISABLED:GROUP(DFHPGAIP) PR

Seite 536

Chapter 16. Writing a dynamic routing programConsiderations common to all user-replaceable programsNote that the comments contained in “Chapter 5. Gen

Seite 537 - Leaving it all to CICS

4. “Naming your dynamic routing program” on page 5735. “Testing your dynamic routing program” on page 5736. “Dynamic transaction routing sample progra

Seite 538

v If the routed transaction abends, if the routing program has requested to bereinvoked at termination.Figure 43 shows the points at which the dynamic

Seite 539

Sometimes, the dynamic routing program may be invoked for transactions that arerouted statically. This happens if a transaction defined as DYNAMIC(YES)

Seite 540

which transactions are to be routed. For information about defining remotetransactions for dynamic transaction routing, see theCICS IntercommunicationG

Seite 541

If you want to terminate the transaction without issuing a message or abend, set areturn code of X'4'.Warning: Setting a return code of X&ap

Seite 542

Invoking the dynamic routing program on abendIf you have set DYROPTER to 'Y', and the routed transaction abends, the dynamicrouting program

Seite 543

may also need to change the input communications area passed to the routedapplication. Field DYRACMAA of the routing program’s communications areaenab

Seite 544

v If you want to keep information about how transactions are routed, it must bedone in the user routing program, perhaps by writing the information to

Seite 545

Basic Mapping Support exits XBMIN and XBMOUTThe XBMIN exit allows you to intercept a RECEIVE MAP request after BMS hassuccessfully processed the reque

Seite 546 - Requirements for autoinstall

– The CICS Gateway for Java™v Calls from external CICS interface (EXCI) client programsv External Call Interface (ECI) calls from any of the CICS Clie

Seite 547 - Recovery and restart

v If an abend is detected after the link request has been shipped to the specifiedremote system, if reinvocation was requested by the routing program.F

Seite 548

When it is invoked for routing9(not for notification of a statically-routed request),your routing program can, by overwriting the DYRLPROG field, specif

Seite 549

If an error occurs in route selectionIf an error occurs in route selection—for example, if the SYSID returned by thedynamic routing program is unavail

Seite 550

this; it is a pointer to the application’s communications area (or null, if nocommunications area was specified on the LINK command).Monitoring the app

Seite 551

DS OCL4 Standard headerDYRFUNC DS CL1 Function codeDYRCOMP DS CL2 Component codeDYRFILL1 DS CL1 ReservedDYRERROR DS CL1 Route selection error codeDYRO

Seite 552

ImportantThe same communications area is passed to both the dynamic routingprogram and the distributed routing program. Some parameters aremeaningful

Seite 553 - Resource definitions

Your routing program can alter the data in the application’s communicationsarea.DYRACMALis the length of the routed-to application’s communications ar

Seite 554

There is no default value.DYRCOMPis the CICS component code. For calls to the dynamic routing program, it isalways set to 'RT'.DYRCOUNTis a

Seite 555

For an explanation of the DTRTRAN system initialization parameter, see theCICS System Definition Guide.DYRERRORhas a value only when DYRFUNC is set to

Seite 556 - CICS-generated aliases

Exit XBMIN ...28Exit XBMOUT ...28The field element table structure ...29Programming the XBMIN

Seite 557

Sample program, DFH$BMXTCICS supplies a sample program, DFH$BMXT, that shows how mapped inputand output data can be modified with reference to the info

Seite 558

2 Invoked because a previously routed transaction or program-linkrequest has terminated successfully.3 Invoked for notification of the destination of a

Seite 559

You can change DYRLPROG on any call to the dynamic routing program, but itis effective only when DYRFUNC is ‘0’ or ‘1’.DYRNETNMis the netname of the C

Seite 560

Transaction routingThe possible values are:0 Continue processing the transaction.4 Terminate the transaction without message or abend.8 Terminate the

Seite 561

DYRSYSIDis the system identifier (sysid) of a CICS region. The exact meaning of thisparameter depends on the values of DYRFUNC and DYRTYPE:v When DYRFU

Seite 562

v When DYRFUNC is set to ‘4’ (abend), DYRSYSID contains the name of theCICS region on which the transaction abended.DYRTRANcontains the remote transac

Seite 563 - Autoinstall models

Naming your dynamic routing programThe supplied, user-replaceable dynamic routing program is named DFHDYP. If youwrite your own version, you can name

Seite 564 - Terminal identifiers

Dynamic transaction routing sample programsThe CICS-supplied sample dynamic routing program is named DFHDYP. Thecorresponding copy book that defines th

Seite 565 - Why override TERMIDs?

Chapter 17. Writing a distributed routing programConsiderations common to all user-replaceable programsNote that the comments contained in “Chapter 5.

Seite 566

6. “Distributed transaction routing sample programs” on page 593.Differences from the dynamic routing interfaceThis section discusses some significant

Seite 567

v Select a target region by supplying a netname (any value set in theDYRNETNM field of the communications area is ignored). The target must bespecified

Seite 568

UERCPURGTask purged during XPI call.XPI callsAll can be used.The field element table structureThefield element tablecontains one or more elements which

Seite 569

When the distributed routing program is invokedFor BTS processes and activities started by RUN ASYNCHRONOUS commands,CICS invokes the distributed rout

Seite 570

Changing the target CICS regionThe DYRSYSID field of the communications area passed to the distributed routingprogram initially contains the system ide

Seite 571

2. You can tell CICS to treat the request as “unserviceable”, by issuing a non-zeroreturn code in DYRRETC.Sometimes, perhaps because of a transaction

Seite 572 - Autoinstall model definitions

Note that, because the routing program is distributed, all the CICS regions in thetransaction routing set must have access to the data set.v The distr

Seite 573 - Saving in virtual storage

When the distributed routing program is invokedFor non-terminal-related START requests that are eligible for enhanced routing,CICS invokes the distrib

Seite 574 - Faster startup times

Changing the target CICS regionThe DYRSYSID field of the communications area passed to the distributed routingprogram initially contains the system ide

Seite 575

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

Seite 576

v The distributed routing program can be RMODE ANY but must be AMODE 31.Parameters passed to the distributed routing programFigure 48 shows the commun

Seite 577

ImportantThe same communications area is passed to both the distributed routingprogram and the dynamic routing program. Some parameters are meaningful

Seite 578

This field applies only to the routing of BTS processes and activities,notto therouting of non-terminal-related START requests.DYRACTNis the name of th

Seite 579 - Resource definition

control, the TIOA is disposed of in accordance with the disposition of theTERMINAL (the default), SET, or PAGING option specified on the SEND MAPreques

Seite 580

2. CICS rejected the allocate request automatically because theQUEUELIMIT value specified on the CONNECTION resourcedefinition has been reached.4 A queu

Seite 581

For detailed information about which non-terminal-related STARTrequests are eligible for dynamic routing, see theCICSIntercommunication Guide.4 Invoke

Seite 582 - Dynamic transactions

This field applies only to the routing of BTS processes and activities,notto therouting of non-terminal-related START requests. Its contents are signifi

Seite 583

DYRRTPRIindicates whether or not the dispatch priority of the transaction should bepassed to the application-owning region, if the connection between

Seite 584

v When DYRFUNC is set to ‘5’ (transaction initiation), DYRSYSID contains thename of the target region on which the routed request is to be executed.(T

Seite 585 - Changing the program name

DYRVERis the version number of the dynamic routing interface. For CICS TransactionServer for OS/390 Release 3, the number is “5”.Naming your distribut

Seite 586

If you want to route requests dynamically, you must customize DFHDSRP, orreplace it completely with your own routing program.sample distributed routin

Seite 587 - CICS Application Programming

Chapter 18. Writing a CICS–DBCTL interface status programConsiderations common to all user-replaceable programsNote that the comments contained in “Ch

Seite 588 - Monitoring the output TIOA

The parameter list contains the following information:DBUREQTRequest Type. The function code has one of the following values:DBUCONN (X'01')

Seite 589 - Unit of work considerations

The sample contains an example, as part of a comment, of how to enable and howto disable a transaction. To use the program, it is necessary for transa

Seite 590

The actual data length (in BMXACTLN) may be less than the length defined in themap (in BMXMAPLN). This occurs due to the compression of trailing nullsp

Seite 591

598 CICS TS for OS/390: CICS Customization Guide

Seite 592 - Changing the transaction ID

Chapter 19. Writing a 3270 bridge exit programConsiderations common to all user-replaceable programsNote that the comments contained in “Chapter 5. Ge

Seite 593

600 CICS TS for OS/390: CICS Customization Guide

Seite 594

Chapter 20. Writing a security exit program for IIOPConsiderations common to all user-replaceable programsNote that the comments contained in “Chapter

Seite 595

602 CICS TS for OS/390: CICS Customization Guide

Seite 596

Chapter 21. Writing a program to tailor JVM executionenvironment variablesConsiderations common to all user-replaceable programsNote that the comments

Seite 597

CICS_PROGRAMContains the name of the CICS program (1-8 characters) associated with theJava class to be run. No value is set in SDFHENV. This name is e

Seite 598 - ‘tranid’

MAXHEAPSIZESets the maximum heap size for the JVM, in bytes. A default value of 8000000bytes (8M) is set in SDFHENV. This is the recommended default f

Seite 599 - Reference

606 CICS TS for OS/390: CICS Customization Guide

Seite 600

Part 4. Customizing the XRF overseer program© Copyright IBM Corp. 1977, 1999 607

Seite 601

Bridge facility exitWhen enabled, XFAINTU (Facility Initialization and Tidy Up) is called:v Just after a new bridge facility has been built.v Just bef

Seite 602

A general note about user-written programsOn return from any user-written program, CICS must always receive control inprimary-space translation mode,

Seite 603

Chapter 22. The extended recovery facility overseer programThe information in this chapter is of interest only to users of the extended recoveryfacili

Seite 604

Snapto take a snap dump of the sample programEndto terminate the sample programOpento ask the overseer to try to open CICS availability manager (CAVM)

Seite 605 - System Programming Reference

which was in an intermediate state when the Display command wasprocessed. Reissuing the Display command causes UNKN to bereplaced by another status va

Seite 606

related regions to be taken over, because the new active region can continuecommunication with the other active regions. Takeover is therefore likely

Seite 607

Opening CAVM data sets dynamicallyWhen the overseer program is initialized, it is possible that some CAVM data setshave not yet been formatted by a CI

Seite 608

each active-alternate pair. You create this data set and initialize it with informationabout active-alternate pairs before you use the overseer for th

Seite 609

DFHWOSM FUNC=READRetrieve status information for a named generic applid from the CAVM datasetsDFHWOSM FUNC=TERMClose communication with DFHWOS.The mac

Seite 610

Register 15Contains one of the following completion codes:0 Communication successfully initialized between the overseerprogram and DFHWOS4 Incorrect T

Seite 611 - Services

v An 8-byte JES job IDv A 256-byte SSOB return area.The TOKEN value is the ENTRY token.OutputRegister 15Contains the following completion codes:0 JES

Seite 612 - CICS System Programming

Data tables management exits XDTRD, XDTAD, and XDTLCThese exits apply to both:v CICS shared data tablesv CICS coupling facility data tables.XDTRD and

Seite 613

NonzeroReturn code from JES.DFHWOSM FUNC=OPEN macroThe DFHWOSM FUNC=OPEN macro initializes access to the CAVM data sets for anamed generic applid.Inpu

Seite 614

the required MVS command is provided as input to the macro, and the OSCMDservice issues an SVC 34 specifying this command text. In addition, the OSCMD

Seite 615

Parameter list pointerGeneric ApplidAddress Generic ApplidDBLLIST AddressOUTPUT INPUT OUTPUTItem 1 address DBLID 1 Item 1 lengthItem 2 address DBLID 2

Seite 616

Notes:1. The data structures of the status information pointed to by items X'0024' andX'0124' are provided in DSECT DFHXRHDS of CI

Seite 617

Reading DBCTL status information from the CAVM data setsIf you are using DBCTL and have active and alternate DBCTL subsystems, statusinformation about

Seite 618

OutputRegister 15Contains the following completion codes:0 Communication terminated successfullyNonzeroRequest failed.Customizing the sample overseer

Seite 619

v To extend the function of the overseer program, you can incorporate the CEBTcommand, which is normally issued by the console operator to control the

Seite 620

To include this LOOP WARNING code, set the variable &LOOPWARN to ‘1’ andreassemble the sample.Assembling and link-editing the overseer programThe

Seite 621

626 CICS TS for OS/390: CICS Customization Guide

Seite 622

Part 5. CICS journaling, monitoring, and statistics© Copyright IBM Corp. 1977, 1999 627

Seite 623

This normally occurs when the loading process retrieves a record during thesequential copying of the source data set. However, it can also occur when

Seite 624

A general note about user-written programsThe following comment applies to all user-written programs mentioned in Part5 of this book:v Upon return fro

Seite 625

Chapter 23. CICS logging and journalingThe CICS log manager provides facilities for the creation, control, and retrieval ofjournals during real-time C

Seite 626

3. Tertiary storage—a form of archive storage, used as specified in yourhierarchical storage manager (HSM) policy. Optionally, older records can bemigr

Seite 627

Enabling, disabling, and reading journalsJournal records are written to a log stream either directly from a user applicationprogram, or from a CICS ma

Seite 628

Reading journal records offlineAccess to journaled data in log streams is provided through an MVS subsysteminterface (SSI), LOGR. Your existing user p

Seite 629

Server for OS/390 Release 1. Each journal record in these logs, if presented in thenewer format, contains more information than in the equivalent jour

Seite 630

Format of general log block headerThe log block header contains information of a general system-wide nature such asthe CICS applid writing the journal

Seite 631 - External Interfaces Guide

Format of general log journal recordThe journal record comprises a record header followed by caller data. The recordheader contains information that d

Seite 632

Start-of-run recordWhen CICS connects to a general log, it writes a start-of-run record to it as the firstrecord for this run of CICS. This record comp

Seite 633 - CICS Internet Guide

Caller data written by file controlThe file log and journal block (FLJB) describes the caller data that file control writesas part of its journal records

Seite 634

UEPDTCFT(X'10')The exit has been invoked by coupling facility datatable support.UEPDTUMT (X'08')This is a user-maintained table. O

Seite 635 - Environment variables

v The FLJB_COMMON_DATA section, andv The caller data image sections which consist of the FLJB_CD_KEY (the length ofwhich is given in FLJB_COMMON_DATA)

Seite 636

The format of the FLJB_COMMON_DATA section is shown in Figure 62 .11Fixed length82Record type Flag byteX'80' file control autojournal record

Seite 637

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

Seite 638

File-close record typesThere are two sections in the journal records written for file-close record types:v The FLJB_GENERAL_DATA sectionv The FLJB_CLOS

Seite 639

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

Seite 640 - IBM ESA/370 Principles

44421126244442FLJB TUR BITSFixed lengthFixed lengthFixed lengthFixed lengthLog stream name of forward recovery logFLJB TUR FWDRECOVLOG NAMEFLJB TUR PA

Seite 641 - The sample overseer program

Note: The format of caller data in journal records written by file control in RLSmode is identical to that in journal records written by file control in

Seite 642 - The display function

See theCICS Front End Programming Interface User’s Guidefor more informationabout FEPI journaling.Structure and content of COMPAT41-format journal rec

Seite 643 - The restart-in-place function

A graphical overview of the format of a general log, showing the format of acomplete block, is shown in Figure 71.Format of COMPAT41 journal control l

Seite 644 - Utilities Guide

The label prefix part of the journal control label header is 32 bytes long, and itsformat is shown in Figure 74.Record numberwithin blockJCRLRNLength o

Seite 645

Exit XDTADThe XDTAD user exit is invoked when a write request is issued to a data table.v For a user-maintained data table and coupling facility data

Seite 646 - The DFHWOSM macros

Format of journal recordEach CICS journal record comprises a system header, system prefix, user prefix,and journaled data. The format of a journal recor

Seite 647 - DFHWOSM FUNC=BUILD macro

The field JCRSTRID (the system-type ID) and the field JCRUTRID (the user-typeID) in the system header allow you to distinguish those journal records out

Seite 648 - DFHWOSM FUNC=JJC macro

command via the JTYPEID, PREFIX, and PFXLENG parameters. Its format isshown in Figure 78.Field JCSPUP is set in the system prefix area if a user prefix

Seite 649 - DFHWOSM FUNC={JJS

************************************************************************* FUNCTION IDENTIFIERS *******************************************************

Seite 650 - DFHWOSM FUNC=OSCMD macro

************************************************************************ TERMINAL CONTROL FUNCTION IDENTIFIERS ** *FIDTCML EQU X'F0' SYNCPOI

Seite 651 - DFHWOSM FUNC=READ macro

Identifying records for the start of tasks and UOWsYou can identify records written to mark the start of tasks by examining the value ofthe system pre

Seite 652 - DFHWOSM macros

The SMF block headerThis block describes the system creating the output. Its format is shown inFigure 82.Note: CICS sets only the subsystem-related bi

Seite 653

The CICS data sectionThis section contains a variable number of CICS journal records. Each recordcomprises a general log record header, the format of

Seite 654 - DFHWOSM FUNC=TERM macro

656 CICS TS for OS/390: CICS Customization Guide

Seite 655

Chapter 24. CICS monitoringThis chapter describes the monitoring facilities of CICS Transaction Server forOS/390, and tells you how to:v Control the t

Seite 656 - Loop or wait detection

UEPDTRLThe fullword length of the data record.UEPDTKAThe address of the data table key.UEPDTKLThe fullword length of the data table key.UEPDTDSLThe fu

Seite 657

You can choose which classes of monitoring data you want to be collected. How todo this is described in “Controlling CICS monitoring” on page 662.Perf

Seite 658

v To tell CICS that you want specific system-defined performance data not to berecorded during a particular CICS run. See “DFHMCT TYPE=RECORD”.Full deta

Seite 659

also has its own numeric identifier that is unique within the group identifier. Forexample, the transaction sequence number field in a performance record

Seite 660 - Principles of Operation

Example 3:Example 3 shows 32 bytes of user data being updated in the character stringreserved for that purpose. The updated data starts at offset 0, a

Seite 661 - Log stream storage

v Wait for temporary storage data set extensionv Wait for shared temporary storagev Wait for shared temporary storage poolv Wait for file stringv Wait

Seite 662 - Secondary storage

When CICS is running, you can control the monitoring facility dynamically. Just asat CICS initialization, you can switch monitoring on or off, and you

Seite 663

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

Seite 664

Notes:1. CICS sets only the subsystem-related bits of the operating system indicator flagbyte in the SMF header (SMFMNFLG). SMF sets the remainder of t

Seite 665

CICS data sectionThe CICS data section can be made up of a dictionary data section, a performancedata section, or an exception data section. You can i

Seite 666 - Fixed length

Whenever the monitoring of performance class data is switched on, whether atCICS initialization or while CICS is running, a dictionary data section is

Seite 667 - Reserved

Modifying user arguments ...95File control file state program exits XFCSREQ and XFCSREQC ...96Exit XFCSREQ ...97

Seite 668 - Format of caller data

UEPDTCMT (X'40')This is a CICS-maintained table. Only meaningful ifUEPDTSDT is on.UEPDTCFT(X'10')The exit has been invoked by coup

Seite 669 - Variable length

FIELD-NAME SIZE CONNECTOR OFFSET NICKNAMEDFHTASK C001 4 X'0001' X'0000' TRANDFHTERM C002 4 X'0002' X'0004' TER

Seite 670

FIELD-NAME SIZE CONNECTOR OFFSET NICKNAMEDFHSTOR A117 4 X'0033' X'01C4' SCCGETCTDFHSTOR A120 4 X'0034' X'01C8'

Seite 671

FIELD-NAME SIZE CONNECTOR OFFSET NICKNAMEDFHTASK A059 4 X'0066' X'02A0' ICPUINCTDFHTASK A066 4 X'0067' X'02A4'

Seite 672 - Base key Path key

Note: The “field types” in Figure 88 are:A CountC Byte-stringP Packed decimal numberS ClockT Time stamp.FIELD-NAME SIZE CONNECTOR OFFSET NICKNAMEDFHTAS

Seite 673 - File-close record types

Performance data sectionsEach performance data section is made up of a string of field connectors, followedby one or more performance data records. All

Seite 674 - Tie-up record types

How the string of field connectors is constructed:When CICS is initialized, aunique connector value is assigned to every dictionary entry. CICS then ex

Seite 675

Exception data sectionsThe format of an exception data record (including the SMF header and SMFproduct section) is shown in Figure 91. The exception d

Seite 676 - FEPI prefix data

For further information about exception class data, see theCICS PerformanceGuide, which lists all the system-defined data that can be produced by CICSm

Seite 677

676 CICS TS for OS/390: CICS Customization Guide

Seite 678

Chapter 25. CICS statisticsThis chapter is divided into the following sections:1. “Introduction to CICS statistics” describes the types of statistics

Seite 679

DBCTL interface control program exit XXDFAWhen invokedBy an active CICS when its connection to DBCTL fails. Your exit program isinvoked after the acti

Seite 680 - System prefix

orv The RECORDING option of the EXEC CICS SET STATISTICS command isset to ON.The TS data sharing server writes interval statistics if statistics recor

Seite 681

v EXEC CICS SET STATISTICS ON|OFF RECORDNOW.CICS writes requested statistics to SMF even if, on one of the following, youhave specified OFF:v The STATR

Seite 682 - Variable

If an autoinstall terminal logs on again before the expiry of the delayinterval, then the accumulation of statistics continues until the nextinterval.

Seite 683

System dumpsWhenever a system dump table entry is deleted, CICS collects thestatistics covering the period since the last interval.TCP/IP servicesWhen

Seite 684

ImportantStatistics counters are reset in various ways. Specific counters may be resetto:v 0v 1v A new peak valuev Not resetv None of the above.For inf

Seite 685

SMF header and SMF product sectionThe SMF header describes the system creating the output. The SMF productsection identifies the subsystem to which the

Seite 686 - The CICS product section

Notes:1. CICS sets only the subsystem-related bits of the operating system indicator flagbyte in the SMF header (SMFSTFLG). SMF sets the remainder of t

Seite 687 - The CICS data section

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

Seite 688

on page 682. For further guidance information about the fields within thestatistics data records, see theCICS Performance Guide.STIVERStakes the value

Seite 689 - Chapter 24. CICS monitoring

The coupling facility data table server statistics use no symbolic names, but relateto the STID values as follows:The named sequence number server sta

Seite 690

DBCTL tracking program exits XXDFB and XXDTOExit XXDFBWhen invokedBy the alternate CICS when it receives a message from the active CICSindicating that

Seite 691 - DFHMCT TYPE=RECORD

Processing the output from CICS statisticsThere are several utilities to help you process statistics output. You can use:The CICS-supplied DFHSTUP pro

Seite 692 - Examples of MCT coding

Part 6. Customizing CICS compatibility interfaces© Copyright IBM Corp. 1977, 1999 689

Seite 693 - Exception class data

A general note about user-written programsThe following comment applies to all user-written programs mentioned in Part6 of this book:v Upon return fro

Seite 694 - Controlling CICS monitoring

Chapter 26. Using TCAM with CICSThis chapter describes the use of the telecommunications access method (TCAM)with CICS Transaction Server for OS/390 R

Seite 695 - CICS Supplied Transactions

CICS with TCAM SNAThe CICS-TCAM interface has an enhanced data stream support that enables anappropriate TCAM message control program (MCP) to control

Seite 696

Transaction controlIn the transaction control method of protocol management, the transaction controlsthe protocol. The SNA session should be bound wit

Seite 697 - Facilities (SMF)

Batch processingWhen running a batch logical unit, a point to consider is how to get the transactionidentification to CICS on the “begin data set” cond

Seite 698 - CICS data section

each output queue from CICS. In CICS, there are corresponding terminal controltable line entries (TCTLEs) for each input queue, and for each output qu

Seite 699

The CICS terminal control table terminal entries (TCTTEs) define the terminalsassociated with a particular line entry (TCTLE). For each physical termin

Seite 700

For information about the DFHTCT macros, see theCICS Resource DefinitionGuide.Logic flowThe following is a generalized description of the sequence of ev

Seite 701

Exit XXDTOWhen invokedBy an alternate CICS when it performs takeover under the followingconditions:v The active and alternate CICS systems are in diff

Seite 702

OUTPUT STEPACTIONA You issue an EXEC CICS SEND request in your application program.B The TCP terminal scan recognizes the SEND request.C CICS checks w

Seite 703

Terminal error programThe CICS-TCAM interface implementation has resulted in the expansion of theCICS terminal error program (DFHTEP) error codes and

Seite 704 - Performance data sections

Table 32. DFHTEP error codes and conditions unique to TCAMError code Condition ActionX'87'(TCEMCUI) Unsolicited inputTerminal ‘receive only’

Seite 705

The possible values of TCTTETCM are:Value Message segmentX'00' NullX'40' Intermediate portion of messageX'F1' First port

Seite 706 - Exception data sections

locked until a TCTTE becomes available because the task has ended. The numberof TCTTEs in the pool influences the degree of multitasking.You should con

Seite 707 - CICS Performance

permanently locked.TCAM queuesBecause a queue is a sequential data set, the second message on the queuecannot be retrieved until the first message has

Seite 708

To allow processing of input to continue, DFHTEP may take either of the followingsteps:v If the input line is placed in service by DFHTEP, the CICS-TC

Seite 709 - Chapter 25. CICS statistics

The terminal services parameters that do not set bits in the communication controlbyte are SEND, WAIT TERMINAL, and SAVE. Bits in the communication co

Seite 710

Device-dependent dataDependent on the device: 3270, or other. See the following sections on therelevant devices.FMH Function management header.SNA onl

Seite 711

TCAM user exitsThere are three TCAM global user exit points:1. XTCATT, invoked before issuing a transaction manager ATTACH for atransaction identificat

Seite 712

Dispatcher domain exits XDSBWT and XDSAWTThe XDSBWT and XDSAWT exit points are located before and after the operatingsystem wait. CICS services cannot

Seite 713 - Resetting statistics counters

CICS-TCAM terminationCICS is terminated in the normal manner. No modifications to terminationprocedures are required to support the CICS-TCAM interface

Seite 714 - CICS statistics record format

CICS and TCAM: program interrelationshipFigure 104 illustrates the interrelationship between the TCAM message controlprogram (MCP) and the TCAM applic

Seite 715 - STSMFDS DFHSTSMF PREFIX=SMF

TCAM message control program (non-SNA)This section gives an example of a non-SNA TCAM message control program. ThisMCP shows the relationship between

Seite 716

S75A TERMINAL QBY=T,DCB=PG3270,RLN=1,TERM=327R,QUEUES=MO, *ADDR=E2E240402D,NTBLKSZ=1856POLLST1 INVLIST ORDER=(TRM1+02)POLLST2 INVLIST ORDER=(TRM2+02)P

Seite 717 - CICS statistics data section

712 CICS TS for OS/390: CICS Customization Guide

Seite 718

Chapter 27. The dynamic allocation sample programThis chapter suggests ways in which you can customize the dynamic allocationsample application progra

Seite 719

v Have read the relevant sections of theMVS/ESA SPL: Application DevelopmentGuideand have that manual available for reference while using the samplepr

Seite 720

Help featureThe program includes a limited “help” feature, driven by the program’s keywordtable.In response to “?”, the verb keywords are displayed. I

Seite 721

Maximum and minimum lengthsFor character and numeric values, the maximum and minimum lengths of thevalue are checked by the program. For a fixed-length

Seite 722

The flow of control when a DYNALLOC request is issuedThe flow in a normal invocation is as follows. The main program, DFH99M, receivescontrol from CICS

Seite 723

still exceeds the count of SYSEVENT OKSWAPs.Further SYSEVENT OKSWAPs must be requestedbefore a SYSEVENT OKSWAP is issued by CICS.Return codesUERCNORMC

Seite 724 - Protocol management

returned value corresponds to a keyword value, DFH99KR is called to look up thevalue in the description, and issue the message.Processing of the comma

Seite 725 - Transaction control

Part 7. Customizing CICS security processing© Copyright IBM Corp. 1977, 1999 719

Seite 726 - Error processing

General notesThe following comments apply to the chapters in Part 7 of this book:v The only aspects of CICS security processing covered are:– Invoking

Seite 727 - The CICS-TCAM interface

Chapter 28. Invoking a user-written external security managerCICS provides an interface to an external security manager (ESM), which may beuser-writte

Seite 728 - Data format

The MVS router exitThe MVS router provides an optional installation exit that is invoked whether or notRACF is installed and active on the system. If

Seite 729 - Logic flow

Router exit return codesYour exit routine must return a return code in register 15. The hexadecimal valuesof the return code are shown in Table 35.Tab

Seite 730

How ESM exit programs access CICS-related informationWhen CICS invokes the ESM, it passes information about the current CICSenvironment, for use by an

Seite 731

Table 37. Obtaining the address of the installation data parameter listRACROUTEREQUEST typeRACF exit Exit list mappingmacroParameter list fieldnameVERI

Seite 732 - Segment processing

UXPBLKIDThe name of the block identifier (UXPARMS).UXPPHASEAddress of a 1-byte code that indicates the reason for the call to the ESM(that is, the secu

Seite 733 - Line pool specifications

USER_RESOURCE_CHECK (X'60')Resource checking for userLINK_RESOURCE_CHECK (X'61')Resource checking for linkUSER_QUERY_CHECK (X&apos

Seite 734 - Line locking

DL/I interface program exits XDLIPRE and XDLIPOSTThe XDLIPRE and XDLIPOST exit points are invoked following the issue of anEXEC DLI command or DL/I ca

Seite 735 - TCAM queues

RACROUTE REQUEST=VERIFYIssued at operator signon (with the parameter ENVIR=CREATE), and at sign-off(with the parameter ENVIR=DELETE). This macro creat

Seite 736 - TCAM devices

v After a call to FASTAUTH indicates an access failure that requires logging.v When a QUERY SECURITY request with the RESCLASS option is used.This ind

Seite 737

APPLThe APPLID of the CICS region on which the user is signing on. Which APPLIDis passed depends on what is specified as system initialization paramete

Seite 738 - TCAM with 3270 devices

INCLUDE SYSLIB(DFHXSEAI)INCLUDE SYSLIB(DFHEAI)ORDER DFHEAI,verify-program,DFHEAI0ENTRY verify-programThe DFHEIENT and DFHEIRET macros are inserted by

Seite 739 - CICS-TCAM abend and restart

732 CICS TS for OS/390: CICS Customization Guide

Seite 740 - CICS-TCAM termination

Chapter 29. Writing a “good night” programYou can use the GNTRAN system initialization parameter to specify a “good night”transaction that you want CI

Seite 741 - CICS Application program

GNTRAN_START_TRANSIDThe identifier of the transaction that started the “good night” transaction. If itwas started by CICS because of a terminal timeout

Seite 742

GNTRAN_PSEUDO_CONV_TRANSIDThe identifier of the next transaction, if the terminal timed out during apseudoconversational sequence. (If the terminal did

Seite 743

What the sample program doesThe DFH0GNIT sample program:1. Checks that it has been invoked for a terminal timeout, by testing theGNTRAN_START_TRANSID

Seite 744

v Your program should always start, like the sample program, by testing theGNTRAN_START_TRANSID field of the communications area passed by CICS.If it fi

Seite 745

Exit XDLIPREWhen invokedOn entry to the DL/I interface program.Exit-specific parametersUEPCTYPEAddress of type-of-request byte. Values are:UEPCEXECThe

Seite 746 - Terminal operation

sample good night program738CICS TS for OS/390: CICS Customization Guide

Seite 747 - Help feature

Part 8. Examining and modifying resource attributes© Copyright IBM Corp. 1977, 1999 739

Seite 748

A general note about user-written programsThe following comment applies to all user-written programs mentioned in Part8 of this book:v Upon return fro

Seite 749 - DYNALLOC flow of control

Chapter 30. User programs for the system definition utilityprogram (DFHCSDUP)This chapter tells you how to write programs for use with the CICS system

Seite 750

DFHCSDUP as a part of the resource definition process is described in theCICSResource Definition Guide. Guidance information about the execution JCL for

Seite 751

v The names of all the resource definitions within the specified groupv The names of all the groups within the specified list.2. If you specify the OBJEC

Seite 752 - CICS RACF Security

0 Initial call2 List start call4 Group start call6 Object start call8 Keyword detail call10 Object end call12 Group end call14 List end call16 Final c

Seite 753 - The MVS router

Table 39. Sample EXTRACT user programs for the DFHCSDUP utility programProgramnamesLanguages DescriptionDFH$CRFADFH0CRFCDFH$CRFPAssemblerVS COBOL IIPL

Seite 754 - The MVS router exit

The program must be run against an EXTRACT command of the form:EXTRACT GROUP(group name) OBJECTS USERPROGRAM(program-name)or:EXTRACT LIST(list name) O

Seite 755 - Router exit return codes

The program must be run against an EXTRACT command of the form:EXTRACT GROUP(group name) OBJECTS USERPROGRAM(program-name)or:EXTRACT LIST(list name) O

Seite 756 - ESM exit programs

UEPIOAXAddress of I/O area existence flag byte:UEPIOA1I/O area exists.For UEPCSHIP requests, the I/O area existence flag isalways off.UEPIOAAddress of I

Seite 757

An assembler-language versionThe sample job in Figure 107 shows the link-edit statements you need for anassembler-language version of a DFHCSDUP user

Seite 758

A VS COBOL II versionThe sample job in Figure 108 shows the link-edit statements you need for a VSCOBOL II version of a DFHCSDUP user program.Notes fo

Seite 759 - CICS security control points

A PL/I versionThe sample job in Figure 109 shows the link-edit statements you need for a PL/Iversion of a DFHCSDUP user program.Notes for the PL/I job

Seite 760

A Language Environment versionThe sample job in Figure 110 shows the link-edit statements you need for aDFHCSDUP user program written in a Language En

Seite 761 - Early verification processing

Notes:1. In a TSO environment, it is normally possible for the terminal operator tointerrupt processing at any time by means of an ATTENTION interrupt

Seite 762

The length of the page number data (field ‘bb’ in Figure 111) must be 0 or 4.The page number, if supplied, must be four numeric EBCDIC characters. Thefi

Seite 763 - *ASM XOPTS(NOPROLOG,NOEPILOG)

v The parameters DCBS and EXITS are aligned on a fullword boundary, and thefirst four bytes ‘00bb’ contain the binary number of fullwords in the follow

Seite 764

The user exit points in DFHCSDUPThere are five user exit points in DFHCSDUP. By specifying the appropriate entryparameters, you can cause DFHCSDUP to p

Seite 765

The get-command exitThe purpose of the get-command exit is to read in command lines. If it is specified,no commands are read from SYSIN.On invocation,

Seite 766

The extract exitThe extract exit is invoked at various points during processing of the EXTRACTcommand. The points are listed on page 743.Notes:1. If y

Seite 767

Exit XDLIPOSTWhen invokedOn exit from the DL/I interface program.Exit-specific parametersUEPCTYPEAddress of type-of-request byte. Values are:UEPCEXECAn

Seite 768 - What the sample program does

to the user program” on page 743.) However, when DFHCSDUP is invokedfrom a user program, the parameter list also includes the standardparameters menti

Seite 769

The put-message exitThe put-message exit is invoked whenever a message is to be issued. If you arerunning under TSO, you could use this exit to termin

Seite 770

The termination exitThe purpose of the termination exit is to allow you to perform final housekeepingduties. It is invoked before a normal or an abnorm

Seite 771

Chapter 31. The programmable interface to the RDOtransaction, CEDAThis chapter describes a programmable interface to the resource definition online(RDO

Seite 772

Notes:1. An attempt to start CEDA from an application program by an EXEC CICSSTART command must fail. This is because CEDA’s first action is to request

Seite 773 - An overview of DFHCSDUP

from a back-end application program whose session is in SEND state (and whichhas never issued a SYNCPOINT), the session will be put into RECEIVE state

Seite 774 - The EXTRACT command

764 CICS TS for OS/390: CICS Customization Guide

Seite 775

Part 9. Appendixes© Copyright IBM Corp. 1977, 1999 765

Seite 776 - The sample EXTRACT programs

766 CICS TS for OS/390: CICS Customization Guide

Seite 777

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

Seite 778 - The DB2 formatting program

Exit XSTOUT ...180System recovery program exit XSRAB ...182Exit XSRAB...182System termination

Seite 779

UEPIOAXAddress of I/O area existence flag byte:UEPIOA1I/O area exists.For UEPCSHIP requests, the I/O area existence flag isalways off.UEPIOAAddress of I

Seite 780 - An assembler-language version

TYPETERM device types and pointers to related LOGON mode dataSearch Table 40 for the TYPETERM device type that corresponds to the terminalyou want to

Seite 781 - A VS COBOL II version

Table 40. TYPETERM device types, with cross-references to VTAM logmodeentries (continued)TYPETERM device type Referencenumber inTable 41 onpage 770DEV

Seite 782 - A PL/I version

VTAM MODEENT macro operandsTable 41 VTAM LOGON mode table entry for each TYPETERM you might define.You should have reached this table by looking up the

Seite 783

Table 41. LOGON mode table and ISTINCLM entries (continued)RN VTAM MODEENT macro entries that are needed for relatedCICS TYPETERM definitionsSuitablesu

Seite 784 - Entry parameters for DFHCSDUP

Table 41. LOGON mode table and ISTINCLM entries (continued)RN VTAM MODEENT macro entries that are needed for relatedCICS TYPETERM definitionsSuitablesu

Seite 785

Table 41. LOGON mode table and ISTINCLM entries (continued)RN VTAM MODEENT macro entries that are needed for relatedCICS TYPETERM definitionsSuitablesu

Seite 786

Table 41. LOGON mode table and ISTINCLM entries (continued)RN VTAM MODEENT macro entries that are needed for relatedCICS TYPETERM definitionsSuitablesu

Seite 787 - The initialization exit

PSERVIC screen size values for LUTYPEx devicesTable 42 is to help you decide what screen size values you should specify on thePSERVIC operand of the V

Seite 788 - The get-command exit

Table 43. Equivalent PSERVIC screen size valuesBytes 20—24 of CICS model bind Valid screen size values on PSERVICdefinition0000 0000 01 0000 0000 00000

Seite 789 - The extract exit

AUTINSTMODEL ==> ONLYGROUP ==> PDATDTYPETERM ==> T3278INSERVICE ==> YESTYPETERM definition*************************TYPETERM ==> T3278GR

Seite 790

Dump domain exits XDUREQ, XDUREQC, XDUCLSE, and XDUOUTThere are four exits in the dump domain.Exit XDUREQWhen invokedImmediately before a system or tr

Seite 791 - The put-message exit

LOGONMSG ==> YESDISCREQ ==> YESRECEIVESIZE ==> 256BUILDCHAIN ==> YESBIND SENT BY CICS : 010303B1 B0308000 0085C780 0002800000000018 501850

Seite 792 - The sample program, DFH$CUS1

TERMINAL definition*************************AUTINSTNAME ==> M6670AUTINSTMODEL ==> ONLYGROUP ==> PDATDTYPETERM ==> T6670INSERVICE ==> YE

Seite 793 - COMMAREA(CEDAPARM)

PRIPROT=X'B1',SECPROT=X'B0',RUSIZES=X'8585',COMPROT=X'7080'TERMINAL definition*************************AUTINST

Seite 794 - Transaction Programming Guide

BIND SENT BY CICS : 010304B1 B0708000 00858580 0001311840000092 0000E100 50000000 00000000************************************************************

Seite 795 - DFHEDAP in a DTP environment

ATI ==> YESTTI ==> YESBRACKET ==> YESRECEIVESIZE ==> 256SENDSIZE ==> 256BIND SENT BY CICS : 010303B1 90308000 00000080 00010000********

Seite 796

SESSIONTYPE ==> 3270RELREQ ==> YESDISCREQ ==> YESIOAREALEN ==> 256BRACKET ==> YESRECEIVESIZE ==> 240ATI ==> NOTTI ==> YESBIND

Seite 797 - Part 9. Appendixes

DEVICE ==> 3650SESSIONTYPE ==> USERPROGBRACKET ==> NORELREQ ==> NODISCREQ ==> NORECEIVESIZE ==> 256IOAREALEN ==> 256ATI ==> YE

Seite 798

AUTINSTMODEL ==> ONLYGROUP ==> PDATDTYPETERM ==> T3290INSERVICE ==> YESTYPETERM definition*************************TYPETERM ==> T3290GR

Seite 799

LDC=(DS=1),DVC=3604,PGESIZE=(6,40),PGESTAT=PAGEDFHTCT TYPE=LDC,LDC=SYSTEMBIND SENT BY CICS : 010404B1 B0700000 00000080 00000000LOGON mode definitions

Seite 800 - TYPETERM device types

DFHLU2 MODEENT LOGMODE=DFHLU2, SNA LUTYPE2 3270TYPE=1,FMPROF=X'03',TSPROF=X'03',PRIPROT=X'B1',SECPROT=X'B0',CO

Seite 801

UEPXDSCPAddress of a 1-byte field indicating the current dump tableDUMPSCOPE setting. It contains one of the following values:UEPXDLOCA system dump wil

Seite 802 - VTAM MODEENT macro operands

DFHLU2E3 MODEENT LOGMODE=SNX32703, LU2 model 3 queryableFMPROF=X'03',TSPROF=X'03',PRIPROT=X'B1',SECPROT=X'90',

Seite 803

Appendix B. Default actions of the node abnormal conditionprogramThis appendix describes the default actions of the node abnormal conditionprogram, DF

Seite 804

Table 44. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'1E'

Seite 805

Table 44. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'48'

Seite 806

Table 44. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'74'

Seite 807 - PSERVIC screen size values

Table 44. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'A7'

Seite 808

Table 44. Messages issued and flags set by DFHZNAC for specific error codes (continued)Error code Symbolic label Message Action flags setX'D3'

Seite 809

Notes:1. See message DFHZC2497 or DFHZC3493, depending on the device type.2. “Good morning” message to be sent.3. Cancel task, and close VTAM session

Seite 810

Table 45. CICS messages associated with VTAM errors (continued)Message Symbolic label Error code Action flags setDFHZC2418 TCZSEXUC X'BB' 239

Seite 811

Table 45. CICS messages associated with VTAM errors (continued)Message Symbolic label Error code Action flags setDFHZC2458 TCZPXE2 X'DD' None

Seite 812

MAXIMUM setting will not suppress this dump request. A returncode of UERCBYP may be used to suppress the current dumprequest.UEPDXDCNTAddress of a 4-b

Seite 813

Table 45. CICS messages associated with VTAM errors (continued)Message Symbolic label Error code Action flags setDFHZC3441 TCZVTAMO X'63' Non

Seite 814

Table 45. CICS messages associated with VTAM errors (continued)Message Symbolic label Error code Action flags setDFHZC4903 TCZLUCF2 X'22' 3 9

Seite 815

Table 45. CICS messages associated with VTAM errors (continued)Message Symbolic label Error code Action flags setDFHZC4946 TCZINVAT X'F9' 2 3

Seite 816

Table 46. Messages issued and flags set by DFHZNAC for specific sense codes (continued)Sense code Message Action flags setX'0829' DFHZC3407 1,

Seite 817

3. Action flags 2 and 3 are set for negative response received for a SEND thatrequested a definite response.4. Presentation space error.5. Presentation

Seite 818

Appendix C. Transient data write-to-terminal program(DFH$TDWT)DFH$TDWT is a sample program that sends transient data messages to a terminalor printer.

Seite 819

804 CICS TS for OS/390: CICS Customization Guide

Seite 820

Appendix D. Uppercase translationThis appendix describes how to translate lower- and mixed-case characters touppercase. “Uppercase translation of nati

Seite 821 - Messages and Codes

If you use this method, you must reassemble your modified copy of DFHTCTDY,keeping the 'DY' suffix. The 'DY' suffix is necessary be

Seite 822

Appendix E. The example program for the XTSEREQ globaluser exit, DFH$XTSEThis appendix lists the example global user exit program, DFH$XTSE. The examp

Seite 823

Return codesUERCNORMContinue processing.UERCBYPSuppress dump.UERCPURGTask purged during XPI call.XPI callsWAIT_MVS can be used only when a UEPDUMPT in

Seite 824

* ** 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

Seite 825

*---------------------------------------------------------------------** The TS Routing table is made up of a set of entries. Each entry ** can be map

Seite 826

* Registers: ** R1 = UEPAR plist (set on entry) ** = Work register ** R2 = UEPAR plist ** R3 = Program base register (set by DFHEIENT) ** R6 = Linkage

Seite 827

*=====================================================================** TS_REQUEST - Invoked at XTSEREQ exit point ** Determine the TS Queue Name and

Seite 828

*=====================================================================*TS_REQUEST DS 0H* Check for possible recursionL R1,UEPRECUR Address of recursiv

Seite 829

*=====================================================================** TS_REQUEST_COMPLETE - Invoked at XTSEREQC exit point ** Free any shared stora

Seite 830

*=====================================================================** LOCAL_REQUEST: Process Local TS Queues ** An entry has been found in the TS_R

Seite 831

*=====================================================================** ROUTE_REQUEST: Ship request to remote system ** An entry has been found in th

Seite 832 - CICS Messages and Codes

* 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 ..

Seite 833

* Logic: ** Entry_Not_Found: ** Call Getmain_Shared ** Copy default_sysid into shared storage ** Address the command plist ** Update ADDR7 to point to

Seite 834

UEPDUMPTAddress of the 1-byte dump-type identifier, which contains one ofthe following values:UEPDTRANA transaction dump was requested.UEPDSYSTA system

Seite 835 - (DFH$TDWT)

*=====================================================================** GETMAIN_SHARED - Obtain Shared storage ** ** Registers: ** R0 = Used by EXEC

Seite 836

*=====================================================================** FREEMAIN_SHARED - Free shared storage ** Free the shared storage associated w

Seite 837 - Using DFHTCTDY

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

Seite 838 - TS data sharing messages

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,

Seite 839

TS_ROUTING_TABLE DS 0DENTRY_NAME_1 DC CL8'AAAAAAAA' Rename Queue AAAAAAAA asNEW_NAME_1 DC CL8'BBBBBBBB' BBBBBBBBBQOR_SYSID_1 DC CL

Seite 840

IndexSpecial Characters“good night” transactioncustomizing the sample program 736overview 733sample program, DFH0GNIT 735Numerics3270 bridgebridge exi

Seite 841

automatic installation of terminalscontrol programaction at delete 495action at install 487action on return 494information returned to CICS 491link-ed

Seite 842

DBCTL (database control)(continued)DFHDBUEX 622DFHMCT TYPE=EMP entries 661in an XRF environment 623interface status 595DBLID values 620DD card correla

Seite 843

DFHPGADX, user-replaceable autoinstall program(continued)introduction to 546parameter list at install 543sample program 546supplied definition of 547us

Seite 844

DFHZNEP, user-replaceable node error program 449DFHZNEPI macrosTYPE=ENTRY 479TYPE=FINAL 479TYPE=INITIAL 479dictionary data section, CICS monitoring re

Seite 845

UEPXDYESThe CICS system is to shutdown.UEPXDNOThe CICS system is not to shutdown.This field may be modified by the exit to update the dump tableSHUTDOWN

Seite 846

dynamic routing program (DFHDYP)(continued)UOW considerations 553, 562when invoked 550, 558dynamic transactions 550EEDF (Execution Diagnostic Facility

Seite 847

global user exits(continued)in DBCTL interface control program 19in DBCTL tracking program 40in dispatcher domain 42in DL/I interface program 44in dum

Seite 848

INQUIRE_TRANDEF function of the XPI 375INQUIRE_TRANSACTION function of the XPI 383interactive logical unit error processor 469intersystem queuescontro

Seite 849

NNAME operandDFHSNEP TYPE=INITIAL 470DFHSNET macro 473national charactersuppercase translation 805NEB (node error block) 474NEBNAME operandDFHSNET mac

Seite 850

node error program (NEP)(continued)DFHZNAC logging facility 476DFHZNEP 450, 457DFHZNEPI interface module 478DFHZNEPI macros 478DFHZNEPI TYPE=INITIAL 4

Seite 851

PLTSD programs(continued)general considerations 395introduction 394second phase 395POOL feature, TCAM 701pool of common TCTTEs 696PRINT operandDFHTEPM

Seite 852

SETEOM macro 694shipped terminals, automatic installation of 523shutdown (PLTSD) programsconsiderations when writing 394shutdown assist program, DFHCE

Seite 853

task-related user exits 280(continued)schedule flag word 280SPI parameters 257stub program 249, 250ename 251statname 251syncpoint manager calls 270back

Seite 854

TEP (terminal error program)(continued)system count (TCTTENI) 416user field a (PCISAVE) 445user field b (PCICNT) 445DFHTEP tables 432DFHTEPM TYPE=ENTRY

Seite 855 - Numerics

termination, TCAM 708TIE_UP_RECORD_DATA section, journal records 642TIME operandDFHSNET macro 474of DFHTEPT TYPE=PERMCODE|ERRCODEmacro 434TPROCESS blo

Seite 856 - (continued)

XPI callsWAIT_MVS can be used only when a UEPDUMPT indicates that atransaction dump is being taken. Do not use any other calls.Exit XDUCLSEWhen invoke

Seite 857

XFCAREQC, global user exit(continued)parameter list and return codes 83XFCBFAIL, global user exit 112XFCBOUT, global user exit 117XFCBOVER, global use

Seite 858

XPI (exit programming interface)(continued)GETMAIN 302INQUIRE_ACCESS 364INQUIRE_ELEMENT_LENGTH 365INQUIRE_SHORT_ON_STORAGE 366INQUIRE_TASK_STORAGE 367

Seite 859 - Index 827

840 CICS TS for OS/390: CICS Customization Guide

Seite 860

Sending your comments to IBMIf you especially like or dislike anything about this book, please use one of themethods listed below to send your comment

Seite 861

IBMRProgram Number: 5655-147Printed in the United States of Americaon recycled paper containing 10%recovered post-consumer fiber.SC33-1683-02

Seite 862

Spine information:IBM CICS TS for OS/390 CICS Customization Guide Release 3

Seite 863

UEPDMPREDump is about to restart after autoswitch.UEPDMPABAbnormal termination of dump.UEPDMPDYBuffer is about to be written, and the CICS dump data s

Seite 864

Enqueue EXEC interface program exits XNQEREQ and XNQEREQCThe XNQEREQ exit allows you to intercept enqueue API requests before any actionhas been taken

Seite 865

Introduction to the task-related user exit mechanism (the adapter)...249The stub program ...250Returning control to the applica

Seite 866

between successive enqueue requests within the same task (forexample, between successive invocations of the XNQEREQ exit).UEPRECURAddress of a halfwor

Seite 867

UEPTSTOKAddress of a 4-byte token which can be used to pass informationbetween successive enqueue requests within the same task (forexample, between s

Seite 868

End of parameter list indicatorThe high-order bit is set on in the last address set in the parameter list toindicate that it is the last one in the li

Seite 869

X'20' Set if the request contains an argument for the MAXLIFETIMEkeyword. If set, NQ_ADDR3 is meaningful.NQ_BITS2Two bytes not used by the e

Seite 870

X'04' The existence bit for NOSUSPEND.The EID is reset to its original value before return to the application program. Thatis, changes made

Seite 871

Removing user argumentsUser exit programs can remove arguments (for which the program is totallyresponsible) associated with the LENGTH and MAXLIFETIM

Seite 872

Notes about the use of XNQEREQ to alter ENQ or DEQ scope.1. XNQEREQ enables you to allow existing applications to be converted to usesysplex enqueues

Seite 873 - Sending your comments to IBM

EXEC interface program exits XEIIN, XEIOUT, XEISPIN, and XEISPOUTThere are four global user exit points in the EXEC interface program:XEIIN Invoked be

Seite 874 - SC33-1683-02

The correspondence between command parameters (such as PROGRAM) and theirpositions and values in the parameter list (in this case, argument 1, ‘MYPROG

Seite 875 - Spine information:

UEPRSAAddress of the application’s register save area. This contains thecontents of the registers at the point when the program issued theEXEC CICS co

Kommentare zu diesen Handbüchern

Keine Kommentare