
Since its implementation with BI 4.0, Business Intelligence Support has been heavily relying on the End to End tracing to work, analyse and solve identified problematic workflows with customers.
However, this great functionality has a scope of usage that does not extend as much as we would like: when using Chrome or Firefox, or for workflows relying on Client Tools leveraging BI Web Services such as Live Office, Dashboards, Query as a Web Service, or add-ons such as Design Studio and Lumira, the SAP Client Plugin cannot be used to generate an End-To-End trace (Commonly named E2E).
But what if I told you that there is actually a way to replicate what the Client Plug-In does to extend that functionality for the scenarios mentioned above?
The SAP Client Plug-In is normally used to "Launch" Internet Explorer, and provides a "Start Transaction" button, which, when triggered with the level of tracing you apply (generally High), enables tracing for the workflow in all the BI platform, from Tomcat or other J2EE server to the back-end processing servers, allowing to capture the entire workflow and only that workflow on the whole chain of processes involved, allowing for a targeted analysis of the issue where possible.
But as discussed in the introduction, in scenarios that could potentially make use of E2E, such as issues while executing Query As a Web Service (QaaWS), Live Office, or Dashboards when they leverage Web Services, as the SAP Client Plugin E2E only works with Internet Explorer (IE), the procedure falls short for these scenarios. By extension, the limitation also impacts web browsers the SAP Client Plugin does not support, such as Firefox and Chrome.
Before starting, the following tools and concepts need to be acquired
Version | Plug-In download | SAP Note |
---|---|---|
Internet Explorer 8, 9, 10 | SAPClientPlugin_1.26_x86.zip | SAP Note 1435190 |
Internet Explorer 11 | SAPClientPlugin.rar | SAP Note 1608231 |
Download Fiddler Web Debugging Tool for Free by Telerik
The following documentation provides an explanation of End-to-End tracing mechanisms but implies existing knowledge of its general use. If you are not already familiar with End-to-End tracing usage and logs collection in BI, please refer to the excellent KBA and Wiki written on the matter:
https://launchpad.support.sap.com/#/notes/1861180
How to generate and consume an E2E trace with BI4.x (for non-SolMan landscapes)
It is also recommended to have previous knowledge and understanding of the mechanisms of HTTP tracing tools, in this case Fiddler. See this youtube video for Fiddler if you haven't come across it
Getting started with Fiddler Web Debugging Proxy
First of all, we need to understand how End-To-End tracing (E2E) works and collect a "sample".
Comparing HTTP traces with and without E2E enabled, it is possible to identify that it is achieved by injecting headers in the HTTP requests sent by the browser. This is not the purpose here so we'll skip straight to what actually happens and need to be collected.
![]() | Keep the SAP Client Plugin tracing to a minimum in the following steps to avoid unnecessary traces to show in the final result |
To gather the headers of E2E:
At that point you can copy and capture the "X-CorrelationID" and the "SAP-PASSPORT" with their values into a notepad. The result should look like this:
X-CorrelationID: 005056B734E51ED5AEEDC08C3D386369-1-1
SAP-PASSPORT: 2A54482A03<SHORTEN-FOR-READABILITY>02A54482A
The correlationID is made of an hexadecimal value, followed by two integer we'll call X and Y.
In this example: 005056B734E51ED5AEEDC08C3D386369-1-1 which we'll name as HexadecimalValue-X-Y
X is used to increment the "Step" (the "New step" button in the SAP plugin)
Y is a value incrementing for each HTTP call made.
As part of the pre-requisites mentioned above, Fiddler and the Fiddler Script Editor need to be available.
We already used Fiddler to collect the SAP-PASSPORT and XCorrelation-ID even though there are alternatives to gather these.
But now is the time where Fiddler and the Fiddler Script Editor become essential, and here is why:
- Fiddler acts as a proxy on the client machine and set itself as the proxy for IE. By doing so, it also applies itself as the proxy for any other tool running on the same machine.
- The Fiddler Script Editor allows to apply instructions to the traffic based on the conditions we define.
To open the Script Editor in Fiddler, click on "Rules" and select "Customize Rules..." or press CTRL+R
The goal here is to:
The instructions within the function contain:
The end result should look similar to this:
public static var counter:int = 1;
static function OnBeforeRequest(oSession: Session) { //Remember this line already exist in the editor!!!
if (oSession.HostnameIs("Name.Of.The.Server")){
oSession.oRequest["SAP-PASSPORT"]= "2A54482A03<SHORTEN-FOR-READABILITY>02A54482A";
oSession.oRequest["X-CorrelationID"]= "005056B734E51ED5AEEDC08C3D386369-1-" + counter;
counter=counter+1;
}
Save the script (CTRL +S or File > Save). The highlight in the left frame will turn from yellow to green.
The system is now setup to handle automated header injection.
Launching Dashboards, Live Office, or any other tool leveraging HTTP to BI, they will automatically detect the IE proxy (in this case Fiddler), which will now add the headers to trigger the E2E for the workflow you are running.
In the screenshot below, you can see Query As A Web Service process launching with the headers for E2E
When the issue has been reproduced, collect the fiddler trace (always good as a reference point), as well as the Web Services traces (SBOPWebApp_ws) and the back-end trace (the BI logging directory) on the server and the BusinessTransaction.xml on the client (Please refer to the Concepts sub-section above and KBA 1861180 for reference to log gathering)
In the example output below, I use FlexiLogReader to parse the End to End trace for the following test workflow
You can see the login phase from QaaWS through the Web Service log passed to the CMS with full tracing on for the workflow
Thank you for reading
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
12 | |
12 | |
11 | |
11 | |
11 | |
8 | |
8 | |
7 | |
7 | |
7 |