Application Development and Automation 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: 
Read only

back ground processing

Former Member
0 Likes
308

i have scheduled a job , it got cancelled because of the error newpage_alloc_failed , whatz the reason for that

1 ACCEPTED SOLUTION
Read only

ferry_lianto
Active Contributor
0 Likes
287

Hi,

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.

Hope this will help.

Regards,

Ferry Lianto

1 REPLY 1
Read only

ferry_lianto
Active Contributor
0 Likes
288

Hi,

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.

Hope this will help.

Regards,

Ferry Lianto