‎2007 Aug 14 10:52 PM
Hello everyone:
I am running a program that goes to dump with an error "roll area size too small" in ECC6.0. The same program works fine in 4.6C. We worked with BASIS to set roll area related paramteres, logged OSS notes and set parameters as SAP suggested but nothing worked! Is there any function module or any code that I could use to free the roll area size in the program? Rewards assured.
Thanks.
Mithun
‎2007 Aug 14 11:28 PM
Hello Mithum,
On the report you are getting the dump, (I guess it is Z), go to Utilities, ABAP Editor and check "Indicator for Editor Line Length = 72".
Save and activate the report.
It will help hopefullty.
Bye
Gabriel
‎2007 Aug 14 11:39 PM
It means that you have reached the end of the memory space and you can avoid it only if you have a way to reduce the amount of memory you take up in your code. Is this a custom program? Check the code for INTO TABLE itab or APPEND itab statements and see if you can somehow break it into smaller chunks for processing.
Other than that your option is to increase your roll area size parameter. If it is a standard program and SAP cannot resolve it, there is a real problem. Please post the code extract where the error occurs.
‎2007 Aug 14 11:42 PM
As Srinivas has suggested, this is definitly a memory issue(not sure what Gabriel is pointing out with the editor). If this is a custom program, try analyzing the program code and freeing up any memory where possible. FOr example, if you have any internal tables within that are no longer being used during program execution, then use the FREE statement to free them up. If this is a standard program, then SAP should be taken the appropriate action to help you solve the problem.
Regards,
RIch Heilman
‎2007 Aug 15 2:32 PM
Hello Mithum,
I think Rich and Srinivas are correct, sorry I missunderstood your issue, try finding the way to keep some memory.
Bye
Gabriel
‎2007 Aug 15 6:51 PM
Thanks everyone for the feedback. I did work with SAP and had BASIS set the parameters as per the suggestions by SAP and after going back and forth they said it might be a program issue. This is the Z program and this is the code where it goes to DUMP with the error "Roll area too small".
================================================
CALL FUNCTION 'GET_PRINT_PARAMETERS'
EXPORTING
authority = space
immediately = space
new_list_id = c_x
no_dialog = c_x
user = sy-uname
IMPORTING
out_parameters = params
EXCEPTIONS
archive_info_not_found = 1
invalid_print_params = 2
invalid_archive_params = 3
OTHERS = 4.
IF sy-subrc NE 0.
CLEAR : params.
ENDIF.
The printer destination has to be set up
params-pdest = v_dest.
params-prtxt = v_spool_text.
params-paart = c_paart.
params-prtxt = v_spool_text.
params-primm = 'X'.
params-prrel = space.
*
NEW-PAGE PRINT ON PARAMETERS params NO DIALOG.
NEW-PAGE PRINT OFF.
===========================================
I used FREE statements in the program to free internal tables and if I remove the code above the program runs successfully! This works fine in 4.6C! All the paramters like roll area and stuff is more in ECC6.0 compared to 4.6C but the program still abends!! Please let me know if there is any resolution!!
*I am rewarding all the answers*
Thanks.
Mithun
‎2007 Aug 15 11:00 PM
That is very interesting. I am assuming that you are doing this at the very end of your program where you have accumulated all the data you need and now writing it out to the spool. I don't see anything in this extract of the code that will cause this problem.
Can you please try to do something after your call 'GET_PRINT_PARAMETERS' fails? Right now, you are clearing params but continuing on to call the new-page with params. I am not sure if this is the reason but worth trying it out.
Also, please let us know if you are getting this dump while executing the call function or at the NEW-PAGE statement.