Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Р. Кречмер, В. Вейс - Разработка приложений SAP R3 на языке АВАР4.pdf
Скачиваний:
503
Добавлен:
17.02.2016
Размер:
29.74 Mб
Скачать

Глава 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

Надежность и гибкость