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

Обзор языка ABAP/4 системы SAP R/3

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

Язык 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 кода. Блоки обработки не могут быть вложены.

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

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

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

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

          Другие интерфейсы

          SAP GUI

          Логика ДинПро

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

          Интерфейс БД

          Рабочий процесс

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

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

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

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

          Экран

          SAP GUI

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

          ABAP программа

          Логика PBO

          Логика PAI

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

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

          Тип 1

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

          Тип М

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

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

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

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

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

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

          Уроки Arduino #1 — структура программы и типы данных


          Похожие статьи.

          Понравилась статья? Поделиться с друзьями: