z/OS MVS Program Management: Advanced Facilities
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Save exit

z/OS MVS Program Management: Advanced Facilities
SA23-1392-00

The binder passes control to your save exit routine just prior to rejecting a primary member name or an alias name or after an attempt to save a primary member name or an alias name. The save operation might have succeeded or failed. The binder passes your routine information about the disposition of the name and, in certain situations, you can request that the save be retried.

Note: This exit is not invoked if the target is a z/OS UNIX System Services file.
When specifying this exit on STARTD, you provide the following information by means of the EXITS keyword:
  • The entry point address of the exit routine.
  • Optional user data that is passed directly to the exit without being processed by the binder. This is typically used as an address to dynamic storage when the binder is invoked by a reentrant program, but can be a counter or other data.
  • A third fullword that currently is not used.
The binder passes a parameter list to the exit routine. Register one contains the address of a list of addresses to the following data:
  • The user data specified in the second word of the exit specification.
  • A fullword reason code (see below).
  • A one-character EBCDIC argument identifying the type of name:
'P' for primary member name and 'A' for alias name.
  • A two-byte field specifying the length of the name, followed by the name
  • A fullword return code to be set by the exit.

The reason codes passed to the exit by the binder are as follows:

Reason Code Explanation
00000000 Normal completion.
83008000 No valid member name.
83008001 Duplicate member name.
83008010 Not-executable module replacing executable module.
83008050 Alias name is too long (PDS only).
83008051 Duplicate alias name.
83008052 No ESD for alias target.
83008060 Insufficient virtual storage for STOW (PDS only).
83008070 I/O error in directory.
83008071 Out of space in directory (PDS only).
83008078 Member or alias name not processed (PDSE only).
83008079 Miscellaneous error condition.

The save attempt can be retried only if the reason code is less than 83008050.

Your exit routine should examine the name and reason code. It can either retry the save, retry the save under a new name, or do nothing. Your routine should change the name in the parameter list if a save under a new name is requested.

Your exit routine must set a return code for the binder to control its next action as follows:

Return Code Explanation
00 Continue processing as if the exit routine had not been called.
04 Retry the save with a new name. Your exit routine updates the fourth parameter in the parameter list with the new name. Valid for reason codes 83008000, 83008001, and 83008010.
08 Retry the original save and force a replacement. Valid for reason codes 83008001 and 83008010.

The binder performs the retry operation if requested. Your exit routine can be called repeatedly until the save is successful. There is no limit to the number of retry attempts. Your exit routine must return a zero return code eventually or a never-ending loop could occur.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014