обучение программированию sap с нуля
Введение в 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 с конкретными примерами и мануалами. Ну, а дальше как пойдет.
Как выучиться на ABAPера?

ABAP возник в 80-е годы двадцатого века и продолжает развиваться. За три десятка лет он вобрал в себя множество парадигм программирования — тут и процедурное, и событийно-ориентированное и объектно-ориентированное — все это в рамках структурного программирования в стиле Дэйкстры (с непременными ENDIF, ENDCASE, разными другими ENDЧТОТОТАМ и даже ENDSELECT, непривычным для знатоков SQL). Обилие парадигм значительно расширяет кругозор, но немного усложняет изучение языка.
В принципе, если среди вас есть энтузиасты, они могут учить его и по стандартной документации. Хотя это не так просто: нужно писать свои программы, требуется система, которая встанет не на любое железо и не забываем про лицензии, но самое печальное, что это долго. Документации много, и не от сырости — язык за три десятка лет вобрал в себя многое, а выкинуть старое не легко: есть такая «священная корова» — совместимость версий. Для изучения ABAP SAP была разработана специальная программа курсов, охват тем которой с одной стороны несколько превосходит Академию для консультантов TAW10/TAW20, с другой успешное усвоение достаточно для сертификации Associate development consultant. Какие курсы нужны и зачем? Постараюсь ответить на эти вопросы, кратко опишу, через что и, главное, в каком порядке, придется пройти новичкам, ну и, конечно, готов ответить на вопросы. С вами я — ABAP-тренер, since 1998.
Итак, начнем! Если вы не знакомы с устройством SAP платформы в целом, то начинать нужно с букваря. Курс под кодовым названием «SAPTECE. Введение в архитектуру SAP NetWeaver» нужен, чтобы понимать, как SAP работает. Он дает общие сведения об архитектуре технологической платформе SAP NetWeaver: что такое инстанция сервера приложений, чем она занимается, что такое рабочий процесс, какие они бывают и почему так много, что такое разработка, мандант, системный ландшафт, транспортная система и что она делает, самые общие сведения об интеграционных возможностях.
На месте выясняем, что такое транзакция в понимании ABAP (думаете atomicity, consistency, isolation, and durability? …ммм, отнюдь), и какие они бывают, кроме диалоговых. Курс предназначен для разработчиков, но в целом подойдет для будущих администраторов и будет полезен тем, кто планирует специализироваться в области интеграционных технологий и тем, кому по роду своей деятельности приходится объясняться с ABAPерами.
Конечно, простые отчеты можно писать и в процедурном или событийно-ориентированном стилях. Однако объектно-ориентированное программирование используется в новых SAP разработках повсеместно. В частности, создано много классов, осуществляющих элегантное предъявление данных. Гораздо проще использовать эти готовые классы, чем каждый раз изобретать велосипед. Кроме того, новые технологии расширений широко используют объектно-ориентированное программирование. Да и вообще это теперь магистральное направление в ABAP, так что хочешь – не хочешь, а знать придется. Курс «BC401E. ABAP объекты» освещает особенности объектно-ориентированного программировании на ABAP: рассматриваются синтаксические конструкции, инструменты и некоторые направления использования. Объектно-ориентированный ABAP не имеет множественного наследования, вместо чего применяются интерфейсы, так что это курс будет более понятен java-разработчикам. Вот так, например, выглядит классовая диаграмма финального упражнения:
Легко догадаться, что гораздо проще определить нужные типы данных с подходящими к ним интерактивностями централизовано, на уровне создания описаний, чем каждый раз программировать. SAP системы содержат центральное место, где описаны различные типы данных и часто используемые интерактивные службы — Словарь. Его декларации многократно упрощают дальнейшее программирование. Если уж на чем-то экономить, то не на изучении словаря, поскольку императивные языки программирования все-таки более или менее схожи, а Словарь – это отдельная «изюминка». На курсе «BC430E. Словарь-справочник данных» рассматриваются определения доменов, элементов данных, структур, табличных типов, таблиц в базе данных, ракурсов базы и ведения, кластеров ведения, поисковых механизмов и механизмов обеспечения целостности данных: фиксированных значений доменов и внешних ключей.
Медленно, но верно мы движемся к цели — подобрались к курсу «BC402E. Углубленное ABAP программирование» о том, как писать не очень плохие программы. Здесь поднимаются тонкие вопросы, важные для написания эффективных программ: устройство памяти, вызов программ, декларирование и передача данных и параметров, динамические конструкции программирования, динамическое определение типов и динамическое же создание данных, также приводится дополнительные сведения по операторам Open SQL и некоторые другие вкусности.
Зачем же нужен динамизм? Ну вот есть такая таблица, BSEG, она содержит позиции финансовых документов. В ней, к примеру, около 340 полей. Понятно, что обычному пользователю нужны значения далеко не всех полей. Можно получить данные во внутреннюю таблицу полной структуры, но такая структура будет избыточной, ведь пользователю нужны не все данные, а хранить пустое место – это слишком расточительно по памяти. Можно было бы определить заранее несколько структур, комбинирующих нужные поля в нужном порядке. Но таких комбинаций (количество подмножеств множества из 340 элементов) будет 2^(340-1) – 1
10^(329). Это очень большое число. Для сравнения, число атомов в наблюдаемой вселенной оценивается как
10^(81). То есть заранее создать все возможные описания практически невозможно. Вот в таком случае и придется для экономного расходования памяти динамически создавать тип данных нужный именно под эту выборку.
Движемся далее. Классические экраны составляют основу визуального интерфейса SAP-систем. Существует несколько способов создать различные способы их преобразования в html. Но до сих пор основа стандартных диалогов именно они. Да и вообще надо знать, как создаются диалоги. Курс «ВС410. Разработка диалоговых программ» освещает технологию стандартных диалоговых экранов Dynpro. Этот курс нужен всем тем, кто будет создавать диалоги. Среди прочего будет рассмотрено программирование подэкранов, картотечных блоков и экранных таблиц, программирование реакции на ошибки. Всю неделю будет писаться одна одноэкранная диалоговая транзакция. Примерно вот с таким экраном.
Что-то подобное уже было в курсе BC400E? Там был грид, навигация по которому обрабатывается локально на клиентском рабочем месте, стало быть сервер приложений (и исполняемая на нем ABAP-программа) ничего не знает про навигацию. Здесь же экранная таблица, навигация по которой обрабатывается на сервере приложений. Соответственно транзакции, использующие экранные таблицы могут быть пригодны для пакетного ввода. Плюс программирование картотечных блоков, проверок корректности ввода, да и другие прибамбасы.
Конечно, у владельцев SAP-систем есть возможность и право модифицировать программы в соответствии со специфическими требования своего бизнеса. А вот когда от SAP придет новая версия программного обеспечения, тут начинается корректировка модификаций (modification adjustment). Принять решение требуется по каждой из модификаций. SAP предусмотрел набор технологий, позволяющий так изменять работу стандартного программного обеспечения, что корректировка модификаций не потребуется. Это и называется расширением. Курс «BC425E. Расширения и модификации» рассматривает классические технологии расширений: расширения словарных определений, кастомер-экзиты и BAdI. Кроме расширения программ, рассматриваются расширения меню и экранов, также рассматриваются модификации, в том числе юзер-экзиты. Курс нужен всем, кто будет обогащать стандарт собственными расширениями.
Для доступа к стандартной функциональности SAP, использующей классические экраны, описанные в курсе BC410E требуется специальное клиентское программное обеспечение — SAP GUI. Такое ПО устанавливается на рабочих местах сотрудников. Но трудно ожидать, что любой клиент, желающий просмотреть, например, прайс-лист компании, будет устанавливать у себя этот самый SAP GUI. А вот Web браузеры – вещь, распространенная практически повсеместно. Интерфейс Web Dynpro позволяет осуществлять доступ к функциональности SAP непосредственно из web-браузера. Так вот курс «NET310E. Основы ABAP Web Dynpro» дает начальные сведения о технологии и учит создавать довольно развитые приложения. Рассматриваются следующие темы: компоненты архитектуры, определение внешнего формата, программирование контроллеров, модуляризация Web Dynpro, динамическая модификация, конфигурация, персонализация, расширения. Вот пример Web Dynpro приложения с этого курса:
В целом, я описал основные курсы по ABAP, все они входя в программу «ABAP2 Сертифицированный ABAPер». Есть и другие тренинги по более узким и наоборот широким вопросам с дистанционным обучением.
Электронные онлайн курсы SAP
Предлагаемые онлайн курсы SAP ориентированы на желающих получить знания о работе пользователей в программе SAP ERP.
Программы курсов обучения разработаны как для начинающих пользователей SAP, так и для повышение текущего уровня знаний по работе с системой на предприятиях, использующих или планирующих использовать SAP.
По заявкам, перед оплатой, предоставляется бесплатный демонстрационный доступ к системе курса.
Возможно проведение выездного очного корпоративного обучения на системе SAP/ERP заказчика.
Список курсов обучения:
При оплате сразу двух курсов предоставляется скидка 10%.
Формат обучения всех перечисленных курсов:
Только электронный. Предоставляется дистанционный доступ через сеть интернет к видеозаписям занятий с модулями программы.
В стоимость всех курсов входит:
SAP-MIS-01 «Базовый курс для конечных пользователей системы SAP»
Аудитория курса:
Специалисты финансово-экономических подразделений предприятий, планирующие изучение системы SAP с нуля или повышение текущего уровня знаний по работе с системой: бухгалтеры, экономисты, специалисты по налоговому учету, специалисты по МСФО, казначеи, аудиторы и и другие пользователи программы SAP.
Описание курса:
В отличие от обычных курсов, SAP-MIS-01 разработан специально для конечного пользователя, а не для наладчиков или консультантов.
Программа курса обучения разработана для бизнес-пользователей финансово-экономических подразделений предприятий, стремящихся получить эффективные навыки работы с системой SAP.
Курс построен на примерах автоматизации бухгалтерского и управленческого учета хозяйственных операций предприятия c учетом Российской специфики.
Курс покрывает следующие модули FI:
Курс записывал сертифицированный тренер-консультант SAP.
Стоимость обучения: 19900 рублей.
По заявкам, перед оплатой, предоставляется бесплатный демонстрационный доступ к системе курса.
Программа курса SAP-MIS-01
Модуль 1. Первые шаги в программе.
Модуль 2. Ввод операций по счетам главной книги.
Данный модуль посвящен первому знакомству с программой посредством выполнения основных операций.
На примерах разных операций рассказывается о назначении балансовой единицы, контроллинговой единицы (выборе места возникновения затрат (МВЗ) на затратном счете), о функции МВЗ как о механизме формирования данных для целей управленческого учета.
Также, на примерах даётся объяснение выбора счета из плана счетов и описывается концепция плана счетов в программе с учетом выбора счета через альтернативный номер.
Модуль 3. Процесс закупки
Модуль 4. Основные средства.
Демонстрация амортизационной премии.
Модуль 5. Концепция продажи товаров, работ, услуг
Модуль 6. Концепция платежей
Модуль 7. Закрытие периода в модуле FI и формирование отчетности
Модуль 8. Концепция налога на прибыль
SAP-MIS-02-FI «Финансовый учет и российская специфика в системе SAP ERP»
Аудитория курса:
Специалисты финансово-экономического подразделения предприятия, планирующие повышение текущего уровня знаний по работе с системой SAP и желающие углубить свои знания в части автоматизации финансового учета и российской специфики в системе SAP.
Описание курса:
Курс SAP-MIS-02-FI создан специально для бухгалтеров, аудиторов и финансовых менеджеров, желающих развить навыки работы с системой SAP в части бухгалтерского и финансового учета.
Данный курс позволит получить знания и навыки работы в системе SAP по интеграции модуля «Финансы» с модулями «Логистика» и «Контроллинг». Каждый модуль программы представляет собой демонстрацию специально настроенной системы с пошаговым объяснением преподавателя.
Программа курса:
Блок 1. Состав и настройки модуля «Финансы» (FI)
Блок 2. Российская специфика в налоговом учете
Блок 3. Состав локализации. Управление материальными потоками и сбыт
Стоимость обучения: 19900 рублей.
По заявкам, перед оплатой, предоставляется бесплатный демонстрационный доступ к системе курса.
История создания и назначение
Аббревиатура SAP (Systems Analysis and Program Development) расшифровывается как «системный анализ и разработка программного обеспечения». Организовали компанию пятеро сотрудников гиганта IT-индустрии IBM. Идея создания проекта возникла из анализа спроса клиентов, приходящих в фирму за различными услугами.
Пять аналитиков поставили перед собой цель — написать приложение, выполняющее обработку данных в реальном времени. Софт должен был объединить различные бизнес-процессы, ведение финансового и бухгалтерского учёта.
В 1973 году ими была представлена первая версия приложения. Она включала системы управления материалами, закупками, запасами, а также умела формировать выписку счетов-фактур. Через четыре года компания становится корпорацией закрытого типа и получает название SAP. Доходы организации на тот момент составляют порядка 4 млн немецких марок, а штат расширяется до 25 человек.
Клиентами компании становятся иностранные предприятия. Продукция SAP входит в ТОП-100 лучших продуктов Германии. В приложение добавляются модули «Управление персоналом» и «Обслуживание и ремонт». К концу 1982 года услугами продукции пользуется уже более 236 компаний.
Программисты фирмы создают новый продукт «Управление предприятием». Система начинает быть востребованной не только на Европейских рынках, но и в Южной Африке, Канаде, США. В Голландии, Франции, Испании и Англии открываются четыре филиала. Штат к 1988 году уже составляет 750 работников, прибыль компании возрастает до 245 миллионов. Фирма становится публичным акционерским обществом и вскоре уже включает 2 дочерних филиалов.
К 1995 году количество пользователей уже достигло 2 тысяч человек, а разработчики представили новую версию под номером SAP R3. Это приложение сделало разработчиков миллиардерами. Сегодняшними конкурентами приложения являются: 1С, Axapta, Oracle. Несмотря на них, с каждым годом число пользователей SAP только увеличивается.
Особенности приложения
Система SAP ориентирована на средние и крупные предприятия. Она предоставляет руководству важную информацию, связанную с деятельностью компании в реальном времени. Образуя единое информационное пространство, программное обеспечение заменяет ручные задачи автоматизированными процессами.
Внедрив на предприятие SAP, можно не только проще управлять своим бизнесом, но и эффективно контролировать расходы, расширить возможности сотрудников, организовать их самообучение, улучшить продажи, обслуживание и маркетинг. Наблюдая за происходящими процессами в онлайн-режиме и анализируя их, можно предусмотреть будущие результаты, оптимизировать операции.
С помощью SAP можно вести:
Пользователями SAP могут быть сотрудники разного звена. Но структура программы и интерфейс сложен. Поэтому перед тем как работник приступит к ведению складского учёта или начнёт составлять график выдачи зарплат, ему необходимо пройти курс обучения.
К преимуществам софта относится гибкость настройки данных. В программе можно установить язык, валюту, определённые условия, соответствующие правовой базе страны. Существует возможность синхронизировать приложение с другим программным обеспечением. При этом одновременно в системе могут работать более 5 тыс. пользователей. Особенностью является и самообучаемость SAP. Анализируя опыт других компаний, она позволяет эффективнее использовать инновации.
Из недостатков выделяется довольно высокая стоимость пакета и сложный программный код, требующий обучать работников и нанимать на работу обслуживающий персонал с навыками программирования. Локализация на русском выполнена плохо, что порой приводит к затруднениям при работе.
На официальном портале есть информация, касающаяся продуктов фирмы, и контакты. Также там можно найти комьюнити и поддержку.
Популярные пакеты
Продуктовая линейка приложения специализируется на решениях управления бизнесом. Ведущим пакетом является mySAP Business Suite. Он обеспечивает интеграцию информационных данных и процессов в единую платформу. Система разработана на технологической платформе NetWeaver. Это семейство включает в себя решения по управлению ресурсами, взаимоотношению с клиентами и поставщиками, логистической сетью и жизненным циклом продукции.
С помощью системы можно автоматизировать ряд операций. Например, поступивший заказ закрепляется за ответственным лицом, обеспечивающим его выполнение. После обработки сотрудником документ отправляется оператору следующего звена, который дополняет его необходимыми данными. Сотрудники не беспокоятся о своевременности передачи документов или необходимости поиска нужных специалистов.
Весь процесс документооборота по поставкам, снабжению, товародвижению на предприятии происходит автоматически. Цикл может охватывать весь процесс, начиная от закупки сырья до продаж и гарантийного сопровождения готовой продукции. Приложение развивается с учётом актуальных требований и возрастающих темпов производства.
В 2011 году был разработан продукт HANA, являющийся высокопроизводительной системой управления базы данных. Приложение может самостоятельно размещать всю базу в оперативной памяти без использования дискового пространства. На её базе создаются и бизнес-приложения. C помощью SAP HANA можно повысить производительность различных процессов. Например, посредством него возможно закрытие финансового периода, анализ доступа, планирование материалов и контроль их перемещения. Лучше всего проект подходит для работы с данными, имеющими высокую ценность.
Компания имеет широкую сеть партнёров. В России их уже больше десяти. У организации есть опыт сотрудничества с «Эльдорадо», «Сургутнефтегаз», «Российскими железными дорогами».
SAP включает следующие пакеты:
Инструкция пользователя
Программа SAP довольно сложная и требует компьютерных знаний на уровне уверенного пользователя. Состоит она из трёх частей: функциональных модулей, базы данных и графического интерфейса. Как правило, модули располагаются на серверах, способных быстро обработать информационный поток, провести расшифровку данных и представить их пользователю в удобном виде.
Главной частью приложения является окно. Для начинающих пользователей существует возможность организации доступа через веб-браузер. Окно содержит различные поля, в которые вносится информация. Существует много расширений, предназначенные для интеграции в систему. Предприятие покупает интересующие модули, а программист связывает их с клиентскими базами.
Любая операция в системе называется транзакцией. Пользователю для успешной работы необходимо выполнить четыре шага:
Верхнее меню называется строкой и содержит три компонента: заголовок, пиктограмму, кнопки управления. Пользовательский интерфейс SAP GUI формирует односистемную среду. Клиент, работающий в ней, регистрируется в одной из предложенных инфраструктур (landscape).
Если возникает необходимость параллельной работы, то открывается дополнительное окно. В результате пространство загромождается, и даже опытный пользователь может растеряться. Поэтому удобнее через пиктограмму запускать сервис «Логон», позволяющий сразу организовать необходимые соединения по установленным заранее параметрам.
Существуют также дополнения к программному обеспечению. Выпускает их лаборатория SAP. Устанавливаются они совместно с основным пакетом. Востребованным является дополнение Open PS, позволяющее получить доступ к SAP даже с компьютера без установленного основного модуля. Популярно также приложение Intranet, используемое для создания аккаунта и настройки персонального интерфейса.
Удобное онлайн-обучение
Программа САП требует знаний и практического опыта. Разработчик через своих партнёров предлагает эффективное изучение работы системы без посещения офисов и затрат на дорогу. Обучение может быть бесплатным, но чаще средняя цена курса составляет порядка 30 тыс. рублей. Лекции включают: вебинары, демонстрации слайдов, предоставление доступа к практическим работам.
Онлайн-обучение предпочтительней, чем изучение системы по самоучителю. Для подачи заявки необходимо посетить сайт-партнёр и зарегистрироваться. Популярными местами, где можно пройти обучение, являются:
По окончании обучения выдаётся сертификат. В нём указывается количество часов, тип лекций и описание курса. Свидетельство распечатывается на фирменном бланке с логотипом SAP.
Консультации специалиста
При знакомстве с системой пользователь теряется в интерфейсе. Разобраться самостоятельно очень сложно. Поэтому компания выпускает специалистов по внедрению информационных систем.
Работа консультанта SAP состоит в определении услуг, которые может предложить немецкая компания предприятию, а также в оценке ее технических возможностей и уровня подготовки персонала. Все консультанты проходят трудный путь, начиная с позиции стажера. Чтобы им стать, необходимо пройти полный курс обучения на базе центра SAP. Немаловажным в работе специалиста является умение общения с людьми. Он должен уметь превращать желания и цели клиента в конкретные задачи. Чтобы стать консультантом, желательно знать ABAP/4 — язык, на котором написан программный код SAP.
Кроме того, компания является владельцем SAP Labs. Это лаборатория, создающая основные продукты и занимающаяся их усовершенствованием. В ней координируются бизнес-идеи, разрабатывается инновационная стратегия развития. Лаборатория не работает напрямую с клиентами, но непосредственно влияет на функциональность продукта.














