HI All,
I am getting dump for below code.
Dump details:
Possible error causes:
o The maximum size of an SQL statement was exceeded.
o The statement contains too many input variables.
o The input data requires more space than is available.
o ...
You can generally find details in the system log (SM21) and in the
developer trace of the relevant work process (ST11).
In the case of an error, current restrictions are frequently displayed
in the developer trace.
I have requirement to fetch list material which linked with MFRPN (MPN = manufacturer part number). MPN (MARA-MFRPN) is non key field.
So i am passing (%MFRPN% into select query to get list material linked with MPN please find select query below.
If i give restrict selection value into 100 to 200 both code1 and code2 works fine. if pass more value like more than 1000 or around 1000 then its give dump.
Any buddy could please suggest how to solve this issue.
Code 1:
LOOP AT lt_mara ASSIGNING <ls_mara>.
* Concatenate mpn number with star (%)
CONCATENATE lc_star <ls_mara>-mfrpn lc_star INTO l_mfrpn.
* Append to range table
APPEND INITIAL LINE TO lr_range_mfrpn ASSIGNING <ls_range_mfrpn>.
<ls_range_mfrpn>-sign = lc_sign.
<ls_range_mfrpn>-option = lc_option.
<ls_range_mfrpn>-low = l_mfrpn.
ENDLOOP.
REFRESH lt_mpn_matnr.
DATA : s_cursor TYPE cursor .
OPEN CURSOR WITH HOLD s_cursor FOR
SELECT matnr "Material number
mtart "Material Type
imatn "FFFC
mfrpn "MPN
FROM mara WHERE mfrpn IN lr_range_mfrpn .
DO.
FETCH NEXT CURSOR s_cursor
APPENDING TABLE lt_mpn_matnr
PACKAGE SIZE 1500.
IF sy-subrc <> 0.
CLOSE CURSOR s_cursor.
exit.
ENDIF.
ENDDO.
Code 2:
LOOP AT lt_mara ASSIGNING <ls_mara>.
Concatenate mpn number with star (*)
CONCATENATE '%' <ls_mara>-mfrpn '%' INTO l_mfrpn.
SELECT matnr "Material number
mtart "Material Type
imatn "FFFC
mfrpn "MPN
FROM mara
APPENDING TABLE lt_mpn_matnr
WHERE mfrpn like l_mfrpn."lr_range_mfrpn.
ENDLOOP.
----------------------------------------------------------------------