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: You must never modify an input field by altering the data that is pointed to by
the command-level parameter list. To do 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 fields used for both input and output: An example of a field that is
used for both input and output is LENGTH on a READ request that specifies INTO.
You can treat such fields in the same way as output fields, and they are considered
to be the same.
Modifying the EID
It is not possible to modify the EID to make major changes to requests. It is not
possible, for example, to change a WRITE request to a READ request.
However, you can make minor changes to requests, such as to turn on the
existence bit for SYSID so that the request can be changed into one that is shipped
to a remote system.
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.
FC_BITS1
X'20' The existence bit for LENGTH, NUMREC, or (if the request is
STARTBR, RESETBR, or ENDBR) REQID.
X'08' The existence bit for KEYLENGTH.
X'04' The existence bit for REQID if the request is READNEXT or
READPREV.
X'02' The existence bit for SYSID.
FC_BITS2
X'20' Token specified.
FC_EIDOPT5
X'04' MASSINSERT specified.
FC_EIDOPT6
X'40' GENERIC specified.
X'20' GTEQ specified.
X'10' UNCOMMITTED specified.
X'08' CONSISTENT specified.
92 Customization Guide