<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Dynamic internal tables in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244446#M1013109</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Example to create the Dynamic Tabeles.&lt;/P&gt;&lt;P&gt;First you need to populate what fields you want to be in Dynamic table and then call the method create_dynamic_table of class cl_alv_table_create. use the dat object and assign to &amp;lt;fs&amp;gt; to create the internal table .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  zdynamic.
 
FIELD-SYMBOLS: &amp;lt;l_table&amp;gt; TYPE table,
&amp;lt;l_line&amp;gt; TYPE ANY,
&amp;lt;l_field&amp;gt; TYPE ANY.
 
DATA: is_lvc_cat TYPE lvc_s_fcat,
      it_lvc_cat TYPE lvc_t_fcat.
 
DATA: new_table TYPE REF TO data,
      new_line  TYPE REF TO data.
 
 
START-OF-SELECTION.
 
  is_lvc_cat-fieldname = 'KUNNR'.
  APPEND is_lvc_cat TO it_lvc_cat.
 
  is_lvc_cat-fieldname = 'NAME1'.
  APPEND is_lvc_cat TO it_lvc_cat.
 
  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table
    EXPORTING
      it_fieldcatalog = it_lvc_cat
    IMPORTING
      ep_table        = new_table.
 
*Create a new Line with the same structure of the table.
  ASSIGN new_table-&amp;gt;* TO &amp;lt;l_table&amp;gt;.
  CREATE DATA new_line LIKE LINE OF &amp;lt;l_table&amp;gt;.
  ASSIGN new_line-&amp;gt;* TO &amp;lt;l_line&amp;gt;.
 
 
  DO 2 TIMES.
    ASSIGN COMPONENT 'KUNNR' OF STRUCTURE &amp;lt;l_line&amp;gt; TO &amp;lt;l_field&amp;gt;.
    &amp;lt;l_field&amp;gt; = sy-index.
 
    ASSIGN COMPONENT 'NAME1' OF STRUCTURE &amp;lt;l_line&amp;gt; TO &amp;lt;l_field&amp;gt;.
    &amp;lt;l_field&amp;gt; = 'A'.
    INSERT &amp;lt;l_line&amp;gt; INTO TABLE &amp;lt;l_table&amp;gt;.
  ENDDO.
 
  LOOP AT &amp;lt;l_table&amp;gt; INTO &amp;lt;l_line&amp;gt;.
    WRITE:/ &amp;lt;l_line&amp;gt;.
  ENDLOOP.
 
  READ TABLE &amp;lt;l_table&amp;gt; INTO &amp;lt;l_line&amp;gt; INDEX 2.
  &amp;lt;l_line&amp;gt;+10(2) = 'B'.
  MODIFY &amp;lt;l_table&amp;gt; FROM &amp;lt;l_line&amp;gt; INDEX 2.
 
 
  LOOP AT &amp;lt;l_table&amp;gt; INTO &amp;lt;l_line&amp;gt;.
    WRITE:/ &amp;lt;l_line&amp;gt;.
  ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Vijay babu Dudla&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 30 Jul 2008 05:48:52 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-07-30T05:48:52Z</dc:date>
    <item>
      <title>Dynamic internal tables</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244442#M1013105</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello guys!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a special requirement. I have to create dynamic internal tables based on another internla table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Its like 'AT NEW externalid ' i ahve to create a table. preferably it_&amp;lt;externlaid&amp;gt; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All the tables which will be created are of same type and have same number of fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also want to have another internal table which stores the names of these tables which are created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can any one explain me how to do this?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Even if done, problem would be how can i loop at the dyanmic internal table &amp;lt;it_externalid&amp;gt; when this table name is created at run time and is stored in another internal table?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All suggestions would be rewarded.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 05:43:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244442#M1013105</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T05:43:52Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal tables</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244443#M1013106</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;Download the original attachment&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; Report  Z_RPT_MM_CLSTK                                              *&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;&lt;/P&gt;&lt;P&gt;REPORT  Z_RPT_MM_CLSTK  NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                  LINE-SIZE  350&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                  LINE-COUNT 53.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 T A B L E S                                         *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: MARA, MARD, T001W,MARDH.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                 T Y P E  P O O L S                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;TYPE-POOLS : SLIS.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              S T R U C T U R E  D E C L A R A T I O N S             *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF T_MARA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       SPART TYPE SPART,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MEINS TYPE MEINS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     END OF T_MARA. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF T_MARDH,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       WERKS TYPE WERKS_D,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       LFGJA TYPE LFGJA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       LFMON TYPE LFMON,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       LABST TYPE LABST,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     END OF T_MARDH. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF T_MAKT,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     END OF T_MAKT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF T_T001W,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       WERKS TYPE WERKS_D,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       NAME1 TYPE NAME1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     END OF T_T001W. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF T_FINAL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       WERKS TYPE WERKS_D,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       NAME1 TYPE NAME1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       LABST TYPE LABST,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MEINS TYPE MEINS,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     END OF T_FINAL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES: BEGIN OF T_MATNR,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MATNR TYPE MATNR,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       MAKTX TYPE MAKTX,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF T_MATNR.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       I N T E R N A L    T A B L E    D E C L A R A T I O N S       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;DATA: IT_MARA TYPE STANDARD TABLE OF T_MARA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_MARD TYPE STANDARD TABLE OF T_MARDH,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_MAKT TYPE STANDARD TABLE OF T_MAKT,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_T001W TYPE STANDARD TABLE OF T_T001W,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_FINAL TYPE STANDARD TABLE OF T_FINAL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_MATNR TYPE STANDARD TABLE OF T_MATNR. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: ALV_FLDCAT TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_FLDCAT TYPE LVC_T_FCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:  NEW_TABLE TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       NEW_LINE  TYPE REF TO DATA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       WA_IT_FLDCAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       I_EVENT TYPE SLIS_T_EVENT,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       FS_EVENT LIKE LINE OF I_EVENT.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;              F I E L D  S Y M B O L S                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;DYN_TABLE&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;DYN_HEAD&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;DYN_WA&amp;gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;DYN_FIELD&amp;gt;,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;FS&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       W O R K    A R E A     D E C L A R A T I O N S                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;DATA: WA_MARA TYPE T_MARA,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_MARD TYPE T_MARDH,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_MAKT TYPE T_MAKT,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_T001W TYPE T_T001W,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_FINAL TYPE T_FINAL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_MATNR TYPE T_MATNR.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           V A R I A B L E S      D E C L A R A T I O N S            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;DATA: V_TEXT(255),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_LABST(15),V_INT(4),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      LABST TYPE LABST,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      L_TITLE TYPE LVC_TITLE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_MATNR(255),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_WERKS(255),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_MTART(255),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_SPART(255),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_MATKL(255),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_LFGJA(255),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_LFMON(255),&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_LGORT(255). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                  S E L E C T I O N    S C R E E N                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: SKIP 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_MATNR FOR MARA-MATNR,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                S_WERKS FOR T001W-WERKS OBLIGATORY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                S_MTART FOR MARA-MTART,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                S_SPART FOR MARA-SPART ,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                S_MATKL FOR MARA-MATKL,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                S_LGORT FOR MARD-LGORT,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                S_LFGJA FOR MARDH-LFGJA OBLIGATORY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                S_LFMON FOR MARDH-LFMON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: SKIP 1.&lt;/P&gt;&lt;P&gt;&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;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&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;             A T  S E L E C T I O N    S C R E E N                   *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_MATNR. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_WERKS. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_MTART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_MTART. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_SPART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_SPART. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_MATKL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_MATKL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_LGORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_LGORT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_LFGJA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_LFGJA. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON S_LFMON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VALIDATE_LFMON. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                T O P  O F  P A G E                                  *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;TOP-OF-PAGE.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                I N I T I A L I Z A T I O N                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM TOP.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                S T A R T    O F    S E L E C T I O N                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM GET_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM PROCESS_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_DYN_ITAB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM BUILD_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM CALL_ALV.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                E N D    O F    S E L E C T I O N                    *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         SPART&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         MEINS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         FROM MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         INTO TABLE IT_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         WHERE MATNR IN S_MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           AND MTART IN S_MTART&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           AND SPART IN S_SPART&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           AND MATKL IN S_MATKL. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT IT_MARA[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF S_LFMON[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             WERKS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             LFGJA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             LFMON&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             LABST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             FROM MARD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             INTO TABLE IT_MARD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN IT_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             WHERE MATNR EQ IT_MARA-MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              AND WERKS IN S_WERKS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               AND LGORT IN S_LGORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               AND LFGJA IN S_LFGJA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               AND LFMON IN S_LFMON. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             WERKS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             LFGJA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             LFMON&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             LABST&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             FROM MARDH&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             INTO TABLE IT_MARD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN IT_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             WHERE MATNR EQ IT_MARA-MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               AND WERKS IN S_WERKS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               AND LGORT IN S_LGORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               AND LFGJA IN S_LFGJA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               AND LFMON IN S_LFMON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             MAKTX&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             FROM MAKT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             INTO TABLE IT_MAKT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN IT_MARD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             WHERE MATNR EQ IT_MARD-MATNR. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT WERKS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             NAME1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             FROM T001W&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             INTO TABLE IT_T001W&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN IT_MARD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;             WHERE WERKS EQ IT_MARD-WERKS.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PROCESS_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PROCESS_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF S_WERKS-LOW+0(1) = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_MARD INTO WA_MARD WHERE WERKS+0(1) = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_MARD-WERKS+0(1) = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY IT_MARD FROM WA_MARD.&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;    LOOP AT IT_T001W INTO WA_T001W WHERE WERKS+0(1) = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_T001W-WERKS+0(1) = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY IT_T001W FROM WA_T001W.&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;    SORT IT_T001W BY WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM IT_T001W COMPARING WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_MARD BY MATNR WERKS LFGJA LFMON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_MARD INTO WA_MARD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE IT_MAKT INTO WA_MAKT WITH KEY MATNR = WA_MARD-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_MATNR-MATNR = WA_MAKT-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_MATNR-MAKTX = WA_MAKT-MAKTX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_FINAL-MATNR = WA_MAKT-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WA_FINAL-MAKTX = WA_MAKT-MAKTX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_MARA INTO WA_MARA WITH KEY MATNR = WA_MARD-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_FINAL-MEINS = WA_MARA-MEINS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_T001W INTO WA_T001W WITH KEY WERKS = WA_MARD-WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_FINAL-WERKS = WA_T001W-WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_FINAL-NAME1 = WA_T001W-NAME1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        WA_FINAL-LABST = WA_FINAL-LABST + WA_MARD-LABST.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    COLLECT WA_FINAL INTO IT_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    COLLECT WA_MATNR INTO IT_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR: WA_MARD, WA_MAKT, WA_T001W,WA_FINAL, WA_MATNR, WA_MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PROCESS_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_DYN_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;&lt;/P&gt;&lt;P&gt;FORM BUILD_DYN_ITAB . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-DATATYPE = 'CHAR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-INTLEN = 18.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND WA_IT_FLDCAT TO IT_FLDCAT . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-FIELDNAME = 'MAKTX'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-DATATYPE = 'CHAR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-INTLEN = 35.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND WA_IT_FLDCAT TO IT_FLDCAT . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-DATATYPE = 'CHAR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_IT_FLDCAT-INTLEN = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND WA_IT_FLDCAT TO IT_FLDCAT . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_T001W INTO WA_T001W.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    V_INT = V_INT + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONDENSE V_INT NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE 'LABST' V_INT INTO V_LABST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-FIELDNAME = V_LABST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-DATATYPE = 'QUAN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_IT_FLDCAT-INTLEN = 15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND WA_IT_FLDCAT TO IT_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Create dynamic internal table and assign to FS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD CL_ALV_TABLE_CREATE=&amp;gt;CREATE_DYNAMIC_TABLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_FIELDCATALOG = IT_FLDCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      EP_TABLE        = NEW_TABLE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN NEW_TABLE-&amp;gt;* TO &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN NEW_TABLE-&amp;gt;* TO &amp;lt;DYN_HEAD&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Create dynamic work area and assign to FS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE DATA NEW_LINE LIKE LINE OF &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE DATA NEW_LINE LIKE LINE OF &amp;lt;DYN_HEAD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN NEW_LINE-&amp;gt;* TO &amp;lt;DYN_WA&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_DYN_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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  BUILD_REPORT&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;&lt;/P&gt;&lt;P&gt;FORM BUILD_REPORT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_FINAL BY WERKS MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT IT_MATNR BY MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_MATNR  INTO WA_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT  'MATNR'  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 SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      &amp;lt;DYN_FIELD&amp;gt; = WA_MATNR-MATNR.&lt;/P&gt;&lt;P&gt;&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;    ASSIGN COMPONENT  'MAKTX'  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 SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      &amp;lt;DYN_FIELD&amp;gt; = WA_MATNR-MAKTX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE IT_MARA INTO WA_MARA WITH KEY MATNR = WA_MATNR-MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT  'MEINS'  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 SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        &amp;lt;DYN_FIELD&amp;gt; = WA_MARA-MEINS.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    CLEAR V_INT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT IT_T001W INTO WA_T001W.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      V_INT = V_INT + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONDENSE V_INT NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CONCATENATE 'LABST' V_INT INTO V_LABST. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE IT_FINAL INTO WA_FINAL WITH KEY MATNR = WA_MATNR-MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                                                 WERKS = WA_T001W-WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        LABST = WA_FINAL-LABST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       ASSIGN COMPONENT  V_LABST  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;        MOVE WA_FINAL-LABST TO  &amp;lt;DYN_FIELD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     CLEAR: WA_FINAL, WA_MATNR, WA_T001W.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*-- Append to the dynamic internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_TABLE&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND &amp;lt;DYN_WA&amp;gt; TO &amp;lt;DYN_HEAD&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR &amp;lt;DYN_WA&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " BUILD_REPORT&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  CALL_ALV&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;&lt;/P&gt;&lt;P&gt;FORM CALL_ALV .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: WA_CAT LIKE LINE OF ALV_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: GS_KEYINFO  TYPE SLIS_KEYINFO_ALV. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-FIELDNAME = 'MATNR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-DATATYPE = 'CHAR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-INTLEN = 18.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-SELTEXT_M = 'Material No'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND WA_CAT TO ALV_FLDCAT. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-FIELDNAME = 'MAKTX'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-DATATYPE = 'CHAR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-INTLEN = 35.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-SELTEXT_M = 'Material Description'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND WA_CAT TO ALV_FLDCAT . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-FIELDNAME = 'MEINS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-DATATYPE = 'CHAR'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-INTLEN = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WA_CAT-SELTEXT_M = 'UOM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND WA_CAT TO ALV_FLDCAT . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR V_INT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT IT_T001W INTO WA_T001W.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    V_INT = V_INT + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONDENSE V_INT NO-GAPS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE 'LABST' V_INT INTO V_LABST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR WA_IT_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_CAT-FIELDNAME = V_LABST.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_CAT-DATATYPE = 'QUAN'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_CAT-INTLEN = 15.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WA_CAT-SELTEXT_M = WA_T001W-NAME1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND WA_CAT TO ALV_FLDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  GS_KEYINFO-HEADER01 = 'MATNR'..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  GS_KEYINFO-ITEM01 = 'MATNR'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM &amp;lt;DYN_TABLE&amp;gt; COMPARING ALL FIELDS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-MANDT = '045'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_TITLE = 'PARENTERAL DRUGS (INDIA) LTD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF SY-MANDT = '040'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_TITLE = 'PUNJAB FORMULATIONS PVT LTD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF SY-MANDT = '020'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    L_TITLE = 'GOA   FORMULATIONS PVT LTD'.&lt;/P&gt;&lt;P&gt;&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;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      I_CALLBACK_PROGRAM = SY-REPID&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_FIELDCAT        = ALV_FLDCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      I_GRID_TITLE       = L_TITLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_EVENTS          = I_EVENT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_BACKGROUND_ID    = 'ZEASY'&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;&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;*CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&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_CALLBACK_PROGRAM             = SY-REPID&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;  IT_FIELDCAT                    = ALV_FLDCAT&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;  IT_EVENTS                      = I_EVENT&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; TABLES&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;   T_OUTTAB                       = &amp;lt;DYN_TABLE&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;         .&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;&lt;/P&gt;&lt;P&gt;*ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " CALL_ALV &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOPOFPAGE&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM TOPOFPAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: LS_LINE TYPE SLIS_LISTHEADER,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        E04_LT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_MATNR-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'MATERIAL : ' S_MATNR-LOW  'TO'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    S_MATNR-HIGH INTO V_MATNR SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'MATERIAL : ' S_MATNR-LOW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         INTO V_MATNR SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_MATNR-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-INFO = V_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_WERKS-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'PLANT : ' S_WERKS-LOW  'TO'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    S_WERKS-HIGH INTO V_WERKS SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'PLANT : ' S_WERKS-LOW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       INTO V_WERKS SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_LINE-INFO = V_WERKS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND LS_LINE TO E04_LT_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_MTART-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'MATERIAL TYPE : ' S_MTART-LOW  'TO'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    S_MTART-HIGH INTO V_MTART SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'MATERIAL TYPE : ' S_MTART-LOW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;              INTO V_MTART SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_MTART-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-INFO = V_MTART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&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;  IF NOT S_SPART-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'DIVISION : ' S_SPART-LOW  'TO'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    S_SPART-HIGH INTO V_SPART SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'DIVISION : ' S_SPART-LOW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;         INTO V_SPART SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LS_LINE-INFO = V_SPART.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND LS_LINE TO E04_LT_TOP_OF_PAGE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_MATKL-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'MATERIAL GROUP :  ' '(' S_MATKL-OPTION ' ) '&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    S_MATKL-LOW  'TO'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    S_MATKL-HIGH INTO V_MATKL SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'MATERIAL GROUP :  ' '(' S_MATKL-OPTION ' ) '&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    S_MATKL-LOW INTO V_MATKL SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_MATKL-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-INFO = V_MATKL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&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;  IF NOT S_LGORT-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'STORAGE LOCATION : '  S_LGORT-LOW  'TO'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    S_LGORT-HIGH INTO V_LGORT SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'STORAGE LOCATION : ' S_MATKL-LOW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                INTO V_MATKL SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_LGORT-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-INFO = V_LGORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&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;  IF NOT S_LFGJA-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'YEAR : ' S_LFGJA-LOW  'TO'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    S_LFGJA-HIGH INTO V_LFGJA SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'YEAR : ' S_LFGJA-LOW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                INTO V_LFGJA SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_LFGJA-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-INFO = V_LFGJA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&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;  IF NOT S_LFMON-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'PERIOAD : ' S_LFMON-LOW  'TO'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    S_LFMON-HIGH INTO V_LFMON SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE  'PERIOD : ' S_LFMON-LOW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                INTO V_LFMON SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_LFMON-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR LS_LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-TYP  = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LS_LINE-INFO = V_LFMON.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND LS_LINE TO E04_LT_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&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;  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IT_LIST_COMMENTARY = E04_LT_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    "TOPOFPAGE&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  TOP&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;&lt;/P&gt;&lt;P&gt;FORM TOP .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FS_EVENT-NAME = 'TOP_OF_PAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FS_EVENT-FORM = 'TOPOFPAGE'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND FS_EVENT TO I_EVENT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " TOP&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_MATNR&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;&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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; --&amp;gt;  p1        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; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&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;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_MATNR .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_MATNR-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           INTO MARA-MATNR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                FROM MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  WHERE MATNR = S_MATNR-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE 'MATERIAL DOES NOT EXIST' TYPE 'E'.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_MATNR&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_WERKS&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;&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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; --&amp;gt;  p1        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; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&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;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_WERKS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_WERKS-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE WERKS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           INTO T001W-WERKS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                FROM T001W&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  WHERE WERKS = S_WERKS-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE 'PLANT DOES NOT EXIST' TYPE 'E'.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_WERKS&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_MTART&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;&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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; --&amp;gt;  p1        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; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&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;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_MTART .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_MTART-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE MTART&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           INTO MARA-MTART&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                FROM MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  WHERE MTART = S_MTART-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE 'MATERIAL TYPE DOES NOT EXIST' TYPE 'E'.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_MTART&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_SPART&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;&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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; --&amp;gt;  p1        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; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&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;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_SPART .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_SPART-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE SPART&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           INTO MARA-SPART&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                FROM MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  WHERE SPART = S_SPART-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE 'DIVISION DOES NOT EXIST' TYPE 'E'.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_SPART&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_MATKL&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;&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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; --&amp;gt;  p1        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; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&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;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_MATKL .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_MATKL-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE MATKL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           INTO MARA-MATKL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                FROM MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  WHERE MATKL = S_MATKL-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE 'MATERIAL GROUP DOES NOT EXIST' TYPE 'E'.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_MATKL&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_LGORT&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;&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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; --&amp;gt;  p1        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; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&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;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_LGORT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*IF NOT S_LGORT-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    SELECT SINGLE LGORT&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;           INTO MARD-LGORT&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;                FROM MARD&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;                  WHERE LGORT = S_LGORT-LOW.&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;&lt;/P&gt;&lt;P&gt;*MESSAGE 'STORAGE LOCATION DIES NOT EXIST' TYPE 'E'.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_LGORT&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_LFGJA&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;&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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; --&amp;gt;  p1        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; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&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;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_LFGJA . &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_LFGJA-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE LFGJA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           INTO MARDH-LFGJA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                FROM MARDH&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                  WHERE LFGJA = S_LFGJA-LOW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE 'ENTER A VALID YEAR' TYPE 'E'.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_LFGJA&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  VALIDATE_LFMON&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;&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;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&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; --&amp;gt;  p1        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; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&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;&lt;/P&gt;&lt;P&gt;FORM VALIDATE_LFMON .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_LFMON-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT ( S_LFMON-LOW  GE 1 AND S_LFMON-LOW LE 12 ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MESSAGE 'ENTER A VALID PERIOD' TYPE 'E'.&lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " VALIDATE_LFMON&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 05:45:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244443#M1013106</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T05:45:11Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal tables</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244444#M1013107</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt; check this link it will help to create the dynamic internal table step by step.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://saptechnical.com/Tutorials/ABAP/DynamicInternaltable/DynamicInternalTable.htm" target="test_blank"&gt;http://saptechnical.com/Tutorials/ABAP/DynamicInternaltable/DynamicInternalTable.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 05:45:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244444#M1013107</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T05:45:28Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal tables</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244445#M1013108</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/ab030.htm" target="test_blank"&gt;http://www.sap-img.com/ab030.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Pavan&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 05:46:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244445#M1013108</guid>
      <dc:creator>bpawanchand</dc:creator>
      <dc:date>2008-07-30T05:46:15Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal tables</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244446#M1013109</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Example to create the Dynamic Tabeles.&lt;/P&gt;&lt;P&gt;First you need to populate what fields you want to be in Dynamic table and then call the method create_dynamic_table of class cl_alv_table_create. use the dat object and assign to &amp;lt;fs&amp;gt; to create the internal table .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  zdynamic.
 
