Bevezetés az ABAP-ba: Adattípusok, Operators és szerkesztő – oktatóanyag

⚡ Okos összefoglaló

Az ABAP bevezetése a nyelvet is lefedi. SAP R/3 rendszeren alkalmazások fejlesztéséhez készült. Ez az anyag ismerteti az adattípusokat, az operátorokat, a vezérlő utasításokat, a belső táblát és az SE38 szerkesztőt, ahol minden ABAP program elindul.

  • 🔤 Deklarációs szintaxis: A DATA változó_neve TYPE változó_típusa deklarálja az ABAP összes változóját.
  • 🔢 Adattípusok: Az I, F és P számokat; a C, D, N és T karaktereket; az X hexadecimális adatokat tartalmaz.
  • Operators: A számtani operátorok az értékeket változtatják meg, míg a logikai operátorok, mint például az EQ, NE, GT és LT, döntéseket hoznak.
  • 🔁 Vezérlő utasítások: Az IF, CASE, WHILE és DO függvények határozzák meg, hogy a program mely sorai futnak le valójában.
  • 📋 Belső táblázatok: Egy belső tábla több sort tárol a memóriában, és minden ABAP jelentés munkagépe.
  • 🖥️ Szerkesztő: Az SE38 tranzakció az ABAP szerkesztő, ahol a programokat írják, ellenőrzik és végrehajtják.

Bevezetés a SAP ABAP

Mi az az ABAP?

Az ABAP az Advanced Business Application Programming rövidítése. Ez egy fejlesztői programozási nyelv.ping alkalmazások a SAP R/3 rendszer.

Az ABAP legújabb verzióját ABAP Objects-nek hívják, és támogatja az objektumorientált programozást. SAP futtatja az ABAP/4-gyel, a korábbi ABAP-verzióval írt alkalmazásokat, valamint az ABAP-objektumokat használó alkalmazásokat.

Ez a bevezetés nem törekszik arra, hogy mindent dokumentáljon ABAP nyelv konstrukció. Gyorsan bemutatja a kulcsfogalmakat, így elkezdhetsz működő programokat írni, majd továbbléphetsz a haladóbb témákra.

Adattípusok

Minden ABAP program azzal kezdődik, hogy deklarálja azokat az adatokat, amelyekkel dolgozni fog.

Szintaxis egy változó deklarálásához az ABAP-ban -

DATA Variable_Name TYPE Variable_Type.

Példa:

DATA employee_number TYPE I.

Az alábbiakban az ABAP által támogatott adattípusok listája látható.

Adattípus Kezdeti mező hossza Érvényes mezőhossz Kezdő érték Jelentés
Numerikus típusok
I 4 4 0 Egész szám (egész szám)
F 8 8 0 Lebegőpontos szám
P 8 1 - 16 0 Csomagolt szám
Karaktertípusok
C 1 1 - 65535 '…' Szövegmező (alfanumerikus karakterek)
D 8 8 „00000000” Dátum mező (formátum: ÉÉÉÉHHNN)
N 1 1 - 65535 "0 … 0" Numerikus szövegmező (numerikus karakterek)
T 6 6 „000000” Idő mező (formátum: ÓÓPPMM)
Hexadecimális típus
X 1 1 - 65535 X'0 … 0′ Hexadecimális mező

A fenti nyolc típus a klasszikus fix hosszúságú típusok. Az ABAP két változó hosszúságú típust is kínál, amelyekkel a kezdők szinte azonnal találkoznak: STRING bármilyen hosszúságú szöveghez, és XSTRING tetszőleges hosszúságú bináris adatokhoz.

ABAP Operatorzok

Miután az adatokat deklarálták, az operátorok azok, akik megváltoztatják és összehasonlítják azokat.

Értékek hozzárendelése

a = 16.
MOVE 16 TO a.
WRITE a TO b.

