Az ABAP programozási nyelv

SAP rendszerek alapjai

Bevezetés

Az SAP AG. sikertörténetbe illően a világon az egyik legnagyobb gazdasági, vállalatirányitási szoftvert fejlesztette ki az elmúlt években, melynek a referencia listáján több tízezer vállalkozás szerepel szerte a világból. Az SAP a gazdasági területen ugyanolyan uralkodó szerepet tölt be, mint a Microsoft a standard szoftverek világában. Az SAP AG 8,47 milliárd DM forgalmával (5,05 milliárd USD) 1998-ban a világ negyedik legnagyobb független szoftverforgalmazója volt. 19 000 munkatársat foglalkoztat és világszerte több, mint 40 országban képviselteti magát. Az R/2 valamint az R/3 lefedik az iparban, a kereskedelemben, a szolgáltatásokban és a közszolgálati szektorban igényelt teljes üzemgazdasági alkalmazási szférát. Az R/2- és R/3-rendszerek fő jellemzője az átfogó funkcionalitás és az üzleti folyamatok integrált lebonyolítása a pénzügy, a logisztikai és az emberierőforrás-gazdálkodás területén. A rendszerek kialakításuk révén különösen az üzleti folyamatok optimálását támogatják. Ezen leírásban csak az SAP programfejlesztői környezetéről ill. a rendszer architektúrájáról lesz szó.

A SAP-ról általában

Míg az R/2-rendszer a nagyszámítógépes (MAINFRAME) struktúrával rendelkező vállalatok igényeit elégíti ki, addig az R/3-as nyitott koncepciója kliens/szerver architektúrára irányul, amelynél az alkalmazásokat a számítógépeken több szinten el lehet osztani az alábbiak szerint:



A háromszintű kliens/szerver megvalósítás lehetővé teszi a teljesítményelosztást az egyes szintek szerverei között.

3 szintű rendszer

Mind az R/2, mind az R/3 alapvetően német nyelven fejlesztik, ami azt jelenti, hogy a rendszerszitű üzenetek németül érkeznek.Tapasztaltabb rendszeradminisztrátorok adminisztratív teendőik ellátásakor, ha tehetik akkor német nyelven jelentkeznek be. A rendszer dokumentáltsága kivánnivalót hagy maga után. Az igazán szép trükkök SAP dokumentációkból nem, vagy csak fáradságos munkával olvashatók ki. Erre a tudásra az SAP által szervezett tanfolyamokon borsos árakon lehet hozzájutni. Itt meg kell jegyeznünk, hogy ez egy nagyvállalat költségvetése mellett jelentéktelennek tekinthető. Az SAP szervez vizsgákat is a rendszer teljes területéről, ahol a vizsgázó tudásáról adhat számot. Ezeket a certifikátokat a vállalatoknál pusztán irányadónak veszik és ezért általában a pályázó felkészültségről még egyéb módon is bizonyságot vesznek.

A SAP jellemzői

Az R/3 különböző hardwereken (IBM, DEC, SUN, HP, Siemens, PC) különböző operációs rendszereken valamint különböző hálózatokon (TCP/IP, LU6.2, Novell, SNA) képes müködni. A üzemgazdasági funkcionalitást modulokba foglalva biztosítják, melyek a Data Dictionary-t felölelik. Az SAP R/3-rendszerében központi szerepet játszik ez a fejlesztési környezet, aminek a fontosabb jellemzői a kővetkezők :

R/2-es rendszer felépítése

R/3-as rendszer felépítése



ABAP4 fejlesztői környezet

A három szintű architektúra

