
Ausgangspunkt ist das unter Datenübertragung bei SilverlightIsland beschriebene Beispiel eines Balkendiagramms. Dieses Beispiel wird um ein Ereignis erweitert, welches von Microsoft Silverlight ausgelöst und von Web Dynpro ABAP verarbeitet wird.
Es liegt die gleiche XAP-Datei wie im Beispiel für die Datenübertragung vor. Das Auslösen des Ereignisses Selection ist in der Microsoft Silverlight Anwendung enthalten.
Ein Klick auf die Balkenanzeige in Microsoft Silverlight löst ein Ereignis aus, bei dem der gewählte Flug und die berechnete Belegung als Parameter an die Web-Dynpro-Anwendung übergeben wird. Das Ereignis hat den Namen Selection und besitzt die Parameter occupancy (Float) und flight (String).
Aggregieren Sie in der Web-Dynpro-Anwendung an dem SilverlightIsland-UI-Element ein GACEvent.
Die folgenden Eigenschaften des GACEvent müssen gefüllt sein:
Name: Selection
Achten Sie auch hier auf Namensgleichheit.
onAction: Eine Web-Dynpro-Action zur Ereignisbehandlung
Aggregieren Sie an dieses GACEvent nun GACEventParameter, deren Eigenschaft name wiederum dem Namen in der SilverlightIsland entspricht ( occupancy und flight) und deren Eigenschaft type dem erwarteten Typ entspricht ( occupancy als Float und flight als String-Variable).
Die ID dieser UI-Elemente ist frei wählbar und wird weder von der Web-Dynpro-Anwendung, noch von Silverlight ausgewertet.
Sie können die Parameter in Web Dynpro in der Action-Handler-Methode am WDEvent mit einer der folgenden Methoden entsprechend des Datentyps abholen:
WDEVENT->GET_BYTE
WDEVENT->GET_CHAR
WDEVENT->GET_DATA
WDEVENT->GET_FLOAT
WDEVENT->GET_INT
WDEVENT->GET_OBJECT
WDEVENT->GET_STRING
Im Beispiel kommen die Methoden WDEVENT->GET_FLOAT für das Attribut occupancy und WDEVENT->GET_STRING für das Attribut flight zum Einsatz.
Dies kann beispielsweise so aussehen:
Aktivieren Sie die Component und die View und starten Sie die Anwendung.
Das Beispiel befindet sich im System in der Web-Dynpro-Component DEMO_SILVERLIGHT_SEATS.