Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Az ABAP fejlesztői környezet
Az SAP programozása 1.
Tarcsi Ádám
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 2
1. Fejlesztői környezet
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 3
Fejlesztői környezet
ABAP
▪ Allgemeiner Berichtsaufbereitungsprozessor
▪ Advanced Business Application Programming
JAVA
.Net konnektor
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
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 5
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. 6
ABAP program futása
Program
indítása
Adatbázis
tábla
ABAP Program
ABAP
blokk
ABAP
blokk
ABAP futtató környezet
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 7
Repository – fejlesztési objektumok tára
ABAP Repository
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 8
Client independent customizing
FI
Application
data
User
accounts
Client 900
Client dependent
Customizing
Client 901
CO TR PP PS BC PA KM FS PY …
Repository (tables, programs, function groups …)
Divided into development classes
Application
data
User
accounts
Client dependent
Customizing
Forrás: SAP UCC
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 9
Object navigator – Repository browser
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 10
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. 11
Dictionary objektumok - SE11
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 12
ABAP Development Workbench: Object navigator (SE80)
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 13
ABAP Development Workbench = ABAP fejlesztői környezet
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 14
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. 15
A fejlesztés folyamata
Fejlesztői
rendszer
DEV
Teszt
rendszer
QAS
Produktív (éles)
rendszer
PRD
SAP SAP
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 16
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. 17
Transzportálás
Módosítási kérelem
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 18
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!
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
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 20
2. Egyszerű példaprogram készítése
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 21
Program létrehozása – 1. – SE80
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 22
Program készítése – 2. – Objektum létrehozás
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 23
Program készítése – 3. - Programjellemzők
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 24
Program készítése – 4. – Üres program
Fejlesztői környezet
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 25
Browser-ek
Navigáció Munkaterület
Nyomógombsor
Ablakok felépítése
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 26
Menüsor Szimbólumsor
Nyomógombsor Címsor
Nyomógombsor az ABAP fejlesztői környezetben
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 27
Navigáció Módosítás /
megjelenítés váltókapcsoló
Aktív / inaktív változat
váltókapcsoló Másik objektum
Teljes képernyős
ki- / bekapcsolás Segítség
Töréspont
beállítása / törlése
Minta
beszúrása Pretty Priter
Ellenőrzés Felhasználás-
kimutatás
Objektumlista
megjelenítése
Navigációs ablak
megjelenítése
Aktiválás
Futtatás, tesztelés
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 28
Program készítése – 5. – Program megírása
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 29
Program készítése – 6: Hibakezelés
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 30
Program készítése – 7: Ellenőrzés (CTRL+F2)
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 31
Program készítése – 8: Futtatás (F8)
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 32
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. 33
Program készítése – 10: mentés és aktiválás
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 34
Megjelenítés
Módosítás
(CTRL+F1)
Vizsgálat
(CTRL+F2) Aktiválás
(CTRL+F3)
Közvetlen (F8)
- futtatás
Felhasználás-kimutatás
(CTRL+SHIFT+F3)
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 35
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. 36
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. 37
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. 38
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. 39
3. Tranzakciós kód készítése
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 40
SE93 – Tranzakció hozzárendelése a programhoz
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 41
SE93 – Tranzakció hozzárendelése a programhoz – 2.
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 42
4. Standard SAP program módosítás
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 43
Standard SAP program módosítása – elérési kulcs
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 44
5. Kérelem és csomag készítése
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
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 46
Csomag létrehozása
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 47
Kérelem létrehozása a csomaghoz
Tarcsi Ádám, ELTE Informatikai Kar: Az SAP programozása 1. 48
Csomaghozzárendelés módosítása