Interna tabela SAP ABAP: Ustvarjanje, branje, polnjenje, kopiranje in ojačevanje; Izbriši

Kazalo:

Anonim

Kaj je notranja tabela?

NOTRANJA TABELA se uporablja za pridobivanje podatkov iz fiksne strukture za dinamično uporabo v ABAP. Vsaka vrstica v notranji tabeli ima enako strukturo polj. Glavna uporaba notranjih tabel je shranjevanje in formatiranje podatkov iz tabele zbirke podatkov v programu.

V tej vadnici boste izvedeli:

  • Kaj je notranja tabela?
  • Kaj je delovno področje?
  • Razlika med notranjo mizo in delovnim prostorom?
  • Vrste notranjih tabel
  • Ustvarjanje notranjih tabel
  • Popolnjevanje notranjih tabel
  • Kopiranje notranjih tabel
  • Branje notranje
  • Brisanje notranjih tabel

Kaj je delovno področje?

Delovna področja so posamezne vrstice podatkov. Morali bi imeti enako obliko kot katera koli notranja tabela. Uporablja se za obdelavo podatkov v notranji tabeli po eno vrstico.

Razlika med notranjo mizo in delovnim prostorom?

Slika pove tisoč besed :-)

Vrste notranjih tabel

Obstajata dve vrsti notranjih tabel.

  1. Notranje tabele s HEADER vrstico
  2. Notranje tabele brez vrstice HEADER.

Notranje tabele z vrstico glave

  • Tu sistem samodejno ustvari delovno območje.
  • Delovno območje ima isti podatkovni tip kot notranja tabela.
  • To delovno območje se imenuje HEADER linija.
  • Tu se opravijo vse spremembe ali katero koli dejanje na vsebini tabele. Kot rezultat tega je zapise mogoče neposredno vstaviti v tabelo ali do njih neposredno dostopati iz notranje tabele.

Notranje tabele brez vrstice glave :

  • Tu ni delovnega področja, povezanega s tabelo.
  • Delovno območje je treba izrecno določiti, ko moramo dostopati do takih tabel.
  • Zato do teh tabel ni mogoče neposredno dostopati.

Ustvarjanje notranjih tabel

Interno tabelo lahko ustvarite na veliko načinov. Oglejmo si jih enega po enega - 1.
Z uporabo izjave o tipu
Ustvarimo zdaj notranjo tabelo itab z uporabo stavka TYPE.
Sintaksa je -

Vrste: začetek vrstice,stolpec1 tip I,stolpec2 tip I,konec vrstice.

Primer:

VRSTE: začetek vrstice,empno tip I,empname (20) tip c,konec vrstice.

Stavek TYPES ustvari strukturalno vrstico, kot je definirana.
Če želite dejansko ustvariti notranjo tabelo itab, uporabite naslednji ukaz-

Vrstica tipa itab se pojavi 10.

Notranja tabela itab je ustvarjena s strukturo vrstice. Poleg tega, da razglasi strukturo notranje tabele, stavek OCCURS določa tudi, koliko vnosov tabele se hrani v glavnem pomnilniku (v tem primeru 10). Dodatni zapisi se izpišejo na območje ostranjevanja in lahko vplivajo na zmogljivost
2. S sklicevanjem na drugo tabelo
Notranjo tabelo lahko ustvarite s sklicevanjem na obstoječo tabelo. Obstoječa tabela je lahko standardna tabela SAP, tabela Z ali druga notranja tabela.
Sintaksa-

Podatki   [z vrstico glave].

Primer-

PODATKI itab VRSTA VRSTA NASTOPE 10 z vrstico glave.

Tu je ustvarjena notranja tabela itab vrstice tipa z vrstico glave. Prosimo, upoštevajte, da je "z vrstico glave" neobvezno.
3. S sklicevanjem na obstoječo
sintakso strukture -

Podatki  LIKE  se pojavijo n [z vrstico glave].

Primer-

PODATKI itab KOT PODROČJE NASTOPE 10.

Tu je ustvarjena tabela itab, ki ima strukturo, enako strukturi vrstice
4. Z ustvarjanjem nove strukture
Ustvarimo zdaj notranjo tabelo s svojo strukturo. Tu je tabela privzeto ustvarjena z vrstico Header .
Sintaksa -

Podatki: Začetek  se zgodi ,,…,Konec .

Primer -

Podatki: Začetek itab se zgodi 10,stolpec1 tip I,stolpec2 (4) tip C,stolpec3, kot je mara-ernam,Konec itab.

Ustvarjena je notranja tabela itab

Popolnjevanje notranjih tabel