FIELD-SYMBOLS: &amp;lt;l_table&amp;gt; TYPE table,
&amp;lt;l_line&amp;gt; TYPE ANY,
&amp;lt;l_field&amp;gt; TYPE ANY.
 
DATA: is_lvc_cat TYPE lvc_s_fcat,
      it_lvc_cat TYPE lvc_t_fcat.
 
DATA: new_table TYPE REF TO data,
      new_line  TYPE REF TO data.
 
 
START-OF-SELECTION.
 
  is_lvc_cat-fieldname = 'KUNNR'.
  APPEND is_lvc_cat TO it_lvc_cat.
 
  is_lvc_cat-fieldname = 'NAME1'.
  APPEND is_lvc_cat TO it_lvc_cat.
 
  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table
    EXPORTING
      it_fieldcatalog = it_lvc_cat
    IMPORTING
      ep_table        = new_table.
 
*Create a new Line with the same structure of the table.
  ASSIGN new_table-&amp;gt;* TO &amp;lt;l_table&amp;gt;.
  CREATE DATA new_line LIKE LINE OF &amp;lt;l_table&amp;gt;.
  ASSIGN new_line-&amp;gt;* TO &amp;lt;l_line&amp;gt;.
 
 
  DO 2 TIMES.
    ASSIGN COMPONENT 'KUNNR' OF STRUCTURE &amp;lt;l_line&amp;gt; TO &amp;lt;l_field&amp;gt;.
    &amp;lt;l_field&amp;gt; = sy-index.
 
    ASSIGN COMPONENT 'NAME1' OF STRUCTURE &amp;lt;l_line&amp;gt; TO &amp;lt;l_field&amp;gt;.
    &amp;lt;l_field&amp;gt; = 'A'.
    INSERT &amp;lt;l_line&amp;gt; INTO TABLE &amp;lt;l_table&amp;gt;.
  ENDDO.
 
  LOOP AT &amp;lt;l_table&amp;gt; INTO &amp;lt;l_line&amp;gt;.
    WRITE:/ &amp;lt;l_line&amp;gt;.
  ENDLOOP.
 
  READ TABLE &amp;lt;l_table&amp;gt; INTO &amp;lt;l_line&amp;gt; INDEX 2.
  &amp;lt;l_line&amp;gt;+10(2) = 'B'.
  MODIFY &amp;lt;l_table&amp;gt; FROM &amp;lt;l_line&amp;gt; INDEX 2.
 
 
  LOOP AT &amp;lt;l_table&amp;gt; INTO &amp;lt;l_line&amp;gt;.
    WRITE:/ &amp;lt;l_line&amp;gt;.
  ENDLOOP.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Vijay babu Dudla&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 05:48:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244446#M1013109</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T05:48:52Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal tables</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244447#M1013110</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;Here is some information about creating dynamic internal table in ddifferent scenario...just go through this u may get some help...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Creating Dynamic internal table  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PARAMETERS : p_table(10) TYPE C. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: w_tabname TYPE w_tabname,             &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        w_dref TYPE REF TO data,              &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        w_grid TYPE REF TO cl_gui_alv_grid.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS: &amp;lt;t_itab&amp;gt; TYPE ANY TABLE.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  w_tabname = p_table.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE DATA w_dref TYPE TABLE OF (w_tabname). &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN w_dref-&amp;gt;* TO &amp;lt;t_itab&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Populating Dynamic internal table  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT * &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FROM (w_tabname) UP TO 20 ROWS &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    INTO TABLE &amp;lt;t_itab&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Displaying dynamic internal table using Grid.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CREATE OBJECT w_grid &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXPORTING i_parent = cl_gui_container=&amp;gt;screen0.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD w_grid-&amp;gt;set_table_for_first_display &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXPORTING &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      i_structure_name = w_tabname &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CHANGING &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_outtab        = &amp;lt;t_itab&amp;gt;.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 100. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Scenario 2:  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Create a dynamic internal table with the specified number of columns.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Creating Dynamic internal table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPE-POOLS: slis. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; FIELD-SYMBOLS: &amp;lt;t_dyntable&amp;gt; TYPE STANDARD TABLE,  u201C Dynamic internal table name &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;fs_dyntable&amp;gt;,                     u201C Field symbol to create work area &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;               &amp;lt;fs_fldval&amp;gt; type any.              u201C Field symbol to assign values  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_cols(5) TYPE c.                     u201C Input number of columns &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:   t_newtable TYPE REF TO data, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        t_newline  TYPE REF TO data, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        t_fldcat   TYPE slis_t_fldcat_alv, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        t_fldcat   TYPE lvc_t_fcat, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        wa_it_fldcat TYPE lvc_s_fcat, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        wa_colno(2) TYPE n, &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        wa_flname(5) TYPE c.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create fields . &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO p_cols TIMES. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR wa_it_fldcat. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move sy-index to wa_colno. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    concatenate 'COL' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                wa_colno &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           into wa_flname. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_it_fldcat-fieldname = wa_flname. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_it_fldcat-datatype = 'CHAR'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_it_fldcat-intlen = 10. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND wa_it_fldcat TO t_fldcat. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDDO.  &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;&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXPORTING &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = t_fldcat &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IMPORTING &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ep_table        = t_newtable.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN t_newtable-&amp;gt;* TO &amp;lt;t_dyntable&amp;gt;.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;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;&lt;/P&gt;&lt;P&gt;  CREATE DATA t_newline LIKE LINE OF &amp;lt;t_dyntable&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN t_newline-&amp;gt;* TO &amp;lt;fs_dyntable&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Populating Dynamic internal table  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: fieldname(20) TYPE c. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: fieldvalue(10) TYPE c. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: index(3) TYPE c.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO p_cols TIMES.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    index = sy-index. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE sy-index TO wa_colno. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE 'COL' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                wa_colno &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           INTO wa_flname.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set up fieldvalue &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE 'VALUE' index INTO &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                fieldvalue. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONDENSE    fieldvalue NO-GAPS.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT  wa_flname &lt;/P&gt;&lt;P&gt;&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;&lt;/P&gt;&lt;P&gt;    &amp;lt;fs_fldval&amp;gt; =  fieldvalue.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDDO.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Append to the dynamic internal table &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  APPEND &amp;lt;fs_dyntable&amp;gt; TO &amp;lt;t_dyntable&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Displaying dynamic internal table using Grid.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: wa_cat LIKE LINE OF fs_fldcat.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO p_cols TIMES. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR wa_cat. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE sy-index TO wa_colno. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONCATENATE 'COL' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;                wa_colno &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;           INTO wa_flname.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_cat-fieldname = wa_flname. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_cat-seltext_s = wa_flname. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_cat-outputlen = '10'. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND wa_cat TO fs_fldcat. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDDO.  &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call ABAP List Viewer (ALV) &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXPORTING &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      it_fieldcat = fs_fldcat &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TABLES &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      t_outtab    = &amp;lt;t_dyntable&amp;gt;. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks &amp;amp; Regards&lt;/P&gt;&lt;P&gt;Ashu Singh.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 05:53:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244447#M1013110</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T05:53:32Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal tables</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244448#M1013111</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Trivenn&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If the dynamic itabs have the same line type then there is no need to create dynamic itabs. You could simplify your problem as following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
