Программа abap что это

Vvedenie_v_ABAP

ОГЛАВЛЕНИЕ
Глава 1: Введение и первая программа . 4
Задание 1: Вход в систему SAP. 5
Задание 2: Создание нового пакета . 5
Задание 3: Создание новой программы ZY*##HELLOWORLD . 7
Глава 2: Инструменты среды разработки . 13
Задание 1: Вход в систему SAP. 14
Задание 2: Инструмент «Структурная печать». 14
Задание 3: Использование контроля версий . 15
Задание 4: Справка по ABAP и модели. 16
Задание 5: Отладка . 19
Глава 3: Основные принципы ABAP-программирования. 20
Задание 1: Вход в систему SAP. 21
Задание 2: Объявление и управление данными . 21
Задание 3: Пользовательский ввод и контрольные структуры . 23
Задание 4: Функциональный модуль вычисления. 25
Глава 4: Работа с базой данных. 29
Задание 1: Вход в систему SAP. 30
Задание 2: Основы использования словаря данных . 30
Задание 3: Чтение и отображение данных из таблицы . 33
Задание 4: Использование доменов, элементов данных и справок по
значению. 35
Глава 5: Динамические программы . 41
Задание 1: Вход в систему SAP. 42
Задание 2: Создание первой программы с несколькими экранами
(dynpros). 42
Задание 3: Создание второго экрана . 50
Глава 6: Особенности для ERP-систем . 56
Задание 1: Вход в систему SAP. 57
Задание 2: Использование объекта блокировки . 57
Глава 7: Объекты ABAP и страницы бизнес-сервера . 62
Задание 1: Вход в систему SAP. 63
Задание 2: Работа с объектами ABAP . 63
Задание 3: Создание простой страницы бизнес-сервера (BSP) . 65
Задание 4: Использование BAPI на странице бизнес-сервера (BSP). 68
Задание 5: Преимущества HTMLB . 72
Задание 6: Использование MVC-шаблона. 74
Глава 8: Подэкраны, вкладки и средство просмотра HTML . 79
Задание 1: Вход в систему SAP. 80
Задание 2: Создание экрана с подэкранами . 80
Задание 3: Использование внешних URL . 86
Глава 9: Обработка исключений. 89
Задание 1: Вход в систему SAP. 90
Задание 2: Создание класса исключения . 90
Задание 3: Модификация калькулятора. 93
Задание 3: Изменение отчета работы калькулятора . 94

3
Глава 1: Введение и первая программа

SAP программа. Первая ABAP программа se80 и se38.

ABAP SAP урок 1 упрощенный

Первая глава объясняет, как создать программу “Hello world”, используя ABAP. Так же вы попробуете в деле интегрированную среду разработки ABAP в системе SAP. Обоснование Эта глава объясняет, как войти в систему SAP и как запустить среду разработки ABAP. Целью этой главы является показать фундаментальные основы ABAP.

Также эта глава показывает основные аспекты командной ABAP-разработки, выражаемой в использовании пакетов и запросов переноса. Требования Перед началом упражнений вы должны уметь пользоваться графическим интерфейсом системы SAP.

Задание 1: Вход в систему SAP Краткое описание : Используйте SAP GUI для входа в систему SAP с вашим именем пользователя и паролем Запустите SAP GUI и зайдите в систему, используя предоставленное имя пользователя и пароль. Так как это Ваш первый вход в систему, необходимо сменить начальный пароль.

Пожалуйста, запомните ваши имя пользователя и пароль, так как вы будете их использовать в течение всего курса. Для удобства вы можете записать их здесь: Информация для входа Имя пользователя: ______________________________ Пароль: ______________________________ SAP-система: ______________________________ Мандант: ______________________________ Задание 2: Создание нового пакета Краткое описание: Создайте новый пакет, содержащий первые ABAP-разработки, а также новый запрос переноса. Пожалуйста, запустите интегрированную среду разработки из меню SAP Easy Access, используя следующий путь: Инструменты • ABAP-инструментальные средства • Обзор • Навигатор по объектам . Также вы можете использовать код транзакции SE80 для прямого вызова. В левой части экрана из выпадающего списка выберите пункт «Пакет» и введите имя вашего пакета в поле ввода. Название пакета — ZY-*## . Замените * на символ, указанный преподавателем, а ## на ваш номер в группе. 5

Нажмите « Enter» , после чего система выдаст запрос на подтверждения создания пакета. Нажмите «Да» . Система SAP готова к созданию пакета, однако требуется ввести дополнительные данные, например краткое описание. Пожалуйста, введите краткое описание и не изменяйте других полей.

