Dialogprogrammierung-Tutorial: Modulpool in SAP ABAP
SAP-ABAP unterstützt zwei Arten von Programmen – Report-Programm und Dialog-Programm.
Wenn Ihr ABAP-Programm Benutzereingaben erfordert, kommt die Dialogprogrammierung zum Einsatz.
In diesem Tutorial lernen Sie:
- Unterschied zwischen Report- und Dialogprogrammen
- Beispieltransaktionsverarbeitung in der Dialogprogrammierung
- Bestandteile des Dialogprogramms
Ein Benutzerdialog ist jede Form der Interaktion zwischen dem Benutzer und dem Programm und kann Folgendes umfassen:
- Daten eingeben
- Auswählen eines Menüpunkts
- Klicken auf eine Schaltfläche
- Klicken oder Doppelklicken 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
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
Bestandteile des Dialogprogramms
Im Gegensatz zu berichten was im Allgemeinen die Erstellung eines autonomen Programms beinhaltet, das unabhängig von anderen Objekten ausgeführt werden kann, beinhaltet die Dialogprogrammentwicklung die Entwicklung mehrerer Objekte, von denen keines für sich allein ausgeführt werden kann. Stattdessen sind alle Objekte hierarchisch mit dem Hauptprogramm verknüpft und werden 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 Das System wird über einen oder mehrere Bildschirme 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 der Ablauflogik. Der Bildschirm verfügt über ein Layout, das die Positionen von Eingabe-/Ausgabefeldern und anderen grafischen Elementen wie Kontrollkästchen und Optionsfeldern bestimmt. 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 hauptsächlich in vier Komponenten unterteilt.
- Prozess vor der Ausgabe (PBO) Ereignis: das vor der Anzeige des Bildschirms verarbeitet wird
- 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
Prozessablauf für ein Dialogprogramm