<?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 Issue in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737168#M320592</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Simple recommendation.....Replace this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
LOOP AT I_VBAK WHERE VDATU IN S_VDATU1.
I_VBAK-FLAG = 'X'.
MODIFY I_VBAK index sy-tabix.
ENDLOOP.

LOOP AT I_VBAK WHERE VDATU IN S_VDATU2.
I_VBAK-FLAG = 'Y'.
MODIFY I_VBAK index sy-tabix.
ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
LOOP AT I_VBAK.
IF VDATU IN S_VDATU1.
I_VBAK-FLAG = 'X'.
ELSEIF VDATU IN S_VDATU2 .
I_VBAK-FLAG = 'Y'.
ENDIF.
MODIFY I_VBAK index sy-tabix.
ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greetings,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Blag.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 14 Dec 2006 15:31:16 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2006-12-14T15:31:16Z</dc:date>
    <item>
      <title>Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737166#M320590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear All.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Plz find the below report. But when I am running the following report its taking a lot of time to get executed. Can anybody suggest how the performance of the following report can be improved. Please find the report below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZFI_OPEN_ORDER_QTY NO STANDARD PAGE HEADING LINE-SIZE 500 .&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;*****TABLES USED&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: VBAK,    "Sales Document: Header Data&lt;/P&gt;&lt;P&gt;        VBAP,    "Sales Document: Item Data&lt;/P&gt;&lt;P&gt;        MARA,    "General Material Data&lt;/P&gt;&lt;P&gt;        VBBE,    "Sales Requirements: Individual Records&lt;/P&gt;&lt;P&gt;        MAKT,    "Material Descriptions&lt;/P&gt;&lt;P&gt;        MCHB.    "Batch Stocks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ALV DECLARATIONS&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: FIELDLAYOUT  TYPE SLIS_LAYOUT_ALV,&lt;/P&gt;&lt;P&gt;      L_FCAT       TYPE SLIS_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      T_FCAT       TYPE SLIS_T_FIELDCAT_ALV,&lt;/P&gt;&lt;P&gt;      L_REPID      LIKE SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_VBAK OCCURS 0,&lt;/P&gt;&lt;P&gt;        VKORG LIKE VBAK-VKORG,&lt;/P&gt;&lt;P&gt;        VTWEG LIKE VBAK-VTWEG,&lt;/P&gt;&lt;P&gt;        AUART LIKE VBAK-AUART,&lt;/P&gt;&lt;P&gt;        VDATU LIKE VBAK-VDATU,&lt;/P&gt;&lt;P&gt;        VBELN LIKE VBAK-VBELN,&lt;/P&gt;&lt;P&gt;        KUNNR LIKE VBAK-KUNNR,&lt;/P&gt;&lt;P&gt;        LIFSK LIKE VBAK-LIFSK,&lt;/P&gt;&lt;P&gt;        FLAG(1),&lt;/P&gt;&lt;P&gt;      END OF I_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_VBAP OCCURS 0,&lt;/P&gt;&lt;P&gt;        VBELN LIKE VBAP-VBELN,&lt;/P&gt;&lt;P&gt;        POSNR LIKE VBAP-POSNR,&lt;/P&gt;&lt;P&gt;        MATNR LIKE VBAP-MATNR,&lt;/P&gt;&lt;P&gt;        FLAG(1),&lt;/P&gt;&lt;P&gt;      END OF I_VBAP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_VBAP1 LIKE I_VBAP OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      I_VBAP2 LIKE I_VBAP OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_VBBE OCCURS 0,&lt;/P&gt;&lt;P&gt;        VBELN LIKE VBBE-VBELN,&lt;/P&gt;&lt;P&gt;        POSNR LIKE VBBE-POSNR,&lt;/P&gt;&lt;P&gt;        MATNR LIKE VBBE-MATNR,&lt;/P&gt;&lt;P&gt;        OMENG LIKE VBBE-OMENG,&lt;/P&gt;&lt;P&gt;      END OF I_VBBE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_VBBE1 LIKE I_VBBE OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      I_VBBE2 LIKE I_VBBE OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_VBBE_M OCCURS 0,&lt;/P&gt;&lt;P&gt;        MATNR LIKE VBBE-MATNR,&lt;/P&gt;&lt;P&gt;        OMENG LIKE VBBE-OMENG,&lt;/P&gt;&lt;P&gt;      END OF I_VBBE_M.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_VBBE1_M  LIKE I_VBBE_M OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      I_VBBE2_M  LIKE I_VBBE_M OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      I_VBBEDEL1 LIKE I_VBBE   OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      I_VBBEDEL2 LIKE I_VBBE_M OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_LIKP OCCURS 0,&lt;/P&gt;&lt;P&gt;        VBELN LIKE LIKP-VBELN,&lt;/P&gt;&lt;P&gt;        LFART LIKE LIKP-LFART,&lt;/P&gt;&lt;P&gt;        ERDAT LIKE LIKP-ERDAT,&lt;/P&gt;&lt;P&gt;        VKORG LIKE LIKP-VKORG,&lt;/P&gt;&lt;P&gt;      END OF I_LIKP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_MATNR OCCURS 0,&lt;/P&gt;&lt;P&gt;        MATNR LIKE VBAP-MATNR,&lt;/P&gt;&lt;P&gt;      END OF I_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_MCHB OCCURS 0,&lt;/P&gt;&lt;P&gt;        MATNR LIKE MCHB-MATNR,&lt;/P&gt;&lt;P&gt;        CLABS LIKE MCHB-CLABS,&lt;/P&gt;&lt;P&gt;        CINSM LIKE MCHB-CINSM,&lt;/P&gt;&lt;P&gt;      END OF I_MCHB.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_MCHB1 OCCURS 0,&lt;/P&gt;&lt;P&gt;        MATNR LIKE MCHB-MATNR,&lt;/P&gt;&lt;P&gt;        CLABS LIKE MCHB-CLABS,&lt;/P&gt;&lt;P&gt;      END OF I_MCHB1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_MCHB2 OCCURS 0,&lt;/P&gt;&lt;P&gt;        MATNR LIKE MCHB-MATNR,&lt;/P&gt;&lt;P&gt;        CINSM LIKE MCHB-CINSM,&lt;/P&gt;&lt;P&gt;      END OF I_MCHB2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_FINAL OCCURS 0,&lt;/P&gt;&lt;P&gt;        MATNR     LIKE VBAP-MATNR,&lt;/P&gt;&lt;P&gt;        MAKTX     LIKE MAKT-MAKTX,&lt;/P&gt;&lt;P&gt;        OMENG1    LIKE VBBE-OMENG,&lt;/P&gt;&lt;P&gt;        OMENG3    LIKE VBBE-OMENG,&lt;/P&gt;&lt;P&gt;        CLABS     LIKE MCHB-CLABS,&lt;/P&gt;&lt;P&gt;        BCK_ORD   LIKE VBBE-OMENG,&lt;/P&gt;&lt;P&gt;        CINSM     LIKE MCHB-CINSM,&lt;/P&gt;&lt;P&gt;        OMENG2    LIKE VBBE-OMENG,&lt;/P&gt;&lt;P&gt;        SHRT_SUPP LIKE VBBE-OMENG,&lt;/P&gt;&lt;P&gt;      END OF I_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_FDCT LIKE I_FINAL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RANGES: R_VDATU FOR VBAK-VDATU,&lt;/P&gt;&lt;P&gt;        R_ERDAT FOR LIKP-ERDAT,&lt;/P&gt;&lt;P&gt;        R_VMSTA FOR MVKE-VMSTA.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;*****Selection Screen                                                 *&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS:&lt;/P&gt;&lt;P&gt;  S_VKORG   FOR VBAK-VKORG  OBLIGATORY,  "Sales Org&lt;/P&gt;&lt;P&gt;  S_VTWEG   FOR VBAK-VTWEG,              "Dist Channel&lt;/P&gt;&lt;P&gt;  S_AUART   FOR VBAK-AUART,              "Sales Doc Type&lt;/P&gt;&lt;P&gt;  S_VDATU1  FOR VBAK-VDATU OBLIGATORY NO-EXTENSION,&lt;/P&gt;&lt;P&gt;                                         "Open Order Period 1&lt;/P&gt;&lt;P&gt;  S_VDATU2  FOR VBAK-VDATU OBLIGATORY NO-EXTENSION,&lt;/P&gt;&lt;P&gt;                                         "Open Order Period 2&lt;/P&gt;&lt;P&gt;  S_VBELN   FOR VBAK-VBELN,              "Sales Order Number&lt;/P&gt;&lt;P&gt;  S_MATNR   FOR VBAP-MATNR NO INTERVALS, "Material&lt;/P&gt;&lt;P&gt;  S_BISMT   FOR MARA-BISMT,              "Old Material Number&lt;/P&gt;&lt;P&gt;  S_KUNNR   FOR VBAK-KUNNR,              "Sold to Party&lt;/P&gt;&lt;P&gt;  S_LIFSK   FOR VBAK-LIFSK,              "Delivery Block&lt;/P&gt;&lt;P&gt;  S_ABGRU   FOR VBAP-ABGRU,              "Reason or Rejection&lt;/P&gt;&lt;P&gt;  S_WERKS   FOR VBAP-WERKS,              "Plant&lt;/P&gt;&lt;P&gt;  S_LGORT   FOR VBAP-LGORT.              "Storage Location&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_VDATU1-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF S_VDATU1-LOW &amp;gt; S_VDATU1-HIGH.&lt;/P&gt;&lt;P&gt;      MESSAGE E650(DB).&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF S_VDATU2-LOW &amp;lt; S_VDATU1-HIGH.&lt;/P&gt;&lt;P&gt;      MESSAGE E001(EBPPLOG) WITH&lt;/P&gt;&lt;P&gt;      'period 1 should be less than period 2'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF S_VDATU2-LOW &amp;lt; S_VDATU1-LOW.&lt;/P&gt;&lt;P&gt;      MESSAGE E001(EBPPLOG) WITH&lt;/P&gt;&lt;P&gt;     'period 1 should be less than period 2'.&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 S_VDATU2-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF S_VDATU2-LOW &amp;gt; S_VDATU2-HIGH.&lt;/P&gt;&lt;P&gt;      MESSAGE E650(DB).&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;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF S_MATNR-LOW IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM GET_MATERIAL.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM GET_VBAK.&lt;/P&gt;&lt;P&gt;  PERFORM ACCUMULATE_DATA.&lt;/P&gt;&lt;P&gt;  PERFORM DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  get_vbak&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 GET_VBAK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR R_ERDAT.&lt;/P&gt;&lt;P&gt;  R_ERDAT-SIGN   = 'I'.&lt;/P&gt;&lt;P&gt;  R_ERDAT-OPTION = 'BT'.&lt;/P&gt;&lt;P&gt;  R_ERDAT-LOW    = SY-DATUM - 61.&lt;/P&gt;&lt;P&gt;  R_ERDAT-HIGH   = SY-DATUM + 1.&lt;/P&gt;&lt;P&gt;  APPEND R_ERDAT.&lt;/P&gt;&lt;P&gt;  CLEAR R_VDATU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  R_VDATU-SIGN   = 'I'.&lt;/P&gt;&lt;P&gt;  R_VDATU-OPTION = 'BT'.&lt;/P&gt;&lt;P&gt;  R_VDATU-LOW    = S_VDATU1-LOW.&lt;/P&gt;&lt;P&gt;  R_VDATU-HIGH   = S_VDATU1-HIGH.&lt;/P&gt;&lt;P&gt;  APPEND R_VDATU.&lt;/P&gt;&lt;P&gt;  CLEAR R_VDATU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  R_VDATU-SIGN   = 'I'.&lt;/P&gt;&lt;P&gt;  R_VDATU-OPTION = 'BT'.&lt;/P&gt;&lt;P&gt;  R_VDATU-LOW    = S_VDATU2-LOW.&lt;/P&gt;&lt;P&gt;  R_VDATU-HIGH   = S_VDATU2-HIGH.&lt;/P&gt;&lt;P&gt;  APPEND R_VDATU.&lt;/P&gt;&lt;P&gt;  CLEAR R_VDATU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT VKORG VTWEG AUART VDATU VBELN KUNNR LIFSK FROM VBAK INTO TABLE&lt;/P&gt;&lt;P&gt;  I_VBAK WHERE VKORG  IN S_VKORG  AND&lt;/P&gt;&lt;P&gt;         VTWEG  IN S_VTWEG  AND&lt;/P&gt;&lt;P&gt;         AUART  IN S_AUART  AND&lt;/P&gt;&lt;P&gt;         VDATU  IN R_VDATU AND&lt;/P&gt;&lt;P&gt;         VBELN  IN S_VBELN  AND&lt;/P&gt;&lt;P&gt;         KUNNR  IN S_KUNNR  AND&lt;/P&gt;&lt;P&gt;         LIFSK  IN S_LIFSK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_VBAK WHERE VDATU IN S_VDATU1.&lt;/P&gt;&lt;P&gt;    I_VBAK-FLAG = 'X'.&lt;/P&gt;&lt;P&gt;    MODIFY I_VBAK index sy-tabix.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_VBAK WHERE VDATU IN S_VDATU2.&lt;/P&gt;&lt;P&gt;    I_VBAK-FLAG = 'Y'.&lt;/P&gt;&lt;P&gt;    MODIFY I_VBAK index sy-tabix.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT I_VBAK[] IS INITIAL.&lt;/P&gt;&lt;P&gt;  SELECT VBELN POSNR MATNR FROM VBAP INTO CORRESPONDING FIELDS OF TABLE&lt;/P&gt;&lt;P&gt;                                       I_VBAP FOR ALL ENTRIES IN I_VBAK&lt;/P&gt;&lt;P&gt;                                             WHERE VBELN = I_VBAK-VBELN&lt;/P&gt;&lt;P&gt;                                                   AND MATNR IN S_MATNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_VBAP.&lt;/P&gt;&lt;P&gt;    READ TABLE I_VBAK WITH KEY VBELN = I_VBAP-VBELN.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      I_VBAP-FLAG = I_VBAK-FLAG.&lt;/P&gt;&lt;P&gt;      MODIFY I_VBAP.&lt;/P&gt;&lt;P&gt;      IF I_VBAP-FLAG = 'X'.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING I_VBAP TO I_VBAP1.&lt;/P&gt;&lt;P&gt;        APPEND I_VBAP1.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        MOVE-CORRESPONDING I_VBAP TO I_VBAP2.&lt;/P&gt;&lt;P&gt;        APPEND I_VBAP2.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*1.for open order quantity1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT I_VBAP1[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT VBELN POSNR MATNR OMENG FROM VBBE INTO TABLE I_VBBE1 FOR ALL&lt;/P&gt;&lt;P&gt;    ENTRIES IN I_VBAP1 WHERE VBELN = I_VBAP1-VBELN&lt;/P&gt;&lt;P&gt;                         AND POSNR = I_VBAP1-POSNR&lt;/P&gt;&lt;P&gt;                         AND MATNR = I_VBAP1-MATNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_VBBE1.&lt;/P&gt;&lt;P&gt;    I_VBBE1_M-MATNR  = I_VBBE1-MATNR.&lt;/P&gt;&lt;P&gt;    I_VBBE1_M-OMENG  = I_VBBE1-OMENG.&lt;/P&gt;&lt;P&gt;    COLLECT I_VBBE1_M.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*2.for open order quantity2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT I_VBAP2[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT VBELN POSNR MATNR OMENG FROM VBBE INTO TABLE I_VBBE2 FOR ALL&lt;/P&gt;&lt;P&gt;    ENTRIES IN I_VBAP2 WHERE VBELN = I_VBAP2-VBELN&lt;/P&gt;&lt;P&gt;                         AND POSNR = I_VBAP2-POSNR&lt;/P&gt;&lt;P&gt;                         AND MATNR = I_VBAP2-MATNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_VBBE2.&lt;/P&gt;&lt;P&gt;    I_VBBE2_M-MATNR  = I_VBBE2-MATNR.&lt;/P&gt;&lt;P&gt;    I_VBBE2_M-OMENG  = I_VBBE2-OMENG.&lt;/P&gt;&lt;P&gt;    COLLECT I_VBBE2_M.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*3.for open delivery quantity&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT VBELN LFART ERDAT VKORG FROM LIKP INTO CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;  TABLE I_LIKP WHERE LFART = 'ZULF'&lt;/P&gt;&lt;P&gt;                 AND ERDAT IN R_ERDAT&lt;/P&gt;&lt;P&gt;                 AND VKORG IN S_VKORG.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT I_LIKP[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SELECT VBELN POSNR MATNR OMENG FROM VBBE INTO CORRESPONDING FIELDS&lt;/P&gt;&lt;P&gt;    OF TABLE I_VBBEDEL1 FOR ALL ENTRIES IN I_LIKP&lt;/P&gt;&lt;P&gt;    WHERE VBELN = I_LIKP-VBELN&lt;/P&gt;&lt;P&gt;      AND MATNR IN S_MATNR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_VBBEDEL1.&lt;/P&gt;&lt;P&gt;    I_VBBEDEL2-MATNR  = I_VBBEDEL1-MATNR.&lt;/P&gt;&lt;P&gt;    I_VBBEDEL2-OMENG  = I_VBBEDEL1-OMENG.&lt;/P&gt;&lt;P&gt;    COLLECT I_VBBEDEL2.&lt;/P&gt;&lt;P&gt;    CLEAR I_VBBEDEL2.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*4.for material stocks&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT MATNR CLABS CINSM FROM MCHB INTO CORRESPONDING FIELDS OF&lt;/P&gt;&lt;P&gt;  TABLE I_MCHB WHERE MATNR IN S_MATNR&lt;/P&gt;&lt;P&gt;                 AND WERKS IN S_WERKS&lt;/P&gt;&lt;P&gt;                 AND LGORT IN S_LGORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_MCHB.&lt;/P&gt;&lt;P&gt;    I_MCHB1-MATNR = I_MCHB-MATNR.&lt;/P&gt;&lt;P&gt;    I_MCHB1-CLABS = I_MCHB-CLABS.&lt;/P&gt;&lt;P&gt;    COLLECT I_MCHB1.&lt;/P&gt;&lt;P&gt;    CLEAR I_MCHB1.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*5.for inspection quantity.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_MCHB.&lt;/P&gt;&lt;P&gt;    I_MCHB2-MATNR = I_MCHB-MATNR.&lt;/P&gt;&lt;P&gt;    I_MCHB2-CINSM = I_MCHB-CINSM.&lt;/P&gt;&lt;P&gt;    COLLECT I_MCHB2.&lt;/P&gt;&lt;P&gt;    CLEAR   I_MCHB2.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " get_vbak&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_MATERIAL&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 GET_MATERIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR R_VMSTA.&lt;/P&gt;&lt;P&gt;  R_VMSTA-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  R_VMSTA-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;  R_VMSTA-LOW = '05'.&lt;/P&gt;&lt;P&gt;  APPEND R_VMSTA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR R_VMSTA.&lt;/P&gt;&lt;P&gt;  R_VMSTA-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  R_VMSTA-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;  R_VMSTA-LOW = '11'.&lt;/P&gt;&lt;P&gt;  APPEND R_VMSTA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR R_VMSTA.&lt;/P&gt;&lt;P&gt;  R_VMSTA-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  R_VMSTA-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;  R_VMSTA-LOW = '91'.&lt;/P&gt;&lt;P&gt;  APPEND R_VMSTA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR R_VMSTA.&lt;/P&gt;&lt;P&gt;  R_VMSTA-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;  R_VMSTA-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;  R_VMSTA-LOW = '92'.&lt;/P&gt;&lt;P&gt;  APPEND R_VMSTA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR R_VMSTA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR:  I_MATNR,I_MATNR[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SELECT C~MATNR INTO TABLE I_MATNR FROM MVKE AS A&lt;/P&gt;&lt;P&gt;                            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;P&gt;                            JOIN MARA AS C&lt;/P&gt;&lt;P&gt;                              ON B&lt;SUB&gt;MATNR = C&lt;/SUB&gt;MATNR&lt;/P&gt;&lt;P&gt;     WHERE A~VKORG IN S_VKORG&lt;/P&gt;&lt;P&gt;       AND A~VTWEG IN S_VTWEG&lt;/P&gt;&lt;P&gt;       AND A~VMSTA IN R_VMSTA&lt;/P&gt;&lt;P&gt;       AND A~LVORM = ' '&lt;/P&gt;&lt;P&gt;       AND B~WERKS IN S_WERKS&lt;/P&gt;&lt;P&gt;       AND B~LVORM = ' '&lt;/P&gt;&lt;P&gt;       AND C~BISMT IN S_BISMT&lt;/P&gt;&lt;P&gt;       AND C~LVORM = ' '&lt;/P&gt;&lt;P&gt;       AND C~ENTAR = ' ' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT I_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM I_MATNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_MATNR.&lt;/P&gt;&lt;P&gt;    CLEAR S_MATNR.&lt;/P&gt;&lt;P&gt;    S_MATNR-SIGN = 'I'.&lt;/P&gt;&lt;P&gt;    S_MATNR-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;    S_MATNR-LOW = I_MATNR-MATNR.&lt;/P&gt;&lt;P&gt;    APPEND S_MATNR.&lt;/P&gt;&lt;P&gt;    CLEAR S_MATNR.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " GET_MATERIAL&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  ACCUMULATE_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;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 ACCUMULATE_DATA.&lt;/P&gt;&lt;P&gt;  LOOP AT S_MATNR.&lt;/P&gt;&lt;P&gt;*1 for material&lt;/P&gt;&lt;P&gt;    I_FINAL-MATNR = S_MATNR-LOW.&lt;/P&gt;&lt;P&gt;*2 for material description&lt;/P&gt;&lt;P&gt;    SELECT SINGLE MAKTX FROM MAKT INTO I_FINAL-MAKTX&lt;/P&gt;&lt;P&gt;    WHERE MATNR = S_MATNR-LOW&lt;/P&gt;&lt;P&gt;      AND SPRAS = SY-LANGU.&lt;/P&gt;&lt;P&gt;*3 for open order quantity1&lt;/P&gt;&lt;P&gt;    READ TABLE I_VBBE1_M WITH KEY MATNR = S_MATNR-LOW.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      I_FINAL-OMENG1 = I_VBBE1_M-OMENG.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*4.for open delivery quantity&lt;/P&gt;&lt;P&gt;    READ TABLE I_VBBEDEL2 WITH KEY MATNR = S_MATNR-LOW.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      I_FINAL-OMENG3 = I_VBBEDEL2-OMENG.&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;*5.for material stocks&lt;/P&gt;&lt;P&gt;    READ TABLE I_MCHB1 WITH KEY MATNR = S_MATNR-LOW.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      I_FINAL-CLABS = I_MCHB1-CLABS.&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;*6.for Back Order&lt;/P&gt;&lt;P&gt;    I_FINAL-BCK_ORD =&lt;/P&gt;&lt;P&gt;        I_FINAL-OMENG1 + I_FINAL-OMENG3 - I_FINAL-CLABS.&lt;/P&gt;&lt;P&gt;    IF I_FINAL-BCK_ORD  LT 0.&lt;/P&gt;&lt;P&gt;      I_FINAL-BCK_ORD  = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;*7.for inspection quantity&lt;/P&gt;&lt;P&gt;    READ TABLE I_MCHB2 WITH KEY MATNR = S_MATNR-LOW.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      I_FINAL-CINSM = I_MCHB2-CINSM.&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;*8.for open order quantity2&lt;/P&gt;&lt;P&gt;    READ TABLE I_VBBE2_M WITH KEY MATNR = S_MATNR-LOW.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;      I_FINAL-OMENG2 = I_VBBE2_M-OMENG.&lt;/P&gt;&lt;P&gt;    ENDIF .&lt;/P&gt;&lt;P&gt;*9.for Short Supply&lt;/P&gt;&lt;P&gt;    I_FINAL-SHRT_SUPP = ( I_FINAL-OMENG1 + I_FINAL-OMENG3 +&lt;/P&gt;&lt;P&gt;      I_FINAL-OMENG2 ) - ( I_FINAL-CLABS + I_FINAL-CINSM ).&lt;/P&gt;&lt;P&gt;    IF I_FINAL-SHRT_SUPP  LT 0.&lt;/P&gt;&lt;P&gt;      I_FINAL-SHRT_SUPP  = 0.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND I_FINAL.&lt;/P&gt;&lt;P&gt;    CLEAR I_FINAL.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " ACCUMULATE_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  DISPLAY&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  L_REPID = SY-REPID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM GET_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELDLAYOUT-WINDOW_TITLEBAR    = 'Open order quantity'.&lt;/P&gt;&lt;P&gt;  FIELDLAYOUT-ZEBRA              = 'X'.&lt;/P&gt;&lt;P&gt;  FIELDLAYOUT-COLWIDTH_OPTIMIZE  = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            I_CALLBACK_PROGRAM = L_REPID&lt;/P&gt;&lt;P&gt;            IT_FIELDCAT        = T_FCAT&lt;/P&gt;&lt;P&gt;            IS_LAYOUT          = FIELDLAYOUT&lt;/P&gt;&lt;P&gt;            I_SAVE             = 'A'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            T_OUTTAB           = I_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;ENDFORM.                    " DISPLAY&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_FIELDCAT.&lt;/P&gt;&lt;P&gt;  DATA: OPEN1(50),&lt;/P&gt;&lt;P&gt;        OPEN2(50).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF S_VDATU1-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'Open Order Qty on' S_VDATU1-LOW INTO OPEN1&lt;/P&gt;&lt;P&gt;    SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE'Open Order Qty b/w' S_VDATU1-LOW 'to'&lt;/P&gt;&lt;P&gt;    S_VDATU1-HIGH INTO OPEN1 SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF S_VDATU2-HIGH IS INITIAL.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'Open Order Qty on' S_VDATU2-LOW INTO OPEN2&lt;/P&gt;&lt;P&gt;    SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    CONCATENATE'Open Order Qty b/w' S_VDATU2-LOW 'to'&lt;/P&gt;&lt;P&gt;    S_VDATU2-HIGH INTO OPEN2 SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_FIELDCAT USING 'MATNR' 'I_FINAL'&lt;/P&gt;&lt;P&gt;              'Material' '1' 'L' ' '.&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_FIELDCAT USING 'MAKTX' 'I_FINAL'&lt;/P&gt;&lt;P&gt;              'Material Description' '2' 'L' ' '.&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_FIELDCAT USING 'OMENG1' 'I_FINAL'&lt;/P&gt;&lt;P&gt;              OPEN1 '3' 'L' 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_FIELDCAT USING 'OMENG3' 'I_FINAL'&lt;/P&gt;&lt;P&gt;              'Open Delivery Qty' '4' 'L' 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_FIELDCAT USING 'CLABS' 'I_FINAL'&lt;/P&gt;&lt;P&gt;  'Material Stock' '5' 'L' 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_FIELDCAT USING 'BCK_ORD' 'I_FINAL'&lt;/P&gt;&lt;P&gt;  'Back Order' '6' 'L' 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_FIELDCAT USING 'CINSM' 'I_FINAL'&lt;/P&gt;&lt;P&gt;              'Q.I.Quantity' '7' 'L' 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_FIELDCAT USING 'OMENG2' 'I_FINAL'&lt;/P&gt;&lt;P&gt;                  OPEN2 '8' 'L' 'X'.&lt;/P&gt;&lt;P&gt;  PERFORM WRITE_FIELDCAT USING 'SHRT_SUPP' 'I_FINAL'&lt;/P&gt;&lt;P&gt;  'Short Supply' '9' 'L' 'X'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; IF NOT S_MWERKS-LOW IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF NOT S_MLGORT-LOW IS INITIAL.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM WRITE_FIELDCAT USING 'CLABS1' 'I_FINAL'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    'MFG plant Unrest Qty.' '10' 'L' 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     PERFORM WRITE_FIELDCAT USING 'CINSM1' 'I_FINAL'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     'MFG plant Q.I Qty.' '11' 'L' 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM.                    " GET_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      FORM  WRITE_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      TEXT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  P1        TEXT&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  P2        TEXT&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM WRITE_FIELDCAT USING NAME TAB TXT NUM JUST SUM.&lt;/P&gt;&lt;P&gt;  L_FCAT-FIELDNAME      = NAME.&lt;/P&gt;&lt;P&gt;  L_FCAT-TABNAME        = TAB.&lt;/P&gt;&lt;P&gt;  L_FCAT-DDICTXT        = 'L'.&lt;/P&gt;&lt;P&gt;  L_FCAT-SELTEXT_L      = TXT.&lt;/P&gt;&lt;P&gt;  L_FCAT-SELTEXT_M      = TXT.&lt;/P&gt;&lt;P&gt;  L_FCAT-SELTEXT_S      = TXT.&lt;/P&gt;&lt;P&gt;  L_FCAT-COL_POS        = NUM.&lt;/P&gt;&lt;P&gt;  L_FCAT-JUST           = JUST.&lt;/P&gt;&lt;P&gt;  L_FCAT-DO_SUM         = SUM.&lt;/P&gt;&lt;P&gt;  APPEND L_FCAT TO T_FCAT.&lt;/P&gt;&lt;P&gt;  CLEAR L_FCAT.&lt;/P&gt;&lt;P&gt;ENDFORM.                               " WRITE_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;Thanks in advance,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Nishu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Dec 2006 15:26:12 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737166#M320590</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-14T15:26:12Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737167#M320591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you tried running a performance trace on this (ST05)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Dec 2006 15:29:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737167#M320591</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-14T15:29:56Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737168#M320592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Simple recommendation.....Replace this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
