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 cannot be extended dump - space complexity.

Former Member
0 Kudos

Hi All,

I have a requirement where I need to optimize a report program. Here, the program is giving short dump " TSV_TNEW_BLOCKS_NO_ROLL_MEMORY" and terminating t the following line because the internal table could not be extended".

Following is the "for all entries" select code where I am getting the dump that internal table 'it_qmel' cannot be extended more.


  if idtl is not initial.
    select aufnr matnr serialnr into table it_qmel
    from qmel
    for all entries in idtl
    where matnr    eq idtl-matnr and
          serialnr in s_sernr.
    sort it_qmel by aufnr.
    delete adjacent duplicates from it_qmel.
  endif.

Could someone please suggest me, how to optimize the above code so that it uses less memory.

Please help, I need this urgently.

Thanks,

Vishal.

9 REPLIES 9

Former Member
0 Kudos

Hi

Can you pls show, how you have declared it_qmel internal table

Regards

MD

0 Kudos

Following is the declaration of internal table, which I have used.


types: begin of fs_qmel,
        aufnr type qmel-aufnr,
        matnr type qmel-matnr,
        serialnr type qmel-serialnr,
       end of fs_qmel.

data: wa_qmel type fs_qmel,
it_qmel type table of fs_qmel with header line.

matt
Active Contributor
0 Kudos

How many entries in idtl? How many matching entries in the table qmel?

Sometimes you simply can't select all the data you want. In those cases, you have to define a smaller selection.

0 Kudos

Hi

Actually i am offline

Is all the primary keys taken in where condition of qmel

If not create a range and pass, it may improve the perfomance

Regards

MD

0 Kudos

The dump analysis says that:

"No roll storage space of length 1928208 available for internal storage."

I need this report to run for around 7000 to 8000 records.

0 Kudos

not a big structure...the problem is probably somewhere else, it's only that memory runs out at that very point.

What other big internal tables are you filling in your program? Depends on the box, but for such an error you probably have 1 GB of memory space occupied with your program. See if you can FREE tables that are not used any more, or implement block processing: read a chunk, process, clear tables, read next chunk, etc.

Thomas

Former Member
0 Kudos

Will you divide the data into two internal tables and later collect into the one internal table

Former Member
0 Kudos

You might be getting this error due to huge size of data.

You can use PACKAGE SIZE keyword in the select query to select smaller amount of data and process them.

Former Member
0 Kudos

where clause 'in' consumes more space.