- •Содержание
- •Repository
- •Средства тестирования и анализа
- •Утилита Workbench Organizer
- •Резюме
- •Резюме
- •Резюме
- •Глава 6.Моделирование сущностей и связей
- •Глава 10. Подпрограммы и функции
- •Создание функций увеличения возможности многократного использования текстов
- •Функциональные группы и функции
- •Чтение единственного элемента таблицы
- •Извлечение единственного поля
- •Получение статистической информации
- •Упорядочение результатов запроса
- •Динамическая выборка данных
- •Использование составных критериев выборки Select-Options
- •Динамическое присвоение имен таблиц
- •Вложенные циклы select
- •Представления, определенные в АВАР/4 Dictionary
- •Размер внутренней таблицы
- •Сортировка элементов внутренней таблицы
- •Вставка нескольких строк
- •Изменение таблиц базы данных с помощью команды update
- •Изменение отдельного элемента
- •Изменение нескольких элементов
- •Удаление элементов таблицы базы данных с помощью команды delete
- •Динамическое задание имен таблиц
- •Резюме
- •Временное хранение
- •Пропуск объектов
- •Использование локальных имен для объектов памяти
- •Очистка содержимого объектов памяти
- •Создание отчета
- •Сравнение двух отчетов, разработанных с использованием разных средств
- •Создание программного текста
- •Обработка данных с помощью событий get
- •Что применять: команду select или Logical Databases
- •Задание составных критериев выборки
- •Порядок обработки событий get
- •Работа с несколькими таблицами
- •Глава 16. Пользовательский интерфейс для создания отчетов
- •Определение параметров для экрана выбора
- •События экрана выбора
- •Повышение производительности программы
- •Резюме
- •Детализация объектов
- •Двойной щелчок мышью: событие at line-selection
- •Определение статуса графического интерфейса
- •Проектирование инструментальной линейки приложения
- •Изменение стандартной инструментальной линейки
- •Положение курсора и скрытая информация
- •Команда hide
- •Команда get cursor
- •Фреймы (кадры)
- •Глава 18. Выполнение программы-отчета
- •Вычисление даты в варианте
- •Описание учебной задачи
- •Создание диалоговой программы
- •Создание экрана
- •Задание фрейма с заголовком
- •Работа с сообщениями
- •Вывод сообщения из программы
- •Логический рабочий блок (LUW)
- •Механизм блокировки системы R/3
- •Глава 22. Расширенные функции графического интерфейса
- •Глава 25. Автоматическая генерация программы
- •Связь между программами
- •Вызов удаленной функции
- •Резюме
- •Удаление связей объектов
- •Резюме
- •Приложения
- •Использование Logical Databases при работе с утилитой АВАР/4 Query
- •Простейшие запросы
- •Получение перечня программных элементов
- •Создание заданий (Tasks) и запросы на изменения (Change Requests)
Глава 16
Пользовательский интерфейс для создания отчетов
•Создание полей ввода критериев для экрана выбора
•Использование параметров и составных критериев выборки
•Составные критерии выборки
•Использование событий на экране критериев выборки
178 |
Глава 16 |
||
|
|
|
|
При создании отчета с помощью логической базы данных первым рабочим экраном является экран, который позволяет задавать критерии выборки. При этом средства Logical Database считывают указанные данные из фактических таблиц базы данных и инициируют соответствующие события get.
Узнать, как задаются критерии для отчета, создаваемого с помощью Logical Database,
икак считываются табличные данные, можно, обратившись к главе 15.
Вданной главе будет рассмотрено определение полей ввода, которые специфичны для отчетов и отображаются на экране критериев выборки ниже предварительно определенных критериев Logical Database. Использование критериев выборки, вводимых с экрана, помогает разработчику писать простые и эффективные предложения where оператора select. Кроме того, будут описаны некоторые события, позволяющие устанавливать значения критериев выборки по умолчанию или проверять допустимость вводимых данных. Приведенные в этой главе события и команды языка АВАР/4 обеспечивают разработку удобного интерфейса пользователя для создания отчетов.
Разработка пользовательского интерфейса для внесения изменений в данные рассматривается в главе 19.
В АВАР/4 существует два типа полей ввода для стандартного экрана выбора:
Parameters |
Единичные поля |
Select-Options |
Внутренние таблицы для задания составных критериев выборки |
|
(рекомендуется для динамических предложений where и операторов select) |
Определение критерия как параметра или составного критерия выборки автоматически задает соответствующее поле ввода на экране выбора, а также структуру данных в программе для сохранения введенной пользователем информации. С программной точки зрения критерии выборки Logical Database и данных отчета определяются одинаково. Различие лишь в том, что специфичные для данного отчета критерии выборки расположены на экране ниже критериев Logical Database. Заметим, что при создании отчета можно использовать поля ввода (для параметров и составных критериев), относящиеся к критериям Logical Database.
Определение параметров для экрана выбора
Определение параметров осуществляется почти так же, как и определение полей, которое использует оператор data. Рассмотрим тот же пример программы для туристического агентства. Программа, приведенная ниже, показывает, как определять параметры для города и даты рейса, а также дополнительное поле для проверки выбранных критериев:
Данные параметры показаны на экране рис. 16.1.
Одновременно каждый параметр определяет поле, которое может использоваться программой-отче- том как обычное поле, определенное с помощью оператора data. После ввода значения в поле ввода данного параметра на экране выбора и нажатия кнопки Execute (выполнить), это значение заносится в соответствующее поле, определенное параметром. Например, если пользователь задал Big City в поле ввода параметра p_city, будет проверяться следующее условие:
При вводе значений параметров или составных критериев выборки количество данных, извлекаемых из Logical Database, автоматически не ограничивается. Если разработчику необходимо получить в операторе select доступ к значениям, введенным пользователем, то соответствующие параметры в предложении where оператора select следует размещать так же, как и
обычные поля.
Поскольку параметры выполняют роль интерфейсных объектов экрана выбора, то в синтаксисе определения parameters и data есгь небольшие различия:
180 |
|
Глава16 |
|
|
|
|
|
write / customers-name. endselect.
При запуске программы-отчета пользователь может задать критерии выборки согласно рис. 16.2.
Рис. 16.2
Select-Option
с интервалом значений
В этом случае оператор select будет определять общее количество соответствующих клиентов, записанных в таблице базы данных customers. Приведенная программа-отчет будет эквивалентна следующей:
select * from customers
where name between 'A' and 'M'. write / customers-name.
endselect.
Очевидно, что Select-Options обеспечивает задание дополнительных критериев выборки без изменения исходного текста программы. Предположим, нужно выбрать всех клиентов, чьи фамилии начинаются на букву Е, с фамилией Smith, а также все фамилии в диапазоне от буквы M до Shuliz. Для этого нажмите кнопку Complex Selections справа от поля ввода критерия для клиентов. В появившемся диалоговом окне введите Е*, а в части окна под названием Single Value Selections (одно значение выборки) — Smith. В части окна Ranges (диапазон) задайте границы М и Shultz (рис. 16.3). При нажатии кнопки Cору (копировать) все критерии, заданные в диалоговом окне, копируются в составной критерий выборки, и на экран опять выводится стандартное окно выбора, где можно продолжить ввод или запустить программу создания отчета на выполнение. Нажав кнопку Selection Options, можно ввести дополнительные критерии выборки.
Составные критерии часто применяются при создании отчегов с помощью логической базы данных. Например, критерий выборки учебного отчета (см. главу 15) определяется через соответствующую Logical Database (рис. 15.3 — 15.5).
Каждый элемент Select-Option содержит ссылку на определенное поле (например, customers-name), которое указано после дополнения for и с которым производится сравнение в предложении where. Вся подстановка (на уровне select) осуществляется средствами логической базы данных после извлечения информации из таблиц реальной базы данных. Однако составной критерий для предложения where можно применять и в том случае, если информация не содержится в таблицах, принадлежащих логической базе (в частности, можно создать отчет, считывая все данные без логической базы данных). Аналогичным образом составной критерий используется и в других операторах SQL, и они могут быть переданы в программу-отчет, запущенную командой submit (см. главу 18).
Помимо операторов SQL, Select-Options можно применять в предложении where, которое записано
вцикле для внутренней таблицы: tables customers.
data all customers like customers occurs 200