Scroll Top

Mastering The Web Dynpro Debugging tool

The CEO of SAP is optimistic about President Trump

TAKE NOTE(Insights into SAP solutions and EmergingTechnology)

The CEO of the highest market-cap company on the DAX German stock exchange is optimistic about President Trump.

“Optimism is a free stimulus, and I was born optimistic,” Bill McDermott, CEO of German software giant SAP, told Yahoo Finance at the 2017 World Economic Forum in Davos, Switzerland.

McDermott, who is has been CEO of SAP since 2010 and is the German company’s first American CEO, isn’t buying into concerns about a possible trade war.

On its face, that may seem to contradict some concerns McDermott expressed earlier this week about tariffs in the Trump era. “We obviously don’t want to get into any difficulties on tariffs, we want to create jobs and create economic opportunity,” McDermott told CNBC’s Squawk Box.

SAP aims to create 10,000 new jobs in the US in the next year, which should please Trump and his job creation platform. McDermott also told CNBC that various arms of the US government, from the Department of Defense to the Army and Navy, run on SAP’s technology. “So we feel like we have a hand in the success of the United States.”

Read more here at Yahoo Finance. 

UNDER DEVELOPMENT(Information for ABAP Developers)

Mastering The Web Dynpro Debugging tool

Introduction to the Web Dynpro Debugger Tool

Web Dynpro can be a tricky technology to master. The complex interaction of views, windows, components and contexts can at times be difficult to understand and frustrating to work with. debugging Web Dynpro applications with the standard debugger is often even more frustrating than developing for it. It requires navigating an endless number of web of objects, never quite knowing the best way to reach the next view or window you want to investigate.

Fortunately, SAP has provided a very useful Web Dynpro tool that can be used to debug Web Dynpro applications. This tool allows users to analyze their Web Dynpro applications real time in a structured format that resembles regular Web Dynpro development in SE80.

This post will focus on introducing the Web Dynpro tool using an example scenario that I often see in practice. Along the way, I’ll attempt to point out other useful features that should help readers become more comfortable with the Web Dynpro tool, and debugging Web Dynpro applications in general.

Preparing to Use the Web Dynpro Tool

In this example we have a view element (a TextView to be exact) that is displaying the incorrect information (not actually true, but let’s pretend). This TextView displays the current sequence number of a bill of material item, so I would like to determine when it is being populated and what business logic is being used to populate it. (see below)

Before I’m ready to begin using the Web Dynpro tool, I need some very basic information about the element and view I am investigating (I have explained where to find this information at the end of this article for those less familiar with Web Dynpros).

  1. Component of the view: /SAPPSSRM/WDC_DO_SUBCON
  2. View itself: V_SUBCON
  4. Context Node of Attribute: ZSUBCON_COMP
  5. Name of Node Attribute: SEQUENCE_NO
  6. This can all be determined by navigating to the view within the Web Dynpro Explorer in SE80.

For this particular case, I notice that there is a context binding for my TextView.  TextView ZSUBCON_SEQUENCE_NO_EDITOR is bound to ZSUBCON_COMP->SEQUENCE_NO, and so by tracking the value of the SEQUENCE_NO attribute, I will be able to determine the value of the TextView itself.

With this information in hand, I would also like to set a breakpoint with the WDDOMODIFY method of the V_SUBCON view controller to serve as a good starting point in the investigation. (see below)

After we set our breakpoint, we are ready to execute Web Dynpro application and, hit our breakpoint. Once the code has stopped at this point and our debugger has opened, we can retrieve the Web Dynpro tool and begin the investigation

Read Full Post at

Q&A(Post your questions to Facebook or Twitter and get the answers you need)

Q.We are migrating our DB to HANA. Is there anything special that we should do for our custom code (Zprogs)?.

A.Wow! Congrats on the move to HANA! While this short answer is not meant to be exhaustive, I think I can put you at least on the path to a good start. I would recomend hiring a good HANA Basis resource to round out and expand on what I am about to tell you.

First, lets take a quick look at how HANA differs form other DB’s, but just from the viewpoint of ABAP code. I am not going to dive in the nuts & bolts of “HANA is MORE than a Database”…etc.

HANA is….

(1) Column based – Data is stored by column

(2) Data is stored using numeric keys – Numeric keys with Key Value Mapping Tables provides faster data selection

(3) Parallel Procissing is “Built in”

(4) There are no indexes

Ok, now that we have a sort of baseline, lets start. I would break this up into 2 steps.

Step #1 – Run Code Inspector Checks 
If you need a primer on what Code Inspector is, check out this 3 part blog. Once yor ready, import the follwing check variants…

– Functional_DB
– Functional_DB_Addition

Now create the object set and run the inspection! The kinds of things we are looking to highlight would be…

– Any Native SQL?
– SQL with Database Hints?
– Any ADBC(ABAP Database Connectivity) Issues?
– Any DDIC Function Modules?
– Finding ABAP code that relies on implict sorting (we will need ORDER BY in HANA)
– Checking for SQL without a WHERE clause
– We need to make sure FOR ALL ENTRIES tables are filled

You can find more information HERE at SAP HELP

Step #2 – Performance 
This is not usually done by developers, so get your BASIS folks to use the SQL monitor for about a week to check for HIGH Running SQL. I believe you can use the async collector to collect the data, so there shouldn’t be any perofmance impacts. BUT CHECK WITH BASIS. Here is the SAP HELP for The SQL Monitor.

OK, now get them to give you a list of the offending programs. Go back to Code Inspector and run another inspection using the Check variant Performance_DB for each offending object. In theory this should give you some ideas on how to correct the problem.

Wouldn’t hurt to use your head here and desk check the code, as crap SQL will run like crap even on HANA 😉

Like I said this is NOT EXHAUSTIVE… Check with the HANA experts you have hired, I am sure they will either give this answer a thumbs up as a start, or put you on the correct path for your specific installation and environment.


Pin It on Pinterest

Share This

If you enjoyed this post, why not share it with your friends!