Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / как в персонализации формы вывести сообщение с результатом хранимой функции? / 15 сообщений из 15, страница 1 из 1
23.03.2012, 15:53
    #37720310
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
Через "Действия-тип-встроенный - выполнение процедуры" я таки могу получить значение любой хранимой функции или выполнить процедуру.

Как в этом случае вывести окно сообщения с значением функции ?
...
Рейтинг: 0 / 0
23.03.2012, 15:55
    #37720315
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
как вариант, по результатам отработки действия "выполнение процедуры" я бы хотел изменить параметры формы
...
Рейтинг: 0 / 0
23.03.2012, 16:39
    #37720417
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
без глобал переменных - никак???
...
Рейтинг: 0 / 0
23.03.2012, 16:52
    #37720438
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
Irhenбез глобал переменных - никак???
А чем не нравятся глобальные переменные?
...
Рейтинг: 0 / 0
23.03.2012, 16:53
    #37720442
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
Все оказалось предельно просто:
Действия - сообщение.
Текст сообщения
=(select package_name.function_name from dual)
...
Рейтинг: 0 / 0
23.03.2012, 17:10
    #37720478
va_kochnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
Irhen,
Это не предельно.
Вот предельно:
=package_name.function_name

А если из процедуры надо несколько значений передать, то можно в прцедуре положить передаваемые значения в профиля:
fnd_profile.put('XXX_PAR1','val1');
fnd_profile.put('XXX_PAR2','val2');

А в персонализации в действиях после вызова процедуры добывать значения функцией
fnd_profile.value('XXX_PAR1')
...
Рейтинг: 0 / 0
23.03.2012, 17:21
    #37720502
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
va_kochnevЭто не предельно.Вот предельно:
=package_name.function_name
Точно. Заработался я - полчаса назад пробовал этот вариант, где-то допускал ошибку.


За вот это -отдельное спасибо :
va_kochnevА если из процедуры надо несколько значений передать, то можно в прцедуре положить передаваемые значения в профиля:
fnd_profile.put('XXX_PAR1','val1');
fnd_profile.put('XXX_PAR2','val2');

А в персонализации в действиях после вызова процедуры добывать значения функцией
fnd_profile.value('XXX_PAR1')
...
Рейтинг: 0 / 0
26.03.2012, 11:40
    #37722826
gural
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
va_kochnevIrhen,
Это не предельно.
Вот предельно:
=package_name.function_name

А если из процедуры надо несколько значений передать, то можно в прцедуре положить передаваемые значения в профиля:
fnd_profile.put('XXX_PAR1','val1');
fnd_profile.put('XXX_PAR2','val2');

А в персонализации в действиях после вызова процедуры добывать значения функцией
fnd_profile.value('XXX_PAR1')


А можно и без профилей ... Определите переменные через песонализацию и вставляйте прямо в них....
...
Рейтинг: 0 / 0
26.03.2012, 15:32
    #37723275
va_kochnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
guralА можно и без профилей ... Определите переменные через песонализацию и вставляйте прямо в них....
Можете пример показать, как определить в персонализации переменную, которой можно присвоить значение в хранимой процедуре?
...
Рейтинг: 0 / 0
03.04.2012, 20:11
    #37737213
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
va_kochnevА если из процедуры надо несколько значений передать, то можно в прцедуре положить передаваемые значения в профиля:
fnd_profile.put('XXX_PAR1','val1');
....А в персонализации в действиях после вызова процедуры добывать значения функцией
fnd_profile.value('XXX_PAR1')
Что предпочтительнее - использовать глобальные переменные или создавать значения профиля?

Мне кажется, лучше задействовать профиль, поскольку значения в нем будут привязаны к сессии пользователя.
Не совсем понимаю, как отрабатывает fnd_profile.put('XXX_PAR1','val1'), если в текущем профиле нет параметра 'XXX_PAR1'
В доках пишут:
"If the option does not exist, you can also create it with PUT. "
Но ведь в таблицу fnd_profile_options ничего записано не будет?
...
Рейтинг: 0 / 0
03.04.2012, 23:16
    #37737374
va_kochnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
Irhen,
Функция fnd_profile.value('XXX_PAR1') при выполнении ищет значение этого профиля в pl/sql таблице пакета. Если не находит, то ищет значение в таблице fnd_profile_options. Если находит, то берет это значение из таблицы БД, кладет в pl/sql таблицу и возвращает значение. При повторном обращении к этой функции значение уже возьмется из pl/sql таблицы и на диск в таблицу БД функция не полезет. Т.е. производится кэширование значения профиля.

Процедура fnd_profile.put('XXX_PAR1','val1') помещает значение профиля ТОЛЬКО в pl/sql таблицу. Ну и будет существовать только в рамках текущей сессии.
И не важно, что в OEBS этот профиль вообще не определен.

Использовать ли глобальную переменную, которая заполянется из хранимой функции, или "псевдо профили", зависит от конкретной задачи.
Если в дальнейшем это значение предполагается использовать в каком-то запросе (набор значений в ОГП, свойство блока default_where или еще что), то следует учесть, что глобальная переменная при выполнении запроса на сервере БД будет считаться bind-переменной, что, скорее всего, будет предпочтительнее, чем "профильная" функция с т.зр. быстродействия запроса.

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

Можно сделать гибрид, когда в персонализации в первом действии запускается процедура, которая заполнит несколько профилей. А в последующих действиях значения этих профилей присваивать глобальным переменным.

В общем, извращаться можно весьма разнообразно.
...
Рейтинг: 0 / 0
04.04.2012, 11:50
    #37738032
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
va_kochnev,

Большое спасибо!
...
Рейтинг: 0 / 0
05.04.2012, 15:15
    #37740412
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
Как можно решить проблемку, если в окне сообщенния не помещается весь текст сообщения?
Окно и текст сообщения вывожу через персонализацию
...
Рейтинг: 0 / 0
06.04.2012, 11:38
    #37741633
Irhen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
IrhenКак можно решить проблемку, если в окне сообщенния не помещается весь текст сообщения?
Окно и текст сообщения вывожу через персонализацию
up
...
Рейтинг: 0 / 0
06.04.2012, 16:50
    #37742312
va_kochnev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как в персонализации формы вывести сообщение с результатом хранимой функции?
Irhen,

Пусть пользователь мышой окно с сообщением раздвинет. А если и в этом случае глава из "Войны и мира" не помещается на весь экран, то можно несколькими сообщениями вывести.
Но если количество таких сообщений будет переменным, то цикл,наверное, проще в CUSTOM.pll организовать. Хотя можно и средствами персонализации поизвращаться.
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / как в персонализации формы вывести сообщение с результатом хранимой функции? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]