суббота, 12 мая 2007 г.

Установка значений Apex переменных (session state) из PL/SQL кода

Как уже было продемонстрировано в ряде примеров, а так же не плохо описано в документации, в Oracle Application Express установка/получение значения переменнной сессии выполняется следующим образом:


:PN_ITEM_NAME := 'item_value'; -- установка значения
:PNN_ITEM_NAME := :PN_ITEM_NAME; -- установка и чтение значения


Однако в коде хранимых процедур такой подход не допустим. Как же в таком случае получить или установить значение Apex-переменной их хранимого на сервере PL/SQL кода? Все очень просто:

  • для чтения значения переменной необходимо использовать синтаксис - v('PN_ITEM_NAME')
  • для установки значения переменной необходимо пользоваться методом пакета APEX_UTIL:

    ...
    APEX_UTIL.set_session_state(
    p_name => ‘PN_ITEM_NAME’,
    p_value => ‘item_value’);
    ...


Вот так вот, не смотря на подробнейшую документацию, все таки остаются темные пятна :).

1 комментарий:

David Peake комментирует...

Timoshinin,

I am the Product Manager for Oracle APEX and would like to invite you to be added to our list of APEX Bloggers found on our OTN Page (apex.oracle.com) under Community and Partners.

If you are interested please email me at david.peake@oracle.com

Regards,
David