<?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/2859169#M670456</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The spot where it's dumping is doing a SELECT on a large table, but not using the index. I notice you are reading the document flow table VBFA next. You might see if you can use that table here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 25 Sep 2007 15:42:57 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-09-25T15:42:57Z</dc:date>
    <item>
      <title>Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859166#M670453</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Friends, I have a code working fine in DEV but going to short dump in Testing because ut exceeds the time limit to run.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It basically deals with shippment, delivery, order and billing&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PLease look at the code and let me know if it can be made to run faster.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have included comments in the code as where it takes time and goes to dump.&lt;/P&gt;&lt;P&gt;For any questions please let me know.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ster.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;REPORT  ZVR00423 NO STANDARD PAGE HEADING
                  LINE-SIZE  80
                  LINE-COUNT 65(0)
                  MESSAGE-ID ZZ.

*************************************************************************
*Tables declaration
*************************************************************************

TABLES : VBAP, "	Sales Document: Item Data
         VBAK, "	Sales Document: Header Data
         VBEP, "	Sales Document: Schedule Line Data
         LIKP, "	SD Document: Delivery Header Data
         VTTK, "	Shipment Header
         MKPF, "	Header: Material Document
         VBRP, "	Billing Document: Item Data
         VBRK. "	Billing Document: Header Data

TYPE-POOLS: KKBLO,
            SLIS.

**************************************************************************
*Types Declaration
**************************************************************************
TYPES :

 BEGIN OF S_LIKP_LIPS,
   VBELN LIKE LIKP-VBELN,
   VKORG LIKE LIKP-VKORG,
   VSTEL LIKE LIKP-VSTEL,
   ERDAT LIKE LIKP-ERDAT,
   VGBEL LIKE LIPS-VGBEL,
   VGPOS LIKE LIPS-VGPOS,
   POSNR LIKE LIPS-POSNR,
   WADAT_IST LIKE LIKP-WADAT_IST,
 END OF S_LIKP_LIPS,

 BEGIN OF S_VBAK_VBAP_VBEP,
   VBELN  LIKE VBAK-VBELN,
   VGBEL  LIKE VBAP-VGBEL,   " reference Sales Order		
   POSNR  LIKE VBAP-POSNR,   " Sales Order Line item		
   MATNR  LIKE VBAP-MATNR,   " Material		
   KUMENG LIKE VBAP-KWMENG,  " Quantity	
   KUNNR  LIKE VBAK-KUNNR,   " Customer &amp;#150; Sold to Party		
   VKBUR  LIKE VBAK-VKBUR,   " Sales Office		
   VKGRP  LIKE VBAK-VKGRP,   " Sales Group		
   AUDAT  LIKE VBAK-AUDAT,   " Order Creation date
   ROMS1  LIKE VBEP-ROMS1,
   EDATU  LIKE VBEP-EDATU,   " Commit date
   BMENG  LIKE VBEP-BMENG,
   WADAT  LIKE VBEP-WADAT,
 END OF S_VBAK_VBAP_VBEP,

 BEGIN OF S_VBRK_VBRP,
   VBELN  LIKE VBRK-VBELN,
   VGBEL  LIKE VBRP-VGBEL,
   AUBEL  LIKE VBRP-AUBEL,
   AUPOS  LIKE VBRP-AUPOS,
   VGPOS  LIKE VBRP-VGPOS,
   FKDAT  LIKE VBRK-FKDAT,	 " Invoice date		
   NETWR  LIKE VBRK-NETWR,	 " Order(Invoice) Value
 END OF S_VBRK_VBRP,

 BEGIN OF S_VTTK_VTTP,
   TKNUM LIKE VTTK-TKNUM,
   VBELN LIKE VTTP-VBELN,
   ERDAT LIKE VTTK-ERDAT,
 END OF S_VTTK_VTTP,

 BEGIN OF S_MKPF,
   MBLNR  LIKE MKPF-MBLNR,	 " PGI Doc
   BUDAT  LIKE MKPF-BUDAT,	 " PGI Doc date
 END OF S_MKPF,

 BEGIN OF S_VBFA,
   VBELV   LIKE VBFA-VBELV,
   POSNV   LIKE VBFA-POSNV,
   VBELN   LIKE VBFA-VBELN,
   POSNN   LIKE VBFA-POSNN,
   VBTYP_N LIKE VBFA-VBTYP_N,
   WAERS   LIKE VBFA-WAERS,
   VBTYP_V LIKE VBFA-VBTYP_V,
 END OF S_VBFA.


**************************************************************************
*Internal table declaration
**************************************************************************
DATA:       DISVARIANT   LIKE DISVARIANT,
            EVENTCAT     TYPE SLIS_T_EVENT,
            EVENTCAT_LN  LIKE LINE OF EVENTCAT,
            FIELDCAT     TYPE SLIS_T_FIELDCAT_ALV,
            FIELDCAT_KKB TYPE KKBLO_T_FIELDCAT,
            FIELDCAT_LN  LIKE LINE OF FIELDCAT,
            KEYINFO      TYPE SLIS_KEYINFO_ALV,
            LAYOUT       TYPE SLIS_LAYOUT_ALV,
            LAYOUT_KKB   TYPE KKBLO_LAYOUT,
            PGM          LIKE SY-REPID,
            PRINTCAT     TYPE SLIS_PRINT_ALV,
            SORTCAT      TYPE SLIS_T_SORTINFO_ALV,
            SORTCAT_LN   LIKE LINE OF SORTCAT,

            BEGIN OF COLTAB OCCURS 50,
              FIELDNAME LIKE FIELDCAT_LN-FIELDNAME,
            END OF COLTAB.

