<?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: Create dynamic internal table with dynamic structure in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-dynamic-internal-table-with-dynamic-structure/m-p/4010887#M958253</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK, I finally able to populate data into my dynamic table.  Now I like to display the data I populated with the field name next to the field value. How can I get the field name of my dynamic structure?&lt;/P&gt;&lt;P&gt;I search in the forum and found that I can use l_abap_structdescr=&amp;gt;describe_by_name&lt;/P&gt;&lt;P&gt;but problem is that I do not know the name of the dynamic table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone has an idea.  Here is my program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; REPORT  zvltjunk1                               .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;dyntable&amp;gt; TYPE table.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;dynline&amp;gt; TYPE ANY.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;fs_1&amp;gt;, &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt;               &amp;lt;dyn_wa&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: lt TYPE lvc_t_fcat.  "table of field cat structure&lt;/P&gt;&lt;P&gt;DATA: ls TYPE lvc_s_fcat.  "Field cat structure&lt;/P&gt;&lt;P&gt;DATA: new_table TYPE REF TO data,&lt;/P&gt;&lt;P&gt;      new_line  TYPE REF TO data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF periodtyp,&lt;/P&gt;&lt;P&gt;      period(10) TYPE c,&lt;/P&gt;&lt;P&gt;      total    TYPE netwr,&lt;/P&gt;&lt;P&gt;     END OF periodtyp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF itab_typ,&lt;/P&gt;&lt;P&gt;        period01   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period02   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period03   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period04   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period05   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period06   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period07   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period08   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period09   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period10   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period11   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period12   TYPE netwr,&lt;/P&gt;&lt;P&gt;        END OF itab_typ.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;      wa_period  TYPE periodtyp,&lt;/P&gt;&lt;P&gt;      wa1        TYPE itab_typ,&lt;/P&gt;&lt;P&gt;      sum        TYPE itab_typ,&lt;/P&gt;&lt;P&gt;      w_fieldname(20) TYPE c,&lt;/P&gt;&lt;P&gt;      c_tabix(2) TYPE n,&lt;/P&gt;&lt;P&gt;      w_count TYPE i,&lt;/P&gt;&lt;P&gt;      count(2) TYPE n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_period TYPE TABLE OF periodtyp,&lt;/P&gt;&lt;P&gt;      itab1     TYPE TABLE OF itab_typ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_count = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM load_itab1.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM create_dyntab.&lt;/P&gt;&lt;P&gt;PERFORM populating_dyntable.&lt;/P&gt;&lt;P&gt;PERFORM display_dyntab_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CREATE_DYNTAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM create_dyntab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build field catalog of dynamic structure.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT it_period INTO wa_period.&lt;/P&gt;&lt;P&gt;    IF wa_period-total &amp;gt; 0.&lt;/P&gt;&lt;P&gt;      c_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'PERIOD' c_tabix INTO w_fieldname.&lt;/P&gt;&lt;P&gt;      ls-fieldname = w_fieldname.&lt;/P&gt;&lt;P&gt;      ls-datatype  = 'CURR'.&lt;/P&gt;&lt;P&gt;      ls-tabname   = 'NEWTAB'.&lt;/P&gt;&lt;P&gt;      ls-intlen     = 10.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE: / 'Field:', w_fieldname, 30 wa_period-total.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND ls TO lt.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic internal table with dynamic structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 = lt&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = new_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Assign dynamic table to field symbol.&lt;/P&gt;&lt;P&gt;  ASSIGN new_table-&amp;gt;* TO &amp;lt;fs_1&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN &amp;lt;fs_1&amp;gt; TO &amp;lt;dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create a new Line with the same structure of the table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE DATA new_line LIKE LINE OF &amp;lt;dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN      new_line-&amp;gt;* TO &amp;lt;dynline&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "CREATE_DYNTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  load_itab1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM load_itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO 5 TIMES.&lt;/P&gt;&lt;P&gt;    CLEAR wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE:  100   TO   wa1-period01,&lt;/P&gt;&lt;P&gt;           15    TO   wa1-period02,&lt;/P&gt;&lt;P&gt;           20    TO   wa1-period03,&lt;/P&gt;&lt;P&gt;           30    TO   wa1-period05,&lt;/P&gt;&lt;P&gt;           7     TO   wa1-period07.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-index = 3.&lt;/P&gt;&lt;P&gt;      wa1-period02 = 0.&lt;/P&gt;&lt;P&gt;      wa1-period07 = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND wa1 TO itab1.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab1 INTO wa1.&lt;/P&gt;&lt;P&gt;    ADD:&lt;/P&gt;&lt;P&gt;       wa1-period01 TO sum-period01,&lt;/P&gt;&lt;P&gt;       wa1-period02 TO sum-period02,&lt;/P&gt;&lt;P&gt;       wa1-period03 TO sum-period03,&lt;/P&gt;&lt;P&gt;       wa1-period04 TO sum-period04,&lt;/P&gt;&lt;P&gt;       wa1-period05 TO sum-period05,&lt;/P&gt;&lt;P&gt;       wa1-period06 TO sum-period06,&lt;/P&gt;&lt;P&gt;       wa1-period07 TO sum-period07,&lt;/P&gt;&lt;P&gt;       wa1-period08 TO sum-period08,&lt;/P&gt;&lt;P&gt;       wa1-period09 TO sum-period09,&lt;/P&gt;&lt;P&gt;       wa1-period10 TO sum-period10,&lt;/P&gt;&lt;P&gt;       wa1-period11 TO sum-period11,&lt;/P&gt;&lt;P&gt;       wa1-period12 TO sum-period12.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period01 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD01'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period02 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD02'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period03 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD03'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period04 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD04'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period05 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD05'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period06 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD06'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period07 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD07'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period08 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD08'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period09 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD09'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period10 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD10'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period11 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD11'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period12 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD12'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Input table itab1',&lt;/P&gt;&lt;P&gt;         /4 'PREIOD01', 15 'PREIOD02', 26 'PREIOD03', 37 'PREIOD04',&lt;/P&gt;&lt;P&gt;         48 'PREIOD05', 59 'PREIOD06', 70 'PREIOD07', 81 'PREIOD08',&lt;/P&gt;&lt;P&gt;         92 'PREIOD09', 103 'PREIOD10', 114 'PREIOD11', 125 'PREIOD12'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab1 INTO wa1.&lt;/P&gt;&lt;P&gt;    WRITE: / ' ',&lt;/P&gt;&lt;P&gt;            (10) wa1-period01, (10) wa1-period02 , (10) wa1-period03,&lt;/P&gt;&lt;P&gt;           (10)  wa1-period04 , (10) wa1-period05, (10) wa1-period06,&lt;/P&gt;&lt;P&gt;           (10)  wa1-period07, (10) wa1-period08,  (10) wa1-period09,&lt;/P&gt;&lt;P&gt;           (10)  wa1-period10, (10) wa1-period11, (10) wa1-period12.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE: / ' ',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          (10) sum-period01, (10) sum-period02, (10) sum-period03,&lt;/P&gt;&lt;P&gt;          (10) sum-period04, (10) sum-period05, (10) sum-period06,&lt;/P&gt;&lt;P&gt;          (10) sum-period07, (10) sum-period08, (10) sum-period09,&lt;/P&gt;&lt;P&gt;          (10) sum-period10, (10) sum-period11, (10) sum-period12.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Table it_period for 12 periods'. SKIP.&lt;/P&gt;&lt;P&gt;  LOOP AT it_period INTO wa_period.&lt;/P&gt;&lt;P&gt;    WRITE: /  wa_period-period, wa_period-total.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    "load_itab1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  populating_dyntable&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populating_dyntable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: fieldname(20) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: fieldvalue(10) TYPE c,&lt;/P&gt;&lt;P&gt;        fval(10) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: index(2) TYPE c.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;fs_con&amp;gt;.&lt;/P&gt;&lt;P&gt;  DATA: w_con(50).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate data to dynamic table from itab1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  SORT it_period BY period.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Dynamic table data:'. SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab1 INTO wa1.&lt;/P&gt;&lt;P&gt;    LOOP AT it_period INTO wa_period.&lt;/P&gt;&lt;P&gt;      IF wa_period-total &amp;gt; 0.&lt;/P&gt;&lt;P&gt;        c_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'PERIOD' c_tabix INTO w_fieldname.&lt;/P&gt;&lt;P&gt;        CONDENSE w_fieldname NO-GAPS.&lt;/P&gt;&lt;P&gt;        ASSIGN COMPONENT w_fieldname OF STRUCTURE &amp;lt;dynline&amp;gt; TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN COMPONENT w_fieldname OF STRUCTURE wa1 TO &amp;lt;fs_1&amp;gt;.&lt;/P&gt;&lt;P&gt;         &amp;lt;fs&amp;gt; = &amp;lt;fs_1&amp;gt;.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    INSERT &amp;lt;dynline&amp;gt; INTO TABLE &amp;lt;dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;    CLEAR first_time.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "populating_dyntable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_dyntab&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_dyntab_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display dynamic table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_components  TYPE i,&lt;/P&gt;&lt;P&gt;         comp_idx      TYPE i,&lt;/P&gt;&lt;P&gt;         t             TYPE c.&lt;/P&gt;&lt;P&gt;  TYPE-POOLS: sydes.&lt;/P&gt;&lt;P&gt;  DATA   td  TYPE sydes_desc.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;fs1&amp;gt;  TYPE sydes_desc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT &amp;lt;dyntable&amp;gt; INTO &amp;lt;dynline&amp;gt;.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT sy-index OF STRUCTURE &amp;lt;dynline&amp;gt; TO &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-index = 1.&lt;/P&gt;&lt;P&gt;          WRITE:  / &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WRITE:  &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "display_dyntab_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Akinosora on Jun 16, 2008 2:23 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 12 Jun 2008 05:59:36 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-06-12T05:59:36Z</dc:date>
    <item>
      <title>Create dynamic internal table with dynamic structure</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-dynamic-internal-table-with-dynamic-structure/m-p/4010884#M958250</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have an internal table itab1 that have 12 amount fields from period1 thru period12.  I need to create a dynamic table with dynamic structure for the  period column if the total amount of each column  is &amp;gt; 0.  Any idea on how to do that?  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For example if my itab1 has 20 rows and the sum of period1 = 35, sum of period2 = 0, sum of period3 = 5, sum of period4 =0, sum of period5 = 2 then I need to create a dynamic structure for the field column that have the total &amp;gt; 0, i.e  structure struct1 have field period1, period3 and period5 only.  Then I will need to load the data to itab2 from itab1.  Can someone help.&lt;/P&gt;&lt;P&gt;Thanks.  I am on 4.7 and will upgrade to ERP 6.0 soon.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jun 2008 05:14:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/create-dynamic-internal-table-with-dynamic-structure/m-p/4010884#M958250</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-12T05:14:03Z</dc:date>
    </item>
    <item>
      <title>Re: Create dynamic internal table with dynamic structure</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-dynamic-internal-table-with-dynamic-structure/m-p/4010885#M958251</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;go throgh this....&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  yusmm_text1  NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                     LINE-SIZE 199.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;T A B L E S&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;TABLES: MARA,&lt;/P&gt;&lt;P&gt;        MAKT,&lt;/P&gt;&lt;P&gt;        THEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; GLOBAL TYPE-POOLS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;TYPE-POOLS : SLIS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GLOBAL TYPES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF TP_FINAL,&lt;/P&gt;&lt;P&gt;       MATNR TYPE MARA-MATNR,&lt;/P&gt;&lt;P&gt;       BEGRU TYPE MARA-BEGRU,&lt;/P&gt;&lt;P&gt;       MTART TYPE MARA-MTART,&lt;/P&gt;&lt;P&gt;       MAKTX TYPE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;       SPRAS TYPE MAKT-SPRAS,&lt;/P&gt;&lt;P&gt;       LTXT(2000)  TYPE C ,&lt;/P&gt;&lt;P&gt;       SRNO TYPE N ,&lt;/P&gt;&lt;P&gt;      END OF TP_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF TP_T002,&lt;/P&gt;&lt;P&gt;        SPRAS TYPE T002-SPRAS,&lt;/P&gt;&lt;P&gt;        LAISO TYPE T002-LAISO,&lt;/P&gt;&lt;P&gt;        SRNO TYPE N ,&lt;/P&gt;&lt;P&gt;        END OF TP_T002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES : BEGIN OF TP_MARA_MAKT,&lt;/P&gt;&lt;P&gt;        MATNR TYPE MARA-MATNR,&lt;/P&gt;&lt;P&gt;        BEGRU TYPE MARA-BEGRU,&lt;/P&gt;&lt;P&gt;        MTART TYPE MARA-MTART,&lt;/P&gt;&lt;P&gt;        SPRAS TYPE MAKT-SPRAS,&lt;/P&gt;&lt;P&gt;        MAKTX TYPE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;       END OF TP_MARA_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Types: BEGIN OF tp_matnr,&lt;/P&gt;&lt;P&gt;       matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;       END OF tp_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GLOBAL ELEMENTARY VARIABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;P&gt;DATA : gv_date TYPE sy-datum.&lt;/P&gt;&lt;P&gt;DATA : gv_repid TYPE sy-repid.&lt;/P&gt;&lt;P&gt;DATA : g_var1(10) TYPE C.&lt;/P&gt;&lt;P&gt;DATA : gv_index TYPE sy-tabix.&lt;/P&gt;&lt;P&gt;DATA: gv_strg TYPE string,&lt;/P&gt;&lt;P&gt;      gv_strg1(2000) TYPE C.&lt;/P&gt;&lt;P&gt;DATA : gv_lang TYPE sy-langu.&lt;/P&gt;&lt;P&gt;DATA : g_v(3) TYPE N .&lt;/P&gt;&lt;P&gt;DATA : gv_lines(3) TYPE N .&lt;/P&gt;&lt;P&gt;DATA : gv_var(3) TYPE N .&lt;/P&gt;&lt;P&gt;DATA : gv_var1(3) TYPE N.&lt;/P&gt;&lt;P&gt;DATA: gv_str TYPE STRING.&lt;/P&gt;&lt;P&gt;DATA: gv_str1 TYPE STRING.&lt;/P&gt;&lt;P&gt;DATA : gv_li TYPE I,&lt;/P&gt;&lt;P&gt;       gv_lit TYPE I,&lt;/P&gt;&lt;P&gt;       gv_lin TYPE I.&lt;/P&gt;&lt;P&gt;DATA: g_var11(3) TYPE N,&lt;/P&gt;&lt;P&gt;      gv_li1(3) TYPE N,&lt;/P&gt;&lt;P&gt;      g_var2(3) TYPE N.&lt;/P&gt;&lt;P&gt;DATA : gv_i1 TYPE I.&lt;/P&gt;&lt;P&gt;DATA : gv_i TYPE I.&lt;/P&gt;&lt;P&gt;DATA: gl_lenght TYPE I.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GLOBAL STRUCTURES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;******************************************************&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;        T_FLDCAT1   TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;        T_FLDCAT   TYPE LVC_T_FCAT,&lt;/P&gt;&lt;P&gt;        WA_IT_FLDCAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;        WA_IT_FLDCAT1 TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;        WA_COLNO(2) TYPE N,&lt;/P&gt;&lt;P&gt;        WA_FLNAME(5) TYPE C,&lt;/P&gt;&lt;P&gt;        L_LT TYPE SLIS_LAYOUT_ALV.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   GLOBAL INTERNAL TABLES (WITH INCLUDE STRUCTURE)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IG_MARA_MAKT TYPE STANDARD TABLE OF TP_MARA_MAKT,&lt;/P&gt;&lt;P&gt;       WG_MARA_MAKT TYPE TP_MARA_MAKT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IG_T002 TYPE STANDARD TABLE OF TP_T002,&lt;/P&gt;&lt;P&gt;       WG_T002 TYPE TP_T002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : IG_FINAL TYPE STANDARD TABLE OF TP_FINAL,&lt;/P&gt;&lt;P&gt;       WG_FINAL TYPE TP_FINAL.&lt;/P&gt;&lt;P&gt;data : IG_MATNR TYPE STANDARD TABLE OF TP_MATNR WITH HEADER  LINE,&lt;/P&gt;&lt;P&gt;       WG_MATNR TYPE TP_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF IG_THEAD OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE THEAD .&lt;/P&gt;&lt;P&gt;DATA: END OF IG_THEAD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF IG_TLINE OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE TLINE  .&lt;/P&gt;&lt;P&gt;DATA:END OF IG_TLINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; FIELD-SYMBOLS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;T_DYNTABLE&amp;gt; TYPE STANDARD TABLE,"Dynamic internal&lt;/P&gt;&lt;P&gt;                                                        "tablename&lt;/P&gt;&lt;P&gt;               &amp;lt;FS_DYNTABLE&amp;gt;,  "Field symbol to create work area&lt;/P&gt;&lt;P&gt;              &amp;lt;FS_FLDVAL&amp;gt; TYPE ANY.   " Field symbol to assign values&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------" /&gt;&lt;P&gt; COMPULSORY&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;FS_DATA&amp;gt; TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;               &amp;lt;FS_DATA1&amp;gt; TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;               &amp;lt;FS_2&amp;gt;    TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;               &amp;lt;FS_22&amp;gt;   TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;               &amp;lt;FS_1&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;FS_11&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;F&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;FA&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;LWA_LINE_WA&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;LWA_LINE_WA1&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;------- Create Dyn Table From FC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;DATA: LT_DATA        TYPE   REF TO DATA,&lt;/P&gt;&lt;P&gt;      LT_DATA1        TYPE   REF TO DATA,&lt;/P&gt;&lt;P&gt;      LWA_LINE       TYPE   REF TO  DATA,&lt;/P&gt;&lt;P&gt;      LWA_LINE1       TYPE   REF TO  DATA,&lt;/P&gt;&lt;P&gt;      LI_FIELD_CAT   TYPE   LVC_T_FCAT,&lt;/P&gt;&lt;P&gt;      LWA_FIELD_CAT  TYPE   LVC_S_FCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PARAMETERS &amp;amp; SELECT-OPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS : S_SPRAS FOR MAKT-SPRAS NO INTERVALS  DEFAULT 'EN'&lt;/P&gt;&lt;P&gt;                                                        OBLIGATORY ,&lt;/P&gt;&lt;P&gt;                 S_MATNR FOR MARA-MATNR,&lt;/P&gt;&lt;P&gt;                 S_MTART FOR MARA-MTART.&lt;/P&gt;&lt;P&gt;PARAMETERS: GP_SIZE TYPE I DEFAULT '200'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN : END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   INITIALIZATION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  gv_repid = sy-repid.&lt;/P&gt;&lt;P&gt;  gv_date = sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;AT SELECTION-SCREEN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  IF GP_SIZE &amp;lt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE E002(00).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF GP_SIZE &amp;gt; 50000.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE W130(26) WITH TEXT-004.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SET CURSOR FIELD 'gp_size'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;START-OF-SELECTION&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&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 FIELDCAT.&lt;/P&gt;&lt;P&gt;  PERFORM LAYOUT.&lt;/P&gt;&lt;P&gt;  PERFORM DATA_FETCH.&lt;/P&gt;&lt;P&gt;  PERFORM READ_DATA_TO_FINAL.&lt;/P&gt;&lt;P&gt;  SORT ig_final BY matnr spras.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gv_lin = gv_li.&lt;/P&gt;&lt;P&gt;  gv_li = gv_li - 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ig_final INTO wg_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT 1 OF STRUCTURE &amp;lt;LWA_LINE_WA1&amp;gt; TO &amp;lt;FA&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;FA&amp;gt; = 'Material Number'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT 2 OF STRUCTURE &amp;lt;LWA_LINE_WA1&amp;gt; TO &amp;lt;FA&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;FA&amp;gt; = 'Authorization Group'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    g_VAR11 = wg_final-srno + 2.&lt;/P&gt;&lt;P&gt;    gv_li1 = gv_li1 + 2.&lt;/P&gt;&lt;P&gt;    MOVE : g_var11 TO gv_i1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT g_var11 OF STRUCTURE &amp;lt;LWA_LINE_WA1&amp;gt; TO &amp;lt;FA&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;FA&amp;gt; = 'MatDesc'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    g_var2 = g_var11 + gv_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT g_var2 OF STRUCTURE &amp;lt;LWA_LINE_WA1&amp;gt; TO &amp;lt;FA&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;FA&amp;gt; = 'BasicData'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND &amp;lt;LWA_LINE_WA1&amp;gt; TO &amp;lt;FS_22&amp;gt;.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ig_final INTO wg_final.&lt;/P&gt;&lt;P&gt;    AT NEW matnr.&lt;/P&gt;&lt;P&gt;      gv_index = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT 1 OF STRUCTURE &amp;lt;LWA_LINE_WA&amp;gt; TO &amp;lt;F&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;F&amp;gt; = wg_final-matnr.&lt;/P&gt;&lt;P&gt;      ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT NEW MATNR.&lt;/P&gt;&lt;P&gt;    GV_INDEX = SY-TABIX.&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT 1 OF STRUCTURE &amp;lt;LWA_LINE_WA1&amp;gt; TO &amp;lt;FA&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;FA&amp;gt; = wg_final-matnr.&lt;/P&gt;&lt;P&gt;     ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT 2 OF STRUCTURE &amp;lt;LWA_LINE_WA&amp;gt; TO &amp;lt;F&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;F&amp;gt; = wg_final-begru.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT 2 OF STRUCTURE &amp;lt;LWA_LINE_WA1&amp;gt; TO &amp;lt;FA&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;FA&amp;gt; = wg_final-begru.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gv_var = wg_final-srno + 2.&lt;/P&gt;&lt;P&gt;    gv_li = gv_li + 2.&lt;/P&gt;&lt;P&gt;    MOVE : gv_var TO gv_i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT gv_var OF STRUCTURE &amp;lt;LWA_LINE_WA&amp;gt; TO &amp;lt;F&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;F&amp;gt; = wg_final-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT gv_var OF STRUCTURE &amp;lt;LWA_LINE_WA1&amp;gt; TO &amp;lt;FA&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;FA&amp;gt; = wg_final-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    gv_var1 = gv_var + gv_lines  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT gv_var1 OF STRUCTURE &amp;lt;LWA_LINE_WA&amp;gt; TO &amp;lt;F&amp;gt;.&lt;/P&gt;&lt;P&gt;   &amp;lt;F&amp;gt; = wg_final-ltxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT gv_var1 OF STRUCTURE &amp;lt;LWA_LINE_WA1&amp;gt; TO &amp;lt;FA&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;FA&amp;gt; = wg_final-ltxt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF matnr.&lt;/P&gt;&lt;P&gt;      APPEND &amp;lt;LWA_LINE_WA&amp;gt; TO &amp;lt;FS_2&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR &amp;lt;LWA_LINE_WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF matnr.&lt;/P&gt;&lt;P&gt;     APPEND &amp;lt;LWA_LINE_WA1&amp;gt; TO &amp;lt;FS_22&amp;gt;.&lt;/P&gt;&lt;P&gt;     CLEAR &amp;lt;LWA_LINE_WA1&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM display..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  data_fetch&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DATA_FETCH .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT matnr&lt;/P&gt;&lt;P&gt;          from mara up to gp_size rows&lt;/P&gt;&lt;P&gt;         appending corresponding fields of table ig_matnr&lt;/P&gt;&lt;P&gt;         where matnr in s_matnr&lt;/P&gt;&lt;P&gt;         and mtart in s_mtart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at ig_matnr.&lt;/P&gt;&lt;P&gt;  SELECT  MARA~MATNR&lt;/P&gt;&lt;P&gt;          MARA~BEGRU&lt;/P&gt;&lt;P&gt;          MARA~MTART&lt;/P&gt;&lt;P&gt;          MAKT~SPRAS&lt;/P&gt;&lt;P&gt;          MAKT~MAKTX FROM MARA INNER JOIN MAKT&lt;/P&gt;&lt;P&gt;    ON MARA&lt;SUB&gt;MATNR = MAKT&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;P&gt;   appending corresponding fields of TABLE ig_mara_makt  UP TO GP_SIZE&lt;/P&gt;&lt;P&gt;ROWS&lt;/P&gt;&lt;P&gt;    WHERE makt~spras IN s_spras&lt;/P&gt;&lt;P&gt;    AND   mara~matnr IN s_matnr&lt;/P&gt;&lt;P&gt;    AND   mara~mtart IN s_mtart&lt;/P&gt;&lt;P&gt;    AND   mara~matnr EQ ig_matnr-matnr.&lt;/P&gt;&lt;P&gt;    endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    SORT ig_mara_makt.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " data_fetch&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  read_data_to_final&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM READ_DATA_TO_FINAL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ig_mara_makt INTO wg_mara_makt .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wg_final-MATNR = wg_mara_makt-MATNR.&lt;/P&gt;&lt;P&gt;    wg_final-BEGRU = wg_mara_makt-BEGRU.&lt;/P&gt;&lt;P&gt;    wg_final-MTART = wg_mara_makt-MTART.&lt;/P&gt;&lt;P&gt;    wg_final-SPRAS = wg_mara_makt-SPRAS.&lt;/P&gt;&lt;P&gt;    wg_final-MAKTX = wg_mara_makt-MAKTX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE ig_t002 INTO wg_t002 WITH KEY spras = wg_final-spras.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      wg_final-srno = wg_t002-srno.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR ig_thead[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ig_thead-TDOBJECT = 'MATERIAL'.&lt;/P&gt;&lt;P&gt;    ig_thead-TDNAME   = wg_final-matnr.&lt;/P&gt;&lt;P&gt;    ig_thead-TDID     = 'GRUN'.&lt;/P&gt;&lt;P&gt;    ig_thead-TDSPRAS  = wg_final-spras.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'TEXT_READ'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_HEADER   = IG_THEAD&lt;/P&gt;&lt;P&gt;        I_READONLY = 'X'&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        E_HEADER   = IG_THEAD&lt;/P&gt;&lt;P&gt;      TABLES&lt;/P&gt;&lt;P&gt;        T_LINES    = IG_TLINE[]&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        NOTFOUND   = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc  EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT  ig_tline.&lt;/P&gt;&lt;P&gt;        gv_strg = ig_tline-tdline.&lt;/P&gt;&lt;P&gt;        IF gv_strg1 &amp;lt;&amp;gt; ' '.&lt;/P&gt;&lt;P&gt;          CONCATENATE gv_strg1 ';' gv_strg INTO gv_strg1.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          gv_strg1 = gv_strg.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      wg_final-ltxt = gv_strg1.&lt;/P&gt;&lt;P&gt;      APPEND wg_final TO ig_final.&lt;/P&gt;&lt;P&gt;      CLEAR wg_final.&lt;/P&gt;&lt;P&gt;      gv_strg1 = ' '.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      APPEND wg_final TO  ig_final.&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " read_data_to_final&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;" read_data_to_final&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  layout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM LAYOUT .&lt;/P&gt;&lt;P&gt;  CLEAR L_LT.&lt;/P&gt;&lt;P&gt;  L_LT-ZEBRA = 'X'.&lt;/P&gt;&lt;P&gt;  L_LT-COLWIDTH_OPTIMIZE = 'X'.&lt;/P&gt;&lt;P&gt;  L_LT-WINDOW_TITLEBAR = 'MATERIAL DETAILS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " layout&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FIELDCAT .&lt;/P&gt;&lt;P&gt;  SELECT SPRAS&lt;/P&gt;&lt;P&gt;           LAISO FROM t002 INTO  CORRESPONDING FIELDS OF TABLE ig_t002&lt;/P&gt;&lt;P&gt;      WHERE spras IN s_spras.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE ig_t002 LINES gv_lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ig_t002 INTO wg_t002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    g_v = g_v + 1.&lt;/P&gt;&lt;P&gt;    Wg_t002-srno = g_v.&lt;/P&gt;&lt;P&gt;    MODIFY ig_t002 FROM wg_t002 TRANSPORTING SRNO.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ig_t002 INTO wg_t002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;    MOVE SY-INDEX TO WA_COLNO.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'MD-' wg_t002-LAISO&lt;/P&gt;&lt;P&gt;                      WA_COLNO&lt;/P&gt;&lt;P&gt;                     INTO WA_FLNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-FIELDNAME = WA_FLNAME.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-DATATYPE = 'CHAR'.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-SELTEXT = WA_FLNAME.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-INTLEN = 250.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-TABNAME = '&amp;lt;FS_2&amp;gt;'.&lt;/P&gt;&lt;P&gt;    APPEND WA_IT_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;    CLEAR wg_t002.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ig_t002 INTO wg_t002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;    MOVE SY-INDEX TO WA_COLNO.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'BD-' wg_t002-LAISO&lt;/P&gt;&lt;P&gt;                       WA_COLNO&lt;/P&gt;&lt;P&gt;                    INTO WA_FLNAME.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-FIELDNAME = WA_FLNAME.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-DATATYPE = 'CHAR'.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-SELTEXT = WA_FLNAME.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-INTLEN = 250.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-TABNAME = '&amp;lt;FS_2&amp;gt;'.&lt;/P&gt;&lt;P&gt;    APPEND WA_IT_FLDCAT TO T_FLDCAT.&lt;/P&gt;&lt;P&gt;    CLEAR wg_t002.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'MATNR' TO WA_FLNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-FIELDNAME = WA_FLNAME.&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-DATATYPE = 'CHAR'.&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-SELTEXT = 'Material No'.&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-INTLEN = 18.&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-TABNAME = '&amp;lt;FS_2&amp;gt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  INSERT WA_IT_FLDCAT INTO T_FLDCAT INDEX 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE 'BEGRU' TO WA_FLNAME.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-FIELDNAME = WA_FLNAME.&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-DATATYPE = 'CHAR'.&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-SELTEXT = 'Authorization Group'.&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-INTLEN = 4.&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-TABNAME = '&amp;lt;FS_2&amp;gt;'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  INSERT WA_IT_FLDCAT INTO T_FLDCAT INDEX 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE T_FLDCAT LINES gv_li.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN LT_DATA TO &amp;lt;FS_DATA&amp;gt;.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating the Dynamic Internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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_FLDCAT         " Fieldcatalogue&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      EP_TABLE                  = &amp;lt;FS_DATA&amp;gt;   " Dynamic Internal Table&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      GENERATE_SUBPOOL_DIR_FULL = 1&lt;/P&gt;&lt;P&gt;      OTHERS                    = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assign Dyn Table To Field Sumbol&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ASSIGN &amp;lt;FS_DATA&amp;gt;-&amp;gt;* TO &amp;lt;FS_1&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assigning the Internal Table TYPE ANY to Standard internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ASSIGN &amp;lt;FS_1&amp;gt; TO &amp;lt;FS_2&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating a Workarea&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA LWA_LINE LIKE LINE OF &amp;lt;FS_2&amp;gt; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assigning the Content to the workares as a Pointer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ASSIGN LWA_LINE-&amp;gt;* TO &amp;lt;LWA_LINE_WA&amp;gt;.&lt;/P&gt;&lt;P&gt;  LOOP AT T_FLDCAT INTO WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT1-FIELDNAME = WA_IT_FLDCAT-FIELDNAME.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT1-TABNAME =  WA_IT_FLDCAT-TABNAME.&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT1-SELTEXT_L = WA_IT_FLDCAT-SELTEXT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WA_IT_FLDCAT1-REF_TABNAME = 'MARC'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    APPEND WA_IT_FLDCAT1 TO T_FLDCAT1.&lt;/P&gt;&lt;P&gt;    CLEAR : WA_IT_FLDCAT,WA_IT_FLDCAT1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN LT_DATA1 TO &amp;lt;FS_DATA1&amp;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_FLDCAT         " Fieldcatalogue&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      EP_TABLE                  = &amp;lt;FS_DATA1&amp;gt;  " Dynamic Internal table&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      GENERATE_SUBPOOL_DIR_FULL = 1&lt;/P&gt;&lt;P&gt;      OTHERS                    = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assign Dyn Table To Field Sumbol&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ASSIGN &amp;lt;FS_DATA1&amp;gt;-&amp;gt;* TO &amp;lt;FS_11&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assigning the Internal Table TYPE ANY to Standard internal Table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ASSIGN &amp;lt;FS_11&amp;gt; TO &amp;lt;FS_22&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Creating a Workarea&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA LWA_LINE1 LIKE LINE OF &amp;lt;FS_22&amp;gt; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Assigning the Content to the workares as a Pointer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ASSIGN LWA_LINE1-&amp;gt;* TO &amp;lt;LWA_LINE_WA1&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fieldcat&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  show&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM Display .&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BYPASSING_BUFFER                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     I_CALLBACK_PROGRAM                = GV_REPID&lt;/P&gt;&lt;P&gt;    I_CALLBACK_PF_STATUS_SET          = 'PF_STATUS_SET'&lt;/P&gt;&lt;P&gt;    I_CALLBACK_USER_COMMAND           = 'USER_COMMAND'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CALLBACK_TOP_OF_PAGE            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CALLBACK_HTML_TOP_OF_PAGE       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_STRUCTURE_NAME                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_GRID_TITLE                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_GRID_SETTINGS                   =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IS_LAYOUT                         = L_LT&lt;/P&gt;&lt;P&gt;     IT_FIELDCAT                       = T_FLDCAT1[]&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_SORT                           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_DEFAULT                         = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SAVE                            = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_VARIANT                        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EVENTS                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_PRINT                          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_HTML_HEIGHT_TOP                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I_HTML_HEIGHT_END                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_ALV_GRAPHICS                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_HYPERLINK                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_ADD_FIELDCAT                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EXCEPT_QINFO                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IR_SALV_FULLSCREEN_ADAPTER        =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB                          = &amp;lt;FS_2&amp;gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PROGRAM_ERROR                     = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   OTHERS                            = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " 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;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM PF_STATUS_SET USING RS_EXTAB TYPE SLIS_T_EXTAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SET PF-STATUS 'DISPLAY' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. "PF_STATUS_SET&lt;/P&gt;&lt;P&gt;&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 Name: user_command *&lt;/P&gt;&lt;P&gt;*&amp;amp; Form Desc: For Handling USER_COMMAND *&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;FORM USER_COMMAND USING IF_UCOMM TYPE SY-UCOMM&lt;/P&gt;&lt;P&gt;                     IS_SELFIELD TYPE SLIS_SELFIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE IF_UCOMM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WHEN 'DOWNLOAD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'POPUP_TO_CONFIRM'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TITLEBAR                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DIAGNOSE_OBJECT             = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          TEXT_QUESTION               = 'Data download to excel'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TEXT_BUTTON_1               = 'Ja'(001)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ICON_BUTTON_1               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TEXT_BUTTON_2               = 'Nein'(002)&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ICON_BUTTON_2               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DEFAULT_BUTTON              = '1'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  DISPLAY_CANCEL_BUTTON       = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  USERDEFINED_F1_HELP         = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  START_COLUMN                = 25&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  START_ROW                   = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  POPUP_TYPE                  =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ANSWER                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  PARAMETER                   =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TEXT_NOT_FOUND              = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  OTHERS                      = 2&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                .&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CALL FUNCTION 'GUI_DOWNLOAD'&lt;/P&gt;&lt;P&gt;        EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    BIN_FILESIZE                  =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          FILENAME                     = 'C:\Material-Text.xls'&lt;/P&gt;&lt;P&gt;         FILETYPE                      = 'ASC'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    APPEND                        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     WRITE_FIELD_SEPARATOR         = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    HEADER                        = '00'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     TRUNC_TRAILING_BLANKS         = 'X'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WRITE_LF                      = 'X'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    COL_SELECT                    = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    COL_SELECT_MASK               = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     DAT_MODE                      = 'X'&lt;/P&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     FILELENGTH                    = GL_LENGHT&lt;/P&gt;&lt;P&gt;        TABLES&lt;/P&gt;&lt;P&gt;          DATA_TAB                      = &amp;lt;FS_22&amp;gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXCEPTIONS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FILE_WRITE_ERROR              = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    NO_BATCH                      = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    GUI_REFUSE_FILETRANSFER       = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    INVALID_TYPE                  = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    NO_AUTHORITY                  = 5&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    UNKNOWN_ERROR                 = 6&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    HEADER_NOT_ALLOWED            = 7&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    SEPARATOR_NOT_ALLOWED         = 8&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FILESIZE_NOT_ALLOWED          = 9&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    HEADER_TOO_LONG               = 10&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DP_ERROR_CREATE               = 11&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DP_ERROR_SEND                 = 12&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DP_ERROR_WRITE                = 13&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    UNKNOWN_DP_ERROR              = 14&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ACCESS_DENIED                 = 15&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DP_OUT_OF_MEMORY              = 16&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DISK_FULL                     = 17&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DP_TIMEOUT                    = 18&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FILE_NOT_FOUND                = 19&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    DATAPROVIDER_EXCEPTION        = 20&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    CONTROL_FLUSH_ERROR           = 21&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    OTHERS                        = 22&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                .&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF GL_LENGHT NE 0.&lt;/P&gt;&lt;P&gt;        MESSAGE S398(00) WITH 'DATA downloaded to EXCEL'.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "user_command&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jun 2008 05:24:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/create-dynamic-internal-table-with-dynamic-structure/m-p/4010885#M958251</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-12T05:24:53Z</dc:date>
    </item>
    <item>
      <title>Re: Create dynamic internal table with dynamic structure</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-dynamic-internal-table-with-dynamic-structure/m-p/4010886#M958252</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First generate fieldcat structure dynamically.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Construct an internal table with 2 columns Period and total.&lt;/P&gt;&lt;P&gt;It will have 12 rows for each period and the total.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
