Skip to Content
-1
May 18, 2018 at 02:37 AM

Why I fetch from VBRK so long? Please help me with this situation

208 Views

Can anyone help my how can I get data from VBRK join VBRP so long? My customer want to run this program about 3 months or more and it ran very long time. Then I ran this program in SE30 and noticed this code (3times in program used it) below consumed time very long. Can I optimized this code? Please help me find out my mistakes

   SELECT 
 VBRP~VBELN
 VBRP~POSNR
 VBRP~FKIMG
 VBRP~NETWR
 VBRP~AUBEL
 VBRP~AUPOS
 VBRP~MWSBP
 INTO CORRESPONDING FIELDS OF TABLE GT_VBRP
 FROM VBRK
 INNER JOIN VBRP
 ON VBRP~VBELN = VBRK~VBELN
 FOR ALL ENTRIES IN LT_VBAP
 WHERE VBRP~AUBEL = LT_VBAP-VBELN
 AND VBRP~AUPOS = LT_VBAP-POSNR
 AND VBRK~FKART <> 'ZF1'
 AND VBRK~FKART <> 'ZF2'
 AND NOT ( VBRK~FKSTO = 'X'
 OR VBRK~SFAKN <> '' ).

In addition, I'm tried to another way to selected data with code below, but It's still longer than the one. Is there anybody who can help me? Many thanks.

 SELECT
 VBRP~VBELN
 VBRP~POSNR
 VBRP~FKIMG
 VBRP~NETWR
 VBRP~AUBEL
 VBRP~AUPOS
 VBRP~MWSBP
 INTO CORRESPONDING FIELDS OF TABLE GT_VBRP
 FROM vrpma
 JOIN vbrp
 ON vbrp~vbeln = vrpma~vbeln
 AND vbrp~posnr = vrpma~posnr
 JOIN vbrk
 ON vbrk~vbeln = vbrp~vbeln
 FOR ALL ENTRIES IN LT_VBAP
 WHERE VBRP~AUBEL = LT_VBAP-VBELN
 AND VBRP~AUPOS = LT_VBAP-POSNR
 AND VBRK~FKART <> 'ZF1'
 AND VBRK~FKART <> 'ZF2'
 AND NOT ( VBRK~FKSTO = 'X'
 OR VBRK~SFAKN <> '' ).