Что за программа abap

Предисловие — Этот пост является частью ABAP-новичок серии.

Что такое АБАП?

Общий вопрос на собеседовании: «Что такое ABAP?». ABAP расшифровывается как Advanced Business Application Programming. Это язык программирования 4-го поколения (поскольку это предметно-ориентированный язык), разработанный SAP. Ядро ABAP реализовано на C++. ABAP — это гибридный язык программирования, поддерживающий как процедурную, так и объектно-ориентированную модель программирования.
Все программы ABAP, также называемые отчетами, находятся в базе данных SAP. В базе данных весь код ABAP существует в двух формах: исходный код, который можно просматривать и редактировать с помощью инструментов ABAP Workbench; и сгенерированный код, бинарное представление, несколько сравнимое с Java байтовый код.

Когда вы пишете код в редакторе ABAP, он сохраняется в двух файлах. Один — это именно то, что вы написали, а другой — код, преобразованный в двоичный формат. Двоичный код — это тот, который фактически выполняется компьютером.

ABAP разработка: боль и(или) удовольствие — Илья Казначеев

В ABAP есть и компилятор, и интерпретатор. Во-первых, компилятор ABAP переводит программу ABAP на промежуточный язык, называемый загрузкой ABAP. Затем в дело вступает виртуальная машина ABAP, интерпретатор ABAP-загрузок (т. е. она может выполнять ABAP-загрузки). В SAP есть две таблицы для хранения этих файлов: отчеты ABAP в таблице D010S и загрузки ABAP в таблице D010L.

ABAP на сервере приложений ABAP

ABAP — это программный интерфейс сервера приложений ABAP (AS ABAP) в SAP NetWeaver. Обязательным условием использования языка программирования ABAP является установка сервера приложений ABAP. Компоненты сервера приложений ABAP могут быть организованы в уровни (представление, приложение и база данных) трехуровневой архитектуры клиент-сервер в соответствии с их задачами.

  • Уровень представления представляет собой пользовательский интерфейс AS ABAP (SAP GUI или веб-браузер) и распространяется на рабочие станции отдельных пользователей.
  • Прикладной уровень реализован с использованием одного или нескольких серверов приложений. Уровень приложений содержит среду выполнения ABAP, в которой выполняются программы ABAP.
  • Уровень базы данных состоит из системы баз данных, в которой хранится центральный набор данных сервера приложений ABAP.

Модели программирования

ABAP поддерживает следующее:

  • Модель объектно-ориентированного программирования, основанная на классах и интерфейсах.
  • Модель процедурного программирования, основанная на функциональных модулях и подпрограммах.

Оба модуля обеспечивают совместимость.

Типы ABAP-программ

ABAP различает два типа исполняемых программ:

  • Отчеты : Простые программы, предоставляющие пользователю возможность ввода/вывода.
  • Пулы модулей: Сложные программы, которые предоставляют различные экраны для лучшего взаимодействия с пользователем.

Неисполняемые типы программ:

Вопрос-Ответ: стоит ли изучать 1C, SAP, Directum

  • ВКЛЮЧИТЬ модули : он включается автоматически во время генерации; часто используется для разделения больших программ
  • Пулы подпрограмм: содержит подпрограммы ABAP (заключенные операторами FORM/ENDFORM и вызываемые через PERFORM).
  • Функциональные группы: Это библиотеки автономных FM (заключенных FUNCTION/ENDFUNCTION и вызываемых через CALL FUNCTION).
  • Классы объектов: аналогично классам Java и определяет набор методов и атрибутов.
  • Интерфейсы: он содержит определения методов без реализации, для которых любой класс, реализующий интерфейс, должен предоставлять явный код.
  • Тип пулов: Пулы типов определяют коллекции типов данных и констант.
Читайте также:
Internet что за программа

Среда разработки

Есть два возможных пути разработки в ABAP.

Инструментальные средства ABAP

Наблюдения и советы этой статьи мы подготовили на основании опыта команды Инструментальные средства ABAP является частью системы SAP ABAP и доступен через SAPgui. Он содержит различные инструменты для редактирования программ. Наиболее важные из них (коды транзакций указаны в скобках):

  • ABAP-редактор(SE38): используется для написания и редактирования отчетов, пулов модулей, пулов включений и подпрограмм.
  • ABAP-словарь(SE11): используется для обработки таблицы базы данных.
  • Художник меню(SE41): используется для разработки пользовательского интерфейса (например, строки меню и стандартной панели инструментов).
  • Художник по экрану(SE51): используется для разработки экранов и логики потока.
  • Построитель функций(SE37): для функциональных модулей
  • Конструктор классов(SE24): используется для создания классов и интерфейсов объектов ABAP.

