ABAP

ABAP/4
ParadigmaObjektumorientált, strukturált, imperatív
Megjelent1983
TervezőSAP AG
FejlesztőSAP SE
TípusosságErősen típusos, Statikus típusosság, típus biztos, nominatív
MegvalósításokSAP R/2, SAP R/3
Hatással volt ráObjective-C, COBOL, SQL
Operációs rendszermulti-platform
Licenckereskedelmi licenc
Weboldal

Az ABAP (angolul Advanced Business Application Programming, németül Allgemeiner Berichts-Aufbereitungs-Prozessor) az SAP szoftvercég – a saját SAP/R3 vállalatirányítási csomagszoftveréhez kifejlesztett – programnyelve, amely az SAP/R3 továbbfejlesztésére használatos. A név eredetileg, a 70-es években az „Allgemeiner Berichts-Aufbereitungs-Prozessor“ (Általános jelentéskészítő processzor) rövidítése volt, később, a nyelv továbbfejlesztésével „Advanced Business Application Programming“ lett.

A vevők számára a teljes SAP rendszer forráskódja rendelkezésre áll. A nyelvet az SAP cég folyamatosan bővíti.

Az ABAP nyelv története

Az SAP az ABAP nyelvet harmincéves történelme során többször is alaposan átdolgozta. A nyelv egyre átfogóbb feladatok elvégzésére lett képes, és lépést tartott a programozási paradigmaváltásokkal is.

Az SAP a NetWeaver bevezetése óta az ABAP mellett a Javát is támogatja. A Java azonban nem tekinthető az ABAP-ot felváltó nyelvnek.

Tulajdonságai

Az ABAP egy 4GL-nyelv, amelyet kifejezetten üzleti alkalmazások fejlesztésére készítettek. Más, általános célú programnyelvekkel szemben a következő előnyöket nyújtja:

Mindezek lehetővé teszik, hogy az ABAP-ban írt programok a rendszerkörnyezettől nagy mértékben függetlenül működnek.

ABAP Workbench

Az ABAP szerves részét képezi az ABAP Workbench, ami az ABAP nyelv saját integrált fejlesztőeszköze. Az ABAP Workbench egyben támogatja a nagy fejlesztési projektek menedzselését is, és annak érdekében, hogy mindig rendelkezésre álljon a fejlesztés során is egy működőképes verziója a rendszernek, tartalmaz egy úgynevezett transzportmechanizmust, ami megfelelő rendszerkonfiguráció mellett biztosítja számunkra, hogy az éles rendszerre mindig csak letesztelt, működőképes változtatások kerüljenek ki a fejlesztési környezetből.

Az ABAP Workbenchet az úgynevezett Object Navigatorból (azaz az SE80 tranzakcióból) érhetjük el. Itt az ABAP kódokon kívül egyéb objektumokat, például BSP-ket (Business Server Page-eket) is létrehozhatunk.

Az ABAP Workbench nagy előnye az integráltságában rejlik, hiszen az ABAP kódban duplán kattintva az objektumok nevére, rögtön megkaphatjuk például a nekik megfelelő bejegyzést az ABAP Dictionaryben és fordítva.

Szintaxis

Az ABAP forráskódok ABAP utasításokból és megjegyzésekből állnak.

ABAP utasítások

Az ABAP utasítások mindig egy ABAP kulcsszóval kezdődnek, amit a kulcsszótól függően különböző operandusok és kiegészítések követhetnek, majd az utasítást mindig egy pont zárja le. Például:

WRITE 'Hello World!'.

Ebben az utasításban a WRITE az alkalmazott ABAP kulcsszó, illetve ennek megadtunk egy string típusú operandust, a 'Hello World!'-öt. Az utasítások formázására vonatkozóan az ABAP nem tesz megszorításokat, azaz egy utasítást több sorra is széttördelhetünk, illetve egy sorba több utasítást is írhatunk. Azonban stringliterálok több sorra tördelésénél ügyelni kell arra, hogy ilyenkor az újsor karakterek is a string részét fogják képezni – ha ezt nem szeretnénk, akkor a & operátorral tudunk két, külön sorban megadott stringliterált összefűzni.

Lehetőség van az ABAP-ban úgynevezett láncolt utasítások megadására minden olyan esetben, amikor két vagy több egymást követő utasítás ugyanúgy kezdődik. Ekkor az ismétlődő részt csak az első utasításnál írjuk ki, majd azután egy kettőspontot írunk, és az utasítások további részét vesszőkkel elválasztva soroljuk fel úgy, hogy az utasítást lezáró pontot csak az utolsó utasítás után tesszük ki. Például:

WRITE '1. sor'.
WRITE '2. sor'.
WRITE '3. sor'.

helyett

WRITE: '1. sor',
       '2. sor',
       '3. sor'.

is írható. Ez az utasításláncolás az ABAP-ban egy általánosan alkalmazható módszer – minden utasításnál minden pozíciójában működik, még kifejezéseknél is.

ABAP megjegyzések

Az ABAP forrásszövegbe tetszőleges megjegyzések írhatók. Két típusát különböztetjük meg a megjegyzéseknek:

Az ABAP interpreter a megjegyzéseket white space-ként értelmezi.

Példaprogram

A következő SAP R/3-ban fejlesztett ABAP program a MAKT adatbázistáblában nyilvántartott cikk azonosítóját és a paraméterben megadott nyelvű megnevezését listázza ki, ha létezik az adott nyelven a szöveg.

REPORT z_material_descriptions.
* Változó deklarálása:
DATA wa_makt TYPE makt.
* Szelekciós változó (nyelv):
PARAMETERS p_spras TYPE makt-spras.
* ABAP utasítással olvassuk az adatbázis-tábla minden paraméterben megadott nyelvű rekordjának tartalmát:
SELECT * FROM makt
INTO   wa_makt
WHERE  spras = p_spras.
* Kiírjuk a kapott rekord két mezőjének tartalmát:
  WRITE: / wa_makt-matnr, wa_makt-maktx.
ENDSELECT.

A példaprogram az R/3-as rendszer 4.6-os változatában készült.

Irodalom

Jegyzetek

  1. ↑ ABAP rövidítés
  2. ↑ ABAP Workbench dokumentáció angolul, németül
  3. ↑ Object Navigator dokumentáció angolul, németül
  4. ↑ ABAP Dictionary

Források

További információk