ALV izvješća u SAP Vodič – ABAP List Viewer
Uobičajene željene značajke svakog izvješća su "poravnanje stupaca", sortiranje, filtriranje, međuzbrojevi, ukupni zbrojevi itd. Da bi se to implementiralo od nule, potrebno je uložiti mnogo truda kodiranja. Da bismo to izbjegli možemo koristiti koncept koji se zove ABAP List Viewer (ALV).
Svaki od ovih izvještaja pruža funkcijski moduli koji pomažu u proizvodnji željenog rezultata bez puno truda. Pogledajmo ih detaljnije –
Jednostavno izvješće
Važni funkcijski moduli u ovim prijaviti jesu -
- Reuse_alv_field_catalog_merge
- Reuse_alv_list_display
- Reuse_alv_events_get
- Reuse_alv_grid_display
- Reuse_alv_commentary_write
REUSE_ALV_FIELDCATALOG_MERGE
Ovaj funkcijski modul koristi se za popunjavanje kataloga polja koji je neophodan za prikaz podataka u ALV-u.
Ako su izlazni podaci iz jedne rječničke tablice i svi su stupci odabrani, tada ne moramo isključivo kreirati katalog polja. Dovoljno je spomenuti naziv tablice kao parametar (I_structure_name) u REUSE_ALV_LIST_DISPLAY. Ali u drugim slučajevima moramo ga stvoriti.
Napomena: Fieldcatalog se može ispuniti i ručno ispunjavanjem svih potrebnih detalja u internoj tablici
Važni parametri u su:
1. Izvoz:
- I_program_name : ID izvješća
- I_internal_tabname : interna izlazna tablica
- I_inclname : uključi ili ime izvješća gdje se rukuje svim dinamičkim obrascima.
2. Mijenjanje
- ct_fieldcat : an interni stol s tipom SLIS_T_FIELDCAT_ALV koji je deklariran u skupu 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 gdje korisnik može postaviti svoj vlastiti pf status ili promijeniti funkcionalnost postojećeg pf statusa.
- I_callback_user_command : rutina u kojoj se rukuje funkcijskim kodovima.
- I_structure name : 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 trebaju ispisati (ovu tablicu funkcija može automatski popuniti)
- It_events : interna tablica s popisom svih mogućih događaja ALV-a i njihovih odgovarajućih naziva oblika.
2. Tablice:
- a. t_outtab : interna tablica s podacima za izlaz
REUSE_ALV_EVENTS_GET:
Vraća tablicu mogućih događaja za vrstu popisa
1. Uvoz:
Et_Events :Vraća se tablica događaja sa svim mogućim događajima CALLBACK za navedenu vrstu popisa (stupac 'IME'). Da bi se događaji obradili povratnim pozivom, njihovo polje 'FORM' mora biti ispunjeno. Ako je polje inicijalizirano, događaj se zanemaruje. Unos se može pročitati iz tablice događaja, popuniti polje 'FORM' i modificirati unos pomoću konstanti iz skupa tipova SLIS.
2. Izvoz:
I_list_type: 0 = jednostavan popis REUSE_ALV_LIST_DISPLAY
1 = hijerarhijski-sekvencijalni popis REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = jednostavan popis blokiranih REUSE_ALV_BLOCK_LIST_APPEND
3 = hijerarhijsko-sekvencijalni popis blokova REUSE_ALV_BLOCK_LIST_HS_APPEND
REUSE_ALV_GRID_DISPLAY
Nova funkcija iz verzije ABAP4.6 za prikaz rezultata u tablici umjesto u pregledu.
Parametri: isto kao i reuse_alv_list_display
Napomena: Grid ne može podnijeti velike količine. Funkcije poput sortiranja, pomicanja prema dolje troše mnogo resursa/vremena ako je količina podataka za prikaz velika. Ne postoji jasna definicija tako da ako je količina podataka X idite na popis ili mrežu, ali programer mora prihvatiti poziv na temelju svog iskustva. Ako niste sigurni, popis je bolja opcija
REUSE_ALV_COMMENTARY_WRITE
Ovo se koristi u događaju Top-of-page za ispis naslova i drugih komentara za popis.
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
- Tipka : samo kada je tip 'S'.
- Info : tekst za ispis
Blokiraj izvješće
Ovo izgleda kao jednostavno izvješće, ali ovo izvješće ima samo značajke sortiranja i filtriranja. Ovo izvješće se koristi ako morate prikazati više od jednog izvješća na izlazu. Tehnički govoreći, ako imate više internih tablica s podacima koji se prikazuju kao zasebni blokovi, onda idemo na blokovno izvješće ALV-a.
Važne funkcije koje se koriste 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 onima koji se koriste 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. Izvoz:
- is_layout : postavke izgleda za blok
- it_fieldcat : terenski katalog
- I_tabname : naziv interne 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 dodanim gornjom funkcijom.
Parametri: Svi parametri nisu obavezni.
Hijerarhijska izvješća
Hijerarhijski prikaz koristi se za prikaz podataka koji su povezani. Poput pojedinosti o prodajnoj narudžbi i artiklu. Ovdje detalji prodajnog naloga mogu biti podaci zaglavlja, dok njihove stavke u prodajnom nalogu mogu biti podaci o artiklu
Funkcijski modul koji se za to koristi je
REUSE_ALV_HIERSEQ_LIST_DISPLAY
Izvoz:
- I_CALLACK_PROGRAM
- I_CALLBACK_PF_STATUS_SET
- I_CALLBACK_USER_COMMAND
- JE_RASPORED
- It_fieldcat
- To_događaji
- I_tabname_header : Naziv interne tablice u programu koja sadrži izlazne podatke najviše razine hijerarhije.
- I_tabname_item : Naziv interne tablice u programu koja sadrži izlazne podatke najniže razine hijerarhije.
- Is_keyinfo : Ova struktura sadrži nazive polja tablice zaglavlja i stavki koji povezuju dvije tablice (dijeljeni ključ).
Tablice
- t_outtab_header : Tablica zaglavlja s podacima za izlaz
- t_outtab_item : Naziv interne tablice u programu koja sadrži izlazne podatke najniže razine hijerarhije.
Sve definicije internih tablica, struktura i konstanti deklarirane su u skupu tipova koji se zove SLIS. Ova se interna tablica može automatski popuniti korištenjem REUSE_ALV_FIELDCATALOG_MERGE'.
Varijante prikaza
- Varijante prikaza koriste se za postavljanje zadanih svojstava alv izlaza kao što su kriteriji sortiranja, kriteriji filtriranja, zbrajanje i međuzbrojevi itd.
- Varijante prikaza mogu biti specifične za korisnika i standardne (standardne varijante može koristiti bilo koji korisnik)
- Vrsta varijanti prikaza koje se mogu spremiti kontrolira se parametrom i_save koji se prosljeđuje 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 funkcijski moduli koji se odnose na odabir/provjeru varijanti prikaza su
- Reuse_alv_variant_default_get
- Ponovna upotreba_alv_varijante_f4
- Ponovno korištenje_alv_varijante_postojanje
To je sve ABAP – ALV programiranje!