‎2010 Apr 30 4:15 AM
hi all
while running a I/F program(for access datas from database table and through backround job its getting short dumb with this error
message.
No roll storage space of length 64551104 available for table index.
Each transaction requires some main memory space to process
application data. If the operating system cannot provide any more
space, the transaction is terminated.
Is this related to ABAP or Basis.how to solve this
‎2010 Apr 30 4:35 AM
Hi Arun,
I guess it is realted to Basis.
By the way did you write memory realated coding in your program?
Regards,
Pravin
‎2010 Apr 30 4:22 AM
hi all
sorry i misstyped last time
while running a I/F program (to extract data from database and generate IDOC) through backround job
its getting short dumb with this error message.Is this related to ABAP or Basis.how to solve this
No roll storage space of length 64551104 available for table index.
-
What happened?
-
Each transaction requires some main memory space to process
application data. If the operating system cannot provide any more
space, the transaction is terminated.
-
What can you do?
-
Try to find out (e.g. by targetted data selection) whether the
transaction will run with less main memory.
arun
‎2010 Apr 30 4:35 AM
Hi Arun,
I guess it is realted to Basis.
By the way did you write memory realated coding in your program?
Regards,
Pravin
‎2010 Apr 30 4:46 AM
‎2010 Apr 30 5:21 AM
>
> Its just a inner join statement.
Which is causing the problem
Looks like huge data is being fetched by the SELECT statement which in turn exceeds the memory space allocated.
You can check first how to optimize the select statement to restrict the amount of data. If you feel the select is optimized you should consult with your basis team on increasing the memory allocation.
BR,
Suhas
‎2010 Apr 30 5:43 AM
This is that statement can anyone suggest me the alternative way.
refresh itab2.
select qasr~prueflos
qamv~verwmerkm
qasr~code1
from qamv
inner join qasr on
qasrvorglfnr = qamvvorglfnr
and qasrmerknr = qamvmerknr
into corresponding fields of table itab2
for all entries in itab1
where qasr~prueflos eq itab1-prueflos.
‎2010 Apr 30 5:52 AM
Before using FOR ALL ENTRIES did u check ITAB1 was not initial ?
If you didn't you know what caused the problem.
‎2010 Apr 30 6:21 AM
Hi suhas
Thankyou. I didnt check it(if not Itab1[] is initial), now i add that statement..
other than that reason shall i suggest my basis team to increasing the memory allocation..
‎2010 Apr 30 6:26 AM
>
> Thankyou. I didnt check it(if not Itab1[] is initial), now i add that statement..
> other than that reason shall i suggest my basis team to increasing the memory allocation..
I think this should be enough, as of now no need to ask the basis team to increase the memory allocation.
You should remember if the internal table used in FOR ALL ENTRIES is empty the WHERE condition is skipped & all the records from the db table are transferred to the resulting internal table.
Edited by: Suhas Saha on Apr 30, 2010 10:57 AM
‎2010 Apr 30 7:20 AM
Hi suhas
The internal table Itab1 contains data (in large volume) still the program becomes short dump, after this code.
‎2010 Apr 30 7:48 AM
It display the following message
If the error persists, ask your system administrator to check the
following profile parameters:
o ztta/roll_area (1.000.000 - 15.000.000)
Classic roll area per user and internal mode
usual amount of roll area per user and internal mode
o ztta/roll_extension (10.000.000 - 500.000.000)
Amount of memory per user in extended memory (EM)
o abap/heap_area_total (100.000.000 - 1.500.000.000)
o abap/heap_area_total (100.000.000 - 1.500.000.000)
Amount of memory (malloc) for all users of an
application server. If several background processes are running
on one server, temporary bottlenecks may occur.
Error analysis
The table "ITAB2" could not be enlarged further.
You attempted to create an index of length 71170240 for the internal table
"ITAB2". This operation was triggered by INSERT/DELETE/SORT statements on
the internal table. However, no storage of this length was available in
the roll area.
The amount of memory requested is no longer available.
-
‎2010 Apr 30 11:34 AM
You can use package size in the select query to resolve the problem.
Check the sap help for package size............
http://help.sap.com/abapdocu_70/en/ABAPINTO_CLAUSE.htm#!ABAP_ONE_ADD@1@
DATA: it_spfli TYPE TABLE OF SPFLI WITH HEADER LINE.
START-OF-SELECTION.
SELECT * FROM spfli INTO TABLE it_spfli PACKAGE SIZE 5.
LOOP AT it_spfli.
WRITE:/ it_spfli-CARRID,
it_spfli-CONNID,
it_spfli-CITYFROM,
it_spfli-AIRPFROM,
it_spfli-CITYTO,
it_spfli-AIRPTO.
ENDLOOP.
ENDSELECT.