Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

select query going to dump

Former Member
0 Likes
818

Hi all,

My select query is going to dump due to huge no of records. I have around 600000 records.

What is the best method we can use to avoid dump. How can we use package.

regards,

Mani

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
742

v_size = 20000.

SELECT mandt bukrs belnr gjahr blart bldat

budat monat tcode xblnr dbblg

bktxt waers kursf bstat FROM bkpf INTO TABLE it_bkpf PACKAGE SIZE v_size

WHERE gjahr IN s_ryear

AND bukrs IN s_bukrs

AND bstat IN (' ','A','B').

SELECT mandt bukrs belnr gjahr buzei bschl koart

shkzg mwskz gsber dmbtr wrbtr mwart

sgtxt bewar vorgn kostl vbeln vbel2

saknr hkont kunnr lifnr matnr ebeln

anln1 anln2 anbwa bzdat FROM bseg INTO TABLE it_bseg FOR ALL ENTRIES IN it_bkpf

WHERE bukrs IN s_bukrs

AND belnr = it_bkpf-belnr

AND gjahr IN s_ryear.

IF sy-subrc = 0.

your code

ENDIF.

ENDSELECT.

3 REPLIES 3
Read only

former_member226519
Active Contributor
0 Likes
742

use

OPEN CURSOR WITH HOLD C FOR SELECT * FROM table

while <condition>

fetch next cursor C into table itab package size PACK_SIZE

....

endwhile.

challenge is PACK_SIZE

Read only

Former Member
0 Likes
743

v_size = 20000.

SELECT mandt bukrs belnr gjahr blart bldat

budat monat tcode xblnr dbblg

bktxt waers kursf bstat FROM bkpf INTO TABLE it_bkpf PACKAGE SIZE v_size

WHERE gjahr IN s_ryear

AND bukrs IN s_bukrs

AND bstat IN (' ','A','B').

SELECT mandt bukrs belnr gjahr buzei bschl koart

shkzg mwskz gsber dmbtr wrbtr mwart

sgtxt bewar vorgn kostl vbeln vbel2

saknr hkont kunnr lifnr matnr ebeln

anln1 anln2 anbwa bzdat FROM bseg INTO TABLE it_bseg FOR ALL ENTRIES IN it_bkpf

WHERE bukrs IN s_bukrs

AND belnr = it_bkpf-belnr

AND gjahr IN s_ryear.

IF sy-subrc = 0.

your code

ENDIF.

ENDSELECT.

Read only

kesavadas_thekkillath
Active Contributor
0 Likes
742


SELECT vbeln erdat FROM vbak INTO TABLE lt_vbak PACKAGE SIZE 50. "here it fetches 50 records for a hit

if lt_vbak[] is not initial.

SELECT posnr matnr meins FROM vbap INTO TABLE lt_vbap
FOR ALL ENTRIES IN lt_vbak
WHERE vbeln = lt_vbak-vbeln.

IF sy-subrc = 0.
* Now you have the two internal tables lt_vbak and lt_vbap filled with data.
* Do something with the data - remember to reinitialize internal tables
ENDIF.

clear lt_vbak[].

ENDSELECT.