!--a11y-->
Auslösen eines Portal-Ereignisses 
Ein Portal-Ereignis ist ein Ereignis, das innerhalb eines iViews, in diesem Fall also innerhalb einer Web-Dynpro-Anwendung, ausgelöst und vom Portal an ein oder mehrere andere iViews weiter geleitet wird. Das Portal reicht das Ereignis an alle iViews weiter, die sich auf dieses Ereignis registriert haben. Auf diese Weise lassen sich Ereignisse zwischen mehreren, auf unterschiedlichen Entwicklungstechniken basierenden iViews transportieren.
Das Portal-Eventing funktioniert nur zwischen
iViews, die auf dem selben Browser-Window platziert sind. Ereignisse zwischen
iViews in unterschiedlicher Browser-Fenstern können nicht transportiert
werden.
Zusätzlich ist es notwendig, dass alle Teilnehmer in einer Domäne angesiedelt sind. Sonst kann das Portal-Eventing aufgrund von JavaScript-Einschränkungen nicht funktionieren.
In Web Dynpro ABAP stellt der Portal-Manager (das
Interface
IF_WD_PORTAL_INTEGRATION)
die Methode FIRE zur Verfügung. Mit Hilfe des
Web-Dynpro-Code-Wizard
können Sie diesen Methodenaufruf als Vorlage in Ihren Quell-Code einfügen und
entsprechend den Anforderungen Ihrer Anwendung mit Werten füllen.
method ONACTIONFIRE_PORTAL_EVENT . . . . data: L_API_COMPONENT type ref to IF_WD_COMPONENT, L_PORTAL_MANAGER type ref to IF_WD_PORTAL_INTEGRATION.
L_API_COMPONENT = WD_COMP_CONTROLLER->WD_GET_API( ). L_PORTAL_MANAGER = L_API_COMPONENT->GET_PORTAL_MANAGER( ).
L_PORTAL_MANAGER->FIRE( PORTAL_EVENT_NAMESPACE = 'my_namespace_for_Web_Dynpro_documentation' PORTAL_EVENT_NAME = 'showCustomer' PORTAL_EVENT_PARAMETER = CUSTOM_ID ).
endmethod.
|
Neben den obligatorischen Parametern Namensraum und Namen kann noch ein weiterer Parameter übergeben werden:
Namensraum, in dem das Ereignis abgelegt ist |
’PORTAL_EVENT_NAMESPACE’ |
Name des Ereignisses |
’PORTAL_EVENT_NAME’ |
Parameter |
’PORTAL_EVENT_PARAMETER’ |
Sie können ein solches Portal-Ereignis generell überall in Ihrer Web-Dynpro-Anwendung auslösen. Das Ereignis wird mit der nächsten Response zum Client geschickt. Sie können auch mehrere Portal-Ereignisse in einem Request-Response-Zyklus auslösen.
Es ist jedoch üblich, ein Portal-Ereignis in einem Aktionsbehandler einer Web-Dynpro-Anwendung auszulösen. Dies könnte beispielsweise der Aktionsbehandler eines UI-Elements (z.B. eines Buttons) sein. Durch Auslösen eines Portal-Ereignisses wird ein zunächst Anwendungs-internes Ereignis aus dem iView heraus an das Portal übergeben und kann innerhalb eines oder mehrerer andere iViews behandelt werden.
Die erlaubten Zeichen für die Angabe des Namensraum und des Namens einer Ereignis-Definition sind auf die Namensräume des SAP Enterprise Portal – Client Framework beschränkt.
Verwenden Sie daher lediglich die in der folgenden Tabelle aufgelisteten Zeichen.
Erlaubte Zeichen
Großbuchstaben |
"A" - "Z" |
Kleinbuchstaben |
"a" - "z" |
Zahlen |
"0" - "9" |
Sonderzeichen |
"-" "_" "." |
Beachten Sie zusätzlich Folgendes:
Beginnen Sie den Namensraum mit der Zeichenfolge urn:
Die Namensräume com.sapportals.portal.* und com.sapportals.* sind für SAP reserviert und sollten daher nicht von Ihnen für Ihre Anwendungen verwendet werden.
Beachten Sie bei der Schreibweise von Namensraum und Namen die Groß- und Kleinschreibung.
urn:com.sap.webdynpro.testApplications.testEvent
· Beispiele finden Sie im System in den Web-Dynpro-Anwendungen: WDR_TEST_PORTAL_EVENT_FIRE
Ereignis auslösen
· WDR_TEST_PORTAL_EVENT_FIRE2
Diese Anwendung dient als Testanwendung. Sie können dort den Namen eines Ereignisses aus Ihrer eigenen Anwendung eingeben um das Ereignis separat zu testen.