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: 

system_imode_too_large error in sap

0 Kudos

Hi Experts,

In Quality system program is giving system_imode_too_large error.

Could you please tell me how can i resolve this,

Regards,

Rama Krishna.

15 REPLIES 15

Former Member
0 Kudos

Hi,

Did you check the following link:

SYSTEM_IMODE_TOO_LARGE - ABAP Development - SCN Wiki

Regards

Purnand

0 Kudos

Hi Purnand,

Thanks!

Yes I have checked that link.

As he said if i use that Extend option,there would be risky.

Could you please tell me,How to avoid that.

Thanks for your understanding

raymond_giuseppi
Active Contributor
0 Kudos

There are usually much more data in quality and production system than in development.

Try to reduce the volume of data processed.

  • only select relevant fields from database
  • free memory immediately when no longer required
  • use common sense

Reference :  649327 - Analysis of memory consumption

If you cannot do this in a single luw/imode, try to parallelize in multiple modes getting only the result set (expected to be much shorter) in the main caller memory.

Regards,

Raymond

0 Kudos

Hi Raymond,

Thank you..

Could you please clarify one thing i.e.

is Internal table with header line and occurs cause performence issue? if i change this, can i expect some what less memory consumption.

Thanks for your understanding.

Regards,

P Narasimha Rao

0 Kudos

Hi Rama Krishna,

just analyze the short dump. Which data object consumes most memory? It would be of no worth to optimize a table which is not in the hit list of memory consumers.

Regards,
Rüdiger

0 Kudos

With header line wont cause such a problem, that will only create an implicit work area for the current record, so not a problem. Nevertheless you could remove it and either use field symbols or explicit work area as this is an obsolete (forbidden in OO) syntax.

But the removal of header lines is not your top priority. If you cannot find from quick source code analysis where are the biggest memory consumers, read OSS note 649327 and use the proposed tools.

Regards,

Raymond

0 Kudos

Hi,

In Dump analysis i found final internal table getting more data.

Please  find image attached.

Please tell me,how to avoid this

0 Kudos

Hi Rama,

interesting, but you get much more information from the dump. You get, for example, the number of entries that this internal table had when the dump occurred (if it has been already cleared before the dump has been created, you will at least see the SY-TFILL or SY-TABIX giving you a hint).

Also, the dump will show you a kind of hit list for very large objects in the memory. So which are the largest objects? Was it really T_FINAL[]? How many entries does this table have? Are there other tables with more entries?

Regards,

Rüdiger

0 Kudos

Hi Rudiger,

Thanks for Reply.

SY-TABIX 266453

But i cant find the large objects,how can i see those.

could you Please tell me.

Thanks for your understanding

0 Kudos

In OSS note 649327 (you did not read yet ) is explained how to call the "Memory inspector"

(Which version are you using ?)

Regards,

Raymond

0 Kudos

Hi Rudiger,

Thanks for reply.

SY-TABIX 266453

But i cant see the large objects,Could you please tell me how can i find those.

Thanks for your understanding!

0 Kudos

Hi Rama,

sorry, I was confused. In short dumps, there is no such Top-List. In the call stack, you find on each level some interesting variables, also tables, with the information how many lines they have.

That's all.

For more info, you will need SE30 or the memory inspector. Or even the debugger: When you get the dump in dialog, there often is a button to branch into the "POST MORTEM DEBUGGER". You can use it to inspect the memory allocation.

Regards,

Rüdiger


0 Kudos

Hi Raymond,

I am using version 4.6

As 649327,I have called the memory inspector,but i couldnt find what is going on.

I am new to this,Please explain me.

Below is the memory usage snapshot

0 Kudos

Do you get a detailed view when double-clicking on the number in "Total memory used"?

0 Kudos

I do not remenber 4.6 versions (and no longer have access to) but you should find a navigation to internal tables, if it is not "Goto -> More screens -> Memory usage" but a downgraded "memory inspector" ?

Else look in the note for the "Displaying the largest internal tables" option, available in 4.6 (ok_code "dis" and display values of ITAB-TOP25)

Regards,

Raymond