DATA: lt TYPE lvc_t_fcat.
DATA: ls TYPE lvc_s_fcat.
FIELD-SYMBOLS: &amp;lt;fs_data&amp;gt; TYPE REF TO data.
FIELD-SYMBOLS: &amp;lt;fs_1&amp;gt;, &amp;lt;fs&amp;gt;.
FIELD-SYMBOLS: &amp;lt;dyntable&amp;gt; TYPE ANY TABLE.
FIELD-SYMBOLS: &amp;lt;dynline&amp;gt; TYPE ANY.
DATA: lt_data TYPE REF TO data.
DATA: lw_line TYPE REF TO data.

w_count = 0.
LOOP AT i_period INTO wa_period WHERE total &amp;gt; 0.
  ADD 1 TO count.
  CONCATENATE 'PERIOD' count INTO w_fieldname.
  ls-fieldname = w_fieldname.
  APPEND ls TO lt.
ENDLOOP.

*now you got the fieldcat in table lt.

*CALL below method TO create dynamic table:

*-Create dynamic internal table.
CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table
  EXPORTING
    it_fieldcatalog           = lt
  IMPORTING
    ep_table                  = &amp;lt;fs_data&amp;gt;
  EXCEPTIONS
    generate_subpool_dir_full = 1
    OTHERS                    = 2.
