CSVDYNEX terminology

An exit is a set of information defined by the exit provider. That set of information includes:
  • Characteristics of (or rules for) exit routines that are to get control at the exit point
  • Directions for how the system is to transfer control to an exit routine, process the exit routine, and handle recovery.
Control passes to exit routines when the exit provider issues a call; the location of that call request is known as the exit point. The exit provider code defines an exit and later issues the call, as the following diagram shows:
exit provider setup
   _____
   _____

   define the exit
   _____

exit provider processing
   _____
   _____            exit point
   _____           /                           exit routine
   issue the call v---------------------------    ______
   _____                                          ______
   _____                                          ______
                                                  return

You will find the macro easier to use if you understand some facts about exits, exit routines, and callers in CSVDYNEX terms.

An exit that is defined through CSVDYNEX:
  • Has a name unique within the system
  • Can have one or more exit routines associated with it
  • Is invoked by a caller
  • When invoked, causes exit routines associated with it to run
  • Exists over a defined span of time: for the life of the defining task, the life of the defining address space, or the life of the IPL
  • Consists of exit criteria, the characteristics of (or rules for) exit routines that can get control when the exit is invoked
  • Can be enabled for FASTPATH processing, which means there is less system processing
  • Can have its definition removed through CSVDYNEX.
An exit routine that is associated through CSVDYNEX with an exit:
  • Can be in an active or inactive state. An active routine is called; an inactive routine is not.
  • Can have any valid exit routine name
  • Can be added to an exit (or associated with an exit) at any time; likewise, it can be deleted from the exit
  • Will not be called if it does not conform to the exit criteria specified when it was added to the exit
  • Can get control with specific GPRs containing specific information
  • Can return information to the caller in registers and a caller-provided parameter list according to the documented interface.
A caller (that is, the exit provider) that invokes an exit through CSVDYNEX:
  • Causes the active exit routine or routines associated with the exit to run
  • Processes the return codes from the exit routines
  • Receives information from the exit routines in a return area
  • Receives information about exit routine processing
  • Can specify what the contents of certain GPRs are to be when the exit routines get control
  • Can request that the CALL request for the exit have FASTPATH processing.
You can do three main tasks through the CSVDYNEX requests: defining an exit, calling an exit routine, and adding an exit routine to an exit. The first parameter on the CSVDYNEX macro specifies the request. For example, the ADD request is CSVDYNEX REQUEST=ADD, with appropriate parameters. The requests, listed by task, are as follows:

An additional request, the LIST request, is useful for obtaining information about the exits that are defined through the CSVDYNEX macro.