‎2007 Nov 16 9:50 AM
Hi Guys,
I want to creat a internal table which should hold more than 8 lacks records.
Which is the better internal table type??
Thanks for the help in advance.
Prabhu.R
‎2007 Nov 16 10:18 AM
Hi,
There is no restriction. When you add new rows and if the already allocated memory exceeds then a new 8kb memory will be allocated. so, It will only depend on the available free memory left in the system.
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.
there is no limit like that until unless u define the capacity as follows,
data: begin of <itab> occurs 8,
-
-
data: end of <itab>.
in such cases, it takes only upto 8 kb.
the internal table size can be defined by the programmer as
occurs 0
occurs 1,
ouccrs 2,
occurs3,
...
...
...
occurs n .. etc where are the maximum memort of the internal table is OCCURS 0
0->ZERO means 2 gigabytes of data size which is 2powerof 30. .
after that there is no memory growth in the program ... so it will give you sort dump for that only field-sysmbols are used .... for separating the internal table data dynamically to avoid short dump and to increase the performance of the read concept
No, limit depends on the memory size itself. Because whenever more space is needed it is automatically allocated.
IF you define an internal table using OCCURS N then it will reallocate n memory slots of same size.
Reward is useful.
‎2007 Nov 16 9:53 AM
Hi,
Types: Begin of ty_data,
f1 type f1,
f2 type f2,
............
............
End of ty_data.
Data: itab type table of ty_data,
wa type ty_data.Regards,
Satish
‎2007 Nov 16 9:54 AM
‎2007 Nov 16 10:03 AM
Hi
Storage in internal Table does not depend on the number of records but depend on the memory they will be using.
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.
SAP ABAP does it automaticaly if ur internal table is filled it increases its space automatically.
<b>Reward if usefull</b>
‎2007 Nov 16 10:18 AM
Hi,
There is no restriction. When you add new rows and if the already allocated memory exceeds then a new 8kb memory will be allocated. so, It will only depend on the available free memory left in the system.
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.
there is no limit like that until unless u define the capacity as follows,
data: begin of <itab> occurs 8,
-
-
data: end of <itab>.
in such cases, it takes only upto 8 kb.
the internal table size can be defined by the programmer as
occurs 0
occurs 1,
ouccrs 2,
occurs3,
...
...
...
occurs n .. etc where are the maximum memort of the internal table is OCCURS 0
0->ZERO means 2 gigabytes of data size which is 2powerof 30. .
after that there is no memory growth in the program ... so it will give you sort dump for that only field-sysmbols are used .... for separating the internal table data dynamically to avoid short dump and to increase the performance of the read concept
No, limit depends on the memory size itself. Because whenever more space is needed it is automatically allocated.
IF you define an internal table using OCCURS N then it will reallocate n memory slots of same size.
Reward is useful.