Az adatbázisszerveren, mint a neve is utal rá, fut a központi DBMS a felhasználói- valamint a metaadatokkal. Az adatokhoz a hozzáférés Open-SQL utasítások segítségével lehetséges. A Nativ-SQL parancsok biztosítják az R/3-idegen adatbázisokhoz és táblákhoz való hozzáférést, valamint ezen parancsok segítségével tudjuk a rendszer tábláit más, nem R/3-rendszerbeli alkalmazásokból, manipulálni. Az applikációsszerveren futnak az ezen a szerveren bejelentkezett felhasználók R/3-rendszerprogramjai, valamint alakalmazásaik. Az applikációsszerver adatokat kér le, pufferol, dolgoz fel valamint küld az adatbázis- és prezentációsszerver felé. Ha egyszerre több felhasználó van bejelentkezve ugyanarra az applikációsszerverre és mindegyikük viszonylag nagy adattömeget mozgat, szükséges a gyors adatátviteli sebesség biztosítása a DB-szerver felé. Éppen ezért az adatbázis- és az applikációsszervert egy lokális gyors hálózatba szokás kötni. Minden applikációsszerveren fut egy un. dispatcherprocessz , ami több különböző workprocesszt vezérel. Az alábbi workprocesszek lehetnek egy ilyen diszpatcherben :

Valamint még két, nem a dispatcherben található workprocessz fut az applikációsszerveren : A prezentációsszerver valósítja meg a felhasználói szinet. Itt történik a felhasználói adatok beolvasása ill. az Online Reportok eredményeinek megjelenítése. Éppen ezért itt már nincs szükség olyan gyors adatátvitel biztosítására, mint a fent említett esetben. Ezek alapján az applikációs- és prezentációsszerver kapcsolata lehetséges interneten, modemen stb. keresztül. Itt fut az SAP GUI-ja (Graphical User Interface) is, ami az R/3-rendszer teljes grafikai felhasználói felületét tartalmazza. Ez ablakozási technikával (Windows 3.1, Windows NT, OS/2 Presentation Manager, OSF/Motif) van megvalósítva és CPI/C-protokollal kommunikál a hozzárendelt applikációsszerver dispatcherével (vagy egy saját dialog-processzel). Itt a kommunikáció tömörített formában zajlik és független a használt felülettől. Pl. ha egy dialogus a PC-en valamit meg akar mutatni, akkor az applikációsszerver elküldi a layout-ot és az adatdefiníciókat, amiből az SAP GUI dimanikusan, futásidőben kirajzolja a megfelelő GUI objektumokat. Vannak esetek, amikor ez a háromszintű architetktúra kettő, vagy csak egy szintre korlátozódik, de a logikai felosztás ugyanígy megtehető. Nem ritka, amikor az adatbázis- ill. az applikációsszerver egyazon, nagyteljesítményű számítógépen fut.

Rétegmodell, modulok

Az R/3-szoftver felépítése rétegelt, melynek az alsó szintjén helyezkedik el az operációsrendszer és a hálózati alkalmazás. Erre "ül" rá az alkalmazott DBMS szoftver. Az R/3-szoftver rendszerfüggő részei egy közbülső szinten találhatóak, amit C programozási nyelven írtak. Ezen szint által nyújtotta funkciók használhatóak az ABAP/4-interpreter, vagy az ABAP/4 programok által.

A legfelső szint, az alkalmazási szint, ami az ABAP/4-ben írt programokat is tartalmazza. Az alkalmazási szint moduljai :

R3 modulok


R2 modulok

Data Dictionary és a Data Modeler

A Data Dictionary (DDIC) tartalmaz információkat struktúrákról és kapcsolatokról az R/3-rendszeren belül. A Data Dictionary nem a felhasználói-, hanem az un. metaadatokat kezeli, amik, a felhasználói adatokhoz hasonlóan, itt az R/3-as adatbázisában találhatóak meg. Az SAP installálásakor több mint 10.000 db. tábla kerül fel a Data Dictionaryba a következő tulajdoságokkal:

