путь к локальной OA_MEDIA %JDEVHOME%/myhtml/OA_MEDIA
путь к lct-файлам $FND_TOP/patch/115/import
рестарт канкаррент-процессинга
Даем команду "Ложись!". Начинается завершение всех заданий на всех конвейерах.
export ADMIN_SCRIPT_HOME=$INST_TOP/admin/scripts
cd $ADMIN_SCRIPT_HOME
./adcmctl.sh stop [login]/[password]
В течение процесса завершения можем просматривать список открытых задач. FNDSM - корневой конвейер канкаррент-процессинга, FNDLIBR - дочерние.
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
Периодически проверяем количество незакрытых заданий
ps -ef | grep aDEV | grep -i fnd | wc -l
5
Как только все задания будут закрыты, даем команду "Вставай!"
cd $ORACLE_HOME/admin/scripts
./adcmctl.sh start [login]/[password]
логирование через пакет FND_TRANSACTION fnd_transaction.debug_info(function_name => 'MY_PACKAGE',
action_name => 'MY_PROC',
message_text => 'affected: ' || sql%rowcount
);
Запрос для получения записей:
select time, action, message
from FND_CONCURRENT_DEBUG_INFO
where function = 'MY_PACKAGE'
order by time desc
логирование в канкаренте
Если канкарент построен на вызове процедуры PL/SQL, то в журнал будет записываться, всё, что обернуто так:
fnd_file.put_line(fnd_file.log, 'My stunning message');
путь к DBC-файлу /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;