Raporty ALV w SAP Samouczek – Przeglądarka list ABAP
Powszechnie pożądanymi funkcjami każdego raportu są „wyrównanie kolumn”, sortowanie, filtrowanie, podsumy, sumy itp. Aby zaimplementować je od zera, należy włożyć dużo wysiłku w kodowanie. Aby tego uniknąć, możemy zastosować koncepcję zwaną przeglądarką list ABAP (ALV).
Każdy z tych raportów zapewnia moduły funkcyjne które pomagają w uzyskaniu pożądanej wydajności bez większego wysiłku. Przyjrzyjmy się im szczegółowo –
Prosty raport
Ważne moduły funkcyjne w nich zawarte raport są -
- Reuse_alv_fieldcatalog_merge
- Użyj ponownie_alv_list_display
- Użyj ponownie_alv_events_get
- Użyj ponownie_alv_grid_display
- Użyj ponownie_alv_commentary_write
REUSE_ALV_FIELDCATALOG_MERGE
Ten moduł funkcyjny służy do wypełniania katalogu pól niezbędnego do wyświetlania danych w ALV.
Jeśli dane wyjściowe pochodzą z jednej tabeli słownikowej i wybrane są wszystkie kolumny, nie musimy tworzyć wyłącznie katalogu pól. Wystarczy wspomnieć nazwę tabeli jako parametr (I_structure_name) w REUSE_ALV_LIST_DISPLAY. Ale w innych przypadkach musimy go stworzyć.
Uwaga: Katalog pól można wypełnić również ręcznie, wpisując wszystkie wymagane szczegóły do tabeli wewnętrznej.
Ważne parametry w to:
1. Eksport:
- I_program_name: identyfikator raportu
- I_internal_tabname : wewnętrzna tabela wyjściowa
- I_inclname : zawiera lub nazwę raportu, w którym obsługiwane są wszystkie formularze dynamiczne.
2. Zmiana
- ct_fieldcat: stół wewnętrzny z typem SLIS_T_FIELDCAT_ALV zadeklarowanym w puli typów SLIS.
REUSE_ALV_LIST_DISPLAY
Jest to moduł funkcyjny, który drukuje dane.
Ważne parametry to:
1. Eksport:
- I_callback_program: identyfikator raportu
- I_bypassing_buffer : 'X'
- I_buffer_active : ' '
- I_callback_pf_status_set : procedura, w której użytkownik może ustawić swój własny status pf lub zmienić funkcjonalność istniejącego statusu pf.
- I_callback_user_command: procedura, w której obsługiwane są kody funkcji.
- I_structure name : nazwa tabeli słownika
- Is_Layout: struktura ustawiająca układ raportu
- It_fieldcat : wewnętrzna tabela zawierająca listę wszystkich pól i ich atrybutów, które mają zostać wydrukowane (tabela ta może zostać automatycznie zapełniona przez funkcję)
- It_events: wewnętrzna tabela z listą wszystkich możliwych zdarzeń ALV i odpowiadającymi im nazwami formularzy.
2. Tabele:
- A. t_outtab: wewnętrzna tabela z danymi, które mają zostać wyprowadzone
REUSE_ALV_EVENTS_GET:
Zwraca tabelę możliwych zdarzeń dla typu listy
1. Importuj:
Et_Wydarzenia:Zwracana jest tabela zdarzeń ze wszystkimi możliwymi zdarzeniami CALLBACK dla określonego typu listy (kolumna „NAZWA”). Aby zdarzenia mogły zostać przetworzone przez Callback, należy wypełnić pole FORMULARZ. Jeśli pole jest inicjowane, zdarzenie jest ignorowane. Wpis można odczytać z tabeli zdarzeń, wypełnić pole FORMULARZ i zmodyfikować wpis przy pomocy stałych z puli typu SLIS.
2. Eksport:
I_list_type: 0 = prosta lista REUSE_ALV_LIST_DISPLAY
1 = lista hierarchiczno-sekwencyjna REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = prosta lista bloków REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarchiczno-sekwencyjna lista bloków REUSE_ALV_BLOCK_LIST_HS_APPEND
REUSE_ALV_GRID_DISPLAY
Nowa funkcja z wersji ABAP4.6 umożliwiająca wyświetlanie wyników w siatce zamiast podglądu.
Parametry: takie same jak reuse_alv_list_display
Uwaga: Grid nie radzi sobie z dużymi wolumenami. Funkcje takie jak sortowanie, przewijanie w dół zużywają dużo zasobów / czasu, jeśli wolumen danych do wyświetlenia jest duży. Nie ma jasnej definicji, że jeśli ilość danych wynosi X, wybierz listę lub siatkę, ale deweloper musi podjąć decyzję na podstawie swojego doświadczenia. Jeśli nie jesteś pewien, lepszą opcją jest lista.
REUSE_ALV_COMMENTARY_WRITE
Jest to wykorzystywane w zdarzeniu Top-of-page w celu wydrukowania nagłówków i innych komentarzy do listy.
Ważne parametry
- It_list_commentary: Wewnętrzna tabela z nagłówkami typu slis_t_listheader.
Ta wewnętrzna tabela ma trzy pola:
- Typ: „H” – nagłówek, „S” – wybór, „A” – akcja
- Klucz: tylko wtedy, gdy typem jest „S”.
- Informacje: tekst do wydrukowania
Raport bloku
Wygląda to jak prosty raport, ale ten raport ma tylko funkcje sortowania i filtrowania. Ten raport jest używany, jeśli musisz wyświetlić więcej niż jeden raport na wyjściu. Mówiąc technicznie, jeśli masz wiele wewnętrznych tabel z danymi, które mają być wyświetlane jako oddzielne bloki, to wybieramy raport blokowy ALV.
Najważniejszymi funkcjami używanymi do tworzenia tego raportu są:
- REUSE_ALV_BLOCK_LIST_INIT
- REUSE_ALV_BLOCK_LIST_APPEND
- REUSE_ALV_BLOCK_LIST_DISPLAY
REUSE_ALV_BLOCK_LIST_INIT
Ten moduł funkcyjny służy do ustawiania domyślnego statusu GUI itp. Parametry są podobne do tych używanych w reuse_alv_list_display lub reuse_alv_grid_display
REUSE_ALV_BLOCK_LIST_APPEND
Ten moduł funkcyjny dodaje dane do bloku.
Ważne parametry
1. Eksportuj:
- is_layout: ustawienia układu bloku
- it_fieldcat: katalog pól
- I_tabname : nazwa tabeli wewnętrznej ze wszystkimi możliwymi zdarzeniami
2.Tabele:
- t_outtab: wewnętrzna tabela z danymi wyjściowymi.
REUSE_ALV_BLOCK_LIST_DISPLAY
Ten moduł funkcyjny wyświetla listę z danymi dołączonymi przez powyższą funkcję.
Parametry: Wszystkie parametry są opcjonalne.
Raporty hierarchiczne
Wyświetlanie hierarchiczne jest używane do wyświetlania danych, które są powiązane. Jak szczegóły zamówienia sprzedaży i pozycji. Tutaj szczegóły zamówienia sprzedaży mogą być danymi nagłówka, podczas gdy pozycje w zamówieniu sprzedaży mogą być danymi pozycji
Służy do tego moduł funkcyjny
REUSE_ALV_HIERSEQ_LIST_DISPLAY
Eksport:
- I_CALLBACK_PROGRAM
- I_CALLBACK_PF_STATUS_SET
- I_CALLBACK_USER_COMMAND
- IS_LAYOUT
- It_fieldcat
- To_wydarzenia
- I_tabname_header : Nazwa tabeli wewnętrznej w programie zawierającej dane wyjściowe najwyższego poziomu hierarchii.
- I_tabname_item : Nazwa tabeli wewnętrznej w programie zawierającej dane wyjściowe najniższego poziomu hierarchii.
- Is_keyinfo: Ta struktura zawiera nazwy pól tabeli nagłówka i elementu, które łączą dwie tabele (klucz współdzielony).
Stoły
- t_outtab_header : Tabela nagłówków z danymi do wyprowadzenia
- t_outtab_item : Nazwa tabeli wewnętrznej w programie zawierającej dane wyjściowe najniższego poziomu hierarchii.
Wszystkie definicje wewnętrznych tabel, struktur i stałych są zadeklarowane w puli typów o nazwie SLIS. Ta wewnętrzna tabela może zostać wypełniona automatycznie przy użyciu REUSE_ALV_FIELDCATALOG_MERGE'.
Warianty wyświetlania
- Warianty wyświetlania służą do ustawiania domyślnych właściwości wyjścia alv, takich jak kryteria sortowania, kryteria filtrowania, sumowanie i sumowanie częściowe itp.
- Warianty wyświetlania mogą być specyficzne dla użytkownika i standardowe (warianty standardowe mogą być używane przez dowolnego użytkownika)
- Rodzaj wariantów wyświetlania, które można zapisać, jest kontrolowany przez parametr i_save przekazywany w modułach funkcjonalnych reuse_alv_list_display / reuse_alv_grid_display
- Na ekranie wyboru możesz udostępnić opcję wyboru wariantu wyświetlania
Powszechnymi modułami funkcyjnymi związanymi z wyborem/weryfikacją wariantów wyświetlania są
- Użyj ponownie_alv_variant_default_get
- Użyj ponownie_alv_variant_f4
- Reuse_alv_variant_existence
To wszystko ABAP – Programowanie ALV!