2010 Jun 03 9:25 AM
Hello experts,
I'm writing a prgram for MM. It's for reporting but it takes forever to monitor the info I need. Here's the "get data" part. Can you please help me to speed it up?
Thanks
Emre
form get_data .
select * from ekko into corresponding fields of table i_list2
where lifnr in s_lifnr
and ebeln in s_ebeln
and bedat in s_bedat.
check sy-subrc = 0.
select * from ekpo into corresponding fields of table i_list
for all entries in i_list2
where ebeln = i_list2-ebeln
and ebeln in s_ebeln.
loop at i_list.
select single * from ekko into corresponding fields of i_list
where ebeln = i_list-ebeln
and ebeln in s_ebeln.
select single banfn bnfpo badat matnr txz01
from eban into (i_list-banfn, i_list-bnfpo, i_list-badat,
i_list-matnr, i_list-txz01)
where ebeln eq i_list-ebeln
and ebelp eq i_list-ebelp
and ebeln in s_ebeln.
.
select single kostl sakto from ekkn into (i_list-kostl,
i_list-sakto) where ebeln = i_list-ebeln
and ebelp = i_list-ebelp.
select single menge meins from rseg
into (i_list-menge2, i_list-meins2)
where ebeln = i_list-ebeln
and ebelp = i_list-ebelp
and ebeln in s_ebeln.
select single menge meins from eban
into (i_list-menge1, i_list-meins1)
where ebeln = i_list-ebeln
and ebelp = i_list-ebelp
and ebeln in s_ebeln.
select single wrbtr from rseg into i_list-wrbtr
where ebeln = i_list-ebeln
and ebelp = i_list-ebelp.
select single * from rseg where ebeln = i_list-ebeln.
if sy-subrc is initial.
select single * from rbkp where belnr = rseg-belnr.
if sy-subrc is initial .
i_list-belnr = rbkp-belnr.
i_list-bldat = rbkp-bldat.
i_list-budat = rbkp-budat.
i_list-wmwst1 = rbkp-wmwst1.
i_list-xblnr = rbkp-xblnr.
i_list-waers = rbkp-waers.
endif.
endif.
select single belnr from bkpf into i_list-belnr1
where gjahr eq rbkp-gjahr
and budat eq rbkp-budat
and bukrs eq rbkp-bukrs
and xblnr eq rbkp-xblnr .
modify i_list.
endloop.
endform. " GET_DATA
Hello experts,
I'm writing a prgram for MM. It's for reporting but it takes forever to monitor the info I need. Here's the "get data" part. Can you please help me to speed it up?
Thanks
Emre
form get_data .
select * from ekko into corresponding fields of table i_list2
where lifnr in s_lifnr
and ebeln in s_ebeln
and bedat in s_bedat.
check sy-subrc = 0.
select * from ekpo into corresponding fields of table i_list
for all entries in i_list2
where ebeln = i_list2-ebeln
and ebeln in s_ebeln.
loop at i_list.
select single * from ekko into corresponding fields of i_list
where ebeln = i_list-ebeln
and ebeln in s_ebeln.
select single banfn bnfpo badat matnr txz01
from eban into (i_list-banfn, i_list-bnfpo, i_list-badat,
i_list-matnr, i_list-txz01)
where ebeln eq i_list-ebeln
and ebelp eq i_list-ebelp
and ebeln in s_ebeln.
.
select single kostl sakto from ekkn into (i_list-kostl,
i_list-sakto) where ebeln = i_list-ebeln
and ebelp = i_list-ebelp.
select single menge meins from rseg
into (i_list-menge2, i_list-meins2)
where ebeln = i_list-ebeln
and ebelp = i_list-ebelp
and ebeln in s_ebeln.
select single menge meins from eban
into (i_list-menge1, i_list-meins1)
where ebeln = i_list-ebeln
and ebelp = i_list-ebelp
and ebeln in s_ebeln.
select single wrbtr from rseg into i_list-wrbtr
where ebeln = i_list-ebeln
and ebelp = i_list-ebelp.
select single * from rseg where ebeln = i_list-ebeln.
if sy-subrc is initial.
select single * from rbkp where belnr = rseg-belnr.
if sy-subrc is initial .
i_list-belnr = rbkp-belnr.
i_list-bldat = rbkp-bldat.
i_list-budat = rbkp-budat.
i_list-wmwst1 = rbkp-wmwst1.
i_list-xblnr = rbkp-xblnr.
i_list-waers = rbkp-waers.
endif.
endif.
select single belnr from bkpf into i_list-belnr1
where gjahr eq rbkp-gjahr
and budat eq rbkp-budat
and bukrs eq rbkp-bukrs
and xblnr eq rbkp-xblnr .
modify i_list.
endloop.
endform. " GET_DATA
2010 Jun 03 9:33 AM
Please try yourself first by reading the recommendations here:
If there is still a problem, please post in "ABAP Performance" forum.
Thread locked.
Thomas