<?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: Performance tune in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222995#M477456</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi karthik,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;as already mentioned: The main problems are caused by huge change tables CDHDR and CDPOS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can verify with performance trace, on the list click toolbox icon to see that caused by three IN operators a full table scan will be performed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you already have the values in table it_ext, try FOR ALL ENTRIES. I tried to change your select statement also making it more readable - you don't need alias a or b. An alias is required only if you catch data from the same table using different conditions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will increase performance: [used Code button above to keep formatting]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
SELECT 
  CDHDR~objectclas 
  CDHDR~objectid 
  CDHDR~changenr 
  MARC~werks                                "No need  
  INTO TABLE it_change
  FROM cdhdr 
  INNER JOIN marc                           "No need
    ON MARC~matnr = CDHDR~objectid          "No need
  FOR ALL ENTRIES IN it_ext
  WHERE CDHDR~objectclas  = 'MATERIAL' 
    AND CDHDR~objectid    = it_ext-matnr 
    AND  CDHDR~udate      = it_ext-ersda 
    AND ( CDHDR~tcode     &amp;lt;&amp;gt; 'MM01' OR
          CDHDR~tcode     &amp;lt;&amp;gt; 'ZAUTOEXT' ) 
    AND MARC~werks        = it_ext-werks    "No need
    .
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But still I don't understand fully what the join on MARC is good for: It will just multiply the found records for each change number with the number of plants the material is maintained in. But you already know this. Just delete/disable the lines I marked with "No need and it will give you a boost. I did not analyze the complete merging logic, but you have all information in it_change you need to go ahead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clemens&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 01 May 2007 21:11:56 GMT</pubDate>
    <dc:creator>Clemenss</dc:creator>
    <dc:date>2007-05-01T21:11:56Z</dc:date>
    <item>
      <title>Performance tune</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222991#M477452</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;dear Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   I have a performance issue in the below program, the database usage is 94.5 percent, I find difficult to optimize , will any one give me the suggestion where i neeed to change the code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******************************************************************&lt;/P&gt;&lt;P&gt;REPORT zmatextc NO STANDARD PAGE HEADING&lt;/P&gt;&lt;P&gt;                       MESSAGE-ID zf&lt;/P&gt;&lt;P&gt;                       LINE-SIZE 500.&lt;/P&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;/P&gt;&lt;P&gt;TABLES: mara,&lt;/P&gt;&lt;P&gt;        mard,&lt;/P&gt;&lt;P&gt;        marc,&lt;/P&gt;&lt;P&gt;        makt,&lt;/P&gt;&lt;P&gt;        mbew,&lt;/P&gt;&lt;P&gt;        t001w.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_out OCCURS 10,&lt;/P&gt;&lt;P&gt;      matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;      maktx TYPE makt-maktx,&lt;/P&gt;&lt;P&gt;      brgew TYPE mara-brgew,&lt;/P&gt;&lt;P&gt;      gewei TYPE mara-gewei,&lt;/P&gt;&lt;P&gt;      stawn TYPE marc-stawn,&lt;/P&gt;&lt;P&gt;      werks TYPE mard-werks,&lt;/P&gt;&lt;P&gt;      herkl TYPE marc-herkl,&lt;/P&gt;&lt;P&gt;      stprs TYPE mbew-stprs,&lt;/P&gt;&lt;P&gt;      spras TYPE makt-spras,&lt;/P&gt;&lt;P&gt;      mod(1)  TYPE c VALUE 'A',&lt;/P&gt;&lt;P&gt;      END OF it_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_out1 OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE zmec.&lt;/P&gt;&lt;P&gt;DATA: END OF it_out1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_outc OCCURS 0.&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE zmec1.&lt;/P&gt;&lt;P&gt;DATA: END OF it_outc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_out2 OCCURS 10,&lt;/P&gt;&lt;P&gt;      matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;      fname TYPE cdpos-fname,&lt;/P&gt;&lt;P&gt;      value TYPE cdpos-value_new,&lt;/P&gt;&lt;P&gt;      tabkey TYPE cdpos-tabkey,&lt;/P&gt;&lt;P&gt;      udate TYPE cdhdr-udate,&lt;/P&gt;&lt;P&gt;      mod(1)  TYPE c VALUE 'C',&lt;/P&gt;&lt;P&gt;      END OF it_out2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_outm OCCURS 10,&lt;/P&gt;&lt;P&gt;      matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;      maktx TYPE makt-maktx,&lt;/P&gt;&lt;P&gt;      brgew TYPE zmec-brgew,&lt;/P&gt;&lt;P&gt;      gewei TYPE mara-gewei,&lt;/P&gt;&lt;P&gt;      stawn TYPE marc-stawn,&lt;/P&gt;&lt;P&gt;      herkl TYPE marc-herkl,&lt;/P&gt;&lt;P&gt;      stprs TYPE zmec-stprs,&lt;/P&gt;&lt;P&gt;      mod(1)  TYPE c VALUE 'C',&lt;/P&gt;&lt;P&gt;      END OF it_outm.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_final OCCURS 10,&lt;/P&gt;&lt;P&gt;      matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;      maktx TYPE makt-maktx,&lt;/P&gt;&lt;P&gt;      brgew TYPE zmec-brgew,&lt;/P&gt;&lt;P&gt;      gewei TYPE mara-gewei,&lt;/P&gt;&lt;P&gt;      stawn TYPE marc-stawn,&lt;/P&gt;&lt;P&gt;      herkl TYPE marc-herkl,&lt;/P&gt;&lt;P&gt;      stprs TYPE zmec-stprs,&lt;/P&gt;&lt;P&gt;      mod(1)  TYPE c ,&lt;/P&gt;&lt;P&gt;      END OF it_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_out3 OCCURS 0,&lt;/P&gt;&lt;P&gt;     matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;     fname TYPE cdpos-fname,&lt;/P&gt;&lt;P&gt;     value TYPE cdpos-value_new,&lt;/P&gt;&lt;P&gt;     udate TYPE cdhdr-udate,&lt;/P&gt;&lt;P&gt;     utime TYPE cdhdr-utime,&lt;/P&gt;&lt;P&gt;     END OF it_out3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_cdhdr OCCURS 0,&lt;/P&gt;&lt;P&gt;     objectclas TYPE cdhdr-objectclas,&lt;/P&gt;&lt;P&gt;     objectid   TYPE cdhdr-objectid,&lt;/P&gt;&lt;P&gt;     changenr   TYPE cdhdr-changenr,&lt;/P&gt;&lt;P&gt;     udate      TYPE cdhdr-udate,&lt;/P&gt;&lt;P&gt;     utime      TYPE cdhdr-utime,&lt;/P&gt;&lt;P&gt;     tcode      TYPE cdhdr-tcode,&lt;/P&gt;&lt;P&gt;     matnr      TYPE matnr,&lt;/P&gt;&lt;P&gt;     END OF it_cdhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_cdhdr1 OCCURS 0,&lt;/P&gt;&lt;P&gt;     objectclas TYPE cdhdr-objectclas,&lt;/P&gt;&lt;P&gt;     objectid   TYPE cdhdr-objectid,&lt;/P&gt;&lt;P&gt;     changenr   TYPE cdhdr-changenr,&lt;/P&gt;&lt;P&gt;     udate      TYPE cdhdr-udate,&lt;/P&gt;&lt;P&gt;     utime      TYPE cdhdr-utime,&lt;/P&gt;&lt;P&gt;     tcode      TYPE cdhdr-tcode,&lt;/P&gt;&lt;P&gt;     END OF it_cdhdr1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_cdpos OCCURS 0,&lt;/P&gt;&lt;P&gt;     objectclas TYPE cdpos-objectclas,&lt;/P&gt;&lt;P&gt;     objectid   TYPE cdpos-objectid,&lt;/P&gt;&lt;P&gt;     changenr   TYPE cdpos-changenr,&lt;/P&gt;&lt;P&gt;     tabname    TYPE cdpos-tabname,&lt;/P&gt;&lt;P&gt;     tabkey     TYPE cdpos-tabkey,&lt;/P&gt;&lt;P&gt;     fname      TYPE cdpos-fname,&lt;/P&gt;&lt;P&gt;     chngind    TYPE cdpos-chngind,&lt;/P&gt;&lt;P&gt;     value_new  TYPE cdpos-value_new,&lt;/P&gt;&lt;P&gt;     END OF it_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_chg OCCURS 0,&lt;/P&gt;&lt;P&gt;     udate     LIKE cdhdr-udate,&lt;/P&gt;&lt;P&gt;     tcode     LIKE cdhdr-tcode,&lt;/P&gt;&lt;P&gt;     tabname   LIKE cdpos-tabname,&lt;/P&gt;&lt;P&gt;     fname     LIKE cdpos-fname,&lt;/P&gt;&lt;P&gt;     value_new LIKE cdpos-value_new,&lt;/P&gt;&lt;P&gt;     END OF it_chg.&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_change OCCURS 0,&lt;/P&gt;&lt;P&gt;     objectclas LIKE cdhdr-objectclas,&lt;/P&gt;&lt;P&gt;     objectid   LIKE cdhdr-objectid,&lt;/P&gt;&lt;P&gt;     changenr   LIKE cdhdr-changenr,&lt;/P&gt;&lt;P&gt;     werks      LIKE marc-werks,&lt;/P&gt;&lt;P&gt;     END OF it_change.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_mara OCCURS 0,&lt;/P&gt;&lt;P&gt;     matnr TYPE mara-matnr,&lt;/P&gt;&lt;P&gt;     brgew TYPE mara-brgew,&lt;/P&gt;&lt;P&gt;     gewei TYPE mara-gewei,&lt;/P&gt;&lt;P&gt;     END OF it_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_makt OCCURS 0,&lt;/P&gt;&lt;P&gt;      matnr TYPE makt-matnr,&lt;/P&gt;&lt;P&gt;      spras TYPE makt-spras,&lt;/P&gt;&lt;P&gt;      maktx TYPE makt-maktx,&lt;/P&gt;&lt;P&gt;      END OF it_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_marc OCCURS 0,&lt;/P&gt;&lt;P&gt;     matnr TYPE marc-matnr,&lt;/P&gt;&lt;P&gt;     werks TYPE marc-werks,&lt;/P&gt;&lt;P&gt;     stawn TYPE marc-stawn,&lt;/P&gt;&lt;P&gt;     herkl TYPE marc-herkl,&lt;/P&gt;&lt;P&gt;     END OF it_marc.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_mbew OCCURS 0,&lt;/P&gt;&lt;P&gt;     matnr TYPE mbew-matnr,&lt;/P&gt;&lt;P&gt;     bwkey TYPE mbew-bwkey,&lt;/P&gt;&lt;P&gt;     stprs TYPE mbew-stprs,&lt;/P&gt;&lt;P&gt;     END OF it_mbew.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_t001w OCCURS 0,&lt;/P&gt;&lt;P&gt;      land1 TYPE t001w-land1,&lt;/P&gt;&lt;P&gt;      spras TYPE t001w-spras,&lt;/P&gt;&lt;P&gt;      END OF it_t001w.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_ext OCCURS 0,&lt;/P&gt;&lt;P&gt;     matnr TYPE mard-matnr,&lt;/P&gt;&lt;P&gt;     werks TYPE mard-werks,&lt;/P&gt;&lt;P&gt;     ersda TYPE mard-ersda,&lt;/P&gt;&lt;P&gt;     spras TYPE t001w-spras,&lt;/P&gt;&lt;P&gt;     END OF it_ext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:BEGIN OF it_t001w1 OCCURS 0,&lt;/P&gt;&lt;P&gt;     werks TYPE t001w-werks,&lt;/P&gt;&lt;P&gt;     spras TYPE t001w-spras,&lt;/P&gt;&lt;P&gt;     END OF it_t001w1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : n(4) TYPE n VALUE '0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_marc1 OCCURS 0,&lt;/P&gt;&lt;P&gt;      matnr TYPE marc-matnr,&lt;/P&gt;&lt;P&gt;      werks TYPE marc-werks,&lt;/P&gt;&lt;P&gt;      END OF it_marc1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      fcat1       TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      wa_fieldcat TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      gt_list_top_of_page TYPE slis_t_listheader,&lt;/P&gt;&lt;P&gt;      disvariant   LIKE disvariant,&lt;/P&gt;&lt;P&gt;      d_disvariant LIKE disvariant,&lt;/P&gt;&lt;P&gt;      lv_repid     LIKE sy-repid,&lt;/P&gt;&lt;P&gt;      ls_layout    TYPE slis_layout_alv.&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;----&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;              SELECTION SCREEN                                      *&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;SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-001.&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;                s_werks FOR marc-werks OBLIGATORY,&lt;/P&gt;&lt;P&gt;                s_ersda FOR mard-ersda OBLIGATORY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_check AS CHECKBOX,   "For Materials Extended&lt;/P&gt;&lt;P&gt;            p_chang AS CHECKBOX.   "For Master Data Changed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK blk.&lt;/P&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;            AT SELECTION-SCREEN                                      *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;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;AT SELECTION-SCREEN ON s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;validations for Material on selection-screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT  SINGLE matnr INTO mara-matnr FROM mara WHERE matnr IN s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;validations for Plant on selection-screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT s_werks IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SELECT werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          FROM t001w UP TO 1 ROWS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          INTO t001w-werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;          WHERE werks IN s_werks.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDSELECT.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF sy-subrc NE 0.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     SET CURSOR FIELD 'S_WERKS-LOW'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     MESSAGE e999 WITH text-002.&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; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;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;              START-OF-SELECTION                                     *&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;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Displaying Material Extended&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_check EQ 'X' AND&lt;/P&gt;&lt;P&gt;     p_chang EQ space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM mat-extended.&lt;/P&gt;&lt;P&gt;    PERFORM dis_matext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Displaying Master Data Changed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF p_chang EQ 'X' AND&lt;/P&gt;&lt;P&gt;         p_check EQ space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM mat-changed.&lt;/P&gt;&lt;P&gt;    PERFORM dis_matext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For Displaying Material Extended and Master Data Changed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF p_check EQ 'X'&lt;/P&gt;&lt;P&gt;     AND p_chang EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM mat-extended.&lt;/P&gt;&lt;P&gt;    PERFORM mat-changed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_out.&lt;/P&gt;&lt;P&gt;      MOVE-CORRESPONDING it_out TO it_final.&lt;/P&gt;&lt;P&gt;      APPEND it_final.&lt;/P&gt;&lt;P&gt;      CLEAR it_final.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND LINES OF it_outm TO it_final.&lt;/P&gt;&lt;P&gt;    PERFORM dis_matext.&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  MAT-EXTENDED&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM mat-extended.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT matnr werks ersda  FROM mard INTO CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;                                      TABLE it_ext&lt;/P&gt;&lt;P&gt;                                      WHERE matnr IN s_matnr&lt;/P&gt;&lt;P&gt;                                      AND   werks IN s_werks&lt;/P&gt;&lt;P&gt;                                      AND   ersda IN s_ersda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_ext[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT it_ext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM it_ext COMPARING matnr werks ersda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; For getting Material discription based on the Plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT werks spras FROM t001w INTO TABLE it_t001w1&lt;/P&gt;&lt;P&gt;                                  WHERE werks IN s_werks.&lt;/P&gt;&lt;P&gt;    LOOP AT it_ext.&lt;/P&gt;&lt;P&gt;      READ TABLE it_t001w1 WITH KEY werks = it_ext-werks.&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        it_ext-spras = it_t001w1-spras.&lt;/P&gt;&lt;P&gt;        MODIFY it_ext.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Appending Modification 'A' for every Extended Material.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_ext.&lt;/P&gt;&lt;P&gt;      it_out-matnr = it_ext-matnr.&lt;/P&gt;&lt;P&gt;      it_out-werks = it_ext-werks.&lt;/P&gt;&lt;P&gt;      it_out-spras = it_ext-spras.&lt;/P&gt;&lt;P&gt;      it_out-mod   = 'A'.&lt;/P&gt;&lt;P&gt;      APPEND it_out.&lt;/P&gt;&lt;P&gt;      CLEAR it_out.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SORT it_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For getting Material Discription based on the Plants Language&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT it_ext[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      SORT it_ext.&lt;/P&gt;&lt;P&gt;      SELECT matnr  spras maktx FROM makt INTO TABLE it_makt&lt;/P&gt;&lt;P&gt;                           FOR ALL ENTRIES IN it_ext&lt;/P&gt;&lt;P&gt;                           WHERE matnr = it_ext-matnr&lt;/P&gt;&lt;P&gt;                           AND   spras = it_ext-spras.&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;Getting data into Internal tables.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT it_out[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT matnr brgew gewei FROM mara INTO TABLE it_mara&lt;/P&gt;&lt;P&gt;                               FOR ALL ENTRIES IN it_out&lt;/P&gt;&lt;P&gt;                               WHERE matnr = it_out-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT matnr werks stawn herkl FROM marc INTO TABLE it_marc&lt;/P&gt;&lt;P&gt;                               FOR ALL ENTRIES IN it_out&lt;/P&gt;&lt;P&gt;                               WHERE matnr = it_out-matnr&lt;/P&gt;&lt;P&gt;                               AND werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT matnr bwkey stprs FROM mbew INTO TABLE it_mbew&lt;/P&gt;&lt;P&gt;                         FOR ALL ENTRIES IN it_out&lt;/P&gt;&lt;P&gt;                         WHERE matnr = it_out-matnr&lt;/P&gt;&lt;P&gt;                         AND   bwkey = it_out-werks.&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;For getting Country of Origin based on Selection screen Plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT it_marc[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      SELECT land1 spras FROM t001w INTO TABLE it_t001w&lt;/P&gt;&lt;P&gt;                         FOR ALL ENTRIES IN it_marc&lt;/P&gt;&lt;P&gt;                         WHERE land1 = it_marc-herkl.&lt;/P&gt;&lt;P&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;Reading data to final internal table .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_makt WITH KEY matnr = it_out-matnr&lt;/P&gt;&lt;P&gt;                                  spras = it_out-spras BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        it_out-maktx = it_makt-maktx.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_mara WITH KEY matnr = it_out-matnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        it_out-brgew = it_mara-brgew.&lt;/P&gt;&lt;P&gt;        it_out-gewei = it_mara-gewei.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      READ TABLE it_marc WITH KEY matnr = it_out-matnr&lt;/P&gt;&lt;P&gt;                                  werks = it_out-werks&lt;/P&gt;&lt;P&gt;                                  BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        it_out-stawn = it_marc-stawn.&lt;/P&gt;&lt;P&gt;        it_out-herkl = it_marc-herkl.&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_mbew WITH KEY matnr = it_out-matnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;        it_out-stprs = it_mbew-stprs.&lt;/P&gt;&lt;P&gt;        it_out-werks = it_mbew-bwkey.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY it_out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    SORT it_out.&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.                    " MAT-EXTENDED&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  mat-changed&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM mat-changed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For getting changed materials which are extended to selected Plant.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT a&lt;SUB&gt;objectclas a&lt;/SUB&gt;objectid a&lt;SUB&gt;changenr b&lt;/SUB&gt;werks&lt;/P&gt;&lt;P&gt;          INTO TABLE it_change&lt;/P&gt;&lt;P&gt;          FROM cdhdr AS a INNER JOIN marc AS b ON b&lt;SUB&gt;matnr = a&lt;/SUB&gt;objectid&lt;/P&gt;&lt;P&gt;          WHERE a~objectclas EQ 'MATERIAL' AND&lt;/P&gt;&lt;P&gt;                a~objectid   IN s_matnr    AND&lt;/P&gt;&lt;P&gt;                a~udate      IN s_ersda    AND&lt;/P&gt;&lt;P&gt;               ( a~tcode      NE 'MM01'     OR&lt;/P&gt;&lt;P&gt;                a~tcode      NE 'ZAUTOEXT' ) AND&lt;/P&gt;&lt;P&gt;                b~werks      IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Getting the change numbers,fnames and new values from CDPOS for&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                    selected changed materials&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_change[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT objectclas objectid changenr tabname tabkey fname&lt;/P&gt;&lt;P&gt;                           chngind value_new  FROM cdpos&lt;/P&gt;&lt;P&gt;                           INTO TABLE it_cdpos&lt;/P&gt;&lt;P&gt;                           FOR ALL ENTRIES IN it_change&lt;/P&gt;&lt;P&gt;                           WHERE objectclas EQ it_change-objectclas AND&lt;/P&gt;&lt;P&gt;                                 objectid   EQ it_change-objectid   AND&lt;/P&gt;&lt;P&gt;                                 changenr   EQ it_change-changenr   AND&lt;/P&gt;&lt;P&gt;                                 fname      IN ('MAKTX','BRGEW','GEWEI',&lt;/P&gt;&lt;P&gt;                                             'STAWN','HERKL','STPRS').&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;  SORT it_change DESCENDING.&lt;/P&gt;&lt;P&gt;  SORT it_cdpos DESCENDING BY objectclas objectid fname changenr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : v_objectclas LIKE cdhdr-objectclas,&lt;/P&gt;&lt;P&gt;         v_objectid   LIKE cdhdr-objectid,&lt;/P&gt;&lt;P&gt;         v_fname      LIKE cdpos-fname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*For getting Material Description based on Selected Plants Language&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    DATA flag TYPE c.&lt;/P&gt;&lt;P&gt;    CLEAR flag.&lt;/P&gt;&lt;P&gt;    CLEAR t001w.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE *&lt;/P&gt;&lt;P&gt;           FROM t001w&lt;/P&gt;&lt;P&gt;           WHERE werks IN s_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;      IF it_cdpos-fname     = 'MAKTX' AND&lt;/P&gt;&lt;P&gt;         t001w-spras+0(1)   = it_cdpos-tabkey.&lt;/P&gt;&lt;P&gt;        it_cdpos-value_new = it_cdpos-value_new.&lt;/P&gt;&lt;P&gt;        flag = 'X'.&lt;/P&gt;&lt;P&gt;      ELSEIF flag NE 'X' AND it_cdpos-fname = 'MAKTX'.&lt;/P&gt;&lt;P&gt;        it_cdpos-value_new = ' '.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      MODIFY it_cdpos TRANSPORTING value_new .&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; For getting changed Commit code based on the Selection screen Plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR flag.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      IF it_cdpos-fname = 'STAWN' AND&lt;/P&gt;&lt;P&gt;            t001w-werks = it_cdpos-tabkey+21(4).&lt;/P&gt;&lt;P&gt;        it_cdpos-value_new = it_cdpos-value_new.&lt;/P&gt;&lt;P&gt;        flag = 'X'.&lt;/P&gt;&lt;P&gt;      ELSEIF flag NE 'X' AND it_cdpos-fname = 'STAWN'.&lt;/P&gt;&lt;P&gt;        it_cdpos-value_new = ' '.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MODIFY it_cdpos TRANSPORTING value_new.&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;For getting changed Country of origin based on Selection screen Plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CLEAR flag.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      IF it_cdpos-fname = 'HERKL' AND&lt;/P&gt;&lt;P&gt;            t001w-werks = it_cdpos-tabkey+21(4).&lt;/P&gt;&lt;P&gt;        it_cdpos-value_new = it_cdpos-value_new.&lt;/P&gt;&lt;P&gt;        flag = 'X'.&lt;/P&gt;&lt;P&gt;      ELSEIF flag NE 'X' AND it_cdpos-fname = 'HERKL'.&lt;/P&gt;&lt;P&gt;        it_cdpos-value_new = ' '.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      MODIFY it_cdpos TRANSPORTING value_new.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;For getting changed Standard price based on Selection screen Plant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      IF it_cdpos-fname = 'STPRS' AND&lt;/P&gt;&lt;P&gt;            t001w-werks = it_cdpos-tabkey+21(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM mbew&lt;/P&gt;&lt;P&gt;                         WHERE matnr EQ it_cdpos-objectid AND&lt;/P&gt;&lt;P&gt;                               bwkey EQ it_cdpos-tabkey+21(4).&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          it_cdpos-value_new = mbew-stprs.&lt;/P&gt;&lt;P&gt;          MODIFY it_cdpos TRANSPORTING value_new.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_cdpos.&lt;/P&gt;&lt;P&gt;    CLEAR t001w.&lt;/P&gt;&lt;P&gt;    SELECT SINGLE *&lt;/P&gt;&lt;P&gt;           FROM t001w&lt;/P&gt;&lt;P&gt;           WHERE werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_cdpos-objectclas EQ v_objectclas AND&lt;/P&gt;&lt;P&gt;       it_cdpos-objectid   EQ v_objectid   AND&lt;/P&gt;&lt;P&gt;       it_cdpos-fname      EQ v_fname      AND&lt;/P&gt;&lt;P&gt;       it_cdpos-tabkey     NE t001w-spras.&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;      it_out2-matnr  = it_cdpos-objectid.&lt;/P&gt;&lt;P&gt;      it_out2-fname  = it_cdpos-fname.&lt;/P&gt;&lt;P&gt;      it_out2-tabkey = it_cdpos-tabkey.&lt;/P&gt;&lt;P&gt;      it_out2-value  = it_cdpos-value_new.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF it_cdpos-fname EQ 'STPRS'.&lt;/P&gt;&lt;P&gt;        CLEAR  it_out2-value.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM mbew&lt;/P&gt;&lt;P&gt;                   WHERE matnr EQ it_cdpos-objectid AND&lt;/P&gt;&lt;P&gt;                         bwkey EQ it_cdpos-tabkey+21(4).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0 AND t001w-werks EQ mbew-bwkey.&lt;/P&gt;&lt;P&gt;          it_out2-value  = it_cdpos-value_new.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      APPEND it_out2.&lt;/P&gt;&lt;P&gt;      CLEAR it_out2.&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;    v_objectclas = it_cdpos-objectclas.&lt;/P&gt;&lt;P&gt;    v_objectid   = it_cdpos-objectid.&lt;/P&gt;&lt;P&gt;    v_fname      = it_cdpos-fname.&lt;/P&gt;&lt;P&gt;&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;Appending Modification 'C' for every Changed Material.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_out2.&lt;/P&gt;&lt;P&gt;    it_outm-matnr = it_out2-matnr.&lt;/P&gt;&lt;P&gt;    it_outm-mod   = 'C'.&lt;/P&gt;&lt;P&gt;    APPEND it_outm.&lt;/P&gt;&lt;P&gt;    CLEAR it_outm.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM it_outm COMPARING matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking with changed fname internal teble is modified.&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; SORT IT_OUT2 BY MATNR FNAME .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: flg TYPE i VALUE 0,&lt;/P&gt;&lt;P&gt;        v_matnr(18) TYPE c .&lt;/P&gt;&lt;P&gt;  CLEAR v_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_out2.&lt;/P&gt;&lt;P&gt;    IF v_matnr NE it_out2-matnr.&lt;/P&gt;&lt;P&gt;      flg = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    READ TABLE it_outm WITH KEY matnr = it_out2-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;      IF NOT it_out2-fname IS  INITIAL.&lt;/P&gt;&lt;P&gt;        IF  it_out2-fname  = 'MAKTX'.&lt;/P&gt;&lt;P&gt;          IF flg EQ 0.&lt;/P&gt;&lt;P&gt;            it_outm-maktx    = it_out2-value.&lt;/P&gt;&lt;P&gt;            MODIFY it_outm INDEX sy-tabix.&lt;/P&gt;&lt;P&gt;            flg = 1.&lt;/P&gt;&lt;P&gt;          ENDIF.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT it_out2-fname IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF it_out2-fname = 'BRGEW'.&lt;/P&gt;&lt;P&gt;        SELECT SINGLE * FROM mara&lt;/P&gt;&lt;P&gt;                         WHERE matnr EQ it_out2-matnr.&lt;/P&gt;&lt;P&gt;        IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;          it_outm-brgew = mara-brgew.&lt;/P&gt;&lt;P&gt;          MODIFY it_outm INDEX sy-tabix.&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;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF NOT it_out2-fname IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF it_out2-fname = 'GEWEI'.&lt;/P&gt;&lt;P&gt;        it_outm-gewei = it_out2-value.&lt;/P&gt;&lt;P&gt;        MODIFY it_outm INDEX sy-tabix.&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;    IF NOT it_out2-fname IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF it_out2-fname = 'STAWN'.&lt;/P&gt;&lt;P&gt;        it_outm-stawn = it_out2-value.&lt;/P&gt;&lt;P&gt;        MODIFY it_outm INDEX sy-tabix.&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;    IF NOT it_out2-fname IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF it_out2-fname = 'HERKL'.&lt;/P&gt;&lt;P&gt;        it_outm-herkl = it_out2-value.&lt;/P&gt;&lt;P&gt;        MODIFY it_outm INDEX sy-tabix.&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;    IF NOT it_out2-fname IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF it_out2-fname = 'STPRS'.&lt;/P&gt;&lt;P&gt;        it_outm-stprs = it_out2-value.&lt;/P&gt;&lt;P&gt;        MODIFY it_outm INDEX sy-tabix.&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_matnr.&lt;/P&gt;&lt;P&gt;    v_matnr = it_out2-matnr.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&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;If chages are not happen to the s_matnr,it should not dispaly.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE it_outm WHERE maktx EQ '' AND&lt;/P&gt;&lt;P&gt;                       brgew EQ '' AND&lt;/P&gt;&lt;P&gt;                       gewei EQ '' AND&lt;/P&gt;&lt;P&gt;                       stawn EQ '' AND&lt;/P&gt;&lt;P&gt;                       herkl EQ '' AND&lt;/P&gt;&lt;P&gt;                       stprs EQ ''.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " mat-changed&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  DIS_MATEXT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM dis_matext.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  lv_repid = sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: it_fieldcat  TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;        wa_fieldcat  TYPE slis_fieldcat_alv,&lt;/P&gt;&lt;P&gt;        is_layout    TYPE slis_layout_alv,&lt;/P&gt;&lt;P&gt;        disvariant   LIKE disvariant,&lt;/P&gt;&lt;P&gt;        d_disvariant LIKE disvariant,&lt;/P&gt;&lt;P&gt;        d_repid      LIKE sy-repid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR disvariant.&lt;/P&gt;&lt;P&gt;  disvariant-report    = sy-repid.&lt;/P&gt;&lt;P&gt;  disvariant-username  = sy-uname.&lt;/P&gt;&lt;P&gt;  d_disvariant         = disvariant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Dispalying Material Extended data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_check EQ 'X'&lt;/P&gt;&lt;P&gt;     AND p_chang EQ space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              i_program_name         = disvariant-report&lt;/P&gt;&lt;P&gt;              i_structure_name       = 'ZMEC'&lt;/P&gt;&lt;P&gt;              i_inclname             = disvariant-report&lt;/P&gt;&lt;P&gt;         CHANGING&lt;/P&gt;&lt;P&gt;              ct_fieldcat            = it_fieldcat&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;              program_error          = 2&lt;/P&gt;&lt;P&gt;              OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_fieldcat INTO wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'MATNR'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'MAKTX'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'BRGEW'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Gross weight'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Gross weight'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Gross weight'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Gross weight'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-quantity     = 'X'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-no_zero      = 'X'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'GEWEI'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'STAWN'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'STPRS'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-no_zero      = 'X'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'MOD'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&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;&lt;/P&gt;&lt;P&gt;      DELETE it_fieldcat WHERE fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;      DELETE it_fieldcat WHERE fieldname = 'SPRAS'.&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;   if it_outm[] is initial.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   MESSAGE w999 WITH text-004.&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;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 = disvariant-report&lt;/P&gt;&lt;P&gt;              it_fieldcat        = it_fieldcat&lt;/P&gt;&lt;P&gt;              is_layout          = ls_layout&lt;/P&gt;&lt;P&gt;              i_save             = 'A'&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              t_outtab           = it_out&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;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Displaying Master data Changed&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF p_check EQ space&lt;/P&gt;&lt;P&gt;     AND p_chang EQ 'X' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              i_program_name         = disvariant-report&lt;/P&gt;&lt;P&gt;              i_structure_name       = 'ZMEC'&lt;/P&gt;&lt;P&gt;              i_inclname             = disvariant-report&lt;/P&gt;&lt;P&gt;         CHANGING&lt;/P&gt;&lt;P&gt;              ct_fieldcat            = it_fieldcat&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;              program_error          = 2&lt;/P&gt;&lt;P&gt;              OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    LOOP AT it_fieldcat INTO wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'MATNR'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'MAKTX'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'BRGEW'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Gross Weight'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Gross Weight'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'GROSS WEIGHT'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'GROSS WEIGHT'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-quantity     = 'X'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-no_zero      = 'X'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'GEWEI'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'STAWN'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'STPRS'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-no_zero      = 'X'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'MOD'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DELETE it_fieldcat WHERE fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;      DELETE it_fieldcat WHERE fieldname = 'SPRAS'.&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;&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 = disvariant-report&lt;/P&gt;&lt;P&gt;              it_fieldcat        = it_fieldcat&lt;/P&gt;&lt;P&gt;              is_layout          = ls_layout&lt;/P&gt;&lt;P&gt;              i_save             = 'A'&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              t_outtab           = it_outm&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;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Displaying both Material Extended and Changed data.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSEIF p_check EQ 'X'&lt;/P&gt;&lt;P&gt;     AND p_chang EQ 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              i_program_name         = disvariant-report&lt;/P&gt;&lt;P&gt;              i_structure_name       = 'ZMEC'&lt;/P&gt;&lt;P&gt;              i_inclname             = disvariant-report&lt;/P&gt;&lt;P&gt;         CHANGING&lt;/P&gt;&lt;P&gt;              ct_fieldcat            = it_fieldcat&lt;/P&gt;&lt;P&gt;         EXCEPTIONS&lt;/P&gt;&lt;P&gt;              inconsistent_interface = 1&lt;/P&gt;&lt;P&gt;              program_error          = 2&lt;/P&gt;&lt;P&gt;              OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    LOOP AT it_fieldcat INTO wa_fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'MATNR'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Material number'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'MAKTX'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Material Description'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'BRGEW'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Gross weight'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Gross weight'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Gross weight'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Gross weight'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-quantity     = 'X'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-no_zero      = 'X'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'GEWEI'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Weight Unit'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'STAWN'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = text-003.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'STPRS'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Standard price'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-no_zero      = 'X'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF wa_fieldcat-fieldname EQ 'MOD'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_l    = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_m    = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-seltext_s    = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-reptext_ddic = 'Modification type'.&lt;/P&gt;&lt;P&gt;        wa_fieldcat-ddictxt      = 'L'.&lt;/P&gt;&lt;P&gt;        MODIFY it_fieldcat FROM wa_fieldcat.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DELETE it_fieldcat WHERE fieldname = 'WERKS'.&lt;/P&gt;&lt;P&gt;      DELETE it_fieldcat WHERE fieldname = 'SPRAS'.&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;&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 = disvariant-report&lt;/P&gt;&lt;P&gt;              it_fieldcat        = it_fieldcat&lt;/P&gt;&lt;P&gt;              is_layout          = ls_layout&lt;/P&gt;&lt;P&gt;              i_save             = 'A'&lt;/P&gt;&lt;P&gt;         TABLES&lt;/P&gt;&lt;P&gt;              t_outtab           = it_final&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;&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " DIS_MATEXT&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="77" type="ul"&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 May 2007 16:01:25 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222991#M477452</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-01T16:01:25Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tune</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222992#M477453</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Since you are using the CDHDR and CDPOS tables generally these tables consume lot of time.&lt;/P&gt;&lt;P&gt;But still you can join the tables MARD,MAKT,MARA,MARC,MBEW into a single select since all these tables are material related and the key field in them is the MATNR field.&lt;/P&gt;&lt;P&gt;And try to remove the select singles in the loops of ht eCDPOS, and instead use READ staments for the corresponding tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if useful&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 May 2007 16:13:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222992#M477453</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-01T16:13:34Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tune</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222993#M477454</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi,&lt;/P&gt;&lt;P&gt;  &amp;lt;b&amp;gt; instead of IF stm try to use an CASE stm &amp;lt;/b&amp;gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT matnr werks ersda FROM mard INTO &amp;lt;b&amp;gt;&amp;lt;table-field1&amp;gt; &amp;lt;table-field2&amp;gt; &amp;lt;table-field3&amp;gt;&amp;lt;/b&amp;gt; WHERE matnr IN s_matnr&lt;/P&gt;&lt;P&gt;AND werks IN s_werks&lt;/P&gt;&lt;P&gt;AND ersda IN s_ersda.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;try to write the selct stm lke this try to speciy the fields if u have smaller no of fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;reward if helpful&lt;/P&gt;&lt;P&gt; ravi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 May 2007 16:15:42 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222993#M477454</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-01T16:15:42Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tune</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222994#M477455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;IF NOT it_out[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT matnr brgew gewei FROM mara INTO TABLE it_mara&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN it_out&lt;/P&gt;&lt;P&gt;WHERE matnr = it_out-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT matnr werks stawn herkl FROM marc INTO TABLE it_marc&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN it_out&lt;/P&gt;&lt;P&gt;WHERE matnr = it_out-matnr&lt;/P&gt;&lt;P&gt;AND werks IN s_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT matnr bwkey stprs FROM mbew INTO TABLE it_mbew&lt;/P&gt;&lt;P&gt;FOR ALL ENTRIES IN it_out&lt;/P&gt;&lt;P&gt;WHERE matnr = it_out-matnr&lt;/P&gt;&lt;P&gt;AND bwkey = it_out-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;Please use inner join for the above querry.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Again these tables CDHDR and CDPOS are related with change history and will be huge and cant be avoided. Try to avoid select statements within Loop and Endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Shreekant.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 May 2007 16:21:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222994#M477455</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-05-01T16:21:15Z</dc:date>
    </item>
    <item>
      <title>Re: Performance tune</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222995#M477456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi karthik,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;as already mentioned: The main problems are caused by huge change tables CDHDR and CDPOS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can verify with performance trace, on the list click toolbox icon to see that caused by three IN operators a full table scan will be performed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you already have the values in table it_ext, try FOR ALL ENTRIES. I tried to change your select statement also making it more readable - you don't need alias a or b. An alias is required only if you catch data from the same table using different conditions.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this will increase performance: [used Code button above to keep formatting]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
