- •Часть I. Основы языка 5
- •Часть II. Расширенные приемы программирования в sap bw 37
- •Часть III. Полезные советы 85
- •Вступление
- •Задание атрибутов программы
- •Составление исходного текста программы
- •Локальные данные программы Определение полей с помощью элементарных типов и ссылок
- •Записи и внутренние таблицы
- •Объявление составных неэлементарных типов и объектов
- •Область определения данных
- •Глобальные таблицы словаря Dictionary
- •Отображение определения
- •Отображение содержимого таблицы
- •Создание таблицы или структуры
- •Использование таблиц и структур в программе
- •Создание доменов
- •Работа с данными Копирование полей с помощью команд Move и Compute
- •Преобразования содержимого полей
- •Копирование структурированных объектов
- •Арифметические выражения и математические функции
- •Операции со строками текста Конкатенация и разделение строк
- •Замена и преобразование символов в строке
- •Поиск символьных строк в полях или внутренних таблицах
- •Символ «Перенос каретки»
- •Запись данных
- •Простой формат вывода
- •Использование символов и пиктограмм
- •Использование цветов
- •Интерфейсы форм
- •Подпрограммы и функции Глобальные функции
- •Функциональные группы
- •Создание функций
- •Вызов функции
- •Чтение таблиц базы данных Построение простейшего запроса
- •Использование конструкции where
- •Чтение единственного элемента таблицы
- •Извлечение ограниченного числа полей
- •Упорядочение результатов запроса
- •Динамическая выборка данных
- •Вложенные циклы select
- •Часть II. Расширенные приемы программирования в sap bw Тип функции планирования
- •Создание класса
- •Определение нового типа функции планирования
- •Разработка класса Считывание значений управляющих параметров
- •Определение ссылочных данных
- •Добавление сообщений в спул вывода
- •Обработка данных для изменения
- •Badi для консолидации (перенос данных)
- •Чтение данных инфо-провайдера
- •Формирование структуры признаков из настроечной таблицы
- •Отправка e-mail сообщения из abap на внешний адрес
- •Выполнение расчетов в параллельных (фоновых) задачах
- •Подпрограмма преобразования
- •Вызов транзакции через web интерфейс
- •Передача параметров
- •Загрузка данных из 1с 8
- •Загрузка справочников
- •Загрузка транзакционных данных
- •Загрузка данных из файлов Excel с помощью ole
- •Загрузка сообщений (tcode se91) из файла Excel
- •Программа загрузки данных из файла csv в таблицу бд
- •Вызов последовательности планирования из abap
- •Динамическое программирование
- •Определение полей таблицы в runtime
- •Создание динамической таблицы в runtime
- •Генерирование abap подпрограммы в runtime
- •Создание пользовательского средства поиска
- •Часть III. Полезные советы Создание abap программы без ключа разработчика
- •Поиск внутренних таблиц
- •Редактирование данных в таблицах sap, недоступных для ведения
- •Оптимизация выборки данных
- •Справочник транзакций
Задание атрибутов программы
В дереве инструментов выберите пункт меню "SAP menu -> Tools -> ABAP Workbench -> Development -> ABAP Editor" (код транзакции SE38).
Рисунок 1
В появившемся окне ABAP Editor: Inital Screen введите имя программы (например, Z_HelloWorld) и выберите в группе объектов переключатель Source code и нажмите кнопку Create. Важно, что имя программы должно начинаться с буквы "Z".
Рисунок 2
На следующем экране введите значения атрибутов и нажмите кнопку Save.
Рисунок 3
Далее появится окно Create Object Directory, в поле Development class которого введите 'test'.
Составление исходного текста программы
После задания атрибутов появляется редактор текстов ABAP Editor в котором после оператора report можно писать свой код. Например:
REPORT Z_HELLOWORLD .
WRITE 'Hello world !!!'.
Для сохранения исходного кода нажмите Ctrl+S или кнопку Save .
Для просмотра справочной информации в панели инструментов есть кнопка "Help on..." . Вы просто можете установить курсор на необходимый оператор и нажать на эту кнопку.
Для проверки синтаксиса программы необходимо нажать кнопку Check .
Теперь самое время запустить программу и посмотреть результат ее выполнения. Для запуска нажмите кнопку Test .
Для возврата из режима выполнения программы в режим ее редактирования нажмите кнопку Back .
Локальные данные программы Определение полей с помощью элементарных типов и ссылок
Поле в ABAP/4 является переменной, которая не может быть разложена на более мелкие составляющие.
Для того, чтобы одновременно с указанием типа присвоить переменной какое-то значение - используется оператор value:
data: id type i value 10.
Предположим, что надо написать программу, которая стоит список клиентов и продавцов. Допустим, поле фамилии клиента и продавца будет длинной 25 символов. ABAP/4 предполагает три варианта определения такого типа:
Использование элементарных типов
data: customer_name(25) type c,
vendor_name(25) type c.
Ссылка на существующие поля
data: customer_name(25) type c,
vendor_name like customer_name.
Ссылка на неэлементарный тип
types t(25) type c.
data: customer_name type t,
vendor_name type t.
Элементарные типы
В ABAP/4 используются следующие элементарные типы.
Название |
Синтаксис |
Нач.значение |
Пример |
Символьный (Character) |
c |
Пробел |
data customer_name(25) type c value 'ERP Group'. |
Цифровой текст |
n |
Пробел |
data customer_id(8) type n value '12345678'. |
Целое число (Integer) |
i |
0 |
data customer_number type i value 17. |
Упакованные числа |
p |
0 |
data sp_number type p. |
Числа с плавающей точкой (float) |
f |
0.0 |
data float_number type f value '-12.34'. |
Дата (Date) |
d |
'00000000' |
data sp_date type d |
Время (Time) |
t |
'000000' |
data sp_time type t |
Шестнадцатеричный тип (Hexdecimal) |
x |
X'00' |
data xstring(2) type x value 'F089'. |