DATA :

BEGIN OF T_OUTPUT OCCURS 0,
   VBELN_ORD  LIKE VBAP-VBELN,   " Sales Order				
   POSNR  LIKE VBAP-POSNR,   " Sales Order Line item		
   KUNNR  LIKE VBAK-KUNNR,   " Customer &amp;#150; Sold to Party		
   VKBUR  LIKE VBAK-VKBUR,   " Sales Office		
   VKGRP  LIKE VBAK-VKGRP,   " Sales Group		
   AUDAT  LIKE VBAK-AUDAT,   " Order Creation date		
   MATNR  LIKE VBAP-MATNR,   " Material		
   KUMENG LIKE VBAP-KWMENG,  " Quantity		
*If VBEP-ROMS1 &amp;gt; 0
   EDATU_COM  LIKE VBEP-EDATU,   " Commit date
*If VBEP-BMENG &amp;gt; 0
   EDATU_CON  LIKE VBEP-EDATU,    "Confirmation date	
   WADAT  LIKE VBEP-WADAT,	 " Ship date		
   VBELN_DEL  LIKE LIKP-VBELN,	 " Delivery Doc		
   ERDAT  LIKE LIKP-ERDAT,	 " Delivery Doc date		
   TKNUM  LIKE VTTK-TKNUM,	 " Shipping Doc		
   ERDAT1  LIKE VTTK-ERDAT,	 " Shipping Doc Date		
   MBLNR  LIKE MKPF-MBLNR,	 " PGI Doc
   BUDAT  LIKE MKPF-BUDAT,	 " PGI Doc date		
   VGBEL1  LIKE VBRP-VGBEL,	 " Invoice		
   FKDAT  LIKE VBRK-FKDAT,	 " Invoice date		
   NETWR  LIKE VBRK-NETWR,	 " Order(Invoice) Value		
END OF T_OUTPUT.

DATA : T_VBAK_VBAP_VBEP TYPE TABLE OF S_VBAK_VBAP_VBEP,
       T_LIKP_LIPS      TYPE TABLE OF S_LIKP_LIPS,
       T_VBRK_VBRP      TYPE TABLE OF S_VBRK_VBRP,
       T_VTTK_VTTP      TYPE TABLE OF S_VTTK_VTTP,
       T_VBFA           TYPE TABLE OF S_VBFA.
**************************************************************************
*Work Area Declaration
**************************************************************************
DATA : W_VBAK_VBAP_VBEP LIKE LINE OF T_VBAK_VBAP_VBEP,
       W_LIKP_LIPS      LIKE LINE OF T_LIKP_LIPS,
       W_VBRK_VBRP      LIKE LINE OF T_VBRK_VBRP,
       W_VTTK_VTTP      LIKE LINE OF T_VTTK_VTTP,
       W_VBFA           LIKE LINE OF T_VBFA.


**************************************************************************
*Variable Declaration
**************************************************************************
DATA : V_REPID TYPE SYREPID.

INCLUDE ZSI00001.
**************************************************************************
*SELECTION-SCREEN
**************************************************************************
SELECTION-SCREEN : BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS :S_VKORG FOR LIKP-VKORG NO INTERVALS OBLIGATORY,
                                                     "Sales Organization
                S_VTWEG FOR VBAK-VTWEG NO INTERVALS, "Distribution Channel
                S_SPART FOR VBAK-SPART NO INTERVALS, "Division
                S_DATEN FOR VTTK-DATEN OBLIGATORY,   "Shipment Completed
                S_VSTEL FOR LIKP-VSTEL NO INTERVALS OBLIGATORY.
"Shipping Point
SELECTION-SCREEN : END OF BLOCK 1.

* Parameter for list viewer display variant
PARAMETERS:    VARIANT  LIKE DISVARIANT-VARIANT.
DATA: PRINT          TYPE SLIS_PRINT_ALV.

**************************************************************************
*INITIALIZATION
**************************************************************************
INITIALIZATION.
  V_REPID = SY-REPID.

AT SELECTION-SCREEN ON VARIANT.
  CHECK NOT VARIANT IS INITIAL.
  PERFORM CHECK_VARIANT_EXISTENCE USING VARIANT 'U'.
*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR VARIANT.
  PERFORM F4_DISPLAY_VARIANT USING VARIANT 'U'.
**************************************************************************
*START-OF-SELECTION
**************************************************************************
START-OF-SELECTION.
  PERFORM CHECK_TCODE_AUTHORITY USING 'SA38'.

  PERFORM GET_DATA.
  PERFORM PROCESS_DATA.

**************************************************************************
*END-OF-SELECTION
**************************************************************************
END-OF-SELECTION.

  PERFORM WRITE_OUTPUT.

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  get_data
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*

FORM GET_DATA .

  SELECT  VTTK~TKNUM
          VTTP~VBELN VTTK~ERDAT
     INTO TABLE T_VTTK_VTTP
     FROM VTTK
    INNER JOIN VTTP
       ON VTTK~TKNUM = VTTP~TKNUM
    WHERE DATEN IN S_DATEN.

  IF NOT T_VTTK_VTTP[] IS INITIAL.

    SELECT LIKP~VBELN
           LIKP~VKORG LIKP~VSTEL
           LIKP~ERDAT LIPS~VGBEL LIPS~VGPOS
           LIPS~POSNR LIKP~WADAT_IST
      INTO TABLE T_LIKP_LIPS
      FROM LIKP
     INNER JOIN LIPS
        ON LIKP~VBELN = LIPS~VBELN
       FOR ALL ENTRIES IN T_VTTK_VTTP
     WHERE LIKP~VBELN = T_VTTK_VTTP-VBELN
       AND LIKP~VSTEL IN S_VSTEL
       AND LIKP~VKORG IN S_VKORG.

    IF NOT T_LIKP_LIPS[] IS INITIAL.

      SELECT VBAK~VBELN VBAP~VGBEL  VBAP~POSNR
             VBAP~MATNR  VBAP~KWMENG VBAK~KUNNR  VBAK~VKBUR
             VBAK~VKGRP  VBAK~AUDAT  VBEP~ROMS1  VBEP~EDATU
             VBEP~BMENG
        INTO TABLE T_VBAK_VBAP_VBEP
        FROM VBAK
       INNER JOIN VBAP
          ON VBAK~VBELN = VBAP~VBELN
       INNER JOIN VBEP
          ON VBAK~VBELN = VBEP~VBELN
         FOR ALL ENTRIES IN T_LIKP_LIPS
       WHERE VBAK~VBELN = T_LIKP_LIPS-VGBEL
         AND VBAK~VTWEG IN S_VTWEG
         AND VBAK~SPART IN S_SPART
         AND VBAP~POSNR = T_LIKP_LIPS-VGPOS.

      IF NOT T_VBAK_VBAP_VBEP[] IS INITIAL.

        SELECT VBRK~VBELN  VBRP~VGBEL
               VBRP~AUBEL  VBRP~AUPOS
               VBRP~VGPOS  VBRK~FKDAT VBRK~NETWR
          INTO TABLE T_VBRK_VBRP
          FROM VBRK
         INNER JOIN VBRP
            ON VBRK~VBELN = VBRP~VBELN
           FOR ALL ENTRIES IN T_VBAK_VBAP_VBEP
         WHERE VBRP~AUBEL = T_VBAK_VBAP_VBEP-VBELN
           AND VBRP~AUPOS = T_VBAK_VBAP_VBEP-POSNR.

        SELECT VBRK~VBELN  VBRP~VGBEL  " Short dump - Time exceeds
               VBRP~AUBEL  VBRP~AUPOS
               VBRP~VGPOS  VBRK~FKDAT VBRK~NETWR
     APPENDING TABLE T_VBRK_VBRP
          FROM VBRK
         INNER JOIN VBRP
            ON VBRK~VBELN = VBRP~VBELN
           FOR ALL ENTRIES IN T_LIKP_LIPS
         WHERE VBRP~VGBEL = T_LIKP_LIPS-VBELN
           AND VBRP~VGPOS = T_LIKP_LIPS-POSNR.

        SELECT VBELV
               POSNV  VBELN
               POSNN VBTYP_N WAERS
               VBTYP_V
          INTO TABLE T_VBFA
          FROM VBFA
           FOR ALL ENTRIES IN T_VBAK_VBAP_VBEP
         WHERE VBELV = T_VBAK_VBAP_VBEP-VBELN
           AND VBTYP_N = 'R'.

      ENDIF.
    ENDIF.
  ENDIF.

ENDFORM.                    " get_data

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  process_data
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM PROCESS_DATA .

  SORT T_LIKP_LIPS BY VBELN POSNR.
  SORT T_VBAK_VBAP_VBEP BY VBELN POSNR.
  SORT T_VBRK_VBRP BY AUBEL AUPOS.
  SORT T_VBFA BY VBELV POSNV.

  LOOP AT T_VTTK_VTTP INTO W_VTTK_VTTP.

    LOOP AT T_LIKP_LIPS INTO W_LIKP_LIPS
      WHERE VBELN = W_VTTK_VTTP-VBELN
        AND VSTEL IN S_VSTEL
        AND VKORG IN S_VKORG.

      READ TABLE T_VBAK_VBAP_VBEP INTO W_VBAK_VBAP_VBEP
        WITH KEY VBELN = W_LIKP_LIPS-VGBEL
                 POSNR = W_LIKP_LIPS-VGPOS
                             BINARY SEARCH.

      READ TABLE T_VBRK_VBRP INTO W_VBRK_VBRP
        WITH KEY AUBEL = W_VBAK_VBAP_VBEP-VBELN
                 AUPOS = W_VBAK_VBAP_VBEP-POSNR
                             BINARY SEARCH.
      IF SY-SUBRC &amp;lt;&amp;gt; 0.
        READ TABLE T_VBRK_VBRP INTO W_VBRK_VBRP
          WITH KEY VGBEL = W_LIKP_LIPS-VBELN
                   VGPOS = W_LIKP_LIPS-POSNR
                               BINARY SEARCH.

      ENDIF.

      READ TABLE T_VBFA INTO W_VBFA
        WITH KEY VBELV = W_VBAK_VBAP_VBEP-VBELN
                 POSNV = W_VBAK_VBAP_VBEP-POSNR.


      PERFORM WRITE_TO_T_OUTPUT.

    ENDLOOP.

  ENDLOOP.

