OEBS Меню полномочий — Избранное (Top Ten List)
Для добавления функций в избранное по полномочиям — API:FND_SIGNON.UPDATE_NAVIGATOR
Читать дальше про “OEBS Меню полномочий — Избранное (Top Ten List)” »
Для добавления функций в избранное по полномочиям — API:FND_SIGNON.UPDATE_NAVIGATOR
Читать дальше про “OEBS Меню полномочий — Избранное (Top Ten List)” »
Трассировка сессии Oracle помогает найти проблемные запросы и понять в чем именно причина.
Что именно будет записываться в трассировочный файл, определяется номером события (event).
Стандартный номер события 10046. Именно такой уровень устанавливается при выполнении команды
alter session set sql_trace=true;
Список данных событий и для чего они предназначены можно посмотреть здесь EventReference
Событие трассировки 10046 / Trace event 10046
Включить трассировку в текущей сессии
alter session set events '10046 trace name context forever, level 1';
выключить трассировку в текущей сессии
alter session set events '10046 trace name context off';
Уровни:
Для включения трассировки в другой сессии можно воспользоваться командой
sys.dbms_system.set_ev(sid, serial#, 10046, 12, '');
Путь к директории, где появится файл трассировки
select value from v$parameter where name = 'user_dump_dest';
Задать имя для trace файла
alter session set tracefile_identifier = 'mytrace1';
Понимание трасировочного файла
Запрос для просмотра сессий использующих TEMP
select s.sid , s.client_identifier , s.status , sum(round(u.blocks*8192/1024/1024,3)) "TEMP usage, Mb" , s.osuser, s.machine, s.module, s.action from v$session s, v$sort_usage u where s.saddr = u.session_addr and u.blocks*8192/1024 > 128 -- отсеиваем мелочь group by s.sid, s.osuser, s.machine, s.module, s.action, s.client_identifier,s.status order by "TEMP usage, Mb" desc
Описание нескольких таблиц из схемы IBY (Payments):
IBY.IBY_EXTERNAL_PAYEES_ALL
Платежные атрибуты поставщика (получателя)
IBY.IBY_EXTERNAL_PAYERS_ALL
Платежные атрибуты заказчика (плательщика)
IBY.IBY_ACCOUNT_OWNERS
Владельцы банковского счета
IBY.IBY_PMT_INSTR_USES_ALL
Назначения платежных средств.
Содержит связь между платежными средствами (payment instruments) и плательщиком/получателем (Payer/Payee). Платежным средством может быть кредитная карта или банковсвкий счет.
Посмотреть поля по которым можно связать счет-фактуру (СФ) и данные в XLA таблицах можно через форму настройки.
Аналогичным способом можно посмотреть связку для платежей, поступлений и т.д.
Полномочия «Payables Manager» — меню «Setup» — «Accounting Setup» — «Subledger Accounting Setup» — «Accounting Methods Builder» — «Events» — «Event Model»
В Oracle Forms для удаления элемента из списка (List item)
используем комбинацию CTRL+SHIFT+< .
Пример использования API для обновления корреспондентского счёта банка. (корр. счёт)
declare p_brunch_number varchar2(30) := '!NUM'; p_ksnp varchar2(40) := '!CORR_ACCOUNT'; -- l_contact_point_rec hz_contact_point_v2pub.contact_point_rec_type; l_edi_rec hz_contact_point_v2pub.edi_rec_type; l_obj_vers NUMBER; l_party_id number; -- x_return_status varchar2(1); x_msg_count number; x_msg_data varchar2(4000); begin select party_id into l_party_id from ar.hz_organization_profiles hop where 1=1 and sysdate between hop.effective_start_date and nvl(hop.effective_end_date, sysdate+1) and hop.bank_or_branch_number = p_brunch_number; dbms_output.put_line('l_party_id='||l_party_id); SELECT contact_point_id, object_version_number into l_contact_point_rec.contact_point_id, l_obj_vers FROM hz_contact_points WHERE contact_point_type = 'EDI' AND owner_table_name = 'HZ_PARTIES' AND owner_table_id = l_party_id; dbms_output.put_line('l_obj_vers='||l_obj_vers); dbms_output.put_line('contact_point_id='||l_contact_point_rec.contact_point_id); l_edi_rec.edi_ece_tp_location_code := p_ksnp; hz_bank_pub.update_edi_contact_point (fnd_api.g_true, l_contact_point_rec, l_edi_rec, l_obj_vers, x_return_status, x_msg_count, x_msg_data ); dbms_output.put_line('--'); dbms_output.put_line('Return status = '||x_return_status); if x_return_status != fnd_api.g_ret_sts_success then if x_msg_count = 1 then dbms_output.put_line ('Error:' || x_msg_data); else FOR i IN 1 .. x_msg_count LOOP dbms_output.put_line('Error:' || fnd_msg_pub.get(fnd_msg_pub.g_next, fnd_api.g_false) ); END LOOP; end if; end if; -- commit; exception when others then dbms_output.put_line('SQLERRM:'||SQLERRM||chr(10)); dbms_output.put_line('FORMAT_ERROR_BACKTRACE:'||chr(10)||dbms_utility.format_error_backtrace); raise; end;
Пример использования API для обновления БИК банка.
declare p_brunch_number varchar2(30) := '!NUM'; p_bic varchar2(9) := '!NEW_BIC'; -- l_contact_point_rec hz_contact_point_v2pub.contact_point_rec_type; l_eft_rec hz_contact_point_v2pub.eft_rec_type; l_eft_vers number; l_party_id number; -- x_return_status varchar2(1); x_msg_count number; x_msg_data varchar2(4000); begin select party_id into l_party_id from ar.hz_organization_profiles hop where 1=1 and sysdate between hop.effective_start_date and nvl(hop.effective_end_date, sysdate+1) and hop.bank_or_branch_number = p_brunch_number; dbms_output.put_line('l_party_id='||l_party_id); SELECT contact_point_id, object_version_number into l_contact_point_rec.contact_point_id, l_eft_vers FROM hz_contact_points WHERE contact_point_type = 'EFT' AND owner_table_name = 'HZ_PARTIES' AND owner_table_id = l_party_id; dbms_output.put_line('l_eft_vers='||l_eft_vers); dbms_output.put_line('contact_point_id='||l_contact_point_rec.contact_point_id); l_eft_rec.eft_swift_code := p_bic; hz_bank_pub.update_eft_contact_point ( fnd_api.g_true, l_contact_point_rec, l_eft_rec, l_eft_vers, x_return_status, x_msg_count, x_msg_data ); dbms_output.put_line('--'); dbms_output.put_line('Return status = '||x_return_status); if x_return_status != fnd_api.g_ret_sts_success then if x_msg_count = 1 then dbms_output.put_line ('Error:' || x_msg_data); else FOR i IN 1 .. x_msg_count LOOP dbms_output.put_line('Error:' ||fnd_msg_pub.get(fnd_msg_pub.g_next,fnd_api.g_false)); END LOOP; end if; end if; -- commit; exception when others then dbms_output.put_line('SQLERRM:'||SQLERRM||chr(10)); dbms_output.put_line('FORMAT_ERROR_BACKTRACE:'||chr(10) ||dbms_utility.format_error_backtrace); raise; end;
Запрос для поиска VIEW, в которой используются определенные объекты.
Можно, например, использовать для поиска связки между таблицами.
with s as ( select 'XLA_AE_HEADERS' obj1, 'XLA_AE_LINES' obj2 from dual ) select owner, name from All_Dependencies t, s where type='VIEW' and t.REFERENCED_NAME like s.obj1 intersect select owner, name from All_Dependencies t, s where type='VIEW' and t.REFERENCED_NAME like s.obj2 OWNER NAME ------------------------------ ------------------------------ APPS ARFV_ADJ_DISTS_ALC_V APPS ARFV_APP_DISTS_ALC_V APPS ARFV_CASH_DISTS_ALC_V APPS ARFV_FREIGHT_DISTS_ALC_V APPS ARFV_REVENUE_DISTS_ALC_V APPS ARFV_TAX_DISTS_ALC_V APPS ARFV_UNREC_DISTS_ALC_V APPS ARFV_UNREV_DISTS_ALC_V ...
Запрос для просмотра данных учета
select xte.application_id as appl_id ,xte.entity_code as entity_code ,ec.event_class_code as event_class_code ,ec.name as event_class ,xal.code_combination_id as cc_id ,fnd_flex_ext.get_segs('SQLGL','GL#',gl.chart_of_accounts_id, xal.code_combination_id) as ACCOUNT --,xla_oa_functions_pkg.get_ccid_description(gl.chart_of_accounts_id,xal.code_combination_id) as account_description ,xah.ae_header_id as xah_ae_header_id ,xal.ae_line_num as xal_ae_line_num ,xal.ledger_id as xal_ledger_id ,xte.ledger_id as xte_ledger_id ,xae.event_type_code as event_type_code ,et.name as event_type ,xae.event_number as event_number ,xal.accounting_class_code as acc_class_code -- класс учета ,lk1.meaning as accounting_class ,xal.accounting_date as accounting_date ,xal.accounted_dr as accounted_dr ,xal.accounted_cr as accounted_cr ,xal.currency_code as currency_code ,nvl(xte.source_id_int_1, -99) as source_id_int_1 ,decode(xal.party_type_code, 'C', xal.party_id) as customer_id ,decode(xal.party_type_code, 'C', xal.party_site_id) as customer_site_id from xla.xla_transaction_entities xte , xla.xla_ae_headers xah , xla.xla_ae_lines xal , xla.xla_events xae , xla_lookups lk1 , xla_gl_ledgers_v gl , xla.xla_event_types_tl et , xla.xla_event_classes_tl ec where 1=1 -- sla xah and xah.entity_id = xte.entity_id and xah.application_id = xte.application_id and xah.ledger_id = xal.ledger_id -- sla xal and xal.ae_header_id = xah.ae_header_id and xal.application_id = xah.application_id and (nvl(xal.accounted_dr,0) != 0 or nvl(xal.accounted_cr,0)!=0) -- sla xae and xae.application_id = xah.application_id and xae.event_id = xah.event_id -- lk1 and lk1.lookup_code = xal.accounting_class_code and lk1.lookup_type = 'XLA_ACCOUNTING_CLASS' -- gl and gl.ledger_id = xah.ledger_id -- et and et.application_id = xte.application_id and et.entity_code = xte.entity_code and et.event_type_code = xae.event_type_code and et.language = USERENV('LANG') -- ec and ec.application_id = xte.application_id and ec.entity_code = xte.entity_code and ec.event_class_code = et.event_class_code and ec.language = USERENV('LANG') -- ====== -- and xte.entity_code = 'RECEIPTS' -- and xte.application_id = 222 -- and xte.ledger_id = fnd_profile.value('GL_SET_OF_BKS_ID') -- and nvl(source_id_int_1,(-99)) =
Последние комментарии