Wspólnymi pożądanymi cechami każdego raportu są „wyrównywanie kolumn”, sortowanie, filtrowanie, sumy częściowe, sumy itp. Aby zaimplementować je od podstaw, należy włożyć wiele wysiłku w kodowanie. Aby tego uniknąć, możemy użyć koncepcji zwanej przeglądarką list ABAP (ALV).
W tym samouczku dowiesz się:
- Prosty raport
- Raport blokowy
- Raporty hierarchiczne
- Wyświetl warianty
Każdy z tych raportów zawiera moduły funkcyjne, które pomagają w tworzeniu żądanych wyników bez większego wysiłku. Przyjrzyjmy się im szczegółowo -
Prosty raport
Ważnymi modułami funkcyjnymi w tym raporcie są:
- Reuse_alv_fieldcatalog_merge
- Reuse_alv_list_display
- Reuse_alv_events_get
- Reuse_alv_grid_display
- Reuse_alv_commentary_write
REUSE_ALV_FIELDCATALOG_MERGE
Ten moduł funkcyjny służy do zapełniania katalogu pól, który jest niezbędny do wyświetlania danych w ALV.
Jeśli dane wyjściowe pochodzą z pojedynczej tabeli słownika i wszystkie kolumny są zaznaczone, 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 również wypełnić ręcznie, wypełniając wszystkie wymagane dane w wewnętrznej tabeli.
Ważne parametry w:
1. Eksport:
- I_program_name: identyfikator raportu
- I_internal_tabname: wewnętrzna tabela wyjściowa
- I_inclname: dołącz lub nazwa raportu, w którym obsługiwane są wszystkie formularze dynamiczne.
2. Zmiana
- ct_fieldcat: wewnętrzna tabela typu SLIS_T_FIELDCAT_ALV, która jest zadeklarowana w puli typów SLIS.
REUSE_ALV_LIST_DISPLAY
To jest moduł funkcji, który drukuje dane.
Ważnymi parametrami są:
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 do ustawiania układu raportu
- It_fieldcat: wewnętrzna tabela z listą wszystkich pól i ich atrybutów, które mają zostać wydrukowane (tabelę tę może automatycznie wypełnić funkcja)
- It_events: wewnętrzna tabela z listą wszystkich możliwych zdarzeń ALV i odpowiadających im nazw formularzy.
2. Tabele:
- za. t_outtab: wewnętrzna tabela z danymi do wyprowadzenia
REUSE_ALV_EVENTS_GET:
Zwraca tabelę możliwych zdarzeń dla listy typu
1. Import:
Et_Events: Tabela zdarzeń jest zwracana ze wszystkimi możliwymi zdarzeniami CALLBACK dla określonego typu listy (kolumna 'NAZWA'). Aby zdarzenia były przetwarzane przez Callback, ich pole „FORM” musi być wypełnione. Jeśli pole jest zainicjowane, zdarzenie jest ignorowane. Wpis można odczytać z tablicy zdarzeń, wypełnić pole „FORM” i zmodyfikować wpis przy pomocy stałych z puli typu SLIS.
2. Eksport:
I_list_type: 0 = prosta lista REUSE_ALV_LIST_DISPLAY
1 = hierarchiczno-sekwencyjna lista REUSE_ALV_HIERSEQ_LIST_DISPLAY
2 = prosta lista bloków REUSE_ALV_BLOCK_LIST_APPEND
3 = hierarchiczno-sekwencyjna lista bloków REUSE_ALV_BLAP_LIST_HS
REUSE_ALV_GRID_DISPLAY
Nowa funkcja z wersji ABAP4.6 do wyświetlania wyników w siatce zamiast podglądu.
Parametry: takie same jak reuse_alv_list_display
Uwaga: Siatka nie obsługuje dużych ilości. Funkcje takie jak sortowanie, przewijanie w dół pochłaniają dużo zasobów / czasu, jeśli ilość danych do wyświetlenia jest duża. Nie ma takiej jasnej definicji, że jeśli ilość danych wynosi X, przejdź do listy lub siatki, ale programista musi odebrać telefon w oparciu o swoje doświadczenie. Jeśli nie jesteś pewien, lepszym rozwiązaniem jest lista
REUSE_ALV_COMMENTARY_WRITE
Jest to używane 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 zawiera trzy pola:
- Typ: „H” - nagłówek, „S” - wybór, „A” - akcja
- Klucz: tylko wtedy, gdy typ to „S”.
- Info: tekst do wydrukowania
Raport blokowy
Wygląda to na 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. Z technicznego punktu widzenia, jeśli masz wiele wewnętrznych tabel z danymi, które mają być wyświetlane jako oddzielne bloki, przechodzimy do raportu blokowego ALV.
Ważnymi 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 parametrów 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.Eksport:
- is_layout: ustawienia układu dla bloku
- it_fieldcat: katalog pól
- I_tabname: wewnętrzna nazwa tabeli ze wszystkimi możliwymi zdarzeniami
2. tabele:
- t_outtab: wewnętrzna tabela z danymi wyjściowymi.
REUSE_ALV_BLOCK_LIST_DISPLAY
Ten moduł funkcji wyświetla listę z danymi dołączonymi przez powyższą funkcję.
Parametry: wszystkie parametry są opcjonalne.
Raporty hierarchiczne
Wyświetlanie hierarchiczne służy do wyświetlania powiązanych danych. Podobnie jak szczegóły zamówienia 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
. Zastosowany do tego moduł funkcyjny to
REUSE_ALV_HIERSEQ_LIST_DISPLAY
Eksport:
- I_CALLBACK_PROGRAM
- I_CALLBACK_PF_STATUS_SET
- I_CALLBACK_USER_COMMAND
- IS_LAYOUT
- It_fieldcat
- It_events
- I_tabname_header: nazwa wewnętrznej tabeli w programie zawierającej dane wyjściowe najwyższego poziomu hierarchii.
- I_tabname_item: nazwa wewnętrznej tabeli w programie zawierającej dane wyjściowe najniższego poziomu hierarchii.
- Is_keyinfo: Ta struktura zawiera nagłówki i nazwy pól tabeli pozycji, które łączą dwie tabele (klucz wspólny).
Tabele
- t_outtab_header: Tabela nagłówków z danymi do wyprowadzenia
- t_outtab_item: nazwa wewnętrznej tabeli w programie zawierającej dane wyjściowe najniższego poziomu hierarchii.
Wszystkie definicje tabel wewnętrznych, struktur i stałych są zadeklarowane w puli typów o nazwie SLIS. Tę wewnętrzną tabelę można wypełnić automatycznie za pomocą REUSE_ALV_FIELDCATALOG_MERGE '.
Wyświetl warianty
- 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, który jest przekazywany w modułach funkcyjnych reuse_alv_list_display / reuse_alv_grid_display
- Na ekranie wyboru można udostępnić opcję wyboru używanego wariantu wyświetlania
Typowymi modułami funkcyjnymi związanymi z wybieraniem / zatwierdzaniem wariantów wyświetlania są
- Reuse_alv_variant_default_get
- Reuse_alv_variant_f4
- Reuse_alv_variant_existence
To wszystko do programowania ABAP-ALV!