Архив

Архив раздела ‘Oracle Forms’

Список полномочий где используется форма + путь для вызова

15 Апрель 2016 Нет комментариев

Скрипт для вывода списка полномочий, в которых используется форма.
Так же добавлен путь внутри полномочий для вызова формы.
Желаемый язык для вывода данных вынесен в параметры.

with params as (
select 'FNDSCRSP' as form_name
      ,''         as user_form_name
      ,''         as description_form
      ,'RU'       as lang /* RU;US */
from dual
)
select (select rt.responsibility_name from fnd_responsibility_tl rt , params
        where rt.responsibility_id  = r.responsibility_id
              and rt.application_id = r.application_id
              and rt.language = params.lang
       ) as responsibility_name
      ,(select ltrim(sys_connect_by_path(me.prompt, ' --> '),' --> ') 
        from (select b.menu_id,b.entry_sequence,b.sub_menu_id,b.function_id, t.prompt
             from fnd_menu_entries_tl t, fnd_menu_entries b, params
             where b.menu_id = t.menu_id
               and b.entry_sequence = t.entry_sequence
               and t.language = params.lang) me
        where me.prompt is not null 
              and me.function_id = ff1.function_id 
              and rownum=1
        start with me.menu_id = r.menu_id  
        connect by prior me.sub_menu_id = me.menu_id and prior me.prompt is not null
       ) path_to_form
      ,r.application_id
      ,r.responsibility_id
      ,r.responsibility_key 

      ,r.menu_id    
      ,(select mt.user_menu_name from fnd_menus_tl mt, params where mt.menu_id = r.menu_id and mt.language = params.lang) as user_menu_name
      ,ff1.function_id
      ,(select fft.user_function_name from fnd_form_functions_tl fft, params where fft.function_id = ff1.function_id and fft.language = params.lang) as user_function_name
      ,ff1.form_id 
      ,(select ff.form_name from fnd_form ff where ff.form_id = ff1.form_id ) as form_name      
      ,(select ftl.user_form_name from fnd_form_tl ftl, params where ftl.form_id = ff1.form_id  and ftl.language = params.lang) as user_form_name
from fnd_responsibility r
    ,(select ff.function_id, ff.form_id from fnd_form_functions ff 
      where ff.form_id in (select f.form_id 
                           from fnd_form f, fnd_form_tl ft, params
                           where f.form_id = ft.form_id
                                 and (
                                        f.form_name = params.form_name 
                                     or (ft.user_form_name like '%'||params.user_form_name||'%' and params.user_form_name is not null)
                                     or (ft.description like '%'||params.description_form||'%' and params.description_form is not null)
                                     )
                          )
     ) ff1 
where 1=1
      and sysdate between r.start_date and nvl(r.end_date, sysdate+1)
      and r.menu_id in (select me.menu_id from fnd_menu_entries me 
                        start with me.function_id = ff1.function_id
                        connect by prior me.menu_id = me.sub_menu_id 
                       )

OEBS Изменить сообщение ORACLE FORMS

Как в OEBS изменить системное сообщение ORACLE FORMS.
Например, «FRM-41830 LOV не содержит входов» на какое-нибудь другое.

1)  Необходимо заменить файл fmfru.msb по адресу
    /r12/…/apps/tech_st/10.1.2/forms/mesg

2) перезагрузить OC4J

    cd $ADMIN_SCRIPTS_HOME

    adoacorectl.sh stop

    adoacorectl.sh start

Новое сообщение по длине символов должно быть равно исходному сообщению.

FMDUS.MSB contains default (American) Developer messages
FMGUS.MSB contains default (American) Generate messages
FMFUS.MSB contains default (American) Runform messages

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

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

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

Categories: Oracle Forms Tags: ,

Использование таймера

Таймер

Таймер (Timer) – это способ выполнения кода через определенное время.  По истечении указанного времени вызывается тригер WHEN-TIMER-EXPIRED, в котором и обрабатывается реакция на запуск таймера.

Таймером очень хорошо пользоваться для непрерывного отслеживания каких-либо действий. Вы также можете использовать таймер как планировщик, закрывая формы по истечении указанного времени, для выполнения автосохранения в форме, для согласованного обновления данных в разных блоках формы и т.д.

Читать дальше про “Использование таймера” »

Изменение VISUAL_ATTRIBUTE для позиции в строке блока

SET_ITEM_INSTANCE_PROPERTY — установить свойства экземпляра элемента.

set_item_instance_property('NAME_BLOCK.NAME_ITEM', CURRENT_RECORD, VISUAL_ATTRIBUTE,'NAME_VISUAL_ATTRIBUTE');

Отключить сообщения формы при commit

Вместо использования COMMIT_FORM вызвать свою процедуру

-- Отключает стандартное сообщение формы
PROCEDURE MY_COMMIT IS
 x_message_level number;
BEGIN

  x_message_level := :SYSTEM.MESSAGE_LEVEL;
  :SYSTEM.MESSAGE_LEVEL := '5';
  COMMIT_FORM;
  :SYSTEM.MESSAGE_LEVEL := x_message_level;
END;