ABAP/4

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
ABAP/4
Класс языка:

объектно-ориентированный, императивный, структурный

Появился в:

1983

Автор(ы):

SAP AG

Система типов:

строгая, статическая, безопасная, именованная (англ.)

Основные реализации:

SAP R/2, SAP R/3

Испытал влияние:

Objective-C, COBOL

Сайт:

sdn.sap.com/irj/sdn/abap

ABAP/4 (Advanced Business Application Programming, изначально по-немецки Allgemeiner Berichts-Aufbereitungs-Prozessor[1]) — проприетарный внутренний язык программирования высокого уровня немецкой софтверной компании SAP. Наряду с Java является языком создания приложений для SAP NetWeaver Application Server. Синтаксис наиболее близок к языку программирования COBOL.

Введение[править | править вики-текст]

Система R/3 компании SAP представляет собой пакет стандартных международных приложений в таких областях бизнеса, как финансовые расчеты и бухгалтерский учет (Financial Accounting), управление производством (Controlling), логистика (Logistics) и руководство персоналом (Human Resources). Система R/3 включает в себя программные решения, работающие в распределенной среде клиент/сервер, для управления предприятием во всех указанных прикладных областях. Внедрение системы R/3 обеспечит компании наряду с множеством других полезных функций возможность управлять финансовыми расчетами в международном масштабе. С помощью R/3 можно отслеживать выполнение заявок на товары, организовывать работу с персоналом и получать соответствующую информацию от служащих разных подразделений предприятия. Система R/3 предоставляет широкий набор средств для организации диалога с пользователем, что позволяет охватить все аспекты бизнеса: от ежедневной работы персонала до принятия управленческих решений. Многие компании из списка Fortune 500, в том числе такие лидеры в области высоких технологий, как American Airlines, Chevron, IBM, Mercedes и Microsoft, организуют управление своей деятельностью на основе системы R/3.Неотъемлемой частью системы R/3 является язык четвертого поколения АВАР/4, разработанный компанией SAP. Все приложения R/3 и даже часть базовой системы созданы на АВАР/4. Этот простой язык помогает разработчику быстро генерировать приложения как для малых фирм, так и для очень крупных предприятий. Надежность его эксплуатационных качеств обеспечивается широкими функциональными возможностями и высокой производительностью системы R/3, что позволяет создавать приложения, с помощью которых пользователь без особого труда обрабатывает гигантские массивы данных и распечатывает огромное количество счетов-фактур. Система R/3 включает широкий набор инструментов для разработки приложений. С помощью АВАР/4 можно создавать новые приложения в архитектуре клиент/сервер, а также расширять функциональность существующих модулей R/3. Вызов удаленных функций (Remote Function Call) дает возможность строить открытые приложения, обеспечивающие распределенную обработку данных с участием нескольких R/3 и даже внешних систем. Приложения АВАР/4 могут быть перенесены в среду многих СУБД и ОС. В частности, в АВАР/4 интегрировано подмножество SQL (так называемый открытый SQL — Open SQL). Открытый SQL и интерфейс с базой данных системы R/3 образуют тот уровень, который располагается между СУБД и прикладной программой. Эта многоуровневая архитектура позволяет разработчику полностью сконцентрироваться на концептуальных аспектах задачи и не заботиться о таких технических деталях, как распределение памяти, операции с указателями или организация работы в сети. Система R/3 предоставляет многочисленные средства для коллективной работы. Интегрированные функции АВАР/4 Development Workbench обеспечивают работу команды программистов в среде клиент/сервер. Это ПО использовалось при создании самой системы R/3, над пакетом коммерческих приложений которой трудились более тысячи программистов. В частности, применение словаря Dictionary гарантирует непротиворечивость данных во всей системе и позволяет избежать избыточности.Хранилище данных АВАР/4 Repository служит источником информации для всех разрабатываемых и выполняемых объектов. Repository состоит из словаря (Dictionary), модели данных, программы, опреде-ления экранов и многих других элементов. Активный интегрированный словарь (Dictionary) и архивная информационная система (Repository) являются тем краеугольным камнем, который обеспечивает широкие возможности и гибкость средств разработки АВАР/4 Development Workbench.

Краткое описание возможностей[править | править вики-текст]

Язык реализует работу с внутренними структурами данных, интерфейсом пользователя SAP R/3, транзакциями, отчётами, интерфейсами загрузки и выгрузки данных. Используется исключительно для бизнес-приложений и промежуточного программного обеспечения компании SAP. Имеет возможности для объектно-ориентированного программирования. Имеет сборщик мусора. Компилируется в байт-код. Исполняется на виртуальной машине.

