Oracle Apex - Download CSV выдает пустой отчет - PullRequest
0 голосов
/ 29 октября 2018

В настоящее время я использую Oracle Apex версии 18.2.0.00.12 в Internet Explorer на компьютере под управлением Windows 10.

У меня проблема с загрузкой интерактивной сетки в виде файла CSV.

На моей странице Apex у меня есть интерактивная сетка и три элемента страницы. Два элемента страницы, P200_DATE_FROM и P200_DATE_TO, являются элементами выбора даты. Другим элементом является кнопка «Отправить», а ее действие - «Отправить страницу».

Это запрос к моей интерактивной сетке:

select * from kat_test
where repairdate between :P200_DATE_FROM and :P200_DATE_TO;

В интерактивной сетке четыре столбца:

Выпуск - Varchar2

Месяц - число

Неделя - номер

Дата ремонта - Дата

Единственными настройками, которые я изменил в интерактивной сетке, являются заголовок и запрос SQL.

Я изменил источник P200_DATE_FROM на выражение PL / SQL, которое возвращает первый день текущего месяца. Он установлен для использования «Только когда текущее значение в состоянии сеанса равно нулю». Выражение:

trunc(last_day(sysdate)-1, 'mm')

Я изменил источник выражения PL / SQL P200_DATE_TO, который возвращает текущую дату. Он также установлен для использования «Только когда текущее значение в состоянии сеанса равно нулю». Выражение:

sysdate

Когда я запускаю страницу, она загружается точно так, как ожидается, в том смысле, что элемент страницы P200_DATE_FROM заполняется первой датой текущего месяца, элемент P200_DATE_TO заполняется текущей датой, и интерактивная сетка отображает правильную данные.

Проблема: Когда я выбираю Действия -> Загрузить -> CSV, файл CSV загружается и открывается как файл Excel, НО отображаются только имена заголовков. Ячейки под заголовками пусты. Однако, если я изменяю одну из дат (или обе) в элементе страницы P200_DATE_FROM и / или элементе страницы P200_DATE_TO, а затем нажимаю кнопку отправки, страница отправляется, а затем, когда я нажимаю Действия -> Загрузить -> CSV, Файл Excel открывается, и все данные отображаются идеально (как заголовки столбцов, так и данные под заголовками).

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

У кого-нибудь есть идеи?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 30 октября 2018

Я думаю, вам просто нужно поместить название этих элементов в поле «Элементы для отправки» рядом с вашим SQL. Когда он загружается, я думаю, что он повторно обрабатывает SQL, используя значения элементов, которые находятся в сеансе. Если вы не поместите эти элементы туда, значения не перейдут в сеанс. Введите имена предметов, разделенные запятой. После этого, я думаю, что любые изменения необходимы в вашем SQL

0 голосов
/ 29 октября 2018

Запрос отчета, вероятно, содержит предложение WHERE, которое выглядит следующим образом:

where some_date between :P200_DATE_FROM and :P200_DATE_TO

Измените его так, чтобы он включал функцию NVL, второй параметр которой отражает значения элементов по умолчанию, т.е.

where some_date between nvl(:P200_DATE_FROM, trunc(last_day(sysdate)-1, 'mm'))
                    and nvl(:P200_DATE_TO, sysdate)

Запустите страницу, загрузите CSV; любое улучшение?

...