Bevezetés az SAP világába. 4. Az ABAP fejlesztıi környezet

Hasonló dokumentumok
Az ABAP fejlesztői környezet. Az SAP programozása 1. Tarcsi Ádám

ELTE SAP Excellence Center Oktatóanyag 1

2. Ismerkedés az SAP rendszerrel, a fejlesztői környezettel. Bevezetés az SAP világába Tarcsi Ádám, Zolnai László

ABAP dictionary objektumok SAP adatmodell Táblák kezelése. Az SAP programozása 1. Tarcsi Ádám

ELTE SAP Excellence Center Oktatóanyag 1

Bevezetés az SAP világába

Táblakezelés: Open SQL Internal table. Tarcsi Ádám: Az SAP programozása 1.

Bevezetés az SAP világába. 5. Kommunikációs és integrációs technológiák

Adatbázis Rendszerek II. 1. SQL programozási felületek 39/1B IT MAN

SAP vállalatirányítási rendszer alapjai /3

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

Fejlesztési specifikációk

Adatbáziskezelés alapjai. jegyzet

A szerzõrõl... xi Bevezetés... xiii

3. Ezután a jobb oldali képernyő részen megjelenik az adatbázistábla, melynek először a rövid nevét adjuk meg, pl.: demo_tabla

3. modul - Szövegszerkesztés

SAP vállalatirányítási rendszer alapjai

Az SQL*Plus használata

Adatbányászat és Perszonalizáció architektúra

Gyakorlatok. Megoldások. Fejezet céljai. Üzleti leírás. Tippek és trükkök. Figyelmeztetések. Gyakorlatok és megoldások szimbólumainak magyarázata:

MS ACCESS 2010 ADATBÁZIS-KEZELÉS ELMÉLET SZE INFORMATIKAI KÉPZÉS 1

BIRDIE. Business Information Reporter and Datalyser. Előadó: Schneidler József

Java I. A Java programozási nyelv

Data Integrátorok a gyakorlatban Oracle DI vs. Pentaho DI Fekszi Csaba Ügyvezető Vinnai Péter Adattárház fejlesztő február 20.

Mobil Telefonon Keresztüli Felügyelet Felhasználói Kézikönyv

Adatbázis-kezelés ActiveX vezérl kkel 2.rész

Kézikönyv. Szelekciós operátorok használata

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

JAVA SE/ME tanfolyam tematika

Adatbázis Rendszerek II. 5. PLSQL Csomagok 16/1B IT MAN

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Tranzakciókezelés PL/SQL-ben

Érintőképernyős terminálok NB sorozat

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

Fogalmak: Adatbázis Tábla Adatbázis sorai: Adatbázis oszlopai azonosító mező, egyedi kulcs Lekérdezések Jelentés Adattípusok: Szöveg Feljegyzés Szám

Java II. I A Java programozási nyelv alapelemei

Kézikönyv. EDI beállítások (SetUp)

Az Oracle Fusion szakértői szemmel

Adatelemzés SAS Enterprise Guide használatával. Soltész Gábor solteszgabee[at]gmail.com

Programozási technológia

ABB Teach Pendant programozás segédlet

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

munkafüzet open eseményéhez

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

Mutatók és címek (ism.) Programozás alapjai C nyelv 8. gyakorlat. Indirekció (ism) Néhány dolog érthetőbb (ism.) Változók a memóriában

Informatika tagozat osztályozóvizsga követelményei

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Kézikönyv. Nyitott tételek törzs

Egészítsük ki a Drupal-t. Drupal modul fejlesztés

Felhasználói kézikönyv. Verzió: 1.01

Szoftver labor III. Tematika. Gyakorlatok. Dr. Csébfalvi Balázs

TERC V.I.P. hardverkulcs regisztráció

INFORMATIKAI ALAPISMERETEK

Objektumorientált programozás C# nyelven

Példa webáruház kialakítás rendszerdokumentáció