В языке АВАР/4 поддерживается широкий набор многократно используемых компонентов:

• Средство определения структур и типов Dictionary

• Функции с гибким интерфейсом и обработкой исключений

• Логические базы (Logical Databases) для извлечения данных, используемых в отчетах

Информация о структурах таблиц Dictionary и отдельных полях таблиц применяется во всех программах и экранах системы. Например, внутренняя запись о программе, структурированная как таблица Dictionary, устанавливается с помощью команды определения таблицы tables. Введя дополнение like в определение данных, можно делать ссылки на целые структуры и отдельные поля, а также ссылаться на параметры форм и функций как на объекты данных Dictionary. Кроме того, разрешается объявлять неэлементарные типы и константы, используя определение объекта специального типа Dictionary typepools (в программах — декларация type-pool). Если определение в Dictionary изменяется или активизируется, все программы и экраны, которые ссылаются на этот объект, в следующий раз при вызове

автоматически генерируются заново. Средства АВАР/4 Development Workbench тоже содержат большое число многократно используемых функций, каждая из которых определяется своим уникальным именем и принадлежит к группе, состоящей из одной или нескольких функций, выполняющих подобные операции. Например, существуют функциональные группы для распечатки документов, ведения бухгалтерских книг или чтения информации из составных финансовых документов. С программной точки зрения группа функций является программой, которая существует, пока вызвана функция из этой группы. Если функция из группы вызывается той программой, которая уже вызвала другую функцию этой группы, локальные данные группы сохраняют свои значения, оставшиеся от предыдущего вызова.

Интерфейсные параметры функции могут определяться как необязательные и иметь значения по умолчанию. Следовательно, в вызывающей программе можно использовать значения параметров функции по умолчанию, а не задавать специально все необходимые. Это обеспечивает функции гибкость при многократном применении и увеличение ее жизненного цикла. Кроме того, с помощью функции на экран выводятся диалоговые окна, или интерфейсные экраны. Средства АВАР/4 Development Workbench содержат множество функций, поддерживающих стандартизованные диалоговые окна (в том

числе функции подтверждения ввода). Доступ функции к сети поддерживает механизм Remote Function Call (RFC). Технология RFC служит основой для интегрированных систем R/3. Это означает, что функции могут быть вызваны из любой точки сети для многократного использования в других системах. Как уже отмечалось, средства Logical Databases обеспечивают унифицированный доступ при поиске данных. Изменения, произведенные в Logical Database, вносятся во все отчеты, использующие эту логическую базу. Таким образом, в реальном времени можно изменить содержимое сразу нескольких отчетов, внеся изменения только в логическую базу (Logical Database). Концепция многократного использования дает огромное преимущество при реализации больших программных проектов, позволяя добавлять новые возможности с минимальной перекомпиляцией и настройкой существующих компонентов, обеспечивая максимальную гибкость программы. Во-первых, если программа выполняется после изменения и инициализации объектов Dictionary, она подвергается повторной компиляции только при ссылке на один из измененных объектов. Такой подход позволяет избежать неудобных в использовании файлов заголовков. Во-вторых, интерфейс с функцией может быть расширен без внесения каких-либо изменений в уже существующие вызовы. И наконец, отчет, реализованный с помощью Logical Database, позволяет свободно выбирать таблицы, считываемые из базы.

Пример программы[править | править вики-текст]

Синтаксис ABAP/4 сходен с синтаксисом языка COBOL. Короткий пример программы на ABAP/4 (программа печатает номер используемой версии клиентской программы SAPGUI):

  REPORT zguiver.                  "zguiver - имя программы (отчёта)
 
  DATA: BEGIN OF gs_sysnfo.        "объявление переменной-структуры для хранения данных, структуры можно объявлять через TYPES
          INCLUDE STRUCTURE rfcsi. "включаем в структуру компоненты другой структуры, объявленной в словаре данных
  DATA: END OF gs_sysnfo.
 
  CALL FUNCTION 'RFC_SYSTEM_INFO'  "вызов функционального модуля
    DESTINATION 'SAPGUI' 
    IMPORTING
      rfcsi_export = gs_sysnfo.    "получение результата работы модуля
 
  WRITE: / 'SAPGUI version:', gs_sysnfo-rfcsaprl.   "вывод версии клиента SAP R/3 на экран с новой строки

Примечания[править | править вики-текст]

  1. «ABAP History». SAP-technical.com. [1]

Ссылки[править | править вики-текст]