Nadzor tabele SAP ABAP s primeri

Anonim

Kontrole tabel in zanke korakov so predmeti za prikaz tabele zaslona, ​​ki jih dodate na zaslon v zaslonu zaslona.
S programskega stališča so nadzorniki tabel in zanke korakov skoraj popolnoma enaki. Nadzorniki tabel so preprosto izboljšane zanke korakov, ki prikazujejo podatke z videzom in občutkom, povezanim s tabelami v namiznih aplikacijah.
Z nadzorniki tabele lahko uporabnik:

  • Pomaknite se po tabeli navpično in vodoravno
  • Ponovno prilagodite širino stolpca
  • Pomikanje znotraj polja (kadar je vsebina polja širša od polja)
  • Izberite vrstice ali stolpce tabele
  • Prerazporedite zaporedje stolpcev
  • Shranite trenutne nastavitve zaslona za prihodnjo uporabo

Nadzorniki tabel ponujajo tudi posebne funkcije oblikovanja (nekatere samodejne, nekatere neobvezno), ki olajšajo pregled in uporabo tabel. Nadzor tabele zagotavlja -

  • samodejno spreminjanje velikosti tabele (navpično in vodoravno), ko uporabnik spremeni velikost okna
  • ločilne črte med vrsticami in med stolpci (navpično in vodoravno)
  • polja glave stolpca za vse stolpce

Ena od značilnosti zank korakov je, da lahko vrstice tabel obsegajo več kot eno vrstico na zaslonu. Vrstica kontrolnika tabele pa mora biti vedno v eni vrstici (čeprav je možno pomikanje).
Na splošno številne funkcije, ki jih nudi nadzor tabele, lokalno obravnava prednji del SAPgui vašega sistema, zato vam jih ni treba programirati sami. Edina pomembna izjema pri tem je navpično pomikanje .
Primer (transakcija TZ60)


Sintaksa
Za obdelavo kontrol tabel v programih ABAP morate prijaviti kontrolnik v delu deklaracije programa za vsak kontrolnik tabele z naslednjim stavkom:

NADZOR  TIP TABLEVIEW Z UPORABO ZASLONA 

kjer je ime kontrolnika tabele na zaslonu v programu ABAP. Krmilnik omogoča programu ABAP, da bere atribute kontrolnika tabele in vpliva na nadzor. Tu je številka zaslona, ​​kjer so naložene začetne vrednosti tabele.
Položaj kurzorja za kontrolnik tabele lahko nastavite na naslednje načine:
Pri PBO lahko kurzor nastavite na določeno polje določene vrstice kontrolnika tabele.

NASTAVITE POLJE KURSORJA  LINE 
 [OFFSET ]

Z neobveznim dodatkom OFFSET lahko vnesete odmik kurzorja v polje, kot je opisano v poglavju Nastavitev položaja kurzorja.
V PAI lahko preberete trenutni položaj kurzorja.

PRIDOBITE KURZORSKO POLJE  LINE 

Poleg informacij, podanih v razdelku Iskanje položaja kurzorja, polje vsebuje informacije o tem, v kateri vrstici nadzora tabele je kurzor trenutno vklopljen. Lahko tudi uporabite

PRIDOBITE STRELICO 
.

za določitev vrstice kontrolnika tabele. SY-SUBRC vam omogoča, da preverite, ali je kazalec postavljen v vrstico kontrolnika tabele.
Za pridobitev ustrezne vrstice notranje tabele:

PRIDOBI KURZOR vrstico 
.ind =  -vrha_vrstike + 
 - 1.Preberite tabelo  indeks ind.

Sistemska spremenljivka stepl - vsebuje trenutni indeks vrstic tabele v zanki ... endloop. Loopc - vsebuje število vrstic, ki so vidne v tabeli.
Ustvarjanje kontrolnika tabele 1.
Dodajte element nadzornega elementa tabele na zaslon 2.
Dajte ime kontrolniku tabele. V programu ABAP prijavite strukturo z istim (tip CONTROLS TABLEVIEW USING SCREEN ) 3. Če želite
ustvariti polja, pojdite na funkcijo Dict./Program fields.

  • Vnesite ime strukture, katere polja želite. (Če želite, da jo izbere iz slovarja vašega programa, kliknite ustrezen gumb).
  • Na seznamu polj izberite želena polja in izberite ok.
  • Kliknite v nadzornem območju tabele

Če želite izbirni stolpec, označite ustrezno potrditveno polje v atributih in mu dajte ime. Ustvarite polje v programu ABAP.
V PBO bi morali imeti izjavo

ZANIKI na  UPORABA NADZORA .ENDLOOP.

V PAI bi morali imeti.

LOOP na .ENDLOOP.

Prenos podatkov se zgodi med zankami med zaslonom in notranjo tabelo. Ko zapolnite notranjo tabelo, uporabite DESCRIBE TABLE LINES -lines, da shranite skupno število vrstic v kontrolnik. Stavek FIELD se lahko uporablja za nadzor nad prenosom podatkov
Če želite spremeniti atribute posameznih celic, začasno spremenite tabelo ZASLON v PBO. Lahko spremenite atribute strukture, ustvarjene s stavkom CONTROLS

 -fixed_cols itd so atributi kontrolnika -cols-index itd so atributi stolpcev. -cols-screen-invisible etc so atributi zaslona vsakega stolpca.