Wszystko o programowaniu raportów ABAP
SAP-ABAP obsługuje dwa typy programów – Report Programs i Dialog Programs. Report Programs są używane, gdy trzeba wyświetlić duże ilości danych
Cel/wykorzystanie programów raportujących
- Stosuje się je, gdy przed prezentacją należy wybrać i przetworzyć dane z wielu tabel
- Używane, gdy raporty wymagają specjalnego formatu
- Używane, gdy raport ma zostać pobrany z SAP do arkusza programu Excel w celu rozmieszczenia.
- Używane, gdy raport musi zostać wysłany do konkretnej osoby.
Ważne uwagi dotyczące programu raportów
- Programy raportujące są zawsze programami wykonywalnymi. Typ programu to zawsze 1.
- Każdy program raportujący odpowiada konkretnemu typowi aplikacji, tj. sprzedaży i dystrybucji, FI – CO itp. Może to być również aplikacja krzyżowa, tj. typ „*”.
- Programowanie raportów to programowanie sterowane zdarzeniami.
- Pierwszą linią programu raportującego jest zawsze Raport .
- Aby pominąć nagłówek listy lub nazwę programu, należy dodać Brak standardowego nagłówka strony Jest używane.
- Rozmiar linii dla konkretnego raportu można ustawić za pomocą dodatku Rozmiar linii .
- Liczbę wierszy dla konkretnej strony można ustawić za pomocą dodatku liczba linii n(n1). N to liczba wierszy strony, a N1 to liczba wierszy zarezerwowanych na stopkę strony.
- Aby wyświetlić jakąkolwiek informację lub komunikat o błędzie dodajemy do programu klasę komunikatu za pomocą dodatku: ID wiadomości . Klasy komunikatów są utrzymywane w SE91.
Dlatego idealny program raportowania powinien zaczynać się od:
Report <report name> no standard page heading line-size <size> line-count <n(n1)> message-id <message class>.
Ekran wyboru
„Ekran wyboru” to ekran, na którym określa się wartości wejściowe, dla których program ma zostać uruchomiony.
Ekran wyboru jest zwykle generowany na podstawie pliku
- parametry
- Wybierz opcje
Składnia
Selection-screen begin of screen <screen #> selection-screen begin of block <#> with frame title <text> ......... ......... selection-screen end of block <#> selection-screen end of screen <screen #>
parametry
Parametry pomagają w dokonaniu dynamicznego wyboru. Mogą pomieścić tylko jedną wartość na jeden cykl wykonania programu.
Składnia
Definiowanie parametrów jako typu danych
Parameters p_id(30) type c.
Definiowanie parametrów, takich jak pole tabeli.
Parameter p_id like <table name>-<field name>.
Parametrami mogą być zarówno pola wyboru, jak i przyciski radiowe.
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
Parametry mogą być listami pól.
Parameter p_id like <table name>-<field name> as listbox
Wybierz opcje
Opcja wyboru służy do wprowadzania zakresu wartości lub zestawu wartości do programu
Składnia
select-options s_vbeln for vbak-vbeln.
Można także zdefiniować opcję wyboru, taką jak zmienna
select-options s_vbeln for vbak-vbeln no intervals no-extension
Zdarzenia w programie raportów ABAP
Programy raportujące ABAP są programy sterowane zdarzeniami. Różne zdarzenia w programie raportu to:
Ładowanie programu
- Wyzwala powiązane zdarzenie w sesji wewnętrznej po załadowaniu programu typu 1, M, F lub S.
- Uruchamia również powiązany blok przetwarzania raz i tylko raz dla każdego programu i sesji wewnętrznej.
- Blok przetwarzający LOAD-OF-PROGRAM ma mniej więcej tę samą funkcję dla: programu ABAP typu 1, M, F lub S, jakie konstruktor ma dla klas w obiektach ABAP
Inicjalizacja.
- To zdarzenie jest wykonywane przed wyświetleniem ekranu wyboru.
- Inicjalizacja wszystkich wartości.
- Można przypisać inne wartości niż wartości domyślne na ekranie wyboru.
- Możesz wypełnić ekran wyboru pewnymi wartościami w czasie wykonywania.
Na ekranie wyboru.
- Zdarzenie zostaje zrealizowane po przetworzeniu ekranu wyboru (na końcu PAI).
- Tutaj odbywa się walidacja i kontrola wprowadzonych wartości
Początek selekcji.
- Tutaj program rozpoczyna wybieranie wartości z tabel.
Koniec selekcji.
- Po wybraniu wszystkich danych, zdarzenie to zapisuje dane na ekranie.
Wydarzenia interaktywne
- Używany do interaktywnego raportowania. Służy do tworzenia listy szczegółowej z listy podstawowej.
Formatowanie raportu
ABAP pozwala na formatowanie raportów według potrzeb użytkownika. Na przykład „Linie alternatywne” muszą być wyświetlane w różnych kolorach, a linia „Sumy” powinna być wyświetlana w kolorze żółtym.
Składnia
Format Color n Format Color n Intensified On
n może odpowiadać różnym liczbom
Należy pamiętać, że oprócz formatu istnieją również inne dodatki
FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF
Programowanie raportów interaktywnych
- Korzystając z programowania interaktywnego, użytkownicy mogą aktywnie kontrolować pobieranie i wyświetlanie danych
- Służy do tworzenia szczegółowej listy na podstawie bardzo podstawowej listy
- Dane szczegółowe zapisywane są na liście wtórnej.
- Lista dodatkowa może całkowicie nakładać się na pierwszy ekran lub można ją wyświetlić na nowym ekranie
- Listy dodatkowe same w sobie mogą być interaktywne.
- Pierwsza lista może również wywołać transakcję.
- Istnieją różne wydarzenia związane z programowaniem interaktywnym.
Niektóre polecenia używane do programowania interaktywnego
hotspot
Jeśli przeciągnie się myszkę nad danymi wyświetlanymi w raporcie, kursor zmieni się w Dłoń z Wyciągniętym Palcem Wskazującym. Punkt aktywny można uzyskać za pomocą polecenia FORMAT.
Syntax: Format Hotspot On (Off).
Ukryj
To polecenie pomaga przechowywać nazwy pól, na podstawie których będzie wykonywane dalsze przetwarzanie w celu uzyskania szczegółowej listy. Jest ona zapisywana bezpośrednio po instrukcji WRITE dla pola. Po wybraniu wiersza wartości są automatycznie wypełniane w zmiennych do dalszego wykorzystania.
Syntax: Hide <field-name>.
Logiczne bazy danych
- Zamiast używać zapytań „Wybierz”, możesz użyć logicznej bazy danych do pobrania danych dla programu.
- Logiczne bazy danych tworzone są w drodze transakcji SE36
- Nazwa logicznej bazy danych może mieć maksymalnie 20 znaków. Może zaczynać się od przedrostka przestrzeni nazw.
- Dane są wybierane przez inny program i można uzyskać do nich dostęp za pomocą GET polecenie umieszczające dane w obszarze roboczym .
Zalety logicznej bazy danych w porównaniu ze zwykłymi zapytaniami Select.
- Oferuje warunki sprawdzania, aby sprawdzić, czy dane wejściowe są poprawne, kompletne i wiarygodne
- Zawiera centralne kontrole autoryzacji dostępu do bazy danych
- Ulepszenia takie jak poprawa wydajności są natychmiast stosowane we wszystkich raportach korzystających z logicznej bazy danych.
Uwaga: Ze względu na złożoność, w większości przypadków nie używa się baz danych logicznych