<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: dynamic internal table fields in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009158#M1166076</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;your part of the code is present in routine &lt;/P&gt;&lt;P&gt;perform dynamic_table.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report ZCS_NAC_MAT_CHARACTERISTICS&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2/ Description ...: Business requirement is to get all materials &lt;/P&gt;&lt;P&gt;without any characteristic values maintained in SAP &lt;/P&gt;&lt;P&gt;which are given in the selection screen. &lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;REPORT znac_material_char.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : abap,&lt;/P&gt;&lt;P&gt;slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : kssk,&lt;/P&gt;&lt;P&gt;klah,&lt;/P&gt;&lt;P&gt;mara,&lt;/P&gt;&lt;P&gt;makt,&lt;/P&gt;&lt;P&gt;cabn,&lt;/P&gt;&lt;P&gt;t134,&lt;/P&gt;&lt;P&gt;t023.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : i_fieldcat TYPE slis_t_fieldcat_alv ,&lt;/P&gt;&lt;P&gt;wa_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : w_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;DATA : st_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : t_header TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;w_header TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_cabn,&lt;/P&gt;&lt;P&gt;atinn TYPE cabn-atinn,&lt;/P&gt;&lt;P&gt;atnam TYPE cabn-atnam,&lt;/P&gt;&lt;P&gt;END OF ty_cabn.&lt;/P&gt;&lt;P&gt;DATA : i_cabn TYPE STANDARD TABLE OF ty_cabn WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_cabn LIKE i_cabn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_ausp,&lt;/P&gt;&lt;P&gt;objek TYPE ausp-objek,&lt;/P&gt;&lt;P&gt;atinn TYPE ausp-atinn,&lt;/P&gt;&lt;P&gt;klart TYPE ausp-klart,&lt;/P&gt;&lt;P&gt;END OF ty_ausp.&lt;/P&gt;&lt;P&gt;DATA : i_ausp TYPE STANDARD TABLE OF ty_ausp WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_ausp LIKE i_ausp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_mara,&lt;/P&gt;&lt;P&gt;matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;mtart TYPE mara-mtart,&lt;/P&gt;&lt;P&gt;matkl TYPE mara-matkl,&lt;/P&gt;&lt;P&gt;prdha TYPE mara-prdha,&lt;/P&gt;&lt;P&gt;mstae TYPE mara-mstae,&lt;/P&gt;&lt;P&gt;mstde TYPE mara-mstde,&lt;/P&gt;&lt;P&gt;END OF ty_mara.&lt;/P&gt;&lt;P&gt;DATA : i_mara TYPE STANDARD TABLE OF ty_mara WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_mara LIKE i_mara.&lt;/P&gt;&lt;P&gt;DATA : i_mara_temp TYPE STANDARD TABLE OF ty_mara WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_mara_temp LIKE i_mara_temp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :BEGIN OF ty_data,&lt;/P&gt;&lt;P&gt;atnam TYPE cabn-atnam,&lt;/P&gt;&lt;P&gt;atinn TYPE cabn-atinn,&lt;/P&gt;&lt;P&gt;objek TYPE ausp-objek,&lt;/P&gt;&lt;P&gt;klart TYPE ausp-klart,&lt;/P&gt;&lt;P&gt;matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;maktx TYPE makt-maktx,&lt;/P&gt;&lt;P&gt;mtart TYPE mara-mtart,&lt;/P&gt;&lt;P&gt;matkl TYPE mara-matkl,&lt;/P&gt;&lt;P&gt;prdha TYPE mara-prdha,&lt;/P&gt;&lt;P&gt;mstae TYPE mara-mstae,&lt;/P&gt;&lt;P&gt;mstde TYPE mara-mstde,&lt;/P&gt;&lt;P&gt;END OF ty_data.&lt;/P&gt;&lt;P&gt;DATA : i_data TYPE STANDARD TABLE OF ty_data WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_data LIKE i_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : i_class TYPE STANDARD TABLE OF sclass WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_class LIKE i_class.&lt;/P&gt;&lt;P&gt;DATA : i_class_temp TYPE STANDARD TABLE OF sclass WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_class_temp LIKE i_class_temp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : i_objdata TYPE STANDARD TABLE OF clobjdat WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_objdata LIKE i_objdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_objdata_temp.&lt;/P&gt;&lt;P&gt;TYPES: matnr TYPE mara-matnr.&lt;/P&gt;&lt;P&gt;TYPES: maktx TYPE makt-maktx.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE clobjdat.&lt;/P&gt;&lt;P&gt;TYPES : prdha TYPE mara-prdha.&lt;/P&gt;&lt;P&gt;TYPES : mstde TYPE mara-mstde.&lt;/P&gt;&lt;P&gt;TYPES : END OF ty_objdata_temp.&lt;/P&gt;&lt;P&gt;DATA : i_objdata_temp TYPE STANDARD TABLE OF ty_objdata_temp WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_objdata_temp LIKE i_objdata_temp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;t_dyntable&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;&amp;lt;fs_dyntable&amp;gt;,&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; TYPE ANY.&lt;/P&gt;&lt;P&gt;DATA: t_newtable TYPE REF TO data,&lt;/P&gt;&lt;P&gt;t_newline TYPE REF TO data,&lt;/P&gt;&lt;P&gt;fs_fldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;t_fldcat1 TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;wa_it_fldcat TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;wa_colno(2) TYPE n,&lt;/P&gt;&lt;P&gt;wa_flname(30) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: fieldname(20) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: fieldvalue(40) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: index(3) TYPE c,&lt;/P&gt;&lt;P&gt;v_time(60) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_cat LIKE LINE OF fs_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS : c_nac TYPE klah-class VALUE 'NAC',&lt;/P&gt;&lt;P&gt;c_klart TYPE ausp-klart VALUE '001',&lt;/P&gt;&lt;P&gt;c_check TYPE c VALUE 'X' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-000.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT (28) text-001 .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_atnam FOR cabn-atnam NO INTERVALS OBLIGATORY. " Characteristic name&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_matnr FOR mara-matnr. " material Number&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_mtart FOR mara-mtart. " material type&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_matkl FOR mara-matkl. " material type&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_mstae FOR mara-mstae. " X-Plant material status&lt;/P&gt;&lt;P&gt;PARAMETERS : s_date LIKE sy-datum OBLIGATORY DEFAULT sy-datum . " date&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_atnam.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM cabn WHERE atnam IN s_atnam.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;MESSAGE text-003 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_matnr.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM mara WHERE matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;MESSAGE text-004 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_mtart.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM t134 WHERE mtart IN s_mtart.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;MESSAGE text-005 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_matkl.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM t023 WHERE matkl IN s_matkl.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;MESSAGE text-006 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM get_data.&lt;/P&gt;&lt;P&gt;PERFORM get_data_keydate.&lt;/P&gt;&lt;P&gt;PERFORM material_all_charname.&lt;/P&gt;&lt;P&gt;PERFORM get_classification.&lt;/P&gt;&lt;P&gt;PERFORM dynamic_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form dynamic_table&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM dynamic_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM fieldcatalog.&lt;/P&gt;&lt;P&gt;PERFORM dynamic_table_create.&lt;/P&gt;&lt;P&gt;PERFORM final_data.&lt;/P&gt;&lt;P&gt;PERFORM final_fieldcatalog.&lt;/P&gt;&lt;P&gt;PERFORM layout_build.&lt;/P&gt;&lt;P&gt;PERFORM grid_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form layout_build&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM layout_build .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;st_layout-zebra = c_check.&lt;/P&gt;&lt;P&gt;st_layout-no_vline = ''.&lt;/P&gt;&lt;P&gt;st_layout-colwidth_optimize = c_check.&lt;/P&gt;&lt;P&gt;st_layout-detail_popup = c_check.&lt;/P&gt;&lt;P&gt;st_layout-detail_initial_lines = c_check.&lt;/P&gt;&lt;P&gt;st_layout-detail_titlebar = text-021.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " layout_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form alv_top_of_page&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM alv_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH t_header.&lt;/P&gt;&lt;P&gt;CLEAR t_header.&lt;/P&gt;&lt;P&gt;w_header-typ = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;w_header-key = ' '.&lt;/P&gt;&lt;P&gt;w_header-info = text-019.&lt;/P&gt;&lt;P&gt;APPEND w_header TO t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE sy-datum&lt;EM&gt;4(2) '-' sy-datum&lt;/EM&gt;6(2) '-' sy-datum&lt;EM&gt;0(4) ' / ' sy-uzeit&lt;/EM&gt;0(2) ':' sy-uzeit&lt;EM&gt;2(2) ':' sy-uzeit&lt;/EM&gt;4(2) INTO v_time.&lt;/P&gt;&lt;P&gt;w_header-typ = 'S'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;w_header-key = text-020.&lt;/P&gt;&lt;P&gt;w_header-info = v_time.&lt;/P&gt;&lt;P&gt;APPEND w_header TO t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_list_commentary = t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "alv_top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form grid_display&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM grid_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_callback_program = sy-repid&lt;/P&gt;&lt;P&gt;i_callback_top_of_page = 'ALV_TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;it_fieldcat = fs_fldcat&lt;/P&gt;&lt;P&gt;is_layout = st_layout&lt;/P&gt;&lt;P&gt;i_default = c_check&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_events = v_events[] &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = &amp;lt;t_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " grid_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form FINAL_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM final_fieldcatalog .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_cat-fieldname = text-009.&lt;/P&gt;&lt;P&gt;wa_cat-seltext_m = text-015.&lt;/P&gt;&lt;P&gt;wa_cat-outputlen = 18.&lt;/P&gt;&lt;P&gt;APPEND wa_cat TO fs_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_cat-fieldname = text-011.&lt;/P&gt;&lt;P&gt;wa_cat-seltext_m = text-016.&lt;/P&gt;&lt;P&gt;wa_cat-outputlen = 40.&lt;/P&gt;&lt;P&gt;APPEND wa_cat TO fs_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT s_atnam.&lt;/P&gt;&lt;P&gt;CLEAR wa_cat.&lt;/P&gt;&lt;P&gt;wa_cat-fieldname = s_atnam-low.&lt;/P&gt;&lt;P&gt;wa_cat-seltext_m = s_atnam-low.&lt;/P&gt;&lt;P&gt;wa_cat-outputlen = '15'.&lt;/P&gt;&lt;P&gt;APPEND wa_cat TO fs_fldcat.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_cat-fieldname = text-012.&lt;/P&gt;&lt;P&gt;wa_cat-seltext_m = text-017.&lt;/P&gt;&lt;P&gt;wa_cat-outputlen = 18.&lt;/P&gt;&lt;P&gt;APPEND wa_cat TO fs_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_cat-fieldname = text-013.&lt;/P&gt;&lt;P&gt;wa_cat-seltext_m = text-018.&lt;/P&gt;&lt;P&gt;wa_cat-outputlen = 8.&lt;/P&gt;&lt;P&gt;APPEND wa_cat TO fs_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " FINAL_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form FIELDCATALOG&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM fieldcatalog .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = text-009.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = text-010.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 18.&lt;/P&gt;&lt;P&gt;APPEND wa_it_fldcat TO t_fldcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = text-011.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = text-010.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 40.&lt;/P&gt;&lt;P&gt;APPEND wa_it_fldcat TO t_fldcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT s_atnam.&lt;/P&gt;&lt;P&gt;CLEAR wa_it_fldcat.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = s_atnam-low.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = text-010.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 30.&lt;/P&gt;&lt;P&gt;APPEND wa_it_fldcat TO t_fldcat1.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = text-012.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = text-010.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 18.&lt;/P&gt;&lt;P&gt;APPEND wa_it_fldcat TO t_fldcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = text-013.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = text-014.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 8.&lt;/P&gt;&lt;P&gt;APPEND wa_it_fldcat TO t_fldcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form DYNAMIC_TABLE_CREATE&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM dynamic_table_create .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create dynamic internal table and assign to FS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_fieldcatalog = t_fldcat1&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;ep_table = t_newtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ASSIGN t_newtable-&amp;gt;* TO &amp;lt;t_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create dynamic work area and assign to FS &lt;/P&gt;&lt;P&gt;CREATE DATA t_newline LIKE LINE OF &amp;lt;t_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;ASSIGN t_newline-&amp;gt;* TO &amp;lt;fs_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " DYNAMIC_TABLE_CREATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form FINAL_DATA&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM final_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_objdata_temp INTO w_objdata_temp.&lt;/P&gt;&lt;P&gt;*assign w_objdata_temp-matnr to &amp;lt;fs_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;AT NEW matnr.&lt;/P&gt;&lt;P&gt;wa_flname = text-009.&lt;/P&gt;&lt;P&gt;fieldvalue = w_objdata_temp-matnr.&lt;/P&gt;&lt;P&gt;CONDENSE fieldvalue NO-GAPS.&lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT wa_flname&lt;/P&gt;&lt;P&gt;OF STRUCTURE &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;fs_fldval&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; = fieldvalue.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;wa_flname = text-011.&lt;/P&gt;&lt;P&gt;fieldvalue = w_objdata_temp-maktx.&lt;/P&gt;&lt;P&gt;CONDENSE fieldvalue NO-GAPS.&lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT wa_flname&lt;/P&gt;&lt;P&gt;OF STRUCTURE &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;fs_fldval&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; = fieldvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_flname = w_objdata_temp-atnam.&lt;/P&gt;&lt;P&gt;fieldvalue = w_objdata_temp-ausp1.&lt;/P&gt;&lt;P&gt;CONDENSE fieldvalue NO-GAPS.&lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT wa_flname&lt;/P&gt;&lt;P&gt;OF STRUCTURE &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;fs_fldval&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; = fieldvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_flname = text-012.&lt;/P&gt;&lt;P&gt;fieldvalue = w_objdata_temp-prdha.&lt;/P&gt;&lt;P&gt;CONDENSE fieldvalue NO-GAPS.&lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT wa_flname&lt;/P&gt;&lt;P&gt;OF STRUCTURE &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;fs_fldval&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; = fieldvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_flname = text-013.&lt;/P&gt;&lt;P&gt;fieldvalue = w_objdata_temp-mstde.&lt;/P&gt;&lt;P&gt;CONDENSE fieldvalue NO-GAPS.&lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT wa_flname&lt;/P&gt;&lt;P&gt;OF STRUCTURE &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;fs_fldval&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; = fieldvalue.&lt;/P&gt;&lt;P&gt;AT END OF matnr.&lt;/P&gt;&lt;P&gt;APPEND &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;t_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " FINAL_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form GET_CLASSIFICATION&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_classification .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_data INTO w_data.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM klah WHERE class = c_nac.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;IF w_data-mstde &amp;gt;= klah-vondt.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;class = c_nac&lt;/P&gt;&lt;P&gt;classtext = c_check&lt;/P&gt;&lt;P&gt;classtype = c_klart&lt;/P&gt;&lt;P&gt;clint = 0&lt;/P&gt;&lt;P&gt;features = c_check&lt;/P&gt;&lt;P&gt;language = sy-langu&lt;/P&gt;&lt;P&gt;object = w_data-objek&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_class = i_class&lt;/P&gt;&lt;P&gt;t_objectdata = i_objdata&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;no_classification = 1&lt;/P&gt;&lt;P&gt;no_classtypes = 2&lt;/P&gt;&lt;P&gt;invalid_class_type = 3&lt;/P&gt;&lt;P&gt;OTHERS = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_class INTO w_class. &lt;/P&gt;&lt;P&gt;MOVE w_class TO w_class_temp. &lt;/P&gt;&lt;P&gt;APPEND w_class_temp TO i_class_temp. &lt;/P&gt;&lt;P&gt;ENDLOOP . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT s_atnam.&lt;/P&gt;&lt;P&gt;READ TABLE i_objdata INTO w_objdata WITH KEY atnam = s_atnam-low.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MOVE w_data-matnr TO w_objdata_temp-matnr.&lt;/P&gt;&lt;P&gt;MOVE w_data-maktx TO w_objdata_temp-maktx.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING w_objdata TO w_objdata_temp.&lt;/P&gt;&lt;P&gt;MOVE w_data-prdha TO w_objdata_temp-prdha.&lt;/P&gt;&lt;P&gt;MOVE w_data-mstde TO w_objdata_temp-mstde.&lt;/P&gt;&lt;P&gt;APPEND w_objdata_temp TO i_objdata_temp.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " GET_CLASSIFICATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form GET_DATA&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT atinn atnam FROM cabn INTO TABLE i_cabn WHERE atnam IN s_atnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT i_cabn[] IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT objek atinn klart FROM ausp INTO TABLE i_ausp&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN i_cabn&lt;/P&gt;&lt;P&gt;WHERE objek IN s_matnr&lt;/P&gt;&lt;P&gt;AND atinn = i_cabn-atinn&lt;/P&gt;&lt;P&gt;AND klart = c_klart.&lt;/P&gt;&lt;P&gt;SORT i_ausp BY atinn objek.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT i_ausp[] IS INITIAL.&lt;/P&gt;&lt;P&gt;IF s_matnr[] IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT matnr mtart matkl prdha mstae mstde FROM mara INTO TABLE i_mara FOR ALL ENTRIES IN i_ausp WHERE matnr = i_ausp-objek+0(18)&lt;/P&gt;&lt;P&gt;AND mtart IN s_mtart&lt;/P&gt;&lt;P&gt;AND matkl IN s_matkl&lt;/P&gt;&lt;P&gt;AND mstae IN s_mstae.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and mstde = s_date. &lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;SELECT matnr mtart matkl prdha mstae mstde FROM mara INTO TABLE i_mara WHERE matnr IN s_matnr&lt;/P&gt;&lt;P&gt;AND mtart IN s_mtart&lt;/P&gt;&lt;P&gt;AND matkl IN s_matkl&lt;/P&gt;&lt;P&gt;AND mstae IN s_mstae.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and mstde = s_date. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF s_atnam-low IS INITIAL.&lt;/P&gt;&lt;P&gt;LOOP AT i_cabn INTO w_cabn.&lt;/P&gt;&lt;P&gt;IF w_cabn-atnam IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;s_atnam-sign = 'I'.&lt;/P&gt;&lt;P&gt;s_atnam-option = 'EQ'.&lt;/P&gt;&lt;P&gt;s_atnam-low = w_cabn-atnam.&lt;/P&gt;&lt;P&gt;s_atnam-high = ' '.&lt;/P&gt;&lt;P&gt;APPEND s_atnam.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " GET_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form GET_DATA_KEYDATE&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_data_keydate .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_mara INTO w_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF w_mara-mstde = text-007.&lt;/P&gt;&lt;P&gt;w_mara-mstde = text-008.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE w_mara-mstae.&lt;/P&gt;&lt;P&gt;WHEN '03'.&lt;/P&gt;&lt;P&gt;IF w_mara-mstde = text-008.&lt;/P&gt;&lt;P&gt;MOVE w_mara TO w_mara_temp.&lt;/P&gt;&lt;P&gt;APPEND w_mara_temp TO i_mara_temp.&lt;/P&gt;&lt;P&gt;ELSEIF w_mara-mstde &amp;gt; s_date.&lt;/P&gt;&lt;P&gt;MOVE w_mara TO w_mara_temp.&lt;/P&gt;&lt;P&gt;APPEND w_mara_temp TO i_mara_temp.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;WHEN '04'.&lt;/P&gt;&lt;P&gt;IF w_mara-mstde &amp;gt;= s_date.&lt;/P&gt;&lt;P&gt;MOVE w_mara TO w_mara_temp.&lt;/P&gt;&lt;P&gt;APPEND w_mara_temp TO i_mara_temp.&lt;/P&gt;&lt;P&gt;ELSEIF w_mara-mstde = text-008.&lt;/P&gt;&lt;P&gt;MOVE w_mara TO w_mara_temp.&lt;/P&gt;&lt;P&gt;APPEND w_mara_temp TO i_mara_temp.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " GET_DATA_KEYDATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form material_all_charname&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM material_all_charname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_cabn INTO w_cabn.&lt;/P&gt;&lt;P&gt;LOOP AT i_ausp INTO w_ausp WHERE atinn = w_cabn-atinn.&lt;/P&gt;&lt;P&gt;READ TABLE i_mara_temp INTO w_mara_temp WITH KEY matnr = w_ausp-objek+0(18).&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM makt WHERE matnr = w_mara_temp-matnr.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MOVE w_cabn-atnam TO w_data-atnam.&lt;/P&gt;&lt;P&gt;MOVE w_cabn-atinn TO w_data-atinn.&lt;/P&gt;&lt;P&gt;MOVE w_ausp-objek TO w_data-objek.&lt;/P&gt;&lt;P&gt;MOVE w_ausp-klart TO w_data-klart.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = w_mara_temp-matnr&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;OUTPUT = w_mara_temp-matnr.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-matnr TO w_data-matnr.&lt;/P&gt;&lt;P&gt;MOVE makt-maktx TO w_data-maktx.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-mtart TO w_data-mtart.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-matkl TO w_data-matkl.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-prdha TO w_data-prdha.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-mstae TO w_data-mstae.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-mstde TO w_data-mstde.&lt;/P&gt;&lt;P&gt;APPEND w_data TO i_data.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT i_data BY matnr.&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM i_data COMPARING matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " material_all_charname&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 30 Dec 2008 09:44:53 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-12-30T09:44:53Z</dc:date>
    <item>
      <title>dynamic internal table fields</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009156#M1166074</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt;i am trying to find a way to gennerate dynamic internal fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am trying to get the amount posted for each month basing on accounting docs' posting date.&lt;/P&gt;&lt;P&gt;suppose i am running report on aug month output too should give 8 cloumns likwise sep.. output should show only 9 columns.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I could create internal table with 12 fields(one for each month), but if i run the report for Jan to Aug, only 8 fields will have data and rest of the fields will show empty. so i want to generate the internal table fields dynamically.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is it possible? Just an idea for betterment rather than the regular programming practise.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Dec 2008 09:39:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009156#M1166074</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-30T09:39:33Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic internal table fields</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009157#M1166075</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Instead of creating dynamic internal table, it would be easier to dynamatically create the field catalog based on the month you are generating the report.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Dec 2008 09:43:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009157#M1166075</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-30T09:43:57Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic internal table fields</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009158#M1166076</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;your part of the code is present in routine &lt;/P&gt;&lt;P&gt;perform dynamic_table.&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Report ZCS_NAC_MAT_CHARACTERISTICS&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2/ Description ...: Business requirement is to get all materials &lt;/P&gt;&lt;P&gt;without any characteristic values maintained in SAP &lt;/P&gt;&lt;P&gt;which are given in the selection screen. &lt;/P&gt;&lt;P&gt;*************************************************************************&lt;/P&gt;&lt;P&gt;REPORT znac_material_char.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : abap,&lt;/P&gt;&lt;P&gt;slis.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES : kssk,&lt;/P&gt;&lt;P&gt;klah,&lt;/P&gt;&lt;P&gt;mara,&lt;/P&gt;&lt;P&gt;makt,&lt;/P&gt;&lt;P&gt;cabn,&lt;/P&gt;&lt;P&gt;t134,&lt;/P&gt;&lt;P&gt;t023.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : i_fieldcat TYPE slis_t_fieldcat_alv ,&lt;/P&gt;&lt;P&gt;wa_fieldcat TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : w_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;DATA : st_layout TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : t_header TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;w_header TYPE slis_listheader.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_cabn,&lt;/P&gt;&lt;P&gt;atinn TYPE cabn-atinn,&lt;/P&gt;&lt;P&gt;atnam TYPE cabn-atnam,&lt;/P&gt;&lt;P&gt;END OF ty_cabn.&lt;/P&gt;&lt;P&gt;DATA : i_cabn TYPE STANDARD TABLE OF ty_cabn WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_cabn LIKE i_cabn.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_ausp,&lt;/P&gt;&lt;P&gt;objek TYPE ausp-objek,&lt;/P&gt;&lt;P&gt;atinn TYPE ausp-atinn,&lt;/P&gt;&lt;P&gt;klart TYPE ausp-klart,&lt;/P&gt;&lt;P&gt;END OF ty_ausp.&lt;/P&gt;&lt;P&gt;DATA : i_ausp TYPE STANDARD TABLE OF ty_ausp WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_ausp LIKE i_ausp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_mara,&lt;/P&gt;&lt;P&gt;matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;mtart TYPE mara-mtart,&lt;/P&gt;&lt;P&gt;matkl TYPE mara-matkl,&lt;/P&gt;&lt;P&gt;prdha TYPE mara-prdha,&lt;/P&gt;&lt;P&gt;mstae TYPE mara-mstae,&lt;/P&gt;&lt;P&gt;mstde TYPE mara-mstde,&lt;/P&gt;&lt;P&gt;END OF ty_mara.&lt;/P&gt;&lt;P&gt;DATA : i_mara TYPE STANDARD TABLE OF ty_mara WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_mara LIKE i_mara.&lt;/P&gt;&lt;P&gt;DATA : i_mara_temp TYPE STANDARD TABLE OF ty_mara WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_mara_temp LIKE i_mara_temp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES :BEGIN OF ty_data,&lt;/P&gt;&lt;P&gt;atnam TYPE cabn-atnam,&lt;/P&gt;&lt;P&gt;atinn TYPE cabn-atinn,&lt;/P&gt;&lt;P&gt;objek TYPE ausp-objek,&lt;/P&gt;&lt;P&gt;klart TYPE ausp-klart,&lt;/P&gt;&lt;P&gt;matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;maktx TYPE makt-maktx,&lt;/P&gt;&lt;P&gt;mtart TYPE mara-mtart,&lt;/P&gt;&lt;P&gt;matkl TYPE mara-matkl,&lt;/P&gt;&lt;P&gt;prdha TYPE mara-prdha,&lt;/P&gt;&lt;P&gt;mstae TYPE mara-mstae,&lt;/P&gt;&lt;P&gt;mstde TYPE mara-mstde,&lt;/P&gt;&lt;P&gt;END OF ty_data.&lt;/P&gt;&lt;P&gt;DATA : i_data TYPE STANDARD TABLE OF ty_data WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_data LIKE i_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : i_class TYPE STANDARD TABLE OF sclass WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_class LIKE i_class.&lt;/P&gt;&lt;P&gt;DATA : i_class_temp TYPE STANDARD TABLE OF sclass WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_class_temp LIKE i_class_temp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : i_objdata TYPE STANDARD TABLE OF clobjdat WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_objdata LIKE i_objdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF ty_objdata_temp.&lt;/P&gt;&lt;P&gt;TYPES: matnr TYPE mara-matnr.&lt;/P&gt;&lt;P&gt;TYPES: maktx TYPE makt-maktx.&lt;/P&gt;&lt;P&gt;INCLUDE STRUCTURE clobjdat.&lt;/P&gt;&lt;P&gt;TYPES : prdha TYPE mara-prdha.&lt;/P&gt;&lt;P&gt;TYPES : mstde TYPE mara-mstde.&lt;/P&gt;&lt;P&gt;TYPES : END OF ty_objdata_temp.&lt;/P&gt;&lt;P&gt;DATA : i_objdata_temp TYPE STANDARD TABLE OF ty_objdata_temp WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;DATA : w_objdata_temp LIKE i_objdata_temp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;t_dyntable&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;&amp;lt;fs_dyntable&amp;gt;,&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; TYPE ANY.&lt;/P&gt;&lt;P&gt;DATA: t_newtable TYPE REF TO data,&lt;/P&gt;&lt;P&gt;t_newline TYPE REF TO data,&lt;/P&gt;&lt;P&gt;fs_fldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;t_fldcat1 TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;wa_it_fldcat TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;wa_colno(2) TYPE n,&lt;/P&gt;&lt;P&gt;wa_flname(30) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: fieldname(20) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: fieldvalue(40) TYPE c.&lt;/P&gt;&lt;P&gt;DATA: index(3) TYPE c,&lt;/P&gt;&lt;P&gt;v_time(60) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_cat LIKE LINE OF fs_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS : c_nac TYPE klah-class VALUE 'NAC',&lt;/P&gt;&lt;P&gt;c_klart TYPE ausp-klart VALUE '001',&lt;/P&gt;&lt;P&gt;c_check TYPE c VALUE 'X' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-000.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN COMMENT (28) text-001 .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_atnam FOR cabn-atnam NO INTERVALS OBLIGATORY. " Characteristic name&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF LINE.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_matnr FOR mara-matnr. " material Number&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_mtart FOR mara-mtart. " material type&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_matkl FOR mara-matkl. " material type&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: s_mstae FOR mara-mstae. " X-Plant material status&lt;/P&gt;&lt;P&gt;PARAMETERS : s_date LIKE sy-datum OBLIGATORY DEFAULT sy-datum . " date&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b2 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_atnam.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM cabn WHERE atnam IN s_atnam.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;MESSAGE text-003 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_matnr.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM mara WHERE matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;MESSAGE text-004 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_mtart.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM t134 WHERE mtart IN s_mtart.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;MESSAGE text-005 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON s_matkl.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM t023 WHERE matkl IN s_matkl.&lt;/P&gt;&lt;P&gt;IF sy-subrc 0.&lt;/P&gt;&lt;P&gt;MESSAGE text-006 TYPE 'E'.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM get_data.&lt;/P&gt;&lt;P&gt;PERFORM get_data_keydate.&lt;/P&gt;&lt;P&gt;PERFORM material_all_charname.&lt;/P&gt;&lt;P&gt;PERFORM get_classification.&lt;/P&gt;&lt;P&gt;PERFORM dynamic_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form dynamic_table&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM dynamic_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM fieldcatalog.&lt;/P&gt;&lt;P&gt;PERFORM dynamic_table_create.&lt;/P&gt;&lt;P&gt;PERFORM final_data.&lt;/P&gt;&lt;P&gt;PERFORM final_fieldcatalog.&lt;/P&gt;&lt;P&gt;PERFORM layout_build.&lt;/P&gt;&lt;P&gt;PERFORM grid_display.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " fieldcat&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form layout_build&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM layout_build .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;st_layout-zebra = c_check.&lt;/P&gt;&lt;P&gt;st_layout-no_vline = ''.&lt;/P&gt;&lt;P&gt;st_layout-colwidth_optimize = c_check.&lt;/P&gt;&lt;P&gt;st_layout-detail_popup = c_check.&lt;/P&gt;&lt;P&gt;st_layout-detail_initial_lines = c_check.&lt;/P&gt;&lt;P&gt;st_layout-detail_titlebar = text-021.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " layout_build&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form alv_top_of_page&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM alv_top_of_page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REFRESH t_header.&lt;/P&gt;&lt;P&gt;CLEAR t_header.&lt;/P&gt;&lt;P&gt;w_header-typ = 'H'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;w_header-key = ' '.&lt;/P&gt;&lt;P&gt;w_header-info = text-019.&lt;/P&gt;&lt;P&gt;APPEND w_header TO t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONCATENATE sy-datum&lt;EM&gt;4(2) '-' sy-datum&lt;/EM&gt;6(2) '-' sy-datum&lt;EM&gt;0(4) ' / ' sy-uzeit&lt;/EM&gt;0(2) ':' sy-uzeit&lt;EM&gt;2(2) ':' sy-uzeit&lt;/EM&gt;4(2) INTO v_time.&lt;/P&gt;&lt;P&gt;w_header-typ = 'S'. "H=Header, S=Selection, A=Action&lt;/P&gt;&lt;P&gt;w_header-key = text-020.&lt;/P&gt;&lt;P&gt;w_header-info = v_time.&lt;/P&gt;&lt;P&gt;APPEND w_header TO t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_list_commentary = t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "alv_top_of_page&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form grid_display&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM grid_display .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;i_callback_program = sy-repid&lt;/P&gt;&lt;P&gt;i_callback_top_of_page = 'ALV_TOP_OF_PAGE'&lt;/P&gt;&lt;P&gt;it_fieldcat = fs_fldcat&lt;/P&gt;&lt;P&gt;is_layout = st_layout&lt;/P&gt;&lt;P&gt;i_default = c_check&lt;/P&gt;&lt;P&gt;i_save = 'A'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_events = v_events[] &lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_outtab = &amp;lt;t_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " grid_display&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form FINAL_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM final_fieldcatalog .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_cat-fieldname = text-009.&lt;/P&gt;&lt;P&gt;wa_cat-seltext_m = text-015.&lt;/P&gt;&lt;P&gt;wa_cat-outputlen = 18.&lt;/P&gt;&lt;P&gt;APPEND wa_cat TO fs_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_cat-fieldname = text-011.&lt;/P&gt;&lt;P&gt;wa_cat-seltext_m = text-016.&lt;/P&gt;&lt;P&gt;wa_cat-outputlen = 40.&lt;/P&gt;&lt;P&gt;APPEND wa_cat TO fs_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT s_atnam.&lt;/P&gt;&lt;P&gt;CLEAR wa_cat.&lt;/P&gt;&lt;P&gt;wa_cat-fieldname = s_atnam-low.&lt;/P&gt;&lt;P&gt;wa_cat-seltext_m = s_atnam-low.&lt;/P&gt;&lt;P&gt;wa_cat-outputlen = '15'.&lt;/P&gt;&lt;P&gt;APPEND wa_cat TO fs_fldcat.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_cat-fieldname = text-012.&lt;/P&gt;&lt;P&gt;wa_cat-seltext_m = text-017.&lt;/P&gt;&lt;P&gt;wa_cat-outputlen = 18.&lt;/P&gt;&lt;P&gt;APPEND wa_cat TO fs_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_cat-fieldname = text-013.&lt;/P&gt;&lt;P&gt;wa_cat-seltext_m = text-018.&lt;/P&gt;&lt;P&gt;wa_cat-outputlen = 8.&lt;/P&gt;&lt;P&gt;APPEND wa_cat TO fs_fldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " FINAL_FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form FIELDCATALOG&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM fieldcatalog .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = text-009.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = text-010.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 18.&lt;/P&gt;&lt;P&gt;APPEND wa_it_fldcat TO t_fldcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = text-011.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = text-010.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 40.&lt;/P&gt;&lt;P&gt;APPEND wa_it_fldcat TO t_fldcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT s_atnam.&lt;/P&gt;&lt;P&gt;CLEAR wa_it_fldcat.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = s_atnam-low.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = text-010.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 30.&lt;/P&gt;&lt;P&gt;APPEND wa_it_fldcat TO t_fldcat1.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = text-012.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = text-010.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 18.&lt;/P&gt;&lt;P&gt;APPEND wa_it_fldcat TO t_fldcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_it_fldcat-fieldname = text-013.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-datatype = text-014.&lt;/P&gt;&lt;P&gt;wa_it_fldcat-intlen = 8.&lt;/P&gt;&lt;P&gt;APPEND wa_it_fldcat TO t_fldcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " FIELDCATALOG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form DYNAMIC_TABLE_CREATE&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM dynamic_table_create .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create dynamic internal table and assign to FS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;it_fieldcatalog = t_fldcat1&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;ep_table = t_newtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ASSIGN t_newtable-&amp;gt;* TO &amp;lt;t_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create dynamic work area and assign to FS &lt;/P&gt;&lt;P&gt;CREATE DATA t_newline LIKE LINE OF &amp;lt;t_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;ASSIGN t_newline-&amp;gt;* TO &amp;lt;fs_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " DYNAMIC_TABLE_CREATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form FINAL_DATA&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM final_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_objdata_temp INTO w_objdata_temp.&lt;/P&gt;&lt;P&gt;*assign w_objdata_temp-matnr to &amp;lt;fs_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;AT NEW matnr.&lt;/P&gt;&lt;P&gt;wa_flname = text-009.&lt;/P&gt;&lt;P&gt;fieldvalue = w_objdata_temp-matnr.&lt;/P&gt;&lt;P&gt;CONDENSE fieldvalue NO-GAPS.&lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT wa_flname&lt;/P&gt;&lt;P&gt;OF STRUCTURE &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;fs_fldval&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; = fieldvalue.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;wa_flname = text-011.&lt;/P&gt;&lt;P&gt;fieldvalue = w_objdata_temp-maktx.&lt;/P&gt;&lt;P&gt;CONDENSE fieldvalue NO-GAPS.&lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT wa_flname&lt;/P&gt;&lt;P&gt;OF STRUCTURE &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;fs_fldval&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; = fieldvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_flname = w_objdata_temp-atnam.&lt;/P&gt;&lt;P&gt;fieldvalue = w_objdata_temp-ausp1.&lt;/P&gt;&lt;P&gt;CONDENSE fieldvalue NO-GAPS.&lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT wa_flname&lt;/P&gt;&lt;P&gt;OF STRUCTURE &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;fs_fldval&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; = fieldvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_flname = text-012.&lt;/P&gt;&lt;P&gt;fieldvalue = w_objdata_temp-prdha.&lt;/P&gt;&lt;P&gt;CONDENSE fieldvalue NO-GAPS.&lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT wa_flname&lt;/P&gt;&lt;P&gt;OF STRUCTURE &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;fs_fldval&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; = fieldvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_flname = text-013.&lt;/P&gt;&lt;P&gt;fieldvalue = w_objdata_temp-mstde.&lt;/P&gt;&lt;P&gt;CONDENSE fieldvalue NO-GAPS.&lt;/P&gt;&lt;P&gt;ASSIGN COMPONENT wa_flname&lt;/P&gt;&lt;P&gt;OF STRUCTURE &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;fs_fldval&amp;gt;.&lt;/P&gt;&lt;P&gt;&amp;lt;fs_fldval&amp;gt; = fieldvalue.&lt;/P&gt;&lt;P&gt;AT END OF matnr.&lt;/P&gt;&lt;P&gt;APPEND &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;t_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " FINAL_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form GET_CLASSIFICATION&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_classification .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_data INTO w_data.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM klah WHERE class = c_nac.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;IF w_data-mstde &amp;gt;= klah-vondt.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CLAF_CLASSIFICATION_OF_OBJECTS'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;class = c_nac&lt;/P&gt;&lt;P&gt;classtext = c_check&lt;/P&gt;&lt;P&gt;classtype = c_klart&lt;/P&gt;&lt;P&gt;clint = 0&lt;/P&gt;&lt;P&gt;features = c_check&lt;/P&gt;&lt;P&gt;language = sy-langu&lt;/P&gt;&lt;P&gt;object = w_data-objek&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;t_class = i_class&lt;/P&gt;&lt;P&gt;t_objectdata = i_objdata&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;no_classification = 1&lt;/P&gt;&lt;P&gt;no_classtypes = 2&lt;/P&gt;&lt;P&gt;invalid_class_type = 3&lt;/P&gt;&lt;P&gt;OTHERS = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_class INTO w_class. &lt;/P&gt;&lt;P&gt;MOVE w_class TO w_class_temp. &lt;/P&gt;&lt;P&gt;APPEND w_class_temp TO i_class_temp. &lt;/P&gt;&lt;P&gt;ENDLOOP . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT s_atnam.&lt;/P&gt;&lt;P&gt;READ TABLE i_objdata INTO w_objdata WITH KEY atnam = s_atnam-low.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MOVE w_data-matnr TO w_objdata_temp-matnr.&lt;/P&gt;&lt;P&gt;MOVE w_data-maktx TO w_objdata_temp-maktx.&lt;/P&gt;&lt;P&gt;MOVE-CORRESPONDING w_objdata TO w_objdata_temp.&lt;/P&gt;&lt;P&gt;MOVE w_data-prdha TO w_objdata_temp-prdha.&lt;/P&gt;&lt;P&gt;MOVE w_data-mstde TO w_objdata_temp-mstde.&lt;/P&gt;&lt;P&gt;APPEND w_objdata_temp TO i_objdata_temp.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " GET_CLASSIFICATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form GET_DATA&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT atinn atnam FROM cabn INTO TABLE i_cabn WHERE atnam IN s_atnam.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT i_cabn[] IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT objek atinn klart FROM ausp INTO TABLE i_ausp&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN i_cabn&lt;/P&gt;&lt;P&gt;WHERE objek IN s_matnr&lt;/P&gt;&lt;P&gt;AND atinn = i_cabn-atinn&lt;/P&gt;&lt;P&gt;AND klart = c_klart.&lt;/P&gt;&lt;P&gt;SORT i_ausp BY atinn objek.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT i_ausp[] IS INITIAL.&lt;/P&gt;&lt;P&gt;IF s_matnr[] IS INITIAL.&lt;/P&gt;&lt;P&gt;SELECT matnr mtart matkl prdha mstae mstde FROM mara INTO TABLE i_mara FOR ALL ENTRIES IN i_ausp WHERE matnr = i_ausp-objek+0(18)&lt;/P&gt;&lt;P&gt;AND mtart IN s_mtart&lt;/P&gt;&lt;P&gt;AND matkl IN s_matkl&lt;/P&gt;&lt;P&gt;AND mstae IN s_mstae.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and mstde = s_date. &lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;SELECT matnr mtart matkl prdha mstae mstde FROM mara INTO TABLE i_mara WHERE matnr IN s_matnr&lt;/P&gt;&lt;P&gt;AND mtart IN s_mtart&lt;/P&gt;&lt;P&gt;AND matkl IN s_matkl&lt;/P&gt;&lt;P&gt;AND mstae IN s_mstae.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and mstde = s_date. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF s_atnam-low IS INITIAL.&lt;/P&gt;&lt;P&gt;LOOP AT i_cabn INTO w_cabn.&lt;/P&gt;&lt;P&gt;IF w_cabn-atnam IS NOT INITIAL.&lt;/P&gt;&lt;P&gt;s_atnam-sign = 'I'.&lt;/P&gt;&lt;P&gt;s_atnam-option = 'EQ'.&lt;/P&gt;&lt;P&gt;s_atnam-low = w_cabn-atnam.&lt;/P&gt;&lt;P&gt;s_atnam-high = ' '.&lt;/P&gt;&lt;P&gt;APPEND s_atnam.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " GET_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form GET_DATA_KEYDATE&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM get_data_keydate .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_mara INTO w_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF w_mara-mstde = text-007.&lt;/P&gt;&lt;P&gt;w_mara-mstde = text-008.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE w_mara-mstae.&lt;/P&gt;&lt;P&gt;WHEN '03'.&lt;/P&gt;&lt;P&gt;IF w_mara-mstde = text-008.&lt;/P&gt;&lt;P&gt;MOVE w_mara TO w_mara_temp.&lt;/P&gt;&lt;P&gt;APPEND w_mara_temp TO i_mara_temp.&lt;/P&gt;&lt;P&gt;ELSEIF w_mara-mstde &amp;gt; s_date.&lt;/P&gt;&lt;P&gt;MOVE w_mara TO w_mara_temp.&lt;/P&gt;&lt;P&gt;APPEND w_mara_temp TO i_mara_temp.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;WHEN '04'.&lt;/P&gt;&lt;P&gt;IF w_mara-mstde &amp;gt;= s_date.&lt;/P&gt;&lt;P&gt;MOVE w_mara TO w_mara_temp.&lt;/P&gt;&lt;P&gt;APPEND w_mara_temp TO i_mara_temp.&lt;/P&gt;&lt;P&gt;ELSEIF w_mara-mstde = text-008.&lt;/P&gt;&lt;P&gt;MOVE w_mara TO w_mara_temp.&lt;/P&gt;&lt;P&gt;APPEND w_mara_temp TO i_mara_temp.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " GET_DATA_KEYDATE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form material_all_charname&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;--&amp;gt; p1 text &lt;/P&gt;&lt;P&gt;&amp;lt;-- p2 text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM material_all_charname .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT i_cabn INTO w_cabn.&lt;/P&gt;&lt;P&gt;LOOP AT i_ausp INTO w_ausp WHERE atinn = w_cabn-atinn.&lt;/P&gt;&lt;P&gt;READ TABLE i_mara_temp INTO w_mara_temp WITH KEY matnr = w_ausp-objek+0(18).&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;SELECT SINGLE * FROM makt WHERE matnr = w_mara_temp-matnr.&lt;/P&gt;&lt;P&gt;IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;MOVE w_cabn-atnam TO w_data-atnam.&lt;/P&gt;&lt;P&gt;MOVE w_cabn-atinn TO w_data-atinn.&lt;/P&gt;&lt;P&gt;MOVE w_ausp-objek TO w_data-objek.&lt;/P&gt;&lt;P&gt;MOVE w_ausp-klart TO w_data-klart.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;input = w_mara_temp-matnr&lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;OUTPUT = w_mara_temp-matnr.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-matnr TO w_data-matnr.&lt;/P&gt;&lt;P&gt;MOVE makt-maktx TO w_data-maktx.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-mtart TO w_data-mtart.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-matkl TO w_data-matkl.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-prdha TO w_data-prdha.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-mstae TO w_data-mstae.&lt;/P&gt;&lt;P&gt;MOVE w_mara_temp-mstde TO w_data-mstde.&lt;/P&gt;&lt;P&gt;APPEND w_data TO i_data.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT i_data BY matnr.&lt;/P&gt;&lt;P&gt;DELETE ADJACENT DUPLICATES FROM i_data COMPARING matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " material_all_charname&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Dec 2008 09:44:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009158#M1166076</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-30T09:44:53Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic internal table fields</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009159#M1166077</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for Creating Dynamic internal table  the code is :  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;PARAMETERS : p_tab(10) TYPE C. 

  DATA: w_tab TYPE w_tabname,             

        w_def TYPE REF TO data,              

        w_dis TYPE REF TO cl_gui_alv_grid.  

  FIELD-SYMBOLS: &amp;lt;t_itab&amp;gt; TYPE ANY TABLE.  

  w_tabname = p_table.  

  CREATE DATA w_dref TYPE TABLE OF (w_tabname). 

  ASSIGN w_dref-&amp;gt;* TO &amp;lt;t_itab&amp;gt;.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;Populating Dynamic internal table&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;SELECT * 

    FROM (w_tabname) UP TO 20 ROWS 

    INTO TABLE &amp;lt;t_itab&amp;gt;.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;STRONG&gt;Displaying dynamic internal table using Grid.&lt;/STRONG&gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;CREATE OBJECT w_grid 

    EXPORTING i_parent = cl_gui_container=&amp;gt;screen0.  

  CALL METHOD w_grid-&amp;gt;set_table_for_first_display 

    EXPORTING 

      i_structure_name = w_tabname 

    CHANGING 

      it_outtab        = &amp;lt;t_itab&amp;gt;.  

  CALL SCREEN 100.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz  also refer the following links  for more clarification :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap.ittoolbox.com/groups/technical-functional/sap-dev/appending-into-dynamic-internal-table-777070" target="test_blank"&gt;http://sap.ittoolbox.com/groups/technical-functional/sap-dev/appending-into-dynamic-internal-table-777070&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://sap.ittoolbox.com/groups/technical-functional/sap-interfaces/sap-r3-dev-dynamic-internal-tables-accessing-line-structure-components-462026" target="test_blank"&gt;http://sap.ittoolbox.com/groups/technical-functional/sap-interfaces/sap-r3-dev-dynamic-internal-tables-accessing-line-structure-components-462026&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;hope it will help u&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;rahul&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: RAHUL SHARMA on Dec 30, 2008 10:49 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Dec 2008 09:48:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009159#M1166077</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-30T09:48:16Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic internal table fields</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009160#M1166078</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI vijay and PBS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for the suggestion. will work on it and get back&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Dec 2008 09:49:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009160#M1166078</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-30T09:49:32Z</dc:date>
    </item>
    <item>
      <title>Re: dynamic internal table fields</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009161#M1166079</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;/P&gt;&lt;P&gt;I am in release 620.&lt;/P&gt;&lt;P&gt;Is there any alternate declaration for &lt;STRONG&gt;cl_abap_structdescr=&amp;gt;component_table&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Dec 2008 16:34:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table-fields/m-p/5009161#M1166079</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-12-30T16:34:42Z</dc:date>
    </item>
  </channel>
</rss>

