‎2011 Nov 09 6:19 PM
I am debugging on a pricing program, when the control comes to a point where the program calls a subroutine in a different program, that program name is dynamically generated. For exaple the below program RV13A721. In that programs form there are only 2 lines of code as given below, there wrong values are being filled in the work area <A721> . I need to know from where the system got those values,
Program: RV13A721
FORM FILL_COMM_AREA_FROM_VADAT USING FFV_KOMG STRUCTURE KOMG
FFV_VADAT LIKE A000-VADAT.
.
<A721>+66(2) = FFV_VADAT.
MOVE-CORRESPONDING A721 TO FFV_KOMG.
ENDFORM.
I am unable to get to the point where work area <A721> is getting filled up.
Can some one please help?
‎2011 Nov 09 7:22 PM
This may be due to other reasons like a requirement being not be met. Do you see the related condition type being proposed on the pricing screen. Did you verify that condition record for that condition is found when you looked at pricing analysis?
I debugged pricing routines and break points do work in them, even if they are dynamically called. So this should be some other reason like the routine itself is being skipped because of a pricing requirement not being met or some other clause failing.
‎2011 Nov 09 7:49 PM
Hi Vishnu,
Thanks fopr replying.
Yes, i have checked, our routine is mentioned in the pricing procdure screen.
As i have mentioned earlier, the control is getting into the routine. But i need to get to the point where the work area <722> is being filled. Is there a way in the debugging to stop at the point where this is getting filled.
‎2011 Nov 11 9:45 AM
Hi,
In the debugger, create a watchpoint on this work area and execute. This will stop at the point where this work arae is first used.