I/O Exit

Note: User specified program names are limited. For more information, refer to User Specified Program Limitation Feature.

The IBM® Connect:Direct® I/O exit provides an interface to user-written programs, allowing them to read and write data to or from a file whose organization IBM Connect:Direct does not support or would improperly access. Examples are internal format access to CA-LIBRARIAN or CA-PANVALET files.

Note: Checkpoint/restart is not supported for I/O exits.

If you plan to use an I/O exit, consider the following items:

  • All I/O exits must be re-entrant, AMODE 31, follow IBM Assembler linkage standards, and reside in an authorized load library on the node where they are referenced. These exits must not alter any IBM Connect:Direct control block fields (except in the EXTCB as indicated in I/O Exit Access to Control Blocks). If other IBM Connect:Direct control block fields are altered, the results are unpredictable.
  • If an ALLOCATION EXIT is specified, it is not given control when the COPY statement contains an IOEXIT keyword.
  • Add any message IDs specified by an I/O exit to the IBM Connect:Direct Message file. See Custom Messages in the Message Library for instructions.
  • Return from the I/O exit in the AMODE under which it was called. For example, if the I/O exit is called in 31-bit mode, the return must be in that mode. Therefore, if IBM Connect:Direct is running on an XA system, return from an I/O exit through a Branch Set Mode (BSM) instruction rather than a Branch (BR) instruction.

After you write the I/O exit to satisfy your specific data set requirements, implement it by specifying the exit name on the IOEXIT keyword on a COPY statement, or on the INSERT and UPDATE TYPE file commands.