Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Suspend-Resume-Aufrufe  Dokument im Navigationsbaum lokalisieren

 

Ein Suspend-Resume-Aufruf einer Web-Dynpro-ABAP-Anwendung ist immer dann sinnvoll, wenn Sie zu einer zweiten, unabhängig laufenden Anwendung hin navigieren möchten ohne die laufende Anwendung zu schließen. Zur Realisierung eines solchen Aufrufs können Sie an der Interface-View eines Web-Dynpro-Windows beliebige Outbound- bzw. Inbound-Plugs als Suspend- bzw. Resume-Plugs markieren. Der Aufruf eines Suspend-Plugs ist dem eines Exit-Plugs insofern ähnlich, als dass beide Plugs dazu dienen, eine laufende Web-Dynpro-ABAP-Anwendung zu verlassen. Im Unterschied zum Exit-Plug erlaubt die Verwendung eines Suspend-Plugs jedoch die Rückkehr in die ursprüngliche Anwendung, nachdem eine zweite, unabhängige Anwendung genutzt wurde. Die ursprüngliche Anwendung wird nicht, wie beim Aufruf eines Exit-Plugs, geschlossen sondern lediglich „stillgelegt“ und mit Hilfe eines Resume-Plugs wieder aktiviert.

Einen Suspend-Aufruf können Sie an einer Web-Dynpro-ABAP-Anwendung sowohl

einrichten.

Hinweis Da Suspend- und Resume-Plugs der Kommunikation aus der laufenden Component heraus dienen, sind sie nur dann sinnvoll, wenn sie auch der Interface-View des Windows hinzugefügt wurden.

Jeder Suspend-Plug besitzt den Parameter URL, der hier, im Gegensatz zum Exit-Plug, nicht optional sondern obligatorisch ist: Beim Aufruf eines Suspend-Plugs muss eine Ziel-URL übergeben werden.

Wenn für eine Interface-View mindestens ein Suspend-Plug angelegt wurde, muss dort auch ein Resume-Plug angelegt werden. Ohne Resume-Plug ist es nicht möglich, eine Anwendung im Suspend-Zustand wieder zu aktivieren. Für jedes Web-Dynpro-Window kann maximal ein Plug als Resume-Plug deklariert werden.

 

Suspend-Aufruf einer Web-Dynpro-ABAP-Anwendung

 

Diese Grafik wird im zugehörigen Text erklärt

 

Die Einrichtung eines solchen Suspend-Aufrufs ist sehr einfach: Nachdem Sie an der primären WDA-Anwendung einen Outbound-Plug als Suspend-Plug markiert haben, übergeben Sie beim Aufruf des Plugs als Wert für den Parameter URL einen String, der die URL der Zielanwendung darstellt (siehe nachfolgendes Code-Beispiel).

 

method ONACTIONGO_SUSPENDING .
data: L_REF_MAIN_WINDOW type ref to IG_MAIN_WINDOW .
L_REF_MAIN_WINDOW =   WD_THIS->GET_MAIN_WINDOW_CTR( ).
  L_REF_MAIN_WINDOW->FIRE_GO_SUSPENDING_PLG(
    URL =   'http://…………/webdynpro/sap/my_secondary_wda'  ).


endmethod.
.

 

Die URL einer Web-Dynpro-Anwendung ist als eine ihrer Eigenschaften auf der entsprechenden Registerkarte der Anwendung abgelegt und kann dort abgegriffen werden.

 

Wann immer in der sekundären WDA-Anwendung ein Exit-Plug gefeuert wird, wird diese Anwendung beendet und der Resume-Plug der primären Anwendung wird automatisch aufgerufen. Innerhalb des Web-Dynpro-Frameworks wird im Rahmen des Suspend-Aufrufs eine Referenz auf die laufende Instanz der primären Anwendung mit übergeben. Die sekundäre Anwendung kennt ihren Zustand als Folge-Anwendung einer „still gelegten“ Primär-Anwendung und springt daher beim Aufruf eines beliebigen Exit-Plugs mit Hilfe der übergebenen Referenz zum Resume-Plug der Primär-Anwendung zurück.

In diesem Fall sind deshalb keine weiteren programmatischen Schritte nötig.

 

Suspend-Aufruf einer Nicht-Web-Dynpro-ABAP-Anwendung

Die Erstellung eines Suspend-Aufrufs zu einer Nicht-WDA-Anwendung ist in sofern schwieriger, als dass auch in der sekundären Anwendung Anpassungen erforderlich sind. So müssen Sie dort beispielsweise den Mechanismus zum Rücksprung in die primäre Anwendung implementieren. Dafür müssen Sie neben dem obligatorischen Parameter URL mit der Adresse der sekundären Anwendung auch die URL der eigenen Anwendung für den späteren Resume-Schritt übergeben. Diese so genannte Resume-URL wird ebenfalls als URL-Parameter an die sekundäre Anwendung übergeben.

In der sekundären Anwendung muss die Resume-URL ausgelesen werden. Anschließend wird in deren Browser-Fenster ein Redirect auf die Resume-URL geöffnet.

 

Diese Grafik wird im zugehörigen Text erklärt

 

Über diese URL wird die primäre Anwendung über ihren Resume-Plug gerufen und wieder aktiviert.

 

Hinweis Suspend- und Resume-Plugs können freie Parametern besitzten. Siehe hierzu Dokument Window: Parameter an Inbound- und Outbound-Plugs.

 

Achtung Suspend-Resume-Aufrufe sind nicht für den Einsatz in einer Portal-Umgebung freigegeben.

 

Ende des Inhaltsbereichs