Создание формы в APEX для задания переменных в запросе для интерактивного отчета - PullRequest
4 голосов
/ 17 октября 2011

Я относительный нуб APEX.

Я использую APEX 4.0 для базы данных 10gR2.

Я написал запрос, который принимает несколько входных данных (два поля даты, дляначало и конец, текстовое поле для дальнейшей фильтрации) и создает из него динамический отчет, который работает, когда я извлекаю из него входные переменные (: START_DATE,: END_DATE,: OFFICE) или заменяю их статическими значениями.

Я хочу создать форму на странице, которая отправляет эти значения на страницу динамического отчета для использования в запросе для фильтрации результатов, которые видит пользователь, когда он или она нажимает на отчет.

I 'Мне не повезло найти хороший пошаговый пример этого.Я создал пустую страницу с двумя датчиками выбора и раскрывающимся списком выбора LOV, но не уверен, как лучше всего преобразовать эти значения в динамический отчет.

Может кто-нибудь указать мне правильную документацию для этого?

Ответы [ 2 ]

9 голосов
/ 18 октября 2011

Следующее было разработано с использованием Apex 4.1, но, помимо некоторых косметических изменений, принципы должны быть такими же.

Данные взяты из стандартной схемы scott.emp.

Обзор

Это страница 1, пользователь может ввести empno и \ или hiredate.

enter image description here

При нажатии кнопки «Отправить» на другой странице отображается следующий отчет:

enter image description here

Как это работает

На странице 1 я создал три показанных элемента. Текстовые элементы называются ими P1_EMPNO и P1_HIREDATE. Действие для кнопки «Отправить страницу»

По-прежнему на странице 1 создайте ветку со следующими значениями:

enter image description here

Эта ветка переходит на страницу 2 (которая еще не разработана) и устанавливает значения элементов на странице 2 со значениями на странице 1.

Создайте новую страницу, в этом примере это будет упоминаться на странице 2.

На странице 2 создайте новый интерактивный отчет, используя следующий запрос:

select e.* 
from emp e

Затем создайте два текстовых элемента в том же регионе, что и отчет, и вызовите их: P2_EMPNO и: P2_HIREDATE. Я считаю полезным показывать эти элементы во время разработки, чтобы вы могли видеть, что правильные значения передаются на страницу. Вы всегда можете установить их как скрытые, как только вы довольны отчетом.

Наконец, измените запрос, используемый интерактивным отчетом, чтобы использовать значения, предоставленные страницей 1

enter image description here

Запустите приложение.

1 голос
/ 18 октября 2011

Вы хотите сослаться на элементы своей страницы в своем запросе, что означает, что вам нужно будет отправить свою страницу, прежде чем ваш запрос определит их состояние сеанса. Когда я предоставляю небольшую форму параметра, я также помещаю туда кнопку (то есть помеченную как «Запрос»), которая выполняет отправку.

В своем отчете вы можете ссылаться на ваши товары. Например, если у вас есть 2 элемента P1_DATE_START и P1_DATE_END, ваш запрос может выглядеть следующим образом:

SELECT firstname, lastname, job
  FROM employees
 WHERE employment_start BETWEEN to_date(:P1_DATE_START) AND to_date(:P1_DATE_END);
...