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

  1. parametry
  2. 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.

Ekran wyboru

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.

  1. Oferuje warunki sprawdzania, aby sprawdzić, czy dane wejściowe są poprawne, kompletne i wiarygodne
  2. Zawiera centralne kontrole autoryzacji dostępu do bazy danych
  3. 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