ABAP (Advanced Business Application Programming) jest podstawowym językiem programowania obsługiwanym przez platformę SAP NetWeaver ABAP application server oraz uruchamiane na niej aplikacje, takie jak SAP ERP (dawniej R/3), S/4HANA i CRM.

SAP wykorzystuje ABAP do implementacji własnych aplikacji na platformie NetWeaver ABAP, a klienci SAP używają ABAP do modyfikowania funkcjonalności aplikacji SAP lub budowania własnych na platformie NetWeaver ABAP. ABAP jest najstarszą i prawdopodobnie najczęściej używaną z czterech głównych platform aplikacji SAP, która obejmuje również SAP NetWeaver Java, SAP HANA i SAP Cloud Platform.

Ewolucja ABAP

SAP ABAP rozpoczęła się w latach 80.jako język generowania raportów w produktach SAP. Odegrał kluczową rolę w systemie SAP R/3 jako podstawowy język implementacji i rozszerzenia systemu enterprise resource planning (ERP). Z biegiem lat zyskał nowe funkcje, w szczególności wprowadzenie obiektowych konstrukcji, zwanych obiektami ABAP, w 1999 roku oraz wprowadzenie nowych metod dostępu do bazy danych i dużej ilości nowej składni od około 2010 roku.

funkcje ABAP są ściśle powiązane z używanym wydaniem SAP R/3 lub NetWeaver. Jedynym sposobem uzyskania dostępu do nowych funkcji języka jest uaktualnienie do nowszej wersji serwera aplikacji ABAP. W wielu przypadkach programy napisane przy użyciu funkcji nowszej wersji serwera aplikacji nie będą uruchamiane na starszych systemach SAP.

narzędzia programistyczne ABAP

zdecydowanie największym twórcą kodu ABAP jest sam SAP. Jednak wiele tysięcy programistów ABAP współpracuje z klientami SAP i firmami konsultingowymi w celu utrzymania i modyfikacji systemów SAP. ABAP regularnie znajduje się w pierwszej trzydziestce indeksu Tiobe, który z grubsza śledzi popularność języków programowania.

programiści pracujący w ABAP zwykle robią to w narzędziach programistycznych ABAP (zestaw wtyczek dla platformy programistycznej Java open source Eclipse) lub w transakcji ABAP Workbench w graficznym interfejsie użytkownika SAP (GUI). Oba środowiska oferują zestaw narzędzi wspomagających rozwój, od uzupełniania kodu po zautomatyzowane narzędzia do testowania.

Klasa ABAP w Eclipse
pusta Klasa ABAP w narzędziach programistycznych ABAP, jak widać w Eclipse.

SAP Solution Manager oferuje również narzędzia do zarządzania cyklem życia kodu ABAP. Istnieje niewiele wsparcia dla narzędzi programistycznych poza tym, co zapewnia SAP, chociaż niektórzy klienci zbudowali własne integracje z narzędziami ciągłej integracji, kontroli wersji i śledzenia błędów innych firm.

Funkcje specjalne i większa Infrastruktura ABAP

ABAP nie jest samodzielny i jest wysoce zintegrowany z innymi funkcjami serwera aplikacji SAP NetWeaver ABAP. Wśród nich są następujące:

  • logiczne połączenia z bazą danych, które pozwalają na pobranie kodu z określonej bazy danych. Rzeczywiste połączenia z bazą danych są konfigurowane poza kodem ABAP, dzięki czemu ten sam kod może być używany w różnych środowiskach baz danych.
  • Open SQL, abstrakcja składni SQL, która jest częścią języka ABAP i którą środowisko wykonawcze ABAP konwertuje na natywny SQL, odpowiedni dla używanej bazy danych. Open SQL ma wiele podobieństw do koncepcji Integrowanego zapytania języka.NET (LINQ) firmy Microsoft.
  • tabele wewnętrzne, które zawierają zbiory obiektów, do których można uzyskać dostęp za pomocą specjalnych słów kluczowych języka lub Open SQL. Ta koncepcja ABAP kontrastuje z pojęciem typowanych tablic jak w Javie czy c++.
  • bezpieczeństwo, w którym ABAP jest zintegrowany z infrastrukturą bezpieczeństwa SAP NetWeaver.
  • Data Dictionary-Uniwersalny słownik definicji struktury danych, często zawierający logikę biznesową, Dostępny dla wszystkich programów ABAP w systemie.
  • Change and Transport System (CTS), który śledzi zmiany w obiektach deweloperskich i zarządza promocją obiektów deweloperskich w środowiskach zapewnienia jakości i produkcji.
  • współdzielony system programistyczny, który jest ważnym aspektem ABAP. ABAP różni się od większości nowszych języków tym, że rozwój zwykle odbywa się na współdzielonym systemie, a wszyscy programiści pracują nad tym samym zestawem obiektów deweloperskich w tym samym czasie.

ABAP i HANA

ABAP nadal są ważną częścią stosu technologii SAP.

chociaż odegrał mniejszą rolę w wielu produktach wraz z pojawieniem się platformy HANA, nadal jest centralnym elementem najczęściej wdrażanych produktów SAP, odgrywa ważną rolę w platformie ERP SAP następnej generacji S/4HANA i został ogłoszony jako środowisko wykonawcze dla platformy SAP Cloud.