Skip to Content
0
Former Member
May 08, 2008 at 09:06 AM

Performance Problem in Querry

34 Views

Hi All,

I am getting a time out in this following piece of code.

FORM get_matnr.

FIELD-SYMBOLS: <fl_marc> TYPE lty_marc. "Inserted by CTIWARS

SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_mat

FROM pgmi

WHERE prgrp IN s_prgrp

AND werks IN s_werks.

CLEAR: zlines.

DESCRIBE TABLE lt_mat LINES zlines.

IF zlines NE 0.

lt_mat4[] = lt_mat[].

SORT lt_mat4 BY nrmit wemit.

DELETE ADJACENT DUPLICATES FROM lt_mat4 COMPARING nrmit wemit.

*SELECT prgrp*

*werks*

*nrmit*

*wemit*

*INTO TABLE lt_mat3 package size 1000*

*FROM pgmi*

*FOR ALL ENTRIES IN lt_mat4*

*WHERE prgrp = lt_mat4-nrmit*

*AND werks = lt_mat4-wemit.*

CLEAR lv_mat2.

LOOP AT lt_mat3 into lv_mat3.

lv_mat2-prgrp = lv_mat3-prgrp.

lv_mat2-werks = lv_mat3-werks.

lv_mat2-nrmit = lv_mat3-nrmit.

lv_mat2-wemit = lv_mat3-wemit.

APPEND lv_mat2 TO lt_mat2.

CLEAR: lv_mat2,

lv_mat3.

ENDLOOP.

ENDSELECT.

The bold or commented querry is giving the error.

In internal table lt_mat4 there are 57000 rows.

But an earlier querry(pasted below) there is even more data.

SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_mat

FROM pgmi

WHERE prgrp IN s_prgrp

AND werks IN s_werks.

Can anyone point out why is this happening.

Thanks in advance,

Saket.