|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
Через "Действия-тип-встроенный - выполнение процедуры" я таки могу получить значение любой хранимой функции или выполнить процедуру. Как в этом случае вывести окно сообщения с значением функции ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:53 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
как вариант, по результатам отработки действия "выполнение процедуры" я бы хотел изменить параметры формы ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 15:55 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
без глобал переменных - никак??? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 16:39 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
Irhenбез глобал переменных - никак??? А чем не нравятся глобальные переменные? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 16:52 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
Все оказалось предельно просто: Действия - сообщение. Текст сообщения =(select package_name.function_name from dual) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 16:53 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
Irhen, Это не предельно. Вот предельно: =package_name.function_name А если из процедуры надо несколько значений передать, то можно в прцедуре положить передаваемые значения в профиля: fnd_profile.put('XXX_PAR1','val1'); fnd_profile.put('XXX_PAR2','val2'); А в персонализации в действиях после вызова процедуры добывать значения функцией fnd_profile.value('XXX_PAR1') ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:10 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
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') ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2012, 17:21 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
va_kochnevIrhen, Это не предельно. Вот предельно: =package_name.function_name А если из процедуры надо несколько значений передать, то можно в прцедуре положить передаваемые значения в профиля: fnd_profile.put('XXX_PAR1','val1'); fnd_profile.put('XXX_PAR2','val2'); А в персонализации в действиях после вызова процедуры добывать значения функцией fnd_profile.value('XXX_PAR1') А можно и без профилей ... Определите переменные через песонализацию и вставляйте прямо в них.... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2012, 11:40 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
guralА можно и без профилей ... Определите переменные через песонализацию и вставляйте прямо в них.... Можете пример показать, как определить в персонализации переменную, которой можно присвоить значение в хранимой процедуре? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.03.2012, 15:32 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
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 ничего записано не будет? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2012, 20:11 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
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-переменной, что, скорее всего, будет предпочтительнее, чем "профильная" функция с т.зр. быстродействия запроса. А если надо получить несколько нужных значений каким-нибудь тяжелым запросом, то лучше сделать это один раз для нескольких значений в процедуре и заполнить профиля, чем дергать этот тяжелый запрос несколько раз для поочередного заполнения нескольких глобальных переменных. Можно сделать гибрид, когда в персонализации в первом действии запускается процедура, которая заполнит несколько профилей. А в последующих действиях значения этих профилей присваивать глобальным переменным. В общем, извращаться можно весьма разнообразно. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2012, 23:16 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
va_kochnev, Большое спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2012, 11:50 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
Как можно решить проблемку, если в окне сообщенния не помещается весь текст сообщения? Окно и текст сообщения вывожу через персонализацию ... |
|||
:
Нравится:
Не нравится:
|
|||
05.04.2012, 15:15 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
IrhenКак можно решить проблемку, если в окне сообщенния не помещается весь текст сообщения? Окно и текст сообщения вывожу через персонализацию up ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2012, 11:38 |
|
как в персонализации формы вывести сообщение с результатом хранимой функции?
|
|||
---|---|---|---|
#18+
Irhen, Пусть пользователь мышой окно с сообщением раздвинет. А если и в этом случае глава из "Войны и мира" не помещается на весь экран, то можно несколькими сообщениями вывести. Но если количество таких сообщений будет переменным, то цикл,наверное, проще в CUSTOM.pll организовать. Хотя можно и средствами персонализации поизвращаться. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2012, 16:50 |
|
|
start [/forum/topic.php?fid=51&msg=37720502&tid=1878501]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
others: | 330ms |
total: | 498ms |
0 / 0 |