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: 

Report memory issue, What other than FREE internal tables?

naveen_inuganti2
Active Contributor
0 Kudos
151

Friends,

I need to solve the memory space problem to one of my report as that report making some issues while running in back groud job.

As of my knowledge there is a FREE Internal Table statement which can release the memory allocated for Internal Tables of our reports.

What are the other good steps to solve this memory loss issue.

Experts please share your valueble experiance here.

Thanks,

Naveen Inuganti

12 REPLIES 12

Former Member
0 Kudos
127

This message was moderated.

0 Kudos
127

Incorrect reply. Select for all entries is rarely better than joins. Infact a join, even if badly written will be better than the loops that you will use to get the data from the two internal tables when you use for all entries. Check the performance forum for the same.

GauthamV
Active Contributor
0 Kudos
127

You can also make use of REFRESH statement.

0 Kudos
127

Gautham,

As far as I know REFRESH and CLEAR statements can make our program as performance wise good, as these are just to delete the contents of internal table and variables!

So please elobarate your answer! How this REFRESH statement can solve this memory probelm?

Sarath,

This FOR ALL ENTRIES and INNER JOINS are also suggestable while talking about performance issues. Ofcourse both are not comparable as these two are good at performance....

--Naveen Inuganti

GauthamV
Active Contributor
0 Kudos
127

memory space problem to one of my report as that report making some issues while running in back groud job.

Can you be clear on this.

What exactly you are getting and what you require.

0 Kudos
127

Gautham,

I am trying to consider and include the code... which can prevents memory overflow of program.

Hope Its clear!

0 Kudos
127

Use Package size option with declaring the Internal tables.

0 Kudos
127

Hi Naveen,

Carryout all performance tuning techniques.

Check if the internal tables r declared wothnOCCURS 0. Avoid unnecessary global variables/internal tables. Try to use as many local variables as possible instead of using global variables. This saves lot of memory.

Try to reduce number of internal tables by finetuning the redesigning the code.

Hope it gave some idea.

Thanks,

Vinod.

0 Kudos
127

Hi,

Those really good inputs for me....!

Is there any transaction code or any technique to check the Memory Occupation for our reports?

Thanks,

Naveen Inuganti

GauthamV
Active Contributor
0 Kudos
127

I am not sure you can check the memory of your report but

overall memory details of the server you can get from DB02 transaction.

Check if you have such option available either in SE30 or ST05.

0 Kudos
127

Hi,

U can use transaction SE30. Here u can trace which part is taking time.

U can try with ST05 t code as well.

Thanks,

Vinod.

Former Member
0 Kudos
127

hi,

FREE is not going to suffice your purpose completely.

This is because the initial amount of memory allocated to the internal tables is not effected with that statement.

You can even try out with FIELD SYMBOLS, because they too handle the memory efficiently.

Field symbols provide greater flexibility when you address data objects:(With ref to SAP Library)

1. If you want to process sections of fields, you can specify the offset and length of the field dynamically.

2. You can assign one field symbol to another, which allows you to address parts of fields.

3. Assignments to field symbols may extend beyond field boundaries. This allows you to address regular sequences of fields in memory efficiently.

4. You can also force a field symbol to take different technical attributes from those of the field assigned to it.

Thanks

Sharath