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: 

Search internal table declaration using debug

deiamolina
Active Participant
0 Kudos

Hi all,

I'm trying to track an information in a standard process and how everyone might to know it's a little trick because SAP likes to play with tables and values in their process.

So, I want to know if it's possible to create a breakpoint/watchpoint on debug to find when the table is declarated.

E.g: You start a debug and try to see the values on table nast. This table doesn't exist in your actual point on the logic but you know in some point between the standard and your zprogram it is pulled. So, I'd like to create a breakpoint/watchpoint when Nast starts to exist.

Is it possible?

Thanks,

Andréa

5 REPLIES 5

ceedee666
Active Contributor
0 Kudos

Hi Andrea,

I'm not sure I  understand what you are trying to do. Can't you simply use teh "where used" function to find out where a certain table is read and/or written? Usually there are only a few calsses / funcation modules that really read a tabel directl. If you that a breajkpoint in those you should be fine.

Another option would be to use a watchpoint together with a free condition. You could for example try something like LINES( ITAB ) > 0.

Christian

Former Member
0 Kudos

Hi,

try to find the calling programm (function group) of your z-program.

set a watchpoint or inspect manually in debugger the internal table with this syntax

(progname)nast

Debugger will display a error until the table gets invoked.

Best regards

Robert

deiamolina
Active Participant
0 Kudos

Sorry about my vague explanation

I want to find the NAST table on the standard logic. The first step after the /h command bring me into a logica where the NAST table IS NOT declared. The Nast table starts with values on my ZPROGRAM.

The NAST internal table is being filled by a standard program and when the system calls my program it is already filled but I want to know how and when it is being filled.

I know that is possible to find a function in any point in the logic even when you set a breakpoint even when the function is in a include or in another program called from the 1st one. So, I expecting to do the same steps but using a internal table.

0 Kudos

HI,

in the debugger you can check the call stack (hierarchy) and navigate back there.

check for each level if nast is already there.

hope this helps.

0 Kudos

Following up on Robert's response, when you go back through the levels of the call stack, you can see when the table is not filled. If you set a breakpoint at this point and then re-test the issue, you should be able to set a watchpoint on the internal table in the new debugger. This will show you exactly where the table is being filled.