Technology Blogs by SAP
Learn how to extend and personalize SAP applications. Follow the SAP technology blog for insights into SAP BTP, ABAP, SAP Analytics Cloud, SAP HANA, and more.
cancel
Showing results for 
Search instead for 
Did you mean: 
Former Member
0 Kudos

At Global Partner Support we deal with customer support messages that come in for the many SAP Partners we support. Mostly we deal with SAP Partners that are on SAP Netweaver or are ABAP based and are within the customers ERP. Many partners may deal with another technology than ABAP but have an ABAP Addon which is installed in the customers ERP.

Many SAP Partner areas are closely related to an SAP component and with this extra knowledge we sometimes have a much broader view of an area. For instance, if a field is empty in a SAP Partner product, if that product calls the ERP then there is a chance that the field is empty in SAP ERP table, maybe missing configuration or there is possibly a note already created.

Performance issues.

An example is Nakisa (which I mostly deal with) where most performance issues are in the ERP. See note 1736779 Support Questions for Performance issues on STVN by Nakisa.

A customer clicks a button on Nakisa screen and either sees a timeout or nothing happens. From that point of view it looks to be Nakisa but we will usually direct them to create a trace following note 1566159. In my experience the issue is one of the tables’ (HRP1001) statistics hasn’t been updated recently or structural authorizations haven’t been updated. If the problem doesn’t look to be there then running a web dialog trace is next option before running HTTPWatch trace.

Each of these steps is to help narrow down location of problem. If you can point out the function module where most time is spent, it probably involves a call to database table, we can look to see if call was the most efficient, is there a note already created for this area of code, sometimes from the SQL trace nothing will stand out but when you look for ‘identical selects’ in SQL trace you will see that there is a loop going through an entire table. If nothing is obvious it can also be useful to set a breakpoint at offending code and replicate again, then check the call stack for BADI calls or Z function modules. Do a note search for Functions or Forms two up the trace and see if a note fits. It sometimes can be the calling function that causes the problem.

If the performance is caused by an ABAP table, you can check the statistics for this table and update these with accuracy ‘high’ in transaction DB02

Getting an ST22 dump.

Sometimes when working on a SAP partner product you will receive a short dump. If you create a message always attach this dump, preferably in .HTM or .txt format.

The dump gives us a great deal of information.

It starts off with the error and exception

Runtime Errors         DBIF_RSQL_INVALID_RSQL

Exception                  CX_SY_OPEN_SQL_DB

Then short text, what happened and what can you do, under hot to correct the error it will give you some texts so you can do a note search and check if there is already a fix for this.

|    "DBIF_RSQL_INVALID_RSQL" "CX_SY_OPEN_SQL_DB"                                                  |

|    "/NAKISA/SAPLHRFUNS" or "/NAKISA/HRFUNSF01"   |    "FROM_CONDITIONS_TO_TABLE"

Next useful information is where it points out exactly where the dump occurred. You can note search this line and also code above which gives you an idea of what was going on right before dump, including what table it was trying to access.

Next is the call stack where you can look down through and again note search the calling function, also check for custom code or Badi’s in call stack and see if you can temporarily deactivate them and retest.

Getting an error.

Using an SAP Partner product you may receive an error on screen. If it’s an error related to the product we can help to narrow down location of problem or give you some tips. Sometimes exact error doesn’t appear on screen but a generic error, more information could be found looking at Partners logs or transaction SLG1. If error came from SAP, then we can work with error to determine where in code it is called then similar to performance we can do things like check call stack, debug up from error and analyse where something started to go wrong, or just note search to see if there is already a fix.