Hlášení ALV v SAP Výukový program – ABAP List Viewer
Společnými požadovanými funkcemi jakékoli zprávy jsou „zarovnání sloupců“, třídění, filtrování, mezisoučty, součty atd. Chcete-li je implementovat od začátku, je třeba vynaložit velké úsilí na kódování. Abychom tomu zabránili, můžeme použít koncept nazvaný ABAP List Viewer (ALV).
Každá z těchto zpráv poskytuje funkční moduly které pomáhají při vytváření požadovaného výstupu bez velkého úsilí. Podívejme se na ně podrobně –
Jednoduchá zpráva
Důležité funkční moduly v nich zprávy jsou -
- Reuse_alv_fieldcatalog_merge
- Reuse_alv_list_display
- Reuse_alv_events_get
- Reuse_alv_grid_display
- Reuse_alv_commentary_write
REUSE_ALV_FIELDCATALOG_MERGE
Tento funkční modul se používá k naplnění katalogu polí, který je nezbytný pro zobrazení dat v ALV.
Pokud jsou výstupní data z jediné slovníkové tabulky a jsou vybrány všechny sloupce, pak nemusíme výlučně vytvářet katalog polí. Stačí uvést název tabulky jako parametr (I_structure_name) v REUSE_ALV_LIST_DISPLAY. Ale v jiných případech jej musíme vytvořit.
Poznámka: Fieldcatalog lze vyplnit ručně také vyplněním všech požadovaných údajů do interní tabulky
Důležité parametry v jsou:
1. Export:
- I_program_name : ID sestavy
- I_internal_tabname : interní výstupní tabulka
- I_inclname : include nebo název sestavy, kde jsou zpracovávány všechny dynamické formuláře.
2. Změna
- ct_fieldcat: an vnitřní stůl s typem SLIS_T_FIELDCAT_ALV, který je deklarován ve fondu typů SLIS.
REUSE_ALV_LIST_DISPLAY
Toto je funkční modul, který tiskne data.
Důležité parametry jsou:
1. Export:
- I_callback_program : ID zprávy
- I_bypassing_buffer : 'X'
- I_buffer_active : ' '
- I_callback_pf_status_set : rutina, kde uživatel může nastavit svůj vlastní stav pf nebo změnit funkčnost stávajícího stavu pf.
- I_callback_user_command : rutina, kde se zpracovávají kódy funkcí.
- I_structure name : název tabulky slovníku
- Is_Layout : struktura pro nastavení rozvržení sestavy
- It_fieldcat : interní tabulka se seznamem všech polí a jejich atributů, které se mají vytisknout (tato tabulka může být automaticky vyplněna funkcí)
- It_events : vnitřní tabulka se seznamem všech možných událostí ALV a jejich odpovídajícími názvy formulářů.
2. Tabulky:
- A. t_outtab : interní tabulka s daty, která mají být vydána
REUSE_ALV_EVENTS_GET:
Vrátí tabulku možných událostí pro typ seznamu aa
1. Import:
Et_Events :Tabulka událostí je vrácena se všemi možnými událostmi CALLBACK pro zadaný typ seznamu (sloupec 'NAME'). Aby byly události zpracovány zpětným voláním, musí být vyplněno jejich pole 'FORMÁT'. Pokud je pole inicializováno, událost je ignorována. Záznam lze načíst z tabulky událostí, vyplnit pole 'FORM' a záznam upravit pomocí konstant z fondu typů SLIS.
2. Export:
I_list_type: 0 = jednoduchý seznam REUSE_ALV_LIST_DISPLAY
1 = hierarchicko-sekvenční seznam REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = jednoduchý seznam bloků REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarchicko-sekvenční seznam bloků REUSE_ALV_BLOCK_LIST_HS_APPEND
REUSE_ALV_GRID_DISPLAY
Nová funkce z verze ABAP4.6 pro zobrazení výsledků v mřížce namísto náhledu.
Parametry: stejné jako reuse_alv_list_display
Poznámka: Mřížka nezvládne vysoké objemy. Funkce jako třídění, posouvání dolů spotřebovává mnoho zdrojů / času, pokud je objem zobrazených dat vysoký. Neexistuje žádná jasná definice, že pokud je množství dat X, přejděte na seznam nebo mřížku, ale vývojář musí zavolat na základě svých zkušeností. Pokud si nejste jisti, pak je lepší volbou seznam
REUSE_ALV_COMMENTARY_WRITE
To se používá v události Top-of-page k tisku nadpisů a dalších komentářů k seznamu.
Důležité parametry
- It_list_commentary : Interní tabulka s nadpisy typu slis_t_listheader.
Tato interní tabulka má tři pole:
- Typ : 'H' – záhlaví, 'S' – výběr, 'A' – akce
- Klíč: pouze pokud je typ 'S'.
- Info : text, který se má vytisknout
Zpráva o blokování
Vypadá to jako jednoduchá sestava, ale tato sestava má pouze funkce třídění a filtrování. Tato sestava se používá, pokud musíte na výstupu zobrazit více než jednu sestavu. Technicky vzato, pokud máte více interních tabulek s daty, která se mají zobrazit jako samostatné bloky, pak přejdeme na blokovou zprávu ALV.
Důležité funkce použité pro vytvoření tohoto přehledu jsou:
- REUSE_ALV_BLOCK_LIST_INIT
- REUSE_ALV_BLOCK_LIST_APPEND
- REUSE_ALV_BLOCK_LIST_DISPLAY
REUSE_ALV_BLOCK_LIST_INIT
Tento funkční modul se používá k nastavení výchozího stavu gui atd. Parametry jsou podobné těm, které se používají v reuse_alv_list_display nebo reuse_alv_grid_display
REUSE_ALV_BLOCK_LIST_APPEND
Tento funkční modul přidává data do bloku.
Důležité parametry
1. Export:
- is_layout : nastavení rozložení pro blok
- it_fieldcat: katalog polí
- I_tabname : název interní tabulky se všemi možnými událostmi
2. Tabulky:
- t_outtab : interní tabulka s výstupními daty.
REUSE_ALV_BLOCK_LIST_DISPLAY
Tento funkční modul zobrazuje seznam s daty připojenými výše uvedenou funkcí.
Parametry: Všechny parametry jsou volitelné.
Hierarchické zprávy
Hierarchické zobrazení se používá pro zobrazení dat, která spolu souvisí. Jako prodejní objednávka a podrobnosti o položce. Zde mohou být detaily prodejní objednávky data záhlaví, zatímco tyto položky v prodejní objednávce mohou být data položky
K tomu slouží funkční modul
REUSE_ALV_HIERSEQ_LIST_DISPLAY
Vývozní:
- I_CALLBACK_PROGRAM
- I_CALLBACK_PF_STATUS_SET
- I_CALLBACK_USER_COMMAND
- IS_LAYOUT
- It_fieldcat
- It_události
- I_tabname_header : Název interní tabulky v programu obsahující výstupní data nejvyšší úrovně hierarchie.
- I_tabname_item : Název interní tabulky v programu obsahující výstupní data nejnižší úrovně hierarchie.
- Is_keyinfo : Tato struktura obsahuje názvy polí záhlaví a položek tabulky, které spojují dvě tabulky (sdílený klíč).
Tabulky
- t_outtab_header : Záhlaví tabulka s daty, která mají být vydána
- t_outtab_item : Název vnitřní tabulky v programu obsahující výstupní data nejnižší úrovně hierarchie.
Všechny definice interních tabulek, struktur a konstant jsou deklarovány v tzv. fondu typů SLIS. Tato interní tabulka může být naplněna automaticky pomocí REUSE_ALV_FIELDCATALOG_MERGE'.
Zobrazit varianty
- Varianty zobrazení se používají k nastavení výchozích vlastností výstupu alv, jako jsou kritéria řazení, kritéria filtrování, sčítání a mezisoučty atd.
- Varianty zobrazení mohou být uživatelsky specifické a standardní (standardní varianty může použít každý uživatel)
- Druh variant zobrazení, které lze uložit, je řízen parametrem i_save, který se předává ve funkčních modulech reuse_alv_list_display / reuse_alv_grid_display
- Na obrazovce výběru můžete poskytnout možnost vybrat, jakou variantu zobrazení chcete použít
Běžné funkční moduly související s výběrem / ověřením variant zobrazení jsou
- Reuse_alv_variant_default_get
- Znovu použít_alv_variant_f4
- Reuse_alv_variant_existence
To je vše ABAP – ALV programování!