Show TOC

HintergrundDEMO_COMMON_ASSISTANCE1

 

Diese Demo-Anwendung zeigt anhand eines sehr einfachen Beispiels wie die Instanz einer Assistance-Klasse gemeinsam von zwei verschiedenen Components genutzt werden kann. Grundvoraussetzung dafür ist der Umstand, dass die Assistance-Klassen der beiden Components den gleichen Namen tragen.

  • Beide Demo-Components, DEMO_COMMON_ASSISTANCE1 und 2, greifen zunächst auf die Assistance-Klasse CL_WD_DEMO_COMM_ASSI zu.

  • Die Component DEMO_COMMON_ASSISTANCE1 verwendet DEMO_COMMON_ASSISTANCE2 als Unter-Component.

  • In der Methode WDDOINIT des Component-Controllers von DEMO_COMMON_ASSISTANCE1 wird, wie in jedem anderen Fall auch, die verwendete Component mit Hilfe der Methode l_ref_cmp_usage->create_component instanziiert. Um sicherzustellen, dass beide Components auf dieselbe Instanz der Assistance-Klasse zugreifen, muss als Wert für den Parameter ASSISTANCE_CLASS die Referenz auf die aktuelle Instanz der Assistance-Klasse der Haupt-Component übergeben werden.

    Syntax Syntax

    1. method WDDOINIT .
    2. data: l_ref_cmp_usage type ref to if_wd_component_usage.
    3. l_ref_cmp_usage =   wd_this->wd_cpuse_sub_component( ).
    4. if l_ref_cmp_usage->has_active_component( ) is initial.
    5. l_ref_cmp_usage->create_component( ASSISTANCE_CLASS
      = wd_assist ).
    6. endif.
    7. endmethod.
    Ende der Syntax.

Für die verwendete Component wird eine Instanz erzeugt und die bereits bestehende, zur Haupt-Component gehörende Instanz der Assistance-Klasse der Instanz der verwendeten Component zugeordnet. Wenn Sie an dieser Stelle statt der Referenzvariablen wd_assist den Namen der Assistance-Klasse übergeben hätten, wäre eine zweite, unabhängige Instanz der selben Klasse erzeugt worden.

Hinweis Hinweis

Mehr Informationen finden Sie im Programmierhandbuch für Web Dynpro ABAP

Ende des Hinweises.