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

Debugging a report on execution

Former Member
0 Likes
1,689

How do i debug a report a during execution?

1) I know we can do this by putting a breakpoint in a Program before execution through se38.

2) Or it can be done by putting a /h before execution.

But what if i forget to put break point and also forget /h. Now during the execution,the program takes a long time in processing , so i want to know at which statement or loop is the processing going on.Is there any transaction or way how i can find this out and then put a break point there .

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,624

Hi Dilip.

Go to ST05

put the trace on.

and execute your program.

and in the middle of that program go to ST05 and check with your program name.

or else you can do one thing.

put the infinte loop in the program.

set your program in the back ground process and go to the SM50 and check there your program will be at the infinete loop. break that loop and find the which loop taking more time.

hope it helps you.

Regards!

Edited by: Prasanth on Feb 27, 2009 1:20 PM

10 REPLIES 10
Read only

Former Member
0 Likes
1,624

Hi ,,

U can not put break in the execution in a way u want,

You must put a break point or fire Tcode /h to debuge it ,,

So Stop he transaction & put breakpoint..

U will succeed,

Regards,

Nishit.

Read only

Former Member
0 Likes
1,625

Hi Dilip.

Go to ST05

put the trace on.

and execute your program.

and in the middle of that program go to ST05 and check with your program name.

or else you can do one thing.

put the infinte loop in the program.

set your program in the back ground process and go to the SM50 and check there your program will be at the infinete loop. break that loop and find the which loop taking more time.

hope it helps you.

Regards!

Edited by: Prasanth on Feb 27, 2009 1:20 PM

Read only

Former Member
0 Likes
1,624

I dont think what you want is possible. But if you want to see what statments etc are taking a long time to execute, SAP has provided tools like ST05 ( SQL trace) and SE30 to analyse the program runtime.

To know more about ST05 and SE30 search on SCN.

regards,

Advait

Read only

Former Member
0 Likes
1,624

hi,

for running program you can turn on debugging in sm50 transaction ;

see menu command:program/session-program-debugging...

regards,darek

Read only

Former Member
0 Likes
1,624

Hi Dilip,

You can put hard breakpoint in your program before the statement where you want to stop.

BREAK-POINT . -


It will stop for every user

BREAK-POINT DILIP. -


It will halt for only user Dilip

Regards,

Anil

Read only

Former Member
0 Likes
1,624

You can do through transaction SM50, you will find active sessions select the one you want and in the Program Menu choose program -> debugging.

Read only

Former Member
0 Likes
1,624

Hello Dilip,

In order to know which statement takes long time. you may use the "Trace Request" tool. (Transaction:ST05)

Goto transaction ST05

Select SQL trace

Put the Trace On.

Execute your report program

and then come back to ST05 screen and put the Trace Off.

Now you may select the " List Trace" option in ST05 to see the execution time taken by each DB operation, and you will come to know the statements which take more time.

Hope this helps you.

Regards,

Shiny

Read only

sreeramkumar_madisetty
Active Contributor
0 Likes
1,624

Hi Dilip

As per my understanding,implementing the Watch Points mechanism is the best solution for your case.

Using the watch points, we can came to know where exactly the problem is occuring if the execution is taking long hours.

For example I have 1- 10000 employee numbers and for each employee,I am handling some mechanism.

In this case suppose let assume EMP# 1024 is giving some problem.

By putting the Watching point as EMPNo = 00001024, directly we can go to that EMP# part and can observe the problematic statements.

Hope you got some idea if not please let me know so that I can provide more stuff with live examples.

Regards,

Sreeram Kumar.Madisetty

Read only

Former Member
0 Likes
1,624

Hi

Good!

You can use a hard coded BREAK-POINT if you know the place where the error may occur, otherwise its not possible to go to debug mode without using the methods you have mentioned in your post.

Thanks

mrutyun^

Read only

0 Likes
1,624

Thanx guys the transaction SM50 worked perfectly as i wanted.