<?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 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378366#M527593</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Never use * in select statement.&lt;/P&gt;&lt;P&gt;just give what are trhe fileds uneed from the table.&lt;/P&gt;&lt;P&gt;SELECT BUKRS from table /.../&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 13 Jun 2007 10:50:01 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-13T10:50:01Z</dc:date>
    <item>
      <title>Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378363#M527590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I am gettinf less ABAP performance in SE30 in my code.&lt;/P&gt;&lt;P&gt;So pls tell me what to do in my programme.&lt;/P&gt;&lt;P&gt;Here  is my code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES:marc, "Plant Data for Material&lt;/P&gt;&lt;P&gt;      makt, "Material Descriptions&lt;/P&gt;&lt;P&gt;      mara, "General Material Data&lt;/P&gt;&lt;P&gt;      ekko, "Purchasing Document Header&lt;/P&gt;&lt;P&gt;      EKPO, "Purchasing Document Item&lt;/P&gt;&lt;P&gt;      t604,  "Foreign Trade: Commodity Code&lt;/P&gt;&lt;P&gt;      lfa1,  "Vendor Master&lt;/P&gt;&lt;P&gt;      t023t, "Material Group Descriptions&lt;/P&gt;&lt;P&gt;      t001w, "Plants/Branches&lt;/P&gt;&lt;P&gt;      cdpos, "Change document items&lt;/P&gt;&lt;P&gt;      cdhdr. "Change document header&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;SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;           s_werks FOR marc-werks, "Plant&lt;/P&gt;&lt;P&gt;           s_spras FOR makt-spras, "Language Key&lt;/P&gt;&lt;P&gt;           s_matnr FOR mara-matnr, "Material Number&lt;/P&gt;&lt;P&gt;           s_ersda FOR mara-ersda, "Material Creation Date&lt;/P&gt;&lt;P&gt;           s_vpsta FOR mara-vpsta,  "Maintenance Status&lt;/P&gt;&lt;P&gt;           s_matkl FOR mara-matkl,  "Material Group&lt;/P&gt;&lt;P&gt;           s_land1 FOR t604-land1,  "Country Key&lt;/P&gt;&lt;P&gt;           s_stawn FOR marc-stawn, "Commodity Code&lt;/P&gt;&lt;P&gt;           s_wgbez FOR t023t-wgbez, "Text: Material group&lt;/P&gt;&lt;P&gt;           s_ebeln FOR ekko-ebeln, "Purchase order&lt;/P&gt;&lt;P&gt;           s_aedat FOR ekko-ebeln, "Creation Date&lt;/P&gt;&lt;P&gt;           s_lifnr FOR ekko-lifnr. "Vendor&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK block1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*******&lt;STRONG&gt;sandeep for list view.&lt;/STRONG&gt;********&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK 2 WITH FRAME TITLE TEXT-019.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK 2.&lt;/P&gt;&lt;P&gt;*******&lt;STRONG&gt;sandeep for list view.&lt;/STRONG&gt;********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************&lt;STRONG&gt;Declaration&lt;/STRONG&gt;*************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab_mara OCCURS 0,&lt;/P&gt;&lt;P&gt;      matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;      mfrpn LIKE mara-mfrpn,&lt;/P&gt;&lt;P&gt;      mfrnr LIKE mara-mfrnr,&lt;/P&gt;&lt;P&gt;      matkl LIKE mara-matkl,&lt;/P&gt;&lt;P&gt;      werks LIKE marc-werks,&lt;/P&gt;&lt;P&gt;      stawn LIKE marc-stawn,&lt;/P&gt;&lt;P&gt;      mtver LIKE marc-mtver,&lt;/P&gt;&lt;P&gt;      herkl LIKE marc-herkl,&lt;/P&gt;&lt;P&gt;      maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;   END OF itab_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; DATA: BEGIN OF itab_makt OCCURS 0,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; matnr LIKE makt-matnr,&lt;/P&gt;&lt;P&gt; maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; END OF itab_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab_mara1 OCCURS 0,&lt;/P&gt;&lt;P&gt;      objectid LIKE cdpos-objectid,&lt;/P&gt;&lt;P&gt;      mfrpn LIKE mara-mfrpn,&lt;/P&gt;&lt;P&gt;      mfrnr LIKE mara-mfrnr,&lt;/P&gt;&lt;P&gt;      matkl LIKE mara-matkl,&lt;/P&gt;&lt;P&gt;      werks LIKE marc-werks,&lt;/P&gt;&lt;P&gt;      stawn LIKE marc-stawn,&lt;/P&gt;&lt;P&gt;      mtver LIKE marc-mtver,&lt;/P&gt;&lt;P&gt;      herkl LIKE marc-herkl,&lt;/P&gt;&lt;P&gt;      maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;   END OF itab_mara1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab_t023t OCCURS 0,&lt;/P&gt;&lt;P&gt;       matkl LIKE t023t-matkl,&lt;/P&gt;&lt;P&gt;       wgbez LIKE t023t-wgbez,&lt;/P&gt;&lt;P&gt;       END OF itab_t023t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*DATA: ITAB_EKPO TYPE STANDARD TABLE OF EKPO WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab_ekpo OCCURS 0,&lt;/P&gt;&lt;P&gt;      ebeln LIKE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;      matnr LIKE ekpo-matnr,&lt;/P&gt;&lt;P&gt;      lifnr LIKE ekko-lifnr,&lt;/P&gt;&lt;P&gt;      END OF itab_ekpo.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab_lfa1 OCCURS 0,&lt;/P&gt;&lt;P&gt;      lifnr LIKE lfa1-lifnr,&lt;/P&gt;&lt;P&gt;      name1 LIKE lfa1-name1,&lt;/P&gt;&lt;P&gt;      END OF itab_lfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab_t604 OCCURS 0,&lt;/P&gt;&lt;P&gt;      stawn LIKE t604t-stawn,&lt;/P&gt;&lt;P&gt;      text1 LIKE T604T-text1,&lt;/P&gt;&lt;P&gt;      END OF itab_t604.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab_cdpos OCCURS 0,&lt;/P&gt;&lt;P&gt;      objectclas LIKE 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;      tabkey   type cdpos-tabkey,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      END OF itab_cdpos.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab_cdhdr OCCURS 0,&lt;/P&gt;&lt;P&gt;      changenr LIKE cdhdr-changenr,&lt;/P&gt;&lt;P&gt;      username LIKE cdhdr-username,&lt;/P&gt;&lt;P&gt;      udate LIKE cdhdr-udate,&lt;/P&gt;&lt;P&gt;      OBJECTID like CDHDR-OBJECTID,&lt;/P&gt;&lt;P&gt;      END OF itab_cdhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF itab_final OCCURS 0,&lt;/P&gt;&lt;P&gt;       werks LIKE marc-werks,&lt;/P&gt;&lt;P&gt;       stawn LIKE marc-stawn,&lt;/P&gt;&lt;P&gt;       mtver LIKE marc-mtver,&lt;/P&gt;&lt;P&gt;       herkl LIKE marc-herkl,&lt;/P&gt;&lt;P&gt;       matnr LIKE mara-matnr,&lt;/P&gt;&lt;P&gt;       mfrpn LIKE mara-mfrpn,&lt;/P&gt;&lt;P&gt;       mfrnr LIKE mara-mfrnr,&lt;/P&gt;&lt;P&gt;       matkl LIKE mara-matkl,&lt;/P&gt;&lt;P&gt;       ebeln LIKE ekpo-ebeln,&lt;/P&gt;&lt;P&gt;       lifnr LIKE ekko-lifnr,&lt;/P&gt;&lt;P&gt;       name1 LIKE lfa1-name1,&lt;/P&gt;&lt;P&gt;       VENDORNAME LIKE lfa1-name1,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       stawn LIKE t604-stawn,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      text1 LIKE T604T-text1,&lt;/P&gt;&lt;P&gt;      maktx LIKE makt-maktx,&lt;/P&gt;&lt;P&gt;      wgbez LIKE t023t-wgbez,&lt;/P&gt;&lt;P&gt;       changenr LIKE cdhdr-changenr,&lt;/P&gt;&lt;P&gt;      username LIKE cdhdr-username,&lt;/P&gt;&lt;P&gt;      udate LIKE cdhdr-udate,&lt;/P&gt;&lt;P&gt;    END OF itab_final.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;**DATA: wa_marc LIKE itab_marc.&lt;/P&gt;&lt;P&gt;*DATA: wa_mara LIKE itab_mara.&lt;/P&gt;&lt;P&gt;*DATA: wa_ekko LIKE itab_ekko.&lt;/P&gt;&lt;P&gt;*DATA: wa_ekpo LIKE itab_ekpo.&lt;/P&gt;&lt;P&gt;*DATA: wa_lfa1 LIKE itab_lfa1.&lt;/P&gt;&lt;P&gt;*DATA:  wa_t604 LIKE itab_t604.&lt;/P&gt;&lt;P&gt;**DATA:  wa_makt LIKE itab_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; DATA:ve_ausw TYPE c,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       ve_lines TYPE i.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: fieldcat TYPE slis_t_fieldcat_alv,&lt;/P&gt;&lt;P&gt;      fieldcat_ln LIKE LINE OF fieldcat.&lt;/P&gt;&lt;P&gt;DATA : col_pos TYPE i.&lt;/P&gt;&lt;P&gt;DATA: G_REPID LIKE SY-REPID,&lt;/P&gt;&lt;P&gt;       G_SAVE(1) TYPE C,&lt;/P&gt;&lt;P&gt;       GX_VARIANT LIKE DISVARIANT,&lt;/P&gt;&lt;P&gt;       G_VARIANT LIKE DISVARIANT,&lt;/P&gt;&lt;P&gt;        G_EXIT(1) TYPE C.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;********&lt;STRONG&gt;INITIALIZATION&lt;/STRONG&gt;***************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;INITIALIZATION.&lt;/P&gt;&lt;P&gt;  G_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;  G_SAVE = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ************&lt;STRONG&gt;SANDEEP LIST VIEWER&lt;/STRONG&gt;*************&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM VARIANT_INIT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get default variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  GX_VARIANT = G_VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            I_SAVE     = G_SAVE&lt;/P&gt;&lt;P&gt;       CHANGING&lt;/P&gt;&lt;P&gt;            CS_VARIANT = GX_VARIANT&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            NOT_FOUND  = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    P_VARI = GX_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*************&lt;STRONG&gt;VALIDATION&lt;/STRONG&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;  IF s_werks-low &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * from T001W&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;      MESSAGE e011 WITH 'Invalid Plant Code'&lt;/P&gt;&lt;P&gt;               s_werks-low '' ''.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_werks-high &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT SINGLE * from T001W&lt;/P&gt;&lt;P&gt;       WHERE werks = s_werks-high.&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;      MESSAGE e011 WITH 'Invalid Plant Code'&lt;/P&gt;&lt;P&gt;               s_werks-high '' ''.&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;AT SELECTION-SCREEN ON s_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_matnr-low &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT single * from MARA&lt;/P&gt;&lt;P&gt;      WHERE matnr = s_matnr-low.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e011 WITH 'Invalid Material number'&lt;/P&gt;&lt;P&gt;               s_matnr '' ''.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF s_matnr-high &amp;lt;&amp;gt; space.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT single * from MARA&lt;/P&gt;&lt;P&gt;      WHERE matnr = s_matnr-high.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE e011 WITH 'Invalid Material number'&lt;/P&gt;&lt;P&gt;               s_matnr-high '' ''.&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;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM extract_data.&lt;/P&gt;&lt;P&gt;  PERFORM extract_data_t023t using itab_mara.&lt;/P&gt;&lt;P&gt;  PERFORM extract_data_ekpo using itab_mara.&lt;/P&gt;&lt;P&gt;  PERFORM extract_data_lfa1 using itab_mara.&lt;/P&gt;&lt;P&gt;  PERFORM extract_data_t604 using itab_mara.&lt;/P&gt;&lt;P&gt;  PERFORM extract_data_cdhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM build_print.&lt;/P&gt;&lt;P&gt;  PERFORM build_fieldcat.&lt;/P&gt;&lt;P&gt;  PERFORM start_list_viewer.&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;SANDEEP LIST VIEWER&lt;/STRONG&gt;*********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.&lt;/P&gt;&lt;P&gt;  PERFORM F4_FOR_VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  PERFORM PAI_OF_SELECTION_SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; **********  END SANDEEP LIST VIEWER**********&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;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;      FORM extract_data                                             *&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;      ........                                                      *&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 extract_data.&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; SELECT a&lt;SUB&gt;matnr a&lt;/SUB&gt;mfrpn a&lt;SUB&gt;mfrnr a&lt;/SUB&gt;matkl&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        b&lt;SUB&gt;werks b&lt;/SUB&gt;stawn b&lt;SUB&gt;mtver b&lt;/SUB&gt;herkl&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         c~maktx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INTO  TABLE itab_mara&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FROM ( mara&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         as a&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INNER JOIN marc as b&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        on a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr )&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INNER JOIN makt as c&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        on a&lt;SUB&gt;matnr = c&lt;/SUB&gt;matnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        WHERE  a~matnr IN s_matnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AND a~matkl IN s_matkl&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         AND a~ersda IN s_ersda&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AND b~werks IN s_werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AND b~stawn IN s_stawn&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AND c~spras IN s_spras.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; clear: itab_mara.&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;  SELECT a&lt;SUB&gt;matnr a&lt;/SUB&gt;mfrpn a&lt;SUB&gt;mfrnr a&lt;/SUB&gt;matkl&lt;/P&gt;&lt;P&gt;         b&lt;SUB&gt;werks b&lt;/SUB&gt;stawn b&lt;SUB&gt;mtver b&lt;/SUB&gt;herkl&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         c~maktx&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         INTO  TABLE itab_mara&lt;/P&gt;&lt;P&gt;         FROM  mara&lt;/P&gt;&lt;P&gt;          as a&lt;/P&gt;&lt;P&gt;         INNER JOIN marc as b&lt;/P&gt;&lt;P&gt;         on a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        INNER JOIN makt as c&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        on a&lt;SUB&gt;matnr = b&lt;/SUB&gt;matnr&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         WHERE  a~matnr IN s_matnr&lt;/P&gt;&lt;P&gt;         AND a~matkl IN s_matkl&lt;/P&gt;&lt;P&gt;          AND a~ersda IN s_ersda&lt;/P&gt;&lt;P&gt;         AND b~werks IN s_werks&lt;/P&gt;&lt;P&gt;         AND b~stawn IN s_stawn.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        AND c~spras IN s_spras.&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;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;  SORT itab_mara BY matnr.&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;  SELECT  matnr maktx&lt;/P&gt;&lt;P&gt;  INTO TABLE itab_makt&lt;/P&gt;&lt;P&gt;  FROM makt&lt;/P&gt;&lt;P&gt;  FOR ALL ENTRIES IN itab_mara&lt;/P&gt;&lt;P&gt;  WHERE matnr = itab_mara-matnr&lt;/P&gt;&lt;P&gt;  AND spras IN s_spras.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;  SORT itab_makt BY maktx.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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  extract_data_t023t&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;P_ITAB_MARA  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 extract_data_t023t USING P_ITAB_MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*IF NOT itab_mara IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT matkl wgbez&lt;/P&gt;&lt;P&gt;          INTO table itab_t023t&lt;/P&gt;&lt;P&gt;          FROM t023t&lt;/P&gt;&lt;P&gt;          FOR ALL ENTRIES IN itab_mara&lt;/P&gt;&lt;P&gt;          WHERE spras IN s_spras&lt;/P&gt;&lt;P&gt;          AND matkl = itab_mara-matkl&lt;/P&gt;&lt;P&gt;          AND wgbez IN s_wgbez.&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;SORT  itab_t023t BY matkl.&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.            " extract_data_t023t&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;*&amp;amp;      Form  extract_data_ekpo&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;P_ITAB_MARA  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 extract_data_ekpo USING  P_ITAB_MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*IF NOT itab_mara IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT a&lt;SUB&gt;ebeln a&lt;/SUB&gt;matnr b~lifnr&lt;/P&gt;&lt;P&gt;         INTO  TABLE itab_ekpo&lt;/P&gt;&lt;P&gt;         from ekpo as a&lt;/P&gt;&lt;P&gt;         INNER JOIN ekko as b&lt;/P&gt;&lt;P&gt;         ON a&lt;SUB&gt;ebeln = b&lt;/SUB&gt;ebeln&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN itab_mara&lt;/P&gt;&lt;P&gt;         WHERE a~matnr = itab_mara-matnr&lt;/P&gt;&lt;P&gt;         AND   b~lifnr IN s_lifnr&lt;/P&gt;&lt;P&gt;         AND a~ebeln IN s_ebeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " extract_data_ekpo&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  extract_data_lfa1&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;P_ITAB_MARA  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 extract_data_lfa1 USING  P_ITAB_MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*IF NOT itab_mara IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT lifnr name1&lt;/P&gt;&lt;P&gt;     INTO table itab_lfa1&lt;/P&gt;&lt;P&gt;     FROM lfa1&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN itab_mara&lt;/P&gt;&lt;P&gt;     WHERE lifnr = itab_mara-mfrnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT lifnr name1&lt;/P&gt;&lt;P&gt;      appending table itab_lfa1&lt;/P&gt;&lt;P&gt;      FROM LFA1&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN itab_ekpo&lt;/P&gt;&lt;P&gt;      WHERE lifnr = itab_ekpo-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;SORT itab_lfa1 BY lifnr.&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;ENDFORM.                    " extract_data_lfa1&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;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; sort itab_ekko.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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  extract_data_t604&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;P_ITAB_MARA  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 extract_data_t604 USING    P_ITAB_MARA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*IF NOT itab_mara IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT stawn text1&lt;/P&gt;&lt;P&gt;      INTO table itab_t604&lt;/P&gt;&lt;P&gt;      FROM t604t&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN itab_mara&lt;/P&gt;&lt;P&gt;      WHERE stawn = itab_mara-stawn&lt;/P&gt;&lt;P&gt;      AND spras IN S_spras&lt;/P&gt;&lt;P&gt;      AND land1 IN s_land1.&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;  SORT itab_t604 BY stawn.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.   " extract_data_t604&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; SELECT maktx&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    INTO table itab_makt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FROM makt&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    FOR ALL ENTRIES IN itab_mara&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    WHERE matnr = itab_mara-matnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*loop at itab_mara.&lt;/P&gt;&lt;P&gt;*DATA: field(10) type c.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;REPLACE itab_mara-matnr with ' ' INTO field.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;field1 = CONDENSE field NO-GAPS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;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  extract_data_cdhdr&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 extract_data_cdhdr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;itab_mara1[] = itab_mara[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT  objectclas objectid changenr tabkey&lt;/P&gt;&lt;P&gt;         INTO  TABLE  itab_cdpos&lt;/P&gt;&lt;P&gt;         from cdpos&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;        FOR ALL ENTRIES IN itab_mara1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;         WHERE objectid  IN S_MATNR " itab_mara1-objectid&lt;/P&gt;&lt;P&gt;         AND   TABNAME = 'MARC'&lt;/P&gt;&lt;P&gt;         AND   FNAME = 'STAWN'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         AND OBJECTID IN S_MATNR.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;if not s_werks[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Delete itab_cdpos where NOT tabkey+21(4) IN s_werks.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;IF NOT itab_cdpos[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    SELECT   changenr username udate OBJECTID&lt;/P&gt;&lt;P&gt;           INTO  TABLE itab_cdhdr&lt;/P&gt;&lt;P&gt;            FROM cdhdr&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN itab_cdpos&lt;/P&gt;&lt;P&gt;           WHERE changenr = itab_cdpos-changenr&lt;/P&gt;&lt;P&gt;            AND OBJECTCLAS = itab_cdpos-objectclas&lt;/P&gt;&lt;P&gt;            AND objectid = itab_cdpos-objectid.&lt;/P&gt;&lt;P&gt;if sy-subrc eq 0.&lt;/P&gt;&lt;P&gt;  sort itab_cdhdr descending by udate.&lt;/P&gt;&lt;P&gt;  SORT itab_cdhdr BY objectid.&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.       " extract_data_cdhdr&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;      FORM build_print                                              *&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;      ........                                                      *&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 build_print.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT itab_ekpo."into wa_mara.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    itab_final-ebeln = itab_ekpo-ebeln.&lt;/P&gt;&lt;P&gt;    itab_final-lifnr = itab_ekpo-lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*loop at itab_ekpo.&lt;/P&gt;&lt;P&gt;Read table itab_mara with key matnr = itab_ekpo-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    itab_final-matnr = itab_mara-matnr.&lt;/P&gt;&lt;P&gt;    itab_final-mfrpn = itab_mara-mfrpn.&lt;/P&gt;&lt;P&gt;    itab_final-mfrnr = itab_mara-mfrnr.&lt;/P&gt;&lt;P&gt;    itab_final-matkl = itab_mara-matkl.&lt;/P&gt;&lt;P&gt;    itab_final-werks = itab_mara-werks.&lt;/P&gt;&lt;P&gt;    itab_final-stawn = itab_mara-stawn.&lt;/P&gt;&lt;P&gt;    itab_final-mtver = itab_mara-mtver.&lt;/P&gt;&lt;P&gt;    itab_final-herkl = itab_mara-herkl.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   itab_final-maktx = itab_mara-maktx.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE itab_makt with key matnr = itab_mara-matnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;itab_final-maktx = itab_makt-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR:itab_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; READ TABLE itab_t023t with key matkl = itab_mara-matkl BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    itab_final-wgbez =  itab_t023t-wgbez.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLEAR:itab_t023t.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   SORT  itab_ekpo BY matnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*READ TABLE itab_ekpo with key matnr = itab_final-matnr BINARY SEARCH.&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;   itab_final-ebeln = itab_ekpo-ebeln.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   itab_final-lifnr = itab_ekpo-lifnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR: itab_ekpo.&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; READ TABLE itab_ekko with key ebeln = itab_ekpo-ebeln.&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;itab_final-lifnr = itab_ekko-lifnr.&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;READ TABLE itab_lfa1 with key lifnr = itab_mara-mfrnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;itab_final-name1 = itab_lfa1-name1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*SORT itab_lfa1 BY lifnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE itab_lfa1 with key lifnr = itab_ekpo-lifnr BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  itab_final-lifnr = itab_lfa1-lifnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    itab_final-vendorname = itab_lfa1-name1.&lt;/P&gt;&lt;P&gt;CLEAR: itab_ekpo.&lt;/P&gt;&lt;P&gt;clear itab_lfa1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    READ TABLE itab_t604 WITH KEY stawn = itab_mara-stawn BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    itab_final-text1 = ITAB_t604-text1.&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; LOOP AT ITAB_CDPOS.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*SORT itab_cdhdr BY objectid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;READ TABLE itab_cdhdr WITH KEY OBJECTID = itab_MARA-MATNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    itab_final-username = itab_cdhdr-username.&lt;/P&gt;&lt;P&gt;    itab_final-udate = itab_cdhdr-udate.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND itab_final.&lt;/P&gt;&lt;P&gt;    CLEAR:itab_mara.&lt;/P&gt;&lt;P&gt;    CLEAR itab_cdhdr.&lt;/P&gt;&lt;P&gt;    CLEAR:itab_final.&lt;/P&gt;&lt;P&gt;    CLEAR: itab_t604.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&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;      FORM start_list_viewer                                        *&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;      ........                                                      *&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 start_list_viewer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'&lt;/P&gt;&lt;P&gt;   EXPORTING&lt;/P&gt;&lt;P&gt;     I_CALLBACK_PROGRAM  = G_REPID&lt;/P&gt;&lt;P&gt;     IT_FIELDCAT    =  fieldcat&lt;/P&gt;&lt;P&gt;     I_DEFAULT     = 'X'&lt;/P&gt;&lt;P&gt;     I_SAVE      =  G_SAVE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IT_EVENTS  = itab_eventcat&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IS_VARIANT               = G_VARIANT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      T_OUTTAB  = itab_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;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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;      FORM build_fieldcat                                           *&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;      ........                                                      *&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 build_fieldcat.&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'MARC'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'WERKS'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'WERKS'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-003.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 04.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'MARA'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'MATNR'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'MATNR'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-004.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 18.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'MAKT'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'MAKTX'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-005.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen  = 40.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'MARA'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'MATKL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'MATKL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-006.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 09.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&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;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'T023T'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'WGBEZ'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'WGBEZ'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-007.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 20.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'MARA'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'MFRPN'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'MFRPN'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-008.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 40.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'MARA'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'MFRNR'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'MFRNR'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-009.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 10.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'LFA1'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'NAME1'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'NAME1'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-010.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 35.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'MARC'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'MTVER'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'MTVER'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-011.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen  = 04.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'EKPO'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'EBELN'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'EBELN'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-012.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen  = 10.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'LFA1'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'VENDORNAME'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'VENDORNAME'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-020.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen  = 35.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'EKKO'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'LIFNR'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-013.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen  = 10.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'MARC'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'HERKL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'HERKL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-014.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 3.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'CDHDR'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'USERNAME'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'USERNAME'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-017.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 12.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'CDHDR'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'UDATE'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'UDATE'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-018.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 08.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&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;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'MARC'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'STAWN'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'STAWN'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-015.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 17.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ADD 1 TO col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_tabname    = 'T604T'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ref_fieldname  = 'TEXT1'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-tabname        = 'ITAB_FINAL'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-fieldname      = 'TEXT1'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-col_pos        = col_pos.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-seltext_l      = text-016.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-ddictxt        = 'L'.&lt;/P&gt;&lt;P&gt;  fieldcat_ln-outputlen = 40.&lt;/P&gt;&lt;P&gt;  APPEND fieldcat_ln TO fieldcat.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;**********&lt;STRONG&gt;SANDEEP LIST VIEWER&lt;/STRONG&gt;*********&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM F4_FOR_VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IS_VARIANT  = G_VARIANT&lt;/P&gt;&lt;P&gt;     I_SAVE  = G_SAVE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  I_DISPLAY_VIA_GRID        = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;   IMPORTING&lt;/P&gt;&lt;P&gt;     E_EXIT   =  G_EXIT&lt;/P&gt;&lt;P&gt;     ES_VARIANT = GX_VARIANT&lt;/P&gt;&lt;P&gt;   EXCEPTIONS&lt;/P&gt;&lt;P&gt;     NOT_FOUND                 = 1          .&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;P&gt;    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF G_EXIT = SPACE.&lt;/P&gt;&lt;P&gt;      P_VARI = GX_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&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;      FORM PAI_OF_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;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;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM PAI_OF_SELECTION_SCREEN.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  IF NOT P_VARI IS INITIAL.&lt;/P&gt;&lt;P&gt;    MOVE G_VARIANT TO GX_VARIANT.&lt;/P&gt;&lt;P&gt;    MOVE P_VARI TO GX_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'&lt;/P&gt;&lt;P&gt;         EXPORTING&lt;/P&gt;&lt;P&gt;              I_SAVE     = G_SAVE&lt;/P&gt;&lt;P&gt;         CHANGING&lt;/P&gt;&lt;P&gt;              CS_VARIANT = GX_VARIANT.&lt;/P&gt;&lt;P&gt;    G_VARIANT = GX_VARIANT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM VARIANT_INIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.         "PAI_OF_SELECTION_SCREEN&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;      FORM VARIANT_INIT                                             *&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;      ........                                                      *&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 VARIANT_INIT.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;  CLEAR G_VARIANT.&lt;/P&gt;&lt;P&gt;  G_VARIANT-REPORT = G_REPID.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " VARIANT_INIT&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2007 10:13:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378363#M527590</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-13T10:13:20Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378364#M527591</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;to improve perfomance of  program, aplliey these perfomance ticks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) create internal table without header line instead of creating with headerline.&lt;/P&gt;&lt;P&gt;2) while creating internal use TYPE instead of uaisg  LIKE key word.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3) in at selection-screen event, u write select query  with exactly required fields&lt;/P&gt;&lt;P&gt;    insted of writing select *.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;4) better to provide default values to the selection-screen fields.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;5) once check ,  are you using peoper tables for reading data from data base tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;6) also check u  r using proper index or not ( table has primary and secondary indexes)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;7) if possible use FOR ALL ENTRIES, insted of using JOINS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":smiling_face_with_sunglasses:"&gt;😎&lt;/span&gt; you created  field catalog manually, if possible call function REUSE_ALV_FIELDCATALOG_MERGE  for field headings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;Ashokreddy.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2007 10:34:13 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378364#M527591</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-13T10:34:13Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378365#M527592</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;Dont use SELECT SINGLE *..&lt;/P&gt;&lt;P&gt;instead define a local variable for which you are validating&lt;/P&gt;&lt;P&gt;EG: lv_werks type werks_d.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;select single werks from &amp;lt;DBTABLE&amp;gt; into lv_werks where &amp;lt;cond&amp;gt;..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do use for all entries instead of inner joins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;rewards if useful..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;nazeer&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2007 10:45:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378365#M527592</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-13T10:45:50Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378366#M527593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Never use * in select statement.&lt;/P&gt;&lt;P&gt;just give what are trhe fileds uneed from the table.&lt;/P&gt;&lt;P&gt;SELECT BUKRS from table /.../&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2007 10:50:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378366#M527593</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-13T10:50:01Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378367#M527594</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;Before running select -- for all entries, make sure that the internal table used in for all entries is not initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Eg : YOur query ::&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If not itab_mara[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT matnr maktx INTO TABLE itab_makt FROM makt FOR ALL ENTRIES IN itab_mara WHERE matnr = itab_mara-matn AND spras IN s_spras.&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;This is required because in case if the internal table itab_mara is empty, the select query will run for all entries in the table MARA and it will be highly expensive.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is for all select queries using For All Entries.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;Plese reward if found useful.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;sachin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 13 Jun 2007 10:57:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2378367#M527594</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-13T10:57:09Z</dc:date>
    </item>
  </channel>
</rss>

