Ovládání tabulky SAP ABAP s příklady

Anonim

Ovládací prvky tabulky a smyčky kroků jsou objekty pro zobrazení tabulky obrazovky, které přidáte na obrazovku v programu Screen Painter.
Z hlediska programování jsou ovládací prvky tabulky a krokové smyčky téměř úplně stejné. Ovládací prvky tabulky jsou jednoduše vylepšené krokové smyčky, které zobrazují data se vzhledem a chování spojeným s tabulkami v desktopových aplikacích.
S ovládacími prvky tabulky může uživatel:

  • Procházejte tabulkou svisle a vodorovně
  • Změňte velikost šířky sloupce
  • Posun v rámci pole (pokud je obsah pole širší než pole)
  • Vyberte řádky nebo sloupce tabulky
  • Pořadí pořadí sloupců
  • Uložte aktuální nastavení zobrazení pro budoucí použití

Ovládací prvky tabulky také nabízejí speciální funkce formátování (některé automatické, jiné volitelné), které usnadňují prohlížení a používání tabulek. Ovládání tabulky poskytuje -

  • automatická změna velikosti tabulky (vertikální a horizontální), když uživatel změní velikost okna
  • oddělovací čáry mezi řádky a mezi sloupci (vertikální a horizontální)
  • pole záhlaví sloupce pro všechny sloupce

Jednou z funkcí krokových smyček je, že jejich řádky tabulky mohou pokrývat více než jeden řádek na obrazovce. Řádek ovládacího prvku tabulky na druhé straně musí být vždy obsažen v jednom řádku (i když je možné rolování).
Obecně platí, že mnoho funkcí poskytovaných ovládacím prvkem tabulky je řešeno lokálně front-endem SAPgui vašeho systému, takže je nemusíte programovat sami. Jedinou významnou výjimkou je svislé posouvání .
Příklad (transakce TZ60)


Syntaxe
Chcete-li zpracovat ovládací prvky tabulky v programech ABAP, musíte deklarovat ovládací prvek v deklarační části programu pro každý ovládací prvek tabulky pomocí následujícího příkazu:

OVLÁDACÍ PRVKY  TYPE TABLEVIEW POUŽITÍ OBRAZOVKY 

kde je název ovládacího prvku tabulky na obrazovce v programu ABAP. Ovládací prvek umožňuje programu ABAP číst atributy ovládacího prvku tabulky a ovlivňovat ovládací prvek. Zde je číslo obrazovky, kde jsou načteny počáteční hodnoty tabulky.
Pozici kurzoru pro ovládací prvek tabulky lze nastavit následujícími způsoby:
U PBO můžete nastavit kurzor na konkrétní pole konkrétního řádku ovládacího prvku tabulky.

NASTAVTE POLI KURZORU  ŘÁDEK 
 [OFFSET ]

Pomocí volitelného přídavku OFFSET můžete zadat posunutí kurzoru do pole, jak je popsáno v části Nastavení polohy kurzoru.
Na PAI můžete číst aktuální pozici kurzoru.

ZÍSKEJTE KURZOROVÉ POLE  LINE 

Kromě informací uvedených v části Zjištění polohy kurzoru obsahuje pole informace o tom, na kterém řádku ovládacího prvku tabulky je aktuálně kurzor. Můžete také použít

ZÍSKEJTE KURZOROVOU ŘÁDKU 
.

k určení řádku ovládacího prvku tabulky. SY-SUBRC umožňuje zkontrolovat, zda je kurzor umístěn v řádku ovládacího prvku tabulky.
Pro získání odpovídajícího řádku vnitřní tabulky:

ZÍSKEJTE KURZOR řádek 
.ind = 
 -top_line + 
 - 1.Číst tabulku  index ind.

Systémová proměnná stepl - obsahuje aktuální index řádku tabulky ve smyčce… endloop. Loopc - obsahuje počet řádků viditelných v tabulce
Vytvoření
ovládacího prvku tabulky 1. Přidejte ovládací prvek tabulky na obrazovku 2.
Zadejte název ovládacího prvku tabulky. V programu ABAP deklarujte strukturu se stejnou (typ CONTROLS TABLEVIEW POUŽITÍ OBRAZOVKY )
3. Chcete-li vytvořit pole, přejděte na funkci polí Dikt./Program.

  • Zadejte název struktury, jejíž pole chcete. (Chcete-li, aby si to vybral ze slovníku vašeho programu, klikněte na příslušné puhbutton).
  • V seznamu polí vyberte pole, která chcete, a zvolte OK.
  • Klikněte do oblasti ovládání tabulky

Pokud chcete sloupec výběru, zaškrtněte příslušné zaškrtávací políčko v atributech a pojmenujte jej. Vytvořte pole v programu ABAP.
V PBO byste měli mít prohlášení

LOOP na  POUŽÍVÁNÍ CONTROL .ENDLOOP.

V PAI byste měli mít.

LOOP na .ENDLOOP.

V rámci smyček dochází k přenosu dat mezi obrazovkou a interní tabulkou. Když vyplníte interní tabulku, použijte tabulku DESCRIBE TABLE LINES -lines k uložení celkového počtu řádků v ovládacím prvku. lze použít k řízení, kdy dojde k přenosu dat
Změna atributů jednotlivých buněk dočasně změnit tabulku SCREEN v PBO. Můžete změnit atributy struktury vytvořené příkazem CONTROLS

 -fixed_cols atd. jsou atributy ovládacího prvku -cols-index atd. jsou atributy sloupců. -cols-screen-invisible atd. jsou atributy obrazovky každého sloupce.