Нажмите кнопку «Сохранить» . Система должна присвоить процесс создание пакета новому локальному запросу инструментальных средств и спрашивает у Вас номер запроса. Так как у Вас нет этого номера, то необходимо создать запрос прямо сейчас. Нажмите кнопку «Создать запрос» для создания нового запроса. Для создания локального запроса система вновь спрашивает краткое описание . Введите краткое описание, не меняйте другие поля.

После нажатия кнопки «Сохранить» Вы увидите номер вашего только что созданного локального запроса во всплывающем окне. Номер автоматически присваивается системой. Вы можете продолжить, нажав «Зеленую галочку». Наконец вы создали новый пакет, который в дальнейшем будет использовать для хранения Ваших ABAP разработок. Задание 3: Создание новой программы ZY*##HELLOWORLD Краткое описание: Целью задания является создание Вашей первой ABAP программы. Нажмите правой кнопкой мыши на только, что созданный пакет и выберите из контекстного меню: Создать • Программа 7

Появляется всплывающее окно с полем для ввода названия новой программы. К вопросу о том, что такое TOP-include мы вернемся позже. Введите название программы « ZY*##HELLOWORLD » и снимите галочку «с TOP-include». На следующем шаге Вы должны ввести атрибуты программы. Выберите «Тестовая программа» в поле «Статус» . Остальные атрибуты оставьте без изменений.

Нажмите «Сохранить» для продолжения. 8

На следующем шаге система спрашивает Вас название пакета. Это естественно, так как любые новые разработки должны быть присвоены определенному пакету. Обычно система выбирает пакеты, созданные Вами. Проверьте, что система верно заполнила поле с названием пакета ZY-*##. Система вновь спрашивает локальный запрос.

Пожалуйста, создайте его. Взгляните на задание 2, если возникают проблемы с созданием запроса. После создания запроса Вы можете продолжить. Как Вы видите, система автоматически создала новый отчет, и теперь вы должны дополнить его. Добавьте 9

новую строчку: write „Hello World!‟. Пожалуйста, не забудьте поставить точку в конце строки. Точка в ABAP идентична точке с запятой в Java и C#. Сохраните программу, используя путь в меню Программа • Сохранить и проверьте ее на синтаксические ошибки.

Проверку можно провести, выбрав в меню Программа • Проверить • Синтаксис . Для того чтобы выполнение программы стало возможным, ее необходимо активировать. Активация в данном случае означает обновление SAPрепозитория и проверку новой версии программы. Активируйте программу, выбрав в меню Программа • Активировать . Чтобы протестировать новую программу, выберите в меню Программа • Тест • Прямой . Результат должен соответствовать представленному ниже рисунку. Нажмите «Назад» , чтобы вернуться в среду разработки ABAP. Финальным шагом является деблокирование вашей первой программы, чтобы она могла быть перенесена в другие системы SAP. Для этого создайте новый режим, выбрав в меню Система • Открыть режим . В новом окне откройте организатор инструментальных средств, выбрав в меню SAP Easy Access Menu:

Источник: studfile.net

Хочу всё знать. Язык 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 напрямую связан с системами управления предприятиями (ERP-системами), но если быть конкретнее — он позволяет, наравне с Java, создавать приложения для SAP Application Server в составе NetWeaver — популярной платформы для бизнес-приложений.

Что касается конкретных задач, то они тривиальны: отчеты, интерфейсы, обработка данных. То есть рядовому разработчику приложений данный язык знать просто незачем (в случае отдельных заказов изучить тот же Java будет практичнее), но зато для сегодняшних студентов и школьников — это еще одна возможность выбрать достаточно редкую специализацию с высоким порогом входа. Начать стоит с бесплатного интенсива по программированию для чайников.

Работа

Если ABAP не является языком, вечно мелькающим в списке требований работодателей, если его не изучают в университетах, то это совсем не означает, что он не востребован. ABAP имеет свою аудиторию, эко-систему, поэтому требует от соискателей осознанного выбора будущей деятельности. Прямо сейчас на популярном рекрутинговом ресурсе вы можете найти свыше 100 вакансий, причём среди них есть те, где знание продуктов компании SAP и опыт работы с ABAP – едва ли не единственное требование.

