- •Содержание
- •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)
168 |
|
Глава 15 |
|
|
|
|
|
В этой главе читатель узнает, что такое Logical Databases и как можно их использовать для создания в АВАР/4 отчетов — программ, которые выбирают данные из базы, группируют их согласно различным критериям и выводят информацию на экран в форме списков. Но сначала обсудим способы доступа к данным одной или нескольких таблиц базы и вывода на экран результатов.
Создание отчета
Отчеты можно создавать любым из следующих трех способов:
•Задать размещение информации на экране с помощью средств АВАР/4 Query, позволяющих сгенерировать программу автоматически
•Написать текст программы, генерирующей отчет, с применением Logical Database, что упрощает доступ к базе данных
•Использовать простейшие команды select
Каждый из этих способов имеет свои преимущества.
Средства АВАР/4 Query позволяют задать размещение элементов в списке, после чего программа генерируется автоматически. С помощью этих средств, которые легко освоить, можно очень быстро создавать отчеты. При выполнении стандартных запросов предпочтительнее использовать утилиту запросов — АВАР/4 Query. Если же необходимо задействовать всю гибкость языка АВАР/4, возможно, придется выбрать другой метод.
Работа с АВАР/4 Query описана в приложении В.
Средства Logical Database предоставляют процедуры для извлечения сложных данных из базы. Кроме того, они автоматически строят стандартный диалог пользователя и создают стандартные диалоговые экраны для задания критериев выборки данных.
Концепция Logical Databases отличает АВАР/4 от многих других языков программирования. С программной точки зрения Logical Database не является базой данных в смысле СУБД, а представляет собой многократно используемые программные средства для упрощения инкапсуляции поиска данных.
Вчастности, в Logical Database инкапсулируются следующие программные объекты:
•Свободно компонуемые представления данных в базе данных
•Экраны для задания критериев выборки, которые обеспечивают удобный диалог с пользователем
•Детали доступа к базе данных (например, особая форма оператора select)
Как и в других случаях многократного использования данных и методов, преимущества Logical Database становятся очевидными тогда, когда необходимо создать большое количество отчетов. В частности, Logical Database позволяет применять перечисленные выше средства сразу к нескольким отчетам: ускорив например, доступ к базе данных в одной Logical Database, можно сразу увеличить производительность при выполнении всех отчетов.
Если же разработчика отчетов не устраивает Logical Database, он может выбрать последний способ их создания и написать программу, включающую обычные операторы select (см. главу 11).
Сравнение двух отчетов, разработанных с использованием разных средств
Преимущества применения Logical Databases наиболее очевидны при сравнении двух программ отчетов, строящих один и тот же список разными методами:
•Посредством операторов select
•С помощью Logical Database и событий get
Для примера используются две таблицы: customers (таблица 15.1) и bookings (таблица 15.2).
|
Считывание данных с помощью Logical Databases |
|
|
169 |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 15.1 |
||||
Пример содержимого таблицы customers |
|
|
|
|
|
||||||
00000001 |
Edwards |
Small Town |
|
654-321-1234 |
|
|
|
|
|
|
|
00000002 |
Young |
Village |
|
333-444-2222 |
|
|
|
|
|
|
|
00000017 |
Smith |
Big City |
|
717-161-5151 |
|
|
|
|
|
||
87654321 |
Edison |
Fort Mayers |
|
111-111-1111 |
|
|
|
|
|
||
|
|
|
|
|
|
|
Таблица 15.2 |
||||
Пример содержимого таблицы bookings |
|
|
|
|
|
||||||
|
ABC |
1000 |
19991230 |
001 |
00000017 |
19990101 |
|
|
|
|
|
|
ABC |
1234 |
19991230 |
002 |
00000002 |
19991229 |
|
|
|
|
|
|
ABC |
1234 |
19991231 |
005 |
00000017 |
19990101 |
|
|
|
|
|
|
AIR |
0007 |
19990430 |
010 |
87654321 |
19990101 |
|
|
|
||
|
AIR |
1234 |
19990901 |
011 |
00000002 |
19990101 |
|
|
|
|
|
|
XYZ |
0006 |
19990606 |
008 |
00000001 |
19990101 |
|
|
|
|
|
|
XYZ |
0007 |
19990505 |
007 |
87654321 |
19990101 |
|
|
|
|
Предположим, необходимо распечатать список всех заказчиков, которые вылетают после 05/01/1999 и забронировали места на рейс 01/01/1999. Список должен содержать даты авиарейсов и выглядеть так, как на рис. 15.1.
Рис. 15.1
Список заказчиков и их регистрация
Создание программного текста
Такой список можно получить с помощью следующей программы, состоящей из двух вложенных циклов select:
tables: customers, bookings. select * from customers.
170 |
|
Глава15 |
|
|
write / customers-name. |
|
|
|
select |
* from bookings |
where customid = customers-id and fldate > '19990501'
and order_date = '19990101'. write at /3 bookings-fldate.
endselect.
endselect.
Тот же самый список можно получить с помощью другой программы, которая использует соответствующую логическую базу (Logical Database) и два события get:
tables: customers, bookings. get customers.
write / customers-name. get bookings.
write at /3 bookings-fldate.
Имя Logical Database является атрибутом программы и должно быть задано на экране атрибутов (рис. 15.2).
Рис.15.2
Ввод имени логической базы на экране атрибутов программы создания отчета
Задание атрибутов программы см. в главе 3.
Система R/3 содержит приблизительно 150 вариантов логических баз (Logical Databases), которые обеспечивают требования большинства бизнес-приложений. Например, Logical Databases можно использовать для следующих целей:
•Обработки финансовых бухгалтерских документов
•Поддержки центров оплаты
•Обработки документов по продажам
•Движения запасов
•Обработки заказов
Считывание данных с помощью Logical Databases |
171 |
|
|
|
|
Задание параметров выборки
В начале выполнения второй из приведенных выше программ пользователь увидит экран выбора, на котором он сможет ввести необходимые значения параметров. Сначала нужно задать нижнюю границу даты рейса и заказа (рис. 15.3).
Рис. 15.3
Экран выбора для отчета учебного примера
Нажав кнопку Selection Options на экране выбора, можно задать оператор Greater Than (больше чем) для даты полета (рис. 15.4). Использование этого оператора обеспечивает поиск только чисел, превосходящих указанное минимальное значение.
Рис. 15.4
Задание параметров выборки для отчета учебного примера