Наблюдения и советы этой статьи мы подготовили на основании опыта команды Навигатор объектов (SE80) предоставляет единый интегрированный интерфейс для доступа к различным инструментам (включая все упомянутые выше инструменты).

Инструменты ABAP-разработки

  • Использование определенного набора плагинов в Платформа Eclipse мы можем разрабатывать программы ABAP в eclipse, они официально известны как «ABAP в Eclipse» или инструменты разработки ABAP (ADT).
  • В этом сценарии ABAP-разработчик устанавливает необходимые инструменты на свой компьютер и работает локально, при этом выполняется непрерывная синхронизация с серверной частью.

Источник: gocoding.org

Введение в ABAP

Так как статей об ABAP’е на хабре совсем мало, а статьи вида «Hello, World!» совсем нету, решил немного написать об этом. Если вам интересно узнать про этот язык или же подумываете заниматься разработкой на ABAP’е, то добро пожаловать под кат.

ABAP (Advanced Business Application Programming) – внутренний язык высокого уровня программирования в среде SAP. Углубляться в историю особенно не хочется, но отмечу лишь, что синтаксис наиболее близок к языку программирования COBOL.

Язык позволяет работать с внутренними структурами данных, интерфейсами пользователя, транзакциями, отчётами, интерфейсами загрузки, выгрузки данных (word, excel, pdf, …); стоит отметить, что можно использовать объектно-ориентированные конструкции (ABAP Objects); существует множество технологий связи с другими системами (BAPI, RFC, …) для выгрузки и загрузки данных (или же сторонней обработки).

Типизация

Переменные в ABAP обычно объявляются с помощью конструкции DATA.

DATA: count TYPE i. » объявляем переменную count типа integer

Хочется обратить внимание, что операторы в коде начинаются с зарезервированных слов и заканчиваются точкой.

Можно сокращать объявление нескольких переменных через запятую и используя символ двоеточия:

DATA: count TYPE i, sum TYPE i.

Внутри программы можно использовать типы, заложенные в ABAP-словаре, а так же создавать собственные типы и структуры, используя конструкцию TYPES.

TYPES: person_code(15) TYPE c. » объявляем символьный тип длинной 15 символов DATA: iv_person_code TYPE person_code. » объявляем переменную созданного нами типа

Пример со структурой:

TYPES: BEGIN OF struct, name(10) type C, » символьная переменная длинной 10 символов post(15) type C, END OF struct. DATA: wa_struct TYPE STANDARD TABLE OF struct. » таблица объявленного нами типа DATA: name_person LIKE wa_struct-name. » ссылка на элемент name объявленной структуры

В динамическом программировании принято использовать поля типа FIELD SYMBOLS (аналог указателя):

Читайте также:
Sense что это за программа на ПК

FIELD-SYMBOLS TYPE ANY. DATA: field TYPE string VALUE ‘Bob Marley’. ASSIGN field TO . WRITE .

Таблицы можно объявлять как из словаря ABAP, так же и из своих внутренних типов структур:

DATA: gt_0001 TYPE TABLE OF pa0001. » из словаря DATA: BEGIN OF t_tab, name TYPE string, count TYPE I, END OF t_tab. DATA: gt_tab LIKE TABLE OF T_TAB WITH HEADER LINE. » это дополнение обозначает создание строки заголовка таблицы аналогичной структуры, которую можно использовать для работы с таблицей (циклы и т.д.).

Среда разработки

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), вводим название своей программы:

и нажимаем кнопку создать. Далее вводим заголовок программы, выбираем тип и нажимаем сохранить.

Выбираем пакет сохранения (для тестов советую выбирать пакет $TMP или же сохранять кнопкой «Локальный объект»)

Далее мы попадаем в окно ABAP-редактора. Вводим код нашей программы:

REPORT Z_TEST_4. «Название отчета DATA: write_it TYPE string. write_it = ‘Hello, World!’. WRITE: write_it. *А можно и так WRITE:/ ‘Hello, World!’.

Активируем программу:

И запускаем:

Результат:

В этой статье я написал немного про ABAP, его синтаксис ну и, конечно же, программку Hello, World!
В следующих статьях планирую описать арифметические, строковые операции, работу с базой данных и познакомить с построением отчетности в ABAP с конкретными примерами и мануалами. Ну, а дальше как пойдет.

