Show TOC

DEMO_COMMON_ASSISTANCE1Locate this document in the navigation structure

Verwendung

Die Demo-Anwendung DEMO_COMMON_ASSISTANCE 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 DEMO_COMMON_ASSISTANCE2, 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 die selbe 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.

                
    method WDDOINIT .
                
    data: l_ref_cmp_usage type ref to if_wd_component_usage.
                
    l_ref_cmp_usage = wd_this->wd_cpuse_sub_component( ).
                
    if l_ref_cmp_usage->has_active_component( ) is initial.
                
    l_ref_cmp_usage->create_component
                
    .
                
    endif.
                
    endmethod.
                   

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.

Weitere Informationen