Bevor Sie dieses Tutorial lesen, stellen Sie sicher, dass Sie wissen, was ein Dialogprogramm ist…
CALL SUBSCREEN
- Ein Unterbildschirm ist ein unabhängiger Bildschirm, der in einem Bereich eines anderen ("Haupt") Bildschirms angezeigt wird.
- Mit Unterbildschirmen können Sie zur Laufzeit einen Bildschirm in einen anderen einbetten. Sie können mehrere Unterbildschirme in den Hauptbildschirm einfügen.
- Der Begriff Unterbildschirm gilt sowohl für den von Ihnen eingebetteten Bildschirm als auch für den Bereich auf dem Hauptbildschirm, in dem Sie ihn platzieren. In diesem Tutorial geht es um Subscreen-Bereiche. Die tatsächlichen Bildschirme, die durch die Transaktion SE51 erstellt wurden, werden als Unterbildschirme bezeichnet, wenn sie in Bildschirmattributen definiert sind.
- Wenn Sie einen Unterbildschirm verwenden, ist die Ablauflogik des eingebetteten Bildschirms auch in die Ablauflogik des Hauptbildschirms eingebettet. Daher entspricht die Verwendung von Unterbildschirmen auf Bildschirmen der Verwendung von Includes in ABAP-Programmen.
Um einen Unterbildschirm zu verwenden, müssen Sie drei einfache Schritte ausführen
- Definieren Sie die Subscreen-Bereiche auf einem Bildschirm
- Definieren Sie geeignete Subscreen-Bildschirme
- Fügen Sie den Subscreen-Bildschirm in den Subscreen-Bereich ein.
Außerdem müssen Sie den Rahmen des Unterbildschirms und des Hauptbildschirms anpassen. Sie müssen es im Feld Feldname benennen.
Außerdem müssen Sie die Felder im Unterbildschirm anpassen, damit sie im Hauptbildschirm angezeigt werden. Wenn der Unterbildschirm so definiert ist, dass er größer als der verfügbare Bereich im Hauptbildschirm ist, wird nur der Teil des Unterbildschirms angezeigt, der in den verfügbaren Bereich passt. Die Fläche wird immer von der oberen linken Ecke des Bildschirms aus gemessen. Daher sollten Sie beim Definieren von Unterbildbereichen und beim Erstellen von Unterbildschirmen angemessene Sorgfalt walten lassen.
BEISPIEL
Zum Beispiel haben wir hier zwei Unterbildschirme auf dem Hauptbildschirm definiert und zwei verschiedene Unterbildschirme an entsprechende Bereiche angehängt. Immer wenn der Hauptbildschirm aufgerufen wird, wird der PBO des Hauptbildschirms aufgerufen. Vor der Anzeige werden jedoch auch die PBOs jedes Bildschirms aufgerufen, denen Unterbildbereiche auf dem Hauptbildschirm zugeordnet sind.
Sie können einen Unterbildschirm mit der Anweisung CALL SUBSCREEN in die Ablauflogik des Hauptbildschirms aufnehmen.
Verwenden Sie die folgende Anweisung im PBO-Ereignis des Hauptbildschirms, um einen Unterbildschirm in den Unterbildschirmbereich des Hauptbildschirms aufzunehmen und dessen PBO-Flusslogik aufzurufen:
PROZESS VOR AUSGABE.CALL SUBSCREENEINSCHLIESSLICH [ ] .
Diese Anweisung weist den Subscreen-Bildschirm mit der Nummer
Der Name
Verwenden Sie die folgende Anweisung in der PAI-Flusslogik des Hauptbildschirms, um die PAI-Flusslogik des Unterbildschirms aufzurufen:
PROZESS NACH EINGABE.CALL SUBSCREEN.
Diese Anweisung enthält die PAI-Flusslogik des Subscreen-Bildschirms, der im Subscreen-Bereich
Punkte, die man sich merken sollte
- Die Namen der Elemente von Unterbildschirmen innerhalb eines Bildschirms sollten eindeutig sein
- Sie sollten OK_CODE oder FCODE nicht mit dem Unterbildschirm verbunden haben. Der OK_CODE des Hauptbildschirms selbst ist OK_CODE des Unterbildschirms
- Unterbildschirme dürfen keine Dialogmodule enthalten, die SET TITLEBAR, SET PF-STATUS, SET SCREEN, LEAVE SCREEN oder LEAVE TO SCREEN enthalten. Dies führt zu einem Laufzeitfehler.
- Sie müssen es in der Flusslogik (sowohl PBO als auch PAI) des Hauptbildschirms aufrufen.
- CALL SUBSCREEN ist in den Anweisungen CHAIN… ENDCHAIN und LOOP ENDLOOP nicht zulässig
- Kann kein AT EXIT-COMMAND-Modul haben
- Die Felder, die Sie verwenden, sind die globalen Felder. Sie müssen im oberen Include deklariert werden
- Wenn Sie Unterbildschirme aus einem anderen Dialogprogramm verwenden, erfolgt die Datenübertragung nur, wenn Sie bestimmten Code hinzufügen.