SETS/SETU call

The Set Backout Point (SETS) call is used to set an intermediate backout point or to cancel all existing backout points.

The Set Unconditional (SETU) call operates like the SETS call except that the SETU call is not rejected if unsupported PCBs are in the PSB or if the program uses an external subsystem.

Format

Read syntax diagramSkip visual syntax diagram
>>-SETS--+-i/o pcb-+--+----------+--+-------+------------------><
         '-aib-----'  '-i/o area-'  '-token-'   

Call Name DB/DC DBCTL DCCTL DB Batch TM Batch
SETS/SETU X X X X X

Parameters

i/o pcb
Specifies the I/O PCB, the first PCB address in the list passed to the program. This parameter is an input and output parameter.
aib
Specifies the application interface block (AIB) that is used for the call. This parameter is an input and output parameter.
The following fields must be initialized in the AIB:
AIBID
Eye catcher. This 8-byte field must contain DFSAIBbb.
AIBLEN
AIB lengths. This field must contain the actual length of the AIB that the application program obtained.
AIBRSNM1
Resource name. This 8-byte, left-justified field must contain the PCB name IOPCBbbb.
AIBOALEN
I/O area length. This field must contain the length of the I/O area that is specified in the call list.
i/o area
Specifies the area in your program that contains the data that is to be kept by IMS™ and returned on the corresponding ROLS call. This parameter is an input parameter.
token
Specifies the name of the area in your program that contains a 4-byte identifier. This parameter is an input parameter.

Usage

Except for the call names themselves, the SETS and SETU format and parameters are the same.

The SETS and SETU calls provide the backout points that IMS uses in the ROLS call. The ROLS call operates consistent with the SETS and SETU call backout points.

The meaning of the SC status code for SETS or SETU is as follows:
SETS
The SETS call is rejected. The SC status code in the I/O PCB indicates that either the PSB contains unsupported options or the application program made calls to an external subsystem.
SETU
The SETU call is not rejected. The SC status code indicates that unsupported PCBs exist in the PSB or the application made calls to an external subsystem.

Restrictions

The SETS call is not valid when the PSB contains a DEDB or MSDB PCB, or when the call is made to a DB2® database.

CPI-C driven transaction programs cannot issue the SETS/SETU call.

The Spool API functions do not restrict the use of the SETS/SETU and ROLS calls. This is so, because these calls can be used by the application outside the processing of print data sets. When these commands are issued, the Spool API takes no action because these commands cannot be used for the partial backout of print data sets.

Before a ROLS call, you can specify a maximum of 255 SETS calls with the same token and still back out to the correct message level. After 255 SETS calls, the messages continue to back out, but only to the same message level as at 255th SETS call. The SETS token count resets to zero during sync point processing.

You may specify a maximum of 255 SETS calls with the same token before a ROLS call and still be able to back out to the correct message level. After 255 SETS calls, the messages will continue to back out to the same message level as at 255th SETS call. The SETS token count is reset to zero during sync point processing.