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: 

Max no. of entries in an internal table?

Former Member
0 Kudos

Max no. of entries in an internal table?

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi,

An internal table allows maximum of 2GB of storage, this can be increased by applying some patch up to 4 GB but that will degrade the programs performance.

To resolve this limit the number of records while selecting and rerun the program as per required number of times.

Kindly Award Points If You Find The Reply Helpful.

Cheers,

Chaitanya.

4 REPLIES 4

Former Member
0 Kudos

Unlimited.

Thanks

ANUPAM

former_member195698
Active Contributor
0 Kudos

The maximum memory that can be occupied by an internal table (including its internal administration) is 2 gigabytes. A more realistic figure is up to 500 megabytes. An additional restriction for hashed tables is that they may not contain more than 2 million entries.

So based on the Structure of your internal table, a single row will occupy space and the total lines will be Total Space Allowed/ Space occupied by one row.

Regards,

abhishek

Former Member
0 Kudos

Hi,

You can specify the initial amount of main memory assigned to an internal table object when you define the data type using the following addition:

INITIAL SIZE <n>

This size does not belong to the data type of the internal table, and does not affect the type check. You can use the above addition to reserve memory space for <n> table lines when you declare the table object.

When this initial area is full, the system makes twice as much extra space available up to a limit of 8KB. Further memory areas of 12KB each are then allocated.

You can usually leave it to the system to work out the initial memory requirement. The first time you fill the table, little memory is used. The space occupied, depending on the line width, is 16 <= <n> <= 100.

It only makes sense to specify a concrete value of <n> if you can specify a precise number of table entries when you create the table and need to allocate exactly that amount of memory

(exception: Appending table lines to ranked lists). This can be particularly important for deep-structured internal tables where the inner table only has a few entries (less than 5, for example).

To avoid excessive requests for memory, large values of <n> are treated as follows: The largest possible value of <n> is 8KB divided by the length of the line. If you specify a larger value of <n>, the system calculates a new value so that n times the line width is around 12KB.

Regards,

Bhaskar

Former Member
0 Kudos

Hi,

An internal table allows maximum of 2GB of storage, this can be increased by applying some patch up to 4 GB but that will degrade the programs performance.

To resolve this limit the number of records while selecting and rerun the program as per required number of times.

Kindly Award Points If You Find The Reply Helpful.

Cheers,

Chaitanya.