Ansicht
Dokumentation

ABENDYNPRO_CUSTOM_CONTROL_ABEXA - DYNPRO CUSTOM CONTROL ABEXA

ABENDYNPRO_CUSTOM_CONTROL_ABEXA - DYNPRO CUSTOM CONTROL ABEXA

Fill RESBD Structure from EBP Component Structure   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

- CFW-Ereignisse

Das Beispiel demonstriert die Behandlung von CFW-Ereignissen.

Quelltext

Ausführen

Beschreibung

Das Dynpro 100 enthält ein Ausgabefeld field und ein Custom Control namens textedit. Die Ablauflogik von Dynpro 100 ist:

PROCESS BEFORE OUTPUT.
  MODULE status_0100.
PROCESS AFTER INPUT.
  MODULE cancel AT EXIT-COMMAND.
  MODULE user_command_0100.

Im GUI-Status SCREEN_100 sind die Funktionscodes BACK, EXIT und CANCEL mit dem Typ E und der Funktionscode INSERT ohne besonderen Typ angelegt.

Das Programm enthält eine lokale Klasse event_handler mit Ereignisbehandlern für die Ereignisse F1 und F4 der globalen Klasse CL_GUI_TEXTEDIT. Bei der Programmausführung werden zu PBO von Dynpro 100 Objekte der Klassen CL_GUI_CUSTOM_CONTAINER, CL_GUI_TEXTEDIT und event_handler instanziert.

Das Container Control wird mit dem Custom Control auf dem Dynpro verknüpft und die Instanz des textedit -Controls mit diesem Container. Die Ereignisse F1 und F4 des textedit-Controls sollen an die aktuelle übergeben werden und werden deshalb mit der Methode SET_REGISTERED_EVENTS registriert. Dabei wird F1 als System- und F4 als Applikationsereignis festgelegt. Die Ereignisbehandler der Instanz handle der Klasse event_handler werden als Behandler für die Ereignisse registriert.

Vor dem Senden des Dynpros wird das textedit-Control mit dem Inhalt der Tabelle text_tab gefüllt. Während der Anzeige des Dynpros kann der Benutzer den Text editieren. Bei der Auswahl von INSERT wird PAI ausgelöst und der aktuelle Text aus dem textedit-Control in die Tabelle text_tab übernommen.

Bei Auswahl der Taste F1 auf dem textedit-Control wird sofort die Methode handle_f1 ausgeführt. Dort wird der Zeileninhalt an das Feld field zugewiesen. Durch Aufruf der Methode set_new_ok_code wird PAI ausgelöst. Nur dadurch wird auch PBO durchlaufen und der Inhalt von field an das Dynpro transportiert.

Bei Auswahl der Taste F4 auf dem textedit-Control wird PAI ausgelöst. Aufruf der Methode DISPATCH bewirkt die Ausführung der Methode handle_f4. Dort wird der Zeileninhalt an das Feld field zugewiesen. Da danach automatisch in die PAI-Verarbeitung zurückgekehrt wird, wird auch PBO durchlaufen und der Feldinhalt transportiert.

Sowohl bei F1 als auch bei F4 wird der Inhalt des textedit-Controls hier nicht an die interne Tabelle text_tab übergeben. Deshalb wird das textedit-Control bei PBO wieder mit dem vorhergehenden Inhalt von text_tab überschrieben.






BAL Application Log Documentation   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4143 Date: 20240606 Time: 172808     sap01-206 ( 71 ms )