Path to local OA_MEDIA %JDEVHOME%/myhtml/OA_MEDIA
Path to lct files $FND_TOP/patch/115/import
Restarting concurrent processing
We issue the "Lie down!" command. This starts the termination of all jobs on all pipelines.
export ADMIN_SCRIPT_HOME=$INST_TOP/admin/scripts
cd $ADMIN_SCRIPT_HOME
./adcmctl.sh stop [login]/[password]
During the termination process, we can view the list of open tasks. FNDSM is the root pipeline of concurrent processing, FNDLIBR are child processes.
ps -ef | grep aDEV | grep -i fnd
aDEV 16714 1 0 11:11 ? 00:00:00 FNDSM
aDEV 18658 16714 0 11:29 ? 00:00:00 FNDLIBR
aDEV 18659 16714 0 11:29 ? 00:00:00 FNDLIBR
aDEV 18660 16714 0 11:29 ? 00:00:00 FNDLIBR
aDEV 18661 16714 0 11:29 ? 00:00:00 FNDLIBR
aDEV 18662 16714 0 11:29 ? 00:00:00 FNDLIBR
aDEV 18663 16714 0 11:29 ? 00:00:00 FNDLIBR
Periodically check the number of open tasks
ps -ef | grep aDEV | grep -i fnd | wc -l
5
As soon as all tasks are closed, we issue the "Get up!" command
cd $ORACLE_HOME/admin/scripts
./adcmctl.sh start [login]/[password]
Logging via the FND_TRANSACTION package fnd_transaction.debug_info(function_name => 'MY_PACKAGE',
action_name => 'MY_PROC',
message_text => 'affected: ' || sql%rowcount
);
Query to retrieve records:
select time, action, message
from FND_CONCURRENT_DEBUG_INFO
where function = 'MY_PACKAGE'
order by time desc
Logging in concurrent processing
If the concurrent process is built on calling a PL/SQL procedure, everything wrapped like this will be logged:
fnd_file.put_line(fnd_file.log, 'My stunning message');
Path to DBC file /oracle/[ROOT_DIR]/[SERVER_NAME]/inst/apps/[INSTANCE_NAME]/appl/fnd/12.0.0/secure
select app.application_short_name,
v.APPLICATION_TABLE_NAME,
v1.APPLICATION_COLUMN_NAME,
v1.form_left_prompt
from FND_DESCRIPTIVE_FLEXS_VL v,
FND_DESCR_FLEX_COL_USAGE_TL v1,
FND_APPLICATION app
where v1.DESCRIPTIVE_FLEXFIELD_NAME = v.DESCRIPTIVE_FLEXFIELD_NAME
and app.application_id = v.APPLICATION_ID
and v1.language = 'RU'
order by app.application_short_name,
v.APPLICATION_TABLE_NAME,
v1.APPLICATION_COLUMN_NAME
declare
l_compile FND_JOBS_PKG.SUBMIT_MENU_COMPILE%TYPE;
begin
for ent in ( select me.menu_id, me.entry_sequence
from fnd_menus_vl project_tab
, fnd_menu_entries_vl me
where project_tab.menu_id = me.menu_id
and project_tab.menu_name = 'XXMY_MENU1'
and upper(me.prompt) like '%TMP_ITEM%'
and me.function_id is not null) loop
fnd_menu_entries_pkg.delete_row(x_menu_id => ent.menu_id,
x_entry_sequence => ent.entry_sequence);
end loop;
l_compile := fnd_menu_entries_pkg.submit_compile;
dbms_output.put_line('compile menu status = '||l_compile);
commit;
end;
declare
-- Local variables here
l_api_version number := 1.0;
l_name varchar2(50) := 'XX_SOME_RIGHT';
l_end_date date := trunc(sysdate - 1);
l_out varchar2(1024);
l_grant_row FND_GRANTS%ROWTYPE;
begin
select * into l_grant_row
from FND_GRANTS
where name = l_name;
FND_GRANTS_PKG.update_grant(p_api_version => l_api_version,
p_end_date => l_end_date,
p_grant_guid => l_grant_row.grant_guid,
p_start_date => l_grant_row.start_date,
p_name => l_grant_row.name,
p_description => l_grant_row.description,
x_success => l_out);
dbms_output.put_line(l_out);
commit;
end;