Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Forms 6i : создание LOV в run-time  [new]
paidd
Member

Откуда:
Сообщений: 32
Всем привет!

Подскажите, возможно ли программно создать LOV? Например, в триггере WHEN-NEW-FORM-INSTANCE.
Насколько я понял, для Record Group формсы предоставляют методы для создания в run-time (CREATE_GROUP_FROM_QUERY, например). А вот для LOV не нашел ничего подобного :(

Спасибо!
13 дек 06, 12:06    [3529300]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9264
Нет
13 дек 06, 12:12    [3529360]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
Stax.
Guest
paidd
Всем привет!

Подскажите, возможно ли программно создать LOV? Например, в триггере WHEN-NEW-FORM-INSTANCE.
Насколько я понял, для Record Group формсы предоставляют методы для создания в run-time (CREATE_GROUP_FROM_QUERY, например). А вот для LOV не нашел ничего подобного :(

Спасибо!

параметром lov есть группа, или я чего не понимаю

.....
stax
13 дек 06, 12:14    [3529377]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
Sqaimes
Member

Откуда: Украина, Мариуполь
Сообщений: 443
А для чего вам создавать LOV в run-time?
Вы можете менять свойства LOV с помощью SET_LOV_PROPERTY, собственно говоря изменение запросной группы в runtime для LOV вам будет вполне достаточно ну и вот вам простой пример:

DECLARE
lov_id LOV;
BEGIN
lov_id := Find_LOV(’My_LOV_1’);
IF Get_LOV_Property(lov_id,GROUP_NAME) = ’GROUP1’ THEN
Set_LOV_Property(lov_id,GROUP_NAME,’GROUP2’);
ENDIF;
END;
13 дек 06, 12:41    [3529555]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
paidd
Member

Откуда:
Сообщений: 32
2 Sqaimes
Это понятно...
А как быть с такой ситуацией?
Есть стандартная форма, на которой не определено ни одного LOV.
С помощью песонализации его не создашь, в custom.pll насколько я понимаю можно менять текст триггеров, но программно нельзя создать LOV.
Т.е. выход - дорабатывать форму, но как уже не раз на этом форуме упоминалось, возможны проблемы при накатывании патчей и т.д.
13 дек 06, 12:51    [3529638]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9264
Мы меняем форму... А что делать?
13 дек 06, 13:10    [3529779]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
Sqaimes
Member

Откуда: Украина, Мариуполь
Сообщений: 443
Т.е. выход - дорабатывать форму, но как уже не раз на этом форуме упоминалось, возможны проблемы при накатывании патчей и т.д.

Выход - менять форму как сказал Leonid либо дорабатывать , вот только не пойму причем здесь накатывания патчей, если у вас формы были пропатчены, ну скажем 3 патчем, а дорабатывать хотите, ну скажем в уже с накатаным 9-м патчем - то проблем возникнуть недолжно, покрайне мере это что касается LOV
13 дек 06, 14:05    [3530281]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
Mr_Frost
Member

Откуда: Екатеринбург
Сообщений: 468
Sqaimes
вот только не пойму причем здесь накатывания патчей

похоже, что речь не о патчах Forms, а о патчах OEBS
13 дек 06, 20:23    [3533001]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
Павел Лузанов
Member

Откуда:
Сообщений: 754
paidd
2 Sqaimes
Это понятно...
А как быть с такой ситуацией?
Есть стандартная форма, на которой не определено ни одного LOV.
С помощью песонализации его не создашь, в custom.pll насколько я понимаю можно менять текст триггеров, но программно нельзя создать LOV.
Т.е. выход - дорабатывать форму, но как уже не раз на этом форуме упоминалось, возможны проблемы при накатывании патчей и т.д.


Можно попробовать сделать так.
На WHEN-NEW-ITEM-INSTANCE "вешаете" вызов(CALL_FORM) собственной формы, типа LOV.
Значение, которое выбирает пользователь, присваиваете текущему полю и переходите на следующее.

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

Есть здесь свои минусы, но тем не менее, должно работать.
14 дек 06, 23:00    [3539091]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9264
Только вот юзабилити страдать будет.

Лично я, почти во всех полях сразу ввожу значения и при выходе поля по TAB, аппсы сами подставляют значение из LOV. При описанном подходе, придется работать только мышкой или достаточно много программировать. IMHO.

Копирование / вставка значений в поле работать не будет и т.д.
15 дек 06, 09:38    [3539760]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
Павел Лузанов
Member

Откуда:
Сообщений: 754
Леонид,
Да кто бы спорил, конечно же, недостатков полно.
Но тем не менее, это позволит реализовать возможность выбора значения из списка,
там где LOV-а нет.
Кривовато, но позволит.
15 дек 06, 10:21    [3540041]     Ответить | Цитировать Сообщить модератору
 Re: Forms 6i : создание LOV в run-time  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 9264
Я же не против, способ хороший. Просто привел минусы, которые сразу заметил.

Другой вариант - не делать LOV'а вообще. Проверку на корректность можно сделать в When-Validate-Record. А для указания значений повесить форму на кнопку Zoom на toolbar'е (или на меню).

Только все равно LOV'а без модификации формы не получить. А юзеры не понимают, почему за кучу Kило $ им то, что они просят сделать не могут :=(. И просят вроде не много.
15 дек 06, 11:20    [3540612]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить