Oracle APEX 5.0: добавление значений элементов в Dynami c URL - PullRequest
0 голосов
/ 13 января 2020

У меня есть таблица, содержащая данные в столбцах apex_page, apex_to_item, apex_with_values, например:

apex_to_page: 6010
apex_to_item: P6010_XSRCS_ID,P6010_XSVER_ID
apex_with_values: XSRCS_ID,ID

Во время рендеринга страницы я хочу проанализировать эти значения (назначение URL, список элементов для установки, список значений из текущей страницы) и создайте URL-адреса на ее основе. Например: f?p=112:6010:4314006485638::NO::P6010_XSRCS_ID,P6010_XSVER_ID:100,200&cs=3LNhUQHJiAOOaiw3C_z3bHGtc4Us0LZV-D7ZMQhG0Z3EzCLeJpT8f--YA7SFOoD4xQD2C45qrv2PVxvwBY39qBA

Т.е. я хочу взять текущие значения XSRCS_ID, идентификаторы элементов текущей страницы (100,200) и вставить их в URL. Когда нужно передать только одно значение, у меня есть решение:

SELECT name label,
       APEX_UTIL.PREPARE_URL(p_url => 'f?p=' || NV('APP_ID') || ':' || apex_page || ':' || NV('APP_SESSION') || '::NO::' || apex_to_items || ':' || NV('P' || :APP_PAGE_ID || '_' || apex_with_values), p_checksum_type => 'SESSION') apex_url
   FROM ...

Когда нужно передать более одного элемента, я попробовал что-то вроде этого:

SELECT name label,
       APEX_UTIL.PREPARE_URL(p_url => 'f?p=' || NV('APP_ID') || ':' || apex_page || ':' || NV('APP_SESSION') || '::NO::' || apex_to_items || ':' || regexp_replace(apex_with_values, '([^,]+)', NV('P' || :APP_PAGE_ID || '_\1')), p_checksum_type => 'SESSION') apex_url
       ...
  FROM ...

и это не так не работает.

Есть ли способ извлечь значения из страницы и вставить его в URL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...