<?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 Dynamic internal table in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697100#M1103828</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to create a dynamic internal table. &lt;/P&gt;&lt;P&gt;I have one internal table with 3 fields. Now I need to add fields dynamically to this internal table based on the number of records in database table. &lt;/P&gt;&lt;P&gt;for ex: My database table contains 5 records then my internal should contains 8 fields ( 3 of the fields already contains).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestions pls.........&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thnaks in advance.&lt;/P&gt;&lt;P&gt;Zak.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 12 Nov 2008 07:32:10 GMT</pubDate>
    <dc:creator>former_member463678</dc:creator>
    <dc:date>2008-11-12T07:32:10Z</dc:date>
    <item>
      <title>Dynamic internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697100#M1103828</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to create a dynamic internal table. &lt;/P&gt;&lt;P&gt;I have one internal table with 3 fields. Now I need to add fields dynamically to this internal table based on the number of records in database table. &lt;/P&gt;&lt;P&gt;for ex: My database table contains 5 records then my internal should contains 8 fields ( 3 of the fields already contains).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any suggestions pls.........&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thnaks in advance.&lt;/P&gt;&lt;P&gt;Zak.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Nov 2008 07:32:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697100#M1103828</guid>
      <dc:creator>former_member463678</dc:creator>
      <dc:date>2008-11-12T07:32:10Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697101#M1103829</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Did you search the forum before putting your query ? There is ample materila on this already.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Advait&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Nov 2008 07:35:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697101#M1103829</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-12T07:35:13Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697102#M1103830</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Zak&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may have a look at my Wiki posting&lt;/P&gt;&lt;P&gt;[Creating Flat and Complex Internal Tables Dynamically using RTTI |https://wiki.sdn.sap.com/wiki/display/Snippets/Creating&lt;EM&gt;Flat&lt;/EM&gt;and&lt;EM&gt;Complex&lt;/EM&gt;Internal&lt;EM&gt;Tables&lt;/EM&gt;Dynamically&lt;EM&gt;using&lt;/EM&gt;RTTI]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Nov 2008 07:35:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697102#M1103830</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2008-11-12T07:35:23Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697103#M1103831</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please chk the following code. &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           = it_int_tab&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table                  = it_new_tab&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;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN it_new_tab-&amp;gt;* TO &amp;lt;it_dyn&amp;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 g_new_line LIKE LINE OF &amp;lt;it_dyn&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN g_new_line-&amp;gt;* TO &amp;lt;wa_dyn&amp;gt;.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE e002(sy) WITH 'Failed to create dynamic table'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Nov 2008 07:51:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697103#M1103831</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-12T07:51:17Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697104#M1103832</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;DATA : G_TABLE(30) TYPE C,&lt;/P&gt;&lt;P&gt;             g_flen(6).  &lt;/P&gt;&lt;P&gt; DATA : IDETAILS TYPE ABAP_COMPDESCR_TAB,&lt;/P&gt;&lt;P&gt;            XDETAILS TYPE ABAP_COMPDESCR.&lt;/P&gt;&lt;P&gt;DATA : REF_TABLE_DES TYPE REF TO CL_ABAP_STRUCTDESCR,&lt;/P&gt;&lt;P&gt;            XFC TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;            IFC TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;DATA:   ig_newtable TYPE REF TO data,&lt;/P&gt;&lt;P&gt;            ig_fldcat1   TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;            wg_fldcat TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;            wg_newline  TYPE REF TO data.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;fs_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;            ..............................&lt;/P&gt;&lt;P&gt;PERFORM fieldcatalog_build USING c_matnr c_char c_18.  " suppose u r internal table contains 3 fields                                                                                &lt;/P&gt;&lt;P&gt;" say matnr , gstrp and maktx&lt;/P&gt;&lt;P&gt;  PERFORM fieldcatalog_build USING c_gstrp c_dats c_8.&lt;/P&gt;&lt;P&gt;  PERFORM fieldcatalog_build USING c_maktx c_char c_40.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the structure of the database table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  REF_TABLE_DES ?=&lt;/P&gt;&lt;P&gt;      CL_ABAP_TYPEDESCR=&amp;gt;DESCRIBE_BY_NAME( G_TABLE ). " G_TABLE data base table name&lt;/P&gt;&lt;P&gt;  IDETAILS[] = REF_TABLE_DES-&amp;gt;COMPONENTS[].&lt;/P&gt;&lt;P&gt;  LOOP AT IDETAILS INTO XDETAILS.&lt;/P&gt;&lt;P&gt;    CLEAR XFC.&lt;/P&gt;&lt;P&gt;    XFC-FIELDNAME = XDETAILS-NAME .&lt;/P&gt;&lt;P&gt;    XFC-DATATYPE = XDETAILS-TYPE_KIND.&lt;/P&gt;&lt;P&gt;    XFC-INTTYPE = XDETAILS-TYPE_KIND.&lt;/P&gt;&lt;P&gt;    XFC-INTLEN = XDETAILS-LENGTH.&lt;/P&gt;&lt;P&gt;    XFC-DECIMALS = XDETAILS-DECIMALS.&lt;/P&gt;&lt;P&gt;    APPEND XFC TO IFC.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;loop at IFC into XFC.&lt;/P&gt;&lt;P&gt;     clear g_flen.&lt;/P&gt;&lt;P&gt;     g_flen = XFC-INTLEN.&lt;/P&gt;&lt;P&gt;     PERFORM fieldcatalog_build USING XFC-FIELDNAME XFC-DATATYPE g_flen.&lt;/P&gt;&lt;P&gt;clear XFC.&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 and assign to FS&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 = ig_fldcat1&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = ig_newtable.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN ig_newtable-&amp;gt;* TO &amp;lt;fs_t_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 dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA wg_newline LIKE LINE OF &amp;lt;fs_t_dyntable&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN wg_newline-&amp;gt;* TO &amp;lt;fs_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;To fill data into dynamic internal table ig_material is internal table containing data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;LOOP AT ig_material INTO wg_material.&lt;/P&gt;&lt;P&gt;    PERFORM fill_dyn_int_table USING c_matnr wg_material-matnr .&lt;/P&gt;&lt;P&gt;    PERFORM fill_dyn_int_table USING c_gstrp wg_material-gstrp .&lt;/P&gt;&lt;P&gt;    PERFORM fill_dyn_int_table USING c_maktx wg_material-maktx .&lt;/P&gt;&lt;P&gt;*simliarly fill the data of database table which is stored in some internal table&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;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  fieldcatalog_build&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;FORM fieldcatalog_build  USING    fp_fieldname TYPE c&lt;/P&gt;&lt;P&gt;                                  fp_datatype  TYPE c&lt;/P&gt;&lt;P&gt;                                  fp_intlen    TYPE any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wg_fldcat-fieldname = fp_fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wg_fldcat-datatype = fp_datatype.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  wg_fldcat-intlen = fp_intlen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND wg_fldcat TO ig_fldcat1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fieldcatalog_build&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  fill_dyn_int_table&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;FORM fill_dyn_int_table  USING    fp_fldname TYPE c&lt;/P&gt;&lt;P&gt;                                  fp_fldvalue TYPE any.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN COMPONENT  fp_fldname&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; =  fp_fldvalue.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fill_dyn_int_table&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Nov 2008 08:33:30 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697104#M1103832</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-12T08:33:30Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697105#M1103833</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Follow this code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FUNCTION z_bspl_grid_create1 .&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;STRONG&gt;"&lt;/STRONG&gt;"Global Interface:&lt;/P&gt;&lt;P&gt;*"  IMPORTING&lt;/P&gt;&lt;P&gt;*"     VALUE(IS_SETTINGS) LIKE  RFBILA_ALV_SETTINGS STRUCTURE&lt;/P&gt;&lt;P&gt;*"        RFBILA_ALV_SETTINGS&lt;/P&gt;&lt;P&gt;*"     VALUE(IT_LIST_COMMENTARY) TYPE  SLIS_T_LISTHEADER OPTIONAL&lt;/P&gt;&lt;P&gt;*"     REFERENCE(I_GRID_TITLE) TYPE  LVC_TITLE OPTIONAL&lt;/P&gt;&lt;P&gt;*"     REFERENCE(IS_GRID_SETTINGS) TYPE  LVC_S_GLAY OPTIONAL&lt;/P&gt;&lt;P&gt;*"----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bspl_grid_totals_calculate TABLES gt_rsthie&lt;/P&gt;&lt;P&gt;                                            gt_bspldata&lt;/P&gt;&lt;P&gt;                                            gt_gridtotals&lt;/P&gt;&lt;P&gt;                                      USING is_settings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bspl_grid_outtab_fill      TABLES gt_rsthie&lt;/P&gt;&lt;P&gt;                                            gt_bspldata&lt;/P&gt;&lt;P&gt;                                            gt_gridtotals&lt;/P&gt;&lt;P&gt;                                            gt_ergsl_text&lt;/P&gt;&lt;P&gt;                                            gt_edit_settings&lt;/P&gt;&lt;P&gt;                                            gt_gridouttab&lt;/P&gt;&lt;P&gt;                                      USING is_settings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Modifications by Anitha-----&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA z_gridouttab LIKE gt_gridouttab OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF itab OCCURS 0,&lt;/P&gt;&lt;P&gt;          racct  LIKE gt_gridouttab-racct,&lt;/P&gt;&lt;P&gt;          ergsl  LIKE gt_gridouttab-ergsl,&lt;/P&gt;&lt;P&gt;          text   LIKE gt_gridouttab-text,&lt;/P&gt;&lt;P&gt;          rbukrs LIKE gt_gridouttab-rbukrs,&lt;/P&gt;&lt;P&gt;          repval LIKE gt_gridouttab-repval,&lt;/P&gt;&lt;P&gt;        END OF itab.&lt;/P&gt;&lt;P&gt;*modifications by anitha&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF itab1 OCCURS 0,&lt;/P&gt;&lt;P&gt;          ergsl  LIKE gt_gridouttab-ergsl,&lt;/P&gt;&lt;P&gt;          rbukrs LIKE gt_gridouttab-rbukrs,&lt;/P&gt;&lt;P&gt;          racct  LIKE gt_gridouttab-racct,&lt;/P&gt;&lt;P&gt;          text   LIKE gt_gridouttab-text,&lt;/P&gt;&lt;P&gt;          repval LIKE gt_gridouttab-repval,&lt;/P&gt;&lt;P&gt;        END OF itab1.&lt;/P&gt;&lt;P&gt;  DATA: BEGIN OF itab2 OCCURS 0,&lt;/P&gt;&lt;P&gt;          ergsl  LIKE gt_gridouttab-ergsl,&lt;/P&gt;&lt;P&gt;          text   LIKE gt_gridouttab-text,&lt;/P&gt;&lt;P&gt;        END OF itab2.&lt;/P&gt;&lt;P&gt;  DATA : BEGIN OF comp_itab OCCURS 0,&lt;/P&gt;&lt;P&gt;            rbukrs LIKE gt_gridouttab-rbukrs,&lt;/P&gt;&lt;P&gt;         END OF comp_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA num_cols TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Second time modifications&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  TYPE-POOLS: slis,abap.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: dy_table TYPE REF TO data,&lt;/P&gt;&lt;P&gt;        dy_line  TYPE REF TO data,&lt;/P&gt;&lt;P&gt;        xfc TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;        ifc TYPE lvc_t_fcat,&lt;/P&gt;&lt;P&gt;        it_alvfc TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;        wa_alvfc TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*local data declarations&lt;/P&gt;&lt;P&gt;*DATA: L_CB_PROGRAM LIKE SY-REPID   VALUE 'SAPLBSPL'.&lt;/P&gt;&lt;P&gt;  DATA: l_cb_program LIKE sy-repid   VALUE 'SAPLZFUNC_FI'.&lt;/P&gt;&lt;P&gt;  DATA: ls_variant   LIKE disvariant.&lt;/P&gt;&lt;P&gt;  DATA: ls_layout    TYPE slis_layout_alv.&lt;/P&gt;&lt;P&gt;  DATA: lt_fieldcat  TYPE slis_t_fieldcat_alv.&lt;/P&gt;&lt;P&gt;  DATA: lt_sort      TYPE slis_t_sortinfo_alv .&lt;/P&gt;&lt;P&gt;  DATA: ls_print     TYPE slis_print_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*data:FS_LAYOUT TYPE LVC_S_LAYO.&lt;/P&gt;&lt;P&gt;  TYPES: BEGIN OF res_itab,&lt;/P&gt;&lt;P&gt;          racct  LIKE gt_gridouttab-racct, "Account Number&lt;/P&gt;&lt;P&gt;          ergsl  LIKE gt_gridouttab-ergsl, "Financial Statement Item&lt;/P&gt;&lt;P&gt;          text   LIKE gt_gridouttab-text, "Text field&lt;/P&gt;&lt;P&gt;        END OF res_itab.&lt;/P&gt;&lt;P&gt;********************&lt;/P&gt;&lt;P&gt;*modifications by anitha&lt;/P&gt;&lt;P&gt;  DATA: i TYPE i,&lt;/P&gt;&lt;P&gt;        total TYPE umsav VALUE 0,&lt;/P&gt;&lt;P&gt;        total1 TYPE umsav VALUE 0,&lt;/P&gt;&lt;P&gt;        sub_tot TYPE umsav VALUE 0,&lt;/P&gt;&lt;P&gt;        sub_tot1 TYPE umsav VALUE 0,&lt;/P&gt;&lt;P&gt;        sub_tot2 TYPE umsav VALUE 0,&lt;/P&gt;&lt;P&gt;        co_subtot1000(13) TYPE c,&lt;/P&gt;&lt;P&gt;        co_subtot1005(13) TYPE c,&lt;/P&gt;&lt;P&gt;        co_subtot1006(13) TYPE c,&lt;/P&gt;&lt;P&gt;        co_subtot1007(13) TYPE c,&lt;/P&gt;&lt;P&gt;        co_subtot1008(13) TYPE c,&lt;/P&gt;&lt;P&gt;        co_subtot1201(13) TYPE c,&lt;/P&gt;&lt;P&gt;        co_subtot1202(13) TYPE c,&lt;/P&gt;&lt;P&gt;        co_subtot1301(13) TYPE c,&lt;/P&gt;&lt;P&gt;        co_subtot1302(13) TYPE c,&lt;/P&gt;&lt;P&gt;        co_subtot1401(13) TYPE c,&lt;/P&gt;&lt;P&gt;        co_subtot1501(13) TYPE c,&lt;/P&gt;&lt;P&gt;*declaration of grand totals&lt;/P&gt;&lt;P&gt;        gr_tot1000(13) TYPE c,&lt;/P&gt;&lt;P&gt;        gr_tot1005(13) TYPE c,&lt;/P&gt;&lt;P&gt;        gr_tot1006(13) TYPE c,&lt;/P&gt;&lt;P&gt;        gr_tot1007(13) TYPE c,&lt;/P&gt;&lt;P&gt;        gr_tot1008(13) TYPE c,&lt;/P&gt;&lt;P&gt;        gr_tot1201(13) TYPE c,&lt;/P&gt;&lt;P&gt;        gr_tot1202(13) TYPE c,&lt;/P&gt;&lt;P&gt;        gr_tot1301(13) TYPE c,&lt;/P&gt;&lt;P&gt;        gr_tot1302(13) TYPE c,&lt;/P&gt;&lt;P&gt;        gr_tot1401(13) TYPE c,&lt;/P&gt;&lt;P&gt;        gr_tot1501(13) TYPE c,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*declaration of super grand totals&lt;/P&gt;&lt;P&gt;        ggr_tot1000(13) TYPE c,&lt;/P&gt;&lt;P&gt;        ggr_tot1005(13) TYPE c,&lt;/P&gt;&lt;P&gt;        ggr_tot1006(13) TYPE c,&lt;/P&gt;&lt;P&gt;        ggr_tot1007(13) TYPE c,&lt;/P&gt;&lt;P&gt;        ggr_tot1008(13) TYPE c,&lt;/P&gt;&lt;P&gt;        ggr_tot1201(13) TYPE c,&lt;/P&gt;&lt;P&gt;        ggr_tot1202(13) TYPE c,&lt;/P&gt;&lt;P&gt;        ggr_tot1301(13) TYPE c,&lt;/P&gt;&lt;P&gt;        ggr_tot1302(13) TYPE c,&lt;/P&gt;&lt;P&gt;        ggr_tot1401(13) TYPE c,&lt;/P&gt;&lt;P&gt;        ggr_tot1501(13) TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;dyn_table&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;                 &amp;lt;dyn_table1&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;                 &amp;lt;dyn_wa&amp;gt;,&lt;/P&gt;&lt;P&gt;                 &amp;lt;dyn_wa1&amp;gt;,&lt;/P&gt;&lt;P&gt;                 &amp;lt;dyn_field&amp;gt;,&lt;/P&gt;&lt;P&gt;                 &amp;lt;DYN_WA2&amp;gt;,&lt;/P&gt;&lt;P&gt;                 &amp;lt;dyn_field1&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bspl_grid_alv_interface_set&lt;/P&gt;&lt;P&gt;                                TABLES lt_fieldcat&lt;/P&gt;&lt;P&gt;                                 USING is_settings&lt;/P&gt;&lt;P&gt;                              CHANGING l_cb_program&lt;/P&gt;&lt;P&gt;                                       ls_variant&lt;/P&gt;&lt;P&gt;                                       ls_layout.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM bspl_grid_sortinfos_set  TABLES lt_sort[].&lt;/P&gt;&lt;P&gt;  PERFORM bspl_grid_newpage_set    TABLES gt_gridouttab.&lt;/P&gt;&lt;P&gt;  PERFORM bspl_grid_printinfos_set USING  ls_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  z_gridouttab[] = gt_gridouttab[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT z_gridouttab.&lt;/P&gt;&lt;P&gt;    itab-racct  = z_gridouttab-racct. " G/L Account&lt;/P&gt;&lt;P&gt;    itab-ergsl  = z_gridouttab-ergsl. " FS item&lt;/P&gt;&lt;P&gt;    itab-text = z_gridouttab-text.  " Test for P/L item&lt;/P&gt;&lt;P&gt;    itab-rbukrs = z_gridouttab-rbukrs." Company code&lt;/P&gt;&lt;P&gt;    comp_itab-rbukrs = z_gridouttab-rbukrs.&lt;/P&gt;&lt;P&gt;    itab-repval = z_gridouttab-repval.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND itab.      &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;     COLLECT  itab.&lt;/P&gt;&lt;P&gt;    APPEND comp_itab.&lt;/P&gt;&lt;P&gt;    CLEAR itab.&lt;/P&gt;&lt;P&gt;    CLEAR comp_itab.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT comp_itab BY rbukrs.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM comp_itab.&lt;/P&gt;&lt;P&gt;  LOOP AT comp_itab.&lt;/P&gt;&lt;P&gt;    IF comp_itab-rbukrs EQ ''.&lt;/P&gt;&lt;P&gt;      DELETE comp_itab.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE comp_itab LINES num_cols.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*modifications by shanker&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ITAB1[] = ITAB[].&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: lv_ergsl LIKE itab-ergsl,&lt;/P&gt;&lt;P&gt;        lv_text LIKE itab-text.&lt;/P&gt;&lt;P&gt;  LOOP AT itab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF SY-TABIX = '1'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LV_ERGSL = ITAB-ERGSL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      LV_text = ITAB-text.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE itab-ergsl TO itab2-ergsl.&lt;/P&gt;&lt;P&gt;    MOVE itab-text TO itab2-text.&lt;/P&gt;&lt;P&gt;    APPEND itab2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*IF ITAB-ERGSL NE LV_ERGSL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MOVE ITAB-ERGSL TO ITAB2-ERGSL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;APPEND ITAB2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LV_ERGSL = ITAB-ERGSL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MOVE-CORRESPONDING itab TO itab1.&lt;/P&gt;&lt;P&gt;    APPEND itab1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM itab2 COMPARING ergsl .&lt;/P&gt;&lt;P&gt;***************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORT ITAB1 BY RACCT RBUKRS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DELETE ADJACENT DUPLICATES FROM ITAB1 COMPARING RACCT .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "GET_NUM_OF_COMPANY_CODES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Get table structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*FORM GET_STRUCTURE.&lt;/P&gt;&lt;P&gt;  DATA : idetails TYPE abap_compdescr_tab,&lt;/P&gt;&lt;P&gt;         xdetails TYPE abap_compdescr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : ref_table_des TYPE REF TO cl_abap_structdescr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA fld_pos TYPE i VALUE 1.&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;Get the structure of the table.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ref_table_des ?=&lt;/P&gt;&lt;P&gt;              cl_abap_typedescr=&amp;gt;describe_by_name( 'RES_ITAB' ).&lt;/P&gt;&lt;P&gt;  idetails[] = ref_table_des-&amp;gt;components[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT idetails INTO xdetails.&lt;/P&gt;&lt;P&gt;    CLEAR xfc.&lt;/P&gt;&lt;P&gt;    xfc-col_pos = fld_pos.&lt;/P&gt;&lt;P&gt;    xfc-fieldname = xdetails-name .&lt;/P&gt;&lt;P&gt;    IF sy-tabix = 1.&lt;/P&gt;&lt;P&gt;      xfc-seltext = 'Account Number'.&lt;/P&gt;&lt;P&gt;    ELSEIF sy-tabix = 2.&lt;/P&gt;&lt;P&gt;      xfc-seltext = 'FS Item'.&lt;/P&gt;&lt;P&gt;      xfc-key = 'X'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     xfc-seltext = 'Text for B/S P&amp;amp;L item'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      xfc-seltext = 'Text item'.&lt;/P&gt;&lt;P&gt;      xfc-outputlen = 25.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    xfc-datatype = xdetails-type_kind.&lt;/P&gt;&lt;P&gt;    xfc-inttype = xdetails-type_kind.&lt;/P&gt;&lt;P&gt;    xfc-intlen = xdetails-length.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    xfc-decimals = xdetails-decimals.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    APPEND xfc TO ifc.&lt;/P&gt;&lt;P&gt;    fld_pos = fld_pos + 1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO  num_cols TIMES.&lt;/P&gt;&lt;P&gt;    CLEAR xfc.&lt;/P&gt;&lt;P&gt;    READ TABLE comp_itab INDEX sy-index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    xfc-fieldname = comp_itab-rbukrs .&lt;/P&gt;&lt;P&gt;    xfc-seltext = comp_itab-rbukrs .&lt;/P&gt;&lt;P&gt;    xfc-col_pos = fld_pos.&lt;/P&gt;&lt;P&gt;    xfc-outputlen = 15.&lt;/P&gt;&lt;P&gt;*modifications by shanker&lt;/P&gt;&lt;P&gt;    xfc-do_sum = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    XFC-DATATYPE = 'CURR'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   xfc-datatype = 'CHAR'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    xfc-just = 'R'.&lt;/P&gt;&lt;P&gt;    APPEND xfc TO ifc.&lt;/P&gt;&lt;P&gt;    fld_pos = fld_pos + 1.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR xfc.&lt;/P&gt;&lt;P&gt;  xfc-fieldname = 'RECORD_TOTAL' .&lt;/P&gt;&lt;P&gt;  xfc-seltext = 'Record_total'.&lt;/P&gt;&lt;P&gt;  xfc-col_pos = fld_pos.&lt;/P&gt;&lt;P&gt;  xfc-outputlen = 15.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; XFC-DO_SUM = 'X'. "Display column total&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  XFC-DATATYPE = 'CURR'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; xfc-datatype = 'CHAR'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  xfc-just = 'R'.&lt;/P&gt;&lt;P&gt;  APPEND xfc TO ifc.&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "get_structure&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_dynamic_itab&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_DYNAMIC_ITAB.&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;  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 = ifc&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = dy_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN dy_table-&amp;gt;* TO &amp;lt;dyn_table&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 dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*modifications by shanker&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="--------------------------------" /&gt;&lt;P&gt;*Create dynamic internal table and assign to FS&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 = ifc&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = dy_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN dy_table-&amp;gt;* TO &amp;lt;dyn_table1&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 dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table1&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa1&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************************************&lt;/P&gt;&lt;P&gt;*ENDFORM.                    "create_dynamic_itab&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  get_data&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 GET_DATA.&lt;/P&gt;&lt;P&gt;*data:itab3 like itab1 occurs 0 with header line.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;loop at itab1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;if itab1-ergsl eq '51 - 59' and itab1-racct eq ''.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab1-ergsl = ''.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;itab1-racct = ' '.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*append itab1.&lt;/P&gt;&lt;P&gt;*endloop.&lt;/P&gt;&lt;P&gt;  LOOP AT itab1. " assigning &amp;lt;fs_itab1&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT 'RACCT' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;dyn_field&amp;gt; = itab1-racct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT 'ERGSL' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;dyn_field&amp;gt; = itab1-ergsl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT 'TEXT' OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;dyn_field&amp;gt; = itab1-text.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    i = 4.&lt;/P&gt;&lt;P&gt;    CLEAR comp_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT comp_itab.&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT i OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF itab1-rbukrs EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;        &amp;lt;dyn_field&amp;gt; = itab1-repval.&lt;/P&gt;&lt;P&gt;        sub_tot = itab1-repval.&lt;/P&gt;&lt;P&gt;          IF itab1-rbukrs EQ '1000'.&lt;/P&gt;&lt;P&gt;            co_subtot1000 = co_subtot1000 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ELSEIF itab1-rbukrs EQ '1005'.&lt;/P&gt;&lt;P&gt;            co_subtot1005 = co_subtot1005 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ELSEIF itab1-rbukrs EQ '1006'.&lt;/P&gt;&lt;P&gt;            co_subtot1006 = co_subtot1006 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ELSEIF itab1-rbukrs EQ '1007'.&lt;/P&gt;&lt;P&gt;            co_subtot1007 = co_subtot1007 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ELSEIF itab1-rbukrs EQ '1008'.&lt;/P&gt;&lt;P&gt;            co_subtot1008 = co_subtot1008 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ELSEIF itab1-rbukrs EQ '1201'.&lt;/P&gt;&lt;P&gt;            co_subtot1201 = co_subtot1201 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ELSEIF itab1-rbukrs EQ '1202'.&lt;/P&gt;&lt;P&gt;            co_subtot1202 = co_subtot1202 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ELSEIF itab1-rbukrs EQ '1301'.&lt;/P&gt;&lt;P&gt;            co_subtot1301 = co_subtot1301 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ELSEIF itab1-rbukrs EQ '1302'.&lt;/P&gt;&lt;P&gt;            co_subtot1302 = co_subtot1302 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ELSEIF itab1-rbukrs EQ '1401'.&lt;/P&gt;&lt;P&gt;            co_subtot1401 = co_subtot1401 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ELSEIF itab1-rbukrs EQ '1501'.&lt;/P&gt;&lt;P&gt;            co_subtot1501 = co_subtot1501 + itab1-repval.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ELSEIF  itab1-ergsl = '10 - 29'&lt;/P&gt;&lt;P&gt;                      OR itab1-ergsl = '10 - 22'&lt;/P&gt;&lt;P&gt;                      OR itab1-ergsl = '28 - 289'&lt;/P&gt;&lt;P&gt;                      OR itab1-ergsl = '311 - 399'&lt;/P&gt;&lt;P&gt;                      OR itab1-ergsl = '3410'&lt;/P&gt;&lt;P&gt;                      OR itab1-ergsl = '3499'&lt;/P&gt;&lt;P&gt;                      OR itab1-ergsl = '51 - 59'&lt;/P&gt;&lt;P&gt;                      OR itab1-ergsl = '610 - 619'.  ") AND itab1-racct NE space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        &amp;lt;dyn_field&amp;gt; = space.&lt;/P&gt;&lt;P&gt;        sub_tot = 0.&lt;/P&gt;&lt;P&gt;*subtot assignment&lt;/P&gt;&lt;P&gt;      ELSEIF itab1-racct EQ space AND itab1-ergsl NE space." AND itab1-text EQ space." AND I = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF '1000' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1000.&lt;/P&gt;&lt;P&gt;            gr_tot1000 = gr_tot1000 + co_subtot1000.&lt;/P&gt;&lt;P&gt;            co_subtot1000 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1005' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1005 .&lt;/P&gt;&lt;P&gt;            gr_tot1005 = gr_tot1005 + co_subtot1005.&lt;/P&gt;&lt;P&gt;            co_subtot1005 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1006' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1006 .&lt;/P&gt;&lt;P&gt;             gr_tot1006 = gr_tot1006 + co_subtot1006.&lt;/P&gt;&lt;P&gt;             co_subtot1006 = 0.&lt;/P&gt;&lt;P&gt;           ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1007' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1007.&lt;/P&gt;&lt;P&gt;            gr_tot1007 = gr_tot1007 + co_subtot1007.&lt;/P&gt;&lt;P&gt;            co_subtot1007 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1008' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1008.&lt;/P&gt;&lt;P&gt;            gr_tot1008 = gr_tot1008 + co_subtot1008.&lt;/P&gt;&lt;P&gt;            co_subtot1008 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1201' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1201 .&lt;/P&gt;&lt;P&gt;            gr_tot1201 = gr_tot1201 + co_subtot1201.&lt;/P&gt;&lt;P&gt;            co_subtot1201 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1202' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1202 .&lt;/P&gt;&lt;P&gt;            gr_tot1202 = gr_tot1202 + co_subtot1202.&lt;/P&gt;&lt;P&gt;            co_subtot1202 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1301' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1301 .&lt;/P&gt;&lt;P&gt;            gr_tot1301 = gr_tot1301 + co_subtot1301.&lt;/P&gt;&lt;P&gt;            co_subtot1301 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1302' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1302 .&lt;/P&gt;&lt;P&gt;            gr_tot1302 = gr_tot1302 + co_subtot1302.&lt;/P&gt;&lt;P&gt;            co_subtot1302 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1401' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1401 .&lt;/P&gt;&lt;P&gt;            gr_tot1401 = gr_tot1401 + co_subtot1401.&lt;/P&gt;&lt;P&gt;            co_subtot1401 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1501' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1501 .&lt;/P&gt;&lt;P&gt;            gr_tot1501 = gr_tot1501 + co_subtot1501.&lt;/P&gt;&lt;P&gt;            co_subtot1501 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        &amp;lt;dyn_field&amp;gt; = 0.&lt;/P&gt;&lt;P&gt;        sub_tot = 0.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;*start shan&lt;/P&gt;&lt;P&gt;IF  itab1-ergsl eq '331 - 349'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          IF '1000' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1000.&lt;/P&gt;&lt;P&gt;            gr_tot1000 = gr_tot1000 + co_subtot1000.&lt;/P&gt;&lt;P&gt;            co_subtot1000 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1005' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1005 .&lt;/P&gt;&lt;P&gt;            gr_tot1005 = gr_tot1005 + co_subtot1005.&lt;/P&gt;&lt;P&gt;            co_subtot1005 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1006' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1006 .&lt;/P&gt;&lt;P&gt;             gr_tot1006 = gr_tot1006 + co_subtot1006.&lt;/P&gt;&lt;P&gt;             co_subtot1006 = 0.&lt;/P&gt;&lt;P&gt;           ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1007' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1007.&lt;/P&gt;&lt;P&gt;            gr_tot1007 = gr_tot1007 + co_subtot1007.&lt;/P&gt;&lt;P&gt;            co_subtot1007 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1008' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1008.&lt;/P&gt;&lt;P&gt;            gr_tot1008 = gr_tot1008 + co_subtot1008.&lt;/P&gt;&lt;P&gt;            co_subtot1008 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1201' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1201 .&lt;/P&gt;&lt;P&gt;            gr_tot1201 = gr_tot1201 + co_subtot1201.&lt;/P&gt;&lt;P&gt;            co_subtot1201 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1202' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1202 .&lt;/P&gt;&lt;P&gt;            gr_tot1202 = gr_tot1202 + co_subtot1202.&lt;/P&gt;&lt;P&gt;            co_subtot1202 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1301' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1301 .&lt;/P&gt;&lt;P&gt;            gr_tot1301 = gr_tot1301 + co_subtot1301.&lt;/P&gt;&lt;P&gt;            co_subtot1301 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1302' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1302 .&lt;/P&gt;&lt;P&gt;            gr_tot1302 = gr_tot1302 + co_subtot1302.&lt;/P&gt;&lt;P&gt;            co_subtot1302 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1401' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1401 .&lt;/P&gt;&lt;P&gt;            gr_tot1401 = gr_tot1401 + co_subtot1401.&lt;/P&gt;&lt;P&gt;            co_subtot1401 = 0.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;          IF '1501' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; =  co_subtot1501 .&lt;/P&gt;&lt;P&gt;            gr_tot1501 = gr_tot1501 + co_subtot1501.&lt;/P&gt;&lt;P&gt;            co_subtot1501 = 0.&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;*endshank&lt;/P&gt;&lt;P&gt;*Grand total assignment&lt;/P&gt;&lt;P&gt;      IF itab1-racct EQ space AND itab1-ergsl eq '10 - 19'    "ASSETS&lt;/P&gt;&lt;P&gt;                                              or itab1-ergsl eq '211 - 223'&lt;/P&gt;&lt;P&gt;                                              or itab1-ergsl eq '10 - 22'&lt;/P&gt;&lt;P&gt;                                              or itab1-ergsl eq '231 - 241'&lt;/P&gt;&lt;P&gt;                                              or itab1-ergsl eq '311 - 324'  "LIABILITIES &amp;amp; EQUITY&lt;/P&gt;&lt;P&gt;                                              or itab1-ergsl eq '331 - 349'&lt;/P&gt;&lt;P&gt;                                              or itab1-ergsl eq '3410'&lt;/P&gt;&lt;P&gt;                                              or itab1-ergsl eq '3499'&lt;/P&gt;&lt;P&gt;                                              or itab1-ergsl eq '221 - 223'.&lt;/P&gt;&lt;P&gt;        IF '1000' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1000.&lt;/P&gt;&lt;P&gt;            ggr_tot1000 = ggr_tot1000 + gr_tot1000.&lt;/P&gt;&lt;P&gt;            gr_tot1000 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1005' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1005.&lt;/P&gt;&lt;P&gt;            ggr_tot1005 = ggr_tot1005 + gr_tot1005.&lt;/P&gt;&lt;P&gt;            gr_tot1005 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1006' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1006.&lt;/P&gt;&lt;P&gt;            ggr_tot1006 = ggr_tot1006 + gr_tot1006.&lt;/P&gt;&lt;P&gt;            gr_tot1006 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1007' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1007.&lt;/P&gt;&lt;P&gt;            ggr_tot1007 = ggr_tot1007 + gr_tot1007.&lt;/P&gt;&lt;P&gt;            gr_tot1007 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1008' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1008.&lt;/P&gt;&lt;P&gt;            ggr_tot1008 = ggr_tot1008 + gr_tot1008.&lt;/P&gt;&lt;P&gt;            gr_tot1008 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1201' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1201.&lt;/P&gt;&lt;P&gt;            ggr_tot1201 = ggr_tot1201 + gr_tot1201.&lt;/P&gt;&lt;P&gt;            gr_tot1201 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1202' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1202.&lt;/P&gt;&lt;P&gt;            ggr_tot1202 = ggr_tot1202 + gr_tot1202.&lt;/P&gt;&lt;P&gt;            gr_tot1202 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1301' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1301.&lt;/P&gt;&lt;P&gt;            ggr_tot1301 = ggr_tot1301 + gr_tot1301.&lt;/P&gt;&lt;P&gt;            gr_tot1301 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1302' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1302.&lt;/P&gt;&lt;P&gt;            ggr_tot1302 = ggr_tot1302 + gr_tot1302.&lt;/P&gt;&lt;P&gt;            gr_tot1302 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1401' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1401.&lt;/P&gt;&lt;P&gt;            ggr_tot1401 = ggr_tot1401 + gr_tot1401.&lt;/P&gt;&lt;P&gt;            gr_tot1401 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1501' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1501.&lt;/P&gt;&lt;P&gt;            ggr_tot1501 = ggr_tot1501 + gr_tot1501.&lt;/P&gt;&lt;P&gt;            gr_tot1501 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;*Super grand total assignment&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF itab1-racct EQ space AND itab1-ergsl eq '10 - 29'  "ASSETS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                           or itab1-ergsl eq '311 - 399'.  "LIABILITIES &amp;amp; EQUITY&lt;/P&gt;&lt;P&gt;        IF '1000' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = ggr_tot1000.&lt;/P&gt;&lt;P&gt;            ggr_tot1000 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1005' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = ggr_tot1005.&lt;/P&gt;&lt;P&gt;            ggr_tot1005 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1006' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = ggr_tot1006.&lt;/P&gt;&lt;P&gt;            ggr_tot1006 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1007' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = ggr_tot1007.&lt;/P&gt;&lt;P&gt;            ggr_tot1007 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1008' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = ggr_tot1008.&lt;/P&gt;&lt;P&gt;            ggr_tot1008 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1201' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = ggr_tot1201.&lt;/P&gt;&lt;P&gt;            ggr_tot1201 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1202' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = ggr_tot1202.&lt;/P&gt;&lt;P&gt;            ggr_tot1202 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1301' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = ggr_tot1301.&lt;/P&gt;&lt;P&gt;            ggr_tot1301 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1302' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = ggr_tot1302.&lt;/P&gt;&lt;P&gt;            ggr_tot1302 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1401' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = ggr_tot1401.&lt;/P&gt;&lt;P&gt;            ggr_tot1401 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF '1501' EQ comp_itab-rbukrs.&lt;/P&gt;&lt;P&gt;            &amp;lt;dyn_field&amp;gt; = gr_tot1501.&lt;/P&gt;&lt;P&gt;            ggr_tot1501 = 0.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;*shanker&lt;/P&gt;&lt;P&gt; if itab1-ergsl eq '51 - 59' and itab1-text eq 'SALES'.&lt;/P&gt;&lt;P&gt; itab1-ergsl = '610 - 619'.&lt;/P&gt;&lt;P&gt; itab1-text = 'PROJECT COST'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;*end shanker&lt;/P&gt;&lt;P&gt;if itab1-ergsl eq '10 - 29' and itab1-text eq 'A S S E T S'.&lt;/P&gt;&lt;P&gt;        &amp;lt;dyn_field&amp;gt; = space.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;     IF itab1-text eq '= = = = = ='&lt;/P&gt;&lt;P&gt;             or itab1-text eq '= = = = = ='&lt;/P&gt;&lt;P&gt;             or itab1-text eq '================='&lt;/P&gt;&lt;P&gt;             or itab1-text eq '= = = = = = = = = = = = ='.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        &amp;lt;dyn_field&amp;gt; = space.&lt;/P&gt;&lt;P&gt;       endif.&lt;/P&gt;&lt;P&gt;      i = i + 1.&lt;/P&gt;&lt;P&gt;      total = total + sub_tot.&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;   Record total field assignment&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ASSIGN COMPONENT i OF STRUCTURE &amp;lt;dyn_wa&amp;gt; TO &amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;    IF total NE space.&lt;/P&gt;&lt;P&gt;      &amp;lt;dyn_field&amp;gt; = total.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      &amp;lt;dyn_field&amp;gt; = space.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND &amp;lt;dyn_wa&amp;gt; TO &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    COLLECT &amp;lt;dyn_wa&amp;gt; INTO &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;    CLEAR &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;    total = 0.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------" /&gt;&lt;P&gt;*shanker commented begin&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; SORT ITAB1 BY   ergsl .&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA: FLAG1 TYPE C,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       FLAG2 TYPE C,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       LV_RACCT LIKE ITAB1-RACCT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM ITAB1 COMPARING text .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*LOOP AT ITAB2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LOOP AT ITAB1 WHERE ERGSL = ITAB2-ERGSL. " assigning &amp;lt;fs_itab1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; LV_RACCT = ITAB1-RACCT.&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;CHECK ITAB1-RBUKRS IS NOT INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*IF ITAB1-RACCT IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'RACCT' OF STRUCTURE &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD&amp;gt; = ITAB1-RACCT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'ERGSL' OF STRUCTURE &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD&amp;gt; = ITAB1-ERGSL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'TEXT' OF STRUCTURE &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD&amp;gt; = ITAB1-TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   FLAG2 = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'ERGSL' OF STRUCTURE &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD&amp;gt; = ITAB1-ERGSL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'TEXT' OF STRUCTURE &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD&amp;gt; = ITAB1-TEXT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'RACCT' OF STRUCTURE &amp;lt;DYN_WA1&amp;gt; TO &amp;lt;DYN_FIELD1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD1&amp;gt; = ITAB1-RACCT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*IF FLAG2 IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'ERGSL' OF STRUCTURE &amp;lt;DYN_WA1&amp;gt; TO &amp;lt;DYN_FIELD1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD1&amp;gt; = ITAB1-ERGSL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'TEXT' OF STRUCTURE &amp;lt;DYN_WA1&amp;gt; TO &amp;lt;DYN_FIELD1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD1&amp;gt; = '   '.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  AT END OF ERGSL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IF ITAB1-RBUKRS IS NOT INITIAL AND LV_RACCT IS NOT INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  FLAG1 = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENDAT.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IF FLAG1 = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT 'TEXT' OF STRUCTURE &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD&amp;gt; = 'SUB TOTAL'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**modifications by shanker&lt;/P&gt;&lt;P&gt;*IF ITAB1-RACCT IS NOT INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR COMP_ITAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT COMP_ITAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN COMPONENT I OF STRUCTURE &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF ITAB1-RBUKRS EQ COMP_ITAB-RBUKRS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       &amp;lt;DYN_FIELD&amp;gt; = ITAB1-REPVAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SUB_TOT1 = ITAB1-REPVAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       &amp;lt;DYN_FIELD&amp;gt; = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SUB_TOT1 = 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I = I + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     TOTAL = TOTAL + SUB_TOT1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT I OF STRUCTURE &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD&amp;gt; = TOTAL.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR &amp;lt;DYN_WA&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   I = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR COMP_ITAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT COMP_ITAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN COMPONENT I OF STRUCTURE &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF ITAB1-RBUKRS EQ COMP_ITAB-RBUKRS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       &amp;lt;DYN_FIELD&amp;gt; = SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       &amp;lt;DYN_FIELD&amp;gt; = SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I = I + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT I OF STRUCTURE &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD&amp;gt; = SPACE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR &amp;lt;DYN_WA&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR TOTAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SUB_TOT = SUB_TOT + ITAB1-REPVAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; I = 4.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; AT END OF RBUKRS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  IF ITAB1-RBUKRS IS NOT INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR COMP_ITAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   LOOP AT COMP_ITAB.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ASSIGN COMPONENT I OF STRUCTURE &amp;lt;DYN_WA1&amp;gt; TO &amp;lt;DYN_FIELD1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IF ITAB1-RBUKRS EQ COMP_ITAB-RBUKRS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       &amp;lt;DYN_FIELD1&amp;gt; = SUB_TOT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       SUB_TOT2 = SUB_TOT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       CLEAR SUB_TOT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;**********************************************&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;       &amp;lt;DYN_FIELD&amp;gt; = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    I = I + 1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     TOTAL1 = TOTAL1 + SUB_TOT2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    IF FLAG1 = 'X' AND FLAG2 = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ASSIGN COMPONENT I OF STRUCTURE &amp;lt;DYN_WA1&amp;gt; TO &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   &amp;lt;DYN_FIELD&amp;gt; = TOTAL1.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   APPEND &amp;lt;DYN_WA1&amp;gt; TO &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR &amp;lt;DYN_WA1&amp;gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR: TOTAL1, SUB_TOT2.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CLEAR FLAG1. CLEAR FLAG2.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDAT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*ENDLOOP.&lt;/P&gt;&lt;P&gt;*shanker comment end&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*****************************************************&lt;/P&gt;&lt;P&gt;  LOOP AT ifc INTO xfc.&lt;/P&gt;&lt;P&gt;    wa_alvfc-fieldname = xfc-fieldname.&lt;/P&gt;&lt;P&gt;    wa_alvfc-seltext_s = xfc-seltext.&lt;/P&gt;&lt;P&gt;    wa_alvfc-col_pos = xfc-col_pos.&lt;/P&gt;&lt;P&gt;    wa_alvfc-outputlen = xfc-outputlen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   wa_alvfc-do_sum = xfc-do_sum.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    wa_alvfc-datatype = xfc-datatype.&lt;/P&gt;&lt;P&gt;    APPEND wa_alvfc TO it_alvfc.&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;   u2022	Call ABAP List Viewer (ALV)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&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          = l_cb_program&lt;/P&gt;&lt;P&gt;      i_callback_pf_status_set    = 'BSPL_GRID_PF_STATUS_SET'&lt;/P&gt;&lt;P&gt;      i_callback_user_command     = 'BSPL_GRID_USER_COMMAND'&lt;/P&gt;&lt;P&gt;      i_callback_top_of_page      = 'BSPL_GRID_TOP'&lt;/P&gt;&lt;P&gt;      i_callback_html_top_of_page = 'BSPL_GRID_TOP_HTML'&lt;/P&gt;&lt;P&gt;      i_grid_title                      = i_grid_title&lt;/P&gt;&lt;P&gt;      i_grid_settings                   = is_grid_settings&lt;/P&gt;&lt;P&gt;      is_layout                         = ls_layout&lt;/P&gt;&lt;P&gt;      it_fieldcat                 = it_alvfc&lt;/P&gt;&lt;P&gt;      i_default                   = 'X'&lt;/P&gt;&lt;P&gt;      i_save                      = 'A'&lt;/P&gt;&lt;P&gt;      is_variant                  = ls_variant&lt;/P&gt;&lt;P&gt;      is_print                    = ls_print&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_SORT                           = LT_SORT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      t_outtab                    =  &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;lt;dyn_table&amp;gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    I_INTERFACE_CHECK                 = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    I_BUFFER_ACTIVE                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_PROGRAM                = L_CB_PROGRAM&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_PF_STATUS_SET          = 'BSPL_GRID_PF_STATUS_SET'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_USER_COMMAND           = 'BSPL_GRID_USER_COMMAND'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_TOP_OF_PAGE            = 'BSPL_GRID_TOP'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_CALLBACK_HTML_TOP_OF_PAGE       = 'BSPL_GRID_TOP_HTML'&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    I_CALLBACK_HTML_END_OF_LIST       = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    I_STRUCTURE_NAME                  = 'BSPL_GRID_FIELDCAT'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    I_BACKGROUND_ID                   = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    I_GRID_TITLE                      = T011T-VSTXT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_GRID_TITLE                      = I_GRID_TITLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_GRID_SETTINGS                   = IS_GRID_SETTINGS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_LAYOUT                         = LS_LAYOUT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_FIELDCAT                       = it_alvfc&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;     IT_FIELDCAT                       = LT_FIELDCAT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    IT_EXCLUDING                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    IT_SPECIAL_GROUPS                 =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IT_SORT                           = LT_SORT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    IT_FILTER                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    IS_SEL_HIDE                       =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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                            = 'A'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_VARIANT                        = LS_VARIANT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    IT_EVENTS                         =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    IT_EVENT_EXIT                     =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     IS_PRINT                          = LS_PRINT&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    IS_REPREP_ID                      =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_COLUMN             = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    I_SCREEN_START_LINE               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_COLUMN               = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    I_SCREEN_END_LINE                 = 0&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  IMPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    E_EXIT_CAUSED_BY_CALLER           =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;    ES_EXIT_CAUSED_BY_USER            =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;     T_OUTTAB                          =  &amp;lt;dyn_table&amp;gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     T_OUTTAB                          =  GT_GRIDOUTTAB&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;     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;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Modification.----&lt;/P&gt;&lt;HR originaltext="----" /&gt;&lt;P&gt;end&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM call_badi_exit TABLES gt_gridouttab&lt;/P&gt;&lt;P&gt;                                it_list_commentary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFUNCTION.&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  BSPL_GRID_OUTTAB_FILL1&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;PT_NODE             text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;PT_DATA             text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;PT_TOTALS           text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;PT_TEXT             text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;PT_EDIT             text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;PT_OUTTAB           text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;VALUE(PS_SETTINGS)  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 bspl_grid_outtab_fill1&lt;/P&gt;&lt;P&gt;                        TABLES pt_node      TYPE tt_rsthie&lt;/P&gt;&lt;P&gt;                               pt_data      TYPE tt_bspl_data&lt;/P&gt;&lt;P&gt;                               pt_totals    TYPE tt_grid_totals&lt;/P&gt;&lt;P&gt;                               pt_text      TYPE tt_ergsl_text&lt;/P&gt;&lt;P&gt;                               pt_edit      TYPE tt_edit_settings&lt;/P&gt;&lt;P&gt;                               pt_outtab    TYPE tt_grid_outtab&lt;/P&gt;&lt;P&gt;                   USING value(ps_settings) LIKE rfbila_alv_settings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    local data declaration&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DATA: lt_predecessor TYPE tt_grid_predecessor WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;  DATA: l_id           LIKE rsthie-id.&lt;/P&gt;&lt;P&gt;  DATA: l_fberflg      LIKE con_x.&lt;/P&gt;&lt;P&gt;  DATA: l_fber_tlevel  LIKE rsthie-tlevel.&lt;/P&gt;&lt;P&gt;  DATA: ls_node_saknr  TYPE ts_node_saknr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT pt_node ASSIGNING &amp;lt;rsthie&amp;gt;.&lt;/P&gt;&lt;P&gt;    CASE &amp;lt;rsthie&amp;gt;-type.&lt;/P&gt;&lt;P&gt;      WHEN con_top.&lt;/P&gt;&lt;P&gt;      WHEN con_bpos.&lt;/P&gt;&lt;P&gt;        CLEAR: l_fberflg.&lt;/P&gt;&lt;P&gt;        PERFORM bspl_grid_bpos_to_outtab TABLES pt_totals&lt;/P&gt;&lt;P&gt;                                                pt_text&lt;/P&gt;&lt;P&gt;                                                pt_edit&lt;/P&gt;&lt;P&gt;                                                pt_outtab&lt;/P&gt;&lt;P&gt;                                                lt_predecessor&lt;/P&gt;&lt;P&gt;                                         USING  &amp;lt;rsthie&amp;gt;&lt;/P&gt;&lt;P&gt;                                                ps_settings&lt;/P&gt;&lt;P&gt;                                       CHANGING l_id.&lt;/P&gt;&lt;P&gt;      WHEN con_acct.&lt;/P&gt;&lt;P&gt;        ls_node_saknr = &amp;lt;rsthie&amp;gt;-name.&lt;/P&gt;&lt;P&gt;        CHECK: g_list_state = con_acct.&lt;/P&gt;&lt;P&gt;        CHECK: l_fberflg     IS INITIAL&lt;/P&gt;&lt;P&gt;           OR  l_fber_tlevel =  &amp;lt;rsthie&amp;gt;-tlevel.&lt;/P&gt;&lt;P&gt;        PERFORM bspl_grid_acct_to_outtab TABLES pt_totals&lt;/P&gt;&lt;P&gt;                                                pt_outtab&lt;/P&gt;&lt;P&gt;                                                pt_data&lt;/P&gt;&lt;P&gt;                                         USING  &amp;lt;rsthie&amp;gt;&lt;/P&gt;&lt;P&gt;                                                ps_settings&lt;/P&gt;&lt;P&gt;                                       CHANGING l_id.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WHEN con_fber.&lt;/P&gt;&lt;P&gt;        l_fberflg = con_x.&lt;/P&gt;&lt;P&gt;        l_fber_tlevel = &amp;lt;rsthie&amp;gt;-tlevel.&lt;/P&gt;&lt;P&gt;        PERFORM bspl_grid_fber_to_outtab TABLES pt_totals&lt;/P&gt;&lt;P&gt;                                                pt_outtab&lt;/P&gt;&lt;P&gt;                                                pt_data&lt;/P&gt;&lt;P&gt;                                         USING  &amp;lt;rsthie&amp;gt;&lt;/P&gt;&lt;P&gt;                                                ps_settings&lt;/P&gt;&lt;P&gt;                                       CHANGING l_id.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Nov 2008 08:38:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697105#M1103833</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-12T08:38:50Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697106#M1103834</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;Go through this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT yusmm_text .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : slis.&lt;/P&gt;&lt;P&gt;TABLES: mara,&lt;/P&gt;&lt;P&gt;        makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;     gt_makt    TYPE STANDARD TABLE OF makt,  "Materialkurztexte,&lt;/P&gt;&lt;P&gt;     gt_thead   TYPE STANDARD TABLE OF thead, "SAPscript: Text-Header,&lt;/P&gt;&lt;P&gt;     gt_linetab TYPE STANDARD TABLE OF tline. " SAPscript: Text-Zeilen.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA    : BEGIN OF gv_text_output_line,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;begru LIKE mara-begru,&lt;/P&gt;&lt;P&gt;maktx_en LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;maktx_de LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;maktx_fr LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;maktx_es LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;ltxt40_en LIKE tline-tdline,&lt;/P&gt;&lt;P&gt;ltxt40_de LIKE tline-tdline,&lt;/P&gt;&lt;P&gt;ltxt40_fr LIKE tline-tdline,&lt;/P&gt;&lt;P&gt;ltxt40_es LIKE tline-tdline,&lt;/P&gt;&lt;P&gt;END OF gv_text_output_line.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      gt_text_output_line LIKE STANDARD TABLE OF gv_text_output_line,&lt;/P&gt;&lt;P&gt;      gt_fieldcat         TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      gv_fieldcat         LIKE LINE OF gt_fieldcat,&lt;/P&gt;&lt;P&gt;      gs_layout           TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;      gv_repid            TYPE sy-repid.&lt;/P&gt;&lt;P&gt;DATA: gv_makt             TYPE makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;   BEGIN OF gc,&lt;/P&gt;&lt;P&gt;     de            TYPE thead-tdspras  VALUE 'D',&lt;/P&gt;&lt;P&gt;     en            TYPE thead-tdspras  VALUE 'E',&lt;/P&gt;&lt;P&gt;     fr            TYPE thead-tdspras  VALUE 'F',&lt;/P&gt;&lt;P&gt;     es            TYPE thead-tdspras  VALUE 'S',&lt;/P&gt;&lt;P&gt;     tdid_grun     TYPE thead-tdid     VALUE 'GRUN',&lt;/P&gt;&lt;P&gt;     tdobject_mat  TYPE thead-tdobject VALUE 'MATERIAL',&lt;/P&gt;&lt;P&gt;     on(01)        TYPE c              VALUE 'X',&lt;/P&gt;&lt;P&gt;     yes(01)       TYPE c              VALUE 'X',&lt;/P&gt;&lt;P&gt;     found         TYPE sy-subrc       VALUE '00',  " Return-Code&lt;/P&gt;&lt;P&gt;     rc_ok         TYPE sy-subrc       VALUE '00',  " Return-Code&lt;/P&gt;&lt;P&gt;     off           TYPE sy-subrc       VALUE '00',  " return code&lt;/P&gt;&lt;P&gt;     false         TYPE sy-subrc       VALUE '00',  " boolean&lt;/P&gt;&lt;P&gt;     true          TYPE sy-subrc       VALUE '01',  " boolean&lt;/P&gt;&lt;P&gt;  END OF gc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF gv,&lt;/P&gt;&lt;P&gt;        former_error       LIKE  sy-marky,     " Fehlermeldung bereits&lt;/P&gt;&lt;P&gt;        file_open(1),                          " Flag open file&lt;/P&gt;&lt;P&gt;        rec_length         TYPE  i,            " record length&lt;/P&gt;&lt;P&gt;        matnr              TYPE  mara-matnr,   " material&lt;/P&gt;&lt;P&gt;        repid              TYPE  syst-repid,&lt;/P&gt;&lt;P&gt;        retco              TYPE  sy-subrc,&lt;/P&gt;&lt;P&gt;      END OF gv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK a1 WITH FRAME TITLE text-002.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&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;PARAMETER: gp_size TYPE i DEFAULT 200.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK a1.&lt;/P&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;P&gt;    MESSAGE e002(00).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF gp_size &amp;gt; 50000.&lt;/P&gt;&lt;P&gt;    MESSAGE w130(26) WITH text-004.&lt;/P&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  gv-repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM get_mara_data&lt;/P&gt;&lt;P&gt;            TABLES&lt;/P&gt;&lt;P&gt;              gt_text_output_line&lt;/P&gt;&lt;P&gt;            USING&lt;/P&gt;&lt;P&gt;              s_matnr[]&lt;/P&gt;&lt;P&gt;              s_mtart[]&lt;/P&gt;&lt;P&gt;              gp_size&lt;/P&gt;&lt;P&gt;            CHANGING&lt;/P&gt;&lt;P&gt;              gv-retco&lt;/P&gt;&lt;P&gt;              .&lt;/P&gt;&lt;P&gt;  PERFORM get_mat_text&lt;/P&gt;&lt;P&gt;             TABLES&lt;/P&gt;&lt;P&gt;               gt_makt&lt;/P&gt;&lt;P&gt;               gt_text_output_line&lt;/P&gt;&lt;P&gt;               gt_thead&lt;/P&gt;&lt;P&gt;               gt_linetab&lt;/P&gt;&lt;P&gt;             USING&lt;/P&gt;&lt;P&gt;               gc&lt;/P&gt;&lt;P&gt;               gv-retco&lt;/P&gt;&lt;P&gt;             CHANGING&lt;/P&gt;&lt;P&gt;               gv_text_output_line&lt;/P&gt;&lt;P&gt;               gv_makt&lt;/P&gt;&lt;P&gt;               .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM data_output&lt;/P&gt;&lt;P&gt;               TABLES&lt;/P&gt;&lt;P&gt;                gt_fieldcat&lt;/P&gt;&lt;P&gt;                gt_text_output_line&lt;/P&gt;&lt;P&gt;                USING&lt;/P&gt;&lt;P&gt;                gs_layout&lt;/P&gt;&lt;P&gt;                gc&lt;/P&gt;&lt;P&gt;                CHANGING&lt;/P&gt;&lt;P&gt;                gv_repid&lt;/P&gt;&lt;P&gt;                gv_fieldcat&lt;/P&gt;&lt;P&gt;                gv&lt;/P&gt;&lt;P&gt;                .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_mara_data&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;      Materialdaten lesen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;lt;-&amp;gt;ct_gt_text_output_line  Ausgabetabelle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;it_s_matnr  Parameter Materialnummer&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;it_s_mtart  Parameter Materialart&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;if_gp_size  Parameter Anzahl Materialnummern&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_mara_data  TABLES   ct_gt_text_output_line STRUCTURE&lt;/P&gt;&lt;P&gt;                             gv_text_output_line&lt;/P&gt;&lt;P&gt;                    USING    it_s_matnr LIKE s_matnr[]&lt;/P&gt;&lt;P&gt;                             it_s_mtart LIKE s_mtart[]&lt;/P&gt;&lt;P&gt;                             if_gp_size&lt;/P&gt;&lt;P&gt;                    CHANGING if_gv-retco.                   "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MARA in die Übergabestruktur einlesen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT matnr begru&lt;/P&gt;&lt;P&gt;        FROM mara UP TO if_gp_size ROWS&lt;/P&gt;&lt;P&gt;        APPENDING CORRESPONDING FIELDS OF TABLE ct_gt_text_output_line&lt;/P&gt;&lt;P&gt;                 WHERE matnr IN it_s_matnr&lt;/P&gt;&lt;P&gt;                   AND mtart IN it_s_mtart.&lt;/P&gt;&lt;P&gt;  if_gv-retco = sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_mara_data&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;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_mat_text&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;      Kurz- und Langtexte zum Material lesen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;lt;-&amp;gt;ct_gt_makt              Materialkurztexte&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;-&amp;gt;ct_gt_text_output_line  Ausgabetabelle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;-&amp;gt;ct_gt_thead             Kopftabelle für ALV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;-&amp;gt;ct_gt_linetab           Zeilentabelle für ALV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;if_gc                   Globale Konstanten&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--cf_gv_text_output_line  Struktur Ausgabetabelle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--cf_gv_makt              Struktru Materialkurztexte&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM get_mat_text  TABLES   ct_gt_makt             STRUCTURE makt&lt;/P&gt;&lt;P&gt;                            ct_gt_text_output_line STRUCTURE&lt;/P&gt;&lt;P&gt;                                                   gv_text_output_line&lt;/P&gt;&lt;P&gt;                            ct_gt_thead            STRUCTURE thead&lt;/P&gt;&lt;P&gt;                            ct_gt_linetab          STRUCTURE tline&lt;/P&gt;&lt;P&gt;                   USING    if_gc                  LIKE gc&lt;/P&gt;&lt;P&gt;                            if_gv-retco&lt;/P&gt;&lt;P&gt;                   CHANGING cf_gv_text_output_line LIKE&lt;/P&gt;&lt;P&gt;                                                   gv_text_output_line&lt;/P&gt;&lt;P&gt;                            cf_gv_makt             LIKE gv_makt&lt;/P&gt;&lt;P&gt;                            .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF if_gv-retco = if_gc-found.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Materialkurztexte in alles Sprachen einlesen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT * FROM makt APPENDING TABLE ct_gt_makt&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN ct_gt_text_output_line&lt;/P&gt;&lt;P&gt;             WHERE matnr = ct_gt_text_output_line-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Kurztexte in die sprachabhängigen Felder bringen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    LOOP AT ct_gt_text_output_line INTO cf_gv_text_output_line.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LOOP AT ct_gt_makt INTO cf_gv_makt&lt;/P&gt;&lt;P&gt;           WHERE matnr = cf_gv_text_output_line-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        CASE cf_gv_makt-spras.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHEN if_gc-de.&lt;/P&gt;&lt;P&gt;            cf_gv_text_output_line-maktx_de = cf_gv_makt-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHEN if_gc-en.&lt;/P&gt;&lt;P&gt;            cf_gv_text_output_line-maktx_en = cf_gv_makt-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHEN if_gc-fr.&lt;/P&gt;&lt;P&gt;            cf_gv_text_output_line-maktx_fr = cf_gv_makt-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          WHEN if_gc-es.&lt;/P&gt;&lt;P&gt;            cf_gv_text_output_line-maktx_es = cf_gv_makt-maktx.&lt;/P&gt;&lt;P&gt;          WHEN OTHERS.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Langtexte mit einem Funktionsbaustein holen und die Ausgabetabelle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;bringen&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LANGTEXT DE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR ct_gt_thead[].&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdobject = if_gc-tdobject_mat.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdname   = cf_gv_text_output_line-matnr.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdid     = if_gc-tdid_grun.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdspras  = if_gc-de.&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   = ct_gt_thead&lt;/P&gt;&lt;P&gt;                i_readonly = if_gc-on&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                e_header   = ct_gt_thead&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;                t_lines    = ct_gt_linetab[]&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                notfound   = 1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = if_gc-found.&lt;/P&gt;&lt;P&gt;        READ TABLE ct_gt_linetab INDEX 1.&lt;/P&gt;&lt;P&gt;        cf_gv_text_output_line-ltxt40_de =&lt;/P&gt;&lt;P&gt;                                 ct_gt_linetab-tdline.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LANGTEXT EN&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR ct_gt_thead[].&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdobject = if_gc-tdobject_mat.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdname   = cf_gv_text_output_line-matnr.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdid     = if_gc-tdid_grun.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdspras  = if_gc-en.&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   = ct_gt_thead&lt;/P&gt;&lt;P&gt;                i_readonly = if_gc-on&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                e_header   = ct_gt_thead&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;                t_lines    = ct_gt_linetab[]&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                notfound   = 1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = if_gc-found.&lt;/P&gt;&lt;P&gt;        READ TABLE ct_gt_linetab INDEX 1.&lt;/P&gt;&lt;P&gt;        cf_gv_text_output_line-ltxt40_en =&lt;/P&gt;&lt;P&gt;                                 ct_gt_linetab-tdline.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LANGTEXT FR&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR ct_gt_thead[].&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdobject = if_gc-tdobject_mat.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdname   = cf_gv_text_output_line-matnr.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdid     = if_gc-tdid_grun.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdspras  = if_gc-fr.&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   = ct_gt_thead&lt;/P&gt;&lt;P&gt;                i_readonly = if_gc-on&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                e_header   = ct_gt_thead&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;                t_lines    = ct_gt_linetab[]&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                notfound   = 1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = if_gc-found.&lt;/P&gt;&lt;P&gt;        READ TABLE ct_gt_linetab INDEX 1.&lt;/P&gt;&lt;P&gt;        cf_gv_text_output_line-ltxt40_fr =&lt;/P&gt;&lt;P&gt;                                 ct_gt_linetab-tdline.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LANGTEXT ES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      CLEAR ct_gt_thead[].&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdobject = if_gc-tdobject_mat.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdname   = cf_gv_text_output_line-matnr.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdid     = if_gc-tdid_grun.&lt;/P&gt;&lt;P&gt;      ct_gt_thead-tdspras  = if_gc-es.&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   = ct_gt_thead&lt;/P&gt;&lt;P&gt;                i_readonly = if_gc-on&lt;/P&gt;&lt;P&gt;           IMPORTING&lt;/P&gt;&lt;P&gt;                e_header   = ct_gt_thead&lt;/P&gt;&lt;P&gt;           TABLES&lt;/P&gt;&lt;P&gt;                t_lines    = ct_gt_linetab[]&lt;/P&gt;&lt;P&gt;           EXCEPTIONS&lt;/P&gt;&lt;P&gt;                notfound   = 1.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = if_gc-found.&lt;/P&gt;&lt;P&gt;        READ TABLE ct_gt_linetab INDEX 1.&lt;/P&gt;&lt;P&gt;        cf_gv_text_output_line-ltxt40_es =&lt;/P&gt;&lt;P&gt;                                 ct_gt_linetab-tdline.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MODIFY ct_gt_text_output_line FROM cf_gv_text_output_line.&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_mat_text&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  data_output&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;      Daten mit ALV ausgeben&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&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;lt;-&amp;gt;ct_GT_FIELDCAT          Feldkatalog für ALV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;-&amp;gt;ct_gt_text_output_line  Ausgabetabelle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;P_GS_LAYOUT             Layout für ALV&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     --&amp;gt;if_gc                   Globale Konstanten&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--cf_GV_REPID             Zur Zeit aufgerufener Reportname&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--cf_gv_fieldcat          Struktur Feldkatalog&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     &amp;lt;--cf_gv                   Globale Variablen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM data_output  TABLES   ct_gt_fieldcat STRUCTURE gv_fieldcat&lt;/P&gt;&lt;P&gt;                           ct_gt_text_output_line STRUCTURE&lt;/P&gt;&lt;P&gt;                                                  gv_text_output_line&lt;/P&gt;&lt;P&gt;                  USING    if_gs_layout LIKE gs_layout&lt;/P&gt;&lt;P&gt;                           if_gc        LIKE gc&lt;/P&gt;&lt;P&gt;                  CHANGING cf_gv_repid  LIKE gv_repid&lt;/P&gt;&lt;P&gt;                           cf_gv_fieldcat LIKE gv_fieldcat&lt;/P&gt;&lt;P&gt;                           cf_gv        LIKE gv.&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; CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_PROGRAM_NAME         = GV-REPID&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_STRUCTURE_NAME       = 'CT_GT_TEXT_OUTPUT_LINE'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   CHANGING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CT_FIELDCAT            = CT_GT_FIELDCAT[]&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;     INCONSISTENT_INTERFACE = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PROGRAM_ERROR          = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   .                                                       "#EC *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM fieldcatbuild TABLES ct_gt_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  gs_layout-colwidth_optimize = if_gc-on.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT ct_gt_fieldcat INTO cf_gv_fieldcat&lt;/P&gt;&lt;P&gt;       WHERE fieldname = 'CHANGE_IND'.&lt;/P&gt;&lt;P&gt;    cf_gv_fieldcat-no_out = 'X'.&lt;/P&gt;&lt;P&gt;    MODIFY ct_gt_fieldcat FROM cf_gv_fieldcat.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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;            it_fieldcat   = ct_gt_fieldcat[]&lt;/P&gt;&lt;P&gt;            is_layout     = if_gs_layout&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            t_outtab      = ct_gt_text_output_line&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            program_error = 1&lt;/P&gt;&lt;P&gt;            OTHERS        = 2.&lt;/P&gt;&lt;P&gt;  cf_gv-retco = sy-subrc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; if_gc-found.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&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;ENDFORM.                    " data_output&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;----&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  fieldcatbuild&lt;/P&gt;&lt;P&gt;*&amp;amp;----&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;/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;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;FORM fieldcatbuild TABLES   ct_gt_fieldcat_in STRUCTURE gv_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: wa_fieldcat_in TYPE slis_fieldcat_alv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat_in.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-fieldname = 'MATNR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-seltext_m = 'Material No'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-outputlen = 18.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat_in TO ct_gt_fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat_in.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-fieldname = 'BEGRU'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-seltext_m = 'Authorization Group'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-outputlen = 4.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat_in TO ct_gt_fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat_in.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-fieldname = 'MAKTX_EN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-seltext_m = 'Material Desc - E'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-outputlen = 40.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat_in TO ct_gt_fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat_in.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-fieldname = 'MAKTX_DE'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-seltext_m = 'Material Desc - D'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-outputlen = 40.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat_in TO ct_gt_fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat_in.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-fieldname = 'MAKTX_FR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-seltext_m = 'Material Desc - F'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-outputlen = 40.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat_in TO ct_gt_fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat_in.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-fieldname = 'MAKTX_ES'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-seltext_m = 'Material Desc - S'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-outputlen = 40.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat_in TO ct_gt_fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat_in.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-fieldname = 'LTXT40_EN'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-seltext_m = 'Basic data text - E'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat_in TO ct_gt_fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat_in.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-fieldname = 'LTXT40_DE'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-seltext_m = 'Basic data text - D'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat_in TO ct_gt_fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat_in.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-fieldname = 'LTXT40_FR'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-seltext_m = 'Basic data text - F'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat_in TO ct_gt_fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_fieldcat_in.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-fieldname = 'LTXT40_ES'.&lt;/P&gt;&lt;P&gt;  wa_fieldcat_in-seltext_m = 'Basic data text - S'.&lt;/P&gt;&lt;P&gt;  APPEND wa_fieldcat_in TO ct_gt_fieldcat_in.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fieldcatbuild&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Ankur Sharma&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Nov 2008 08:43:46 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697106#M1103834</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-12T08:43:46Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697107#M1103835</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi zakir ,&lt;/P&gt;&lt;P&gt;  below i am pasting a samll code ...you can just try .&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;TYPE-POOLS : abap.&lt;/P&gt;&lt;P&gt;TABLES: pa0001 , pa0003 .&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;dyn_table&amp;gt; TYPE STANDARD TABLE,&amp;lt;dyn_wa&amp;gt;,&amp;lt;dyn_field&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: dy_table TYPE REF TO data,&lt;/P&gt;&lt;P&gt;      dy_line TYPE REF TO data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : xfc TYPE lvc_s_fcat,&lt;/P&gt;&lt;P&gt;       ifc TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-s11 .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:s_pernr FOR pa0003-pernr .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:s_orgeh FOR pa0001-orgeh .&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:s_date  FOR sy-datum .&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;DATA: BEGIN OF it_itab OCCURS 0 ,&lt;/P&gt;&lt;P&gt;       depid LIKE pa0001-orgeh ,&lt;/P&gt;&lt;P&gt;       pernr LIKE pa0003-pernr,&lt;/P&gt;&lt;P&gt;       subty LIKE pa9260-subty,&lt;/P&gt;&lt;P&gt;       date  LIKE sy-datum,&lt;/P&gt;&lt;P&gt;      END OF it_itab .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_date OCCURS 0,&lt;/P&gt;&lt;P&gt;      date TYPE sy-datum ,&lt;/P&gt;&lt;P&gt;      len TYPE i,&lt;/P&gt;&lt;P&gt;      ty TYPE c,&lt;/P&gt;&lt;P&gt;      END OF it_date .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT a~orgeh&lt;/P&gt;&lt;P&gt;       b~pernr&lt;/P&gt;&lt;P&gt;       b~subty&lt;/P&gt;&lt;P&gt;       b~begda&lt;/P&gt;&lt;P&gt;FROM pa0001 AS a INNER JOIN pa9260 AS b&lt;/P&gt;&lt;P&gt;ON a&lt;SUB&gt;pernr = b&lt;/SUB&gt;pernr&lt;/P&gt;&lt;P&gt;INTO TABLE it_itab&lt;/P&gt;&lt;P&gt;WHERE a~orgeh IN s_orgeh AND&lt;/P&gt;&lt;P&gt;      a~pernr IN s_pernr AND&lt;/P&gt;&lt;P&gt;      b~begda IN s_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;WHILE s_date-low &amp;lt;= s_date-high.&lt;/P&gt;&lt;P&gt;  it_date-date = s_date-low .&lt;/P&gt;&lt;P&gt;  it_date-len = 8 .&lt;/P&gt;&lt;P&gt;  it_date-ty = 'c'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND  it_date.&lt;/P&gt;&lt;P&gt;  s_date-low = s_date-low + 1.&lt;/P&gt;&lt;P&gt;ENDWHILE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM get_structure.&lt;/P&gt;&lt;P&gt;PERFORM create_dynamic_itab.&lt;/P&gt;&lt;P&gt;PERFORM proc_data .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM get_structure.&lt;/P&gt;&lt;P&gt;  DATA : idetails TYPE abap_compdescr_tab,&lt;/P&gt;&lt;P&gt;          xdetails TYPE abap_compdescr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  xfc-fieldname = 'pernr' .  "  XDETAILS-NAME .&lt;/P&gt;&lt;P&gt;  xfc-datatype = 'c'.    "XDETAILS-TYPE_KIND.&lt;/P&gt;&lt;P&gt;  xfc-inttype = 'c'.    "XDETAILS-TYPE_KIND.&lt;/P&gt;&lt;P&gt;  xfc-intlen =  8 .     "XDETAILS-LENGTH.&lt;/P&gt;&lt;P&gt;  APPEND xfc TO ifc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  xfc-fieldname = 'empname' .  "  XDETAILS-NAME .&lt;/P&gt;&lt;P&gt;  xfc-datatype = 'c'.    "XDETAILS-TYPE_KIND.&lt;/P&gt;&lt;P&gt;  xfc-inttype = 'c'.    "XDETAILS-TYPE_KIND.&lt;/P&gt;&lt;P&gt;  xfc-intlen =  30 .     "XDETAILS-LENGTH.&lt;/P&gt;&lt;P&gt;  APPEND xfc TO ifc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_date .&lt;/P&gt;&lt;P&gt;    CLEAR xfc.&lt;/P&gt;&lt;P&gt;    xfc-fieldname = it_date-date .  "  XDETAILS-NAME .&lt;/P&gt;&lt;P&gt;    xfc-datatype = it_date-ty.    "XDETAILS-TYPE_KIND.&lt;/P&gt;&lt;P&gt;    xfc-inttype = it_date-ty.    "XDETAILS-TYPE_KIND.&lt;/P&gt;&lt;P&gt;    xfc-intlen =  it_date-len .     "XDETAILS-LENGTH.&lt;/P&gt;&lt;P&gt;    APPEND xfc TO ifc.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "get_structure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM create_dynamic_itab.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic internal table and assign to FS&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 = ifc&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = dy_table.&lt;/P&gt;&lt;P&gt;  ASSIGN dy_table-&amp;gt;* TO &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create dynamic work area and assign to FS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CREATE DATA dy_line LIKE LINE OF &amp;lt;dyn_table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN dy_line-&amp;gt;* TO &amp;lt;dyn_wa&amp;gt;.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "create_dynamic_itab&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM proc_data .&lt;/P&gt;&lt;P&gt;  DATA: l_tabix TYPE sy-tabix .&lt;/P&gt;&lt;P&gt;  SORT it_itab BY depid .&lt;/P&gt;&lt;P&gt;  LOOP AT it_itab .&lt;/P&gt;&lt;P&gt;    READ TABLE it_date WITH KEY date =  it_itab-date .&lt;/P&gt;&lt;P&gt;    l_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0 .&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT l_tabix OF STRUCTURE dy_table TO &amp;lt;dyn_field&amp;gt;.&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.                    " PROC_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards&lt;/P&gt;&lt;P&gt; Priyank dixit&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Nov 2008 08:50:00 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-table/m-p/4697107#M1103835</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-11-12T08:50:00Z</dc:date>
    </item>
  </channel>
</rss>