Programozás alapjai C nyelv 8. gyakorlat. Mutatók és címek (ism.) Indirekció (ism)

A szoftverfejlesztés eszközei

A TERC VIP költségvetés-készítő program telepítése, Interneten keresztül, manuálisan

Választó lekérdezés létrehozása

Teszt terv Új funkció implementációja meglévı alkalmazásba

2 Access 2016 zsebkönyv

Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1

PMU Kezdı lépések. 1-0 Egy bit ki/be kapcsolása, érintı mezı (touch tag), funkció billentyő mezı (function key tag), lámpa mezı (lamp tag)

Python tanfolyam Python bevezető I. rész

Kézikönyv. Pénzügyi könyvelés releváns mezők a Standard kontírozásban

Adatbázis-lekérdezés. Az SQL nyelv. Makány György

Tartalomjegyzék 2. RENDSZER FELÉPÍTÉSE... 3

Webes alkalmazások fejlesztése

OOP. #6 (VMT és DMT) v :33:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

SAP vállalatirányítási rendszer alapjai /3-4

MVC. Model View Controller

ECDL képzés tematika. Operáció rendszer ECDL tanfolyam

Irányítástechnika Elıadás. PLC-k programozása

Közlemények kézi felvitele

Ügyviteli rendszerek hatékony fejlesztése Magic Xpa-val mobilos funkciókkal kiegészítve. Oktatók: Fülöp József, Smohai Ferenc, Nagy Csaba

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Java I. A Java programozási nyelv

Szolgáltatás Modellezés. Tivoli Business Service Management

Oracle9i Alkalmazás Szerver Üzleti folyamat integráció. Molnár Balázs Vezető értékesítési konzultáns Oracle Hungary

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

Komputeralgebra rendszerek

Haladó irodai számítógépes képzés tematika

Papír helyett elektronikus űrlap. Szabadság és interaktivitás az űrlapkezelésben

Komponens alapú fejlesztés

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Országos Területrendezési Terv térképi mel ékleteinek WMS szolgáltatással történő elérése, Quantum GIS program alkalmazásával Útmutató 2010.

A szürke háttérrel jelölt fejezet/alfejezet szövege a CD-mellékleten található. A CD-melléklet használata. 1. Elméleti áttekintés 1

Kézikönyv. Dinamikus szelekció készítése és a "tartomány" kapcsoló használata

Pentaho 4: Mindennapi BI egyszerűen. Fekszi Csaba Ügyvezető október 6.

Új komponens a Talend Palettán: Starschema SAP Connector. Csillag Péter, Földi Tamás Starschema Kft.

Hardver leíró nyelvek (HDL)

A polgármesteri hivatal informatikai rendszere a városirányítás szolgálatában

Tájékoztató a kollégiumi internet beállításához

LBRA6i integrált rendszer

SAP HR Általános lekérdező Ad-hoc-query

SAP vállalatirányítási rendszer alapjai /6-7

MAGYAR POSTA ZRT. ebérjegyzék. Felhasználói kézikönyv

Felhasználói kézikönyv a WEB EDInet rendszer használatához

Programozási nyelvek Java

Átírás:

Bevezetés az SAP világába Zolnai László zolnai@elte.hu http://zolnai.web.elte.hu/bev_sap.html 4. Az ABAP fejlesztıi környezet 1

Tartalom Fejlesztés SAP-ban Az ABAP ABAP Dictionary A fejlesztıi környezet Fejlesztés folyamata Példaprogramok 2 2

