Show TOC

HintergrundAuslösen eines Portal-Ereignisses Dieses Dokument in der Navigationsstruktur finden

 

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.

Hinweis Hinweis

Das Portal-Eventing funktioniert zwischen iViews, die auf dem selben Browser-Window platziert sind.

Ausserdem können iViews neue Browser-Fenster mittels JavaScript öffnen. Das neue Browser-Fenster ist dabei das untergeordnete Fenster, das Browser-Fenster des öffnenden iViews ist das übergeordnete Fenster.

Ereignisse können von einem iView in einem untergeordneten Browser-Fenster auch zu iViews in allen übergeordneten Browser-Fenstern weitergeleitet werden.

Ereignisse können jedoch nicht von einem übergeordneten Browser-Fenster zu einem untergeordneten Browser-Fenster weitergeleitet 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.

Ende des Hinweises.

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.

Neben den obligatorischen Parametern Namensraum und Namenkönnen noch ein Parameter und ein Geltungsbereich übergeben werden:

Namensraum, in dem das Ereignis abgelegt ist

’PORTAL_EVENT_NAMESPACE’

Name des Ereignisses

’PORTAL_EVENT_NAME’

Parameter

’PORTAL_EVENT_PARAMETER’

Geltungsbereich

PORTAL_EVENT_SCOPE

Mit dem Geltungsbereich können Sie festlegen, in welchen Browser-Fenstern das Ereignis weitergeleitet wird:

IF_WD_PORTAL_INTEGRATION=>CO_EVENT_SCOPE-CURRENT_WINDOW

Das Ereignis wird nur im selben Browser-Fenster weitergeleitet

IF_WD_PORTAL_INTEGRATION=>CO_EVENT_SCOPE-CHILD_TO_PARENTS

Das Ereignis wird an alle übergeordneten Browser-Fenster weitergeleitet, aber nicht im selben Browser-Fenster

IF_WD_PORTAL_INTEGRATION=>CO_EVENT_SCOPE-CURRENT_WINDOW_AND_PARENTS

Das Ereignis wird an alle übergeordneten Browser-Fenster und im selben Browser-Fenster weitergeleitet

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.

Syntax für Namensraum und Namen von Ereignissen

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.

Beispiel Beispiel

urn:com.sap.webdynpro.testApplications.testEvent

Ende des Beispiels.

Beispiel

  • 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.