TYPES: BEGIN OF ty_s_itab.
TYPES: externalid     TYPE &amp;lt;datatype of external id&amp;gt;.
TYPES: data             TYPE STANDARD TABLE OF &amp;lt;line type&amp;gt;
                                WITH DEFAULT KEY.
TYPES: END OF ty_s_itab.
TYPES: ty_t_itab       TYPE STANDARD TABLE OF ty_s_itab
                                 WITH DEFAULT KEY.

DATA: 
  ls_record                 TYPE &amp;lt;line type&amp;gt;,
  lt_itab                     TYPE ty_t_itab,
  ls_itab                     TYPE ty_s_itab.

LOOP AT ...
  CLEAR: ls_itab.

  AT NEW externalid.
    ls_itab-externalid = &amp;lt;external id&amp;gt;.

    " Fill data
     LOOP AT ... INTO ls_record.
       APPEND ls_record TO ls_itab-data.
     ENDLOOP.
     
     APPEND ls_itab TO lt_itab.
  ENDAT.

ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This way you get a complex itab where each record is identified by its external ID and it contains an itab for the data.&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, 30 Jul 2008 05:58:04 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244448#M1013111</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2008-07-30T05:58:04Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal tables</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244449#M1013112</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;Dynamic internal table is internal table that we create on the fly with flexible column numbers. &lt;/P&gt;&lt;P&gt;For sample code, please look at this code tutorial. Hopefully it can help you &lt;SPAN __jive_emoticon_name="wink"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;saptechnical.com/Tutorials/ABAP/DynamicInternaltable/DynamicInternalTable.htm&lt;/P&gt;&lt;P&gt;saptechies.com/how-to-declare-an-internal-table-dynamically-2/&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cheers,&lt;/P&gt;&lt;P&gt;vasavi.v&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 06:07:52 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244449#M1013112</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T06:07:52Z</dc:date>
    </item>
    <item>
      <title>Re: Dynamic internal tables</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244450#M1013113</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Please close your thread if you have got the answer.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 30 Jul 2008 06:15:41 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/dynamic-internal-tables/m-p/4244450#M1013113</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-30T06:15:41Z</dc:date>
    </item>
  </channel>
</rss>

