Use the SETRP macro within a recovery routine to indicate the various requests that the recovery routine can make. SETRP is valid for ESTAE-type recovery routines. For more information about recovery routines, see z/OS MVS Programming: Assembler Services Guide.
The requirements for the caller are:
Environmental factor | Requirement |
---|---|
Minimum authorization: | Problem state and any PSW key |
Dispatchable unit mode: | Task or SRB |
Cross memory mode: | Any PASN, any HASN, any SASN |
AMODE: | 24- or 31- or 64-bit |
ASC mode: | Primary, secondary, or access register (AR) Note: Callers
in secondary ASC mode cannot specify the DUMPOPX parameter.
|
Interrupt status: | Enabled or disabled for I/O and external interrupts |
Locks: | The caller may hold locks, but is not required to hold any. |
Control parameters: | None |
Some callers depend on register contents remaining the same before and after issuing a service. If the system changes the contents of registers on which the caller depends, the caller must save them before issuing the service, and restore them after the system returns control.
None.
The SETRP macro is written as follows:
Syntax | Description |
---|---|
name | name: Symbol. Begin name in column 1. |
␢ | One or more blanks must precede SETRP. |
SETRP | |
␢ | One or more blanks must follow SETRP. |
,WKAREA=(reg) | reg: Decimal digits 1-12. |
,REGS=(reg1) | reg1: Decimal digits 0-12, 14, 15. |
,REGS=(reg1,reg2) | reg2: Decimal digits 0-12, 14, 15. |
Note: If you specify (reg1,reg2), specify the registers in the same order as in an STM instruction; for example, to restore all registers except register 13, specify REGS=(14,12). | |
,DUMP=IGNORE |
Default: DUMP=IGNORE |
,DUMPOPT=parm list addr | parm list addr: RX-type address, or register (2) - (12). |
,DUMPOPX=parm list addr | Note: Appropriate only with DUMP=YES. |
,REASON=code | code: Any four-byte number specified in decimal (31-bit) or hexadecimal (32-bit). |
,RC=0 |
Default: RC=0 |
,RETADDR=retry addr | retry addr: RX-type address, or register (2) - (12). |
Note: This parameter may be specified only if RC=4 is specified above. | |
,REMREC=NO | Default: REMREC=NO |
,REMREC=YES | |
,RETREGS=NO | reg info addr: RX-type address, or register (2) - (12). |
,RETREGS=YES | Default: RETREGS=NO |
,RETREGS=YES,RUB=reg |
Note: This parameter may be specified only if RC=4 is specified above. |
,RETREGS=64 | |
,FRESDWA=NO | Default: FRESDWA=NO |
,FRESDWA=YES | Note: This parameter may be specified only if RC=4 is specified above. |
,COMPCOD=comp code | comp code: Symbol, decimal digit, or register (2) - (12). |
,COMPCOD=(comp |
Default: COMPCOD=(comp code,USER) |
,RECPARM=record list addr | record list addr: RX=type address, or register (2) - (12). |
,RETRYAMODE=amode | amode: decimal 24, 31, or 64. Only honored for ESTAE, ESTAI, ESTAEX, and IEAARR recovery routines. |
The parameters are explained as follows:
DUMP=YES does not guarantee that a SYSABEND/SYSUDUMP will be taken. You may specify this request in an FRR for an SRB but you will get an abdump only if the SRB abend successfully percolates to a task and none of the FRRs for that task choose to retry and the final value of the DUMP= remains the same after every recovery routine has received control.
If the specified dump options include subpools for storage areas to be dumped, up to seven subpools can be dumped. Subpool areas are accumulated and wrapped, so that the eighth subpool area specified replaces the first.
If the dump options specified include ranges of storage areas to be dumped, only the storage areas in the first thirty ranges will be dumped.
The TCB, DCB, ID, and STRHDR options available on SNAP or SNAPX are ignored if they appear in the parameter list. The TCB used is the one for the task that encountered the error. The DCB used is one created by the system, and either SYSABEND, SYSMDUMP, or SYSUDUMP is used as a DDNAME.
The entry is removed before control returns to the retry point. If REMREC=YES is not coded on any SETRP invocation before the system receives control, the effect is that of specifying REMREC=NO. The REMREC parameter may be used to remove a recovery routine that has been established with a token, although the token cannot be specified when you code the SETRP macro.
Specifying RETREGS=64 is the same as specifying RETREGS=YES, except the registers for retry are the 64-bit general purpose registers in field SDWAG64.
The three fields are left-justified, and padded with blanks.
None.
None.
SETRP RC=0,DUMP=NO,REGS=(14),WKAREA=(3), X
COMPCOD=(X'00A',USER)
SETRP RC=4,RETREGS=YES,DUMP=YES,FRESDWA=YES, X
REGS=(14,12),RETADDR=X