IF sy-subrc &amp;lt;&amp;gt; 0.
ENDIF.

*-Assign dynamic table to field symbol.
ASSIGN &amp;lt;fs_data&amp;gt;-&amp;gt;* TO &amp;lt;fs_1&amp;gt;.
ASSIGN &amp;lt;fs_1&amp;gt; TO &amp;lt;dyntable&amp;gt;.
**
CREATE DATA lw_line LIKE LINE OF &amp;lt;dyntable&amp;gt;.
ASSIGN lw_line-&amp;gt;* TO &amp;lt;dynline&amp;gt;.

* Populate dynamic table from itab1.
SORT it_period BY period.
LOOP AT itab1 INTO wa1.
  LOOP AT it_period INTO wa_period.
    IF wa_period-total &amp;gt; 0.
      CONCATENATE 'PERIOD' sy-tabix INTO w_fieldname.
      ASSIGN COMPONENT w_fieldname OF STRUCTURE &amp;lt;dynline&amp;gt; TO &amp;lt;fs&amp;gt;.
      ASSIGN COMPONENT w_fieldname OF STRUCTURE wa1 TO &amp;lt;fs1&amp;gt;.
      &amp;lt;fs&amp;gt; = &amp;lt;fs1&amp;gt;.
    ENDIF.
  ENDLOOP.
  INSERT &amp;lt;dynline&amp;gt; INTO TABLE &amp;lt;dyntable&amp;gt;.
ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;lt;dyntable&amp;gt; will have the required data now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Lakshmi.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jun 2008 05:39:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/create-dynamic-internal-table-with-dynamic-structure/m-p/4010886#M958252</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-12T05:39:25Z</dc:date>
    </item>
    <item>
      <title>Re: Create dynamic internal table with dynamic structure</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/create-dynamic-internal-table-with-dynamic-structure/m-p/4010887#M958253</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK, I finally able to populate data into my dynamic table.  Now I like to display the data I populated with the field name next to the field value. How can I get the field name of my dynamic structure?&lt;/P&gt;&lt;P&gt;I search in the forum and found that I can use l_abap_structdescr=&amp;gt;describe_by_name&lt;/P&gt;&lt;P&gt;but problem is that I do not know the name of the dynamic table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyone has an idea.  Here is my program&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; REPORT  zvltjunk1                               .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;dyntable&amp;gt; TYPE table.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;dynline&amp;gt; TYPE ANY.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;fs_1&amp;gt;, &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS:&lt;/P&gt;&lt;P&gt;               &amp;lt;dyn_wa&amp;gt;,&lt;/P&gt;&lt;P&gt;               &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: lt TYPE lvc_t_fcat.  "table of field cat structure&lt;/P&gt;&lt;P&gt;DATA: ls TYPE lvc_s_fcat.  "Field cat structure&lt;/P&gt;&lt;P&gt;DATA: new_table TYPE REF TO data,&lt;/P&gt;&lt;P&gt;      new_line  TYPE REF TO data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF periodtyp,&lt;/P&gt;&lt;P&gt;      period(10) TYPE c,&lt;/P&gt;&lt;P&gt;      total    TYPE netwr,&lt;/P&gt;&lt;P&gt;     END OF periodtyp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF itab_typ,&lt;/P&gt;&lt;P&gt;        period01   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period02   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period03   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period04   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period05   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period06   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period07   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period08   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period09   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period10   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period11   TYPE netwr,&lt;/P&gt;&lt;P&gt;        period12   TYPE netwr,&lt;/P&gt;&lt;P&gt;        END OF itab_typ.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;      wa_period  TYPE periodtyp,&lt;/P&gt;&lt;P&gt;      wa1        TYPE itab_typ,&lt;/P&gt;&lt;P&gt;      sum        TYPE itab_typ,&lt;/P&gt;&lt;P&gt;      w_fieldname(20) TYPE c,&lt;/P&gt;&lt;P&gt;      c_tabix(2) TYPE n,&lt;/P&gt;&lt;P&gt;      w_count TYPE i,&lt;/P&gt;&lt;P&gt;      count(2) TYPE n.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_period TYPE TABLE OF periodtyp,&lt;/P&gt;&lt;P&gt;      itab1     TYPE TABLE OF itab_typ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;w_count = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM load_itab1.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;ULINE.&lt;/P&gt;&lt;P&gt;SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM create_dyntab.&lt;/P&gt;&lt;P&gt;PERFORM populating_dyntable.&lt;/P&gt;&lt;P&gt;PERFORM display_dyntab_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CREATE_DYNTAB&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM create_dyntab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build field catalog of dynamic structure.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT it_period INTO wa_period.&lt;/P&gt;&lt;P&gt;    IF wa_period-total &amp;gt; 0.&lt;/P&gt;&lt;P&gt;      c_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'PERIOD' c_tabix INTO w_fieldname.&lt;/P&gt;&lt;P&gt;      ls-fieldname = w_fieldname.&lt;/P&gt;&lt;P&gt;      ls-datatype  = 'CURR'.&lt;/P&gt;&lt;P&gt;      ls-tabname   = 'NEWTAB'.&lt;/P&gt;&lt;P&gt;      ls-intlen     = 10.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   WRITE: / 'Field:', w_fieldname, 30 wa_period-total.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      APPEND ls TO lt.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic internal table with dynamic structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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 = lt&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = new_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-Assign dynamic table to field symbol.&lt;/P&gt;&lt;P&gt;  ASSIGN new_table-&amp;gt;* TO &amp;lt;fs_1&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN &amp;lt;fs_1&amp;gt; TO &amp;lt;dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create a new Line with the same structure of the table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE DATA new_line LIKE LINE OF &amp;lt;dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN      new_line-&amp;gt;* TO &amp;lt;dynline&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "CREATE_DYNTAB&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  load_itab1&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM load_itab1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO 5 TIMES.&lt;/P&gt;&lt;P&gt;    CLEAR wa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE:  100   TO   wa1-period01,&lt;/P&gt;&lt;P&gt;           15    TO   wa1-period02,&lt;/P&gt;&lt;P&gt;           20    TO   wa1-period03,&lt;/P&gt;&lt;P&gt;           30    TO   wa1-period05,&lt;/P&gt;&lt;P&gt;           7     TO   wa1-period07.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-index = 3.&lt;/P&gt;&lt;P&gt;      wa1-period02 = 0.&lt;/P&gt;&lt;P&gt;      wa1-period07 = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    APPEND wa1 TO itab1.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab1 INTO wa1.&lt;/P&gt;&lt;P&gt;    ADD:&lt;/P&gt;&lt;P&gt;       wa1-period01 TO sum-period01,&lt;/P&gt;&lt;P&gt;       wa1-period02 TO sum-period02,&lt;/P&gt;&lt;P&gt;       wa1-period03 TO sum-period03,&lt;/P&gt;&lt;P&gt;       wa1-period04 TO sum-period04,&lt;/P&gt;&lt;P&gt;       wa1-period05 TO sum-period05,&lt;/P&gt;&lt;P&gt;       wa1-period06 TO sum-period06,&lt;/P&gt;&lt;P&gt;       wa1-period07 TO sum-period07,&lt;/P&gt;&lt;P&gt;       wa1-period08 TO sum-period08,&lt;/P&gt;&lt;P&gt;       wa1-period09 TO sum-period09,&lt;/P&gt;&lt;P&gt;       wa1-period10 TO sum-period10,&lt;/P&gt;&lt;P&gt;       wa1-period11 TO sum-period11,&lt;/P&gt;&lt;P&gt;       wa1-period12 TO sum-period12.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period01 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD01'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period02 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD02'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period03 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD03'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period04 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD04'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period05 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD05'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period06 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD06'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period07 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD07'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period08 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD08'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period09 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD09'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period10 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD10'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period11 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD11'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  MOVE: sum-period12 TO wa_period-total,&lt;/P&gt;&lt;P&gt;        'PERIOD12'  TO wa_period-period.&lt;/P&gt;&lt;P&gt;  APPEND wa_period TO it_period.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Input table itab1',&lt;/P&gt;&lt;P&gt;         /4 'PREIOD01', 15 'PREIOD02', 26 'PREIOD03', 37 'PREIOD04',&lt;/P&gt;&lt;P&gt;         48 'PREIOD05', 59 'PREIOD06', 70 'PREIOD07', 81 'PREIOD08',&lt;/P&gt;&lt;P&gt;         92 'PREIOD09', 103 'PREIOD10', 114 'PREIOD11', 125 'PREIOD12'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab1 INTO wa1.&lt;/P&gt;&lt;P&gt;    WRITE: / ' ',&lt;/P&gt;&lt;P&gt;            (10) wa1-period01, (10) wa1-period02 , (10) wa1-period03,&lt;/P&gt;&lt;P&gt;           (10)  wa1-period04 , (10) wa1-period05, (10) wa1-period06,&lt;/P&gt;&lt;P&gt;           (10)  wa1-period07, (10) wa1-period08,  (10) wa1-period09,&lt;/P&gt;&lt;P&gt;           (10)  wa1-period10, (10) wa1-period11, (10) wa1-period12.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE: / ' ',&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          (10) sum-period01, (10) sum-period02, (10) sum-period03,&lt;/P&gt;&lt;P&gt;          (10) sum-period04, (10) sum-period05, (10) sum-period06,&lt;/P&gt;&lt;P&gt;          (10) sum-period07, (10) sum-period08, (10) sum-period09,&lt;/P&gt;&lt;P&gt;          (10) sum-period10, (10) sum-period11, (10) sum-period12.&lt;/P&gt;&lt;P&gt;  ULINE.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Table it_period for 12 periods'. SKIP.&lt;/P&gt;&lt;P&gt;  LOOP AT it_period INTO wa_period.&lt;/P&gt;&lt;P&gt;    WRITE: /  wa_period-period, wa_period-total.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                                                    "load_itab1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  populating_dyntable&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM populating_dyntable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: fieldname(20) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: fieldvalue(10) TYPE c,&lt;/P&gt;&lt;P&gt;        fval(10) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: index(2) TYPE c.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;fs_con&amp;gt;.&lt;/P&gt;&lt;P&gt;  DATA: w_con(50).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Populate data to dynamic table from itab1.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  SORT it_period BY period.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Dynamic table data:'. SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab1 INTO wa1.&lt;/P&gt;&lt;P&gt;    LOOP AT it_period INTO wa_period.&lt;/P&gt;&lt;P&gt;      IF wa_period-total &amp;gt; 0.&lt;/P&gt;&lt;P&gt;        c_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;        CONCATENATE 'PERIOD' c_tabix INTO w_fieldname.&lt;/P&gt;&lt;P&gt;        CONDENSE w_fieldname NO-GAPS.&lt;/P&gt;&lt;P&gt;        ASSIGN COMPONENT w_fieldname OF STRUCTURE &amp;lt;dynline&amp;gt; TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        ASSIGN COMPONENT w_fieldname OF STRUCTURE wa1 TO &amp;lt;fs_1&amp;gt;.&lt;/P&gt;&lt;P&gt;         &amp;lt;fs&amp;gt; = &amp;lt;fs_1&amp;gt;.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    INSERT &amp;lt;dynline&amp;gt; INTO TABLE &amp;lt;dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;    CLEAR first_time.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "populating_dyntable&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  display_dyntab&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM display_dyntab_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Display dynamic table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: l_components  TYPE i,&lt;/P&gt;&lt;P&gt;         comp_idx      TYPE i,&lt;/P&gt;&lt;P&gt;         t             TYPE c.&lt;/P&gt;&lt;P&gt;  TYPE-POOLS: sydes.&lt;/P&gt;&lt;P&gt;  DATA   td  TYPE sydes_desc.&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;fs1&amp;gt;  TYPE sydes_desc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT &amp;lt;dyntable&amp;gt; INTO &amp;lt;dynline&amp;gt;.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT sy-index OF STRUCTURE &amp;lt;dynline&amp;gt; TO &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-index = 1.&lt;/P&gt;&lt;P&gt;          WRITE:  / &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          WRITE:  &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "display_dyntab_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Akinosora on Jun 16, 2008 2:23 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 12 Jun 2008 05:59:36 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/create-dynamic-internal-table-with-dynamic-structure/m-p/4010887#M958253</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-12T05:59:36Z</dc:date>
    </item>
  </channel>
</rss>

