Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
пособие авар.doc
Скачиваний:
62
Добавлен:
02.09.2019
Размер:
2.34 Mб
Скачать

Часть III. Полезные советы 85

Создание ABAP программы без ключа разработчика 85

Поиск внутренних таблиц 85

Редактирование данных в таблицах SAP, недоступных для ведения 87

Оптимизация выборки данных 88

Справочник транзакций 88

Вступление

Данное пособие разделено на три логические части. В первой части (Основы языка) рассматриваются основы логики разработки приложений на языке ABAP/4, основные конструкции языка и работа с таблицами базы данных. Целевая аудитория - консультанты без опыта программирования на ABAP/4, но знающие любой другой язык высокого уровня. Данная глава не охватывает всей функциональности языка, поэтому для более глубокого изучения рекомендуется прочитать книгу «Разработка приложений SAP R/3 на языке ABAP/4» (Р. Кречмер, В. Вейс).

Вторая часть (Расширенные приемы программирования в SAP BW) представляет собой сборник приемов реализации задач, часто встречающиеся при программировании в SAP BW. Целевая аудитория – консультанты с уверенным уровнем владения ABAP, решающие задачи на проектах по отчетности, бюджетированию или консолидации в SAP BI. В дополнение ко второй части можно порекомендовать пособие «ABAP_Development_for_SAP_NetWeaver_BI_User_Exits_and_BAdls» (автор Dirk Herzog, само пособие легко найти в сети интернет). В нем подробно рассматриваются темы:

  • User Exit`s и BADI`s в процессе экстракции данных;

  • User Exit`s в процессе загрузки данных;

  • User Exit`s и BADI`s в отчетности.

  • Так же в качестве источника информации можно порекомендовать использовать сайты:

    • http://help.sap.com

    • http://www.sapforum.ru

Третья часть (Полезные советы) приводит некоторые приемы, которые могут пригодиться при программировании в системе SAP. Целевая аудитория - консультанты с уверенным уровнем владения ABAP.

Часть I. Основы языка

Обзор основных возможностей

ABAP/4 (Advanced Business Application Programming 4GL) - развитый язык программирования коммерческих приложений четвертого поколения, разработанный компанией SAP, являющийся основой системы R/3. Язык ABAP/4 - это не отдельно используемое средство, а часть общей среды разработки Development Workbench, в которую входит очень большое число инструментов для планирования и реализации приложений.

Структура языка

Текст программы на ABAP/4 строится из операторов, каждый из которых заканчивается точкой. Оператор начинается с зарезервированного слова. Можно объединять несколько операторов имеющих одинаковую начальную часть в один оператор. Например:

data: x type i.

data: y type i.

могут быть сокращены до одного:

data: x type i,

y type i.

Типы, переменные и интегрированный словарь Dictionary

ABAP/4 обеспечивает набор элементарных типов, таких как символьный, целый или дата. Для определения типа используется конструкция data...type. Например, определим поле customer типа character длиной 25 символов:

data: customer(25) type c.

Можно так же определить неэлементарный тип, который в будущем можно использовать для определения переменных. Например:

types t25(25) type c.

data: customer type t25.

Для того, чтобы создать переменную, ссылающуюся на другую необходимо использовать like:

data: customer like vendor.

ABAP/4 позволяет определять и сложные объекты. Например, определим запись таблицы с именем book:

data: begin of book

id(4) type c,

b_date type d,

name like customer,

end of book.

В данной структуре определены три поля. Чтобы сослаться на поле name нужно написать book-name.

Интегрированный словарь ABAP/4 Dictionary содержит определение типов и структуры данных, которые можно использовать во всех компонентах системы. Это обеспечивает единообразие таблиц во всей системе.

Таблицы базы данных и внутренние таблицы

В средства языка ABAP/4 интегрировано множество операторы SQL (точнее Open SQL). Рассмотрим пример выборки данных из таблицы базы данных во внутреннюю таблицу с последующим выводом на экран:

tables: customers.

data: all_customer like customers occurs 100

with header line.

select * from customers into table all_customers.

look at all_customers.

write: /all_customers-name.

endloop.

  • tables - определяем, какие таблицы мы будем использовать;

  • occurs 100 - ключевое слово, указывающее на создание внутренней таблицы; 100 - указывает на предполагаемое количество строк (используется только для оптимизации);

  • with header line - указываем, что необходимо постоить объект такой же структуры, что и основной объект;

  • select... - обычный SQL-запрос;

  • look...endloop - цикл "пока";

  • write - вывод на экран.

Создание отчетов

Для создания отчета разработчик может использовать средство ABAP/4 Query, однако для получения более гибких средств для конструирования отчетов рекомендуется использовать команду select или средство Logical Database. Подробнее об этом я напишу в следующих шагах.

Средства разработки ABAP/4 Development Workbench

ABAP/4 является ядром пакета разработки Development Workbench. Помимо него имеется ряд полезных инструментов:

  • программа просмотра Object Browser;

  • архив Repository и словарь Dictionary;

  • средство моделирования Data Modeler;

  • средство запросов Query;

  • утилита Workbench Organizer;

  • различные средства анализа и пр.

Начало работы с ABAP/4

Синтаксис

Синтаксические правила ABAP/4 схожи с многочисленными языками программирования.

В первом операторе определяется имя программы, например:

report abaptest.

Литералы ограничиваются одинарной кавычкой:

write 'Hello world'.

Можно указать в какой позиции необходимо вывести текст:

write 'Hello world' at 10.

Для комментирования исходных текстов применяется знак * (звездочка):

write 'Hello world' at 10.

* Пример комментариев

ABAP/4 не реагирует на регистр операторов, так операторы "WRITE" и "write" идентичны.