Modifying the EID by exits XICEREQ, XICERES, and XICEREQC
It is not possible to modify the EID to make major changes to requests, such as changing a DELAY request to a START request. However, you can make minor changes to requests, such as turning on the existence bit for SYSID so that the request can be changed into one that is shipped to a remote system.
Some interval control commands use 2 bits in the EID to indicate a single keyword; the EXEC CICS START command, for example, uses 2 bits to indicate TERMID. The first bit, in IC_BITS1, indicates that ADDR6 in the command parameter list is valid (ADDR6 points to TERMID) and the second, in IC_EIDOPT7, is the keyword existence bit to show that the TERMID keyword was specified on the command.
Where this occurs you must ensure that both bit settings are changed (consistently) if you want to modify these commands from within a user exit program, or the results will be unpredictable.
The list that follows shows the bits in the EID that can be modified. Any attempt to modify any other part of the EID is ignored.
- IC_BITS1
-
- X'80'
- The existence bit for REQID (if the request is CANCEL)
- X'40'
- The existence bit for LENGTH (if the request is RETRIEVE) or REQID
- X'10'
- The existence bit for FROM
- X'08'
- The existence bit for LENGTH
- X'04'
- The existence bit for TERMID
- X'02'
- The existence bit for SYSID
- X'01'
- The existence bit for RTRANSID.
- IC_BITS2
-
- X'80'
- The existence bit for RTERMID
- X'40'
- The existence bit for QUEUE
- X'20'
- The existence bit for HOURS
- X'10'
- The existence bit for MINUTES
- X'08'
- The existence bit for SECONDS.
- IC_EIDOPT6
-
- X'20'
- The secondary existence bit for HOURS
- X'10'
- The existence bit for FMH
- X'08'
- The secondary existence bit for SECONDS
- X'04'
- The secondary existence bit for MINUTES
- X'02'
- The existence bit for PROTECT
- X'01'
- The existence bit for NOCHECK.
- IC_EIDOPT7
- Bits in IC_EIDOPT7 should only be modified within the same functional
group; that is, only those existence bits defined as valid for a START
request should be set on a START request.
- ASKTIME requests
- X'13'
- ASKTIME request. This value is fixed for all ASKTIME requests, and should not be modified.
- DELAY requests
- X'20'
- DELAY request
- X'08'
- TIME specified
- X'04'
- REQID specified.
- POST requests
- X'30'
- POST request
- X'08'
- TIME specified
- X'04'
- REQID specified.
- START requests
- X'40'
- START request (without DATA)
- X'50'
- START with DATA request
- X'70'
- START with one or more of RTRANSID, RTERMID, QUEUE, or FMH specified.
- X'08'
- TIME specified
- X'04'
- REQID specified
- X'01'
- TERMID specified.
- RETRIEVE requests
- X'82'
- RETRIEVE request.
- CANCEL requests
- X'F0'
- CANCEL request
- X'04'
- REQID specified.
- IC_EIDOPT8
-
- X'20'
- Unused by CICS®.
The EID is reset to its original value before return to the application program. That is, changes made to the EID are retained for the duration of the interval control request only.