ENDFORM.                    " process_data

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  WRITE_TO_T_OUTPUT
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  --&amp;gt;  p1        text
*  &amp;lt;--  p2        text
*----------------------------------------------------------------------*
FORM WRITE_TO_T_OUTPUT .
*    T_OUTPUT-VGBEL = W_VBAK_VBAP_VBEP-VGBEL.
  T_OUTPUT-VBELN_ORD = W_VBAK_VBAP_VBEP-VBELN.   	  	
  T_OUTPUT-POSNR = W_VBAK_VBAP_VBEP-POSNR.
  T_OUTPUT-KUNNR = W_VBAK_VBAP_VBEP-KUNNR.
  T_OUTPUT-VKBUR = W_VBAK_VBAP_VBEP-VKBUR.
  T_OUTPUT-VKGRP = W_VBAK_VBAP_VBEP-VKGRP.
  T_OUTPUT-AUDAT = W_VBAK_VBAP_VBEP-AUDAT.
  T_OUTPUT-MATNR = W_VBAK_VBAP_VBEP-MATNR.
  T_OUTPUT-KUMENG = W_VBAK_VBAP_VBEP-KUMENG.

  IF W_VBAK_VBAP_VBEP-ROMS1 &amp;gt; 0.
    T_OUTPUT-EDATU_COM = W_VBAK_VBAP_VBEP-EDATU.
  ELSEIF W_VBAK_VBAP_VBEP-BMENG &amp;gt; 0.
    T_OUTPUT-EDATU_CON = W_VBAK_VBAP_VBEP-EDATU.
  ENDIF.

  T_OUTPUT-WADAT = W_VBAK_VBAP_VBEP-WADAT.	 		
  T_OUTPUT-VBELN_DEL = W_LIKP_LIPS-VBELN.
  T_OUTPUT-ERDAT = W_LIKP_LIPS-ERDAT.
  T_OUTPUT-TKNUM = W_VTTK_VTTP-TKNUM.
  T_OUTPUT-ERDAT1 = W_VTTK_VTTP-ERDAT.

*    T_OUTPUT-MBLNR = MKPF-MBLNR.
*    T_OUTPUT-BUDAT = MKPF-BUDAT.

  T_OUTPUT-MBLNR = W_VBFA-VBELN.
  T_OUTPUT-BUDAT =  W_LIKP_LIPS-WADAT_IST.

  T_OUTPUT-VGBEL1 = W_VBRK_VBRP-VBELN.
  T_OUTPUT-FKDAT = W_VBRK_VBRP-FKDAT.
  T_OUTPUT-NETWR = W_VBRK_VBRP-NETWR.

  APPEND T_OUTPUT.
  CLEAR: T_OUTPUT, W_VBAK_VBAP_VBEP,
*           W_LIKP_LIPS, W_VTTK_VTTP,
         W_VBRK_VBRP, W_VBFA.
ENDFORM.                    " WRITE_TO_T_OUTPUT


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  write_output
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM WRITE_OUTPUT .
  SORT T_OUTPUT BY TKNUM VBELN_ORD POSNR.

  PERFORM CALL_LIST_VIEWER.

ENDFORM.                    " write_output















*----------------------------------------------------------------------*
*       FORM CHECK_VARIANT_EXISTENCE
*----------------------------------------------------------------------*
*       Verify that a variant on the selection screen exists
*----------------------------------------------------------------------*
FORM CHECK_VARIANT_EXISTENCE USING VARNAME LIKE DISVARIANT-VARIANT
                                   SAVE   TYPE C.

  DATA: XDISVAR LIKE DISVARIANT.

  XDISVAR-REPORT  = SY-REPID.
  XDISVAR-VARIANT = VARNAME.

  CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
    EXPORTING
      I_SAVE        = SAVE
    CHANGING
      CS_VARIANT    = XDISVAR
    EXCEPTIONS
      WRONG_INPUT   = 1
      NOT_FOUND     = 2
      PROGRAM_ERROR = 3
      OTHERS        = 4.

  IF SY-SUBRC &amp;lt;&amp;gt; 0.
    MESSAGE E256(56) WITH VARNAME.
*   Anzeigevariante &amp;amp;1 nicht gefunden
  ENDIF.

  DISVARIANT-REPORT  = SY-REPID.
  DISVARIANT-VARIANT = VARNAME.

ENDFORM.                    "check_variant_existence



*----------------------------------------------------------------------*
*       Form  F4_DISPLAY_VARIANT
*----------------------------------------------------------------------*
*       F4 help to find a display variant
*       varname = name of the dynpro field for which f4 is requested
*       save    = type of list variant saving
*                 ' ' = no saving allowed
*                 'A' = standard &amp;amp; user specific variants can be saved
*                 'U' = only user specific variants can be saved
*                 'X' = only standard variants can be saved
*----------------------------------------------------------------------*
FORM F4_DISPLAY_VARIANT USING VARNAME LIKE DISVARIANT-VARIANT
                              SAVE    TYPE C.

  DISVARIANT-REPORT = SY-REPID.

  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
    EXPORTING
      IS_VARIANT    = DISVARIANT
      I_SAVE        = SAVE
    IMPORTING
      ES_VARIANT    = DISVARIANT
    EXCEPTIONS
      NOT_FOUND     = 1
      PROGRAM_ERROR = 2
      OTHERS        = 3.

  IF SY-SUBRC = 0.
    VARNAME = DISVARIANT-VARIANT.
  ELSE.
    MESSAGE S245(56).
