IBM SC34-6814-04 Server User Manual


 
X'04' REPEATABLE specified.
X'02' UPDATE specified on READNEXT or READPREV.
X'01' NOSUSPEND specified (on READ, READNEXT, READPREV, WRITE,
DELETE, or REWRITE).
Bits in the EID should be modified in place. You should not modify the pointer to the
EID: any attempt to do so is ignored 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 file control request
only.
If more than one of UNCOMMITTED, CONSISTENT, or REPEATABLE is specified,
CONSISTENT takes precedence over UNCOMMITTED, and REPEATABLE takes
precedence over CONSISTENT and UNCOMMITTED.
Example of modifying read integrity bits: You might want all RLS read requests
from all programs against a specific file to specify CONSISTENT read. You could
code a user exit program that turns on the bit for CONSISTENT and turns off the
other two read integrity bits in all requests to the file. You could partially achieve this
effect by specifying CONSISTENT on the FILE definition. However, that would only
override requests that did not explicitly specify a level of read integrity. Using a
global user exit program for this purpose also overrides programs that explicitly
specify UNCOMMITTED or REPEATABLE.
Warnings:
1. If a global user exit program changes a file request to request a
higher level of read integrity (for example, it changes the request
from UNCOMMITTED to REPEATABLE), this could cause CICS
either to acquire extra read locks, or to keep its read locks for a
longer period of time. This may degrade system throughput, by
causing other transactions to wait, or introduce deadlocks.
2. If a global user exit program changes the request to one that
requests a lower level of read integrity (for example, it changes the
request from REPEATABLE to UNCOMMITTED), this could cause
application logic errors to occur in the program that originated the
request. The errors could occur because the application program
may be relying on the record to remain unchanged while it reads a
series of other, related, records. This can be guaranteed with
REPEATABLE, but not if the option is changed to UNCOMMITTED.
3. Your user exit program is prevented from making major changes to
the EID. However, you must take great care when making the minor
modifications that are permitted. For instance, it is possible to
change a DELETE into a GENERIC DELETE, but to make such a
change may be dangerous.
Use of the task token UEPTSTOK
UEPTSTOK provides the address of a 4-byte area that you can use to pass
information between successive file control requests in the same task. (By contrast,
UEPFCTOK is usable only for the duration of a single file control request, because
its contents may be destroyed at the end of the request.) For example, if you need
to pass information between successive invocations of the XFCREQ exit,
UEPTSTOK provides a means of doing this.
Chapter 1. Global user exit programs 93