ESTAEX - Specify task abnormal exit extended

Note: The ESTAEX macro has the same environment specifications, register information, programming requirements, restrictions and limitations, and performance implications as the ESTAE macro, with the exceptions that follow.

Environment

The requirements for the caller of ESTAEX that are different from ESTAE are:

Environmental factor Requirement
Cross memory mode: Any PASN, any HASN, any SASN
AMODE: 24- or 31- or 64-bit
ASC mode: Primary or access register (AR)

Programming requirements

If the program is in AR mode:
  • Issue the SYSSTATE macro with the ASCENV=AR parameter before you issue ESTAEX. SYSSTATE ASCENV=AR tells the system to generate code appropriate for AR mode.
  • User parameters, specified on the PARAM parameter, can be located in any address space.

Restrictions

The caller of ESTAEX cannot have an EUT FRR established.

The parameters on the standard form of the ESTAEX macro are the same as for the standard form of the ESTAE macro, except BRANCH, SVEAREA, and KEY, which are not valid for ESTAEX.

Syntax

The standard form of the ESTAEX macro is written as follows:

Syntax Description
   
   name name: Symbol. Begin name in column 1.
   
One or more blanks must precede ESTAEX.
   
ESTAEX  
   
One or more blanks must follow ESTAEX.
   
exit addr exit addr: A-type address, or register (2) - (12).
0  
   
   ,CT Default: CT
   ,OV  
   
   ,PARAM=list addr list addr: A-type address, or register (2) - (12).
   
   ,XCTL=NO Default: XCTL=NO
   ,XCTL=YES  
   
   ,PURGE=NONE Default: PURGE=NONE
   ,PURGE=QUIESCE  
   ,PURGE=HALT  
   
   ,ASYNCH=YES Default: ASYNCH=YES
   ,ASYNCH=NO  
   
   ,CANCEL=YES Default: CANCEL=YES
   ,CANCEL=NO  
   
   ,TERM=NO Default: TERM=NO
   ,TERM=YES  
   
   ,RECORD=NO Default: RECORD=NO
   ,RECORD=YES  
   
   ,TOKEN=token addr token addr: A-type address, or register (2) - (12).
   
   ,RELATED=value value: Any valid macro keyword specification.
   
   ,SPIEOVERRIDE=NO Default: SPIEOVERRIDE=NO
   ,SPIEOVERRIDE=YES  
   

Parameters

The parameters are explained under the syntax for the standard form of the ESTAE macro.

ABEND codes

None.

Return and reason codes

When control returns to the instruction following the ESTAEX macro, the return code in GPR 15 and the reason code in GPR 0 might be different from those for the ESTAE macro. The following table lists the return and reason codes for ESTAEX.

Table 1. Return and Reason Codes for the ESTAEX Macro
Hexadecimal Return Code Hexadecimal Reason Code Meaning and Action
00 None Meaning: Successful completion of the ESTAEX request.

Action: None.

04 00 Meaning: Program error. ESTAEX OV was specified but ESTAEX CT was performed. No valid ESTAE recovery routine existed.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

04 04 Meaning: Program error. ESTAEX OV was specified but ESTAEX CT was performed. The last ESTAE recovery routine was not owned by the user's RB.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

04 08 Meaning: Program error. ESTAEX OV was specified but ESTAEX CT was performed. The last ESTAE recovery routine was not created at the current linkage stack level.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

04 0C Meaning: Program error. ESTAEX OV was specified but ESTAEX CT was performed. The last recovery routine was not an ESTAE recovery routine.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

08 None Meaning: Program error. The ESTAEX request was not valid.

Action: Correct the request and either reissue the ESTAEX macro or rerun your program, as appropriate.

0C None Meaning: Program error. A recovery routine address equal to zero was specified, and either
  • There are no recovery routines for this TCB,
  • The most recent recovery routine is not owned by the caller,
  • The most recent recovery routine is not an ESTAE recovery routine, or
  • The ESTAE was created with the TOKEN parameter and on a deactivate request, either
    • The token was not specified or
    • The token does not match.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

10 None Meaning: System error. An unexpected error was encountered while this request was being processed.

Action: Rerun your program one or more times. If the problem persists, record the return and reason codes and supply them to the appropriate IBM® support personnel.

14 None Meaning: Environmental error. ESTAEX was unable to obtain storage for a system data area.

Action: Free some storage and reissue the ESTAEX macro.

18 None Meaning: Program error. ESTAEX OV was requested and one of the following occurred:
  • The TOKEN parameter was specified and the ESTAE recovery routine is not owned by the current RB
  • The TOKEN parameter was not specified but the ESTAE recovery routine was created with the TOKEN parameter.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

1C None Meaning: Program error. ESTAEX was unable to access the input parameter list.

Action: Make sure the parameter list is contained in the primary address space and reissue the ESTAEX macro.

20 None Meaning: Program error. XCTL=YES was rejected because the linkage stack was not at the same level as it was when the RB was created.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

24 None Meaning: Program error. A recovery routine address equal to zero was specified, but it was rejected because no ESTAE recovery routines were active for the current linkage stack level.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

28 None Meaning: Program error. The caller was disabled.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

2C None Meaning: Program error. The caller was locked.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

30 None Meaning: Program error. The caller had FRRs on the current FRR stack.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

34 None Meaning: Program error. The caller was in SRB mode.

Action: Correct the environment and either reissue the ESTAEX macro or rerun your program, as appropriate.

Example

The following example show how to establish an ESTAEX recovery routine that receives control for all abends, including CANCEL or DETACH abends, and overrides any SPIE or ESPIE exit that is established:
ESTAEX  addr,PARM=parmaddr,TERM=YES,SPIEOVERRIDE=YES