Alles über die ABAP-Berichtsprogrammierung

SAP-ABAP unterstützt zwei Arten von Programmen – Berichtsprogramme und Dialogprogramme. Berichtsprogramme werden verwendet, wenn große Datenmengen angezeigt werden müssen

Zweck/Verwendung von Berichtsprogrammen

  • Sie werden verwendet, wenn Daten aus mehreren Tabellen ausgewählt und vor der Präsentation verarbeitet werden müssen
  • Wird verwendet, wenn Berichte ein spezielles Format erfordern
  • Wird verwendet, wenn der Bericht heruntergeladen werden muss von SAP in eine Excel-Tabelle, auf die verteilt werden soll.
  • Wird verwendet, wenn der Bericht an eine bestimmte Person gesendet werden muss.

Wichtige Punkte, die Sie zum Berichtsprogramm beachten sollten

  • Berichtsprogramme sind immer ausführbare Programme. Der Programmtyp ist immer 1.
  • Jedes Berichtsprogramm entspricht einem bestimmten Anwendungstyp, z. B. mit Vertrieb, FI – CO usw. Es kann auch anwendungsübergreifend sein, z. B. vom Typ „*“.
  • Berichtsprogrammierung ist eine ereignisgesteuerte Programmierung.
  • Die erste Zeile eines Reportprogramms ist immer Report .
  • Um die Listenüberschrift oder den Namen des Programms zu unterdrücken, dient der Zusatz Keine Standardseitenüberschrift wird eingesetzt.
  • Mit dem Zusatz kann die Zeilengröße für einen bestimmten Bericht eingestellt werden Liniengröße .
  • Mit dem Zusatz kann die Zeilenanzahl für eine bestimmte Seite eingestellt werden Zeilenanzahl n(n1). N ist die Anzahl der Zeilen für die Seite und N1 ist die Anzahl der Zeilen, die für den Seitenfuß reserviert sind.
  • Um Informationen oder Fehlermeldungen anzuzeigen, fügen wir dem Programm eine Nachrichtenklasse mit dem Zusatz hinzu: Nachrichten ID . Nachrichtenklassen werden in SE91 gepflegt.

Daher sollte ein ideales Berichtsprogramm mit Folgendem beginnen:

Report <report name> no standard page heading

line-size <size>

line-count <n(n1)>

message-id <message class>.

Auswahlbildschirm

„Auswahlbildschirm“ ist der Bildschirm, auf dem man die Eingabewerte angibt, für die das Programm ausgeführt werden soll.

Das Selektionsbild wird normalerweise aus dem generiert

  1. Kenngrößen
  2. Optionen wählen

Syntax

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 #>

Kenngrößen

Parameter helfen bei der dynamischen Auswahl. Sie können nur einen Wert für einen Ausführungszyklus des Programms aufnehmen.

Syntax

Parameter als Datentyp definieren

Parameters p_id(30) type c.

Parameter wie ein Tabellenfeld definieren.

Parameter p_id like <table name>-<field name>.

Parameter können sowohl Checkboxen als auch Radiobuttons sein.

Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>.
Parameters p_id2  radiobutton group <group name>.

Parameter können Listenfelder sein.

Parameter p_id like <table name>-<field name> as listbox

Optionen wählen

Eine Select-Option wird verwendet, um einen Wertebereich oder einen Wertesatz in ein Programm einzugeben

Syntax

select-options s_vbeln for vbak-vbeln.

Auswahlbildschirm

Sie können eine Auswahloption auch wie eine Variable definieren

select-options s_vbeln for vbak-vbeln no intervals no-extension

Ereignisse in einem ABAP-Reportprogramm

ABAP-Berichtsprogramme sind ereignisgesteuerte Programme. Die verschiedenen Ereignisse in einem Berichtsprogramm sind:

Programm laden

  • Löst das zugehörige Ereignis in einer internen Sitzung aus, nachdem ein Programm vom Typ 1, M, F oder S geladen wurde.
  • Außerdem wird der zugehörige Verarbeitungsblock einmal und nur einmal für jedes Programm und jede interne Sitzung ausgeführt.
  • Der Verarbeitungsblock LOAD-OF-PROGRAM hat für an ungefähr die gleiche Funktion ABAP-Programm vom Typ 1, M, F oder S wie ein Konstruktor für Klassen in ABAP Objects hat

