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)) =
Последние комментарии