SAP Testreszabás eszközei A testreszabás hosszú folyamat A testreszabási feladatok lehetnek: Nagyon egyszerők Iparág specifikusak (bonyolultak) A vállalat szakértı felhasználói és az SAP tanácsadók közösen végzik IMG (Implementacion Guide) - Customizing elektronikus kézikönyv, a vállalati igényeket a speciális üzleti igényeknek felelteti meg 3 A testreszabás nagyon fontos eleme az SAP rendszer imlementációjának. A rendszer átvétele után, amikor az összes kiválasztott modul rendelkezésre áll, be kell állítani a rendszert. IMG - interaktív modell, projektek szervezésére, megvalósítására vonatkozó javaslatok automatikus létrehozását segíti. Segítik a tanácsadók munkáját speciális üzleti igényeknek megfeleltetı sablonok segítségével 3

Módosítás vs. bıvítés Egy objektumból csak egyetlen eredeti változat létezik az egész világon, minden további másolat A másolatokat módosítani veszélyes, mert ha az eredetit frissítik, akkor elágazik a fejlesztés Standard alkalmazások User-exitek és egyéb bıvítés Vásárlói programok Testreszabás Módosítás Kibıvítés Vásárlói fejlesztés IMG Abap Workbench 4 Standard módosítás a ügyfeles fejlesztık réme, mert egy patch bármikor felülcsaphatja a módosításaikat. A fejlesztık tartják a létrát a tanácsadóknak, hogy fent meszelhessenek. 4

Bıvítési lehetıségek User-exit Standard program által meghívott, customer namespaceben található eljárás Include structure Standard program által adatstruktúrába beágyazott vásárlói struktúra Append structure Vásárló általi struktúra kibıvítés, anélkül, hogy erre számított volna a standard fejlesztıje Subscreen A standard fejlesztı által felajánlott képernyıterület, melyre a vásárló mezıket helyezhet el Menu exit Menüstruktúra bıvítésére használható 5 User-exit Lukak a sztenderd kódban, saját programrészek beszúrására. Include structure DDIC-ben kiegészítés Append structure DDIC-ben hozzáfőzés Subscreen Rejtett mezık felfedése, esetleg képernyı terület beszúrása. (HR Infótípus módosítás) Menu exit Input kiegészítés 5

ABAP jelentése Allgemeiner Berichtsaufbereitungsprozessor Advanced Business Application Programming 6 Az SAP üzleti alkalmazás kernelje, A C-ben íródott rendszermag kivételével minden alkalmazást ABAP-ban írtak. ABAP magyarul: fejlett üzleti alkalmazás programozása ABAP németül: generic report preparation processor 6

ABAP jellemzıi 80-as években indult 4GL-nyelv Több nyelven elérhetı Beágyazott SQL-ek használata: Open SQL Lépést tartott a programozási paradigmaváltásokkal, típusos Objektum-orientált kiegészítéssel rendelkezik Platform-független Létezik JAVA,.Net konnektor 7 A 70 években a nyelv az R/2 rendszer makrófordítójaként mőködött, és kizárólag listák elıállítására lehetett használni. A 80 években alkalmassá tették üzleti alkalmazások fejlesztésére. A 90 évek óta, az R/3 rendszer megjelenésével az ABAP a negyedik generációba lépett. Az R/3-as rendszer 4.6-os verziójával megjelent az ABAP Objects, amely a klasszikus, procedurális ABAP objektumorientált továbbfejlesztése. OOP rugalmasabb használat. A 4GL eszköz: Futtatható állomány generálása, Objektumorientáltság, Grafikus felhasználói felület, Szabványosság és rugalmasság, Moduláris programfelépítés, Csoportmunka-támogatás, Segédprogramok JAVA fejlesztések: LSO, HR toborzás segítı programok (pl.: MÁV), Netweaver, ByDesigne A Bázis réteget (FI, HR, ) mái napig ABAP-ban fejleszik. 7

Transzport rendszer Módosítások átvezetése a rendszerek között Átvezethetık: Repository objektumok Customizing beállítások Package logikai rendezés Transport request átmeneti összerendelés 8 Transzport: Egy csoportosítás, csomagolás, mely az objektumok egyik rendszerbıl a másikba való másolásáért felelıs. 8

