SAP ABAP vidinė lentelė: kurkite, skaitykite, pildykite, kopijuokite ir Ištrinti

Kas yra vidinė lentelė?

VIDINĖ LENTELĖ naudojama norint gauti duomenis iš fiksuotos struktūros, skirtos dinamiškai naudoti ABAP. Kiekviena vidinės lentelės eilutė turi tą pačią lauko struktūrą. Pagrindinis vidinių lentelių naudojimas yra duomenų saugojimas ir formatavimas iš duomenų bazės lentelės programoje.

Šioje pamokoje sužinosite:

  • Kas yra vidinė lentelė?
  • Kas yra darbo zona?
  • Skirtumas tarp vidinio stalo ir darbo zonos?
  • Vidinių lentelių tipai
  • Vidinių lentelių kūrimas
  • Vidinių lentelių pildymas
  • Vidinių lentelių kopijavimas
  • Skaitymas vidinis
  • Ištrinamos vidinės lentelės

Kas yra darbo zona?

Darbo sritys yra vienos duomenų eilutės. Jie turėtų būti tokio paties formato, kaip ir bet kurios vidinės lentelės. Jis naudojamas tvarkyti duomenis vidinėje lentelėje po vieną eilutę.

Skirtumas tarp vidinio stalo ir darbo zonos?

Paveikslėlyje pasakyta tūkstantis žodžių :-)

Vidinių lentelių tipai

Yra dviejų tipų vidinės lentelės.

  1. Vidinės lentelės su HEADER linija
  2. Vidinės lentelės be HEADER eilutės.

Vidinės lentelės su antraštės linija

  • Čia sistema automatiškai sukuria darbo zoną.
  • Darbo sritis turi tą patį duomenų tipą kaip ir vidinė lentelė.
  • Ši darbo sritis vadinama HEADER linija.
  • Čia atliekami visi lentelės turinio pakeitimai arba veiksmai. Dėl to įrašus galima tiesiogiai įterpti į lentelę arba tiesiogiai pasiekti iš vidinės lentelės.

Vidinės lentelės be antraštės :

  • Čia nėra darbo srities, susijusios su lentele.
  • Darbo sritis turi būti aiškiai nurodyta, kai turime patekti į tokias lenteles.
  • Taigi prie šių lentelių negalima tiesiogiai prisijungti.

Vidinių lentelių kūrimas

Yra daugybė būdų sukurti vidinę lentelę. Leiskite pažvelgti į juos po vieną-
1. Naudodami tipo
teiginį Dabar sukurkime vidinę lentelę itab naudodami TYPE sakinį.
Sintaksė yra -

Tipai: eilutės pradžia,1 stulpelis, I tipas,2 stulpelis, I tipas,eilutės pabaiga.

Pavyzdys:

TIPAI: eilutės pradžia,I tipo empno,empname (20) tipas c,eilutės pabaiga.

TYPES sakinys sukuria struktūros liniją, kaip apibrėžta.
Norėdami iš tikrųjų sukurti vidinę lentelę, naudokite šią komandą

Duomenų itab tipo eilutė pasitaiko 10.

Vidinė lentelė „itab“ sukuriama su eilutės struktūra. Be vidinės lentelės struktūros deklaravimo, OCCURS sąlyga taip pat apibrėžia, kiek lentelės įrašų išlaikoma pagrindinėje saugykloje (šiuo atveju 10). Papildomi įrašai yra išrašomi į ieškos sritį ir gali paveikti
2 našumą. Nuorodos į kitą lentelę
galite sukurti vidinę lentelę, nurodydami esamą lentelę. Esama lentelė gali būti standartinė SAP lentelė, Z lentelė ar kita vidinė lentelė.
Sintaksė-

Duomenys   [su antraštės eilute].

Pavyzdys-

DUOMENYS „itab“ TIPO eilutė TURI 10 su antraštės eilute.

Čia sukurta vidinė lentelė itab tipo eilutė su antraštės eilute. Atkreipkite dėmesį, kad „su antraštės eilute“ nėra pasirenkamas
3.
Remiantis esama struktūros sintakse

Duomenys  LIKE  įvyksta n [su antraštės eilute].

Pavyzdys-

DUOMENYS itab LIKE sline PRIEŽASTYS 10.

Čia sukurta „itab“ lentelė, kurios struktūra yra tokia pati, kaip 4 „Sline“.
Sukurdami naują struktūrą
Dabar sukurkime vidinę lentelę su savo struktūra. Čia pagal numatytuosius nustatymus lentelė sukuriama naudojant antraštę „Antraštė“ .
Sintaksė -

Duomenys:  pradžia įvyksta ,,…, pabaiga.

Pavyzdys -

Duomenys: itabas prasideda 10,1 stulpelis, I tipas,2 stulpelio (4) C tipas,3 stulpelis, kaip mara-ernam,„Itab“ pabaiga.

Sukurtas vidinis stalas itab

Vidinių lentelių pildymas

