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
>>-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.
- 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.