2007 May 04 1:54 PM
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
2007 May 04 2:06 PM
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
2007 May 04 1:57 PM
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
2007 May 04 2:06 PM
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
2007 May 04 2:06 PM
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
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |