Skip to Content

Debugging Outbound IDoc Output Control scenarios

My previous blog gave some insights into configuring message control: Message Control (Output Control) for ALE But how do we test the scenarios involving message control. How do I debug the outbound IDoc generation programs involved in message control (most of the time there is a need to test the custom logic within the user-exits of outbound program)?  Example scenario: I have configured message control for Delivery IDoc (DELVRY03) generation (message type DESADV). Whenever the outbound delivery is saved the output type is proposed and outbound IDocs are triggered.  Generally while defining the condition record we set the “Date/Time” field to 4 (Send immediately (when saving the application)).  image        Due to this whenever we save the delivery document (which satisfies the message control configuration) the output type is proposed and the IDocs are triggered. Even if we have set a breakpoint in the outbound application IDoc generation program, we do not stop to that break-point.  When we do an F4 on the “Date/Time” field we find the other 4 options. image          Our interest is in option 1 = “Send with periodically scheduled job”. With this option the output type is proposed but not processed immediately by output type processing program (RSNAST00). The output type entry remains unprocessed in NAST table. image With this setting when I create an outbound delivery and check in the delivery output we find the output type in yellow traffic light. image       Now when we run the program RSNAST00 for the output application and output type (other parameters can also be specified if we want to be specific) the program will stop at the break-point in the outbound function module (IDOC_OUTPUT_DELVRY in this case). We can debug from hereon.
You must be Logged on to comment or reply to a post.
  • This is how I debug on a regular basis.
    Before saving the delivery, enter /h and then save the delivery.  As soon as you enter debug, click Settings in the title bar and then update debugging.  You can then press F8 to go.  It will then stop on the breakpoints that you set in idoc_output_delvry or whatever userexit you put your breakpoint. 
    If you don't turn on update debugging, then it is true that you will not hit your breakpoint.
    • Hi Cheryl,

      Yes its true the program stops at the breakpoint
      when the update debugging is switched on.

      Thanks for clarifying.