На чем написан sap
Кто такой ABAP-разработчик и почему стоит выбрать это «нишевое» направление
В мире существует множество языков программирования. Одни из них очень популярны и в каком-то смысле стали брендами, о которых знают даже люди, чья работа не связана с IT. К ним можно отнести JavaScript, Java, Python, PHP и иные.
Другие языки малоизвестны, но при этом на них написаны решения, которые служат фундаментом для всемирно известных компаний и мировой экономики в целом. Один из таких языков — ABAP.
Алексей Яременко, директор украинского офиса LeverX Group, свою карьеру в IT начинал, как и многие, с позиции разработчика. В 2012 году перед ним стоял перед выбором: какой язык программирования выбрать? Знакомый посоветовал Алексею пойти на курс по ABAP в LeverX Group. До этого он ничего не слышал об ABAP. Но после поиска информации в интернете Алексей решил, что нужно идти.
Сейчас, спустя почти 10 лет, Алексей рассказывает, почему стоит изучать «нишевые» языки программирования.
ABAP (аббревиатура от Advanced Business Application Programming) — это проприетарный высокоуровневый язык программирования, который был создан компанией SAP еще в начале 80-х и является основным языком разработки «классических» продуктов SAP. O SAP тоже многие могли не слышать. SAP — немецкая компания, лидер на рынке производства программного обеспечения для управления бизнесом и автоматизации бизнес-процессов. Капитализация SAP на данный момент составляет примерно 148 миллиардов евро, а количество сотрудников превышает 103 тысячи человек.
В какой-то степени продукты компании уже стали стандартом благодаря отличной интеграции со сторонними системами, расширяемости и кастомизации стандартных решений.
Решениями SAP сегодня пользуются Apple, Amazon, IBM, Walmart и другие, в том числе многие крупнейшие компании Украины, которые уже автоматизировали бизнес-процессы.
SAP приводит вот такую короткую справку о своих клиентах:
Больше информации о компании можно найти на официальном сайте.
Кто же такие ABAP-разработчики, чем они занимаются и какие у них есть перспективы?
За почти 50 лет в портфеле SAP набралось более 300 продуктов для любой сферы и вида бизнеса. Используются различные технологии как «классические», так и самые передовые: AI, Machine Learning, Predictive Analytics, IoT, Blockchain и другие. Самый главный продукт SAP — ERP-система, последнее поколение которой называется S/4HANA.
Такие продукты являются стандартными решениями, которые легко автоматизируют и оптимизируют рутинные бизнес-процессы. Зачастую у разных клиентов, которые занимаются одним и тем же бизнесом, процессы сильно отличаются. Нужна кастомизация, которой занимаются ABAP-разработчики.
Подавляющее большинство продуктов SAP написаны на ABAP, поэтому он используется для расширения их функционала. Под расширением можно понимать как дополнение стандартного функционала или изменение стандартной логики, так и написание новых решений, которые будут выполняться на сервере приложений SAP (у SAP есть своя платформа SAP NetWeaver, все приложения выполняются на сервере).
Если говорить о классическом ABAP, то взаимодействие пользователей и разработчиков с системой происходит через Web-браузер, специализированные клиентские приложения (SAP GUI и NetWeaver Business Client) или через более известную многим IDE Eclipse. Вести разработку можно через SAP GUI и Eclipse.
А вот как выглядит редактор кода в ABAP Workbench (транзакция для работы с объектами):
ABAP постоянно развивается, в нем есть атрибуты современных языков программирования, а некоторые моменты реализованы даже удобнее, например работа с таблицами.
Задачи, которые решают ABAP-разработчики, очень разные: от простой обработки данных для аналитики до сложных интеграций с различными сервисами. В принципе на ABAP можно написать что угодно, даже игры, но все же назначение у языка другое — решение задач реального бизнеса.
Зарплаты ABAP-разработчиков часто выше зарплат в других «мейнстримовых» языках (к сожалению, зарплатная статистика на DOU не набрала достаточного количества анкет по ABAP, но если посмотреть на Glassdoor и Indeed, то зарплаты ABAP выше, чем во многих других популярных направлениях). Тому есть две причины:
Начать писать код на ABAP легче, чем на других языках программирования. Это позволяет быстрее получить необходимые навыки для работы на проектах.
Дело в том, что система SAP является открытой и разработчик всегда имеет доступ к коду, чтобы посмотреть, как реализованы те или иные функции. Часто задачи на разных проектах схожи, поэтому многое уже написано до вас. Это значительно облегчает разработку.
Клиенты SAP — мировые лидеры, которые стараются внедрять инновационные решения, чтобы увеличить прибыльность своего бизнеса, совершенствуя процессы. На таких проектах, как правило, много различных систем и технологий взаимодействуют друг с другом, что позволяет разработчикам получить новый и интересный опыт. Часто заказчики хотят видеть команду у себя онсайт. Это открывает прекрасную возможность побывать в разных странах и расширить кругозор.
ABAP-разработчики крайне востребованы в развитых странах (Германия, США, Канада и другие). ABAP-специалистов не хватает на IT-рынке, и компании активно привлекают их, не ограничивая офферы географией.
Из недостатков могу выделить только то, что вы как специалист привязываетесь к экосистеме SAP, к определенному комьюнити и корпоративному рынку. Похожее есть и в других областях, например разработчики мобильных приложений очень зависят от экосистем Apple и Google, но мобильному разработчику запустить свой стартап проще, поскольку его клиенты — обычные люди, у каждого из которых есть мобильное устройство, а для разработки нужен только компьютер. С ABAP такой сценарий реализовать сложнее.
Каждый ABAP-разработчик может развивать свою карьеру в следующих направлениях:
Я отметил SAP Developer, а не ABAP Developer, намеренно. Продукты SAP постоянно развиваются, в них появляются новые технологии (AI, ML, Predictive Analytics, IoT), облачные решения, библиотеки и другое. Большое количество продуктов SAP сейчас разрабатываются как Web-приложения. Бэкенд, как правило, пишется на ABAP (но бывают и разработки на Java и Node.js), а фронтенд разрабатывают с использованием фреймворка SAPUI5 (фактически это собственная JavaScript-библиотека пользовательского интерфейса, разработанная и поддерживаемая SAP). Такое «соседство» различных стеков и технологий открывает свободу выбора для освоения новых навыков и наращивания своей экспертизы.
Как я уже говорил, ABAP-разработчики решают задачи бизнеса, поэтому часто погружаются в бизнес-процессы. Огромные возможности продуктов SAP делают их достаточно сложными, они требуют настройки, а также обучения пользователей. Поэтому в мире SAP есть еще одна очень популярная роль — SAP-консультант.
SAP-консультанты должны прекрасно понимать как бизнес-часть, так и продукт SAP, поэтому часто они специализируются на одном из модулей. Чтобы быть консультантом, нужно обладать отличными коммуникационными навыками, любить работать с документацией. Также этим специалистам приходится проводить огромное количество настроек и тестов.
Вы можете стать Solution и Enterprise Architect, если вам нравится решать задачи на высоком уровне и у вас есть большой опыт реализации проектов. Архитекторы разрабатывают архитектуру решений в рамках конкретного модуля или продукта, выстраивают целую IT-инфраструктуру из большого количества систем.
openSAP — бесплатные курсы компании SAP дают общее понимание той или иной темы.
SAP Training — профессиональные курсы компании SAP. Стоят дорого, как правило, их оплачивают компании. По результатам выдаются сертификаты, которые очень котируются на IT-рынке.
SAP ABAP Programming — курсы LeverX Group. Мы более восьми лет проводим бесплатные образовательные курсы, где обучаем всему, что нужно для разработки на ABAP и решения задач, которые встречаются на реальных проектах. Курс длится полтора месяца, и по его итогам мы приглашаем лучших выпускников присоединиться к команде.
СОДЕРЖАНИЕ
Вступление
ABAP представляет собой абстракцию между бизнес-приложениями, операционной системой и базой данных. Это гарантирует, что приложения не зависят напрямую от конкретного сервера или платформы базы данных и могут быть легко перенесены с одной платформы на другую.
Среда выполнения ABAP
Системы и ландшафты SAP
Сервер веб-приложений состоит из трех уровней: уровень базы данных; прикладной уровень; и уровень представления. Эти уровни могут работать на одной или на разных физических машинах. Уровень базы данных содержит реляционную базу данных и программное обеспечение базы данных. Прикладной уровень знания содержат экземпляр или экземпляры системы. Все процессы приложения, включая бизнес-транзакции и разработку ABAP, выполняются на уровне приложения. Уровень представления обрабатывает взаимодействие с пользователями системы. Онлайн-доступ к серверам приложений ABAP может осуществляться через собственный графический интерфейс, который называется «SAP GUI», или через веб-браузер.
Уровни программного обеспечения
Программное обеспечение ABAP развертывается в виде программных компонентов. Примеры для них:
Сделки
Типы программ ABAP
Как и в других языках программирования, программа ABAP является либо исполняемым модулем, либо библиотекой, которая предоставляет повторно используемый код другим программам и не может выполняться независимо.
ABAP различает два типа исполняемых программ:
Отчеты следуют относительно простой модели программирования, посредством которой пользователь необязательно вводит набор параметров (например, выбор из поднабора данных), а затем программа использует входные параметры для создания отчета в форме интерактивного списка. Термин «отчет» может вводить в заблуждение, поскольку отчеты также могут быть разработаны для изменения данных; Причина, по которой эти программы называются отчетами, заключается в «ориентированном на списки» характере вывода, который они производят.
Пулы модулей определяют более сложные шаблоны взаимодействия с пользователем с помощью набора экранов. Термин «экран» относится к реальному физическому изображению, которое видит пользователь. Каждый экран также имеет «логику потока», которая относится к коду ABAP, неявно вызываемому экранами, который разделен на разделы «PBO» («Обработка перед выводом») и «PAI» («Обработка после ввода»). В документации SAP термин «dynpro» (динамическая программа) относится к комбинации экрана и логики его выполнения.
К неисполняемым программам относятся:
Программы ABAP состоят из отдельных предложений (утверждений). Первое слово в инструкции называется ключевым словом ABAP. Каждый оператор заканчивается точкой. Слова всегда должны быть разделены хотя бы одним пробелом. Заявления могут иметь произвольный отступ. С ключевыми словами, дополнениями и операндами система времени выполнения ABAP не делает различий между верхним и нижним регистром.
Заявления могут выходить за пределы одной строки. У вас может быть несколько операторов в одной строке (хотя это не рекомендуется). Строки, начинающиеся со звездочки * в первом столбце, распознаются системой выполнения ABAP как строки комментариев и игнорируются. Двойные кавычки («) означают, что остаток строки является комментарием.
Среда разработки
Есть два возможных способа разработки на ABAP. Доступность зависит от выпуска системы ABAP.
Инструментальные средства ABAP
Объекта Навигатор (транзакция SE80) обеспечивает единый интегрированный интерфейс в эти различные инструменты.
Инструменты разработки ABAP
В этом сценарии разработчик ABAP устанавливает необходимые инструменты на свой компьютер и работает локально, при этом выполняется непрерывная синхронизация с серверной частью.
Словарь ABAP
Словарь ABAP содержит все метаданные о данных в системе SAP. Он тесно связан с ABAP Workbench в том смысле, что любая ссылка на данные (например, таблицу, представление или тип данных) будет получена из словаря. Разработчики используют транзакции словаря ABAP (напрямую или через навигатор объектов SE80 внутри ABAP Workbench) для отображения и поддержки этих метаданных.
Когда объект словаря изменяется, программа, которая ссылается на измененный объект, автоматически будет ссылаться на новую версию при следующем запуске программы. Поскольку ABAP интерпретируется, нет необходимости перекомпилировать программы, которые ссылаются на измененные объекты словаря.
Ниже приводится краткое описание наиболее важных типов словарных объектов:
Синтаксис ABAP
Это краткое описание синтаксиса ABAP начинается с повсеместной программы « Hello world ».
Привет мир
Связанные заявления
В WRITE операторах часто используется цепочка. WRITE принимает только один аргумент, поэтому, если, например, вы хотите отобразить три поля из структуры с именем FLIGHTINFO, вам придется закодировать:
Объединение операторов в цепочку приводит к более удобочитаемой и интуитивно понятной форме:
В операторе цепочки первая часть (перед двоеточием) не ограничивается только именем оператора. Вся общая часть последовательных операторов может быть помещена перед двоеточием. Пример:
можно переписать в цепочке как:
Комментарии
В ABAP есть 2 способа определения текста как комментария :
Пространства
Код в ABAP чувствителен к пробелам.
присваивает переменной x подстроку переменной a, начиная с b с длиной, определенной переменной c.
присваивает переменной x сумму переменной a и результат вызова метода b с параметром c.
Заявления ABAP
В отличие от таких языков, как C / C ++ или Java, которые определяют ограниченный набор специфичных для языка операторов и предоставляют большую часть функций через библиотеки, ABAP содержит большое количество встроенных операторов. В этих инструкциях традиционно использовались структуры, подобные предложениям, и избегались символы, что делало программы ABAP относительно многословными. Однако в более поздних версиях языка ABAP возможен более лаконичный стиль.
Пример синтаксиса на основе операторов (синтаксис которого происходит в COBOL) по сравнению с синтаксисом на основе выражений (как в C / Java):
Типы данных и переменные
ABAP предоставляет набор встроенных типов данных. Кроме того, каждая структура, таблица, представление или элемент данных, определенные в словаре ABAP, могут использоваться для ввода переменной. Кроме того, в качестве типов могут использоваться классы объектов и интерфейсы.
Встроенные типы данных:
Тип | Описание |
---|---|
я | Целое число |
п | Упакованный десятичный |
F | Плавающая запятая |
N | Числовой символ |
C | Персонаж |
D | Дата |
Т | Время |
Икс | Шестнадцатеричный (необработанный байт) |
НИТЬ | Строка переменной длины |
XSTRING | Необработанный байтовый массив переменной длины |
Явно типизированное объявление
Обычно все объявления размещаются в верхней части модуля кода (программы, подпрограммы, функции) перед первым исполняемым оператором; это размещение является соглашением, а не принудительным правилом синтаксиса. Объявление состоит из имени, типа, длины (если применимо), дополнительных модификаторов (например, количества подразумеваемых десятичных знаков для упакованного десятичного поля) и, необязательно, начального значения:
Обратите внимание на использование двоеточия для объединения последовательных операторов DATA.
Встроенное объявление
Начиная с ABAP 7.40, переменные можно объявлять встроенными со следующим синтаксисом:
Для этого типа объявления должна существовать возможность статического вывода типа, например, по сигнатуре метода или структуре таблицы базы данных.
Этот синтаксис также возможен в операторах OpenSQL:
Объекты ABAP
Язык ABAP поддерживает объектно-ориентированное программирование с помощью функции, известной как «объекты ABAP». Это помогает упростить приложения и сделать их более управляемыми.
Объекты ABAP полностью совместимы с существующим языком, поэтому можно использовать существующие операторы и модули модуляризации в программах, использующих объекты ABAP, а также можно использовать объекты ABAP в существующих программах ABAP. Проверка синтаксиса сильнее в программах ABAP Objects, и некоторые синтаксические формы (обычно более старые) определенных операторов не разрешены.
Объекты образуют капсулу, которая объединяет характер и соответствующее поведение. Объекты должны позволять программистам отображать реальную проблему и предлагаемое программное решение на индивидуальной основе. Типичными объектами бизнес-среды являются, например, «Клиент», «Заказ» или «Счет-фактура». Начиная с версии 3.1 репозиторий бизнес-объектов (BOR) сервера веб-приложений SAP ABAP содержит примеры таких объектов. В следующем выпуске объектная модель BOR будет интегрирована в объекты ABAP путем переноса типов объектов BOR в библиотеку классов ABAP. Исчерпывающее введение в объектную ориентацию в целом выходит далеко за рамки этого введения в объекты ABAP. В этой документации представлен ряд терминов, которые универсально используются в объектной ориентации, а также встречаются в объектах ABAP. В последующих разделах более подробно обсуждается, как эти термины используются в объектах ABAP. В конце этого раздела содержится список для дальнейшего чтения с подборкой заголовков об ориентации объекта.
В объектно-ориентированном программировании объекты обычно имеют следующие свойства:
Просмотры CDS
Модели данных определяются с использованием языка определения данных (DDL) и языка управления данными (DCL), представленных в ABAP CDS в синтаксисе ABAP CDS. Объекты, определенные с помощью этих языков, интегрированы в ABAP Dictionary и также управляются здесь.
Исходный код CDS можно запрограммировать только с помощью средств разработки ABAP (ADT) на основе Eclipse. Язык определения данных (DDL) и язык управления данными (DCL) используют разные редакторы.
Функции
Внутренние таблицы в ABAP
Внутренние таблицы предпочтительно используются для хранения и форматирования содержимого таблиц базы данных из программы. Кроме того, внутренние таблицы в связи со структурами являются важным средством определения сложных структур данных в программе ABAP.
В следующем примере определяется внутренняя таблица с двумя полями в формате таблицы базы данных VBRK.
История
Хочу всё знать. Язык ABAP
Краткая справка
ABAP/4 – проприетарный (т.е. не распространяющийся свободно) язык программирования высокого уровня, разработанный немецкой софтверной компанией SAP и предназначенный исключительно для работы с выпускаемым ей ПО. В январском рейтинге популярности языков ABAP/4 занимает 22 место прямо перед Scratch.
Он был разработан в 1983 году для работы с внутренней системой SAP R/2. Цифра 4, которая присутствует в названии, не имеет практического смысла и лишь указывает, что язык относится к 4 поколению. SAP R/2 – это система управления предприятием, предполагающая стандартную связь между клиентской базой и сервером. Позднее была заменена трёхзвенной системой R/3 – клиент, сервер приложений и система управления базами данных.
Синтаксис
Во многих источниках вы можете найти замечание про схожесть синтаксиса ABAP с COBOL. Однако не стоит принимать это за чистую монету, схожесть касается исключительно внешнего вида, в то время как структура и возможности совсем разные. Сравните базовый код любого программиста “Hello World”:
WRITE / ‘Hello World’.
DISPLAY «Hello, world.».
END PROGRAM HELLO-WORLD.
Согласитесь, не так уж много общего. ABAP значительно удобнее, понятнее для программистов, работающих на популярных языках
Область применения
Работа
Если ABAP не является языком, вечно мелькающим в списке требований работодателей, если его не изучают в университетах, то это совсем не означает, что он не востребован. ABAP имеет свою аудиторию, эко-систему, поэтому требует от соискателей осознанного выбора будущей деятельности. Прямо сейчас на популярном рекрутинговом ресурсе вы можете найти свыше 100 вакансий, причём среди них есть те, где знание продуктов компании SAP и опыт работы с ABAP – едва ли не единственное требование.
Полезные ссылки
ABAP Community – официальное сообщество разработчиков;
ABAP-blog – один из немногих очень качественных и визуально приятных отечественных ресурсов, где можно почитать про программирование на ABAP;
Викиучебник – основы на русском языке;
Habrahabr SAP ERP ABAP – дополнительный набор справочных ресурсов по ABAP и всему, что его касается;
Habrahabr Course Guide – путеводитель по онлайн-курсам ABAP.
Книги
Мы продолжаем говорить о не самых популярных языках программирования, заслуживающих тем не менее внимания настоящих гиков. В этот раз речь пойдёт о языке ABAP/4 или просто ABAP. О том, что эта самая четвёрка в названии означает, зачем нужен этот язык, а главное где и как ему обучиться – далее.
Краткая справка
ABAP/4 – проприетарный (т.е. не распространяющийся свободно) язык программирования высокого уровня, разработанный немецкой софтверной компанией SAP и предназначенный исключительно для работы с выпускаемым ей ПО. В январском рейтинге популярности языков ABAP/4 занимает 22 место прямо перед Scratch.
Он был разработан в 1983 году для работы с внутренней системой SAP R/2. Цифра 4, которая присутствует в названии, не имеет практического смысла и лишь указывает, что язык относится к 4 поколению. SAP R/2 – это система управления предприятием, предполагающая стандартную связь между клиентской базой и сервером. Позднее была заменена трёхзвенной системой R/3 – клиент, сервер приложений и система управления базами данных.
Синтаксис
Во многих источниках вы можете найти замечание про схожесть синтаксиса ABAP с COBOL. Однако не стоит принимать это за чистую монету, схожесть касается исключительно внешнего вида, в то время как структура и возможности совсем разные. Сравните базовый код любого программиста “Hello World”:
WRITE / ‘Hello World’.
DISPLAY «Hello, world.».
END PROGRAM HELLO-WORLD.
Согласитесь, не так уж много общего. ABAP значительно удобнее, понятнее для программистов, работающих на популярных языках
Область применения
Работа
Если ABAP не является языком, вечно мелькающим в списке требований работодателей, если его не изучают в университетах, то это совсем не означает, что он не востребован. ABAP имеет свою аудиторию, эко-систему, поэтому требует от соискателей осознанного выбора будущей деятельности. Прямо сейчас на популярном рекрутинговом ресурсе вы можете найти свыше 100 вакансий, причём среди них есть те, где знание продуктов компании SAP и опыт работы с ABAP – едва ли не единственное требование.
Полезные ссылки
ABAP Community – официальное сообщество разработчиков;
ABAP-blog – один из немногих очень качественных и визуально приятных отечественных ресурсов, где можно почитать про программирование на ABAP;
Викиучебник – основы на русском языке;
Habrahabr SAP ERP ABAP – дополнительный набор справочных ресурсов по ABAP и всему, что его касается;
Habrahabr Course Guide – путеводитель по онлайн-курсам ABAP.
Книги
Введение в ABAP
Так как статей об ABAP’е на хабре совсем мало, а статьи вида «Hello, World!» совсем нету, решил немного написать об этом. Если вам интересно узнать про этот язык или же подумываете заниматься разработкой на ABAP’е, то добро пожаловать под кат.
ABAP (Advanced Business Application Programming) – внутренний язык высокого уровня программирования в среде SAP. Углубляться в историю особенно не хочется, но отмечу лишь, что язык синтаксис языка наиболее близок к языку программирования COBOL.
Язык позволяет работать с внутренними структурами данных, интерфейсами пользователя, транзакциями, отчётами, интерфейсами загрузки, выгрузки данных (word, excel, pdf, …); стоит отметить, что можно использовать объектно-ориентированные конструкции (ABAP Objects); существует множество технологий связи с другими системами (BAPI, RFC, …) для выгрузки и загрузки данных (или же сторонней обработки).
Типизация
Переменные в ABAP обычно объявляются с помощью конструкции DATA.
Хочется обратить внимание, что операторы в коде начинаются с зарезервированных слов и заканчиваются точкой.
Можно сокращать объявление нескольких переменных через запятую и используя символ двоеточия:
Внутри программы можно использовать типы, заложенные в ABAP-словаре, а так же создавать собственные типы и структуры, используя конструкцию TYPES.
Пример со структурой:
В динамическом программировании принято использовать поля типа FIELD SYMBOLS (аналог указателя):
Таблицы можно объявлять как из словаря ABAP, так же и из своих внутренних типов структур:
Среда разработки
ABAP имеет свою собственную среду разработки, которая называется ABAP Workbench, имеющую отладчик, средства трассировки, систему контроля версий, средства работы с буфером, журналы использования, и так далее.
В 2012 году разработчики интегрировали ABAP со всем известной IDE Eclipse. Правда работает это на последних версиях ядра, что есть не на всех проектах.
Предисловие перед «Hello, World»
На самом деле не хочу, чтобы статья была длинной. Вкратце напишу, что ABAP поддерживает работу со всеми арифметическими, строковыми операциями, имеет стандартный набор операторов условий, циклов, обработку исключений, имеет множество технологиями отчетности, поддерживает работу с базой данных (OPEN SQL) и так далее.
В абапе существуют подпрограммы, функциональные модули, макросы, работа с вебом (Web Dynpro, BSP), выгрузка данных в word, excel (посредством OLE), пользовательские интерфейсы, диалоги и так далее. Существует даже несколько сертификаций разработчиков. Об этом всем постараюсь рассказать в следующих постах.
Hello, World!
Итак, если же вам посчастливилось получить доступ к системе разработки SAP или же вы нашли виртуальную машину, на всем любимом русском трекере по запросу «mini sap on vmware (abap)», то дальше я покажу как создать свою программу.
Первым делом заходим в систему SAP (через SAP GUI):
Далее в окошке вводим транзакцию se38:
В соответствии с именованием пользовательский программ (начиная с Z), вводим название своей программы:
и нажимаем кнопку создать. Далее вводим заголовок программы, выбираем тип и нажимаем сохранить.
Далее мы попадаем в окно ABAP-редактора. Вводим код нашей программы:
Активируем программу:
И запускаем:
Результат:
Заключение
В этой статье я написал немного про ABAP, его синтаксис ну и, конечно же, программку Hello, World!
В следующих статьях планирую описать арифметические, строковые операции, работу с базой данных и познакомить с построением отчетности в ABAP с конкретными примерами и мануалами. Ну, а дальше как пойдет.