A fejlesztés folyamata Fejlesztıi rendszer DEV SAP Teszt rendszer TST SAP Produktív rendszer PRD 9 Fejlesztıi rendszer: saját fejlesztések létrehozása, customizing beállítások Teszt/Minıségbiztosítási rendszer: fejlesztések, beállítások tesztelése. (esetleges gyakorló rendszer) Produktív/Éles rendszer: ide már csak a letesztelt, kipróbált fejlesztések kerülhetnek be Taszk (feladat): A felhasználó által létrehozott vagy módosított objektumok listáját tartalmazza. a rendszer által egy automatikus számot kap. A rendszerben a SE03-as tranzakció alatt érhetjük el ıket. Változási kérelem: Egy olyan objektum, amely összefogja a taszkokat és információkat tárol a célrendszerrıl, a transzport típusáról, a kérés kategóriájáról stb. SU01 A release nem más, mint a taszkok módosításának a befejezése és a transzportra való engedély megadása. 9

Aktiválás Új Inaktív Aktív Aktív Átdolgozott Inaktív Aktív Idı 10 A fejlesztés nem lokálisan történik, hanem minden esetben egy központi szerveren, ahol egyszerre többen dolgoznak ugyan annak a programnak más-más részein. Így gyakran elıfordulhat, hogy ha valaki szintaktikai hibát vét, akkor a rendszer egy u.n. Short-Dump üzenettel tér vissza. Tehát a megoldás mindig, az utolsó stabil verzió használata. Erre szolgál az aktív/inaktív logikai kapcsoló, mely segítségével inaktív módban nyugodtan fejleszthetünk, mert mindenki más csak a legutolsó aktív verzióját látja a programrészünknek. 10

A fejlesztés lépései 1. Kérelem létrehozása 2. Csomag létrehozása (vagy lokális objektum, vagy a $TMP csomagba) 3. Új program létrehozása (SE80 v SE38) 4. Program elkészítése 5. Ellenırzés, debugger 6. Aktiválás 7. Tranzakciós kód hozzárendelése (SE93) 8. Kérelem átvitele a teszt rendszerbe 9. Tesztelés 10. Kérelem átvitele a produktív rendszerbe 11 Customer Namespace: Z, Y 11

Abap Workbench Abap Dictionary - (SE11) Adatdefiníciós eszköz Abap Editor - (SE38) Forráskódok szerkesztése, programok futtatása Abap Debugger - Hibakeresést tesz lehetıvé, a /h gyorsparanccsal indítható ScreenPainter - Képernyıtervek elkészítése. MenuPainter - Menüstruktúrák, GUI státuszok elkészítésére Class Builder - (SE24) Osztályok és interfészek definiálására alkalmas Function Builder - (SE37) Funkciós csoportok és modulok definiálására alkalmas Object Navigator - (SE80) Integrált fejlesztıi környezet, mely egyesíti a fentieket 12 Riportok = ABAP programok Funkciós csoportok (függvények), modulok, osztályok, interfészek Ezekhez tartoznak: Szövegelemek, Képernyıtervek, Menütervek, Címsorok 12

DDIC - Data Dictionary (SE11) Data Dictionary (Abap Dictionary) Milyen objektumok vannak? Domain Adatelem Tábla Struktúra Nézet 13 A táblamezık technikai definícióját a domének (pl. mezıtípus, mezıhossz, külsı formátum), szemantikai definícióját (pl. rövid megnevezés) pedig az adatelemek szolgálják. Több adatelemnek lehet ugyanaz doménje (pl. egy maszkolt darabszám vonatkozhat almákra, és traktorokra is). Struktúra Tábla egy sora, több mezı összefőzve, workarea Nézet View. Join-olt, összekapcsolt táblák Tábla karbantartó tranzakciók: SE16, SE16N, SM30, SM31 13

ABAP fejlesztıi környezet (SE80) 14 14

