SAP Řízení tabulky ABAP s příklady

Ovládací prvky tabulky a smyčky kroků jsou objekty pro zobrazení tabulky na obrazovce, které přidáte na obrazovku na obrazovce Painter.

Z hlediska programování jsou ovládací prvky stolu a krokové smyčky téměř úplně stejné. Ovládací prvky tabulky jsou jednoduše vylepšené smyčky kroků, které zobrazují data se vzhledem a chováním souvisejícím s tabulkami v aplikacích pro stolní počítače.

Vlastnosti ABAP Table Control

Pomocí ovládacích prvků tabulky může uživatel:

  • Procházejte tabulkou svisle a vodorovně
  • Změňte velikost šířky sloupce
  • Posouvání v poli (když je obsah pole širší než pole)
  • Vyberte řádky nebo sloupce tabulky
  • Změňte 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é, některé volitelné), které usnadňují prohlížení a používání tabulek. Table Control 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í sloupců pro všechny sloupce

Jednou z vlastností krokových smyček je to, že jejich řádky tabulky mohou zabírat 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 (ačkoli rolování je možné).

Obecně platí, že mnoho funkcí poskytovaných ovládacím prvkem tabulky je zpracováno lokálně vaším systémem SAPgui frontend, takže je nemusíte programovat sami. Jedinou významnou výjimkou je vertikální rolování.

Příklad (transakce TZ60)

SAP Ovládání tabulky ABAP

Syntax

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

CONTROLS <ctrl> TYPE TABLEVIEW USING SCREEN <scr>

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. 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 určité pole určitého řádku ovládacího prvku tabulky.

SET CURSOR FIELD <f> LINE <lin> [OFFSET <off>]

Pomocí volitelného přídavku OFFSET můžete zadat offset kurzoru do pole, jak je popsáno v části Nastavení pozice kurzoru.

Na PAI si můžete přečíst aktuální pozici kurzoru.

GET CURSOR FIELD <f> LINE <lin> ...

Kromě informací uvedených v poli Zjištění pozice kurzoru obsahuje informaci, na kterém řádku ovládacího prvku tabulky je aktuálně kurzor. Můžete také použít

GET CURSOR LINE <lin>.

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í stůl:

GET CURSOR line <lin>.

ind = <table_control>-top_line + <lin> - 1.

Read table <itab> 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

Chcete-li vytvořit ovládací prvek tabulky

1. Přidejte na obrazovku ovládací prvek tabulky

2. Pojmenujte ovládací prvek tabulky. V programu ABAP deklarujte strukturu se stejným ( CONTROLS zadejte TABLEVIEW POMOCÍ OBRAZOVKY )

3. Chcete-li vytvořit pole, přejděte do funkce Dikt./Programová pole.

  • Zadejte název struktury, jejíž pole chcete. (Pokud chcete, aby to vybral ze slovníku vašeho programu, klikněte na příslušné tlačítko).
  • V seznamu polí vyberte požadovaná pole a zvolte OK.
  • Klikněte do oblasti ovládání tabulky

Pokud chcete sloupec výběru, zaškrtněte příslušné políčko v atributech a pojmenujte jej. Vytvořte pole v program ABAP.

V PBO byste měli mít výpis

LOOP at <itab> USING CONTROL <cntrl_name>.

ENDLOOP.

V PAI byste měli mít.

LOOP at <itab>.

ENDLOOP.

K přenosu dat mezi obrazovkou a interní tabulkou dochází v rámci smyček. Když naplňujete interní tabulku, použijte DESCRIBE TABLE ČÁRY -lines, k uložení celkového počtu řádků v ovládacím prvku. Příkaz FIELD lze použít k řízení, kdy dojde k přenosu dat

Pro změnu atributů jednotlivých buněk dočasně změňte tabulku SCREEN v PBO. Můžete změnit atributy struktury vytvořené příkazem CONTROLS

<cntrl>-fixed_cols etc are the attributes of the control

<cntrl>-cols-index etc are the attributes of the columns.

<cntrl>-cols-screen-invisible etc are the screen attributes of each column.

Denní zpravodaj Guru99

Začněte svůj den s nejnovějšími a nejdůležitějšími zprávami o umělé inteligenci, které vám přinášíme právě teď.