Я пытаюсь настроить страницу, которая содержит:
- элемент страницы ( P16_INPUT ), куда пользователи вставляют список идентификаторов (в отдельных строках)
- интерактивный отчет ( вывод ), который должен заполняться на основе идентификаторов
Для этого я добавил промежуточный скрытый элемент страницы ( P16_INPUT_INTERMEDIATE ), в котором я преобразую входной текст (в разных строках) в разделенные запятыми текстовые строки с одинарными кавычками.
Пример:
Пользователь вводит в P16_INPUT :
RTR123
RTR456
Динамическое действие вызывает (чрезмерно сложное) выражение PL / SQL, которое заполняет
P16_INPUT_INTERMEDIATE
declare
l_in varchar(4000);
l_int varchar(4000);
l_out varchar(4000);
begin
l_in := :P16_INPUT;
l_int := replace(l_in,Chr(13),''',''');
l_out := '''' || l_int || '''';
l_out := replace(l_out,Chr(10));
l_out := replace(l_out,Chr(9));
:P16_INPUT_INTERMEDIATE := l_out;
end;
, который производит:
'RTR123', 'RTR456'
Динамическое действие также обновляет вывод IR, который основан на следующем операторе SQL:
select t1.id ,t1.b_seq , t1.s_seq, t1.back_seq
from v_export t1
where t1.id in (:P16_INPUT_INTERMEDIATE);
Но я всегда получаю пустой стол.
Если я введу только 1 идентификатор в P16_INPUT и пропущу промежуточное значение P16_INPUT_INTERMEDIATE , IR правильно заполнится 1 строкой результатов.