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: 

MEMORY LOW

Former Member
0 Kudos

HI EXPERTS .

WHILE EXECUTING A Z REPORT FOR LOADING DATA FOR ABSENTES MESSAGE IS COMING " MEMORY LOW LEAVE THE TRANACTION BEFORE TAKING A BREAK." PLZ HELP ME IN SOLVING THIS .

THANKS .

8 REPLIES 8

kiran_k8
Active Contributor
0 Kudos

Ranjana,

See whether the program has this message in its message class or hardcoded somewhere.If it is there put a break-point there and then check the process.Are you using a ZTABLE in your program?

K.Kiran.

Former Member
0 Kudos

THANKS .

THIS MESSAGE IS NOT IN MESSAGE CLASS .

YES WE ARE USING ZTABLE IN THIS REPORT .

ACTUALLY THIS REPORT IS EXTRACTING ABSENTES EMPLOYEES (5,000) FOR 1 MONTH WHICH IS THEN USED FOR PAYROLL .ITS LONG RUNNING PROGRAM .

REGARDS .

RANJANA.

kiran_k8
Active Contributor
0 Kudos

Ranjana,

Please avoid using ALL CAPS while posting a message.Why don't you try running it in Background.Try it.

K.Kiran.

kiran_k8
Active Contributor
0 Kudos

Ranjna,

1.Try running it as a background job.

or

2.Check the select statements and read table statements.

see to that in the select statements you use only primary key fields or index fields of the table from which you are fetching the data into the internal table and the process the internal table for further validations.

if you are using read table statements see to you have sorted the internal table and read the internal table using binary search.These two points will help enhancing the performance.

Have you tried scheduling the program as a background job?

K.Kiran.

Former Member
0 Kudos

The message means what it says.

Your transaction has used a lot of memory, but has not run out of memory because if it did it would short dump. If it is a warning, press enter to continue.

It is advising you to exit all transactions to free up memory that may still be being held. So when the transaction finishes, I suggest you log off and then log on again.

Andrew

0 Kudos

Andrew,

Thanks,

K.Kiran.

0 Kudos

Hi Andrew,

THANKS.

when this transction is running, all other transction are closed . it uses 30 min for execution . we have 4.7 version and O.Swindow NT and database is oracle .plz help me in solving .this .

thanks .

Former Member
0 Kudos

It seems like there may be two issues with your Z program - efficiency in terms of how long it is taking to run, and resource usage in that it uses a lot of memory.

To fix both you need someone to look at the relevant areas of the program code and analyse what can be changed. Tools like SE30 and ST05 can provided some data to assist with this.

I would suggest that some basic steps you could take are:

1. Run the program via SE30 with a small volume of data so you get some information on the forms and tables where the problems exist. You may need to adjust the SE30 settings to get the required detail.

2. Run the program with ST05 trace enabled to see what database tables are being used and which ones are taking most time.

3. Check through the code to make sure that you are not holding large internal tables of data once you are finished with them - clear the tables to fee up memory as soon as possible.

4. Check the program code for known performance bad practices like selcts within loops, nested selects / loops, etc.

To improve the program you may need to rewrite or restructure it. Generally a way to improve performance is to process more data in memory - trading memory usage for performance. In your case where both are bad, you may need to look at a redesign so that the data is processed in smaller blocks, for example by reading using a "select ... block size" construct or an "open cursor" type of processing.

If there are particular areas of the code that you believe could be improved, you can always post them in the ABAP Performance and Tuning forum to ask advice from experts around the world.

Hope this is of some assistance. Overall, performance tuning is best performed by your on site resources - it is difficult to suggest options without being able to see the code etc.

Andrew