The retry exit routine enables you to control retry processing when a data set runs out of space during ACCEPT, APPLY, GZONEMERGE, LINK LMODS, LINK MODULE, RECEIVE, or RESTORE processing. (In retry processing, the data set is compressed and the utility that failed is called again.) This exit routine must be defined by a GIMEXITS control statement in the GIMEXITS member of SMPPARM, which tells SMP/E retry processing that an exit routine exists and should be called. Optionally, the GIMEXITS control statement may also specify the data set containing the exit routine. This exit routine must be a load module residing in an authorized library. For more information about specifying exit routines in GIMEXITS, see Defining control statements in SMPPARM members. The retry exit routine is loaded at the start of ACCEPT, APPLY, GZONEMERGE, LINK LMODS, LINK MODULE, RECEIVE, or RESTORE command processing and is deleted at the end of command processing.
Field name | Description |
---|---|
UXPUXNUM | X'0002' (exit routine number) |
UXPUXNAM | Name of exit routine |
UXPUXAD | Address of exit routine |
UXPFUNCT | ACCEPT, APPLY, GZMRG, LINK, RECEIVE, or RESTORE |
UXPPRMAD | Address of 25-byte parameter list (see Table 2) |
Field name | Offset (DEC) | Offset (HEX) | Length | Description |
---|---|---|---|---|
UX002DDN | + 0 | + 0 | 8 | ddname of data set that ran out of space |
UX002PGM | + 8 | + 8 | 8 | Name of the utility program that failed |
UX002ACH | +16 | +10 | 3 | ABEND code (hex) in the same format as field SDWACMPC in the SDWA control block |
UX002RCH | +19 | +13 | 1 | ABEND reason code (hex) |
UX002ACP | +20 | +14 | 3 | ABEND code (EBCDIC) |
UX002RCP | +23 | +17 | 2 | ABEND reason code (EBCDIC) |
According to the input, the retry exit can either cancel retry processing or perform some other method of recovery.
Value | Meaning |
---|---|
0 | Continue normal retry processing. |
12 | Stop command processing and perform no retry. |
16 | Stop SMP/E processing and perform no retry. |
20 | Perform modified retry processing. Call the failing utility, but do not compress the failing data set. |
If any other value is returned, SMP/E converts it to 12, and command processing fails.