
Resume-Plugs und Portal-Navigation
Für jede Interface-View können Sie maximal einen Inbound-Plug als so genannten Resume-Plug markieren. Das Vorhandensein eines Resume-Plugs führt im Rahme einer Navigation im Portal zu folgendem Verhalten: Erkennt diePortal-Navigation einen solchen Plug in der laufenden Anwendung, wird diese beim Weg-Navigieren nicht beendet sondern lediglich in einen Suspend-Modus transferiert. Dabei werden die Session-ID sowie die Inhalte des Contexts gehalten und eine neue Anwendung gestartet. Wenn ein Anwender mit Hilfe des Navigationsmenüs des Portals dann wieder in die ursprüngliche Anwendung zurückspringt, kann diese in genau dem Zustand weiter bearbeitet werden, in dem sie verlassen wurde. Beachten Sie in diesem Zusammenhang folgenden Hinweis:
Die Methode WDDOAPPLICATIONSTATECHANGE
Die Methode WDDOAPPLICATIONSTATECHANGE ist eine Methode des Component-Controllers. Sie wird immer dann durchlaufen, wenn sich der Zustand einer Anwendung ändert, also genau dann, wenn die Anwendung vom laufenden in den Suspend-Modus übergeht und wenn sie anschließend über den Resume-Plug wieder aufgenommen wird. Sie ersetzt damit im Phasenmodell die WDDOEXIT-Methode.
Die Methode WDDOAPPLICATIONSTATECHANGE kann, muss jedoch nicht von der Anwendungsentwicklung ausprogrammiert werden. Es kann jedoch beispielsweise sinnvoll sein, in dieser Methode Datenbanksperren zu löschen, die während des Resume-Zustands nicht gesetzt sein sollen.
Solange Ihre Anwendungen innerhalb eines Portals laufen, übernimmt die Portal-Navigation den Suspend-Schritt ohne dass Sie dies zur Design-Zeit vorbereiten müssen. Allein das Vorhandensein eines Resume-Plugs reicht aus, um die aktuelle Anwendung bei einer Portal-Navigation nicht zu beenden sonder lediglich zu unterbrechen. Dies ist natürlich nicht der Fall, wenn die Anwendung nicht im Portal läuft und daher auch nicht auf den Mechanismus der Portal-Navigation zurückgreifen kann.
Resume- und Suspend-Plugs außerhalb des Portals
Wenn Sie im Rahmen einer reinen Web-Dynpro-Navigation eine Anwendung mit gehaltener Session unterbrechen wollen, müssen Sie hierfür einen Suspend-Plug an der Interface-View des zugehörigen Windows anlegen und zu einem geeigneten Zeitpunkt auslösen. Jede Interface-View kann über mehrere, als Suspend-Plug gekennzeichnete Outbound-Plugs verfügen. Das Auslösen eines Suspend-Outbound-Plugs führt ebenfalls dazu, dass die Methode WDDOAPPLICATIONSTATECHANGE an Stelle der WDDOEXIT gerufen wird. Die URL der unterbrochenen Anwendung wird automatisch an die nachfolgenden Anwendung übergeben damit von dort aus wieder in die erste Anwendung zurückgesprungen werden kann.