Что касается зарплаты, то тут всё сильно зависит от степени интеграции ERP систем в конкретное предприятие. Если это достаточно поверхностный уровень, то даже ведущему ABAP-разработчику в столице трудно рассчитывать на начальную зарплату свыше 80 тысяч рублей. Если же у компании многолетнее и плодотворное сотрудничество с SAP, и от программиста требуется действительно серьезная кропотливая работа, то планку вполне можно поднять до значения 100 тысяч. Без опыта и практики можно рассчитывать в лучшем случае на 35 тысяч, в худшем — за эти деньги на вас повесят еще должность кадровика.

Полезные ссылки

ABAP Community – официальное сообщество разработчиков;

ABAP-blog – один из немногих очень качественных и визуально приятных отечественных ресурсов, где можно почитать про программирование на ABAP;

Викиучебник – основы на русском языке;

Habrahabr SAP ERP ABAP – дополнительный набор справочных ресурсов по ABAP и всему, что его касается;

Habrahabr Course Guide – путеводитель по онлайн-курсам ABAP.

Книги

SAP-press — официальная подборка полезной иностранной температуры;

SapLand — интернет-магазин с огромной подборкой книг (и отпугивающими ценниками);

Разработка приложений SAP R/3 на языке АВАР/4 — весьма неплохая книга для новичков в авторстве Кречмера, переведенная на русский язык;

Лучшие практики внедрения SAP (SAP Planning Best Practices in Implementation) — весьма полезная прикладная книга, но будьте осторожны с русской версией — без CD в комплекте теряется весь смысл.

Источник: gb.ru

Введение в 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 (аналог указателя):

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. Практически всю документацию можно найти тут.
Читайте также:
Программа слим что это такое

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

Введение в ABAP

Введение в ABAP

2012-12-07 в 11:34, admin , рубрики: abap, ERP-системы, hello world, sap, Песочница, Программирование, разработка, метки: abap, hello world, sap, разработка

Так как статей об 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 (аналог указателя):

FIELD-SYMBOLS TYPE ANY. DATA: field TYPE string VALUE ‘Bob Marley’. ASSING 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. Правда работает это на последних версиях ядра, что есть не на всех проектах.

Введение в ABAP

Предисловие перед «Hello, World»

На самом деле не хочу, чтобы статья была длинной. Вкратце напишу, что ABAP поддерживает работу со всеми арифметическими, строковыми операциями, имеет стандартный набор операторов условий, циклов, обработку исключений, имеет множество технологиями отчетности, поддерживает работу с базой данных (OPEN SQL) и так далее.

В абапе существуют подпрограммы, функциональные модули, макросы, работа с вебом (Web Dynpro, BSP), выгрузка данных в word, excel (посредством OLE), пользовательские интерфейсы, диалоги и так далее. Существует даже несколько сертификаций разработчиков. Об этом всем постараюсь рассказать в следующих постах.

Hello, World!

Итак, если же вам посчастливилось получить доступ к системе разработки SAP или же вы нашли виртуальную машину, на всем любимом русском трекере по запросу «mini sap on vmware (abap)», то дальше я покажу как создать свою программу.

Введение в ABAP

Первым делом заходим в систему SAP (через SAP GUI):

Введение в ABAP

Далее в окошке вводим транзакцию se38:

В соответствии с именованием пользовательский программ (начиная с Z), вводим название своей программы:

Введение в ABAP

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

Введение в ABAP

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

Введение в ABAP

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

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

Введение в ABAP

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

Введение в ABAP

И запускаем:

Введение в ABAP

Результат:

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

Немного литературы:

Для начинающих:
SAP R/3 Программирование на языке АВАР/4 – Вольфганг Вейс, Рюдигер Кречмер.
Курс BC400: инструментальные средства, основы.

Для продвинутых:
Курсы:

  • 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. Практически всю документацию можно найти тут.

Источник: www.pvsm.ru

Структура и виды программ, среда разработки

Язык ABAP/4 возник на основе языка макро-ассемблера для создания отчетов в 70х годах. В середине 80-х вошел в состав интерпретатора для создания отчетов и диалогового программирования в системе SAP R/2. Компилятор языка и виртуальная машина были реализованы на языке ассемблера для мэйнфреймов.

Известный как язык Advanced Business Application Programming (ABAP) стал языком программирования для системы R/3 в середине 90-х годов. Компилятор и виртуальная машина реализованы на языке C, в качестве ядра системы SAP R/3. В конце 90-х годов был расширен реализацией объектно-ориентированного программирования известного как ABAP Objects. В настоящее время написано уже более 100 миллионов продуктивных строк кода на языке ABAP/4.

