Ansicht
Dokumentation

CL_WD_NOTIFICATION_SERVICE - Service Klasse für Notifications

CL_WD_NOTIFICATION_SERVICE - Service Klasse für Notifications

General Data in Customer Master   TXBHW - Original Tax Base Amount in Local Currency  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die Klasse CL_WD_NOTIFICATION_SERVICE ist die zentrale Klasse, um den Notification-Service zu verwenden. Sie implementiert die Schnittstelle IF_WD_NOTIFICATION_SERVICE.

Der Notification-Service erlaubt es, Web-Dynpro-Aktionen zu registrieren. Die Ausführung dieser Aktionen können dann zu einem späteren Zeitpunkt an einer anderen Stelle gesteuert werden. Dies kann besonders bei lang laufenden Prozessen sinnvoll sein, zum Beispiel, falls die Datenbeschaffung eine gewisse Zeit in Anspruch nimmt und die laufende Web-Dynpro-Anwendung während der Wartezeit nicht blockiert werden soll.

Wichtige Methoden sind hierbei:

  • GET_SERVICE
Erwartet einen View-Controller vom Typ IF_WD_VIEW_CONTROLLERund liefert eine Referenz auf ein Objekt vom Typ IF_WD_NOTIFICATION_SERVICE
  • UPDATE_EVENT_STATUS
Ändert den Status einer registrierten Aktion und kann somit die Ausführung der Aktion auslösen. Wird die Web Dynpro Aktion ausgelöst, so wird die Id des registrierten Events als Parameter NOTIFICATION_ID übergeben. Somit kann in der Aktionsbehandlung festgestellt werden, welche Event-Registrierung die Aktion ausgelöst hat.

Ferner sind die beiden Konstanten C_STATUS_DONE und C_STATUS_IN_PROGRESS wichtig, um den Status der Registrierung zu beeinflussen.

Beziehungen

IF_WD_NOTIFICATION_SERVICE

Beispiel

Um innerhalb einer Web-Dynpro-Component eine Aktion zu registrieren, können Sie wie folgt vorgehen:

DATA notification_service TYPE REF TO IF_WD_NOTIFICATION_SERVICE.
notification_service = CL_WD_NOTIFICATION_SERVICE=>GET_SERVICE( VIEW_CONTROLLER ).

Wobei VIEW_CONTROLLER eine Referenz auf den View-Controller ist, auf dem sich die Aktion befindet, die später registriert werden soll.

Befindet man sich innerhalb einer Methode der View, auf dem sich auch die zu registrierende Aktion befindet, erhält man diese Referenz zum Beispiel mit WD_THIS->WD_GET_API( ).

Über die Referenz notification_service lässt sich nun eine Aktion registrieren, zum Beispiel wie folgt:

DATA id TYPE WDR_NOTIFICATION_ID.
id = notification_service->REGISTER_NEW_EVENT( NameDerAktion ).

Name der Aktion enthält hierbei den Namen der Aktion als String. Man erhält eine eindeutige Id vom Typ WDR_NOTIFICATION_ID, mit welcher sich der Status der Registrierung und somit die Ausführung der Aktion steuern lässt.

Um den Status zu ändern, benutzen Sie die statische Methode der Klasse CL_WD_NOTIFICATION_SERVICE:

CL_WD_NOTIFICATION_SERVICE=>UPDATE_EVENT_STATUS(
  EXPORTING
    EVENT_ID = id
    EVENT_STATUS = CL_WD_NOTIFICATION_SERVICE=>C_STATUS_DONE
)

Dies kann auch von einem anderen Anwendungsserver im selben System geschehen.

Eine Testanwendung ist die Web-Dynpro-Anwendung WDR_TEST_NOTIFICATION, welche die gleichnamige Web-Dynpro-Component WDR_TEST_NOTIFICATION ausführt.

Hinweise

Weiterführende Informationen

Weitere Informationen über Web Dynpro ABAP finden Sie in der SAP-NetWeaver-Bibliothek unter der Internetadresse help.sap.com/nw70 unter SAP NetWeaver 7.0 Including Enhancement Package 2 Knowledge Center - SAP NetWeaver 7.0 Library (including Enhancement Package 2) - German.

Wählen Sie SAP-Bibliothek → SAP-NetWeaver-Bibliothek → Schlüsselbereiche von SAP NetWeaver → Schlüsselbereiche der Application Platform → ABAP-Technologie → UI-Technologie → Web-UI-Technologie → Web Dynpro für ABAP.






General Data in Customer Master   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 4742 Date: 20240419 Time: 213320     sap01-206 ( 74 ms )