- •Содержание
- •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)
Разработка
приложений SAP R/3
Рюдигер Кречмер |
Вольфганг Вейс |
на языке
АВАР/4
Исходные тексты программ для многократного использования
Документация по АВАР/4
Содержание
|
Введение |
xvii |
Часть I |
Введение в АВАР/4 |
|
Глава 1 |
Основные возможности языка АВАР/4 |
5 |
|
Краткое руководство по АВАР/4 |
4 |
|
Структура языка |
4 |
|
Типы, объекты данных (переменные) и интегрированный |
|
|
словарь Dictionary |
4 |
|
Примеры простых программ |
6 |
|
Команды |
6 |
|
Определение подпрограмм |
6 |
|
Таблицы базы данных и внутренние таблицы |
|
|
Создание отчетов и диалоговых транзакций |
8 |
|
Режим компиляции и выполнения |
11 |
|
Поддержка нескольких языков |
11 |
|
Многократное использование элементов программ |
11 |
|
Открытые интерфейсы |
12 |
|
Резюме |
13 |
Глава 2 |
Средства разработки АВАР/4 |
|
|
Development Workbench |
15 |
|
Repository |
16 |
|
Средства моделирования данных Data Modeler |
18 |
|
Средства тестирования и анализа |
19 |
|
Утилита Workbench Organizer |
19 |
|
Резюме |
20 |
Глава 3 |
Начальный этап работы с АВАР/4 |
21 |
|
Синтаксис программ, |
|
|
написанных на языке АВАР/4 |
22 |
|
Операторы и комментарии |
22 |
|
Комбинирование операторов |
22 |
|
Использование регистров |
23 |
|
Составление программы |
23 |
|
Регистрация в системе R/3 |
23 |
|
Задание атрибутов программы |
25 |
|
Составление исходного текста программы |
27 |
|
Работа с утилитой редактирования |
28 |
|
Справочная информация |
29 |
|
Проверка синтаксиса |
29 |
|
Проверка программы |
29 |
|
Резюме |
32 |
Часть II Объекты данных |
33 |
|
Глава 4 |
Локальные данные программы |
35 |
|
Определение полей с помощью элементарных типов и ссылок |
36 |
|
Какой способ лучше? |
36 |
|
Элементарные типы |
37 |
|
Символьные типы |
38 |
|
Символ (текст) |
38 |
|
Цифровой текст |
39 |
|
Числа |
39 |
|
Целые |
39 |
|
Упакованные числа |
39 |
|
Числа с плавающей запятой |
40 |
|
Дата |
41 |
|
Время |
41 |
|
Шестнадцатиричное |
41 |
|
Записи и внутренние таблицы |
41 |
|
Использование записей в языке АВАР/4 |
42 |
|
Внутренние таблицы |
42 |
|
Определение составных неэлементарных типов и объектов данных 43 |
|
|
Область определения данных |
44 |
|
Использование системных полей |
44 |
|
Резюме |
45 |
Глава 5 |
Глобальные таблицы словаря Dictionary |
47 |
|
Три уровня словаря Dictionary |
48 |
|
Таблицы и структуры |
49 |
|
Отображение определения |
49 |
|
Отображение содержимого таблицы |
51 |
|
Создание таблицы или структуры |
53 |
|
Использование таблиц и структур в программе |
55 |
|
Изменение определений таблиц |
56 |
|
Включение и добавление структур |
57 |
|
Работа с элементами данных |
58 |
|
Отображение определения элементов данных |
58 |
|
Сопровождение элементов данных |
59 |
|
Создание и использование доменов |
60 |
|
Отображение определения домена |
60 |
|
Создание доменов |
62 |
|
Внешние ключи и ввод допустимых значений |
63 |
|
Представления |
64 |
|
Определение объекта типа type-pool |
65 |
|
Специальные поля таблицы |
66 |
|
Резюме |
68 |
Глава 6 |
Моделирование сущностей и связей |
69 |
|
Простейшая модель данных |
70 |
|
Выбор способа моделирования |
73 |
|
Модели данных, типы сущности, таблицы и представления |
73 |
|
Создание или изменение модели данных |
74 |
|
Отображение или изменение типа сущности |
75 |
|
Связи и внешние ключи |
77 |
|
Создание отношений, или связей |
77 |
|
Резюме |
78 |
Часть III Простейшие конструкции языка |
79 |
|
Глава 7 |
Работа с данными |
81 |
|
Копирование полей с помощью команд Move (переместить) |
|
|
и Compute (вычислить) |
82 |
|
Преобразование содержимого полей |
82 |
|
Преобразование символьных полей |
83 |
|
Преобразование цифровых полей |
83 |
|
Преобразование полей типа даты |
84 |
|
Копирование структурированных объектов |
85 |
|
Арифметические выражения и математические функции |
86 |
|
Операции со строками текста |
87 |
|
Конкатенация и разделение символьных строк |
88 |
|
Сдвиг числовых строк |
89 |
|
Замена и преобразование символов в строке |
89 |
|
Поиск символьных строк в полях |
|
|
или внутренних таблицах |
90 |
|
Работа с частями полей |
90 |
|
Резюме |
91 |
Глава 8 |
Запись данных |
93 |
|
Использование базовых форматов компоновки |
94 |
|
Улучшение компоновки страницы |
96 |
|
Символы и пиктограммы |
96 |
|
Цвета |
97 |
|
Опции вывода, зависящие от типа поля |
98 |
|
Поддержка нескольких языков |
98 |
|
Резюме |
100 |
Глава 9 События и управление выполнением |
|
|
|
программы |
101 |
|
Внешнее управление: события |
102 |
|
Внутреннее управление: условия и циклы |
103 |
|
Условия |
103 |
|
Логические выражения |
104 |
|
Сравнение полей различных типов |
105 |
|
Сравнение символьных строк |
105 |
|
Циклы |
106 |
|
Резюме |
108 |
Глава 10 Подпрограммы и функции |
109 |
|
|
Модульное программирование с использованием форм |
110 |
|
Локальные данные |
110 |
|
Интерфейсы форм |
111 |
|
Классификация параметров |
112 |
|
Контроль совместимости типов |
113 |
|
Создание функций увеличения возможности многократного |
|
|
использования текстов |
115 |
|
Функциональные группы и функции |
115 |
|
Интерфейсные параметры |
118 |
|
Исключения |
120 |
|
Редактирование функции |
121 |
|
Вложенные вызовы и завершения подпрограмм и функций |
122 |
|
Резюме |
123 |
Часть IV |
Работа с таблицами |
125 |
|
Глава 11 Чтение таблиц базы данных |
127 |
|
|
|
Построение простейшего запроса |
128 |
|
|
Простейшие операторы select |
|
|
|
для выборки данных |
129 |
|
|
Работа со всеми элементами таблицы |
129 |
|
|
Использование предложения where |
130 |
|
|
Чтение единственного элемента таблицы |
131 |
|
|
Извлечение единственного поля |
131 |
|
|
Получение статистической информации |
131 |
|
|
Упорядочение результатов запроса |
132 |
|
|
Динамическая выборка данных |
132 |
|
|
Использование составных критериев |
|
|
|
выборки Select-Options |
132 |
|
|
Динамическое присвоение имен таблиц |
132 |
|
|
Динамическое использование предложения where |
133 |
|
|
Внешние ключи и представления |
133 |
|
|
Получение данных с помощью |
|
|
|
вложенных циклов select |
133 |
|
|
Использование представлений Dictionary для получения данных |
134 |
|
|
Использование внутренних таблиц |
|
|
|
для критериев выборки |
134 |
|
|
Сравнение различных технологий программирования |
135 |
|
|
Вложенные циклы select |
135 |
|
|
Представления, определенные в АВАР/4 Dictionary |
135 |
|
|
Использование внутренних таблиц и дополнения for all entries |
136 |
|
|
Резюме |
136 |
|
Глава 12 Использование внутренних таблиц |
137 |
||
|
Что такое внутренняя таблица |
138 |
|
|
Таблицы и строки заголовков |
138 |
|
|
Заполнение внутренней таблицы |
139 |
|
|
Чтение данных из таблиц базы |
139 |
|
|
Добавление строк |
139 |
|
|
Позиционная вставка строк |
140 |
|
|
Перемещение таблицы в целом |
141 |
|
|
Размер внутренней таблицы |
142 |
|
|
Сортировка элементов внутренней таблицы |
142 |
|
|
Извлечение строк из внутренней таблицы |
144 |
|
|
Чтение отдельных строк |
145 |
|
|
Внесение изменений во внутреннюю таблицу |
147 |
|
|
Вставка нескольких строк |
147 |
|
|
Модификация одной строки |
147 |
|
|
Удаление нескольких строк |
148 |
|
|
Работа с промежуточными суммами |
148 |
|
|
Извлечение данных |
149 |
|
|
Вложенные таблицы |
150 |
|
|
Резюме |
151 |
|
Глава 13 |
Изменение таблиц базы данных |
153 |
|
|
Включение новых строк с помощью |
|
|
|
команды insert |
154 |
|
|
Вставка отдельной строки |
154 |
|
|
Вставка нескольких строк |
155 |
|
Внутренняя структура составного критерия |
|
181 |
События экрана выбора |
|
182 |
Контроль ввода |
|
182 |
Повышение производительности программы |
|
183 |
Резюме |
|
183 |
Глава 17 Детализация объекта данных |
|
|
и дополнительные возможности |
|
|
при работе со списками |
185 |
|
Детализация объектов |
|
186 |
Двойной щелчок мышью: событие at line-selection |
|
186 |
Действия пользователя общего типа: at user-command |
|
187 |
Определение статуса графического интерфейса |
|
188 |
Связь функциональных клавиш с функциональными |
|
|
элементами меню |
|
190 |
Проектирование инструментальной линейки приложения |
190 |
|
Изменение стандартной инструментальной линейки |
|
191 |
Использование нескольких статусов GUI |
|
192 |
Всплывающие окна и основные экраны |
|
192 |
Положение курсора и скрытая информация |
|
194 |
Команда hide |
|
194 |
Команда get cursor |
|
194 |
Дополнительные средства проектирования списков |
|
195 |
Текстовые элементы, определяемые на естественном |
|
|
языке пользователя |
|
195 |
Заголовки и нижние колонтитулы страниц |
|
197 |
Фреймы (кадры) |
|
200 |
Резюме |
|
201 |
Глава 18 Выполнение программы-отчета |
203 |
|
Тестирование отчетов из Development Workbench |
|
204 |
Использование команды submit |
|
|
для выполнения отчетов |
|
204 |
Использование критериев выборки |
|
|
для передачи данных |
|
205 |
Использование системной области памяти АВАР/4 |
|
|
в качестве интерфейса |
|
206 |
Выполнение отчетов, использующих варианты |
|
207 |
Создание вариантов |
|
207 |
Задание атрибутов варианта |
|
208 |
Использование переменных выборки |
|
208 |
Вычисление даты в варианте |
|
209 |
Запуск отчета, использующего варианты |
|
210 |
Отчеты ИС производства |
|
210 |
Выполнение отчета в фоновом режиме |
|
211 |
Резюме |
|
212 |
Часть VI Пользовательский диалог |
|
213 |
Глава 19 Определение пользовательского интерфейса |
215 |
|
Описание учебной задачи |
|
216 |
Создание диалоговой программы |
|
218 |
Создание экрана |
|
219 |
Размещение элементов на экране |
|
220 |
Запуск Fullscreen |
Editor |
220 |
|
Задание меток и полей ввода |
220 |
||
Задание фрейма с заголовком |
222 |
||
Атрибуты элементов экрана |
223 |
||
Определение логики работы |
225 |
||
Событие |
process |
before output |
226 |
Событие |
process |
after input |
226 |
Завершение примера приложения |
227 |
||
Построение статусов GUI и заголовков |
229 |
||
Задание меню |
|
229 |
|
Функциональные клавиши и кнопки |
232 |
||
Определение заголовка GUI |
233 |
||
Резюме |
|
|
234 |
Глава 20 Сообщения, стандартизованные |
|
|
диалоговые окна и исключения |
|
235 |
Работа с сообщениями |
|
236 |
Вывод сообщения из программы |
|
236 |
Сообщения на экране ввода данных |
|
237 |
Различные типы сообщений и реакция программы |
238 |
|
Стандартизованные диалоговые окна |
|
239 |
Исключения при вычислении функций |
|
240 |
Резюме |
|
240 |
Глава 21 Изменение объектов в базе данных |
|
|
с помощью транзакций |
|
241 |
Логический рабочий блок (LUW) |
|
242 |
Механизм блокировки системы |
R/3 |
242 |
Создание блокируемых объектов |
|
243 |
Создание элемента блокировки |
|
244 |
Удаление элемента блокировки |
|
244 |
Использование транзакций |
|
244 |
Создание и вызов транзакции |
|
244 |
call transaction 'SAAB'. |
|
246 |
Варианты в транзакциях |
|
246 |
Задания по изменению данных |
|
247 |
Работа с функциями изменения данных |
|
247 |
Асинхронный механизм Update Task |
|
248 |
Резюме |
|
248 |
Глава 22 Расширенные функции графического |
|
|
интерфейса |
|
249 |
Улучшение внешнего вида экрана |
|
250 |
Тумблеры, переключатели и экранные кнопки |
|
250 |
Управляющие элементы таблицы |
|
252 |
Создание управляющего элемента таблицы |
|
253 |
Определение управляющего элемента таблицы в программе |
254 |
|
Изменение компоновки экрана |
|
|
в процессе выполнения |
|
255 |
Более сложный интерфейс пользователя |
|
256 |
Вложенные меню и ускоренный доступ |
|
256 |
Завершение работы с экраном с помощью |
|
|
команд выхода |
|
257 |
Использование копий или ссылок |
|
257 |
Оперативная справка и задание значений |
|
|
по умолчанию |
|
258 |
Описание и контрольные таблицы Dictionary |
258 |
События, используемые для вывода контекстно-зависимой с |
|
правки на экран |
258 |
Значения по умолчанию для экранных полей |
259 |
Использование полных экранов |
|
и диалоговых блоков |
260 |
Переключение на следующий экран |
260 |
Вызов диалоговых окон с помощью команды call screen |
260 |
Вызов диалоговых окон с помощью стандартных функций |
261 |
Использование различных статусов интерфейса |
261 |
Списки на основных экранах |
261 |
Резюме |
263 |
ЧастьVIIДинамическоепрограммирование |
265 |
Глава 23 Динамические языковые конструкции |
267 |
Операции с таблицами |
268 |
Динамические операторы для внутренних таблиц |
268 |
Динамическая команда sort |
268 |
Динамическая команда read table |
270 |
Динамическое вычисление промежуточных сумм |
270 |
Динамические команды Open SQL |
272 |
Вызов подпрограмм |
272 |
Резюме |
274 |
Глава 24 Поля типа Field Symbol |
275 |
Поля типа Field Symbol |
276 |
Операция assign |
276 |
Использование полей типа Field Symbol |
|
для компонентов записи |
277 |
Надежность или гибкость |
278 |
Резюме |
280 |
Глава 25 Автоматическая генерация программы |
281 |
Создание временных программ |
282 |
Обработка синтаксических ошибок |
282 |
Пример из реальной жизни |
283 |
Генерация постоянных программ |
284 |
Резюме |
285 |
Часть VIIIОткрытые интерфейсы |
287 |
Глава 26 Передача файлов |
289 |
Интерфейс работы с файлом |
290 |
Открытие файла |
291 |
Запись данных в файл |
291 |
Закрытие файла |
292 |
Чтение данных из файла |
292 |
Применение файлов в распределенной среде R/3 |
293 |
Резюме |
295 |
Глава 27 Вызовы удаленных функций |
297 |
Связь между программами |
298 |
Вызов удаленной функции |
298 |
Процесс исполнения RFC |
299 |
Расширенные возможности |
299 |
Сопровождение адресатов |
300 |
Обработка ошибок связи |
300 |
Асинхронный вызов |
302 |
Резюме |
303 |
Глава 28 Автоматическая обработка объектов OLE |
305 |
|
|
Использование сервера OLE |
|
|
в программах АВАР/4 |
306 |
|
Создание объекта |
306 |
|
Свойства объекта |
306 |
|
Методы вызова объектов |
307 |
|
Удаление связей объектов |
308 |
|
Резюме |
309 |
|
Приложения |
311 |
А |
Архитектура системы R/3 |
313 |
В |
Средства обработки запросов |
|
|
АВАР/4 Query |
317 |
|
Использование Logical Databases при работе |
|
|
с утилитой АВАР/4 Query |
318 |
|
Использование запросов АВАР/4 |
|
|
для получения отчетов |
318 |
|
Доступ к данным с помощью АВАР/4 Query |
319 |
|
Элементы запроса АВАР/4 Query |
319 |
|
Построение запроса |
319 |
|
Простейшие запросы |
320 |
С |
Расширенные средства АВАР/4 |
|
|
Development Workbench |
323 |
|
Включение операторов |
324 |
|
Структурирование больших программ |
|
|
с помощью Include |
324 |
|
Расширенные возможности проверки программ |
325 |
|
Отладка программы |
325 |
|
Использование двойного щелчка мышью |
|
|
для создания объектов и вывода на экран |
|
|
их определений в режиме редактирования |
326 |
|
Работа со списками использования (Use List) |
327 |
|
Получение перечня программных элементов |
328 |
|
Документирование программ |
329 |
|
Анализ поведения приложения при исполнении |
329 |
D Работа групп разработчиков |
|
в распределенной среде |
33 |
Классы разработки |
332 |
Создание заданий (Tasks) и запросы |
|
на изменения (Change Requests) |
334 |
Реализация заданий и запросов на изменения |
335 |
Е Важнейшие системные поляАВАР/4 |
337 |
|
Важнейшие системные поля |
АВАР/4 |
338 |
Разработка приложений R/3 на языке АВАР/4 |
|
|
представленная на CD-ROM. |
|
342 |
Инструкция по инсталяции. |
|
342 |
Введение |
xix |
посвящена глава 27. И наконец, в последней главе рассматриваются способы прямого вызова из языка АВАР/4 приложений OLE и использование средств OLE Automation.
В пяти приложениях приводится важная дополнительная информация. В приложении А рассматривается архитектура системы R/3, в приложении В - система запросов АВАР/4 Query. Приложение С посвящено расширенным средствам Development Workbench. В приложении D изложены способы организации коллективной разработки в распределенной среде. В приложении Е дан список наиболее значимых системных полей АВАР/4, где поясняется их содержимое.
Условные обозначения, принятые в руководстве
Условные обозначения помогают усвоить материал. Жирным шрифтом, как правило, выделен текст, вводимый с клавиатуры. Курсивом отмечены новые термины или понятия, на которые следует обратить внимание. Для всех примеров программ используется специальный шрифт, чтобы читатель мог отличить их от остального текста.
Кроме того, особо отмечена специальная информация:
Приводятся дополнительные разъяснения по теме данного раздела или дается ссылка на другую главу руководства, где можно найти более подробные сведения.
Предлагаются полезные советы, помогающие наилучшим образом выполнить задание или выбрать оптимальное решение какой-то проблемы.
Делается акцент на распространенные ошибки или сложности, которых стоит избегать.
CD-ROM, поставляемый с руководством
Вбесплатно прилагаемом к книге CD-ROM содержатся все исходные тексты примеров, приведенных
вкниге. Они могут оказаться полезными при работе над примерами руководства. Фрагменты исходных текстов можно использовать в качестве шаблона при написании собственных программ.
CD-ROM содержит подробную документацию по всем командам АВАР/4, описание вариантов выполнения команд и много полезных примеров программ.
И наконец, CD-ROM предлагает демонстрационные материалы презентаций, созданные средствами PowerPoint, видеоклипы и информационные документы фирмы, относящиеся к прикладным областям
применения системы R/3. Из них можно узнать, например, о преимуществах интеграции приложений в системе R/3, в частности о том, что интеграция гарантирует всем конечным пользователям возможность работы с самыми свежими оперативными данными без постоянной дозагрузки. Записанная на CD-ROM информация помогает определить, как наилучшим образом реализовать преимущества системы R/3 для разработки эффективных бизнес-приложений, отвечающих современным требованиям.
Часть I
Введение в АВАР/4
Глава 1. Основные возможности языка АВАР/4
Глава 2. Средства разработки АВАР/4 Development Workbench Глава 3. Начальный этап работы с АВАР/4
Глава 1
Основныевозможности
языкаАВАР/4
•Структура языка
•Работа с типами и объектами данных
•Некоторые простые примеры программ
•Концепция многократного использования объектов данных в языке АВАР/4
Глава 2
Средстворазработки АВАР/4 Development Workbench
•Возможности средств Workbench
•Многократно используемые объекты архива Repository
•Построение графических представлений посредством Data Modeler
•Управление проектами с помощью Workbench Organizer