WEBADI: Ошибка при работе с КГП (KFF)

31 Октябрь 2012 Нет комментариев

При использовании ключевых гибких полей в WEBADI может возникнуть ошибка типа:
oracle.apps.bne.utilities.BneViewerServerUtils.getFlexListOfValues(BneViewerServerUtils.java:269)

Помочь может переименование параметров в «SEGMENT1«,»SEGMENT2» и т.д. и убрать номера из поля segment number. Обновляем через таблицу.
Читать дальше про “WEBADI: Ошибка при работе с КГП (KFF)” »

12 Things About The Latest Generation of Database Technology

17 Октябрь 2012 Нет комментариев

Попробую добавлять интересные презентации и доки на блог.

Интересная презентация о будущих возможных фичах oracle
Thomas Kyte 12 Things About The Latest Generation of Database Technology

Скачать с Depositfiles
Скачать c Google Docs

Categories: Документы Tags: ,

OEBS Меню полномочий — Избранное (Top Ten List)

15 Октябрь 2012 Нет комментариев

Для добавления функций в избранное по полномочиям — API:FND_SIGNON.UPDATE_NAVIGATOR


Читать дальше про “OEBS Меню полномочий — Избранное (Top Ten List)” »

Трассировка сессии — event 10046

19 Сентябрь 2012 2 comments

Трассировка сессии 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';

Уровни:

  • 0 — трассировка отключена
  • 1 — стандартная трассировка
  • 4 — добавлены значения связываемых (binds) переменных
  • 8 — добавлены события ожидания (waits)
  • 12 — связываемые переменные + события ожидания

Для включения трассировки в другой сессии можно воспользоваться командой

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';

 

Понимание трасировочного файла

Читать дальше про “Трассировка сессии — event 10046” »

Categories: SQL Tags: , , ,

Кто съел весь TEMP?

13 Сентябрь 2012 Нет комментариев

Запрос для просмотра сессий использующих 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
Categories: SQL Tags: , , ,

R12: Таблицы IBY

29 Август 2012 Нет комментариев

Описание нескольких таблиц из схемы 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). Платежным средством может быть кредитная карта или банковсвкий счет.

IBY.IBY_EXT_BANK_ACCOUNTS
Внешние банковские счета
Oracle EBS IBY tables

SLA — Как узнать поле для связки со счетом-фактурой

Посмотреть поля по которым можно связать счет-фактуру (СФ) и данные в XLA таблицах можно через форму настройки.
Аналогичным способом можно посмотреть связку для платежей, поступлений и т.д.

Полномочия «Payables Manager» — меню «Setup» — «Accounting Setup» — «Subledger Accounting Setup» — «Accounting Methods Builder» — «Events» — «Event Model»

Связь между счетом-фактурой и xla

Oracle Forms: Удалить элемент из списка (List item)

В Oracle Forms для удаления элемента из списка (List item)
используем комбинацию CTRL+SHIFT+< .

Удаляем элемент из списка Oracle Forms

Categories: Oracle Forms Tags: ,

Модуль AR – Обновление корр. счета банка

25 Апрель 2012 Нет комментариев

Пример использования 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;                        

Модуль AR — Обновление БИК банка

25 Апрель 2012 Нет комментариев

Пример использования 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;