Variante 1 (get_ddic_fixed_values)
CLASS lcl_domvalues DEFINITION.
PUBLIC SECTION.
CLASS-METHODS: get_by_type
IMPORTING
iv_data TYPE any
RETURNING VALUE(rt_ddfixvalues) TYPE ddfixvalues.
CLASS-METHODS: get_by_name
IMPORTING
iv_name TYPE domname
RETURNING VALUE(rt_ddfixvalues) TYPE ddfixvalues.
ENDCLASS.
CLASS lcl_domvalues IMPLEMENTATION.
METHOD get_by_type.
TRY.
* liefert Typebeschreibung für DDIC-Typ
rt_ddfixvalues = CAST cl_abap_elemdescr( cl_abap_typedescr=>describe_by_data( iv_data ) )->get_ddic_fixed_values( ).
CATCH cx_root.
ENDTRY.
ENDMETHOD.
METHOD get_by_name.
TRY.
* liefert Typebeschreibung für DDIC-Typ
rt_ddfixvalues = CAST cl_abap_elemdescr( cl_abap_typedescr=>describe_by_name( iv_name ) )->get_ddic_fixed_values( ).
CATCH cx_root.
ENDTRY.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
* Domäne über Variablen-Typ
DATA(lv_cat) = VALUE cccategory( ).
DATA(it_by_type) = lcl_domvalues=>get_by_type( lv_cat ).
* Domäne über Name
DATA(it_by_name) = lcl_domvalues=>get_by_name( 'CCCATEGORY' ).
cl_demo_output=>write_data( it_by_type ).
cl_demo_output=>write_data( it_by_name ).
cl_demo_output=>display( ).
Variante 2 (DD_DOMVALUES_GET)
DATA(it_dd07v_tab) = VALUE dd07v_tab( ).
DATA(lv_rc) = VALUE sy-subrc( ).
CALL FUNCTION 'DD_DOMVALUES_GET'
EXPORTING
domname = 'CCCATEGORY'
text = abap_true
* LANGU = ' '
* BYPASS_BUFFER = ' '
IMPORTING
rc = lv_rc
TABLES
dd07v_tab = it_dd07v_tab
EXCEPTIONS
wrong_textflag = 1
OTHERS = 2.
IF sy-subrc = 0.
IF lv_rc = 0.
cl_demo_output=>display( it_dd07v_tab ).
ENDIF.
ENDIF.
Variante 3 (SQL)
* Name der Domäne
DATA(lv_domain) = 'CCCATEGORY'.
* Anmeldesprache
DATA(lv_lang) = cl_abap_syst=>get_logon_language( ).
SELECT l~domvalue_l, t~ddtext
INTO TABLE @DATA(it_dom)
FROM dd07l AS l
INNER JOIN dd07t AS t ON l~domname = t~domname AND l~valpos = t~valpos AND l~domvalue_l = t~domvalue_l
WHERE l~domname = @lv_domain
AND t~ddlanguage = @lv_lang.
cl_demo_output=>display( it_dom ).
Variante 4 (cl_reca_ddic_doma)
DATA(it_rsdomaval) = VALUE re_t_rsdomaval( ).
* DDIC-Objekt: Domäne
cl_reca_ddic_doma=>get_values( EXPORTING id_name = 'CCCATEGORY'
IMPORTING et_values = it_rsdomaval ).
cl_demo_output=>display( it_rsdomaval ).
Variante 5 (cl_reca_ddic_doma)
DATA(lv_dd01v) = VALUE dd01v( ).
DATA(it_rsdomaval) = VALUE re_t_rsdomaval( ).
* DDIC-Objekt: Domäne
cl_reca_ddic_doma=>get_complete( EXPORTING id_name = 'CCCATEGORY'
IMPORTING es_header = lv_dd01v
et_rsdomaval = it_rsdomaval ).
cl_demo_output=>write_data( lv_dd01v ).
cl_demo_output=>write_data( it_rsdomaval ).
cl_demo_output=>display( ).
Links