ABAP

ABAP

ABAP (ang. Advanced Business Application Programming, pierwotnie niem. Allgemeiner Berichts-Aufbereitungs-Prozessor, czyli procesor tworzenia raportów) to język programowania wysokiego poziomu, stworzony przez niemiecką firmę SAP.

Pierwotnie ABAP był wykorzystywany do generowania prostych raportów, obecnie jednak ABAP Objects stanowi język programowania platformy SAP NetWeaver 7.0, która umożliwia tworzenie rozwiązań do zarządzania przedsiębiorstwami. Oryginalna składnia ABAP przypomina składnię języka COBOL, jednak obecnie SAP dąży do pełnego wprowadzenia obiektowości w aplikacjach napisanych w ABAP Objects. Język ten jest wzbogacany o technologie takie jak: Dynpro, Web Dynpro czy Business Server Pages, które służą do prezentacji danych.

Historia

ABAP jest jednym z wielu języków czwartej generacji (4GL), specyficznych dla aplikacji, dlatego czasami określany jest jako ABAP/4. Pierwsze wersje tego języka pojawiły się na początku lat 80. XX wieku. Początkowo ABAP służył do tworzenia raportów w systemie SAP R/2, platformie, która pozwalała dużym korporacjom na budowanie aplikacji typu mainframe do zarządzania materiałami, finansami oraz księgowością. ABAP był jednym z pierwszych języków, które wprowadziły koncepcję logicznych baz danych (LDB), oferując wysoki poziom abstrakcji nad bazą danych.

Język ten został również wykorzystany do stworzenia platformy SAP R/3. Klienci SAP korzystają z ABAP do rozszerzania standardowych funkcji tej platformy oraz do tworzenia własnych, specyficznych rozwiązań. Aby w pełni wykorzystać możliwości ABAP, potrzebna jest wiedza o budowie relacyjnych baz danych oraz koncepcjach programowania obiektowego (wprowadzonych w ABAP Objects, które zadebiutowały wraz z wersją SAP R/3 4.6).

Obecnie ABAP pozostaje głównym językiem programowania dla platformy SAP ERP, jednak w najnowszych wersjach systemu (NetWeaver) współpracuje z językiem Java. Język ten jest także używany jako język skryptowy po stronie serwera w technologii BSP (ang. Business Server Pages), stosowanej do tworzenia rozwiązań biznesowych opartych na technologiach webowych.

Implementacja

Wszystkie programy napisane w ABAP są przechowywane w bazie danych systemu SAP, a nie w oddzielnych plikach, jak ma to miejsce w przypadku języków Java czy C++.

W bazie danych programy ABAP występują w dwóch formach: kodu źródłowego, który można edytować i przeglądać w ABAP Workbench, oraz wygenerowanego kodu, binarnej reprezentacji porównywalnej z kodem Java.

Programy ABAP są uruchamiane pod kontrolą tzw. runtime system, który jest częścią jądra systemu SAP. Runtime system odpowiada za przetwarzanie instrukcji ABAP, kontrolowanie logiki przepływu ekranów oraz reagowanie na działania użytkownika (np. naciśnięcie przycisku na ekranie).

Kluczowym elementem języka ABAP jest interfejs bazodanowy, który konwertuje niezależne od używanej bazy danych instrukcje ABAP (Open SQL) na instrukcje zrozumiałe i natywne dla konkretnego systemu bazodanowego (Native SQL). Interfejs ten zarządza całą komunikacją z relacyjną bazą danych w imieniu programów ABAP i zawiera szereg dodatkowych funkcji, takich jak buforowanie najczęściej używanych danych w pamięci lokalnej serwera aplikacji.

Wykorzystanie Open SQL umożliwia rozdzielenie 2 i 3 warstwy w systemie SAP, czyli warstwy aplikacji – programy ABAP, oraz warstwy bazy danych. Dodatkowa, trzecia warstwa, to warstwa prezentacji, której celem jest wyświetlanie wyników działania programów ABAP oraz umożliwienie użytkownikowi interakcji z programem.

Przykład

Przykładowy program:

Wynik działania programu na ekranie:

Program PRZYKLADOWY

Witaj świecie!

Cześć, jestem iteracją nr 0

Cześć, jestem iteracją nr 1

Cześć, jestem iteracją nr 2

Cześć, jestem iteracją nr 3

Cześć, jestem iteracją nr 4