В APEX 5.1 я создал отчет classi c на основе функции PL SQL, который обычно запускается, когда я жестко кодирую значения параметров функции, но возвращает ошибку "Парсинг возвращенного результата запроса в 'ORA- 20001: Запрос должен начинаться с SELECT или WITH '"при использовании строк подстановки для элементов страницы (": P340_CHANGE_FY ",": P340_CHANGE_ID ") в качестве параметров, как показано ниже:
-- works as expected
return fddm_pkg.change_strategic_goal_sql(p_fy_id_in => 4, p_change_id_in => 64);
-- page fails to save / compile with error stated above
return fddm_pkg.change_strategic_goal_sql(p_fy_id_in => :P340_CHANGE_FY, p_change_id_in => :P340_CHANGE_ID);
Значения для используемых элементов страницы как параметры передаются на страницу (и я убедился, что они находятся в состоянии сеанса); эти два элемента страницы также находятся в «Элементах страницы для отправки».
Вход в функцию показывает, что при попытке сохранить страницу значения элемента страницы (переменные связывания) равны нулю. Однако при первоначальном тестировании с использованием переменных связывания в отчете с использованием имен столбцов generi c генерируется правильный оператор SQL.
Я попытался явно преобразовать элементы страницы в соответствующий тип данных ( в данном случае) с использованием to_number () с тем же результатом.
Я извиняюсь, что не могу предоставить снимок экрана с этой страницей, так как приложение разрабатывается в агентстве intr anet и не может быть опубликованным публично.
Использование Generi c Имена столбцов в производственном процессе не подходят для этого отчета, так как имена столбцов определяются динамически.
Кто-нибудь видел этот тип проблема? Я ценю любые идеи.
Спасибо,
Дейв