z/OS DFSMSdfp Advanced Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Invocation Syntax

z/OS DFSMSdfp Advanced Services
SC23-6861-01

The following figure illustrates the syntax for the DESERV EXIT function:

Read syntax diagramSkip visual syntax diagram
>>-+-------+--DESERV FUNC=EXIT--+-------------------------+----->
   '-label-'                    |              .-TASK---. |   
                                '-,EXIT_SCOPE=-+-GLOBAL-+-'   

>--+-----------------------------+------------------------------>
   |               .-NOREPLACE-. |   
   '-,EXIT_OPTION=-+-REPLACE---+-'   
                   +-DELETE----+     
                   '-QUERY-----'     

>--+----------------------------+------------------------------->
   '-,EXIT_DST=-+-dst_address-+-'   
                '-(2-12)------'     

>--,EXIT_PREV_DSTPTR=-+-dstPTR_address-+------------------------>
                      '-(2-12)---------'   

>--+---------------------------------------------+-------------->
   |      .-S----------------------------------. |   
   '-,MF=-+-L----------------------------------+-'   
          |                  .-,COMPLETE-.     |     
          '---(E,-+-(1-12)-+-+-,NOCHECK--+-)---'     
                  '-label--'                         

>--+------------------+--+------------------+------------------><
   '-,RETCODE=retcode-'  '-,RSNCODE=rsncode-'   

FUNC=EXIT
Requests the DESERV function which operates on a DESERV exit. This keyword is always required except when MF=E is coded with "NOCHECK" and no other keywords are coded or MF=L is coded with no other keywords. For the MF=E case, the FUNC keyword and other keywords specified on the MF=L DESERV macro invocation are assumed to have been coded completely.
EXIT_SCOPE=GLOBAL or TASK
Specifies whether the exit specified will be of a TASK level or of a GLOBAL level.
EXIT_OPTION=REPLACE or NOREPLACE or DELETE or QUERY
If EXIT_OPTION=REPLACE or NOREPLACE is coded, this specifies whether this invocation of the DESERV FUNC=EXIT should replace an existing DESERV EXIT (TASK or GLOBAL as specified by the EXIT_SCOPE parameter). EXIT_PREV_DST will return the existing exit or be set to zero if one does not exist.

If EXIT_OPTION=DELETE is coded, this indicates that the current exit is to be deleted (EXIT_OPTION=DELETE). In this case the EXIT_DST parameter specifies the address of the DST which is to be deleted. This address will be used as the compare value in a compare and swap operation, and only the currently active exit can be deleted. The DST address specified with the EXIT_PREV_DSTPTR parameter will be used as the swap value.

If EXIT_OPTION=QUERY is coded, this indicates that the current exit DST address is to be returned via the EXIT_PREV_DSTPTR parameter.

EXIT_DST=deserv_exit_screen_table RX-Type Address or (2-12)
Specifies the address of the DESERV Screen Table (DST). The screen table is mapped by DST DSECT of the IGWDES mapping macro. For an EXIT_OPTION of either NOREPLACE or REPLACE, this parameter defines the DST and defines the exit routine address which becomes the currently active exit if the operation is successful. For an EXIT_OPTION of DELETE, this parameter defines the DST whose address is used as a compare value in a compare and swap operation when deleting the current DST (the address of the input DST is used as the compare value). If the compare fails, DESERV returns an error return and reason code. If EXIT_OPTION=QUERY is coded, this parameter is not required.
EXIT_PREV_DSTPTR=addr_of_deserv_exit_screen_table RX-Type Address or (2-12)
The EXIT_PREV_DSTPTR is an output parameter when an EXIT_OPTION of NOREPLACE, REPLACE or QUERY is specified, and an input parameter if an EXIT_OPTION of DELETE is specified.

For EXIT_OPTION=NOREPLACE or QUERY this parameter specifies a four byte field into which DESERV will return the address of the current DST (or zero if no DST exists).

For EXIT_OPTION=REPLACE, this parameter specifies a four byte field into which DESERV will return the address of the DST which was successfully replaced (or zero if no previous DST existed).

For EXIT_OPTION=DELETE, this parameter specifies a four byte field that points to the DST that DESERV restore as the current DST. This address is the swap value for the compare and swap operation.

MF=S or L or {(E,{(1-12) or label}{,COMPLETE or NOCHECK})} RX-Type Address or (1-12) - for MF=E second argument Default=S - if the MF keyword is not specified Default=COMPLETE - if MF=E is specified without the third argument (COMPLETE or NOCHECK).
Specifies the format of the macro expansion.

The Standard form, S, checks all required keywords and keywords that are not valid. This form generates a complete inline expansion of the parameter list and code to call the Directory Entry Services routine. The standard form is for programs that are not reenterable, or for programs that do not change values in the parameter list.

L specifies the List form of the macro. This form generates a remote parameter list. Only keywords of argument type KEY or SYM can be coded. Registers are not valid because code generation does not occur, adcons are generated. Invalid keyword checking is done.

Keywords with defaults that are set by MF=L invocation are not reset to their default during MF=E invocation.

E specifies the Execute form of the macro. This form updates the remote parameter list (MF=L) and transfers control to the DESERV routine.

The second parameter for MF=E format is the address of the parameter list created by the MF=L DESERV invocation. This parameter must be specified as either an RX type of address (possibly the label from MF=L macro invocation) or a register enclosed in parentheses.

The third parameter, COMPLETE or NOCHECK, is optional. Default is COMPLETE. This argument specifies whether required keyword checking will be done. If MF=E is coded with the NOCHECK argument then no, some, or all allowed keywords can be specified, assuming that any missing keywords were coded on the MF=L macro invocation. If MF=E is coded with the COMPLETE argument or allowed to default, the parameter list will be zeroed out (except for the parameter list header) This sets all defaults because the defaults for the DESERV macro are 0. All required keywords must be specified.

RETCODE=retcode RX-Type Address or (2-12)
Specifies the address where the return code returned by DESERV will be stored. Can not be specified on MF=L macro format. The default is not to store the return code in virtual storage. The return code is always returned in register 15 without regard to whether RETCODE is coded.
RSNCODE=rsncode RX-Type Address or (2-12)
Specifies the address where the reason code returned by DESERV will be stored. Can not be specified on MF=L macro format. The default is not to store the return code in virtual storage. The return code is always returned in register 0 without regard to whether RETCODE is coded.

DESERV code is available and used by the system starting with DFSMSdfp Version 1.1. However, invoking the EXIT function requires that the appropriate PTF be applied to the system to enable the support. Your program can test to determine if the appropriate level of DFSMS™ or PTF is installed.

If the DESERV FUNC=EXIT interface is called on DFSMS without the support code being available, DESERV returns an error return and reason code.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014