Bármely jelentés közös kívánt jellemzői: "oszlopok igazítása", válogatás, szűrés, részösszegek, összesítések stb. Ezek nulláról történő megvalósításához sok kódolási erőfeszítést kell tenni. Ennek elkerülése érdekében használhatunk egy ABAP List Viewer (ALV) nevű fogalmat.
Ebben az oktatóanyagban megtudhatja:
- Egyszerű jelentés
- Jelentés blokkolása
- Hierarchikus jelentések
- Megjelenítési változatok
Ezek a jelentések mindegyike olyan funkcionális modulokat tartalmaz, amelyek nagy erőfeszítés nélkül segítenek a kívánt kimenet előállításában. Nézzük meg őket részletesen -
Egyszerű jelentés
A jelentés fontos funkciómoduljai a következők:
- Újrafelhasználás_alv_táblakatalog_merge
- Reuse_alv_list_display
- Reuse_alv_events_get
- Reuse_alv_grid_display
- Újrafelhasználás_értékelés_kommentár_írása
REUSE_ALV_FIELDCATALOG_MERGE
Ez a függvény modul egy mezõkatalógus feltöltésére szolgál, amely elengedhetetlen az adatok ALV-ben való megjelenítéséhez.
Ha a kimeneti adatok egyetlen szótártáblából származnak, és az összes oszlop ki van jelölve, akkor nem csak a mezőkatalógust kell létrehoznunk. Elég megemlíteni a táblázat nevét paraméterként (I_structure_name) a REUSE_ALV_LIST_DISPLAY-ben. De más esetekben létre kell hoznunk.
Megjegyzés: A mezőkatalógus manuálisan is kitölthető az összes szükséges adat kitöltésével a belső táblázatba.
Fontos paraméterek:
1. Export:
- I_program_név: jelentésazonosító
- I_belső_tabname: a belső kimeneti tábla
- I_inclname: tartalmazza vagy a jelentés neve, ahol az összes dinamikus űrlapot kezelik.
2. Változás
- ct_fieldcat: egy belső tábla SLIS_T_FIELDCAT_ALV típussal, amelyet az SLIS típusú készlet deklarál.
REUSE_ALV_LIST_DISPLAY
Ez az a funkció modul, amely kinyomtatja az adatokat.
A fontos paraméterek:
1. Export:
- I_callback_program: jelentésazonosító
- I_bypassing_buffer: 'X'
- I_buffer_active: "
- I_callback_pf_status_set: rutin, ahol a felhasználó beállíthatja saját pf állapotát, vagy megváltoztathatja a meglévő pf állapot funkcionalitását.
- I_callback_user_command: rutin, ahol a funkciókódokat kezelik.
- I_structure name: a szótártábla neve
- Is_Layout: struktúra a jelentés elrendezésének beállításához
- It_fieldcat: belső táblázat az összes nyomtatandó mező és attribútumuk listájával (ezt a táblázatot a függvény automatikusan kitöltheti)
- It_events: belső táblázat az ALV összes lehetséges eseményének listájával és a hozzájuk tartozó űrlapnevekkel.
2. Táblázatok:
- a. t_outtab: belső táblázat a kimenő adatokkal
REUSE_ALV_EVENTS_GET: Az 1. listatípus
lehetséges eseményeinek táblázatát adja vissza
. Importálás:
Et_Events: Az eseménytábla a megadott listatípus összes lehetséges visszahívási eseményével ('NAME' oszlop) tér vissza. Ahhoz, hogy az eseményeket a visszahívás feldolgozza, a "FORM" mezőjüket ki kell tölteni. A mező inicializálása esetén az esemény figyelmen kívül marad. A bejegyzés az eseménytáblázatból olvasható, a „FORM” mező kitöltött, és a bejegyzés a SLIS típusú állomány konstansainak használatával módosítható.
2. Exportálás:
I_list_type: 0 = egyszerű lista REUSE_ALV_LIST_DISPLAY
1 = hierarchikus-szekvenciális lista REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = egyszerű blokklista REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarchikus-szekvenciális blokklista REUSE_ALV_BLOCK_LIST_HS
REUSE_ALV_GRID_DISPLAY
Új funkció az ABAP4.6 verziótól, az eredmények előnézet helyett rácsban történő megjelenítésére.
Paraméterek: ugyanazok, mint az reuse_alv_list_display
Megjegyzés: A rács nem képes kezelni a nagy mennyiségeket. Az olyan funkciók, mint a rendezés, a lefelé görgetés, sok erőforrást / időt emészt fel, ha a megjelenítendő adatok mennyisége nagy. Nincs olyan egyértelmű definíció, hogy ha az adatmennyiség X, akkor listára vagy rácsra megy, de a fejlesztőnek tapasztalata alapján hívást kell kezdeményeznie. Ha nem biztos, akkor a lista a jobb megoldás
REUSE_ALV_COMMENTARY_WRITE
Ez az oldal tetején esemény a címsorok és egyéb megjegyzések kinyomtatására szolgál.
Fontos paraméterek
- It_list_commentary: Belső tábla a slis_t_listheader típusú fejlécekkel.
Ennek a belső táblának három mezője van:
- Tipus: „H” - fejléc, „S” - kiválasztás, „A” - művelet
- Kulcs: csak akkor, ha a típus 'S'.
- Info: a nyomtatandó szöveg
Jelentés blokkolása
Úgy néz ki, mint egy egyszerű jelentés, de ez a jelentés csak a rendezés és a szűrés jellemzőivel rendelkezik. Ez a jelentés akkor használható, ha egynél több jelentést kell megjelenítenie a kimeneten. Technikailag elmondható, hogy ha több belső táblázata van, az adatokat külön blokkokban kell megjeleníteni, akkor az ALV blokkjelentését folytatjuk.
A jelentés elkészítéséhez használt fontos funkciók a következők:
- REUSE_ALV_BLOCK_LIST_INIT
- REUSE_ALV_BLOCK_LIST_APPEND
- REUSE_ALV_BLOCK_LIST_DISPLAY
REUSE_ALV_BLOCK_LIST_INIT
Ez a függvény modul az alapértelmezett gui állapot stb. Beállítására szolgál. A paraméterek hasonlóak a reuse_alv_list_display vagy reuse_alv_grid_display
REUSE_ALV_BLOCK_LIST_APPEND paraméterekhez.
Ez a funkció modul hozzáadja az adatokat a blokkhoz.
Fontos paraméterek 1.
Export:
- is_layout: a blokk elrendezési beállításai
- it_fieldcat: mező katalógus
- I_tabname: belső táblanév az összes lehetséges eseményrel
2. Táblázatok:
- t_outtab: belső táblázat kimeneti adatokkal.
REUSE_ALV_BLOCK_LIST_DISPLAY
Ez a funkciómodul megjeleníti a fenti funkcióval kiegészített adatok listáját.
Paraméterek: Az összes paraméter választható.
Hierarchikus jelentések
A hierarchikus megjelenítés a kapcsolódó adatok megjelenítésére szolgál. Tetszik az értékesítési rendelés és a cikk részletei. Itt az értékesítési rendelés részletei lehetnek a fejléc adatai, míg azok az értékesítési rendelésben szereplő elemek lehetnek az elem adatai.
Az ehhez használt
funkciómodul a REUSE_ALV_HIERSEQ_LIST_DISPLAY
Export:
- I_CALLBACK_PROGRAM
- I_CALLBACK_PF_STATUS_SET
- I_CALLBACK_USER_COMMAND
- IS_LAYOUT
- It_fieldcat
- It_events
- I_tabname_header: A program belső táblájának neve, amely a legmagasabb hierarchia szint kimeneti adatait tartalmazza.
- I_tabname_item: A belső tábla neve a programban, amely a legalacsonyabb hierarchia szint kimeneti adatait tartalmazza.
- Is_keyinfo: Ez a szerkezet tartalmazza a fejléc és az elemtábla mezőneveit, amelyek összekapcsolják a két táblát (megosztott kulcs).
Táblázatok
- t_outtab_header: Fejléctábla a kiadandó adatokkal
- t_outtab_item: A program belső tábla neve, amely a legalacsonyabb hierarchia szint kimeneti adatait tartalmazza.
A belső táblák, struktúrák és konstansok összes definícióját az SLIS nevű típuskészlet deklarálja. Ez a belső táblázat automatikusan kitölthető a REUSE_ALV_FIELDCATALOG_MERGE 'használatával.
Megjelenítési változatok
- A megjelenítési változatok az alv kimenet alapértelmezett tulajdonságainak, például rendezési kritériumok, szűrési feltételek, összesítés és részösszeg stb.
- A megjelenítési változatok lehetnek felhasználóspecifikusak és szabványosak (a standard változatokat bármely felhasználó használhatja)
- A menthető megjelenítési változatok típusát az i_save paraméter vezérli, amelyet a funkciómodulokban adnak át reuse_alv_list_display / reuse_alv_grid_display
- A kiválasztási képernyőn megadhat egy lehetőséget a használni kívánt megjelenítési változat kiválasztására
A megjelenítési változatok kiválasztásával / érvényesítésével kapcsolatos közös funkciómodulok
- Reuse_alv_variant_default_get
- Újrafelhasználás_alv_változó_f4
- Újrafelhasználás_érték_változó_lét
Ez az ABAP- ALV programozás!