Uobičajene željene značajke bilo kojeg izvješća su "poravnanje stupaca", sortiranje, filtriranje, ukupan zbroj, zbrojevi itd. Da bi se to primijenilo od nule, treba uložiti mnogo napora u kodiranje. Da bismo to izbjegli, možemo koristiti koncept nazvan ABAP List Viewer (ALV).
U ovom vodiču naučit ćete:
- Jednostavno izvješće
- Izvještaj o blokovima
- Hijerarhijska izvješća
- Prikaz varijanti
Svako od ovih izvješća pruža funkcionalne module koji pomažu u stvaranju željenih rezultata bez mnogo napora. Pogledajmo ih detaljno -
Jednostavno izvješće
Važni funkcionalni moduli u ovom izvješću su -
- Ponovna upotreba_alv_fieldcatalog_merge
- Ponovna upotreba_alv_list_display
- Ponovna upotreba_alv_events_get
- Ponovna upotreba_alv_grid_display
- Ponovna upotreba_alv_commentary_write
REUSE_ALV_FIELDCATALOG_MERGE
Ovaj funkcijski modul koristi se za popunjavanje kataloga polja koji je neophodan za prikaz podataka u ALV.
Ako su izlazni podaci iz jedne tablice rječnika i odabrani su svi stupci, tada ne trebamo isključivo izrađivati katalog polja. Dovoljno je spomenuti naziv tablice kao parametar (I_structure_name) u REUSE_ALV_LIST_DISPLAY. Ali u drugim slučajevima to moramo stvoriti.
Napomena: Katalog polja može se popuniti i ručno popunjavanjem svih potrebnih detalja u internu tablicu
Važni parametri u su:
1. Izvoz:
- I_program_name: ID izvješća
- I_internal_tabname: interna tablica izlaza
- I_inclname: uključuje ili naziv izvješća u kojem se obrađuju svi dinamički obrasci.
2. Mijenjanje
- ct_fieldcat: interna tablica s tipom SLIS_T_FIELDCAT_ALV koja je deklarirana u spremištu tipova SLIS.
REUSE_ALV_LIST_DISPLAY
Ovo je funkcijski modul koji ispisuje podatke.
Važni parametri su:
1. Izvoz:
- I_callback_program: ID izvješća
- I_bypassing_buffer: 'X'
- I_buffer_active: ''
- I_callback_pf_status_set: rutina u kojoj korisnik može postaviti vlastiti pf status ili promijeniti funkcionalnost postojećeg pf statusa.
- I_callback_user_command: rutina u kojoj se rukuje kodovima funkcija.
- Ime I_strukture: naziv tablice rječnika
- Is_Layout: struktura za postavljanje izgleda izvješća
- It_fieldcat: interna tablica s popisom svih polja i njihovih atributa koji se ispisuju (ovu tablicu funkcija može automatski popuniti)
- It_events: interna tablica s popisom svih mogućih događaja ALV-a i odgovarajućim imenima oblika.
2. Tablice:
- a. t_outtab: interna tablica s podacima za izlaz
REUSE_ALV_EVENTS_GET:
Vraća tablicu mogućih događaja za tip popisa
1. Uvoz:
Et_Events: Tablica događaja vraća se sa svim mogućim CALLBACK događajima za navedenu vrstu popisa (stupac 'NAME'). Da bi povratni poziv obrađivao događaje, mora se ispuniti njihovo polje 'OBRAZAC'. Ako je polje inicijalizirano, događaj se zanemaruje. Unos se može pročitati iz tablice događaja, popuniti polje 'OBRAZAC' i izmijeniti unos pomoću konstanti iz tipa SLIS.
2. Izvoz:
I_list_type: 0 = jednostavan popis REUSE_ALV_LIST_DISPLAY
1 = hijerarhijsko-sekvencijalni popis REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = jednostavan popis blokova REUSE_ALV_BLOCK_LIST_APPEND
3 = hijerarhijski-sekvencijalni popis blokova REUSE_ALV_BLOCK_END_BLOCK_END
REUSE_ALV_GRID_DISPLAY
Nova funkcija iz verzije ABAP4.6 za prikaz rezultata u mreži, a ne u pregledu.
Parametri: isto kao i ponovna upotreba_alv_list_display
Napomena: Mreža ne može podnijeti velike količine. Funkcije poput sortiranja, pomicanja prema dolje troše puno resursa / vremena ako je količina podataka koji će se prikazati velika. Ne postoji jasna definicija takva da ako je količina podataka X idite na popis ili mrežu, ali programer mora primiti poziv na temelju svog iskustva. Ako niste sigurni, onda je lista bolja opcija
REUSE_ALV_COMMENTARY_WRITE
Ovo se koristi u događaju na vrhu stranice za ispis zaglavlja i ostalih komentara na popisu.
Važni parametri
- It_list_commentary: Interna tablica s naslovima tipa slis_t_listheader.
Ova interna tablica ima tri polja:
- Tip: 'H' - zaglavlje, 'S' - odabir, 'A' - akcija
- Ključ: samo kada je tip "S".
- Informacije: tekst za ispis
Izvještaj o blokovima
Ovo izgleda kao jednostavno izvješće, ali ovo izvješće ima značajke samo sortiranja i filtriranja. Ovo se izvješće koristi ako na izlazu morate prikazati više izvješća. Tehnički gledano, ako imate više internih tablica s podacima koji se prikazuju kao zasebni blokovi, idemo na izvješće o bloku ALV.
Važne funkcije korištene za izradu ovog izvješća su:
- REUSE_ALV_BLOCK_LIST_INIT
- REUSE_ALV_BLOCK_LIST_APPEND
- REUSE_ALV_BLOCK_LIST_DISPLAY
REUSE_ALV_BLOCK_LIST_INIT
Ovaj funkcijski modul koristi se za postavljanje zadanog gui statusa itd. Parametri su slični onome koji se koristi u reuse_alv_list_display ili reuse_alv_grid_display
REUSE_ALV_BLOCK_LIST_APPEND
Ovaj funkcijski modul dodaje podatke u blok.
Važni parametri
1.Eksport:
- is_layout: postavke izgleda za blok
- it_fieldcat: katalog polja
- I_tabname: interno ime tablice sa svim mogućim događajima
2.Tablice:
- t_outtab: interna tablica s izlaznim podacima.
REUSE_ALV_BLOCK_LIST_DISPLAY
Ovaj funkcijski modul prikazuje popis s podacima koje dodaje gornja funkcija.
Parametri: Svi parametri nisu obvezni.
Hijerarhijska izvješća
Hijerarhijski prikaz koristi se za prikaz povezanih podataka. Poput detalja narudžbenice i predmeta. Ovdje detalji prodajnog naloga mogu biti podaci zaglavlja, dok njihove stavke u prodajnom nalogu mogu biti podaci predmeta
. Funkcijski modul koji se za to koristi je
REUSE_ALV_HIERSEQ_LIST_DISPLAY
Izvoz:
- I_CALLBACK_PROGRAM
- I_CALLBACK_PF_STATUS_SET
- I_CALLBACK_USER_COMMAND
- IZGLEDAJ
- It_fieldcat
- Događaji
- I_tabname_header: Ime interne tablice u programu koja sadrži izlazne podatke najviše razine hijerarhije.
- I_tabname_item: Ime interne tablice u programu koja sadrži izlazne podatke najniže razine hijerarhije.
- Is_keyinfo: Ova struktura sadrži imena polja zaglavlja i tablice stavki koja povezuju dvije tablice (zajednički ključ).
Stolovi
- t_outtab_header: Tablica zaglavlja s podacima za izlaz
- t_outtab_item: Ime interne tablice u programu koja sadrži izlazne podatke najniže razine hijerarhije.
Sve definicije internih tablica, struktura i konstanti deklarirane su u tipu spremišta zvanom SLIS. Ova se interna tablica može automatski popuniti pomoću REUSE_ALV_FIELDCATALOG_MERGE '.
Prikaz varijanti
- Varijante prikaza koriste se za postavljanje zadanih svojstava alv izlaza poput kriterija sortiranja, kriterija filtriranja, zbrajanja i međuzbroja itd.
- Varijante prikaza mogu biti specifične za korisnika i standardne (standardne inačice može koristiti bilo koji korisnik)
- Vrste varijanti prikaza koje se mogu spremiti kontrolira parametar i_save koji se prenosi u funkcijskim modulima reuse_alv_list_display / reuse_alv_grid_display
- Na zaslonu za odabir možete dati opciju za odabir varijante prikaza koja će se koristiti
Uobičajeni funkcionalni moduli koji se odnose na odabir / provjeru valjanosti varijanti prikaza su
- Ponovna upotreba_alv_variant_default_get
- Ponovna upotreba_alv_variant_f4
- Ponovna upotreba_alv_varijantno_postojanje
To je sve za ABAP-ALV programiranje!