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


Determine whether an exit routine exists for an exit

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

The CSVDYNEX QUERY request returns information in a return code that tells you whether there are any exit routines associated with an exit. You can then decide whether to proceed with a CSVDYNEX CALL or ADD request (QTYPE=CALL or QTYPE=ADD parameter). Examples of the use of this request are:
  • If no exit routines are associated with the exit, you can omit the CSVDYNEX CALL request.
  • If no exit routines are associated with the exit through a parmlib member or a SETPROG command, you can use the CSVDYNEX ADD request to add a default exit routine.

If the exit has been defined implicitly, you will receive a warning return and reason code.

On the CSVDYNEX QUERY request you identify the exit (EXITNAME parameter) and provide an area for the system to use (WORKAREA parameter).

Environment

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: 31-bit
ASC mode: Primary
Interrupt status: Enabled for I/O and external interrupts
Locks: The local and CMS locks may be held, but are not required.
Control parameters: Control parameters must be in the primary address space.

Programming requirements

Include the CSVEXRET mapping macro to define symbolic names 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 QUERY request.

Output register information

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

Syntax

The standard form of the QUERY 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=QUERY  
   
,EXITNAME=exitname exitname: RS-type address or address in register (2) - (12).
   
,WORKAREA=workarea workarea: RS-type address or address in register (2) - (12).
   
   ,QTYPE=ADD  
   ,QTYPE=CALL Default: QTYPE=CALL
    ,ADDRSPACE=PRIMARY Default: ADDRSPACE=PRIMARY
    ,ADDRSPACE=ANY  
   
   ,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=QUERY
Asks whether an exit routine exists for an exit.
,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. The characters must be left-justified in a 16-character field and padded with blanks.
,WORKAREA=workarea
Specifies a field (or a register containing the address of a field) that provides the 512-character work area that the system uses. Align this area on a doubleword boundary.
,QTYPE=ADD
,QTYPE=CALL
Indicates the type of QUERY request:
  • QTYPE=ADD is issued before a CSVDYNEX ADD request. A return code of X'00' indicates that at least one exit routine is associated with the exit. This return code is issued for QTYPE=ADD even if all associated exit routines are inactive, no matter the reason for the inactive state.
  • QTYPE=CALL, the default, is issued before a CSVDYNEX CALL request. A return code of X'00' indicates that an active exit routine was added. The current JOBNAME and STOKEN of this exit routine match the JOBNAME and STOKEN criteria specified when the exit routine was associated with the exit. Note that it is not necessary to use this prior to using CSVDYNEX=CALL. If you issue a CSVDYNEX CALL request and there are no exit routines associated with the exit, the system returns with return code CSVDYNEXRC_WARN (4) and reason code CSVDYNEXRSNNOMODULES (X'xxxx0406').
    ,ADDRSPACE=PRIMARY
    ,ADDRSPACE=ANY
    When QTYPE=CALL is specified, an optional parameter that indicates the address space to check with respect to a subsequent REQUEST=CALL. The default is ADDRSPACE=PRIMARY.
    • ADDRSPACE=PRIMARY indicates to check for the case where the QTYPE=CALL is for the primary address space.
    • ADDRSPACE=ANY indicates to check for the case where the QTYPE=CALL could be for any address space. An active exit routine added with STOKEN or JOBNAME will match if this is specified, even if the primary address space does not match the STOKEN/JOBNAME.
,RETCODE=retcode
Specifies a fullword (or a register) 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) 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

The CSVDYNEX QUERY request might abnormally terminate with abend code X'0C4' if you provide a field that is not accessible. See z/OS MVS System Codes for an explanation and programmer response.

Return and reason codes

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

Example

For an example of how to identify whether an exit routine exists for an exit, see Example 7.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014