ABAP/4 развитый язык программирования коммерческих приложений 4го поколения. Он является основой системы R/3. Все приложения R/3 и даже части базовой системы были разработаны на ABAP/4. ABAP/4 относится к разряду языков, в которых реализуется управление событиями.

Важной особенностью языка является концепция применения внутренних таблиц, суть которой в отображении постоянных таблиц базы данных на объекты, существующие во время выполнения программы и наоборот. Приложения, написанные на АВАP/4, поддерживают различные СУБД и ОС.
В отличие от других языков программирования программы на ABAP/4 можно читать, как обычный текст, написанный на английском языке.

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

Читайте также:
Что за программа эльконин давыдов

Основными возможностями языка ABAP/4 являются:

    • Разновидность самодокументирующегося синтаксиса
    • Наличие встроенных типов данных
    • Наличие встроенных интерфейсов взаимодействия с базой данных и удаленного доступа
    • Встроенная поддержка отчетов, средств создания интерфейсов пользователя и OLTP программирования
    • Система событий для написания отчетов и выборки данных
    • Наличие удобный, адаптированных к БД структур данных с заложенными алгоритмами оптимизации доступа (внутренние таблицы)
    • Средства обработки больших объемов данных
    • Встроенная поддержка динамического программирования
    • Поддержка как устаревших операторов, так и современного процедурно-ориентированного и объектно-ориентированного стиля программирования

    Функции объектно-ориентированного программирования включают в себя поддержку:

      • Инкапсуляции (классы и интерфейсы)
      • Разделения областей видимости компонентов классов
      • Наследования и вложенных интерфейсов
      • Полиморфизма и позднего связывания
      • Обработки событий на основе publish-subscribe модели

      Язык ABAP/4 является разновидностью интерпретатора. Компилятор ABAP/4 генерирует промежуточный код (byte-код), который потом выполняется системой.
      Язык ABAP/4 является платформенно-независимым, и может использоваться с различными комбинациями БД, и ОС.

      Структура и виды программ, среда разработки

      Индивидуальные компоненты прикладных программ хранятся в специальной секции базы данных названной R/3 Репозитарием. R/3 Репозитарий служит центральным хранилищем для всех объектов разработки в системе R/3.

      Внутри системы R/3 ABAP/4 имеет собственную среду разработки. Среда разработки ABAP/4 состоит из следующих основных компонентов и прикладных приложений в системе R/3:

        • Редактор ABAP/4 (se38)
        • Отладчик (se38)
        • Словарь данных (se11)
        • Построитель функций (se37)
        • Построитель классов (se24)
        • Средства контроля времени выполнения и производительности (se38)
        • Расширенная синтаксическая проверка программ (se38)
        • Редактор экранов (se51)
        • Редактор меню (se41)
        • Навигатор по объектам (se80)
        • Информационная система репозитария объектов
        • Организатор переносов (se09)

        В среде разработки ABAP/4 также поддерживаются следующие механизмы:

          • Интерфейс Open SQL
          • Интерфейс работы с файлами
          • OLTP программирование (распределенные буферы, распределенная обработка блокировок, сложные объекты блокирования, распределение ресурсов рабочих процессов, асинхронная обработка обновлений)
          • Система авторизации и доступа к объектам
          • Интерфейсы взаимодействия с внешними системами (DCOM/CORBA, RFC, OLE, CPI/C)
          • Пакетный ввод данных
          • Поддержка различных кодировок и форматов номеров
          • Локализация (привязка программно-аппаратных средств к условиям и стандартам страны пользователя)

          Прикладные программы R/3 в системе R/3 выполняются в рабочих процессах серверов приложений. Это делает их независимыми от использующихся аппаратных средств и операционной системы. Однако, это также означает, что Вы не можете выполнять их вне системы R/3.
          Прикладная программа в системе R/3 состоит из двух компонентов, каждый из которых имеет различную задачу:

          Взаимодействие между прикладными программами и пользователем осуществляется с помощью экранов. Экраны обрабатываются процессором экрана выполняющегося в контексте рабочего процесса. Помимо шаблона входных данных, они состоят из последовательности вызовов экранов. Данная логика выполнения называется логикой динпро.

          В процессе выполнения программы, экраны реагируют на пользовательские действия и вызывают модули программы обработки данных. Эти модули программы и формируют логику обработки.

          Логика обработки данных

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

          ABAP содержит специальный набор команд по имени Open SQL. Данный набор позволяет считывать и записывать данные в базу данных независимо от типа используемой базы данных. Интерфейс базы данных преобразовывает команды Open SQL в команды используемой базы данных. Вы можете также использовать команды Native SQL, которые передаются базе данных без преобразований. При работе с экранами, ABAP программы играют более пассивную роль, действуя как контейнер для набора модулей, которые можно вызвать из логики ДинПро.

          ABAP/4 был разработан специально для разработки диалоговых программ взаимодействующих с БД. ABAP программы ответственны за обработку данных в пределах индивидуальных шагов диалога прикладной программы.

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

          К блокам обработки относятся:

          Диалоговые модули (не могут иметь локальных данных)

          Модули обработки событий

          Подпрограммы (методы классов, формы, и функциональные модули)

          (экраны)
          Логика обработки данных (ABAP программы)

          Каждая ABAP программа состоит из следующих двух частей:

          Объявления глобальных данных, классов и экранов выбора

          Глобальные данные видимы во всех внутренних блоках обработки, как и определения параметров экранов выбора. Объявления внутри диалоговых модулей являются глобальными. Объявления внутри подпрограмм, функциональных модулей и методов являются локальными.
          Реализация блоков обработки

          Принимая во внимание то, что тело модуля диалога или подпрограммы заключены между ключевыми словами ABAP, которые их определяют, блоки обработки событий начинаются ключевыми словами событий и заканчиваются неявно в месте начала следующего блока обработки.
          Все операторы языка ABAP (кроме декларативных) являются частью блоков обработки. Операторы, не заключенные в блоки обработки по умолчанию принадлежат к блоку обработки события START-OF-SELECTION.
          Вызов блоков обработки может производиться либо извне ABAP программы (ABAP процессором или процессором экрана) либо операторами ABAP, которые сами являются частью блока обработки (вызов подпрограмм). Диалоговые модули и модули обработки событий вызываются неявно ABAP процессором.
          Среда выполнения

          Процессор
          Логика Динпро

          Схема выполнения блоков обработки

          В системе R/3 есть различные типы программы ABAP. Тип программы определяет основные технические атрибуты программы. Тип программы устанавливается при создании. Основное различие между различными типами программы способ вызова блоков обработки.
          Существуют следующие типы ABAP программ:

          Программы типа 1 не нуждаются в использовании экранов для управления диалогом с пользователем. Управление вызовами блоков обработки контролируется процессорами среды выполнения, которая вызывает список блоков обработки в четко определенной последовательности. Программы данного типа ориентированы в основном на создание отчетов. Программа типа 1 может вызываться с помощью кода транзакции (транзакция отчета).

          Наиболее важный технический атрибут программ типа М это то, что они могут управляться только с помощью логики ДинПро. Они могут запускаться на выполнения только с использованием кода транзакции, который привязан к программе и одному из её экранов. Ещё одна особенность программ типа М в том, что для неё необходимо создавать собственные экраны диалога с пользователем (с использованием Редактора Экранов). Программа типа М может также иметь начальный экран выбора. Программы типа М называются пулами модулей и предназначены для разработки диалоговых программ с большим набором экранов и насыщенной логикой ДинПро.
          Тип F

          Программы типа F являются контейнерами для функциональных модулей и не могут быть запущены с использованием кода транзакции или ввода имени напрямую. Функциональные модули это специальные подпрограммы, которые можно вызывать из других ABAP программ. Программы типа F называются группами функций. Группы функций и функциональные модули создаются с использованием редактора функций.
          Тип K

          Программы типа К не могут быть запущены с использованием кода транзакции или имени программы. Они являются контейнерами для глобальных классов. Они так же известны под названием определений классов. Программы типа K создаются с использованием построителя классов.
          Тип J

          Программы типа J не могут быть запущены с использованием кода транзакции или имени программы. Они являются контейнерами для глобальных интерфейсов. Они так же известны под названием определений интерфейсов. Программы типа J создаются с использованием построителя классов.
          Тип S

          Программы типа S не могут быть запущены с использованием кода транзакции или имени программы. Они являются контейнерами для подпрограмм, которые можно вызывать из других программ. Программы типа S не могут содержать экранов.
          Тип I

          Программы типа I называются includes. Они позволяют разбивать программу на более мелкие модули. Программу типа I можно вставить в любом месте любой программы с использованием оператора INCLUDE . Среда разработки ABAP/4 имеет механизм для автоматического разбиения пулов модулей и функциональных групп на несколько программ типа.

          Источник: poisk-ru.ru

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