LOOP AT I_VBAK WHERE VDATU IN S_VDATU1.
I_VBAK-FLAG = 'X'.
MODIFY I_VBAK index sy-tabix.
ENDLOOP.

LOOP AT I_VBAK WHERE VDATU IN S_VDATU2.
I_VBAK-FLAG = 'Y'.
MODIFY I_VBAK index sy-tabix.
ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
LOOP AT I_VBAK.
IF VDATU IN S_VDATU1.
I_VBAK-FLAG = 'X'.
ELSEIF VDATU IN S_VDATU2 .
I_VBAK-FLAG = 'Y'.
ENDIF.
MODIFY I_VBAK index sy-tabix.
ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Greetings,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Blag.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Dec 2006 15:31:16 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737168#M320592</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-14T15:31:16Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737169#M320593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Also - ensure that s_vbeln is not empty before doing a select on VBAK. (It is the only key field you are using in this select.)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Dec 2006 15:34:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737169#M320593</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-14T15:34:20Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737170#M320594</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;And also make the changes indicated.:&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
  SORT i_vbak BY vbeln.                          "&amp;lt;=========
  LOOP AT i_vbap.
    READ TABLE i_vbak WITH KEY vbeln = i_vbap-vbeln
    BINARY SEARCH.                               "&amp;lt;=========
    IF sy-subrc EQ 0.
      i_vbap-flag = i_vbak-flag.
      MODIFY i_vbap.
      IF i_vbap-flag = 'X'.
        MOVE-CORRESPONDING i_vbap TO i_vbap1.
        APPEND i_vbap1.
      ELSE.
        MOVE-CORRESPONDING i_vbap TO i_vbap2.
        APPEND i_vbap2.
      ENDIF.
    ENDIF.
  ENDLOOP.
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Dec 2006 15:38:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737170#M320594</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-14T15:38:50Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737171#M320595</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;Sort I_VBAK BY VBELN   is missing.

