SAP: modal-dialog-box nicht reagiert
Ich versuche, rufen Sie einen Bildschirm als popup. Die Bildschirm-Typ Modal dialog box
und ich bin in der Lage, um den Bildschirm, aber nicht in der Lage, um es zu schließen. Nichts passiert, wenn ich auf das kleine Kreuz. Im nächsten Fenster wird festgelegt 0
.
Dem Bildschirm, ich bin Aufruf als popup-Fenster enthalten keinerlei Schaltflächen, nicht hart codiert diejenigen sowieso. Irgendwelche Ideen was ich falsch mache?
Ich würde auch wie der Bildschirm es wieder, um aktualisiert werden (also es lädt die PBO wieder). Wie mache ich das?
BEARBEITEN
MODULE werkende_knoppen_subscreen INPUT.
CASE ok_code.
WHEN 'X'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
- Legen Sie eine PF-Status zu PBO? Gehen Sie mit der PF-Status bei PAI von dem popup?
- Ich glaube nicht, wissen gar nicht, was PF-status ist. Sie benötigen es, um die
x
zum schließen des popup zu arbeiten? - Der PF-Status bei PBO mit
SET PF-STATUS xxxx
. xxxx (GUI-status) definiert werden muss, mit dem Menu Painter (SE41?). Dort können Sie definieren, Schaltflächen, und weisen Sie diese Befehle. Bei PAI Sie reagieren können, eine dieser Befehl in sy-ucomm. E. g. mitLEAVE TO SCREEN 0.
- Ah stimmt, ich wusste das nicht, es ist genau das, was ich suchte. Erstellt habe ich den gui-status, und ich habe den code (siehe meinen post aktualisiert) auf mein PAI, aber sobald ich auf die Schaltfläche klicke, die ich Hinzugefügt habe, mit der Funktion code x,anstatt des Ausscheidens aus dem popup ist, lädt er den screen in voller Größe... keine Ahnung was ich falsch mache?
- Überprüfen Sie die 'Next Screen' Feld auf Ihre modales Dialogfeld. Es sollte der Bildschirm, den Sie wollen, um zurückzugehen. Wenn Sie möchten, lassen Sie das Programm vollständig nutzen 'Programm beenden'. Aber ich empfehle, dass Sie gehen Sie durch die ABAP-dynpro Hilfe-Dateien, wenn Sie Zugang zu ihm. Wenn Sie nicht verstehen, warum Sie tun, bestimmte Dinge, die in der dynpro-Sie haben endlose Kopfschmerzen, die mit scheinbar "zufällige" Fehler in der Zukunft.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie überprüfen, ob das
'EXIT'
(oder, in Ihrem Fall für die benutzerdefinierte Schaltfläche zum schließen'X'
) user-Befehl in der PAI Teil Ihres popup.Zum Beispiel:
Dies ist eine nicht dokumentierte Funktion, aber in einem modalen Dialogfenster (popup), oben-rechts-Taste zum schließen des popup zugeordnet ist, die
F12
Schlüssel, so weisen Sie diese Taste, um eine Funktion code und Verfahren Sie wie jede andere Funktion code.Schritt-für-Schritt-Verfahren:
1) Erstellen Sie das ABAP-Programm (Transaktionscode
SE38
oderSE80
)Hinweis:
SET SCREEN 0
ist um das Dialogfeld zu schließen (0
bedeutet "die aktuellen dynpro-Folge ist zu Ende") ; wenn Sie eine komplexe Bildschirm können Sie auchLEAVE TO SCREEN
(das entspricht der 2 Anweisungen SET BILDSCHIRM + LEAVE SCREEN).2) Erstellen Sie das Bild 0100 (Transaktionscode
SE51
oder doppelklicken Sie auf0100
hinterCALL SCREEN
)Bildschirm Typ: modales Dialogfeld
Flow-Logik:
3) Erstellen der GUI-status 0100 (Transaktionscode
SE41
oder doppelklicken Sie auf0100
hinterSET PF-STATUS
)Status Typ: Dialogfeld
Weisen Sie die F12-Taste, um eine beliebige Funktion code (ich wählte den Namen
CANCEL
), und aktivieren Sie diese Funktion, code (Taste "Function Code"):4) - Test
Führen Sie das Programm, Sie können nun klicken Sie auf den oberen rechten button (oder drücken Sie F12, wenn Sie bevorzugen), die das modale Dialogfeld schließt: