180 likes | 321 Views
PTE Természettudományi Kar Programtervező- és GazdaságInformatikus Szak 7624 Pécs, Ifjúság u. 6. http://www.ttk.pte.hu/. TTINFV21-22 SAP-ABAP 0. Gyakorlat Dr. Pauler Gábor egyetemi docens, PTE-TTK Információtechnológia és Általános Technika Tanszék Tel: 30 / 901 - 5488
E N D
PTE Természettudományi Kar Programtervező- és GazdaságInformatikus Szak 7624 Pécs, Ifjúság u. 6. http://www.ttk.pte.hu/ TTINFV21-22 SAP-ABAP 0. Gyakorlat Dr. Pauler Gábor egyetemi docens, PTE-TTK Információtechnológia és Általános Technika Tanszék Tel: 30/901-5488 E-mail: pauler@t-online.hu Skype: gjpauler
A gyakorlat tartalma • SAP R/3 bevezetés • Az SAP R/3 architektúrája • Alapok • Prezentációs réteg • Applikációs réteg • A WebAS 10 feladata • Adatbázis réteg • Az SAP telepítése • SAP R/3 NetWeaver demo szerver telepítés • SAP GUI Kliens telepítés • Kliens-szerver kapcsolat beállítása: • ELTE IDES, • Saját NetWeaver • Bejelentkezés az SAP-ba: • ELTE IDES, • Saját NetWeaver • Kliens-szerver kapcsolat beállítása, bejelentkezés: ELTE BSL • 0. Házi feladat: SAP kliens telepítés • Szakirodalom
Az SAP R/3 architektúrája: Alapok • Az SAP egy elosztott feldolgozást (Distributed Processing) végző kliens-szerver rendszer (Client-Server System): • Kiszolgáló/szerver (Server): egy központi, nagy teljesítményű számítógépen helyezkedik el a rendszer magja (Kernel) • Ez egyszerre több felhasználót (Multi-User) szolgál ki, akik ügyfeleken/klienseken (Client), kis teljesítményű, egyszerű PC-ken keresztül kapcsolódnak a szerverhez, általában interneten TCP-IP protokollon keresztül. Ezek a rendszer grafikus felhasználói felületét (Graphic User Interface, GUI) mutatják a felhasználónak, tehermentesítve a szervert a lassú kézi I/O műveletek időrabló lekezelésétől, így az a nagysebességű tömeges (Batch) feldolgozásra koncentrálhat. • Minél erősebb a kliens-szerver munkamegosztás, annál nagyobb hatékonyságnövekedés érhető el • Az SAP a kliens-szerver rendszereken belül is a fejlettebb fajtájukhoz tartozó 3 rétegű alkalmazás (3 Layer/Tier Application), ahol minden réteg a felette lévő számára szolgál szerverként, és az alatta lévő kliense, amely még nagyobb munkamegosztást és hatékonyságnövekedést tesz lehetővé, mint a két rétegű megoldás.
Az SAP R/3 architektúrája: Prezentációs réteg 1 • Az SAP legfelső rétege a prezetációs réteg(Presentation Layer): ez a rendszer többfelhasználós, távoli elérésű grafikus felhasz-nálói felülete. Lássuk az ezzel kapcsolatos alapfogalmakat: • SAP Kliensek (SAP GUI): az SAP telepíthető kliens-szoftvere • Felhasználói célra ez egy vastag kliens (Tchick Client): • Helyben is képes egyszerűbb kódokat futtatni, ezért nem terheli a szervert és a sávszélességet annyira • Viszont telepíteni, és időnként frissíteni kell • Programfejlesztésnél viszont vékony kliens (Thin Client): • Minden művelet a szerveren történik, csak grafikus felhasználói felületet ad • Ez viszont jobban terheli a szervert és jobb sávszélességet igényel • Munkaterület (Mandant): egy céghez, vagy szervezeti egysé-géhez az SAP által rendelt erőforrások összessége (munka-könyvtár, memória, processzoridő) az SAP szerveren • Néha megtévesztő módon ezt is kliensnek (Client) nevezik, de ez logikai kliens, és nem keverendő össze adott konkrét fizikai kliens PC-re feltelepített SAP GUI-val • Az SAP GUI-val mindig egy adott mandantba jelentkezhe-tünk be a szerverre, meg kell adnunk az azonosítóját, pl.: • 912: a PTE-TTK mandantja az ELTE által üzemeltetett SAP IDES tanszerveren
Az SAP R/3 architektúrája: Prezentációs réteg 2 • Az új mandantot egy új cég számára mindig minta (Temp-late) mandantból hozza létre a rendszer-adminisztrátor: • 000: általános mintavállalat template mandant, mandant-független alapbeállításokkal • 001: adott cég testreszabott template mandantja, cégfüggő beállításokkal, ebből generálja a működő mandantjait • 066: Az SAP early warning diagnosztikai mandantja • Tranzakció (Transaction): az adattárházban változásokat okozó, dialóguslépésekből álló algoritmus • Tranzakció ID az elsődleges kulccsal és névvel azonosított • A felhasználó indíthatja az SAP GUI-ról, vagy más futó tranzakció hívja meg • Dialóguslépés (Dialog, DynPro, Dynamic Program): a tranzakciókat felépítő 1 munkaképernyőből és azt működtető programkódból álló egység. A programkód lehet: • Process Before Output (PBO): a képernyő rajzolás előtt fut • Process After Input (PAI): a képernyőre adott felhasználói válasz után fut le
Az SAP R/3 architektúrája: Applikációs réteg • Logikai munkaegység (Logical Unit of Work, LUW) • Dialóguslépések részhalmaza, amely nem szakadhat félbe, különben a rendszer adatai korruptálódnak (pl. az egyik számlát megterheli, de a másikon már nem írja jóvá) • Vagy végrehajtódik, vagy hiba esetén visszavonható, ezért az érintett adatokat futása alatt zárolási rendszer védi, és visszavonáshoz biztonsági másolat készül róluk • Az SAP középső rétege az Applikációs réteg (Application Layer): • Ez egy vagy több applikációs szerverből (SAP Web Application Server, WebAS) áll: • Amiket az SAP 4.7-től kezdve NetWeaver-nek hívnak • A WebAS-ek száma szabadon növelhető, és meg tudják osztani egymás közt a hozzájuk csatlakozott SAP GUI-k felől érkező feladatokat, az átsákálázhatóság (Upscaling), a nagyobb méretű feladatok rendszer-változtatás nélkül történő elvégzése miatt • A WebAS-okon memória rezidens (Memory-Resident) programok futnak, amiket Windows-környezetben szolgáltatásoknak (Service), Unixban Démonoknak (Demon) nevezünk. Ezek látják el WebAS-ok 10 feladatát:
Az SAP R/3 architektúrája: A WebAS-ek 10 feladata 1 • 1. Kapcsolattartás az operációs rendszerrel, oprendszer interfészen keresztül • Célja platform független virtuális gépek (Virtual Machine) kezelése a hordozhatóság érdekében • POSIX szabvány írja le az operációs rendszer viselkedését az SAP számára • Product Availability Matrix (PAM) írja le, melyik SAP termék melyik oprendszer alól támogatott • Az SAP WebAS fejlesztési nyelve ANSI C és C++, újabban részben Java • 2. Kapcsolattartás a legalsó rétegben lévő adatbáziskezelővel, adatbázis interfészen keresztül • 3. Memória-menedzsment: a korlátozott RAM virtuális kiterjesztése merevlemezre • Lapozási (Paging) rendszer: a legutoljára használt adatot tartja memóriában, verem (Last In First Out, LIFO)-szerű feldolgozásoknál használatos • Görgetési (Scrolling) rendszer: a legutoljára használt adatot nyomja ki lemezre, sor (First In First Out, FIFO)-szerű feldolgozásoknál használatos
Az SAP R/3 architektúrája: A WebAS-ek 10 feladata 2 • 4. ABAP (Advanced Business Application Programming Language) nyelvű programok futtatása: ez egy 4. generációs, objektumorientált nyelv, amin keresztül a tranzakciók dialóguslépései programozhatók • 5. Transzportrendszer (Transport System, TS): szoftver- és ABAP kód frissítések átvitele a • Fejlesztői rendszer (Developer System) • Teszt rendszer (Test System) • Termelő rendszer (Production System) közt, amelyek külön mandantokban vannak • 6. A felhasználó által indított alkalmazások, tranzakciók dialóguslépései által generált munkafolyamatok (Process) lekezelése. Egy munkafolyamat részei: • Feladatkezelő: dialóguslépések felállítása • Dialógus értelmező: a dialógusok logikájáért felel • ABAP processzor: ABAP kód futtatása • Adatbázis interfész: ABAP adatszótár (Data Dictionary, DDIC), amely leírja az ABAP számára a legalsó, adatbázis rétegben található adattárház adatszerkezeteit A munkafolyamatok fajtái: • DIA Dialógus: Tranzakció azonnali munkafolyamathoz osztása • BGD Háttér: Nem sürgős tranzakciókat kötegekbe (Batch) fogják össze, azokat munkákba (Job), a munkaütemező (Job scheduler) futtatja őket • ENQ Lock: Erőforrás zárolások felépítése/feloldása több futó tranzakció közti konfliktus elkerülésére • SPO Spool: Anyagok nyomtatásra előkészítése • UPD Frissítés: Adatbázis frissítése
Az SAP R/3 architektúrája: A WebAS-ek 10 feladata 3 Prezentációs réteg Mandant01 Mandant02 SAP GUI01 SAP GUI02 Applikációs réteg WebAS01 WebAS02 Adatbázis réteg Adattárház • 7. Felhasználók kezelése • 8. Rendszerfelügyelet • 9. Nyílt szabványú kiegészítő szoftverekkel (XML, HTML, Java) történő kapcsolattartás • 10. Diszpécser folyamat (Dispatcher Process): ez a WebAS-ok és az SAP GUI közti kliens szerver kommunikációs folyamatokat vezérli. Ezek lépései: • Az SAP GUI-n egy tranzakció dialóguslépéséhez tartozó képernyő kirajzolásakor lefut az ezzel kapcsolatos ABAP-programkód (PBO) • Felhasználói input a dialógus-lépésbe (DynPro) • Lefut az utófeldolgozó ABAP-programkód (PAI) • A SAP GUI DIAG nyelvre fordítja az inputot, ami egy protokoll a felhasználói kéréseket átadására a diszpécser felé, interneten HTML protokoll és webszerver közbeiktatásával () • A diszpécser megkapja az SAP GUI-k felől az igényeket, szétallokálja a WebAS példányok közt • A WebAS DIA processzt hoz létre, lekezeli a DIAG nyelvű kérést és a DynPro ABAP kódjait, továbbítja a lekérdezést az adatbázis felé • Összegyűjti az eredményeket WebAS-októl és hasonló úton visszanyomja a SAP GUI felé () PBO (ABAP) User DynPro PAI (ABAP) DIAG Web Szerver Diszpécser DIA Process01 DIA Process02 Feladatkezelő DIAG-kezelő ABAP-kezelő ABAP Data Dict. Open SQL lekérdezés
Az SAP R/3 architektúrája: Az adatbázis réteg • A WebAS-on történő feladatmegosztás elég komoly optimalizációs logikát igényel, mert: • Egy diszpécser több dialógus folyamatot kezelhet: az rdirp/wp_no_dia rendszerparaméterrel állítható, hányat • Egy dialógus folyamat több felhasználót szolgálhat ki • Ha egy dialógus folyamat túl sok felhasználót szolgál ki, belassul • Ha viszont a WebAS túl sok dialógus folyamatot tart életben relatív kevés felhasználóra, nagy eszik a memóriát • Az SAP legalsó rétege az adatbázis réteg (Database Layer):Itt valamilyen fejlett relációs adatbáziskezelő található: • A WebAS elvileg függetleníteni tudja az SAP működését attól, hogy milyen oprendszeren milyen adatbáziskezelő van alatta (a gyakorlatban nem annyira) • Tradicionálisan ez Oracle, de a az SAP BusinessOne verziójában MSSQL, sőt elvileg IBM DB2 is támogatott (a gyakorlatban nem annyira)
A gyakorlat tartalma • SAP R/3 bevezetés • Az SAP R/3 architektúrája • Alapok • Prezentációs réteg • Applikációs réteg • A WebAS 10 feladata • Adatbázis réteg • Az SAP telepítése • SAP R/3 NetWeaver demo szerver telepítés • SAP GUI Kliens telepítés • Kliens-szerver kapcsolat beállítása: • ELTE IDES, • Saját NetWeaver • Bejelentkezés az SAP-ba: • ELTE IDES, • Saját NetWeaver • Kliens-szerver kapcsolat beállítása, bejelentkezés: ELTE BSL • 0. Házi feladat: SAP kliens telepítés • Szakirodalom
SAP R/3 Szerver telepítés • Az ELTE SAP IDES tanszerver használatához nem kell szervert telepíteni, csak klienset • Ha saját telepítésű és beállítású NetWeaver Demo szervert szeretnénk: • SAP NetWeaver ABAP demó letöltése (2.6GB) azftp://ftp.sap.com/pub/sdn/devkits/netweaver/abap/-ról, kb 2.5 óra éjjel • Rendszerkövetelmények: • Min. Windows XP Professional(SP2) vagy Windows Server 2003. • A számítógép hostneve ne legyen több 13 karakternél! • Min. 1.1 GHz CPU, de inkább 2GHz • Min. 1 GB RAM, de inkább 4GB • 22 GB átmeneti hely a merevlemezen,10 GB véglegesen • NTFS fájlrendszer. • 3200, 3600 és 8000 portok előzetes megnyitása a tűzfalon • Telepítés folyamata: • Rar-kitömörítés: 20-30 perc • Kapcsoljuk ki a Windows tűzfalat teljesen • Start.htm-el indít • Kb. 2 óra telepítés (közben imádkozhatunk rózsafüzért, hogy sikerüljön…).Még ha elakadtnak látszik, ne adjuk fel, amíg a merevlemez kerreg, más értelmes kijelzés a haladásról úgy sincsen! • Telepítés végén NEM zárjuk be a telepítő programot, mint ahogy javasolja, mert keresné a klienset, és nem találja, így hibával leállna!Ehelyett elkezdjük telepíteni a SAP GUI klienset:
SAP GUI kliens telepítés • ELTE SAP IDES tanszerverhez előkonfigurált kliens: • Ezt azoknak érdemes telepíteni, akiknek nem sima hallgatói, hanem emelt szintű fejlesztői jogosultságuk lesz, amelyen keresztül otthonról is elérhetik az SAP-t, nemcsak az A116-os laborból • SAP GUI 6.4 https://kecske167.elte.hu/ec/sapgui_640.zip letöltése, kicsomagolása (20perc) • A kicsomagolt sapgui4win/Setup.exe elindítása • Egyedi telepítés (Custom Setup) választása • SAP GUI/SAP GUI with sap logon - kiválaszt • SAP GUI/Shortcut to SAPlpd - kiválaszt, telepítés(5p) • A kicsomagolt Patches könyvtárban: • SETUP640_24-10001615.exe telepítése (1perc) • gui640_32-10001615.exe telepítése (1perc) • Saját NetWeaver Demo szerverhez általános beállítású kliens: • SAP GUI letöltése (0.3GB) a ftp://ftp.sap.com/pub/sdn/devkits/netweaver/abap/-ról, kb. 20 perc éjjel • Rar-kitömörítés, telepítés (0.5GB) kb. 30 perc • A szerver telepítőjét CSAK a kliens sikeres telepítése után zárjuk be, és csak ezután indítjuk újra a gépet, ha kért ilyet!
Kliens-szerver kapcsolat beállítása: ELTE IDES, Saját NetWeaver • Az E219-es laborból: • Az SAP GUI-k kapcsolata az ELTE SAP IDES-hez már be van állítva • ELTE SAP IDES-hez internetes kapcsolat beállítása: • Az IDES szervert ABAP programozás gyakorlására használjuk majd, a mudulok kezeléséhez ez nincs kellően beállítva! • Ha saját gépünkön a tűzfal a kimenő oldalt is figyeli, a 157.181.35.68 felé a 3210, 3299, 3310 portokat ki kell nyitni • Az SAP GUI SAP Logon-jának indítása a köz-ben települt ikonnal ( )|Egyéni beállítás gomb: • Megnevezés: ELTE IDES2 saprouter • Applikációs szerver: 157.181.35.68 • SAP-router-sztring: /H/157.181.35.68/H/ • Rendszer-ID: ECC • Rendszer száma: 10 • SAP verzió: R/3 • Mentés és bejelentkezés gomb (Ezek a paraméterek a C:/Windows/saplogon.ini fájlban tárolódnak.) • Saját NetWeaver Demo szerverhez történő helyi kapcsolat beállítása: • WebAS processz elindítása: Start|Programok| SAP NetWeaver 2004 Trial Version|NSP|Start Application Server • Az SAP GUI SAP Logon-jának indítása a köz-ben települt ikonnal ( )|Egyéni beállítás gomb: • Name: Bármi • Application server: localhost • System ID: NSP • System number: 00 Katt Katt Katt SAP-router-string: üres marad! Sikeres kapcsolódás után Windows tűzfalat visszakapcsoljuk, de 3210, 3299, 3310 portokat kinyitjuk, akkor is, ha minden 1 gépen van!
Bejelentkezés: IDES, Saját NetWeaver • SAP IDES, BSL szerverre E219 laborból/ internetről: • Mandant: 912 • Felhasználó: PTTK-EHAKOD (csak az 1. 6 kar.!) • Jelszó: ttkhallg00, a jelszót a belépés után azon- nal változtassuk meg (addig tovább sem enged) és ne felejtsük el, mert akkor odaveszik minden! • Saját NetWeaver Demo szerverre: • Mandant: 000 • User: BCUSER • Passw.: amit szerver telepítés során megadtunk • Ezek után megjelenik a SAP GUI főképernyő: Katt
Kliens-szerver kapcsolat beállítása, bejelentkezés: ELTE BSL • Az ELTE SAP Baseline Package (BLP): az SAP IDES szerver ELTE által teljesen Magyarországra szabott és összefüggő magyar mintaadatokkal feltöltött változata • Kapcsolódás az intézményi IP-s laborokból: • Az SAP GUI-k kapcsolódása a BSL-hez itt be van állítva • Kapcsolódás interneten/otthonról: • Ezt fogjuk használni az SAP-modulok kezelésének gyakorlásához, viszont az ABAP-programozási funkciók ebben le vannak tiltva! • Ha saját gépünkön a tűzfal a kimenő oldalt is figyeli, a 157.181.35.77 felé a 3205, 3305 portokat nyissuk • Az SAP GUI SAP Logon-jának indítása a települt ikonnal ( )|Egyéni beállítás gomb: • Megnevezés: SAPBaseline Package saprouter • Applikációs szerver: 157.181.35.77 • SAP-router-sztring: /H/157.181.35.67/H/ • Rendszer-ID: BSL, Rendszerszám: 05, Verzió: R/3 • Mentés és bejelentkezés gomb (a paraméterek a C:/Windows/saplogon.ini fájlban tárolódnak.) • Bejelentkezés (akár a laborokból, akár internetről): • Mandant: 912 • Felhasználó: PTTK-EHAKOD (csak az 1. 6 karakter!) • Ez a user az IDES usertől teljesen független, de célszerűen ugynazt a nevet használjuk a 2 helyen! • Jelszó: ttkhallg00, első belépéskor kérni fogja a váltást • Tartalom: Egy gyors példa a Magyarországra szabásra: • Indítsuk el az SPRO rendszer-testreszabás tranzakciót! • Nyomjuk meg a SAP Referencia IMG gombot! • A Vállalati struktúra|Hozzárendelés|Pénzügy|Vállalat társasághoz rendelése menüben láthatjuk, hogy 1000-es kóddal Budapesten is létre van hozva mintavállalat Katt Katt Katt Katt Katt Katt Katt Katt Katt Katt
0. Házi feladat: SAP kliens telepítés • Telepítsünk saját gépünkre SAP GUI-klienset a fent leírtak szerint, és próbáljuk ki a kapcsolatot az ELTE IDES és BSL szerverekkel, változtassuk meg jelszavunkat mindkét szerveren! (5p) • Ha saját gépén nem Win XP van, hanem Win 7, vagy Linux akkor ezt jelezze az oktatónak, mert ahhoz más verziójú SAP GUI telepítő jár!
Szakirodalom • Hivatalos SAP tanfolyamok:www.sap.hu/utemterv • Ingyenes webtanfolyamok, fórum, blog, e-konzultáció magyarul: • www.tudasmorzsak.hu • Angol nyelvű fórumok és tudásbázisok: • http://www.sap-img.com/abap.htm • http://erpgenie.com/ • http://help.sap.com/search/sap_trex.jsp • http://sap.ittoolbox.com/groups/technical-functional/sap-abap/