*   Keine Anzeigevariante(n) vorhanden
  ENDIF.
ENDFORM.                               " F4_DISPLAY_VARIANT


*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  CALL_LIST_VIEWER
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM CALL_LIST_VIEWER .

  CLEAR: T_OUTPUT.
  PERFORM BUILD_FIELDCAT USING:

         'VBELN_ORD' 'T_OUTPUT'
          TEXT-001 'CHAR'      11 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'POSNR' 'T_OUTPUT'
          TEXT-002 'CHAR'      21 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'KUNNR' 'T_OUTPUT'
          TEXT-003 'CHAR'      24 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'VKBUR' 'T_OUTPUT'
          TEXT-004 'CHAR'      12 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'VKGRP' 'T_OUTPUT'
          TEXT-005 'CURR'      11 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'AUDAT' 'T_OUTPUT'
          TEXT-006 'DATS'      19 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'MATNR' 'T_OUTPUT'
          TEXT-007 'CHAR'      18 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'KUMENG' 'T_OUTPUT'
          TEXT-008 'QUAN'      15 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'EDATU_COM' 'T_OUTPUT'
          TEXT-009 'DATS'      11 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'EDATU_CON' 'T_OUTPUT'
          TEXT-010 'DATS'      17 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'WADAT' 'T_OUTPUT'
          TEXT-011 'DATA'      10 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'VBELN_DEL' 'T_OUTPUT'
          TEXT-012 'CHAR'      12 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'ERDAT' 'T_OUTPUT'
          TEXT-013 'DATS'      17 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'TKNUM' 'T_OUTPUT'
          TEXT-014 'CHAR'      12 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'ERDAT1' 'T_OUTPUT'
          TEXT-015 'DATS'      17 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'MBLNR' 'T_OUTPUT'
          TEXT-016 'CHAR'      10 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'BUDAT' 'T_OUTPUT'
          TEXT-017 'DATS'      12 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'VGBEL1' 'T_OUTPUT'
          TEXT-018 'CHAR'      10 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'FKDAT' 'T_OUTPUT'
          TEXT-019 'DATS'      12 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ',
         'NETWR' 'T_OUTPUT'
          TEXT-020 'CURR'      20 ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' '.

  PERFORM BUILD_EVENTCAT USING: 'TOP_OF_LIST',
                                'TOP_OF_PAGE',
                                'USER_COMMAND'.

  PERFORM LIST_DISPLAY TABLES T_OUTPUT.

ENDFORM.                    " CALL_LIST_VIEWER

*&amp;amp;---------------------------------------------------------------------*
*&amp;amp;      Form  top_of_page
*&amp;amp;---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM TOP_OF_PAGE.
  PERFORM STANDARD_HEADINGS.

  PERFORM PRINT_SELECTIONS2 TABLES:
              S_VKORG USING  'Sales Organization    : '  4 'N' 1,
              S_VTWEG USING  'Distribution Channel  : ' 18 'N' 1,
              S_SPART USING  'Division              : '  8 'N' 1,
              S_DATEN USING  'Shipment Completed    : '  8 'Y' 1,
              S_VSTEL USING  'Shipping Point        : ' 18 'N' 1.


ENDFORM.                    "top_of_page
*----------------------------------------------------------------------*
* build field catalog entry                                            *
*----------------------------------------------------------------------*
FORM BUILD_FIELDCAT USING A_FIELDNAME
                          A_TABNAME
                          A_HEADING
                          A_DATATYPE
                          A_OUTPUTLEN
                          A_KEY
                          A_NO_OUT
                          A_NO_SUM
                          A_DO_SUM
                          A_NO_ZERO
                          A_INPUT
                          A_SUM
                          A_CHECKBOX
                          A_FIX_COLUMN.

  CLEAR FIELDCAT_LN.
  FIELDCAT_LN-FIELDNAME = A_FIELDNAME.
  FIELDCAT_LN-TABNAME  = A_TABNAME.
  FIELDCAT_LN-OUTPUTLEN = A_OUTPUTLEN.
  FIELDCAT_LN-DATATYPE = A_DATATYPE.
  FIELDCAT_LN-REPTEXT_DDIC = A_HEADING.
  FIELDCAT_LN-KEY = A_KEY.
  FIELDCAT_LN-NO_OUT = A_NO_OUT.
  FIELDCAT_LN-NO_SUM = A_NO_SUM.
  FIELDCAT_LN-DO_SUM = A_DO_SUM.
  FIELDCAT_LN-NO_ZERO = A_NO_ZERO.
  FIELDCAT_LN-INPUT = A_INPUT.
  FIELDCAT_LN-DO_SUM = A_SUM.
  FIELDCAT_LN-CHECKBOX = A_CHECKBOX.
  FIELDCAT_LN-FIX_COLUMN = A_FIX_COLUMN.
  APPEND FIELDCAT_LN TO FIELDCAT.

ENDFORM.                    "BUILD_FIELDCAT

*----------------------------------------------------------------------*
*       FORM BUILD_EVENTCAT
*----------------------------------------------------------------------*
FORM BUILD_EVENTCAT USING A_EVENT.

  EVENTCAT_LN-NAME = EVENTCAT_LN-FORM = A_EVENT.
  APPEND EVENTCAT_LN TO EVENTCAT.

ENDFORM.                    "BUILD_EVENTCAT

*----------------------------------------------------------------------*
* call the ABAP list viewer                                            *
*----------------------------------------------------------------------*
FORM LIST_DISPLAY TABLES A_OUTPUT.

  PGM = DISVARIANT-REPORT = SY-REPID.
  DISVARIANT-VARIANT = VARIANT.

  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM       = PGM
*      I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
      IT_FIELDCAT              = FIELDCAT
      IS_VARIANT               = DISVARIANT
      IS_LAYOUT                = LAYOUT
      IS_PRINT                 = PRINT
      I_SAVE                   = 'A'
      IT_EVENTS                = EVENTCAT
      IT_SORT                  = SORTCAT
      I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
    TABLES
      T_OUTTAB                 = A_OUTPUT
    EXCEPTIONS
      PROGRAM_ERROR            = 1
      OTHERS                   = 2.


*  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
*   EXPORTING
*        I_CALLBACK_PROGRAM       = PGM
**   I_CALLBACK_PF_STATUS_SET          = ' '
*        I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
**   I_GRID_TITLE                      =
**   I_GRID_SETTINGS                   =
*        IS_LAYOUT                = LAYOUT
*        IT_FIELDCAT              = FIELDCAT
**   IT_EXCLUDING                      =
**   IT_SPECIAL_GROUPS                 =
*        IT_SORT                  = SORTCAT
**   IT_FILTER                         =
**   IS_SEL_HIDE                       =
**   I_DEFAULT                         = 'X'
*        I_SAVE                   = 'A'
*        IS_VARIANT               = DISVARIANT
*        IT_EVENTS                = EVENTCAT
**   IT_EVENT_EXIT                     =
*        IS_PRINT                 = PRINT
**   IS_REPREP_ID                      =
**   I_SCREEN_START_COLUMN             = 0
**   I_SCREEN_START_LINE               = 0
**   I_SCREEN_END_COLUMN               = 0
**   I_SCREEN_END_LINE                 = 0
**   IT_ALV_GRAPHICS                   =
**   IT_ADD_FIELDCAT                   =
*    TABLES
*        T_OUTTAB                 = A_OUTPUT
*   EXCEPTIONS
*     PROGRAM_ERROR                     = 1
*     OTHERS                            = 2
*            .
*  IF SY-SUBRC &amp;lt;&amp;gt; 0.
** MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
**         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
*  ENDIF.

ENDFORM.                    "LIST_DISPLAY

**---------------------------------------------------------------------*
** FORM USER_COMMAND *
**---------------------------------------------------------------------*

FORM USER_COMMAND USING UCOMM LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.

  CASE UCOMM.
    WHEN '&amp;amp;IC1'.
      READ TABLE T_OUTPUT INDEX SELFIELD-TABINDEX.

      IF SELFIELD-SEL_TAB_FIELD = 'T_OUTPUT-VBELN_ORD'.
        SET PARAMETER ID 'AUN' FIELD T_OUTPUT-VBELN_ORD.
        CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.

      ELSEIF SELFIELD-SEL_TAB_FIELD = 'T_OUTPUT-VBELN_DEL'.
        SET PARAMETER ID 'VL' FIELD T_OUTPUT-VBELN_DEL.
        CALL TRANSACTION 'VL03' AND SKIP FIRST SCREEN.

      ELSEIF SELFIELD-SEL_TAB_FIELD = 'T_OUTPUT-TKNUM'.
        SET PARAMETER ID 'TNR' FIELD T_OUTPUT-TKNUM.
        CALL TRANSACTION 'VT03N' AND SKIP FIRST SCREEN.

      ELSEIF SELFIELD-SEL_TAB_FIELD = 'T_OUTPUT-VGBEL1'.
        SET PARAMETER ID 'VF' FIELD T_OUTPUT-VGBEL1.
        CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.

      ENDIF.
  ENDCASE.

ENDFORM.                    "USER_COMMAND&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2007 15:35:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859166#M670453</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-25T15:35:21Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859167#M670454</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;PRE&gt;&lt;CODE&gt;FORM PROCESS_DATA .
 
  SORT T_LIKP_LIPS BY VBELN POSNR.
  SORT T_VBAK_VBAP_VBEP BY VBELN POSNR.
  SORT T_VBRK_VBRP BY AUBEL AUPOS.
  SORT T_VBFA BY VBELV POSNV.
 
&amp;lt;b&amp;gt;  LOOP AT T_VTTK_VTTP INTO W_VTTK_VTTP.
 
    LOOP AT T_LIKP_LIPS INTO W_LIKP_LIPS
&amp;lt;/b&amp;gt;      WHERE VBELN = W_VTTK_VTTP-VBELN
        AND VSTEL IN S_VSTEL
        AND VKORG IN S_VKORG.
 
      READ TABLE T_VBAK_VBAP_VBEP INTO W_VBAK_VBAP_VBEP
        WITH KEY VBELN = W_LIKP_LIPS-VGBEL
                 POSNR = W_LIKP_LIPS-VGPOS
                             BINARY SEARCH.
 
      READ TABLE T_VBRK_VBRP INTO W_VBRK_VBRP
        WITH KEY AUBEL = W_VBAK_VBAP_VBEP-VBELN
                 AUPOS = W_VBAK_VBAP_VBEP-POSNR
                             BINARY SEARCH.
      IF SY-SUBRC &amp;lt;&amp;gt; 0.
        READ TABLE T_VBRK_VBRP INTO W_VBRK_VBRP
          WITH KEY VGBEL = W_LIKP_LIPS-VBELN
                   VGPOS = W_LIKP_LIPS-POSNR
                               BINARY SEARCH.
 
      ENDIF.
 
      READ TABLE T_VBFA INTO W_VBFA
        WITH KEY VBELV = W_VBAK_VBAP_VBEP-VBELN
                 POSNV = W_VBAK_VBAP_VBEP-POSNR.
 
 
      PERFORM WRITE_TO_T_OUTPUT.
 
&amp;lt;b&amp;gt;    ENDLOOP.
 
  ENDLOOP.&amp;lt;/b&amp;gt;
 
