OeBS misc

путь к локальной 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;
закрытие права (grant) вчерашней датой
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;