Fıbb objektumok Csomag Program Funkciócsoport Osztály / interfész Internet service Lokális objektumok BSP-alkalmazás Inaktív objektumok 15 Package: A csomagok egyfajta csoportosítása a repository elemeknek. Program: A standard ABAP programok találhatók itt Function Group: A funkciós modulok funkciós csoportok szerinti felsorolása függvenyek SE37 Class/Interface: Mivel objektum orientált ABAP-ról beszélünk, ezért itt láthatóak az osztályok Internet Service: Kölönbözı ITS szolgáltatásokat tartalmaz, ide tartoznak a Web szolgáltatások is Local Objects: Itt azok az objektumok találhatóak, amelyek csak a lokális szerveren tárolódnak, és nincsenek hozzárendelve transzportokhoz BSP Application: A Web Dynpro elıtti webes megoldás, mely ötvözi a régi ABAP-ot a HTML kóddal. 15

ABAP fejlesztıi környezet 16 Régi sztenderd (R/2) szerint ABAP kódok 72 hosszúak. De mára ez már tetszıleges. Komment a kommentben probléma sztori. 16

SE80 - funkció gombok Ceruza: Szerkesztı és megjelenítı mód közötti váltás Mérleg: Szintaktikai ellenırzést végez a programkódon Gyertya: Aktiválni/ inakvtiválni lehet vele a kódot Franciakulcs: Az aktuális programkódot futattja Vasvilla: Megmutatja, hogy az aktuális programot, milyen más objektum használja még fel. Stoptáblák: Külsı és belsı töréspontok elhelyezése Pattern: Elıre definiált programkódokat lehet vele a kódba beültetni Pretty Printer: A vizuális formázást valósítja meg 17 17

ABAP program futása 18 Az egyes rétegek közötti interakció egy program futása közben: PBO (process before output) PAI (process after input) 18

ABAP nyelvi elemei - elágazások IF <feltétel1>. <végrehajtási blokk> ELSEIF <feltétel2>. <végrehajtási blokk>... ELSE. <végrehajtási blokk> ENDIF. CASE <mezınév>. WHEN <érték1>. <végrehajtási blokk> WHEN <érték2>. <végrehajtási blokk>... WHEN OTHERS. <végrehajtási blokk> ENDCASE. 19 19

ABAP nyelvi elemei - Ismétlési szerkezetek DO [<n> TIMES]. <végrehajtási blokk> ENDDO. DO. <végrehajtási blokk> IF <kilépési feltétel>. EXIT. ENDIF. ENDDO. SELECT <mezınevek> FROM <tábla> <végrehajtási blokk> ENDSELECT. LOOP AT <belsı tábla> <végrehaajtási blokk> ENDLOOP. WHILE <feltétel>. <végrehajtási blokk> ENDWHILE. 20 Számláló ciklus Hátul tesztelıs ciklus Elöl tesztelıs ciklus Select adatbázistáblákból válogatásra Loop Belsı táblákon való mőveletekre Egyéb lehetıség: Get pernr (HR-ben használt eseménykezelés az egyes dolgozók feldobására logikai adatbázisból) 20

Tábla tartalmát kiíró kód REPORT Z_ELSO_01_PRG. DATA sv_flight TYPE sflight. WRITE 'A járat tábla tartalma:'. SELECT * FROM sflight INTO sv_flight WHERE paymentsum > 10000. NEW-LINE. WRITE: sv_flight-carrid, sv_flight-connid, sv_flight-price, sv_flight-seatsmax, sv_flight-seatsocc, sv_flight-paymentsum. ENDSELECT. 21 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. 21