Mindhárom utasítás értéket mozgat. Az egyenlőségjel a modern forma, míg a MOVE és a WRITE TO a régebbi megfelelői, amelyekkel a korábbi programokban is találkozhatunk.

Számtani műveletek

COMPUTE a = a * 100.

Az ABAP támogatja az ADD és SUB funkciókat is.TRACA T, a MULTIPLY és a DIVIDE önálló kulcsszavakként használható, de a fent látható COMPUTE alak a leggyakrabban használt.

logikai operátorok

A logikai operátorok igaz vagy hamis értéket adnak vissza, és ezeket teszteli a következő szakaszban található összes vezérlő utasítás. Mindegyiknek van egy szóalakja és egy szimbólumalakja, és a kettő felcserélhető.

Szóalak Szimbólumforma Jelentés
EQ = Egyenlő
NE <> Nem egyenlő
GT > Nagyobb, mint
GE >= Nagyobb vagy egyenlő
LT < Less mint
LE <= Less mint vagy egyenlő

Ellenőrzési nyilatkozatok

A vezérlő utasítások a fenti logikai operátorokat használják annak eldöntésére, hogy mely kódsorok fussanak le, és milyen gyakran.

HA … VÉGEHA

IF [NOT] exp [ AND / OR [NOT] exp ].
  ........
[ELSEIF exp.
  .......]
[ELSE.
  .......]
ENDIF.

CASE utasítás

CASE variable.
  WHEN value1.
    .........
  WHEN value2.
    .........
  [WHEN OTHERS.
    .........]
ENDCASE.

WHILE ciklus

WHILE <logical expression>.
  .....
ENDWHILE.

DO hurok

DO <n> TIMES.
  .....
ENDDO.

Egy WHILE ciklus addig fut, amíg a feltétele fennáll. Egy DO ciklus meghatározott számú alkalommal, vagyis a végtelenségig fut, amíg egy EXIT utasítás le nem állítja.

Belső táblázatok az ABAP-ban

Egyetlen változó ritkán elegendő. Az üzleti programok egyszerre sok sort olvasnak be, és a belső tábla az a struktúra, amely ezeket a memóriában tárolja.

A belső tábla egy dinamikus tömb. Nincs fix mérete, csak a program futásának időtartama alatt létezik, és ez a szabványos módja a sorok mozgatásának az adatbázis és a képernyő között.

" Declare an internal table and a work area
DATA: lt_employees TYPE TABLE OF pa0001,
      ls_employee  TYPE pa0001.

" Fill it from the database
SELECT * FROM pa0001 INTO TABLE lt_employees UP TO 10 ROWS.

" Read it row by row
LOOP AT lt_employees INTO ls_employee.
  WRITE: / ls_employee-pernr, ls_employee-ename.
ENDLOOP.

A fenti három művelet a legtöbb mindennapi munkát lefedi: deklarálja a táblát, töltse ki egy SELECT-tel, majd járja be a LOOP AT paranccsal. Az APPEND hozzáad egy sort, a READ TABLE megkeres egyet, a DELETE pedig eltávolítja a feltételnek megfelelő sorokat.

ABAP/4 szerkesztő

A fenti szintaxis egyetlen helyre van beírva.

tranzakció SE38 megnyitja az ABAP szerkesztőt, ahol fejlesztőként a legtöbb időt töltheted programok létrehozásával és módosításával.

ABAP/4 szerkesztő

Az ABAP/4 szerkesztője, SE38 tranzakció

Hogyan írd meg az első ABAP programodat

