If you create an Executable without creating a concurrent program, the system will allow to delete the Executable. But once you create the Concurrent Program for that Executable, the system never allows you to delete the program -- it only gives the option to disable the Concurrent Program.
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 := 'XXAJ_IFFCO_COST_SUMARY'; -- concurrent program short name
lv_appl_short_name := 'XXIFF'; -- 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;
Ur's
AmarALam
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 := 'XXAJ_IFFCO_COST_SUMARY'; -- concurrent program short name
lv_appl_short_name := 'XXIFF'; -- 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;
Ur's
AmarALam
2 comments:
Great post with unique information.This blog will really helpful for me to develop my skills in a right way.Thanks for sharing,keep update with your blogs.
Website Design Company in Bangalore | Mobile App Development Companies in Bangalore | Website Development Company in Bangalore
Post a Comment