Hirdetés
 

Abap List Viewer

PDF
Nyomtatás

Az ALV (Abap List Viewer) az egyik leggyakrabban használt eszköz a SAP rendszerekben az adatok képernyőn való megjelenítésére táblázatos formában. ALV riport készítéséről már volt szó ALV generátor segítségével. Most azt vizsgáljuk, hogy hogyan tudunk mi magunk ilyen kódot kézzel elkészíteni a legegyszerűbb módon.

Az ALV következő beépített funkciókkal rendelkezik, amikre a programozónak már nincs gondja:
  • sorbarendezés
  • keresés
  • szűrés
  • oszlopok elrejtése/megjelenítése
  • részösszesen és végösszesen egy adott oszlop értékeire
  • nyomtatás
  • exportálás (MS Word, MS Excel, HTML, stb...)
  • grafikon készítése a táblázat adataiból

Lássuk tehát a kódot, ALv készítése egyszerű módon:

Egy kis házi feladat:
* Hasonló eredményt érhetünk el, ha a REUSE_ALV_GRID_DISPLAY funkciós modult használjuk. Egy próbát megér.
* Ez esetben nincs szükség az ALV objektumra, példányosításra, metódushívásra és screen definiálásra.
* Egy kis segítség: a SE80 tranzakcióban használjuk a toolbaron lévő 'Pattern' funkciót
* Itt adjuk meg a CALL FUNCTION mezőbe: REUSE_ALV_GRID_DISPLAY
* Ezután a pattern automatikusan megjelenik az editorban.
* A t_outtab kitöltése kötelező (t_outtab = lt_sflight),
* valamint exporting paraméterként meg kell adni a megjelenítendő tábla struktúráját is (I_STRUCTURE_NAME = 'SFLIGHT')

PROGRAM Z_EASY_ALV.

* változók definiálása:
* ALV osztályra mutató referencia, valamint egy sflight típusú belső tábla
DATA: lo_alv TYPE REF TO cl_gui_alv_grid,
lt_sflight TYPE TABLE OF sflight.

* belső tábla feltöltése adatokkal az SFLIGHT adatbázistáblából
SELECT * FROM sflight INTO TABLE lt_sflight.

* az ALV objektum példányosítása
* a cl_gui_container=>screen0 -t értéket használjuk szülő konténer-ként
* ez azt jelenti, hogy nincs szükség screen és azon belül
* container készítésére, mint más esetben
CREATE OBJECT lo_alv EXPORTING i_parent = cl_gui_container=>screen0.

* az ALV megjelenítő metódus meghívása
* paraméterként csak az adatokat tartalmazó belső táblát
* és annak a struktúráját (azaz a Data Dictionary-beli nevét) adjuk át
CALL METHOD lo_alv->set_table_for_first_display
EXPORTING i_structure_name = 'SFLIGHT'
CHANGING it_outtab = lt_sflight.

* a lenti kód segítségével egy screent definiálunk, majd meghívjuk.
* ezen fog megjelenni az ALV
* ennek hatására nincs szükség külön screen készítésére
SELECTION-SCREEN BEGIN OF SCREEN 1001.
SELECTION-SCREEN END OF SCREEN 1001.
CALL SELECTION-SCREEN 1001.


Nincs hozzászólása.
A téma megvitatása a fórumon. (0 hozzászólás)