!--a11y-->
Konfigurationsschlüssel 
Der Schlüssel, den Sie der Struktur zuweisen, muss folgende Voraussetzungen erfüllen:
● Er identifiziert die Anwendung, in der die ALV-Ausgabe angezeigt wird.
Dazu können Sie z. B. das Feld USAGE_PATH des S_PARAM_OUT verwenden.
● Er identifiziert die ALV-Ausgabe innerhalb der Anwendung.
Wenn in der Anwendung mehrere ALV-Ausgaben angezeigt werden, müssen Sie diese von einander unterscheiden können. Dazu können Sie z. B. das Feld ALV_COMPONENT_USAGE verwenden, das die Component-Verwendung der einzelnen ALV-Ausgaben zurückgibt.
● Er identifiziert die Struktur, die mit SET_DATA in der ALV-Ausgabe angezeigt wird.
Dazu können Sie eine beliebige, eindeutige Zeichenfolge verwenden.
Wenn Sie diese drei Bestandteile aneinanderhängen, erzeugen Sie somit einen Schlüssel, der eine Struktur ausreichend identifiziert. So kann eine Sicht eindeutig zugeordnet werden.
Das folgende Beispiel zeigt in einer Methode SET_ALV_CONFIG_ID die Schritte, die beim Erzeugen und Zuweisen des Konfigurationsschlüssels notwendig sind:
method SET_ALV_CONFIG_ID.
[ ... ]
data:
l_ref_if_controller
type ref to iwci_salv_wd_table,
lr_node
type ref to if_wd_context_node,
own_key
type string.
*... Get RELEVANT NODE of the APPLICATION CONTEXT
lr_node =
WD_THIS->APPL_get_data_node( ).
*... Determine name for KEy dependING on THE APPLICATION CONTEXT
OWN_KEY = 'ALV1'.
*... SET NODE of THE APPLICATION CONTEXT
l_ref_if_controller->set_data(
r_node_data = lr_node ).
[ ... ]
*... create configuration key consisting of
* usage path,
component usage, own key
data:
ls_param_out type
if_salv_wd_table=>s_type_param_config_out,
ls_param_in type
if_salv_wd_table=>s_type_param_config_in,
l_key type
string,
l_key_32 type string.
ls_param_in-action =
if_salv_wd_table=>key.
ls_param_out =
l_ref_if_controller->get_config_data( ls_param_in ).
concatenate
ls_param_out-usage_path
ls_param_out-alv_component_usage
own_key
into
l_key
separated by '&'.
*... Hash configuration key to unique key of 32 chars length
try.
l_key_32 =
cl_rsmds_hash_utilities=>to_hash_c32( l_key ).
catch
cx_rsmds_input_invalid cx_rsmds_input_invalid_type.
endtry.
[ ... ]
*... set new configuration key
ls_param_in-action
= if_salv_wd_table=>set.
ls_param_in-config_key-config_type = '08'.
ls_param_in-config_key-config_id = l_key_32.
l_ref_if_controller
->get_config_data( ls_param_in ).