Start of change

Controlling the file validate exit routine through the dynamic exits facility

IBM® has defined the File Validate installation exit to the dynamic exits facility. You can refer to the dynamic exit by the name OCE_FILEVALIDATE. You can use the EXIT statement of the PROGxx parmlib member, the SETPROG EXIT operator command, or the CSVDYNEX macro to control this exit and the exit routines of the exit.

The system attempts to add exit routine OCE_FILEVALIDATE, unless an exit routine has been associated with OCE_FILEVALIDATE by PROGxx or SETPROG.

If you have associated exit routines with OCE_FILEVALIDATE the system does not use the default exit routine. In this case, if you require an exit routine of the default name, you must explicitly add the default exit routine to PROGxx.

To limit the number of times the exit routine ends with an abend, before the exit routine becomes inactive, you can use the ADDABENDNUM and ABENDCONSEC parameters on the CSVDYNEX REQUEST=ADD macro, or the ABENDNUM parameter of the SETPROG EXIT operator command or the ABENDNUM parameter of the PROGxx EXIT statement. By default, the system disables the exit routine if the exit routine ends with an abend on two successive calls. An abend is counted when both of the following conditions exist:
Return codes for multiple exit routines: If you have associated multiple exit routines with the OCE_FILEVALIDATE exit, and those exit routines return different valid return codes (as listed in the following section), then the final return code is determined as follows:
  1. If at least one exit routine has a return code of 0, the volume is accepted.
  2. Else if any exit routine has a return code of 8 then the final return code is 8, and the volume is rejected.
  3. Otherwise the final return code is 4, and the system continues processing.
If any exit routine returns a non-valid return code, an ABEND is issued.
End of change