Riadenie tabuľky SAP ABAP s príkladmi

Anonim

Ovládacie prvky tabuľky a krokové slučky sú objekty na zobrazenie tabuľky na obrazovke, ktoré pridáte na obrazovku v aplikácii Screen Painter.
Z programovacieho hľadiska sú ovládacie prvky tabuľky a krokové slučky takmer úplne rovnaké. Ovládacie prvky tabuľky sú jednoducho vylepšené krokové slučky, ktoré zobrazujú údaje so vzhľadom a štýlom súvisiacim s tabuľkami v desktopových aplikáciách.
Pomocou ovládacích prvkov tabuľky môže používateľ:

  • Rolovať v tabuľke vertikálne a horizontálne
  • Zmeňte veľkosť šírky stĺpca
  • Posun v poli (ak je obsah poľa širší ako pole)
  • Vyberte riadky alebo stĺpce tabuľky
  • Znova usporiadajte poradie stĺpcov
  • Uložte si aktuálne nastavenie displeja pre budúce použitie

Ovládacie prvky tabuľky tiež ponúkajú špeciálne funkcie formátovania (niektoré automatické, iné voliteľné), ktoré uľahčujú prezeranie a používanie tabuliek. Ovládanie tabuľky poskytuje -

  • automatická zmena veľkosti tabuľky (vertikálna a horizontálna), keď používateľ zmení veľkosť okna
  • oddeľovacie čiary medzi riadkami a medzi stĺpcami (zvislé a vodorovné)
  • polia hlavičky stĺpcov pre všetky stĺpce

Jednou z funkcií krokových slučiek je, že ich riadky tabuľky môžu na obrazovke pokrývať viac ako jeden riadok. Riadok ovládacieho prvku tabuľky na druhej strane musí byť vždy obsiahnutý v jednom riadku (aj keď je možné ich posúvanie).
Všeobecne platí, že veľa funkcií poskytovaných ovládacím prvkom tabuľky je riešených lokálne v rozhraní SAPgui vášho systému, takže ich nemusíte programovať sami. Jedinou pozoruhodnou výnimkou je vertikálne posúvanie .
Príklad (transakcia TZ60)


Syntax
Na spracovanie ovládacích prvkov tabuľky v programoch ABAP musíte deklarovať ovládací prvok v deklaračnej časti programu pre každý ovládací prvok tabuľky pomocou nasledujúceho príkazu:

OVLÁDACIE PRVKY  TYPOVÝ TABUĽKA POUŽITIA OBRAZOVKY 

kde je názov ovládacieho prvku tabuľky na obrazovke v programe ABAP. Ovládací prvok umožňuje programu ABAP načítať atribúty ovládacieho prvku tabuľky a ovplyvňovať ovládací prvok. je tu číslo obrazovky, na ktoré sa načítajú počiatočné hodnoty tabuľky.
Pozíciu kurzora pre ovládací prvok tabuľky je možné nastaviť nasledujúcimi spôsobmi:
Na PBO môžete nastaviť kurzor na konkrétne pole konkrétneho riadku tabuľkového ovládacieho prvku.

NASTAVIŤ POLE KURZORA  LINE 
 [OFFSET ]

Pomocou voliteľného doplnku OFFSET môžete zadať posun kurzora do poľa, ako je popísané v časti Nastavenie polohy kurzora.
Na PAI môžete čítať aktuálnu pozíciu kurzora.

ZÍSKAJTE KURZOROVÉ POLE  LINE 
 ... 

Okrem informácií uvedených v časti Zistenie polohy kurzora obsahuje pole informácie o tom, na ktorom riadku ovládacieho prvku tabuľky sa momentálne nachádza kurzor. Môžete tiež použiť

ZÍSKAJTE LINE KURZORA 
.

na určenie riadku ovládacieho prvku tabuľky. SY-SUBRC vám umožňuje skontrolovať, či je kurzor umiestnený v riadku ovládacieho prvku tabuľky.
Pre získanie zodpovedajúceho riadku internej tabuľky:

ZÍSKAJTE KURZOR riadok 
.ind = 
 -top_line + 
 - 1.Prečítajte si tabuľku  index ind.

Systémová premenná stepl - obsahuje aktuálny index riadku tabuľky v slučke… endloop. Loopc - obsahuje počet riadkov viditeľných v tabuľke
Vytvorenie
ovládacieho prvku tabuľky 1. Pridajte ovládací prvok tabuľky na svoju obrazovku 2.
Pomenujte ovládací prvok tabuľky. V programe ABAP deklarujte štruktúru s rovnakou (typ CONTROLS TABLEVIEW POUŽÍVAJÚCI OBRAZOVKU )
3. Ak chcete vytvoriť polia, choďte na funkciu polia Dict./Program.

  • Zadajte názov štruktúry, ktorej polia chcete. (Ak chcete, aby si to vybral zo slovníka vášho programu, kliknite na príslušné puhbutton).
  • V zozname polí vyberte požadované polia a kliknite na tlačidlo OK.
  • Kliknite do oblasti ovládania tabuľky

Ak chcete stĺpec výberu, začiarknite príslušné políčko v atribútoch a pomenujte ho. Vytvorte pole v programe ABAP.
V PBO by ste mali mať vyhlásenie

Smyčka na  POUŽÍVANÍM KONTROLY .ENDLOOP.

V PAI by ste mali mať.

LOOP na .ENDLOOP.

Prenos údajov medzi obrazovkou a internou tabuľkou sa deje v rámci slučiek. Keď vyplníte internú tabuľku, použite parameter DESCRIBE TABLE LINES -lines na uloženie celkového počtu riadkov do ovládacieho prvku. Príkaz FIELD možno použiť na riadenie, kedy dôjde k prenosu údajov
Zmena atribútov jednotlivých buniek dočasne zmeniť tabuľku SCREEN v PBO. Môžete zmeniť atribúty štruktúry vytvorenej príkazom CONTROLS

 -fixed_cols atď. sú atribúty ovládacieho prvku -cols-index atď. sú atribúty stĺpcov. -cols-screen-invisible atď. sú atribúty obrazovky každého stĺpca.