Skip to Content
author's profile photo
Former Member

Dump: No more space in Rollarea

Hi all,

i got a shortdump while appending records to an internal table (TSV_NEW_PAGE_ALLOC_FAILED).

The strange thing, which i dont´t understand is that

im using the statements free, reject and clear after 10.000 records were added to the internal table but

the shortdump log shows that there are nevertheless more than 100.000 records in the table.

How can i free up the memory used by the internal table ??

Any ideas ?

regards

André

Message was edited by: Andre Werz

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • author's profile photo
    Former Member
    Jul 02, 2004 at 11:39 AM

    If the dump indicates that there are more than 100K records in the internal table, then the only possibility is that you have a bug in the logic / algorithm that clears out the internal table every 10K records.

    If you have an internal table without a header line, then the statements FREE, REFRESH and CLEAR will all empty the internal table so that its row count is 0. The difference between CLEAR/REFRESH and FREE, is that only the FREE statement will release the memory previously allocated for those rows. The idea is that FREE is called when you know the internal table is not going to be re-populated, and CLEAR/REFRESH is used when the internal table needs to be emptied and then re-populated (avoiding the overhead of allocating memory again).

    If the internal table has a header line, then "CLEAR TAB" will only initialise the header line, whereas "CLEAR TAB[]" will have the same effect as "REFRESH TAB". The REFRESH statement will not initialise a header line.

    I assume you meant to type REFRESH rather than REJECT, as the REJECT keyword is for an entirely different purpose not related to internal tables.

    Cheers,

    Scott

    Add comment
    10|10000 characters needed characters exceeded