Zdaj, ko smo uspešno ustvarili nekaj notranjih tabel, poglejmo, kako jih zapolnimo z nekaterimi zapisi. Za izpolnjevanje tabel so na voljo različne metode 1. Dodajanje podatkov po vrsticah Prva metoda, ki je na voljo, je uporaba stavka APPEND.
Z uporabo stavka APPEND lahko v notranjo tabelo dodamo eno vrstico z drugega delovnega področja ali pa notranjo tabelo dodamo eno začetno vrstico ...
Sintaksa -
PRILOŽI [ NA / ZAČETNA ČRTA DO] .
Tu je delovno področje ali začetna vrstica dodana interni tabeli .
Sistemska spremenljivka SY-TABIX vsebuje indeks dodane vrstice.
Primer:
Podatki: Začetek itab se zgodi 10,col1 tip C,col2 tip I,konec itab.Začetno vrstico dodajte v itab.

Rezultati: '' '0'
Začetne vrstice dodajo tabeli vrstico, inicializirano s pravilno vrednostjo za svoj tip. Tu je col1 znak in col2 celo število. Nato APPEND začetna vrstica doda vrstico, inicializirano glede na vrsto podatkov stolpcev, tj. Presledek za col1 in 0 za col2. 2. Uporaba stavkaCOLLECT COLLECT je druga oblika stavka, ki se uporablja za izpolnjevanje notranjih tabel. Na splošno se COLLECT uporablja med vstavljanjem vrstic v notranjo tabelo z edinstvenim standardnim ključem.
Sintaksa-
ZBERI [ INTO] .

Pri tabelah z vrstico Header je možnost INTO izpuščena. Recimo, da že obstaja vnos, ki ima ključ enak tistemu, ki ga želite dodati, potem nova vrstica ni dodana v tabelo, ampak so dodana številska polja obeh vnosov in je prisoten samo en vnos, ki ustreza ključu . Vrednost SY-TABIX se spremeni v vrstico prvotnega vnosa. Else COLLECT deluje podobno kot APPEND in SY-TABIX vsebuje indeks obdelane vrstice. 3 . Uporaba stavka INSERT StavekINSERT interni tabeli doda vrstico / delovno območje. Položaj, na katerem bo dodana nova vrstica, lahko določite s pomočjo stavka INDEX s stavkom INSERT.
Sintaksa
INSERT [ INTO / INITIAL LINE INTO]  [index ].
Tu se delovno področje ali ZAČETNA VRSTICA vstavi v notranjo tabelo pri indeksu .

Kopiranje notranjih tabel

Vsebino ene notranje tabele lahko kopirate v drugo z uporabo stavka APPEND LINES ali INSERT LINES. Preprostejši način je uporaba vseh naslednjih skladenj.
PREMIK  V .ALI = .

Ti kopirajo vsebino ITAB1 v ITAB2. V primeru notranjih tabel z vrstico glave moramo za razlikovanje od delovnega področja uporabiti [] inorder. Torej, za kopiranje vsebine notranjih tabel z vrstico glave sintaksa postane,
itab1 [] = itab2 [].

Preberite notranje tabele

Zdaj smo seznanjeni z ustvarjanjem notranjih tabel in njihovo polnjenjem s podatki. Zdaj bomo videli, kako podatke dejansko uporabimo ali jih pridobimo iz notranjih tabel. 1. Uporaba Loop -EndloopEden od načinov dostopa do notranje tabele ali branja je uporaba LOOP-ENDLOOP.
Sintaksa
ZANIK NA 
 [INTO ]… ENDLOOP.

Tukaj, ko izgovorite ZANIK NA ITABLE, se notranja tabela ITABLE prebere po vrsticah. Do vrednosti stolpcev za to vrstico lahko dostopate v katerem koli delu strukture LOOP-ENDLOOP. Vrednost SY-SUBRC je nastavljena na 0 , tudi če je prebran samo en zapis. 2. Uporaba READDrugi način branja notranje tabele je z uporabo stavka READ.
Sintaksa-
PREBERITE TABELO 
 [INTO ] INDEX .

Ta stavek bere trenutno vrstico ali vrstico, kot je določeno z indeksom . Vrednost SY-TABIX je indeks prebrane vrstice. Če je najden vnos z navedenim indeksom, je SY-SUBRC nastavljen na 0. Če je navedeni indeks manjši od 0, pride do napake med izvajanjem. Če navedeni indeks presega velikost tabele, je SY-SUBRC nastavljen na 4.

Brisanje notranjih tabel

Obstaja veliko načinov za brisanje vrstic iz notranje tabele. 1. Brisanje vrstic v zanki.
To je najpreprostejši način za brisanje vrstic.
Sytax
IZBRIŠI .

Ta izjava deluje samo znotraj zanke. Izbriše trenutno vrstico. Vrstice v zanki lahko pogojno izbrišete tako, da dodate stavek WHERE. 2. Brisanje vrstic z uporabo indeksa.
To se uporablja za brisanje vrstice iz notranje tabele s katerim koli indeksom znanih podatkov.
Sintaksa
IZBRIŠI  INDEX .
Vrstica z indeksom se izbriše. Indeks naslednje vrstice se zmanjša za 1.