We can create concurrent programs using
Application Developer Responsibility/System Admin Responsibility,
You can also create Concurrent programs using API's
Here is the code snippet
CCREATE OR REPLACE PROCEDURE XXINV_TEST
IS
v_appl_name VARCHAR2 (240) := 'INV';
lp_mesg VARCHAR2 (2000);
lp_success VARCHAR2 (1) := 'Y';
BEGIN
lp_success := 'Y';
IF Fnd_Program.executable_exists (executable_short_name => 'XXINV_TEST',
application => v_appl_name)
THEN
IF Fnd_Program.program_exists (program => 'XXINV_TEST',
application => v_appl_name)
THEN
BEGIN
DBMS_OUTPUT.put_line (
'Program XXINV_TEST already exists ...now deletiing it '
);
Fnd_Program.delete_program ('XXINV_TEST', v_appl_name);
DBMS_OUTPUT.put_line ('XXINV_TEST deleted successfully ... ');
EXCEPTION
WHEN OTHERS
THEN
lp_success := 'N';
DBMS_OUTPUT.put_line (
'Unable to delete the program XXINV_TEST....'
);
RAISE;
END;
END IF; --pROGRAM eXISTS
BEGIN
DBMS_OUTPUT.put_line (
'Executable XXINV_TEST already exists ...now deletiing it '
);
Fnd_Program.delete_executable ('XXINV_TEST', v_appl_name);
-- dbms_output.put_line('XXINV_TEST deleted successfully ... ');
EXCEPTION
WHEN OTHERS
THEN
lp_success := 'N';
DBMS_OUTPUT.put_line (
'Unable to delete the executable XXINV_TEST....'
);
RAISE;
END;
END IF; ---Excutable exists
IF lp_success = 'Y'
THEN
BEGIN
Fnd_Program.executable (executable => 'XXINV_TEST',
short_name => 'XXINV_TEST',
application => v_appl_name,
description => 'XXINV_TEST',
execution_method => 'SQL*Loader',
execution_file_name => 'XXINV_TEST',
subroutine_name => NULL,
ICON_NAME => NULL,
LANGUAGE_CODE => 'US',
EXECUTION_FILE_PATH => NULL);
EXCEPTION
WHEN OTHERS
THEN
lp_success := 'N';
DBMS_OUTPUT.put_line (
'Unable to Create the executable ..'
);
RAISE;
END;
IF lp_success = 'Y'
THEN
BEGIN
Fnd_Program.register (program => 'XXINV_TEST',
application => v_appl_name,
enabled => 'Y',
short_name => 'XXINV_TEST',
description => 'XXINV_TEST',
executable_short_name => 'XXINV_TEST',
executable_application => v_appl_name,
priority => NULL,
save_output => 'Y',
PRINT => 'N',
cols => 132,
ROWS => 45,
style => NULL --'A4' --to be checked
,
style_required => 'N',
printer => NULL --'' --to be checked
,
use_in_SRS => 'Y',
allow_disabled_values => 'N',
run_alone => 'N',
enable_trace => 'N',
restart => 'Y',
nls_compliant => 'Y',
output_type => 'Text',
execution_options => NULL,
request_type => NULL,
request_type_application => NULL,
icon_name => NULL,
language_code => 'US',
mls_function_short_name => NULL,
mls_function_application => NULL,
incrementor => NULL);
EXCEPTION
WHEN OTHERS
THEN
lp_success := 'N';
DBMS_OUTPUT.put_line ('Unable to Create the executable ....');
RAISE;
END;
END IF;
END IF;
COMMIT;
IF lp_success = 'Y'
THEN
IF Fnd_Program.PROGRAM_IN_GROUP ('XXINV_TEST',
v_appl_name,
'All Inclusive GUI',
v_appl_name)
THEN
BEGIN
DBMS_OUTPUT.put_line (
' Program exist in request group .. now removing it ..'
);
Fnd_Program.REMOVE_FROM_GROUP ('XXINV_TEST',
v_appl_name,
'All Inclusive GUI',
v_appl_name);
-- dbms_output.put_line('Program removed succssfully from request group ...');
EXCEPTION
WHEN OTHERS
THEN
lp_success := 'N';
DBMS_OUTPUT.put_line (
' Error while removing the program from request group ...'
);
RAISE;
END;
END IF;
END IF;
IF lp_success = 'Y'
THEN
Fnd_Program.add_to_GROUP ('XXINV_TEST',
v_appl_name,
'All Inclusive GUI',
v_appl_name);
COMMIT;
END IF;
EXCEPTION
WHEN OTHERS
THEN
lp_success := 'N';
DBMS_OUTPUT.put_line (
'Error Occurs Calling the procedure XXINV_TEST....'
);
RAISE;
END;
/
You can post your requirements/doubts on
- http://forums.ebiztechnics.com. so that we can answer
To test your skill set we are are goint to introduce
- http://tests.ebiztechnics.com
We will put video soon on Oracle APPS basics soon at
- http://videos.ebiztechnics.com