z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Provide recovery for an exit routine that abnormally ended

z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN
SA23-1372-00

You use the CSVDYNEX RECOVER request within the recovery routine of the program that issues a CSVDYNEX CALL request with FASTPATH processing. This request is required for FASTPATH processing; without it, the system does not get back control from the abnormally ending exit routine.

On the CSVDYNEX RECOVER request you:
  • Identify the exit (EXITNAME parameter).
  • Provide a work area for the system to use (WORKAREA parameter).
  • Provide an area where the system returns information needed when not all the exit routines at the exit point have gotten control at the time of recovery processing. This allows processing to continue with the next routine (NEXTTOKEN parameter).
  • Provide an area where the system places information from the exit routine that abnormally ended (RETAREA and RETLEN parameters).
  • Give the system the address of the SDWA (SDWA parameter).

Environment

The requirements for the caller are:

Environmental factor Requirement
Minimum authorization: Any of the following:
  • Supervisor state
  • PSW key 0-7
  • PKM allowing key 0-7
  • APF-authorized (not allowed for callers in cross memory mode)
  • SAF READ authority to FACILITY class entity CSVDYNEX.exitname.RECOVER (not allowed for callers in cross memory mode)
Dispatchable unit mode: Task or SRB
Cross memory mode: Any PASN, any HASN, any SASN
AMODE: 24- or 31-bit
ASC mode: Primary or access register (AR)
Interrupt status: Enabled for I/O and external interrupts
Locks: Local and CMS locks may be held, but are not required.
Control parameters: Control parameters and the return area (through RETAREA) must be in the primary address space or, for AR-mode callers, must be in an address space or data space that is addressable through a public entry on the caller's dispatchable unit access list (DU-AL).

Programming requirements

Include the CSVEXRET mapping macro to get a mapping of the area provided through the RETAREA parameter. This macro also defines variables and values for return and reason codes returned by CSVDYNEX. (See z/OS MVS Data Areas in z/OS Internet Library at http://www.ibm.com/systems/z/os/zos/bkserv/.)

Restrictions

None.

Input register information

See Input register information for CSVDYNEX for input register information for the CSVDYNEX RECOVER request.

Output register information

See Output register information for CSVDYNEX for output register information for the CSVDYNEX RECOVER request.

Syntax

The standard form of the RECOVER request on the CSVDYNEX macro is written as follows:

Syntax Description
   
   name name: symbol. Begin name in column 1.
   
One or more blanks must precede CSVDYNEX.
   
CSVDYNEX  
   
One or more blanks must follow CSVDYNEX.
   
REQUEST=RECOVER  
   
,EXITNAME=exitname exitname: RS-type address or address in register (2) - (12).
   
,WORKAREA=workarea workarea: RS-type address or address in register (2) - (12).
   
,NEXTTOKEN=nexttoken nexttoken: RS-type address or address in register (2) - (12).
   
,RETAREA=retarea retarea: RS-type address or address in register (2) - (12).
   
,RETLEN=retlen retlen: RS-type address or address in register (2) - (12).
   
,SDWA=sdwa sdwa: RS-type address or address in register (2) - (12).
   
   ,EXRETVER=0 Default: EXRETVER=0
   ,EXRETVER=1  
   
   ,RETCODE=retcode retcode: RS-type address or register (2) - (12).
   
   ,RSNCODE=rsncode rsncode: RS-type address or register (2) - (12).
   
   ,MF=S  
   

Parameters

The parameters are explained as follows:

REQUEST=RECOVER
Provides recovery for an exit routine that abnormally ended.
,EXITNAME=exitname
Specifies a 16-byte field (or a register containing the address of a 16-byte field) containing the 16-character name of an exit that has been defined to the dynamic exits facility. If the name contains fewer than 16 characters, left-justify the name and pad the field with blanks.
,WORKAREA=workarea
Specifies a 512-character field (or a register containing the address of a field) that the system uses while providing recovery for the exit routine. Align this area on a doubleword boundary. The WORKAREA specified on the RECOVER request must be the WORKAREA that was passed on the CALL request.
,NEXTTOKEN=nexttoken
Specifies a field (or a register containing the address of a field) where the system places an 8-character token that identifies an exit routine that did not get control. The next issuer of the CALL request passes it to the system through the NEXTTOKEN= parameter of the CSVDYNEX CALL request. The NEXTTOKEN specified on the next CALL request should be the NEXTTOKEN specified on the RECOVER request.
,RETAREA=retarea
Specifies a field (or a register containing the address of a field) where the system tells the caller where the error occurred. The mapping macro CSVEXRET maps this area.
,RETLEN=retlen
Specifies a field (or a register containing the address of a field) that tells the system the length of RETAREA. The RETAREA must be long enough to contain at least one entry. The size of the RETAREA for n entries is “L'EXRETHDR+n*L'EXRETINFO”.
,SDWA=sdwa
Specifies a fullword address (or a register containing the address) of the SDWA associated with an abnormal ending of an exit routine (found in GPR 1 on entry to the recovery routine). If no SDWA was passed to the recovery routine, set the fullword to zero.
,EXRETVER=0
,EXRETVER=1
Specifies the format of information to be returned, as mapped by DSECTs within the CSVEXRET data area. EXRETVER=1 returns more information about exit routines than EXRETVER=0.
  • EXRETVER=0, the default, specifies that return information is mapped by the EXRET DSECT.
  • EXRETVER=1 specifies that return information is mapped by the EXRET1 DSECT.
,RETCODE=retcode
Specifies a fullword (or a register containing the address of a fullword) where the system is to store the CSVDYNEX return code. The return code is also in GPR 15.
,RSNCODE=rsncode
Specifies a fullword (or a register containing the address of a fullword) where the system is to store the CSVDYNEX reason code. The reason code is also in GPR 0.
,MF=S
Specifies the standard form of the CSVDYNEX macro.

ABEND codes

None.

Return and reason codes

See Return and reason codes for the return and reason codes for the CSVDYNEX RECOVER request.

Example

For an example of how to provide recovery for an exit routine that has abnormally ended, see Example 5.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014