Tutorial zur Dialogprogrammierung: Modulpool in SAP ABAP

SAP-ABAP unterstützt zwei Arten von Programmen – Berichtsprogramm und Dialogprogramm.

Wenn Ihr ABAP-Programm Benutzereingaben erfordert, kommt die Dialogprogrammierung zum Einsatz.

In diesem Tutorial lernen Sie:

Ein Benutzerdialog ist jede Form der Interaktion zwischen dem Benutzer und dem Programm und kann Folgendes umfassen:wing

  • Daten eingeben
  • Auswählen eines Menüpunkts
  • Klicken auf eine Schaltfläche
  • Klicken Sie auf oder double Klicken Sie auf einen Eintrag

Das Dialogprogramm wird auch verwendet, wenn wir zwischen Bildschirmen hin und her navigieren müssen

Dialogprogramme werden mit dem Typ „M“ – Modulpool erstellt. Sie können nicht unabhängig ausgeführt werden und müssen an mindestens einen Transaktionscode gebunden sein, in dem Sie ein Einstiegsbild angeben.

Unterschied zwischen Report- und Dialogprogrammen

Unterschied zwischen Report- und Dialogprogrammen

Berichtsprogramm:

Ein Bericht ist ein Programm, das typischerweise Daten in Datenbanktabellen liest und analysiert, ohne diese zu ändern Datenbank.

Dialogprogramm:

Über ein Dialogprogramm können Sie interaktiv mit dem System arbeiten und die Inhalte der Datenbanktabellen ändern. Jedes Dialogprogramm verfügt über eine bestimmte Abfolge von Bildern, die vom System nacheinander abgearbeitet werden.

Ein Beispiel für die Transaktionsverarbeitung in der Dialogprogrammierung

Eine Beispieltransaktionsverarbeitung

Bestandteile des Dialogprogramms

Im Gegensatz zu berichten was im Allgemeinen entails die Erstellung eines autonomen Programms, das unabhängig von anderen Objekten ausgeführt werden kann, Dialogprogrammentwicklung entails Entwicklung mehrerer Objekte, von denen keines einzeln ausgeführt werden kann. Stattdessen sind alle Objekte hier verlinktarchiwerden direkt an das Hauptprogramm gesendet und in einer vom Dialog-Hauptprogramm vorgegebenen Reihenfolge ausgeführt.

Die Bestandteile eines Dialogprogramms sind:

Transaktionscode

  • Der Transaktionscode startet eine Bildschirmsequenz.
  • Transaktionscodes erstellen Sie im Repository Browser der ABAP Workbench oder über die Transaktion SE93.
  • Ein Transaktionscode ist mit einem ABAP-Programm und einem Einstiegsbild verknüpft.
  • Sie können eine Bildschirmsequenz aus jedem ABAP-Programm mit der CALL SCREEN-Anweisung starten.

Screens

  • Jeder Dialog in einem SAP-System wird durch ein oder mehrere Bilder gesteuert.
  • Sie erstellen Bildschirme mit dem Bildschirm Painter in der ABAP Workbench über die Transaktion SE51
  • Jeder Bildschirm gehört zu einem ABAP-Programm.
  • Diese Bildschirme bestehen aus einer „Bildschirmmaske“ oder einem „Layout“ und deren Ablauflogik. Der Bildschirm verfügt über ein Layout, das die Positionen von Ein-/Ausgabefeldern und anderen grafischen Elementen wie z. B. Schecks bestimmtboxes und Optionsfelder. Eine Ablauflogik bestimmt die logische Verarbeitung innerhalb des Bildschirms.

GUI-Status

  • Jeder Bildschirm verfügt über einen oder mehrere GUI-Status, die unabhängige Komponenten eines Programms sind.
  • Dies steuert die Menüleisten, Standardsymbolleiste, Anwendungssymbolleiste, mit denen der Benutzer Funktionen in der Anwendung auswählen kann.
  • Sie erstellen diese in der ABAP Workbench über das Menü Painter.

ABAP-Programm

  • Jeder Dynpro- und GUI-Status im R/3-System gehört zu einem ABAP-Programm.
  • Das ABAP-Programm enthält die Dialogmodule, die von der Dynpro-Ablauflogik aufgerufen werden und auch die Benutzereingaben aus dem GUI-Status verarbeiten.
  • ABAP-Programme, die Dynpros nutzen, werden auch Dialogprogramme genannt.
  • In einem Modulpool (Typ-M-Programm); Der erste aufzurufende Verarbeitungsblock ist immer ein Dialogmodul. Sie können Dynpros jedoch auch in anderen ABAP-Programmen verwenden, beispielsweise in ausführbaren Programmen oder Funktionsbausteinen. Der erste Verarbeitungsblock wird dann anders aufgerufen; zum Beispiel durch die Laufzeitumgebung oder einen Prozeduraufruf. Anschließend wird die Bildschirmsequenz mit der CALL SCREEN-Anweisung gestartet.

Bildschirmflusslogik

Die Bildschirmflusslogik ist primarily in vier Komponenten gegliedert.

  • Prozess vor der Ausgabe (PBO) Ereignis: das verarbeitet wird, bevor der Bildschirm angezeigt wirdyed
  • Prozess nach Eingabe (PAI) Ereignis: das nach einer Benutzeraktion auf dem Bildschirm verarbeitet wird
  • Prozess bei Hilfeanfrage (P.O.H.): die verarbeitet wird, wenn F1 gedrückt wird
  • Prozess bei Wertanforderung (POV):die verarbeitet wird, wenn F4 gedrückt wird

Dynpro

  • Ein Dynpro wird zusammen mit seiner Ablauflogik als Dynpro („Dynamisches Programm“, da die Dynpro-Ablauflogik den Programmablauf beeinflusst) bezeichnet.
  • Jedes Dynpro steuert genau einen Schritt Ihres Dialogprogramms.
  • Die zu einem Programm gehörenden Bildschirme sind nummerierte. Der Bildschirmablaufablauf kann entweder linear oder zyklisch sein. Sie können innerhalb einer Screen-Kette sogar eine andere Screen-Kette aufrufen und nach deren Bearbeitung zur ursprünglichen Kette zurückkehren. Sie können das statisch definierte Folgebild auch innerhalb der Dialogmodule des ABAP-Programms übersteuern.

ABAP-Modulpool

  • Bei einem PBO- oder PAI-Ereignis ruft ein Dynpro ein ABAP-Dialogprogramm auf. Die Sammlung solcher Programme wird als ABAP-Modulpool bezeichnet.
  • Beispielsweise werden beim PAI-Ereignis aufgerufene Module verwendet, um die Benutzereingaben zu überprüfen und entsprechende Dialogschritte, wie z. B. den Update-Task, auszulösen.
  • Alle Dynpros können von innen aufgerufen werden dank One Transaktionen beziehen sich auf einen gemeinsamen Modulpool.

Aufbau eines Dialogprogramms

Aufbau eines Dialogprogramms

Prozessablauf für ein Dialogprogramm

Prozessablauf für ein Dialogprogramm