
Um das ALV Configuration Model zur Verfügung zu haben, verwenden Sie z. B. in der WDDOINIT- eine Methode der Klasse IWCI_SALV_WD_TABLE. Sie wählen eine der folgenden Methoden:
GET_MODEL
Sie erhalten ein vollständiges ALV Configuration Model mit allen Spaltenobjekten und allen Feldobjekten.
Diese Variante ist der Standardfall. Die Methode besitzt keine Parameter.
GET_MODEL_EXTENDED
Sie erhalten wie oben alle Feldobjekte, jedoch die Spaltenobjekte nur bei Bedarf.
Wenn Sie z. B. sehr viele Feldobjekte verwalten müssen, jedoch nur wenige Spalten tatsächlich anzeigen möchten, legen Sie zunächst nur die Feldobjekte an und erzeugen nachträglich gezielt diejenigen Spaltenobjekte, die Sie zur Darstellung der Inhalte benötigen.
Der Parameter S_PARAM der Methode GET_MODEL_EXTENDED besteht aus dem Feld DEFAULT_COLUMNS. Damit legen Sie fest, ob die Spaltenobjekte erzeugt werden sollen oder nicht.
Sie können zu einem beliebigen späteren Zeitpunkt eine neue interne Datentabelle für die ALV-Anzeige angeben. Dazu verwenden Sie die Methode SET_DATA des Interface-Controllers. Mit dieser Methode löschen Sie allerdings automatisch das gesamte bisherige ALV Configuration Model mit allen Feld- und Spaltenobjekten. Um das ALV Configuration Model auch zur neuen Datentabelle wieder zur Verfügung zu haben, verwenden Sie anschließend erneut eine der Methoden GET_MODEL bzw. GET_MODEL_EXTENDED.
Um das ALV Configuration Model nutzen zu können, müssen Sie die ALV-Component explizit instanziieren.
Öffnen Sie an einer geeigneten Stelle in Ihrem Coding (zum Beispiel in der Methode WDDOINIT ihres Component-Controllers) den Web Dynpro Code Wizard und wählen Sie auf der Registerkarte Allgemein: Verwendete Component instanziieren.
Wählen Sie die gewünschte Component-Verwendung von SALV_WD_TABLE aus (zum Beispiel: MY_ALV_COMP_USAGE) und bestätigen Sie.
Folgendes Coding wird in Ihre Methode eingefügt:
data lo_cmp_usage type ref to if_wd_component_usage.
lo_cmp_usage = wd_this->wd_cpuse_my_alv_comp_usage( ).
if lo_cmp_usage->has_active_component( ) is initial.
lo_cmp_usage->create_component( ).
endif.
Öffnen Sie den Web Dynpro Code Wizard noch einmal und wählen Sie Methodenaufruf im verwendeten Controller.
Wählen Sie den INTERFACECONTROLLER ihrer ALV-Component-Verwendung aus und wählen Sie die gewünschte Methode, also zum Beispiel GET_MODEL.
Folgendes Coding wird in Ihre Methode eingefügt:
DATA lo_INTERFACECONTROLLER TYPE REF TO IWCI_SALV_WD_TABLE .
lo_INTERFACECONTROLLER = wd_this->wd_cpifc_my_alv_comp_usage( ).
DATA lv_value TYPE ref to cl_salv_wd_config_table.
lv_value = lo_interfacecontroller->get_model( ).
Jetzt können Sie auf die verschiedenen Interfaces des ALV Configuration Model zugreifen.
Um zum Beispiel die Standardfunktion zur Darstellung der Tabelle als Hierarchie zu aktivieren, rufen Sie:
lv_value->IF_SALV_WD_STD_FUNCTIONS~SET_HIERARCHY_ALLOWED( ).