Valamint opcionálisan a következők Jelentős különbség van a DDIC-táblák és az adatbázis táblák között. Egy DDIC-tábla, adatdeklarációs és típusdifiníciós értelemben, egy táblaleírást tartalmaz. Alapvetően egy felhasználói tábla csakis a neki megfelelő DDIC-tábla alapján menthető el. Régebbi R/3-Release-ekben a felhasználónak kellett a DDIC-tábla után explicit módon a saját tábláját létrehozni, de az újabb verziókban (Release 3.0A) már a rendszer automatikusan elintézi ezt.

A Data Modeler segítségével lehet komplex adatmodellstruktúrákat a SERM (Structured Entity Relationship Model) alapján vizuálisan előállítani és ellenőrizni. Ez az eszköz kapcsolatban van a DDIC-el, vagyis az itt deklarált E/K (Egyed/Kapcsolat) diagram felhasználható a Data Dictionary-ban.

ABAP/4 Development Workbench

Itt történik az R/3-rendszerben minden fejlesztés, mely alkalmas nagy szoftver-projektek osztott, team-ekben történő kivitelezésére. A programban szerepelő objektumokat vagy a Data Dictionary-ban vagy a Repository-ban hozzák létre. A Data Dictionary meta adatokat tartalmaz (tábla, mező ill. kulcs leírások) míg a Repository magában foglalja a DDIC-t és ezen kívül még a programokat, függvénykönyvtárakat, logikai adatbázisokat és a message-osztályokat. Ezek tartalma az Object Browser segítségével hozható létre.

A Workbenchből a következő eszközök érhetők el :

Programozóknak, fejlesztőknek az Object Browsert ajánlják a programírás során. Ez biztosítja a teljes kontextust a progamunknak. A fejlesztés un. fejlesztési osztályokban folyik, mely egy fa hierarchiában tartalmazza az összes, az alkalmazásban résztvevő objektum nevét (változók, táblák stb.). Bármely objektumon klikkelve, a megfelelő tools hívódik meg. Pl. ha a program nevén klikkelünk, akkor az ABAP editorban megjelenik a program forrása, ha egy globális változón klikkelünk, akkor annak az első előfordulását (deklarációját) mutatja az ABAP szerkesztő, míg ha egy tábla nevén klikkelünk, akkor a Data Dictionary hívódik meg a megfelelő tábla leírásával. A fejlesztés is hasonlóan történik: pl. ha az ABAP editorban egy tábla deklarációjánál a tábla nevére klikkelünk, akkor vagy a már létező tábla leírása jelenik meg a DDIC-ben, vagy pedig a Data Dictionaryban definíálhatjuk a még nem létező táblát.

Az SAP rendszer szolgáltatásai

Konzultációs szolgáltatások:

Karbantartási szolgáltatások: Megelőző szolgáltatások:

Az SAP programrendszer részei

Megoldások: mySAP kezdetű elnevezések

Komponensek: SAP kezdetű elnevezések

Az SAP HANA

Az SAP legújabb fejlesztése a SAP HANA, egy memóriában működő adatbázis platform, amely helyben az ügyfélnél telepíthető, illetve felhasználható az SAP által üzemeltetett felhőben is. Ez a forradalmi újítás elsősorban valósidejű riportok, analitikák feldolgozására, illetve valósidejű alkalmazások futtatására alkalmas. Az HANA adatbázis az egész újítás lényege, amely struktúrájában, felépítésében a termék megjelenésekor minden addigi adatbázis motortól különbözött.

