Invoking Platform Server User Exits
You must perform certain actions to invoke a platform server user exit.
Programming Considerations
- Programs must be reentrant and reusable. Otherwise unpredictable results will occur.
- Registers at entry.
- 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.