SAP ABAP belső táblázat: Létrehozás, olvasás, feltöltés, másolás és amp; Töröl

Tartalomjegyzék:

Anonim

Mi az a belső asztal?

A BELSŐ TÁBLÁZAT segítségével rögzített struktúrából nyerhetünk adatokat az ABAP dinamikus használatához. A belső táblázat minden sorának ugyanaz a mezőszerkezete. A belső táblák fő célja az adatbázis-táblából származó adatok tárolása és formázása egy programon belül.

Ebben az oktatóanyagban megtudhatja:

  • Mi az a belső asztal?
  • Mi az a munkaterület?
  • Különbség a belső asztal és a munkaterület között?
  • A belső táblák típusai
  • Belső táblák készítése
  • Belső táblák feltöltése
  • Belső táblák másolása
  • Belső olvasás
  • Belső táblák törlése

Mi az a munkaterület?

A munkaterületek egyetlen adatsorok. A formátumnak meg kell egyeznie a belső táblák bármelyikével. Egy belső táblában lévő adatok feldolgozására szolgál soronként.

Különbség a belső asztal és a munkaterület között?

Egy kép ezer szót mond :-)

A belső táblák típusai

Kétféle belső táblázat létezik.

  1. Belső táblák HEADER vonallal
  2. Belső táblák HEADER sor nélkül.

Belső táblák fejléccel

  • Itt a rendszer automatikusan létrehozza a munkaterületet.
  • A munkaterületnek ugyanaz az adattípusa, mint a belső táblának.
  • Ezt a munkaterületet HEADER vonalnak hívják.
  • Itt történik a táblázat tartalmának minden módosítása vagy bármely művelet végrehajtása. Ennek eredményeként a rekordok közvetlenül beilleszthetők a táblába, vagy közvetlenül a belső táblából érhetők el.

Belső asztalok fejléc nélkül :

  • Itt nincs a munkaterület társítva a táblához.
  • A munkaterületet kifejezetten meg kell határozni, amikor ilyen táblákhoz kell hozzáférnünk.
  • Ezért ezek a táblák nem érhetők el közvetlenül.

Belső táblák készítése

A belső tábla létrehozásának számos módja van. Nézzük meg őket egyenként -
1. A Type utasítás használatával
hozzunk létre egy belső tábla itabot a TYPE utasítással.
A szintaxis -

Típusok: sor kezdete,1. oszlop, I. típus,2. oszlop, I. típus,a sor vége.

Példa:

TÍPUSOK: a sor eleje,empno I típus,empname (20) c típus,a sor vége.

A TYPES utasítás létrehoz egy struktúra vonalat a definiált módon.
A belső tábla itab tényleges létrehozásához használja a következő parancsot:

Data itab típusú sor fordul elő 10.

Egy belső tábla itab jön létre a vonal felépítésével. A belső tábla felépítésének deklarálása mellett az OCCURS záradék azt is meghatározza, hogy hány tábla bejegyzést tartanak fenn a fő tárolóban (ebben az esetben 10). Az extra rekordok ki vannak írva a
lapozóterületre, és hatással lehetnek a 2. teljesítményre . Másik
táblára hivatkozva létrehozhat egy belső táblát egy meglévő táblára hivatkozva. A meglévő tábla lehet egy szabványos SAP, egy Z vagy egy másik belső tábla.
Szintaxis-

Adatok   [fejlécsorral].

Példa-

ADATOK itab TÍPUS sor 10 ELKERÜL fejlécsorral.

Itt egy belső tábla itab jön létre a típussorból, fejlécsorral. Felhívjuk figyelmét, hogy a "fejlécsorral" opcionális 3. A
meglévő struktúra-
szintaxisra hivatkozva

Az  LIKE  adatok n [fejlécsorral] fordulnak elő.

Példa-

ADATOK itab LIKE sline TÖRVÉNYEK 10.

Itt egy itab tábla jön létre, amelynek szerkezete megegyezik a 4. sline
struktúrájával. Új struktúra létrehozásával
Hozzunk létre most egy belső táblázatot saját struktúrával. Itt a táblázat alapértelmezés szerint egy Header sorral jön létre .
Szintaxis -

Adatok:  kezdete  történik,,…, vége.

Példa -

Adatok: Az itab kezdete 10,1. oszlop, I. típus,2. oszlop (4) C típus,3. oszlop, mint mara-ernam,Itab vége.

Belső tábla itab jön létre

Belső táblák feltöltése

Most, hogy sikeresen létrehoztunk néhány belső táblát, nézzük meg, hogyan töltsük fel őket néhány rekorddal. Különböző módszerek állnak rendelkezésre az 1. táblázatok feltöltésére. Adatok hozzáfűzése soronként Az első rendelkezésre álló módszer az APPEND utasítás használata.
Az APPEND utasítás segítségével vagy hozzáadhatunk egy sort egy másik munkaterületről a belső táblához, vagy hozzáadhatunk egy kezdeti sort a belső táblához ...
Szintaxis -
MELLÉKLET [ TO / INITIAL LINE TO] 
Itt a munkaterület vagy a kezdő sor hozzáfűzhető az belső táblához.
Az SY-TABIX rendszerváltozó tartalmazza a csatolt sor indexét.
Példa:
Adatok: Az itab kezdete 10,col1 C típus,col2 I. típus,itab vége.Csatolja a kezdő sort az itab-hoz.

