2008 Nov 20 6:10 AM
Hi All,
I had to modify the current select query coz its taking a lot of database time, please suggest the best solution for the below.
SELECT msegbukrs mkpfbudat mkpf~bldat
msegebeln mkpfxblnr mseg~mblnr
msegmjahr msegzeile mseg~xauto
msegparent_id msegwerks mseg~umwrk
msegumlgo msegparent_id ekko~reswk
msegwerks mseglgort mseg~matnr
msegerfmg msegerfme mseg~shkzg
msegsjahr msegsmbln mseg~smblp
msegcharg ekkobedat
INTO TABLE g_tbl_main
FROM mkpf JOIN mseg
ON mkpfmandt = msegmandt AND
mkpfmblnr = msegmblnr AND
mkpfmjahr = msegmjahr
JOIN ekko ON msegmandt = ekkomandt AND
msegebeln = ekkoebeln
JOIN likp ON mkpfxblnr = likpvbeln
CLIENT specified
WHERE mkpf~mandt = sy-mandt AND
mkpf~budat IN s_budat AND
ekko~bedat IN s_bedat AND
mseg~ebeln IN s_ebeln AND
mkpf~xblnr IN s_vbeln AND
likp~vstel IN s_vstel AND
ekko~reswk IN s_reswk AND
mseg~werks IN r_werks AND
mseg~lgort IN s_lgort AND
mseg~matnr IN s_matnr AND
mseg~smbln = space AND
mseg~bwart IN s_bwart AND
mseg~kzzug = c_true.
2008 Nov 20 6:19 AM
Yes, avinash said rightly.
there is another way bit diffict.
use the indexes properly as available in the mseg table and mkpf table even then it is diffcult
else try using BAPI.
some bapi will give the entire details of the MATERAIL DOCUMENT
go to BAPI explorer tcode BAPI.
where you can find the BAPI name like the 'GET_LIST'.
Try this.
hope this will serve your purpose.
Thanks and regards
Ramchander Rao.K
Hi All,
I had to modify the current select query coz its taking a lot of database time, please suggest the best solution for the below.
SELECT msegbukrs mkpfbudat mkpf~bldat
msegebeln mkpfxblnr mseg~mblnr
msegmjahr msegzeile mseg~xauto
msegparent_id msegwerks mseg~umwrk
msegumlgo msegparent_id ekko~reswk
msegwerks mseglgort mseg~matnr
msegerfmg msegerfme mseg~shkzg
msegsjahr msegsmbln mseg~smblp
msegcharg ekkobedat
INTO TABLE g_tbl_main
FROM mkpf JOIN mseg
ON mkpfmandt = msegmandt AND
mkpfmblnr = msegmblnr AND
mkpfmjahr = msegmjahr
JOIN ekko ON msegmandt = ekkomandt AND
msegebeln = ekkoebeln
JOIN likp ON mkpfxblnr = likpvbeln
CLIENT specified
WHERE mkpf~mandt = sy-mandt AND
mkpf~budat IN s_budat AND
ekko~bedat IN s_bedat AND
mseg~ebeln IN s_ebeln AND
mkpf~xblnr IN s_vbeln AND
likp~vstel IN s_vstel AND
ekko~reswk IN s_reswk AND
mseg~werks IN r_werks AND
mseg~lgort IN s_lgort AND
mseg~matnr IN s_matnr AND
mseg~smbln = space AND
mseg~bwart IN s_bwart AND
mseg~kzzug = c_true.
2008 Nov 20 6:15 AM
Split the select query and use the for all entries..this will improve the preformence....
2008 Nov 20 6:19 AM
Yes, avinash said rightly.
there is another way bit diffict.
use the indexes properly as available in the mseg table and mkpf table even then it is diffcult
else try using BAPI.
some bapi will give the entire details of the MATERAIL DOCUMENT
go to BAPI explorer tcode BAPI.
where you can find the BAPI name like the 'GET_LIST'.
Try this.
hope this will serve your purpose.
Thanks and regards
Ramchander Rao.K
2008 Nov 20 6:21 AM
Hi,
Split of the query and then use the for all entries concept.
While using the for all entries concept be aware that you are using the proper indexes.
thanks & Regards
2008 Nov 20 6:37 AM
Hi soyunee,
Please take seperate Internal table for each table. and select appropriate fields into same respective internal table.
then take one it_final, final internal table with all these fields for output.
and pass your all internal tables value to it_final in loop.
Regards,
sujeet
2008 Nov 25 6:17 AM
Hi all,
I just want to make sure if i can join EKKO and LIKP ,
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |