IMS ETO Support user exits

If you require special processing not provided by IMS ETO Support, you can call one of your own ETO exits.

IMS ETO Support's initialization exit attempts to load the following user exits at IMS startup:
  • DFSINTX1 (Initialization user exit)
  • DFSGMSG1 (Greetings Messages user exit)
  • DFSCCMD1 (Command Authorization user exit)
  • DFSINSX1 (Destination Creation user exit)
  • DFSSGFX1 (Signoff user exit)
  • DFSSGNX1 (Signon user exit)
  • DFSSGNX2 (Signon user exit - always called)
  • DFSLGNX1 (Logon user exit)
  • DFSLGNX2 (Logon user exit - always called, unless other logon user exits - DFSLGNX0 or DFSLGNX1 - reject the logon)
  • DFSINSX2 (Destination Creation user exit - called when exit DFSINSX0 ends with a return code of 0)
  • DFSCTRN1 (Transaction Authorization user exit)

If user exit DFSINTX1 is found at startup, the IMS ETO Support initialization exit passes control to it. This user exit is allowed to perform all functions normally, as if IMS ETO Support was not installed. If user exit DFSINTX1 returns the address of a user table, IMS ETO Support stores this address in its own work area.

The table address is passed to the exits listed above as if IMS ETO Support was not involved. If exits other than those listed above require access to this table, review the information in Creating user tables at IMS initialization (SCDINTXP).

Signon user exit processing

You can call both versions of the signon exits (DFSSGNX1 and DFSSGNX2). You can use either, neither, or both of the exits.

DFSSGNX1 processing is performed as follows:
  • It is called only when specified in the user tables
  • It is called instead of IMS ETO Support's Signon exit
  • It is called before signoff cleanup processing
  • It is passed the unchanged IMS parameter list
DFSSGNX2 processing is performed as follows:
  • It is always called, if present
  • It is called after the IMS ETO Support or DFSSGNX1 signon exit
  • It is called after signoff cleanup processing
  • It is passed the updated IMS parameter list (if updated by either IMS ETO Support's Signon exit or DFSSGNX1)

Logon user exit processing

You can call both versions of the Logon exits (DFSLGNX1 and DFSLGNX2). You can use either, neither, or both of the exits.

DFSLGNX1 processing is performed as follows:
  • It is called only when specified in the user tables
  • It is called instead of IMS ETO Support's logon exit, unless the node fails time-of-day logon verification
  • It is passed the unchanged IMS parameter list
DFSLGNX2 processing is performed as follows:
  • It is always called unless the logon is rejected by either the IMS ETO Support or DFSLGNX1 logon exit.

    (IMS ETO Support will reject a logon attempt only when time-of-day processing is active and a terminal is not allowed to logon at a specific time.)

  • It is called after the IMS ETO Support or DFSLGNX1 logon exit.
  • It is passed the updated parameter list (if updated by either IMS ETO Support's logon exit or DFSLGNX1)

Destination Creation user exit processing

You can call your own version of the Destination Creation user exit (DFSINSX1 or DFSINSX2). Only one of these exits can be called.

DFSINSX1 processing is performed as follows:

  • The exit is called only when specified in the user tables
  • The exit is called instead of IMS ETO Support's Destination Creation user exit
  • The exit is passed the unchanged IMS parameter list

DFSINSX2 processing is performed as follows:

  • The exit is called after IMS ETO Support's Destination Creation user exit, and only when it ends with a return code of 0
  • The exit is passed the updated parameter list (if updated by DFSINSX0)

User exit requirements

In order for your ETO exits (other than DFSSGNX2, DFSLGNX2, or DFSINSX2) to be invoked, they must meet the following requirements:

  • They must be link-edited using the number 1 as a suffix.
  • They must have the user tables customized to indicate which device, LUNAME, or user ID should use the user exit. (Customization can be performed using the Batch Update utility IZTUD1U0, or the online IMS transaction program IZTRAN).

In order to be invoked, module DFSINTX1 must be loaded at IMS startup. Except for DFSINTX1, IMS ETO Support allows all modules listed above to be dynamically loaded/reloaded.

When a user exit reload is requested, IMS ETO Support executes an MVS™ LOAD. It does not issue a DELETE for the old module.

Important:
  • Because DFSSGNX2 is called after the other signon exits, be careful not to change any parameter list values supplied by the other exits.
  • Because DFSLGNX2 is called after the other logon exits, be careful not to change any parameter list values supplied by the other exits.
  • Because DFSINSX2 is called after DFSINSX0, be careful not to change any parameter list values set by the other exit.
  • To avoid problems when loading new copies of user exits, avoid taking extents on the library where the exits reside.
  • To avoid possible storage shortage problems, make sure enough storage is available in the IMS address space for the modules you are loading.