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

runtime Job error

Former Member
0 Likes
1,136

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,096

Hi Arun,

I guess it is realted to Basis.

By the way did you write memory realated coding in your program?

Regards,

Pravin

11 REPLIES 11
Read only

Former Member
0 Likes
1,096

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

Read only

Former Member
0 Likes
1,097

Hi Arun,

I guess it is realted to Basis.

By the way did you write memory realated coding in your program?

Regards,

Pravin

Read only

0 Likes
1,096

No pravin. Its just a inner join statement.

Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
1,096

>

> 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

Read only

0 Likes
1,096

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.

Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
1,096

Before using FOR ALL ENTRIES did u check ITAB1 was not initial ?

If you didn't you know what caused the problem.

Read only

0 Likes
1,096

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..

Read only

SuhaSaha
Product and Topic Expert
Product and Topic Expert
0 Likes
1,096

>

> 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

Read only

0 Likes
1,096

Hi suhas

The internal table Itab1 contains data (in large volume) still the program becomes short dump, after this code.

Read only

0 Likes
1,096

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.

-

Read only

Former Member
0 Likes
1,096

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.