ABSTIME is an input field on a FORMATTIME request, and an output field on an
ASKTIME request. DATESEPand TIMESEP can be input fields on a FORMATTIME
request.
Modifying input fields: The correct method of modifying an input field is to create
a new copy of it, and to change the address in the command-level parameter list to
point to your new data.
Note: Youmust never modify an input field by altering the data that is pointed to by
the command-level parameter list. Todo so would corrupt storage belonging
to the application program and would cause a failure when the program
attempted to reuse the field.
Modifying output fields: The technique described in “Modifying input fields” is not
suitable for modifying output fields. (The results would be returned to the new area
instead of the application’s area, and would be invisible to the application.)
An output field is modified by altering the data that is pointed to by the
command-level parameter list. In the case of an output field, you can modify the
application’s data in place, because the application is expecting the field to be
modified anyway.
Modifying the EID: It is not possible to modify the EID to make major changes to
requests, such as changing a DELAYrequest 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 STARTcommand, 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 wish 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
Chapter1. Global user exit programs 159