Anfang des Inhaltsbereichs

FunktionsdokumentationLifetime Management  Dokument im Navigationsbaum lokalisieren

Verwendung

Das Lifetime Management regelt die Lebensdauer eines Custom Controls am Frontend.  Wenn die Lebensdauer abgelaufen ist, wird das Custom Control automatisch vom SAP-System am Frontend abgebaut.  Dabei wird die Methode free bzw. finalize für das Control vom System aufgerufen.  Natürlich können Sie ein Control mit diesen Methoden auch programmgesteuert abbauen.

Funktionsumfang

Es gibt zwei Einstellungen für die Lebensdauer eines Controls, die beim Instanzieren vergeben werden:

     my_control->lifetime_imode: Das Control lebt, solange der interne Modus nicht abgebaut wird (d.h. durch eine der folgenden Anweisungen beendet wird: leave program oder leave to transaction). Die Anweisung set screen 0, leave screen. baut den internen Modus nur dann ab, wenn keine andere Dynproinstanz (erzeugt z.B. durch CALL SCREEN) mehr vorhanden ist..)  Danach wird die Methode finalize aufgerufen.

     my_control->lifetime_dynpro: Das Control lebt, solange die Instanz des Dynpros existiert, d.h. sich noch im Dynprostapel befindet. Danach wird die Methode free aufgerufen.

Die Benutzung dieses Modus regelt automatisch die Sichtbarkeit von Controls. Controls werden immer nur dann eingeblendet, wenn das Dynpro aktiv ist, auf dem sie erzeugt wurden. Ist ein anderes Dynpro aktiv, werden sie automatisch unsichtbar geschaltet.

     my_control->lifetime_default: Wird das Control in einen Container eingebaut, übernimmt es die Lebensdauer des Containers. Wird es nicht in einen Container eingebaut (z.B. weil es selbst ein Container ist), dann wird die Lebensdauer auf my_control->lifetime_imode gesetzt.

Achtung

Bei der Vergabe der Lebensdauer, darf die Lebensdauer eines Controls nur kürzer aber niemals länger sein kann, als die seines Containers.

Hinweis

Die Instanz eines Dynpros wird wie folgt definiert:

Eine Instanz wird erzeugt, wenn ein Dynpro auf den Dynprostapel gestellt wird ist (z.B.: call screen 100 (starting at...); call transaction, ..) oder wenn es in den Dynprostapel gestellt wird, da es der Nachfolger eines anderen Dynpros ist.

Eine Instanz wird abgebaut, wenn das Nachfolgedynpro ein anderes als das Dynpro der aktuellen Instanz ist (set screen 200 oder set screen 0).

Die Lebensdauer eines Controls wird in dem Attribut my_control->lifetime verwaltet.

Mit der Methode is_alive können Sie abfragen, ob ein instanziertes Control noch am Frontend existiert.  Die Methode get_living_dynpro_controls liefert eine Liste aller existierenden Controls zurück.

 

 

Ende des Inhaltsbereichs