Sort I_VBAP BY VBELN is missing.


LOOP AT I_VBAP.
READ TABLE I_VBAK WITH KEY VBELN = I_VBAP-VBELN.
IF SY-SUBRC EQ 0.
I_VBAP-FLAG = I_VBAK-FLAG.
MODIFY I_VBAP.
IF I_VBAP-FLAG = 'X'.
MOVE-CORRESPONDING I_VBAP TO I_VBAP1.
APPEND I_VBAP1.
ELSE.
MOVE-CORRESPONDING I_VBAP TO I_VBAP2.
APPEND I_VBAP2.
ENDIF.
ENDIF.
ENDLOOP.

This is very imp as u r using READ.


CH 1.

SELECT VKORG VTWEG AUART VDATU VBELN KUNNR LIFSK FROM VBAK INTO TABLE
I_VBAK WHERE 
VBELN IN S_VBELN AND
VKORG IN S_VKORG AND
VTWEG IN S_VTWEG AND
AUART IN S_AUART AND
VDATU IN R_VDATU AND
KUNNR IN S_KUNNR AND
LIFSK IN S_LIFSK.


CH2 

*3.for open delivery quantity

SELECT VBELN LFART ERDAT VKORG FROM LIKP INTO CORRESPONDING FIELDS OF
TABLE I_LIKP WHERE LFART = 'ZULF'
AND ERDAT IN R_ERDAT
AND VKORG IN S_VKORG.