Eredmények: A '' '0' '
kezdeti sorok hozzáadnak egy, a típusának megfelelő értékkel inicializált sort a táblához. Itt a col1 egy karakter, a col2 pedig egy egész szám. Ezután hozzáfűzi a kezdő sort, hozzáad egy sort, amely inicializálódik az oszlopok adattípusához, azaz a col1 és 0 a col2 helyhez. 2. A COLLECT utasítás használata ACOLLECT egy másik állítási forma, amelyet a belső táblák feltöltésére használnak. Általában a COLLECT funkciót használjuk, miközben vonalakat illesztünk egy egyedi szabványos kulccsal rendelkező belső táblába.
Szintaxis-
GYŰJTÖK [ INTO] .

A fejlécsorral rendelkező táblák INTO opcióval történő kihagyása. Tegyük fel, hogy már van egy bejegyzés, amelynek kulcsa megegyezik azzal, amelyet hozzá kíván próbálni, akkor egy új sor nem kerül a táblázatba, de mindkét bejegyzés numerikus mezői hozzáadódnak, és csak egy, a kulcsnak megfelelő bejegyzés van jelen . A SY-TABIX értéke az eredeti bejegyzés sorára változik. A Másik COLLECT hasonlóan működik, mint az APPEND, és az SY-TABIX tartalmazza a feldolgozott sor indexét. 3 . Az INSERT utasítás használata Az INSERT utasításegy sort / munkaterületet ad a belső táblához. Az INDEX záradék használatával megadhatja az új sor hozzáadásának helyét az INSERT utasítással.
Szintaxis
INSERT [ INTO / INITIAL LINE INTO]  [index ].
Itt a vagy az INITIAL LINE munkaterület beillesztésre kerül az indexen belül az belső táblába.

Belső táblák másolása

Az egyik belső táblázat tartalma átmásolható egy másikra a FÜGGELEK FÜGGELÉSE vagy az INSERT LINES utasítás segítségével. Egyszerűbb módszer a következő szintaxisok felhasználása.
MOVE  to .VAGY = .

Ezek az ITAB1 tartalmát az ITAB2-be másolják. Belső táblák fejléces vonallal történő felhasználása esetén a [] inorder-t kell használnunk a munkaterület megkülönböztetéséhez. Tehát, ha a belső táblák tartalmát fejlécsorral akarjuk másolni,
itab1 [] = itab2 [].

Olvassa el a Belső táblázatok részt

Most már ismerjük a belső táblák létrehozását és az adatokkal való feltöltését. Most meglátjuk, hogy hogyan használjuk fel az adatokat, vagy hogyan visszakeresjük az adatokat a belső táblákból. 1. A Loop -Endloop használata Abelső táblázat elérésének vagy olvasásának egyik módja a LOOP-ENDLOOP használata.
Szintaxis
LOOP AT  [INTO ]… ENDLOOP.

Itt, amikor azt mondja, hogy LOOP AT ITABLE, akkor az ITABLE belső tábla soronként olvasható. Az adott oszlop oszlopainak értékeihez a LOOP-ENDLOOP szerkezet bármely részén férhet hozzá. A SY-SUBRC értéke 0 -ra van állítva , még akkor is, ha csak egy rekordot olvasunk. 2. A READ használataA belső táblázat olvasásának másik módja a READ utasítás használata.
Szintaxis-
OLVASD A TÁBLÁZATot  [INTO ] INDEX .

Ez az utasítás beolvassa az aktuális sort vagy sort az index szerint. A SY-TABIX értéke az olvasott sor indexe. Ha a megadott indexű bejegyzést találja, akkor az SY-SUBRC értéke 0. Ha a megadott index kisebb, mint 0, akkor futási időbeli hiba lép fel. Ha a megadott index meghaladja a táblázat méretét, akkor az SY-SUBRC értéke 4.

Belső táblák törlése

Sokféle módon lehet törölni a sorokat egy belső táblából. 1. Vonalak törlése egy hurokban.
Ez a sorok törlésének legegyszerűbb módja.
Sytax
TÖRLÉS: .

Ez az utasítás csak egy cikluson belül működik. Törli az aktuális sort. A hurok sorait feltételesen törölheti a WHERE záradék hozzáadásával. 2. Vonalak törlése az index használatával.
Ez arra használható, hogy töröljön egy sort a belső táblázatból, bármilyen ismeretindexnél.
Szintaxis
Törölje az  INDEX  elemet.
Az indexű sort töröljük. A következő sor indexét 1-gyel csökkentjük.