Dabar, kai sėkmingai sukūrėme keletą vidinių lentelių, pažiūrėkime, kaip jas užpildyti kai kuriais įrašais. 1 lentelėms pildyti galimi įvairūs metodai. Pridėkite duomenis eilutėmis po eilutes . Pirmasis galimas metodas yra pareiškimo PRIDĖTIS naudojimas.
Naudodami „APPEND“ sakinį galime pridėti vieną eilutę iš kitos darbo srities prie vidinės lentelės arba pridėti vieną pradinę eilutę prie vidinės lentelės ...
Sintaksė -
PRIDĖTI [ Į / PRADIN L EILUT TO] .
Čia darbo sritis arba pradinė eilutė pridedama prie vidinės lentelės .
Sisteminiame kintamajame SY-TABIX yra pridėtos eilutės indeksas.
Pavyzdys:
Duomenys: itabas prasideda 10,col1 C tipas,I tipo col2,itab pabaiga.Pridėkite pradinę eilutę prie itab.

Rezultatai: '' '0' '
Pradinės eilutės lentelėje prideda eilutę, inicializuotą teisinga jo tipo verte. Čia col1 yra simbolis, o col2 yra sveikas skaičius. Tada PRIDĖTI pradinę eilutę, pridedama eilutė, inicializuota atsižvelgiant į stulpelių duomenų tipą, ty tarpą col1 ir 0 col2. 2. Naudojant „COLLECT“ teiginį „COLLECT“ yra dar viena pareiškimo forma, naudojama užpildyti vidines lenteles. Paprastai COLLECT naudojamas įterpiant eilutes į vidinę lentelę su unikaliu standartiniu raktu.
Sintaksė-
RINKTI [ INTO] .

Stalų įtraukimas su antraštės eilute, INTO parinktis praleista. Tarkime, kad jau yra įrašas, kurio raktas yra tas pats, kurį bandote pridėti, tada prie lentelės nepridėta nauja eilutė, tačiau pridedami abiejų įrašų skaitiniai laukai ir yra tik vienas raktą atitinkantis įrašas . SY-TABIX vertė pakeista į pradinio įrašo eilutę. Else COLLECT veikia panašiai kaip PRIEDAS, o SY-TABIX yra apdorotos eilutės indeksas. 3 . Naudojant INSERT sakinįINSERT pareiškimas prideda eilutę / darbo sritį prie vidinės lentelės. Vietą, kurioje bus pridėta nauja eilutė, galite nurodyti naudodami sąlygą INDEX su sakiniu INSERT.
Sintaksė
Įterpti [ INTO / INITIAL LINE INTO]  [rodyklė ].
Čia darbo sritis arba INITIAL LINE įterpiama į vidinę lentelę rodyklėje .

Vidinių lentelių kopijavimas

Vienos vidinės lentelės turinį galima nukopijuoti į kitą naudojant pareiškimą PRIDĖTI LINIJAS arba Įterpti linijas. Paprastesnis būdas yra naudoti šias sintakses.
Perkelkite  į .ARBA = .

Jie nukopijuoja ITAB1 turinį į ITAB2. Įtraukite vidines lenteles su antraštės eilute, kad galėtume atskirti nuo darbo zonos, turime naudoti [] inorder. Taigi, norint nukopijuoti vidinių lentelių turinį su antraštės eilute, sintaksė tampa,
itab1 [] = itab2 [].

Perskaitykite vidines lenteles

Dabar esame susipažinę su vidinių lentelių kūrimu ir jų užpildymu duomenimis. Dabar pamatysime, kaip mes iš tikrųjų naudojame duomenis arba gauname duomenis iš vidinių lentelių. 1. „Loop -Endloop“ naudojimasVienas iš būdų patekti į vidinę lentelę arba ją perskaityti yra LOOP-ENDLOOP.
Sintaksė
Žvilgsnis ]… PABAIGA.

Čia sakant „LOOP AT ITABLE“, vidinė lentelė „ITABLE“ skaitoma eilutėmis. Tos linijos stulpelių vertes galite pasiekti bet kurioje LOOP-ENDLOOP struktūros dalyje. SY-SUBRC vertė yra nustatyta 0 , net jei skaitomas tik vienas įrašas. 2. READ naudojimasKitas vidinės lentelės skaitymo metodas yra READ sakinio naudojimas.
Sintaksė-
SKAITYTI LENTEL <] RODYKL <.

Šis sakinys nuskaito dabartinę eilutę arba eilutę, nurodytą indeksu . SY-TABIX reikšmė yra skaitomos eilutės indeksas. Jei randamas įrašas su nurodytu indeksu, tada SY-SUBRC yra nustatytas kaip 0. Jei nurodytas indeksas yra mažesnis nei 0, įvyksta vykdymo laiko klaida. Jei nurodytas indeksas viršija lentelės dydį, SY-SUBRC yra nustatytas kaip 4.

Ištrinamos vidinės lentelės

Yra daug būdų, kaip ištrinti eilutes iš vidinės lentelės. 1. Linijų ištrynimas kilpoje.
Tai paprasčiausias būdas ištrinti eilutes.
Sytax
IŠTRINTI .

Šis teiginys veikia tik ciklo metu. Jis ištrina dabartinę eilutę. Jūs galite sąlygiškai ištrinti linijos linijas, pridėdami sąlygą WHERE. 2. Ištrinti linijas naudojant indeksą.
Tai naudojama norint ištrinti eilutę iš vidinės lentelės bet kuriame žinojimo rodyklėje.
Sintaksė
IŠTRINTI  INDEKSĄ .
Eilutė su indeksu ištrinama. Šios eilutės indeksas mažinamas 1.

Įdomios straipsniai...