Invoking Platform Server User Exits
You must perform certain actions to invoke a Platform Server user exit.
- Assemble and link edit the exit program into the LOADLIB referenced by the STEPLIB of the Platform Server started task.
- Turn on the corresponding GLOBAL parameter.
For example:
EXIT00=YES - 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 inEXIT_RETURN_CODEfor 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_TIMEto 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, FUSEX06