This has no vbeln this will consume a lot of time.

Also if possible give LIKP-VSTEL shipping point as hardcoded value if u have the option.&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;run ST05 and see the trace .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this will give u idea.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;also use of secondary indexes if possible.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards,&lt;/P&gt;&lt;P&gt;vijay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 14 Dec 2006 15:53:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737171#M320595</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-14T15:53:24Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737172#M320596</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear All,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanx for ur valuable replies. But still report is taking around 7 min to get executed.&lt;/P&gt;&lt;P&gt;Plz help in optimising the performance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Warm Regards,&lt;/P&gt;&lt;P&gt;Nishu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Dec 2006 10:55:14 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737172#M320596</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-15T10:55:14Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737173#M320597</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It would help if you would do the performance trace and let us know where the bottleneck is.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Dec 2006 14:15:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737173#M320597</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-15T14:15:35Z</dc:date>
    </item>
    <item>
      <title>Re: Performance Issue</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737174#M320598</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;see first thing u r looping on 3 big tables MARA,MARC &amp;amp; MVKE insted of that go for FOR ALL ENTRIES. this will reduce lot of time.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Vikranth Khimavath&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 15 Dec 2006 14:25:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance-issue/m-p/1737174#M320598</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-12-15T14:25:23Z</dc:date>
    </item>
  </channel>
</rss>

