This program removes an exit program and deregisters an exit point from the registration facility.
F*************************************************************** F*************************************************************** F* F* Program: Remove an Exit Program F* Deregister an Exit Point F* F* Language: OPM RPG F* F* Description: This program removes an exit program and F* deregisters an exit point from the registration F* facility. F* F* APIs Used: QUSRMVEP - Remove Exit Program F* QUSDRGPT - Deregister Exit Point F* F*************************************************************** F*************************************************************** F* FQPRINT O F 132 PRINTER UC I* I* Error Code parameter include. As this sample program I* uses /COPY to include the error code structure, only the first I* 16 bytes of the error code structure are available. If the I* application program needs to access the variable length I* exception data for the error, the developer should physically I* copy the QSYSINC include and modify the copied include to I* define additional storage for the exception data. I* I/COPY QSYSINC/QRPGSRC,QUSEC I* I* I* Miscellaneous data I* I DS I B 1 40PGMNBR I I 'EXAMPLE_EXIT_POINT ' 5 24 EPNTNM C* C* Beginning of mainline C* C* Remove an exit program from the exit point and then deregister C* the exit point. It is not necessary to remove exit programs C* from an exit point before deregistering the exit point. It is C* done here only for illustrative purposes. C* C* Initialize the error code parameter. To signal exceptions to C* this program by the API, you need to set the bytes provided C* field of the error code to zero. Because this program has C* exceptions sent back through the error code parameter, it sets C* the bytes provided field to the number of bytes it gives the C* API for the parameter. C* C Z-ADD16 QUSBNB C* C* Call the API to remove the exit program. C* C CALL 'QUSRMVEP' C PARM EPNTNM C PARM 'EXMP0100'FORMAT 8 C PARM 1 PGMNBR C PARM QUSBN C* C* If an exception occurs, the API returns the exception in the C* error code parameter. The bytes available field is set to C* zero if no exception occurs and greater than zero if an C* exception does occur. C* C QUSBNC IFGT 0 C OPEN QPRINT C EXCPTERRPGM C EXSR DONE C ENDIF C* C* If the call to remove the exit program is successful, C* deregister the exit point. C* C* Call the API to deregister the exit point. C* C CALL 'QUSDRGPT' C PARM EPNTNM C PARM 'EXMP0100'FORMAT C PARM QUSBN C* C* If an exception occurs, the API returns the exception in the C* error code parameter. The bytes available field is set to C* zero if no exception occurs and greater than zero if an C* exception does occur. C* C QUSBNC IFGT 0 C OPEN QPRINT C EXCPTERREPT C EXSR DONE C ENDIF C EXSR DONE C* C* End of MAINLINE C* C* C* Return to programs caller C DONE BEGSR C SETON LR C RETRN C ENDSR O* OQPRINT E 106 ERREPT O 'Attempt to deregister ' O 'exit point failed: ' O QUSBND OQPRINT E 106 ERRPGM O 'Attempt to remove exit ' O 'program failed: ' O QUSBND