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

program error

Former Member
0 Likes
648

Hi Experts !

While executing a program , its giving message " memory low. leave the tranaction before taking a break." but its working fine when i break my input data i.e to execute in small no . i checked it in t.c slin , which has

PERFORM/FORM interfaces Warnings error: 13

CALL FUNCTION interfaces error : 4

Field Attributes Warnings: 2

Superfluous Statements message : 1

Program: ZHP0034 Include: ZHP0034_F01 Row: 13

FORM GET_PUNCHS_FROM_DB not called directly

(check dynamic PERFORMs!!)

(You can hide the message using "#EC CALLED)

Superfluous Statements

Line contains a single period

(The message cannot be hidden using pseudo-comment "#EC .., or by using SET

EXTENDED CHECK OFF/ON)

Program: ZHP0034 Include: ZHP0034_F01 Row: 13

FORM GET_PUNCHS_FROM_DB not called directly

(check dynamic PERFORMs!!)

(You can hide the message using "#EC CALLED)

is this error coming due to this errors or is it concerned with heap memory .

plz guide me in this . how i can remove this error .

thanks

2 REPLIES 2
Read only

Former Member
0 Likes
530

Hi,

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.

Thanks,

Reward If Helpful.

Read only

Former Member
0 Likes
530

hi

good

i would suggest you to consult your basis consultant,they can give you the appropriate solution for this.

thanks

mrutyun^