Mitől forradalmi az SAP HANA?
A piacon lévő más adatbázisok vagy jók a tranzakciós terhelés vagy analitikus terhelés terén. Azonban a technikai határok miatt mindkét terhelés kiszolgálására eddig nem született elfogadható megoldás. Amikor analitikus adatokat szeretnénk kinyerni egy tranzakcionális rendszerből (ERP), akkor ezeket át kell alakítani úgy, hogy a riportozó adatbázis (BW) fel tudja dolgozni és csak ezután lehet őket a riportozó adatbázisra létrehozott riportokkal megjeleníteni, feldolgozni. A transzformáció során az adatok struktúrája változik meg, amely igen sok időt vesz igénybe. Sok cég küszködik azzal, hogy egy havi záráshoz tartozó adatok áttöltése, transzformációja több napot, esetleg egy egész hetet is igénybe vehet. Az SAP HANA a hibrid struktúrájának köszönhetően - az OLTP és OLAP egybegyúrásával - megszünteti ezt a várakozást, mivel az egész adatbázist memóriában tartja, amely lehetővé teszi, hogy ugyanazokat az adatokat valós időben meg lehessen jeleníteni. Az SAP HANA fejlesztéséhez a következő lehetőségek, technikai újdonságok járultak hozzá:

Az HANA-t az SAP 2011-ben jelentette be, jelenleg (2014 eleje) a 2.0 verziónál tart. Magyarországon a mai napig egyedül a Vodafone vezette be az SAP HANA-t, a BW riportjaik gyorsítása miatt, tehát kijelenthetjük, hogy hazánkban igen új ez a termék.

Az SAP története

Az SAP története a kezdetektől a 2000-es évek elejéig. Az SAP a világ vezető integrált vállalatirányítási rendszere (ERP). Integrált vállalatirányítási rendszer alatt egy adott vállalat minden vállalati folyamatát lefedő programcsomagot értünk. Az SAP ágazatspecifikus megoldásait több mint 120 országban hozzávetőleg 32 000 vállalat használja, kis- és középvállakozások, nagyvállalatok egyaránt. Az SAP AG 1972-ben alakult Németországban, eredeti neve „Systemanalyse und Programmentwicklung”, aminek jelentése „rendszerelemzés és programfejlesztés”. A rövidítését később átértelmezték, az új „Systeme, Anwendungen und Produkte in der Datenverarbeitung” név jelentése: Rendszerek, alkalmazások és termékek az adatfeldolgozásban.
A '70es évek elején a Xerox eldönti, hogy kilép a számítógép iparágból, és az IBM-et bízza meg, hogy számítógépes rendszerüket migrálják. Cserébe liszenszet biztosítanak egy SDS/SAPE nevezetű szoftvernek, amelyet az IBM átad 5 alapító mérnöknek a vállalatban lévő 8%-ukért cserébe. Ez az SAP alapja. 1972-ben az 5 mérnök - Dietmar Hopp, Hans-Werner Hector, Hasso Plattner, Klaus E. Tschira, and Claus Wellenreuther - már a továbbfejlesztett szoftver rendszerükkel megnyerik az első ügyfelüket, az Imperial Chemical Industriet. Akkoriban nagyon csábító újítással élnek, mégpedig, hogy az adatok rögzítéséhez nem lyukkártyát használnak, hanem az adatokat mágneses szalagokra mentik el, és onnan töltik be. Innen jön a termékben szereplő 'R' betű is (SAP R/1, R/2, stb.).
Az SAP AG jelenleg a világ negyedik legnagyobb szoftvercége, amelynek leányvállalata a SAP Hungary Kft 350 főt foglalkoztat. Szerte a világban 1500 partnercég értékesít SAP-licenceket, végzi a rendszerek bevezetését és látja el azok támogatását. Összességében 12 millió felhasználó alkalmaz SAP-rendszert, amely az üzletviteli megoldások területén kimagasló szám.
A SAP Business One a néhány százmillió forint éves árbevételű cégek számára létrehozott, úgynevezett dobozos megoldás, míg a SAP R/3 az ennél nagyobb cégek számára ajánlott üzleti szoftver.
2004 óta a SAP R/3-mas rendszerén kívül már üzemel egy online felületet is, ami a NetWeaver névre hallgat. A NetWeaver felület lehetővé teszi az SAP termékek használatát és további fejlesztését. Az SAP saját programozási nyelve az ABAP.
Fejlődéstörténet
Az architektúrális fejlődést pedig az alábbi kép mutatja.
Architektúra