Syntax format of the EXIT statements

Syntax format of EXIT ADD:
 EXIT ADD
      EXITNAME(ex)
      MODNAME(mmmm)
      [STATE({ACTIVE|INACTIVE})]
      [DSNAME(dd)]
      [JOBNAME(jjj|*)]
      [ABENDNUM(n[,CONSEC])]
      [FIRST|LAST]
      [PARAM(param)]
Syntax format of EXIT REPLACE:
 EXIT REPLACE
      EXITNAME(ex)
      MODNAME(mmmm)
      [STATE({ACTIVE|INACTIVE})]
      [DSNAME(dsn)]
Syntax format of EXIT MODIFY:
 EXIT MODIFY
      EXITNAME(ex)
      MODNAME(mmmm)
      [STATE({ACTIVE|INACTIVE})]
      [JOBNAME(jjj|*)]
Syntax format of EXIT DELETE:
 EXIT DELETE
      EXITNAME(ex)
      MODNAME(mmmm)
      [FORCE({YES|NO})]
Syntax format of EXIT UNDEFINE:
 EXIT UNDEFINE
      EXITNAME(ex)
Syntax format of EXIT ATTRIB:
 EXIT ATTRIB
      EXITNAME(ex)
      KEEPRC(compare,kk)
EXIT
Statement type indicating that an action is to be performed on an exit or an exit routine.
ADD
Specifies that an exit routine is to be added to an exit.
Default value: None
REPLACE
Replaces an exit routine for an exit.
MODIFY
Specifies that the state of an exit routine is to be changed to active or inactive, and sets the conditions under which the exit routine is to be given control.
Default value: None
DELETE
Specifies that an exit routine is to be deleted from an exit.
Default value: None
UNDEFINE
Specifies that an implicitly defined exit is to be undefined. You define an exit implicitly if you add exit routines to it before it has been defined, or if you set attributes for it using the ATTRIB parameter before it has been defined. You can determine which exits have been implicitly defined by using the DISPLAY PROG,EXIT,ALL,IMPLICIT command.
Default value: None
ATTRIB
Specifies that the attributes of an exit are to be changed.
Default value: None
EXITNAME(ex)
The 1-16 character name of the exit. Names must be unique within the system. You can use alphanumerics, underscores, periods, and #, $, or @. (but never with the character string "SYS").
Default value: None
MODNAME(mmmm)
The 1-8 character name of the exit routine. You can use alphanumerics and #, $, and @.

If the DSNAME parameter is not specified, the system tries to locate the exit routine using the LPA, the LNKLST concatenation, and the nucleus. The MODNAME parameter is required for the ADD, DELETE, and MODIFY requests.

Default value: None
[STATE({ACTIVE|INACTIVE})]
Indicates the state of the exit routine. ACTIVE indicates that the exit routine is to be given control when the exit is called. INACTIVE indicates that the exit routine is not to be given control when the exit is called.
Default value: The default for the ADD parameter is ACTIVE. The default for the MODIFY parameter is to leave the current state of the exit routine unchanged.
[DSNAME(dd)]
The 1-44 character data set name of a load library in which the exit routine resides. The data set must be cataloged.

If the data set has been migrated, the issuer of the command that references PROGxx waits until the data set has been retrieved before continuing.

If the PROGxx member is specified in the IEASYSxx member, an exit routine fetched from the data set specified in a DSNAME parameter cannot be given control until the master scheduler is initialized. In contrast, an exit routine not fetched from the DSNAME-specified data set can be given control once the LNKLST is opened.

Default value: If the DSNAME parameter is not specified, the system tries to locate the exit routine using the LPA, the LNKLST concatenation, and the nucleus.
[JOBNAME(jjj|*)]
The 1-8 character name of the job or jobs for which this exit routine is to be given control. Note that you can only specify the JOBNAME parameter for an active exit routine. If the exit is called from another job, this exit routine is not given control. You can use the JOBNAME parameter to restrict the processing of an exit routine to a particular job.To indicate the name of more than one job, use an asterisk for the last character. A matching jobname is one that matches all the characters preceding the asterisk.

If you specify JOBNAME=*, you are requesting that the system not check for the jobname.

Default value: The default for the ADD parameter is JOBNAME=*, which indicates that the exit routine is to be given control when any job calls the exit. The default for the MODIFY parameter is to use the jobname or jobnames as specified on the ADD request.
[ABENDNUM(n[,CONSEC])]
Indicates when the system should stop giving control to the exit routine in case of abends. ABENDNUM(n) indicates that the exit routine is not to be given control after the nth abend. ABENDNUM=(n,CONSEC) indicates that there must be n consecutive abends before the system stops giving control to the exit routine. CONSEC is not supported if this exit has FASTPATH processing in effect and either a PSW key 8 to 15 or ANYKEY processing in effect.
Default value: The default is to use the ABENDNUM characteristics that were specified (or defaulted) when the exit was defined, or, if the exit is implicitly defined, the ABENDNUM characteristics that are specified when the exit is subsequently defined. The ABENDNUM value must not exceed 8 decimal digits.
[FIRST]
Specifies that the system is to call the exit routine before all other exit routines associated with this exit, unless another routine, added after it, also specifies the FIRST parameter.
Default value: If neither the FIRST parameter nor the LAST parameter is specified, the system may call the exit routine in any order relative to other exit routines associated with this exit.
[LAST]
Specifies that the system is to call the exit routine after all other exit routines associated with this exit, unless other routines are added after it.
Default value: If neither the FIRST parameter nor the LAST parameter is specified, the system may call the exit routine in any order relative to other exit routines associated with this exit.
PARAM=param
The 1 - 8 character parameter that is passed to the exit routine. If this parameter is less than 8 bytes, it is padded with blanks until it is 8 bytes. The first 4 bytes are passed to the exit routine in access register 0. The second 4 bytes are passed to the exit routine in access register 1. If you specify characters other than the following characters within the PARAM string, you must enclose the parameter string within single quotation marks:
  • Uppercase alphabetic characters A - Z
  • Numerics 0 - 9
  • Special characters @, $ , #
  • Period, asterisk, question mark, underscore, hyphen
[FORCE({YES|NO})]
Indicates that the system is to delete the exit routine. The exit routine will no longer be given control. Specify FORCE(YES) for an exit with FASTPATH processing in effect, and either a PSW key 8 to 15, or ANYKEY processing in effect. Assuming the exit has FASTPATH processing in effect, and the PSW key is 8 to 15, or ANYKEY processing is in effect:
  • FORCE(NO) changes the state of the exit routine to inactive. The system does not free the storage.
  • FORCE(YES) frees the storage of the exit routine immediately. Use FORCE(YES) only if you are sure that no exit is running that exit routine.

For exits that are non-FASTPATH or whose PSW key is 0 to 7, and not ANYKEY, the system frees the storage when it determines that no other exits are using the exit routine.

Default value: FORCE(NO)
KEEPRC(compare,kk)
Specifies a comparison and a return code which, if true, cause the return information produced by this exit routine to be returned to the exit caller. The valid choices for compare are EQ, NE, GT, LT, GE, and LE. For example, with KEEPRC(GT,4), if the exit routine produces a return code of 8, the compare for greater than with 4 is true, and KEEPRC processing causes the information produced by this exit routine to be returned to the exit caller.

If return codes from more than one exit routine match the conditions specified, the system returns information from the exit routine that finishes first.

Default value: The default is not to perform KEEPRC processing. Do not enter more than 8 decimal digits when specifying a value for kk. Refer to z/OS MVS Programming: Authorized Assembler Services Reference ALE-DYN for information about using the KEEPRC parameter.