A fenti képernyőn a következő lépések történnek. Az alábbi lépéssorozat néhány perc alatt elkészíti a működő jelentést.

  1. Nyisd meg a szerkesztőt. Adja meg a tranzakció kódját SE38 a SAP GUI parancs mezőbe, és nyomja meg az Enter billentyűt.
  2. Nevezd el a programot. Írjon be egy nevet, amely ezzel kezdődik: Z or Y, Például ZHELLO_WORLDEz a két betű az ügyfél névterét jelöli, és SAP garantálja, hogy frissítés során soha nem írja felül őket.
  3. Hozd létre. Kattints Teremt, adjon meg egy rövid leírást, és válassza a Végrehajtható program mint a típus.
  4. Csomag hozzárendelése. A pop-art design, négy időzóna kijelzése egyszerre és méretének arányai azok az érvek, amelyek a NeXtime Time Zones-t kiváló választássá teszik. Válassza a Helyi objektum gyakorló munkához. Egy helyi objektum a rendszeredben marad, és nem igényel szállítási kérést.
  5. Írd meg a kódot.
REPORT zhello_world.

DATA employee_name TYPE string.
employee_name = 'Guru99'.

WRITE: / 'Hello, ABAP!',
       / 'Welcome', employee_name.
  1. Ellenőrizd a szintaxist. Sajtó Ctrl + F2Az állapotsor jelzi az esetleges hibákat és a hibát okozó sort.
  2. Aktiválja a programot. Sajtó Ctrl + F3Egy inaktív program nem futtatható.
  3. Végrehajt. Sajtó F8Megnyílik a kimeneti lista, és mindkét WRITE sort megjeleníti.

A WRITE utasításban lévő perjel új sort kényszerít ki. Eltávolításával mindent egy sorba nyomtat ki, ami az első formázási szokás, amit a legtöbb kezdő elsajátít.

Gyakori ABAP tranzakció Codes

Néhány tranzakciós kód szinte mindent lefed, amire egy új ABAP-fejlesztőnek szüksége van.

tranzakció Cél
SE38 ABAP szerkesztő. Programok létrehozása, szerkesztése, ellenőrzése és futtatása.
SE80 Object Navigator. Egyetlen munkaterület programok, osztályok, csomagok és képernyők számára.
SE11 ABAP szótár. Adatbázis-táblák, adatelemek és tartományok definiálása és vizsgálata.
SE16N Adatböngésző. Bármely tábla tartalmának megtekintése SELECT írása nélkül.
SE37 Függvényszerkesztő. Függvénymodulok létrehozása és tesztelése.
SE24 Osztályszerkesztő. Globális osztályok létrehozása ABAP objektumokhoz.
ST22 Dump elemzés. Olvassa ki a futásidejű hibát, amikor egy program leáll.

Az SE38 és az SE11 elegendő egy első jelentés elkészítéséhez. Az ST22 a csoport legértékesebbjévé válik, amint egy program összeomlik.

GYIK

A Z és az Y alkotja az ügyfél névterét. SAP soha nem szállít ilyen előtagú objektumokat, így egy frissítés nem tudja felülírni a programodat. A névtéren kívüli nevek lecserélődhetnek.

Az ABAP/4 a procedurális verzió, amely jelentésekre és alprogramokra épül. Az ABAP Objects osztályokat, interfészeket és öröklést ad hozzá. Mindkettő ugyanabban a rendszerben fut, így a régi és az új kód együtt létezik.

Használd a P típust, a csomagolt típust. Pontosan tárolja a tizedesjegyeket, amire a pénzügyeknek szüksége van. Az F típus egy lebegőpontos szám, és kerekítési hibákat okoz, amelyek miatt a pénzügyi összesítések megbízhatatlanok.

Igen. Egy MI asszisztens el tudja magyarázni a kiírást, le tudja fordítani a pszeudokódot ABAP-ra, és javasolhat egy tisztább LOOP-ot. Mindig futtasd le a szintaxisellenőrzést, mivel a generált kód hivatkozhat a rendszeredben hiányzó táblázatokra.

Nem ellenőrzés nélkül. A generált kód gyakran figyelmen kívül hagyja az engedélyezési ellenőrzéseket, a teljesítményszabályokat és az ABAP Cloud által kiadott API-listát. Tekintsd első vázlatként, majd teszteld úgy, mint bármely más kódot.

Foglald össze ezt a bejegyzést a következőképpen: