Type a search term to find related articles by LIMS subject matter experts gathered from the most trusted and dynamic collaboration tools in the laboratory informatics industry.
ABAP/4 | |
Paradigma | Objektumorientált, strukturált, imperatív |
Megjelent | 1983 |
Tervező | SAP AG |
Fejlesztő | SAP SE |
Típusosság | Erősen típusos, Statikus típusosság, típus biztos, nominatív |
Megvalósítások | SAP R/2, SAP R/3 |
Hatással volt rá | Objective-C, COBOL, SQL |
Operációs rendszer | multi-platform |
Licenc | kereskedelmi 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“[1] 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 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.
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.
Az ABAP szerves részét képezi az ABAP Workbench,[2] 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[3] (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[4] és fordítva.
Az ABAP forráskódok ABAP utasításokból és megjegyzésekből állnak.
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.
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:
*
karakter jelzi, hogy a teljes sor megjegyzésként kezelendő."
karakter jelzi, hogy a sor fennmaradó része egészen az újsor karakterig megjegyzésként kezelendő.Az ABAP interpreter a megjegyzéseket white space-ként értelmezi.
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.