SELECT 
  CDHDR~objectclas 
  CDHDR~objectid 
  CDHDR~changenr 
  MARC~werks                                "No need  
  INTO TABLE it_change
  FROM cdhdr 
  INNER JOIN marc                           "No need
    ON MARC~matnr = CDHDR~objectid          "No need
  FOR ALL ENTRIES IN it_ext
  WHERE CDHDR~objectclas  = 'MATERIAL' 
    AND CDHDR~objectid    = it_ext-matnr 
    AND  CDHDR~udate      = it_ext-ersda 
    AND ( CDHDR~tcode     &amp;lt;&amp;gt; 'MM01' OR
          CDHDR~tcode     &amp;lt;&amp;gt; 'ZAUTOEXT' ) 
    AND MARC~werks        = it_ext-werks    "No need
    .
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But still I don't understand fully what the join on MARC is good for: It will just multiply the found records for each change number with the number of plants the material is maintained in. But you already know this. Just delete/disable the lines I marked with "No need and it will give you a boost. I did not analyze the complete merging logic, but you have all information in it_change you need to go ahead.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Clemens&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 May 2007 21:11:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-tune/m-p/2222995#M477456</guid>
      <dc:creator>Clemenss</dc:creator>
      <dc:date>2007-05-01T21:11:56Z</dc:date>
    </item>
  </channel>
</rss>

