Advertising:

Get column names of a structure: Difference between revisions

From SAP Knowledge Base
No edit summary
No edit summary
Line 1: Line 1:
[[category:code_snippets]]
[[category:code_snippets]]
<syntaxhighlight lang="abap" line start="1">
<syntaxhighlight lang="abap" line start="1">
  DATA columns         TYPE if_fdt_doc_spreadsheet=>t_column.
  DATA columns TYPE if_fdt_doc_spreadsheet=>t_column.
  DATA(desc) = CAST cl_abap_structdescr( cl_abap_structdescr=>describe_by_data( struc_from_itab ) ).
  DATA(desc) = CAST cl_abap_structdescr( cl_abap_structdescr=>describe_by_data( struc_from_itab ) ).
       LOOP AT desc->get_components( ) ASSIGNING FIELD-SYMBOL(<c>).
       LOOP AT desc->get_components( ) ASSIGNING FIELD-SYMBOL(<c>).
Line 17: Line 17:


<syntaxhighlight lang="abap" line start="1">
<syntaxhighlight lang="abap" line start="1">
DATA _mt_output TYPE WB2_S_BVDETAIL_OUTPUT_TAB
DATA output TYPE WB2_S_BVDETAIL_OUTPUT_TAB
DATA(lo_tdesc) = CAST cl_abap_tabledescr( cl_abap_tabledescr=>describe_by_data( _mt_output ) ).
DATA(tdesc) = CAST cl_abap_tabledescr( cl_abap_tabledescr=>describe_by_data( output ) ).
DATA(lo_sdesc) = CAST cl_abap_structdescr( lo_tdesc->get_table_line_type( ) ).
DATA(sdesc) = CAST cl_abap_structdescr( tdesc->get_table_line_type( ) ).
rt_components = lo_sdesc->get_ddic_field_list( ).
DATA(components) = lo_sdesc->get_ddic_field_list( ).
</syntaxhighlight>
</syntaxhighlight>

Revision as of 15:24, 21 December 2024

 DATA columns TYPE if_fdt_doc_spreadsheet=>t_column.
 DATA(desc) = CAST cl_abap_structdescr( cl_abap_structdescr=>describe_by_data( struc_from_itab ) ).
      LOOP AT desc->get_components( ) ASSIGNING FIELD-SYMBOL(<c>).
        IF <c> IS ASSIGNED.
          IF <c>-type->kind = cl_abap_typedescr=>kind_elem.
            APPEND VALUE #( id           = sy-tabix
                            name         = <c>-name
                            display_name = <c>-name
                            is_result    = abap_true
                            type         = <c>-type ) TO columns.
          ENDIF.
        ENDIF.
      ENDLOOP.
DATA output TYPE WB2_S_BVDETAIL_OUTPUT_TAB
DATA(tdesc) = CAST cl_abap_tabledescr( cl_abap_tabledescr=>describe_by_data( output ) ).
DATA(sdesc) = CAST cl_abap_structdescr( tdesc->get_table_line_type( ) ).
DATA(components) = lo_sdesc->get_ddic_field_list( ).

This is a wiki created in the spare time of a private person working in the SAP ERP area. The aim is to collect knowledge for the own use. The wiki is maintained to the best of knowledge and belief.
All products shown, including in form of screenshots, belong to SAP SE. Their trademarks are, among others: SAP®,ABAP®,SAP Fiori®,SAP HANA®,SAP NetWeaver®,SAP® R/3®,SAP S/4HANA®,SAP S/4HANA® Cloud