Az ABAP fejlesztői környezet
Az SAP programozása 1. Tarcsi Ádám
1. Fejlesztői környezet
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
2
Fejlesztői környezet
ABAP ▪ Allgemeiner Berichtsaufbereitungsprozessor ▪ Advanced Business Application Programming
JAVA .Net konnektor
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
3
Fejlesztés
SAP Web Application Server: Prezentációs réteg: JSP, BSP, Web Dynpro Business / üzleti réteg: ABAP, Java, .NET Integrációs réteg: SAP AS Connectivity réteg: HTTP, HTTPS, SOAP, SSL, SMTP FastCGI - Adatbázis réteg: adatbázis elérés, Open SQL, JDBC -
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
4
ABAP
80-as években kezdődött Típusos, Moduláris, Negyedik generációs nyelv, Beágyazott SQL használata: Open SQL / Natív SQL, Elrejti az adatbázist és a felhasználói interfészt is, Objektum-orientált kiegészítéssel is rendelkezik, Platform-független, Szintaktikailag hasonlít a COBOL-ra, Pascal-ra, Interpreter nyelv, Eseményvezérelt utasításokkal rendelkezik, Üzleti folyamatok, az SAP rendszermag fejlesztésére egyaránt alkalmas.
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
5
ABAP program futása
Program indítása
ABAP Program ABAP blokk
Adatbázis tábla
ABAP blokk
ABAP futtató környezet
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
6
Repository – fejlesztési objektumok tára
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
7
ABAP Repository
Client 900
Client 901
Application data
Application data User accounts
User accounts
Client dependent Customizing
Client dependent Customizing
Client independent customizing
Repository (tables, programs, function groups …) Divided into development classes FI
CO
PP
TR
PS
PY
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
BC
KM
PA
FS
Forrás: SAP UCC
… 8
Object navigator – Repository browser
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
9
ABAP Dictionary (SE11)
▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪
Adatelem Struktúra Domain Adatbázistábla Nézet Osztályok / Interfészek Keresési segítség Zárolási objektum
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
10
Dictionary objektumok - SE11
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
11
ABAP Development Workbench: Object navigator (SE80)
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
12
ABAP Development Workbench = ABAP fejlesztői környezet
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
13
Fejlesztői környezet – Object Navigator (SE80)
▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪ ▪
Alkalmazási hierarchia Csomag Program Funkciócsoport Osztály / interfész Internet service Lokális objektumok BSP-alkalmazás Inaktív objektumok
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
14
A fejlesztés folyamata
Fejlesztői rendszer DEV
Produktív (éles) rendszer PRD
Teszt rendszer QAS SAP
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
SAP
15
A fejlesztés lépései
1. Kérelem létrehozása 2. Csomag létrehozása 3. Domain-ek készítése 4. Adatelemek létrehozása 5. Tábla létrehozása 6. Új program létrehozása 7. Program elkészítése 8. Ellenőrzés 9. Aktiválás 10. Tranzakciós kód hozzárendelése 11. Kérelem átvitele a teszt rendszerbe 12. Tesztelés 13. Kérelem átvitele a produktív rendszerbe Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
16
Transzportálás
Módosítási kérelem
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
17
Elnevezési konvenciók
Vevői program és egyéb objektum (néhány kivételtől eltekintve) csak Z* vagy Y* betűvel kezdődhet. ▪ Oka: SAP frissítés vagy bugfix esetén a módosítások problémát, összeakadást okozhatnának!
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
18
Mielőtt elkezdenénk fejleszteni?
Fejlesztés előtt nem kötelező csomagot készítneni. Ilyenkor a fejlesztési objektumok a $TMP csomagba kerülnek, azaz lokális objektumok lesznek. Ebben az esetben azonban nem transzportálhatóak át más, az éles rendszerbe.
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
19
2. Egyszerű példaprogram készítése
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
20
Program létrehozása – 1. – SE80
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
21
Program készítése – 2. – Objektum létrehozás
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
22
Program készítése – 3. - Programjellemzők
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
23
Program készítése – 4. – Üres program
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
24
Fejlesztői környezet
Nyomógombsor
Browser-ek
Navigáció
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
Munkaterület
25
Ablakok felépítése
Menüsor Szimbólumsor Címsor Nyomógombsor
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
26
Nyomógombsor az ABAP fejlesztői környezetben
Navigáció
Módosítás / megjelenítés váltókapcsoló
Aktív / inaktív változat váltókapcsoló
Másik objektum
Aktiválás Futtatás, tesztelés
Ellenőrzés
Teljes képernyős ki- / bekapcsolás
Felhasználáskimutatás
Segítség
Objektumlista megjelenítése Töréspont beállítása / törlése
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
Navigációs ablak megjelenítése
Minta beszúrása
Pretty Priter 27
Program készítése – 5. – Program megírása
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
28
Program készítése – 6: Hibakezelés
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
29
Program készítése – 7: Ellenőrzés (CTRL+F2)
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
30
Program készítése – 8: Futtatás (F8)
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
31
Program készítése – 9: Mentés és aktiválás (CTRL+F3)
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
32
Program készítése – 10: mentés és aktiválás
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
33
Felhasználás-kimutatás (CTRL+SHIFT+F3) Vizsgálat (CTRL+F2) Megjelenítés Módosítás (CTRL+F1)
Közvetlen (F8) - futtatás Aktiválás (CTRL+F3)
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
34
Első program: Típus és adatdeklaráció
TYPES: NEV_TIPUS(20) TYPE C. TYPES: CIM_TIPUS(50) TYPE C, BEGIN OF VEVO_TIPUS, NEV TYPE NEV_TIPUS, IR_SZAM TYPE I, CIM TYPE CIM_TIPUS, END OF VEVO_TIPUS. DATA VEVOK_SZAMA TYPE I. " Ez INTEGER típusú DATA VEVO TYPE VEVO_TIPUS. " Egy struktúra DATA UDVOZLET(23) TYPE C VALUE 'Szép jó napot,'. WRITE: Udvozlet, 'Ádám!', VEVOK_SZAMA, VEVO-IR_SZAM.
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
35
Második program
REPORT Z_ELSO_01_PRG. * Megjegyzés DATA sv_flight TYPE sflight. "Megjegyzés 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-fldate, sv_flight-price, sv_flight-seatsmax, sv_flight-seatsocc, sv_flight-paymentsum. ENDSELECT. Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
36
Harmadik program: Return code (sy szerkezet) PARAMETERS pa_carr TYPE scarr-carrid.
DATA wa_scarr TYPE scarr. WRITE 'A keresett adatok: '. SELECT SINGLE * FROM scarr INTO wa_scarr WHERE carrid = pa_carr. IF sy-subrc EQ 0. NEW-LINE. WRITE: wa_scarr-carrid, wa_scarr-carrname, wa_scarr-url. ELSE. WRITE: 'Nem találtam a szelekciónak megfelelő rekordokat!'. ENDIF. Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
37
Fejlesztői segítségek
Online fejlesztői kézikönyv példákkal és egy példavállalattal. SAP Community (Developer) Network https://www.sdn.sap.com Letöltések: https://www.sdn.sap.com/irj/sdn/downloads SAP NetWeaver 7.0 ABAP Trial Version
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
38
3. Tranzakciós kód készítése
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
39
SE93 – Tranzakció hozzárendelése a programhoz
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
40
SE93 – Tranzakció hozzárendelése a programhoz – 2.
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
41
4. Standard SAP program módosítás
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
42
Standard SAP program módosítása – elérési kulcs
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
43
5. Kérelem és csomag készítése
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
44
Kérelem és csomag
A csomagba kell rakni a fejlesztés összes objektumát: domain, adatelem, tábla, program, stb. Kérelem fogja össze a szállítandó csomagokat. Egy kérelem egy fejlesztési projektet foghat össze és több csomagot is tartalmazhat. A rendszerek közötti mozgatást segíti elő. Úgy értelmzhetőek, hogy a csomagok a leszállítandó áruk és a kérelem a szállítólevél. Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
45
Csomag létrehozása
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
46
Kérelem létrehozása a csomaghoz
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
47
Csomaghozzárendelés módosítása
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1.
48