- •Содержание
- •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)
Глава 22
Расширенные функции графического интерфейса
•Использование на графическом экране переключателей, тумблеров и управляющих элементов таблиц
•Обеспечение пользователя контекстно-зависимой оперативной справочной информацией
•Создание диалоговых окон
252 |
Глава22 |
|
|
|
|
Рис. 22.3
Определение экранной кнопки (Delete Input) внутри экрана регистрации заказов
Управляющиеэлементытаблицы
Управляющие элементы таблицы (table control) используются для отображения содержимого внутренней таблицы и обеспечивают интерактивную регулировку размещения таблицы на экране. В частности, используя буксировку мышью, можно изменить размеры таблицы или порядок размещения столбцов (см. рис. 22.4 и 22.5). В приведенном примере последний столбец City (рис. 22.4) был перемещен влево и стал первым (см. рис. 22.5).
Рис. 22.4
Изображение таблицы с управляющими элементами
Часть VII
Динамическое
программирование
Глава 23: Динамические языковые конструкции Глава 24: Поля типа Field Symbol
Глава 25: Автоматическая генерация программы
Глава 23
Динамическиеязыковые
конструкции
•Динамическое использование внутренних таблиц
•Динамические операции для работы
сбазой данных
•Динамический вызов подпрограмм
272 |
Глава 23 |
|
|
|
|
Динамические команды Open SQL
Как уже рассматривалось в главах 11 и 13, команды Open SQL (select, insert, update, modify и delete) поддерживают динамическое задание имени таблицы, поэтому динамический оператор select можно записать так:
Вэтом небольшом примере пользователь задает на экране выбора имя таблицы. Динамический оператор select с дополнением count ( * ) определяет количество элементов в таблице. Так же, как и в предыдущих примерах, поле, содержащее динамически задаваемое имя таблицы, заключено в круглые скобки.
Воператоре select разрешено не только динамически определять имя таблицы, но и использовать динамическое предложение where. В качестве примера определим внутреннюю таблицу where_tab и при выполнении программы заполним ее, используя предложение where:
Данная таблица заполняется символьными константами в соответствии с условием where.
Не следуетзабывать,что одинарные кавычки в символьных константахдолжны удваиваться.
Далее можно использовать внутреннюю таблицу where_tab в операторе select, который считывает таблицу customers:
Программа читает данные о тех клиентах, чьи номера идентификаторов укладываются в диапазон от 1 до 999, а фамилии и названия городов начинаются с букв Е и S соответственно. Конечно, такую программу можно написать и с использованием статического предложения where:
Динамическое предложение where следует использовать, если имя таблицы неизвестно, так как в этом случае поля предложения where необходимо определять при выполнении программы. К тому же, если возможны различные действия пользователей, то непросто предвидеть все варианты условий where в статической программе.
Для того чтобы не допустить несанкционированного изменения базы данных, в языке АВАР/4 динамическое предложение where поддерживается только для операции select.
Наиболее часто динамическое предложение where используется при задании пользователем критериев выборки для полей таблицы. В этом случае в динамическом предложении where используется составной критерий выборки (см. главу 16).
Вызовподпрограмм
Иногда при разработке программ больших приложений бывает необходимо вызвать подпрограмму, принадлежащую другой программе, причем имя этой подпрограммы или имя программы (которой она принадлежит) может быть определено только в процессе выполнения. Используемая в примере версия команды perform позволяет определить имя внешней формы:
report chap2307.
Глава 24
ПолятипаFieldSymbol
•Определение поля типа Field Symbol
•Использование операции assign
•Надежность и гибкость