At that point, your only option is to delete the Concurrent Program and its Executable from the back-end. Following is a simple straight-forward query that you can use for deleting a Concurrent Program. This query first checks if the concurrent program and its executable exist in the system. If found, it will delete the program; if not found, it will just display a message.
In this example, 'XX_TEST' is my Concurrent Program's Short Name and 'XX' is the Application Short Name. You will have to use appropriate program name and application short name according to your need.
-------------------------------------------------------------------------------
-- delete concurrent program definition and executable
from back-end
-------------------------------------------------------------------------------
-- syntax:
--
delete_program
(program_short_name, application_short_name)
--
delete_executable (program_short_name, application_short_name)
-------------------------------------------------------------------------------
DECLARE
lv_prog_short_name VARCHAR2(240);
lv_appl_short_name VARCHAR2(240);
BEGIN
-- set the variables first
lv_prog_short_name := 'XX_TEST'; --
concurrent program short name
lv_appl_short_name := 'XX'; --
application short name
-- see if the program exists. if found, delete the
program
IF
fnd_program.program_exists
(lv_prog_short_name, lv_appl_short_name) AND
fnd_program.executable_exists (lv_prog_short_name,
lv_appl_short_name)
THEN
fnd_program.delete_program(lv_prog_short_name, lv_appl_short_name);
fnd_program.delete_executable(lv_prog_short_name, lv_appl_short_name);
COMMIT;
DBMS_OUTPUT.PUT_LINE
(lv_prog_short_name || ' deleted successfully');
-- if the program does not exist in the system
ELSE
DBMS_OUTPUT.PUT_LINE
(lv_prog_short_name || ' not found');
END IF;
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE ('Error: ' || SQLERRM);
END;
No comments:
Post a Comment