Eine Domäne kann neben Domänen Fixwerten auch eine Wertetabelle, eine Wertetabelle mit Texttabelle oder eine Suchhilfe hinterlegt haben. Das Auslesen von Domänen Fix Values kann relativ einfach mit dem Funktionsbaustein DD_DOMVALUES_GET erledigt werden.
Komplexer wird es da schon bei einer Wertetabelle mit/ohne Texttabelle. Zuerst muss der Aufbau der Suchhilfe ermittelt werden.
CALL FUNCTION 'DD_SHLP_GET_HELPMETHOD' EXPORTING tabname = iv_tabname fieldname = iv_fieldname langu = sy-langu get_entitytab = abap_true CHANGING shlp = wa_shlp EXCEPTIONS field_not_found = 1 no_help_for_field = 2 OTHERS = 3.
Läuft das Coding in einer klassischen GUI Anwendung, dann muss mit der Funktion DD_SHLP_GET_DIALOG_INFO die zuvor ausgelesen Suchhilfekonfiguration noch mit zusätzlichen Daten angereichert werden.
CALL FUNCTION 'DD_SHLP_GET_DIALOG_INFO' CHANGING shlp = wa_shlp.
Nun kann man auch schon damit beginnen die Valuehelp Parameter auszulesen.
* Get help values CALL FUNCTION 'DD_SHLP_GET_HELPVALUES' TABLES output_values = lt_output output_descr = lt_output_descr CHANGING shlp = wa_shlp EXCEPTIONS cursor_selection_impossible = 1 OTHERS = 2.
Dieser Funktionsbaustein liefert zwei Tabellen. In der Tabelle OUTPUT_VALUES stehen im Feld STRING die gewünschten Daten. Diese sind allerdings, wie der Name schon andeutet, in einem String konkateniert. Da die einzelnen Werte durch Blanks getrennt sind, ist es relativ einfach diese nun in ein entsprechendes Datenobjekt zu übernehmen. Alle nötigen Feldinformationen werden in der zweiten Rückgabetabelle OUTPUT_DESCR geliefert.
Ist das Datenobjekt erstellt, dann reicht zum Schluß ein Loop über die Tabelle OUTPUT_VALUES und ein Move in die erzeugte Struktur.
Comments are closed.