путь к локальной OA_MEDIA
В течение процесса завершения можем просматривать список открытых задач. FNDSM - корневой конвейер канкаррент-процессинга, FNDLIBR - дочерние. путь к lct-файлам%JDEVHOME%/myhtml/OA_MEDIA
рестарт канкаррент-процессинга$FND_TOP/patch/115/import
Даем команду "Ложись!". Начинается завершение всех заданий на всех конвейерах.
export ADMIN_SCRIPT_HOME=$INST_TOP/admin/scripts cd $ADMIN_SCRIPT_HOME ./adcmctl.sh stop [login]/[password]
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, то в журнал будет записываться, всё, что обернуто так:путь к DBC-файлу
fnd_file.put_line(fnd_file.log, 'My stunning message');
/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
закрытие права (grant) вчерашней датой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;