Skip to Content

SAP NetWeaver 7.0 EhP2 brings useful improvements to ABAP external debugging (of course in the New ABAP Debugger!), that is debugging of HTTP and RFC requests which arrive in your ABAP backend system.

This blog explains the motivation and new functionality of the user breakpoint, which is now valid on all servers of an ABAP system.

A companion blog introduces a new type of external debugging in ABAP – Request-based Debugging. You can find it here:

News in ABAP External Debugging – Request-based Debugging of HTTP and RFC requests

If you are interested in a live demonstration of the new Request-based Debugging in ABAP, just take a look at this short video:

 

 

1.  Motivation

The user breakpoint in ABAP helps you to debug the ABAP components of applications, that use RFC- and HTTP- based communications. These could be Web Dynpro applications, BSP’s, ABAP-based web services, RFC-enabled function modules and so on. By setting a user breakpoint you can interrupt the processing of external HTTP or RFC requests in your ABAP backend system and debug them.

You can set a user breakpoint in the Object Navigator (transaction SE80) or the ABAP Editor (transaction SE38). Before you set a user breakpoint you may want to specify the user to whom the breakpoint applies. By default your user is set. You can enter the user in the User  field of the debugging settings dialog (Utilities->Settings->Debugging). Before you start debugging, make sure that you use the New ABAP Debugger (select the checkbox New Debugger ). Now HTTP or RFC requests can be sent to your ABAP backend system – you are ready to capture them for debugging.

You probably know that an ABAP system usually consists of multiple application servers. In such a system, a user breakpoint works great if you set it on the application server where an external HTTP or RFC request arrives. But where there are multiple application servers, there is also load balancing. Load balancing decides which application server should receive a particular request. A user breakpoint however is only active on the application server where it is set. If a request is executed on another server, then it will not stop at the user breakpoint. The illustration shows you this problem.

What you really need (and what ABAP is giving you in NetWeaver 7.0 EhP2) is a user breakpoint which is valid on all application servers of an ABAP system so that you can capture HTTP and RFC requests no matter which server processes them.

 

2.  New User Breakpoint

Starting with NetWeaver 7.0 EHP2, the validity of the user breakpoint has been extended. A user breakpoint is now active on all application servers of an ABAP backend system.

To set a user breakpoint, proceed as following:

  1. Logon on to the ABAP System which will process HTTP or RFC requests
  2. Open your program in ABAP Editor (SE38) or Object Navigator (SE80)
  3. Ensure that you use the New ABAP Debugger (New Debugger checkbox on in the Utilities->Settings->Debugging dialog)
  4. Enter a user name into User field
  5. Click on the user breakpoint button to set a breakpoint

By default a user breakpoint is valid in the whole system. You can also use the Only Current Application Server checkbox to activate a user breakpoint only on the current application server.

If then a HTTP or RFC request arrives in your ABAP system and gets processed by your program, the debugger starts as soon as the execution of the program reaches your user breakpoint. The debugger starts always in the dialog session (SAP GUI window) where you set a user breakpoint, therefore stay logged on the ABAP system where you set a user breakpoint.

That’s it. Now you can set a user breakpoint without thinking about which application server of your ABAP system will process an HTTP or RFC request. You can be sure that none of the external requests will escape your user breakpoint. The prerequisite is of course that external requests originate from the user for whom you set a breakpoint.

If you want to know how to debug in situations where a user mapping takes place before an external request reaches your ABAP system or how to debug external requests from generic users such as for example “purchaser” take a look at the new Request-based Debugging in ABAP, described in the blog mentioned above.

To report this post you need to login first.

13 Comments

You must be Logged on to comment or reply to a post.

  1. Saujanya GN
    this is definitely nice feature added to the debug tool. Definitely it helps the developers .

    Thanks for the update on this.

    Best Regards
    Saujanya

    (0) 
    1. Holm Kirschgens
      You can’t wait? Maybe meanwhile you want to try transaction SRDEBUG (hint: Don’t close the popup window that appears after activating the debugging until your’e finished. Note that closing this window deletes the session breakpoints, at least this happened to me yesterday).
      (0) 
  2. Damean-BF Chen
    Olga
      I was trying out the Screen Debugging feature that you mentioned above but kept getting error message “The breakpoint could not be created due to incorrect entry”. Is there a trick\limitation that I should be aware of.

      E.g. I was debugging Tcode MB01, and wish to go to screen 0221, line # 3. Hence I set the breakpoint at Source code, specifying screen # 0221 and line #3.

    (0) 
    1. Olga Dolinskaja Post author
      Hi,
      I think this question refers to my other blog about new features in breakpoints: News in ABAP Debugger Breakpoints and Watchpoints , Statement Debugging
      You can set a breakpoint for screen debugging on the “Srce Code” tab in the “Screen” section (enter screen number, line). Please consider, that it is NetWeaver 7.0 EHP2 feature (Business Suite innovations 2010) which is not available in the former releases.

      Hope, this helps.

      Best regards,
      Olga.

      (0) 
  3. Kumud Singh
    Hi Olga,

    Its always enriching to read your blogs on debugging.
    Is there also a way by which I get to know that request is getting acknowledged in some other appln. server and not the original one?

    Thanks,

    Regards,
    Kumud

    (0) 
    1. Olga Dolinskaja Post author
      Hi Kumud,

      thank you!
      You will see the info about the application server directly in the debugging session which pops up at your user breakpoint.

      Regards,
      Olga.

      (0) 
  4. Tomasz Mackowski

    Hi,

    Is there any additional parameter which might be controlling this feature?

    I set user XYZ in Debugging dialog. Only Current Application Server is not checked. Still the breakpoint is not working when I’m launching WebDynpro applications on XYZ user.

    If I activate debugging in SRDEUG it works fine but as I understood it should not be required from 7.02 any more.

    AS ABAP version is SAPKA70213, kernel 720/521

    (0) 
  5. Syed Mehtab

    Hi Olga,

    Thank you for sharing contents which are very useful.

    will you please share some more contents on Debugger Script?

    Thanks,

    Syed

    (0) 
      1. Syed Mehtab

        Hi Olga,

        Actually i went through these videos, i forgot to mention.

        i am looking for some more deeper concepts in debugger tools specially Diff and Script tools

        Thanks,

        Syed

        (0) 

Leave a Reply