Show TOC

Arbeiten mit der Assistance-KlasseLocate this document in the navigation structure

Verwendung

Zu jeder Web-Dynpro-Component können Sie eine eindeutig zugeordnete Assistance-Klasse anlegen. Diese Klasse sollte von der abstrakten Klasse CL_WD_COMPONENT_ASSISTANCE erben. Die Assistance-Klasse einer Component bietet folgende Vorteile:

  • Sie können dort Coding hinterlegen, das im Rahmen der Component benötigt wird, das jedoch nicht direkt mit dem Layout oder mit der Funktion eines Controllers in Zusammenhang steht. Dies könnte z.B. ein Aufruf der Anwendungsschicht oder die UI-gerechte Aufbereitung der Daten sein.

    Hinweis

    Methodenaufrufe der Assistance-Klasse sind aus Sicht der Performance wesentlich günstiger als Aufrufe von Methoden eines Web-Dynpro-Controllers.

  • Die zweite, wichtige Funktion der Assistance-Klasse ist die Verwaltung von dynamischen Texten.

    Texte, die erst zur Laufzeit zusammengesetzt werden und/oder Variable enthalten, können im Text-Pool der Assistance-Klasse als Textsymbole abgelegt werden.

Die Assistance-Klasse wird automatisch beim Aufruf einer Component instanziiert. Die Instanz steht jedem Controller der Component über das Attribut WD_ASSIST zur Verfügung.

Gemeinsame Nutzung einer Assistance-Klassen-Instanz

Zusätzlich ist es im Rahmen einer Component-Verwendung möglich, die Assistance-Klassen-Instanz der Haupt-Component auch der verwendeten Component zur Verfügung zu stellen. Dazu müssen Sie bei der Erzeugung der Instanz der verwendeten Component als Wert für den Parameter ASSISTANCE_CLASS die Referenz auf die aktuelle Instanz der Assistance-Klasse der Haupt-Component (also die Referenzvariable wd_assist) übergeben. Im Paket SWPD_DEMO in Ihrem System finden Sie die Web-Dynpro-Anwendung DEMO_COMMON_ASSISTANCE, in der Sie die Implementierung in der Methode WDDOINIT des Component-Controllers der Haupt-Component DEMO_COMMON_ASSISTANCE1 nachvollziehen können.

Arbeiten mit Textsymbolen in Web Dynpro ABAP

Die Klasse CL_WD_COMPONENT_ASSISTANCE stellt zentrale Funktionen zur Verfügung, über die eine Web-Dynpro-Component Zugriff auf die Textsymbole der Assistance-Klasse erhält. Mit Hilfe des Instanz-Attributs WD_ASSIST sowie der Methode IF_WD_COMPONENT_ASSISTANCE~GET_TEXT( ) können Sie aus jedem Controller Ihrer Component auf Textsymbole der Assistance-Klasse zugreifen. Beim Aufruf der Methode wird die dreistellige Kennung des Textsymbols dem Parameter KEYübergeben:

          
method MY_CONTROLLER_METHOD .
          
data: my_text type string.
          
my_text = WD_ASSIST->IF_WD_COMPONENT_ASSISTANCE~GET_TEXT( KEY = '001').
          
...
          
endmethod.
            
Achtung

Der Zugriff auf Textsymbole aus einer Web-Dynpro-Component heraus unterscheidet sich von der in ABAP-Objects üblichen Weise (siehe Textsymbole in der allgemeinen ABAP-Programmierung).

Die Pflege der Textsymbole der Assistance-Klasse ist von jedem Controller aus möglich. Wählen Sie dazu im Menü den Eintrag Anfang des Navigationspfads Springen Nächster Navigationsschritt Textsymbole Ende des Navigationspfads.

Hinweis

Grundsätzlich kann jede beliebige ABAP-Klasse als Assistance-Klasse dienen, jedoch stehen die im Web-Dynpro-Framework integrierten Services nur dann zur Verfügung, wenn sich die Assistance-Klasse von der Klasse CL_WD_COMPONENT_ASSISTANCE ableitet.

Beachten Sie dabei, dass die Assistance-Klasse keine Required-Parameter im Konstruktor besitzen darf.

Informationen zu den verfügbaren Methoden der Klasse finden Sie im System mit Hilfe des Class Builders.