SETU command
The Set a Backout Point Unconditionally (SETU
)
command is identical to the SETS
command except that
it does not get rejected if unsupported PCBs are in the PSB or if
the program uses an external subsystem.
Format
Options
- TOKEN(mytoken)
- A 4-byte token associated with the current processing point.
- AREA(data_area)
- The name of the area to be restored to the program when a
SETU
command is issued. The first 2 bytes of the data-area field contain the length of the data-area, including the length itself. The second 2 bytes must be set to X'0000'.
Usage
You can use the SETU
command
to define multiple points at which to preserve the state of the DL/I
databases and to return to these points later. For example, you can
use the SETU
command to allow your program to handle
situations that can occur when PSB scheduling completed without all
of the referenced DL/I databases being available.
The SETU
command
applies only to DL/I full-function data bases. If a logical unit of
work (LUW) is updating types of recoverable resources other than full-function
databases, such as VSAM files, the SETU
command has
no effect on the non-DL/I resources. The backout points are not CICS® commit points; they are intermediate
backout points that apply only to DBCTL resources. It is up to you
to ensure the consistency of all the resources involved.
Example
EXEC DLI SETU
TOKEN(mytoken) AREA(data_area)
This
example shows how to specify the SETU
command.
Restrictions
Restrictions for
the SETU
command:
- You cannot use this command in a CICS program.
- To use this command you must first define an I/O PCB for your program.
- You cannot reestablish position in the midst of nonunique keys or nonkeyed segments.
- You cannot use this command when the system log is stored on direct access storage and dynamic backout has been specified. You must also specify BKO=Y in the parm field of your JCL when you execute the program.