Show TOC

HintergrundController

 

Umgang mit Controller-Methoden

Neben Contexten enthält ein Controller auch Methoden um die Werte der Context-Attribute zu bearbeiten, Ereignisse auszulösen und zu behandeln usw. Lesen Sie hierzu in jedem Fall die ausführliche Dokumentation des Programmierhandbuchs Web Dynpro für ABAP. Unabhängig von allen vorgedachten Methoden-Strukturen haben Sie natürlich die Möglichkeit, eigene Methoden anzulegen und aus ihrer Anwendung heraus zu rufen. Je größer eine Web-Dynpro-Anwendung ist oder werden soll, um so sinnvoller ist eine konsequente Auslagerung der Logik in separate Hilfsklassen. Sie erreichen damit eine wesentlich flexiblere Nutzbarkeit der Methoden da Sie die Hilfsklassen in anderen Anwendungen wiederverwenden können. Das Web Dynpro Framework selbst sieht bereits die Nutzung der sogenannten Assistance-Klasse vor. Diese Klasse hat aufgrund ihres geerbten Typs spezielle Eigenschaften, die das Web Dynpro Framework in geeigneter Weise nutzen kann. Daneben können Sie beliebige Hilfsklassen anlegen und diese gemäß Ihrer Anwendungslandschaft strukturieren.

Unabhängige Hilfsklassen bieten zusätzlich den Vorteil, optionale Parameter verwenden zu können.

Hinweis Hinweis

Beachten Sie bitte, dass die Methoden aus Hilfs- und Assistance-Klassen auch aus View-Controllern direkt gerufen werden können.

Ende des Hinweises.
Umgang mit Methoden-Attributen

Entsprechend den Methoden selber ist es ebenfalls sinnvoll, Methoden-Attribute immer eher in den separaten Hilfsklassen anzulegen und in den Web-Dynpro-Methoden lediglich ein Referenz darauf zu halten.

Ereignisse

Achtung Achtung

Ereignisse und Ereignisbehandlung in Web Dynpro für ABAP sind nicht identisch mit denen in ABAP allgemein.

Ende der Warnung

Insbesondere können Ereignisse nur aufgefangen und behandelt werden, wenn für die beiden beteiligten Controller eine Controller-Verwendung eingetragen wurde.

Hinweise zu Assistance-Klassen

Assistance-Klassen werden jeweils mit ihrer zugehörigen Component instanziiert.

Hinweis Hinweis

Es ist prinzipiell auch möglich, Assistance-Klassen außerhalb der zugehörigen Component zu nutzen. Dies ist insbesondere im Hinblick auf ihre Nutzung zur Model-Anbindung hilfreich. Siehe hierzu auch das Dokument zur Beispielanwendung DEMO_COMMON_ASSISTANCE1.

Ende des Hinweises.

Wenn in einer Component-Verwendungskette aus verschiedenen Components auf eine bestimmte Assistance-Klasse zugegriffen wird, sollte dies die Assistsance-Klasse sinnvollerweise an der Haupt-Component angelegt und dann an die Unter-Comonenten übergeben werden.