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 error

Former Member
0 Likes
1,939

hi experts,

could anyone help me with this dump.

Each transaction requires some main memory space to process

application data. If the operating system cannot provide any more

space, the transaction is terminated.

regards,

mae

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,896

Hi Mae,

Ask your basis to increase the space allocation.

regards,

Atish

18 REPLIES 18
Read only

Former Member
0 Likes
1,897

Hi Mae,

Ask your basis to increase the space allocation.

regards,

Atish

Read only

0 Likes
1,896

hi,

Is there any other way?

thank you...

mae

Read only

0 Likes
1,896

Hi,

Mae. If the issue is with your custom code then by looking at code we can see if anything else can be done. But if it is with all transactions or standard transactions then there is no other way.

Regards,

Atish

Read only

0 Likes
1,896

hi,

here is the part of the code where it get dump:

SELECT ebeln bsart lifnr reswk waers kdate

FROM wb2_v_ekko_ekpo2

INTO TABLE i_ekko

FOR ALL ENTRIES IN i_eket

WHERE ebeln EQ i_eket-ebeln AND

bsart NE c_nb OR

( mtart_i NE 'FERT' ) AND

lifnr IN s_lifnr AND

aedat IN s_aedat AND

ekgrp IN s_ekgrp .

mae

Read only

0 Likes
1,896

Hi mae,

Try to use PACKAGE SIZE in your select query so that there will not be short dump.

Just do F1 on this and you will get syntax as how to use.

You can select lets say 5000 entries at a time using PACKAGE SIZE.

Regards,

Atish

Read only

0 Likes
1,896

Hi atish,

But when i look in the table in se16 it can only retrieve two datas..

regards,

mae

Read only

0 Likes
1,896

Hi mae,

Can you paste what was the run time error.

Regards,

Atish

Read only

0 Likes
1,896

hi,

here's the runtime error:

Runtime Errors TSV_TNEW_BLOCKS_NO_ROLL_MEMORY

Date and Time 26.10.2007 04:44:26

Short dump has not been completely stored (too big)

ShrtText

No roll storage space of length 4222992 available for internal storage.

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.

Error analysis

The internal table "IT_929" could not be enlarged further.

Storage location: "Session memory"

You attempted to expand the data structure for the administration

of the storage blocks for table "IT_929". The requested storage

space of 4222992 bytes was not available in the roll area.

The amount of memory requested is no longer available.

regards,

mae

Read only

0 Likes
1,896

Hi mae,

Just ask your basis to increase memory. it is normal issue for them :).

Regards,

Atish

Read only

0 Likes
1,896

hi,

i try to input the values retrieve from the code an inputed it to SE16 I only retrieve 5 datas..how come it cause a low memory allocation?

Thank you...

regards,

mae

Read only

0 Likes
1,896

Hi Mae,

It is not based on end result. it is based on the how many records it has to look through to get the values you requested.

regards,

Atish

Read only

0 Likes
1,896

Hi Mae,

Your code is not optimal first thing.

Second do a SQL Trace and you'll find if this Select is using an index or not.

SELECT ebeln bsart lifnr reswk waers kdate
FROM wb2_v_ekko_ekpo2
INTO TABLE i_ekko
FOR ALL ENTRIES IN i_eket
WHERE ebeln EQ i_eket-ebeln AND
bsart NE c_nb OR 
* What is happening here?? Split this OR and create two new SELECT Queries!!!
( mtart_i NE 'FERT' ) AND 
lifnr IN s_lifnr AND
aedat IN s_aedat AND
ekgrp IN s_ekgrp .

This will remove some amount of memory consumption in your Select.

Hope this helps

Regards

Nishant

I am not sure if you are aware of SQL Trace so this is just for your info:

what you can do is open ST05 in another session.

Then do activate trace.

Then execute your program

Then do deactivate trace

Then display

Find <your table>

Then select that line and press 'EXPLAIN'

This will show which INdex was used by this query.

In case no index is used then you can just look at indexes already present in system for this table and try to use those.

Message was edited by:

Nishant Rustagi

Read only

0 Likes
1,896

Mae,

It can be done through basis,but from the programming side always ensure that you have only primary key fields or index fields in the where clause of the each and every select statement that you are using.

Seems you are fetching the data from database view.Can't you get the same data for any of the tables available.I don't know how far it is correct to fetch the data from view,but I think it is always recommended to fetch the data from tables itself.

K.Kiran.

Read only

0 Likes
1,896

hi,

what do you mean by slit?

how can i do it?

thank you...

regards,

mae

Read only

0 Likes
1,896

Hi,


SELECT ebeln bsart lifnr reswk waers kdate
FROM wb2_v_ekko_ekpo2
INTO TABLE i_ekko
FOR ALL ENTRIES IN i_eket
WHERE ebeln EQ i_eket-ebeln AND
bsart NE c_nb OR 
* What is happening here?? Split this OR and create two new SELECT Queries!!!
( mtart_i NE 'FERT' ) AND 
lifnr IN s_lifnr AND
aedat IN s_aedat AND
ekgrp IN s_ekgrp .

In the above Code piece actually there are two select statements.


SELECT ebeln bsart lifnr reswk waers kdate
FROM wb2_v_ekko_ekpo2
INTO TABLE i_ekko
FOR ALL ENTRIES IN i_eket
WHERE ebeln EQ i_eket-ebeln AND
bsart NE c_nb .

and



SELECT ebeln bsart lifnr reswk waers kdate
FROM wb2_v_ekko_ekpo2
INTO TABLE i_ekko "here this table names need to be different otherwise it will overwrite existing data in the internal table.
FOR ALL ENTRIES IN i_eket
WHERE ( mtart_i NE 'FERT' ) AND 
lifnr IN s_lifnr AND
aedat IN s_aedat AND
ekgrp IN s_ekgrp .

So write the two SELECT statements seperately.

<b> secondly don't use 'NE' . </b>Instead remove this from the criteria and get all data in an internal table and then remove unwanted data from it.

Also, like I mentioned earlier try and use an index if possible.

In case you seek other clarification , you are free to ask

Regards

Nishant

Kiran K has rightly mentioned that the SELECT statement seems to be using a view <b>wb2_v_ekko_ekpo2</b>. If this is actually a view you can select data from individual tables and then proceed since JOIN creates a de-normalized view which uses up memory.

Selecting from seperate tables will definitely increase ABAP time and database hits but it will remove the memory consumption in my opinion.

Message was edited by:

Nishant Rustagi

Read only

Former Member
0 Likes
1,896

hi,

SAP has been defined that application data storagae for the temparary basis

those are nothing but internal tables ...

that should have 2GB MEMORY to store the application and also the do the operations on that..

for each internal table is capble for the 2gb memory to store the data.....

so that we can use internal table solve our problems..

it is very useful and also increases the programing performence to store the data..

with one hit we will get so much data from database to internal tables so no burdon....

this is not take care by OPERATING SYSTEM..

THIS IS PROVIDED BY SAP ABAP MEMORY..

SO NO DUMP ON THIS SPACE...

SO YOU MUST USE SAP DEFINED CONFIGURATION IN YOUR SYSTEM....

FOR INTALLATION..

Thank you

reward if it useful

Read only

0 Likes
1,896

hi sudhakar,

how can i do it?

regards,

mae

Read only

Former Member
0 Likes
1,896

Hi Mae,

THis is a common issue in BASIS.

Please consult your BASIS consultant & he will do the needful.

Best regards,

Prashant