Széchenyi István Egyetem SAP PROGRAMOZÁS 2007.11.12
SAP = integrált vállatirányítási rendszer 19.09.2018
SAP = integrált vállatirányítási rendszer Üzleti folyamatok széles körét modellezték és képezték le Iparágspecifikus megoldások Az egyes folyamatok un. Customizing beállítások segítségével aktiválhatók 19.09.2018
Miért kell az SAP-t programozni? Az SAP AG igényei miatt a rendszer technikai, funkcionális fejlesztése hibajavítások Az ügyfelek egyedi igényei, amik nem lesznek az SAP standard részei 19.09.2018
Tipikus fejlesztési igények kiértékelések, listák egyedi nyomtatványok interfészek egyedi alkalmazások (nincs a folyamatra SAP megoldás) standard módosítása (nem az igényeknek megfelelően működik a standard SAP) 19.09.2018
Az SAP programnyelvei A rendszer telepítésétől függően lehet ABAP Az SAP saját programnyelve Az üzleti alkalmazások és a fejlesztőkörnyezet nagy része is ABAP nyelven íródott ÉS/VAGY JAVA Webes megjelenésű alkalmazások programnyelve egyéb alkalmazások is készíthetők JAVA-ban 19.09.2018
ABAP és JAVA környezet 19.09.2018
Az ABAP programnyelv Az ABAP jelentése: németül "Allgemeiner Berichts- (und) Aufbereitungs-Prozessor„ angolul "Advanced Business (and) Application Programming” 19.09.2018
Az ABAP nyelv története I. Az SAP R/1 és SAP R/2 rendszerek assembly nyelven íródtak ABAP/3 – SAP R/3-tól COBOL-hoz hasonló parancsok még mindig assembly kódok futnak (kétfázisú programok) ABAP/4 struktúrált, procedurális programnyelv (egyfázisú programok) 19.09.2018
Az ABAP nyelv története II. ABAP Objects Objektum-orientált fejlesztői környezet Web technológia ABAP kódok futtatása webes környezetben 19.09.2018
Az ABAP Workbench Az SAP grafikus fejlesztői környezete Az ABAP Workbench-en belül elérhető funkciók négy nagy csoportra osztva jelennek meg: Áttekintés – a workbench-el kezelt objektumok különböző szempontok szerinti megjelenítése Fejlesztés – a workbench-ben összefogott különböző fejlesztő eszközök Teszt – a fejlesztések tesztelésére szolgáló eszköztár Segédeszközök – a workbench által kezelt objektumok különböző paramétereinek, objektumainak kezelésére szolgáló eszközök 19.09.2018
Az ABAP Workbench A Workbench a következőkben nyújt segítséget ABAP/4 forráskód írása Képernyők szerkesztése grafikus szerkesztővel Menük létrehozása menü szerkesztővel Applikációk ellenőrzése, tesztelése Előredefiniált függvények használata Fejlesztés alatt lévő objektumok ellenőrzött elérése Előredefiniált adatbázis-információk elérése vagy létrehozása 19.09.2018
ABAP programozási modellek procedurális, struktúrált modell funkciós elemek alprogramok objektumorientált modell osztályok interfészek 19.09.2018
SAP kliens-szerver architektúra 19.09.2018
Kliens-server architektúra II. 19.09.2018
Applikációs szerver 19.09.2018
Applikációs szerver munkafolyamatai 19.09.2018
Egy alkalmazás struktúrája 19.09.2018
Egy ABAP program struktúrája Egy ABAP program legalább két részből áll: Deklarációs rész Utasítás blokk 19.09.2018
ABAP deklarációs rész Globális adat deklaráció Szelekciós képernyő DATA: g_vari type string. Szelekciós képernyő PARAMETERS: p_input type sy-datum. Osztályok definiálása CLASS lcl_event_receiver DEFINITION. PUBLIC SECTION. METHODS: handle_user_command FOR EVENT user_command OF cl_gui_alv_grid IMPORTING e_ucomm. PRIVATE SECTION. ENDCLASS. CLASS lcl_event_receiver IMPLEMENTATION. METHOD handle_user_command. PERFORM handle_user_command USING e_ucomm. ENDMETHOD. 19.09.2018
ABAP utasítás blokk Dialógus modul Esemény blokk Call screen 100. Modul screenmodul PBO. (Process befor output) Modul screenmodul PAI. (Process after Input) Esemény blokk Initialization. Perform alprogram. Start-of-selection. 19.09.2018
ABAP utasítás blokk Utasítás / Alprogram Utasítás: pl. :Write. Alprogram: PERFORM alprogram. Függvény: CALL FUNCTION függvény. Metódus: CALL METHOD metódus. 19.09.2018
ABAP program struktúrája II. 19.09.2018
Adatok listázása 19.09.2018
Listázás mintaprogram 19.09.2018
Adatok kivitele képernyöre 19.09.2018
Adatkivitel képernyőre mintaprogram 19.09.2018
ABAP programtípusok 1 - futtatható program M – modul pool F – funkciós elem K - Globális osztály definíció (ABAP OO) J – Globális interfész definíció (ABAP OO) S – alprogram pool I – Include program 19.09.2018
ABAP kifejezések és kulcsszavak Deklarációs kifejezések (TYPES, DATA…) Modularizációs kifejezések Esemény kulcsszavak (START-OF-SELECTION,…) Definíciós kulcsszavak (FORM..ENDFORM,….) Vezérlő kifejezések (IF, WHILE,CASE) Felhívó kifejezések (PERFORM, CALL,…) Műveleti kifejezések (WRITE, ADD,…) Adatbázis kifejezések (SELECT, INSERT,…) 19.09.2018
Adatobjektumok Azokat a fizikai egységeket , amiket egy ABAP kifejezés a futásidő alatt használ, belső adatobjektumoknak hívjuk. Egy ABAP kifejezés az objektum nevére hivatkozva dolgozik az adatobjektum tartalmával. Minden adatobjektumnak definiálni kell a következő technikai tulajdonságait: adattípus hossz tizedesjegyek száma 19.09.2018
Adattípus Az adattípus határozza meg, hogyan kezelje egy adott ABAP kifejezés az adatobjektum tartalmát. Adattípus definiálható Lokálisan a programban Data Dictionary-ben 19.09.2018
ABAP elemi adattípusok Előre definiált nem-numerikus elemi típusok: karakter string (C) numerikus karakter string (N) dátum (D) idő (T) hexadecimális (X) Előre definiált numerikus elemi típusok egész (I) lebegőpontos (F) pakolt (P) 19.09.2018
ABAP összetett adattípusok Struktúrák – adattípusok sorozata nincsenek előre definiált elemi struktúrák lokálisan vagy Data Dictionary-ben lehet definiálni munkaterületként is ezt használják Belső táblák Azonos típusú adatsorok sorozata Lokálisan vagy Data Dictionary-ben írható le: sortípus - bármilyen ABAP adattípus lehet (elemi,struktúra...) tábla kulcsa hozzáférés típusa (index, hash, unsorted) 19.09.2018
Felhasználói felületek fejlődése 19.09.2018
SAP segítség a programozáshoz A teljes SAP forráskód rendelkezésünkre áll Sturktúrált, könnyen áttekinthető és értelmezhető SAP standard programok Minta- és segédprogramok Többnyelvű, jól használható dokumentáció 19.09.2018
További segítségek SAP OSS rendszere (service.sap.com) programjavítások, programok tölthetők le hasznos tanácsok, információk a programfejlesztéshez SAP Developer Network (sdn.sap.com) minta- és példaprogramok gyakorló feladatok az SAP AG által moderált oldal 19.09.2018