Feldolgozási blokkok Esemény blokkok START-OF-SELECTION, INITIALIZATION, stb Alprogramok Form-ok Funkcióelemek Functions Method-ok Include-ok 22 Eseményblokkok: végrehajtható programoknál az ABAPfutásidırendszer egy meghatározott sorrendben átveszi az eseményblokkok meghívását, melyek egy listában jeleníthetık meg. Az eseményblokkok sorrendje a forráskódban indifferens. Alprogramok: interfészt tartalmazó programintern modularizáló egységek. A programok alprogramjai egy ABAP-utasítás segítségével bármely feldolgozási blokkból meghívhatók. Szubrutinok. Funkcióelemek: definiált interfészt tartalmazó, programokat átfogó modularizáló egységek. A funkcióelemek egy ABAP-utasítás segítségével bármely program bármely feldolgozási blokkjából meghívhatók. A metódusok az OOP ABAP. Include-ok: Ha többen fejlesztenek egy nagyobb programot hasznos, mert a különálló adatokat használ. Top Include Az includok által használt globális változókat, formokat enkapszulálja. 22

Elemi adattípusok Adattípus Leírás Kezdıérték Kezdı hossz I Integer 0 platform függı P Decimális adott tizedesjegyekkel 0 8 F lebegı pontos 0.000... platform függı N numerikus szöveg 000... 1 C szöveg (karakter) space 1 D dátum YYYYMMDD 00000000 8 T idı HHMMSS 000000 6 X hexadecimális X'00' 1 23 Mibıl épülnek fel a mezık adatelemei Adatelem: Más táblákban, struktúrában felhasználható elemi adattipusokból felepulı rekord tipusok Tulajdonságai: elemi tipus, hossza (tizedesjeggyel), keresési súgó Pl: HR-ben betrg (Betrag németül) = összeg, pernr (Personnummer németül) = SzTSz Személügyi TörzsSzám 23

Belsı táblák 24 A belsı táblák hasonló szerzetek az adatbázistáblákhoz, azzal a különbséggel hogy ezek a memóriába találhatók. Open SQL - ebben az esetben a programunk a fent említett adatbázis interfészen keresztül kapcsolódik. Automatikusan kiegészíti a Mandanttal a lekérdezést. Natív SQL - a program közvetlenül az adatbázishoz kapcsolódik. 24

Dictionary objektumok - SE11 25 Adatbázistábla, Nézet, Adattípus, Típuscsoport, Domén, Keresési segítség, Zárolási objektum Struktúra nézet: Mezı neve, Kulcs, Inic. Értékek, Adatelem, Adattípus, Hossz, TízJegy., Rövid megnev. 25

Képernyık - Dynprok Kapcsolattartás a felhasználóval, adatok bevitele, megjelenítése, módosítása. Egyszerően programozható, nyomtatással kevéssé kell foglalkozni, HTML konvertálás automatikus. Fajtái: Lista - List Szelekciós képernyı Selection screen Képernyı - Screen 26 26

Képernyık I. - Write lista 27 27

Képernyık II. - ALV lista 28 Sorki-választás (dupla kattintás): AT-LINE SELECTION Fejléc Menüsor Oszlop-beállítások, layout 28

Képernyık III. Selection screen 29 Adat-bevitel Késıbbi feldolgozásra adat kiválasztás Keresés és beviteli segítség Ált. köztes képernyı 29

Képernyık IV. Screen 30 Menü és eszköztár Beviteli segítség Tervezhetı képernyı Több ablakos programok egymást hívhatják: CALL SCREEN 30

Screen painter SE52 31 31

Képernyık V. Smart Forms 32 Pl.: Adóbevallás őrlap 32

Összefoglalás Fejlesztés SAP-ban DEV -> TST -> PRD Fejlesztı környezet (SE80) ABAP program felépítése Belsı táblák Megjelenítés 33 Milyen mélységő változtatásra van szükség? Transzport folyamatok Menük, gombok, aktív/inaktív Tábla szőrés, feldolgozás, kiíratás (PBO, PAI) Memóriában az adatbázis Dynpro, listák, smart forms 33

SAP doesn't hire developers. It initializes them Köszönöm a figyelmet! Zolnai László zolnai@elte.hu 34 34