Invoking Platform Server User Exits

You must perform certain actions to invoke a platform server user exit.

See the following list for the steps you have to go through.
  1. Assemble and link edit the exit program into the LOADLIB referenced by the STEPLIB of the platform server started task.
  2. Turn on the corresponding GLOBAL parameter.

    For example: EXIT00=YES

  3. Start the platform server.

Programming Considerations

See the following list of the programming considerations:
  • Programs must be reentrant and reusable. Otherwise unpredictable results will occur.
  • Registers at entry.
    On entry to all FTMS exits the following registers are set:
    Registers Value
    R0 N/A
    R1 Address of the EXIT_DSECT control block
    R2 - R12 N/A
    R13 Address of 18 word save area
    R14 Return address
    R15 Entry point of the exit program
  • EXIT_DSECT control block.

    This DSECT is in the FUSION SAMPLIB member EXIDSECT. The assembler version of the queue entry is in FUSION SAMPLIB member OSIQUEUE.

  • Registers at exit.

    R0 - R14 are restored to the value upon entry.

    Error codes are set in EXIDSECT field EXIT_RETURN_CODE. The contents of R15 are ignored. See following the return codes that can be set in EXIT_RETURN_CODE for each exit.
    Exit Name EXIT_RETURN_CODE & Action
    EXIT00 Continues processing; return codes are ignored.
    EXIT01 0: continues processing.

    !=0: terminates transfer. Displays message indicating processing terminated by user exit.

    EXIT03 0: continues processing.

    1: waits for GLOBAL EXIT_MIGRATE_WAIT_TIME to ensure that the 4 -volume has changed.

    4: temporary error.

    >4: permanent error.

    EXIT04 0: continues processing.

    1: the user exit has changed the local file name or the file status and disposition. The platform server will use these changes in the current transfer.

    8: the request is treated as permanent error and will be terminated.

    Other: the request is treated as permanent error and will be terminated.

    EXIT05 Continues processing; return codes are ignored.
    EXIT06 0: continues processing.

    1: the user exit has changed the local file name or the file status and disposition. The platform server will use these changes in the current transfer.

    8: the request is treated as permanent error and will be terminated.

    Other: the request is treated as permanent error and will be terminated.

  • Sample program: sample exits are in the following FUSION.SAMPLIB members:

    FUSEX00, FUSEX01, FUSEX03, FUSEX04, FUSEX05, and FUSEX06.