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

doubt in prms

Former Member
0 Likes
672

Hi experts,

I am created one classical report with selection option, the selection option have ranges, if i give the range ( My data are very very huge ) its giving dump error of Times out.. so how to rectify the error.. urgent..

Gowri

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
628

Hi,

There is a restriction for SELECT clause WHERE condition for not to exceed some 999 criteria. So the solution is, Loop to your RANGES1 table and populate other RANGES2 table until the count reaches to 800. Then Write the Select Clause using RANGES2 table and then Refresh it. Check the below code.

data count type i.

data itab like VBAK occurs 0 with header line.

clear count.

clear RANGES2.

refresh RANGES2.

loop at RANGES1.

count = count + 1.

append RANGES1 to RANGES2.

if count = 800.

SELECT * from vbak appending table itba where XXX in RANGES2.

clear RANGES2.

refresh RANGES2.

clear count.

endif.

endloop.

if count > 1.

SELECT * from vbak appending table itba where XXX in RANGES2.

clear RANGES2.

refresh RANGES2.

clear count.

endif.

Satya

Hi experts,

I am created one classical report with selection option, the selection option have ranges, if i give the range ( My data are very very huge ) its giving dump error of Times out.. so how to rectify the error.. urgent..

Gowri

3 REPLIES 3
Read only

Former Member
0 Likes
628

Hi

declare that select option

as

select-options:s_bukrs for t001-bukrs no intervals no-extension

obligatory.

and restrict your entries for that field, so that it will not consume lot of time.

Reward points if useful

Regards

Anji

Read only

Former Member
0 Likes
629

Hi,

There is a restriction for SELECT clause WHERE condition for not to exceed some 999 criteria. So the solution is, Loop to your RANGES1 table and populate other RANGES2 table until the count reaches to 800. Then Write the Select Clause using RANGES2 table and then Refresh it. Check the below code.

data count type i.

data itab like VBAK occurs 0 with header line.

clear count.

clear RANGES2.

refresh RANGES2.

loop at RANGES1.

count = count + 1.

append RANGES1 to RANGES2.

if count = 800.

SELECT * from vbak appending table itba where XXX in RANGES2.

clear RANGES2.

refresh RANGES2.

clear count.

endif.

endloop.

if count > 1.

SELECT * from vbak appending table itba where XXX in RANGES2.

clear RANGES2.

refresh RANGES2.

clear count.

endif.

Satya

Read only

Former Member
0 Likes
628

Hi Gowri,

Use AT Selection-Screen event in ur report.

validate ur field against any table.display error message if user enters

dump data.

refer this code :

SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME.

SELECT-OPTIONS : P_VBELN FOR VBUK-VBELN .

SELECTION-SCREEN END OF BLOCK BL1.

SELECT VBELN INTO CORRESPONDING FIELDS OF TABLE I_INVOICE

FROM VBUK

WHERE VBELN IN P_VBELN.

IF SY-SUBRC <> 0.

MESSAGE E101.

ENDIF.

Reward points if helpful.

Regards,

Hemant