Application Development 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: 

Internal Table Dump

former_member742973
Participant
0 Kudos

Hi All,

I am currently working on a report which fetches data from payroll clusters and the result is stored in a internal table, the report is going to dump when the number of records goes beyond 80000, saying there is no roll memory available, basically there is no further space available to store records on that internal table.

This report is displayed using alv grid display on a module pool screen using a container control.

If any of you have a solution to stop this dump, kindly help me out on this.

Best Regards,

Thirumal

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Thirumal,

Take a look at the OSS notes :

185185 - Application: Analysis of memory bottlenecks

This Note gives you information on how to trouble shoot the NO ROLL MEMORY issue.

Hope this helps

Cheers

VJ

6 REPLIES 6

Former Member
0 Kudos

define the internal table with OCCURS 100 like that & check this out.

Regards

srikanth

0 Kudos

Hello,

Post code, or tell what are the FM's you are using in the report.

Regds,

Mano sri

Former Member
0 Kudos

Hi Thirumal,

Take a look at the OSS notes :

185185 - Application: Analysis of memory bottlenecks

This Note gives you information on how to trouble shoot the NO ROLL MEMORY issue.

Hope this helps

Cheers

VJ

Former Member
0 Kudos

Hi Thirumal,

Increase the swap space or decrease the SAP Extended Memory. If the swap space already

corresponds to the SAP recommendations, 1.5 to 2 GB may still be required. There should always

be several hundred MB of free swap space available. You can reduce the maximum swap space need

of the SAP System by reducing the value of parameter abap_heap_area_total. For more detailed

information, see Monitoring the Memory Management System.

You can also distribute the load onto several application servers and increase the roll

area. Check if the maximum process size (operating system parameters) is sufficient.

For more details refer to the link

<a href="http://help.sap.com/saphelp_erp2005/helpdata/en/fb/cbb96cd9ee11d188be0000e83539c3/frameset.htm">http://help.sap.com/saphelp_erp2005/helpdata/en/fb/cbb96cd9ee11d188be0000e83539c3/frameset.htm</a>

CONSULT YOUR BASIS GUY TO RECTIFY THIS ISSUE...

Hope it helps...

Lokesh

pls. reward appropriate points

Former Member
0 Kudos

HI

GOOD

AS PER YOURE REQUIREMENT THERE IS PROBLEM IN THE MEMORY VIOLATION , BESICALLY A INTERANL TABLE TAKES 286MB OF MEMORY ,IF IT GOES BEYOND THAT IT WILL GIVE YOU SUCH KIND OF ERRORS.BETTER YOU CONSULT YOUR BASIS CONSULTANT TO INCREASE THE MEMORY SIZE OR GIVE YOU SOME SOLUTION FOR THIS.

THANKS

MRUTYUN

Former Member
0 Kudos

Hello Thirumal,

This is basic problem with Internal tables. Internally they have memory limitation (256K), if selected data cross memory limit it results in dump.

You can avoid this by selecting less number of records at a time. I have done the same in one of my program.

Try below code...This is just sample code. You need to modify as per your requirement.

  • Fill tab_newintermed

DESCRIBE TABLE TAB_MAST LINES W_RECORDS.

W_LOW = 1.

W_UP = 1000.

*Spliting the records from tab_Mast by pakage of 1000 at a time

*to avoid short dump in case of more records

WHILE W_LOW <= W_RECORDS.

R_MATNR-SIGN = 'I'.

R_MATNR-OPTION = 'EQ'.

LOOP AT TAB_MAST FROM W_LOW TO W_UP.

MOVE TAB_MAST-MATNR TO R_MATNR-LOW.

APPEND R_MATNR.

ENDLOOP.

SELECT STPOIDNRK MASTMATNR MARA~MTART

FROM STPO INNER JOIN MAST

ON STPOSTLNR = MASTSTLNR INNER JOIN MARA

ON STPOIDNRK = MARAMATNR

APPENDING CORRESPONDING FIELDS OF TABLE TAB_NEWINTERMED

WHERE MAST~MATNR IN R_MATNR

AND STPO~STLTY = K_M.

DELETE TAB_MAST FROM W_LOW TO W_UP.

REFRESH R_MATNR.

W_LOW = W_LOW + 1000.

W_UP = W_UP + 1000.

ENDWHILE.

Let me know if this help you....othewise let me know your email id..will send you program.

Cheers,

Nilesh