ENDFORM.                    " process_data&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You have nested loops in your program.&lt;/P&gt;&lt;P&gt;Definitely this is one of the reason for having low performance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2007 15:39:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859167#M670454</guid>
      <dc:creator>SG141</dc:creator>
      <dc:date>2007-09-25T15:39:57Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859168#M670455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Karthik.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But its abbending in the select quesrry .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ster.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2007 15:41:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859168#M670455</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-25T15:41:48Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859169#M670456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The spot where it's dumping is doing a SELECT on a large table, but not using the index. I notice you are reading the document flow table VBFA next. You might see if you can use that table here.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2007 15:42:57 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859169#M670456</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-25T15:42:57Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859170#M670457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Keep the ENDIFs outside and see&lt;/P&gt;&lt;P&gt;SELECT  VTTK~TKNUM&lt;/P&gt;&lt;P&gt;          VTTP&lt;SUB&gt;VBELN VTTK&lt;/SUB&gt;ERDAT&lt;/P&gt;&lt;P&gt;     INTO TABLE T_VTTK_VTTP&lt;/P&gt;&lt;P&gt;     FROM VTTK&lt;/P&gt;&lt;P&gt;    INNER JOIN VTTP&lt;/P&gt;&lt;P&gt;       ON VTTK&lt;SUB&gt;TKNUM = VTTP&lt;/SUB&gt;TKNUM&lt;/P&gt;&lt;P&gt;    WHERE DATEN IN S_DATEN.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;  IF NOT T_VTTK_VTTP[] IS INITIAL.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;    SELECT LIKP~VBELN&lt;/P&gt;&lt;P&gt;           LIKP&lt;SUB&gt;VKORG LIKP&lt;/SUB&gt;VSTEL&lt;/P&gt;&lt;P&gt;           LIKP&lt;SUB&gt;ERDAT LIPS&lt;/SUB&gt;VGBEL LIPS~VGPOS&lt;/P&gt;&lt;P&gt;           LIPS&lt;SUB&gt;POSNR LIKP&lt;/SUB&gt;WADAT_IST&lt;/P&gt;&lt;P&gt;      INTO TABLE T_LIKP_LIPS&lt;/P&gt;&lt;P&gt;      FROM LIKP&lt;/P&gt;&lt;P&gt;     INNER JOIN LIPS&lt;/P&gt;&lt;P&gt;        ON LIKP&lt;SUB&gt;VBELN = LIPS&lt;/SUB&gt;VBELN&lt;/P&gt;&lt;P&gt;       FOR ALL ENTRIES IN T_VTTK_VTTP&lt;/P&gt;&lt;P&gt;     WHERE LIKP~VBELN = T_VTTK_VTTP-VBELN&lt;/P&gt;&lt;P&gt;       AND LIKP~VSTEL IN S_VSTEL&lt;/P&gt;&lt;P&gt;       AND LIKP~VKORG IN S_VKORG.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;    IF NOT T_LIKP_LIPS[] IS INITIAL.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;      SELECT VBAK&lt;SUB&gt;VBELN VBAP&lt;/SUB&gt;VGBEL  VBAP~POSNR&lt;/P&gt;&lt;P&gt;             VBAP&lt;SUB&gt;MATNR  VBAP&lt;/SUB&gt;KWMENG VBAK&lt;SUB&gt;KUNNR  VBAK&lt;/SUB&gt;VKBUR&lt;/P&gt;&lt;P&gt;             VBAK&lt;SUB&gt;VKGRP  VBAK&lt;/SUB&gt;AUDAT  VBEP&lt;SUB&gt;ROMS1  VBEP&lt;/SUB&gt;EDATU&lt;/P&gt;&lt;P&gt;             VBEP~BMENG&lt;/P&gt;&lt;P&gt;        INTO TABLE T_VBAK_VBAP_VBEP&lt;/P&gt;&lt;P&gt;        FROM VBAK&lt;/P&gt;&lt;P&gt;       INNER JOIN VBAP&lt;/P&gt;&lt;P&gt;          ON VBAK&lt;SUB&gt;VBELN = VBAP&lt;/SUB&gt;VBELN&lt;/P&gt;&lt;P&gt;       INNER JOIN VBEP&lt;/P&gt;&lt;P&gt;          ON VBAK&lt;SUB&gt;VBELN = VBEP&lt;/SUB&gt;VBELN&lt;/P&gt;&lt;P&gt;         FOR ALL ENTRIES IN T_LIKP_LIPS&lt;/P&gt;&lt;P&gt;       WHERE VBAK~VBELN = T_LIKP_LIPS-VGBEL&lt;/P&gt;&lt;P&gt;         AND VBAK~VTWEG IN S_VTWEG&lt;/P&gt;&lt;P&gt;         AND VBAK~SPART IN S_SPART&lt;/P&gt;&lt;P&gt;         AND VBAP~POSNR = T_LIKP_LIPS-VGPOS.&lt;/P&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;P&gt;      IF NOT T_VBAK_VBAP_VBEP[] IS INITIAL.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        SELECT VBRK&lt;SUB&gt;VBELN  VBRP&lt;/SUB&gt;VGBEL&lt;/P&gt;&lt;P&gt;               VBRP&lt;SUB&gt;AUBEL  VBRP&lt;/SUB&gt;AUPOS&lt;/P&gt;&lt;P&gt;               VBRP&lt;SUB&gt;VGPOS  VBRK&lt;/SUB&gt;FKDAT VBRK~NETWR&lt;/P&gt;&lt;P&gt;          INTO TABLE T_VBRK_VBRP&lt;/P&gt;&lt;P&gt;          FROM VBRK&lt;/P&gt;&lt;P&gt;         INNER JOIN VBRP&lt;/P&gt;&lt;P&gt;            ON VBRK&lt;SUB&gt;VBELN = VBRP&lt;/SUB&gt;VBELN&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN T_VBAK_VBAP_VBEP&lt;/P&gt;&lt;P&gt;         WHERE VBRP~AUBEL = T_VBAK_VBAP_VBEP-VBELN&lt;/P&gt;&lt;P&gt;           AND VBRP~AUPOS = T_VBAK_VBAP_VBEP-POSNR.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        SELECT VBRK&lt;SUB&gt;VBELN  VBRP&lt;/SUB&gt;VGBEL  " Short dump - Time exceeds&lt;/P&gt;&lt;P&gt;               VBRP&lt;SUB&gt;AUBEL  VBRP&lt;/SUB&gt;AUPOS&lt;/P&gt;&lt;P&gt;               VBRP&lt;SUB&gt;VGPOS  VBRK&lt;/SUB&gt;FKDAT VBRK~NETWR&lt;/P&gt;&lt;P&gt;     APPENDING TABLE T_VBRK_VBRP&lt;/P&gt;&lt;P&gt;          FROM VBRK&lt;/P&gt;&lt;P&gt;         INNER JOIN VBRP&lt;/P&gt;&lt;P&gt;            ON VBRK&lt;SUB&gt;VBELN = VBRP&lt;/SUB&gt;VBELN&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN T_LIKP_LIPS&lt;/P&gt;&lt;P&gt;         WHERE VBRP~VGBEL = T_LIKP_LIPS-VBELN&lt;/P&gt;&lt;P&gt;           AND VBRP~VGPOS = T_LIKP_LIPS-POSNR.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;        SELECT VBELV&lt;/P&gt;&lt;P&gt;               POSNV  VBELN&lt;/P&gt;&lt;P&gt;               POSNN VBTYP_N WAERS&lt;/P&gt;&lt;P&gt;               VBTYP_V&lt;/P&gt;&lt;P&gt;          INTO TABLE T_VBFA&lt;/P&gt;&lt;P&gt;          FROM VBFA&lt;/P&gt;&lt;P&gt;           FOR ALL ENTRIES IN T_VBAK_VBAP_VBEP&lt;/P&gt;&lt;P&gt;         WHERE VBELV = T_VBAK_VBAP_VBEP-VBELN&lt;/P&gt;&lt;P&gt;           AND VBTYP_N = 'R'.&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 you are sure that data is present in all the tables then write a single join for VBAK,VBAP,LIKP,LIPS,VBRK,VBRP tables  and see&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2007 15:43:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859170#M670457</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-25T15:43:05Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859171#M670458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Rob,&lt;/P&gt;&lt;P&gt;Can you please explain in detail on what do u mean and how would i use VBFA table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ster.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2007 15:46:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859171#M670458</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-25T15:46:50Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859172#M670459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Anji for the suggestion. I will try and see how it works. &lt;/P&gt;&lt;P&gt;I cant join more than 3 tables.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ster.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2007 15:55:08 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859172#M670459</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-25T15:55:08Z</dc:date>
    </item>
    <item>
      <title>Re: Performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859173#M670460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I can't explain in detail because some more analysis is required, but I think you are trying to get billing documents based on the delivery. Have a look at table VBFA and see if you can get the information there. You'll have to work through an example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2007 15:59:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/performance/m-p/2859173#M670460</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-25T15:59:10Z</dc:date>
    </item>
  </channel>
</rss>

