2014 Aug 09 11:18 AM
Dear experts, whenever i executing the select query in this zprogram i am getting runtime error that time limit exceeds.i am using inner join and into table.after that also i am geetting error. how can i resolve it??
SELECT LIKP~VBELN LIKP~WADAT_IST LIKP~VEHICLE_NO LIKP~TRNAME
LIKP~VEHI_TYPE LIKP~LR_NO LIKP~ANZPK LIKP~W_BILL_NO
LIKP~SEALNO1 " Seal NO1
LIKP~SEALNO2 " Seal NO2
LIPS~LFIMG
VBRP~VBELN VBRP~VGBEL VBRP~MATNR VBRP~AUBEL VBRP~FKIMG
VBAK~AUART
VBRK~FKART VBRK~KNUMV VBRK~FKSTO
FROM LIKP INNER JOIN LIPS ON LIKP~VBELN EQ LIPS~VBELN
INNER JOIN VBRP ON LIKP~VBELN EQ VBRP~VGBEL
INNER JOIN VBAK ON VBRP~AUBEL EQ VBAK~VBELN
INNER JOIN VBRK ON VBRP~VBELN EQ VBRK~VBELN
INTO TABLE I_FINAL_TEMP
WHERE LIKP~VSTEL = '5100' AND
LIKP~WADAT_IST IN S_WADAT AND
VBRP~AUBEL IN S_AUBEL AND
VBAK~AUART IN ('ZJOB','ZOR') AND
VBRK~FKART IN S_FKART AND
* VBRK~FKART IN ('ZF8','ZF2','ZS1') AND
VBRK~FKSTO NE 'X'.
When I am debugging the select query.the cursor will not go to next step.after 15-20 minutes i am getting runtime error(time limit exceeds).
how can i resolve it for that scenario??
2014 Aug 09 11:51 AM
Hi,
You have forgot to add Posnr , So Join is returning Large Volume of data
Instead of Joining VBRP to Likp , Join VBRP WITH LIPS along with line items.
Also Check for AUBEL field of VBRP in case of ZF8, Whether it contains Sales Order No.
Regards
2014 Aug 09 12:09 PM
Looks like whole SD flow you trying to fetch in single query
First you check the database statistic of these table are upto date in system ( Check with basis team )
if this query was working fine earlier.
Most of table involved are huge volume tables which queried with any primary key
Any secondary index on created for LIKP on VSTEL WADET ?
My suggestion would be split the selection queries and make use of primary or existing secondary index to fetch the desired result if possible. For testing purpose split the queries and find which is taking more time and which needs index by taking squel trace in ST05.
Also take ST05 trace of this query in debugger ( New debugger -> special tool -> trace > ST05/SE30)
2014 Aug 09 2:06 PM
Hi Kaustav,
Try to fragment the JOIN into 3 different Select Statements i.e :
LIKP & LIPS
VBPK & VBRP
VBAK
and use the FOR ALL ENTRIES statement this will really help .
Make sure to check the tables against not initial before executing the statement .
Also go for the Primary key while selecting data, follow the order of fields in the Select statement w.r.t the table.
ReGaRdS,
Dinesh Ailawadi