Немного литературы:
  • BC100: Введение в программирование (c ABAP)
  • BC400: Инструментальные средства, основы
  • SAPTEC: Основы SAP Web Application Server
  • SAP R/3 Программирование на языке АВАР/4 – Вольфганг Вейс, Рюдигер Кречмер.
  • BC401 – ABAP объекты
  • BC402 – Углубленное ABAP программирование
  • BC411 – Advanced ABAP programming
  • Object-oriented Programming with ABAP objects – James Wood,
  • ABAK cookbook – James Wood.
  • sapnet.ru — форум ABAP консультантов. Тут можно найти интересные материалы по ABAP, спросить совета у гуру, помочь кому-то и так далее.
  • sapboard.ru — русскоязычный форум по различным модулям SAP а так же по ABAP.
  • abap-blog.ru — очень интересный блог ABAP-разработчика. Пишет про различные новые технологии и интересные вещи в ABAP.
  • abaphr.ru — блог разработки приложений в модуле ABAP HR. (но на самом деле и не только).
  • www.sapdev.co.uk — зарубежный сайт разработчиков ABAP. Частенько нахожу тут интересующие меня темы.
  • help.sap.com — официальный help SAP. Практически всю документацию можно найти тут.
Читайте также:
Google files что это за программа и нужна

Источник: habr.com

Блог ABAP разработчика

Термин ABAP расшифровывается как Advanced Business Application Programming . Это язык программирования высокого уровня, созданный немецкой компанией-разработчиком программного обеспечения SAP SE. В настоящее время он позиционируется вместе с Java как язык программирования для сервера приложений SAP NetWeaver, который является частью платформы SAP NetWeaver для создания бизнес-приложений.

WRITE ‘Hello World’.

ABAP программы соединяются с системой управления центральной реляционной БД (RDBMS — Relational DataBase Management System) на уровне БД (Database layer), и с графическим пользовательским интерфейсом ( SAP GUI ) на презентационном уровне (Presentation layer).

Синтаксис ABAP/4

Программа ABAP представляет собой набор отдельных инструкций ABAP, которые существуют

внутри программы. Каждый оператор ABAP завершается точкой («.») и первое слово оператора известно как ключевое слово.

Оператор ABAP состоит из операндов, операторов или дополнений к ключевым словам.

Где: keyword> —ключевое слово, оператор
operand> — операнд,переменная
addition> — дополнение оператора.

Операнды — это данные объекты, типы данных, процедуры и т.д. Доступны различные операторы, такие как операторы присваивания, которые связывают исходное и целевое поля присваивания, арифметические операторы которые присваивают двум или более числовым операндам арифметическое выражение

SUM = SUM + 1. SUM = SUM + 2. SUM = SUM + 3. SUM = SUM + 4.

Если несколько операторов начинаются с одного и того же ключевого слова, можно использовать двоеточие (:) как цепной оператор и отделить каждый оператор запятой. Это называется

связанные операторы, и они помогают избежать повторения одного и того же ключевого слова на каждом линия:

SUM = SUM + : 1, 2, 3, 4.

Каждое ключевое слово ABAP будет иметь собственный набор дополнений. Каждое слово в операторе должно быть разделено хотя бы одним пробелом.

Имена (как переменных, так и программ) может содержать от 1 до 30 текстовых символов и символа подчеркивания. Имена в ABAP регистронезависимые. Имена переменных не должны состоять только из цифр и не должны совпадать с зарезервированными символьными константами (например SPACE). В именах программ не допускается использовать пробел, а также следующие символы: . , ( ) ‘ » * = % .

Комментарий отмечаются * (в начале строки), или » (в любом месте строки).

*Строчный комментарий SUM = SUM + 1. «Инкремент суммы

Строки заключаются в одинарные кавычки ‘ . Для указания одинарной кавычки в строке, её указывают дважды.

str = ‘Hello, »World»!’.
Если строка не умещается в строке редактора, то используют символ »’World»!’.

Числа с плавающей запятой указывают как строку с использованием точки как десятичного разделителя. Пример:

p = ‘-3.1415’.
Есть вариант написания через мантиссу и экспоненту:
*[±]E[±] *Пример: g = ‘-1.12345E+10′. *Есть так же вариант написания данных в шестнадцатеричном виде. *Пример: b = X’0FBABA0E’.

  • Получить ссылку
  • Facebook
  • Twitter
  • Pinterest
  • Электронная почта
  • Другие приложения

Диалоговое программирование Ч.4. Работа с экранами

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru