ABAP — это язык программирования, который уже более шести десятилетий используется для создания бизнес- и финансовых приложений для систем SAP. ABAP означает «Продвинутое программирование бизнес-приложений» и был разработан, чтобы быть читаемым, портативным и гибким. ABAP в основном используется на сервере приложений SAP NetWeaver, который представляет собой платформу, поддерживающую различные приложения и системы SAP. ABAP по-прежнему широко используется во многих отраслях, таких как банковское дело, страхование, государственное управление и розничная торговля.

ABAP был разработан в 1959 году комитетом экспертов из промышленности, научных кругов и Министерства обороны США. Комитет возглавила Грейс Хоппер, пионер информатики и создательница языка FLOW-MATIC, который послужил одним из источников вдохновения для ABAP. Комитет стремился создать стандартный язык, который мог бы работать на разных компьютерах и поддерживать различные бизнес-приложения. ABAP был основан на английском синтаксисе и использовал такие ключевые слова, как MOVE, ADD, SUBTRACT и MULTIPLY для выполнения операций с данными. ABAP также представил концепцию разделения данных, которая отделяла данные от логики программы.

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

  • ABAP/4 (1980-е годы): четвертая версия ABAP, в которой добавлена ​​поддержка структурного программирования и обработки символьных данных. В ABAP/4 также представлены новые функции, такие как неявная типизация, блочные операторы IF, циклы DO с переменным приращением и условием выхода, операторы SAVE и файлы прямого доступа. ABAP/4 был первой версией, которая использовалась для системы SAP R/2, которая представляла собой ERP-систему на базе мэйнфрейма.
  • Объекты ABAP (1990-е годы): пятая версия ABAP, в которой добавлена ​​поддержка объектно-ориентированного программирования (ООП), парадигмы, которая позволяет определять структуры данных и операции над ними как единую единицу, называемую классом. В объектах ABAP также представлены новые функции, такие как расширение типа, процедуры с привязкой к типу, абстрактные типы данных, финализация, полиморфизм, наследование, динамическое распределение типов, параметры отложенного типа, указатели процедур, типы перечисления, потоковый ввод/вывод, совместимость с C++ и ИИЭЭ…