Initialisierung.

  • Dieses Ereignis wird ausgeführt, bevor der Auswahlbildschirm angezeigt wird.
  • Initialisierung aller Werte.
  • Sie können von den auf dem Selektionsbild vorgeschlagenen Werten abweichende Werte zuordnen.
  • Sie können Ihren Selektionsbildschirm zur Laufzeit mit einigen Werten füllen.

Auf dem Auswahlbildschirm.

  • Das Ereignis wird verarbeitet, wenn das Selektionsbild verarbeitet wurde (am Ende von PAI).
  • Hier finden Validierungen und Prüfungen der eingegebenen Werte statt

Beginn der Auswahl.

  • Hier beginnt das Programm mit der Auswahl von Werten aus Tabellen.

Ende der Auswahl.

  • Nachdem alle Daten ausgewählt wurden, schreibt dieses Ereignis die Daten auf den Bildschirm.

Interaktive Veranstaltungen

  • Wird für interaktive Berichte verwendet. Es wird verwendet, um aus einer Grundliste eine detaillierte Liste zu erstellen.

Formatieren des Berichts

ABAP ermöglicht es, die Berichte so zu formatieren, wie es der Benutzer wünscht. Beispielsweise müssen „Alternative Zeilen“ in verschiedenen Farben angezeigt werden und die Zeile „Gesamtsummen“ sollte in Gelb angezeigt werden.

Syntax

Format Color n

Format Color n Intensified On

n kann verschiedenen Zahlen entsprechen

Bitte beachten Sie, dass es neben dem Format noch weitere Ergänzungen gibt

FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF

Interaktive Berichtsprogrammierung

  • Mithilfe der interaktiven Programmierung können Benutzer den Datenabruf und die Anzeige von Daten aktiv steuern
  • Wird verwendet, um eine detaillierte Liste aus einer sehr einfachen Liste zu erstellen
  • Die detaillierten Daten werden in eine Sekundärliste geschrieben.
  • Die sekundäre Liste kann entweder den ersten Bildschirm vollständig überlagern oder in einem neuen Bildschirm angezeigt werden
  • Die sekundären Listen können selbst interaktiv sein.
  • Die erste Liste kann auch eine Transaktion aufrufen.
  • Mit der interaktiven Programmierung sind verschiedene Ereignisse verbunden.

Einige Befehle, die für die interaktive Programmierung verwendet werden

Hotspot

Wenn man mit der Maus über die im Bericht angezeigten Daten fährt, verwandelt sich der Cursor in eine Hand mit ausgestrecktem Zeigefinger. Ein Hotspot kann mit der FORMAT-Anweisung erreicht werden.

Syntax:      Format Hotspot On (Off).

Verbergen

Mit diesem Befehl können Sie die Feldnamen speichern, auf deren Grundlage die weitere Verarbeitung erfolgt, um eine detaillierte Liste zu erhalten. Es wird direkt nach der WRITE-Anweisung für ein Feld geschrieben. Wenn eine Zeile ausgewählt wird, werden die Werte automatisch zur weiteren Verwendung in die Variablen eingetragen.

Syntax:     Hide <field-name>.

Logische Datenbanken

  • Anstatt „Select“-Abfragen zu verwenden, können Sie eine logische Datenbank verwenden, um Daten für ein Programm abzurufen.
  • Logische Datenbanken werden durch Transaktionen erstellt SE36
  • Der Name einer logischen Datenbank kann bis zu 20 Zeichen lang sein. Es kann mit einem Namespace-Präfix beginnen.
  • Die Daten werden von einem anderen Programm ausgewählt und man kann mit GET auf die Daten zugreifen Befehl, der die Daten im Arbeitsbereich platziert .

Vorteile einer logischen Datenbank gegenüber normalen Select-Abfragen.

  1. Es bietet Prüfbedingungen, um zu prüfen, ob die Eingabe korrekt, vollständig und plausibel ist
  2. Es enthält zentrale Berechtigungsprüfungen für den Datenbankzugriff
  3. Verbesserungen wie Leistungsverbesserungen wirken sich sofort auf alle Berichte aus, die eine logische Datenbank verwenden.

Hinweis: Aufgrund der Komplexität werden logische Datenbanken in den meisten Fällen nicht verwendet.