Building your own Embedded Analytics application – part 1.
Since one of my clients had a high interest in “embedded analytics” they decided to start a (in their eyes) “simple” project. The goal is to show a couple of KPIs within the standard transactions for shipments (VT01N, VT02N & VT03N) to help the transport planners in optimizing the outgoing trucks. Ideally before going out a truck should contain a certain “sales value”, be not “too empty”, etc… Ideally this should be represented in a dashboard.
So, we started “investigating” the embedded analytics. I’ll try to share our/my experiences during this journey. Instead of changing standard SAP transaction screens, you can use the so-called “side panel” in NetWeaver Business Client (NWBC). If you’re not yet working with NWBC (as we were), then you’ll need to investigate this as well (as it changes the way end users work). I won’t go into detail, but what you need to remember is that within NWBC it is possible to add a “side panel” to a standard SAP screen in which you can display reports, dashboards, web pages, pictures, … It’s actually pretty cool once you get it to work. Obviously you need to somehow “connect” the side panel to the main window (of your transaction). In our case we need to pass the shipment number to the side panel (shipment number is a variable in our reports). This is done through “tagging”. I’ll probably write more about that in another blog of this series.
First things first, we need to make sure our ERP system is “ready” for embedded analytics. For this the system needs to meet certain requirements which can be found here: https://scn.sap.com/docs/DOC-28513. If your system meets these requirements, you can start “activating” embedded analytics on it. The basic customizing can be found here:
The first action is to assign the administrator role to your userid (and that of your team members if you work in a team). The role is called SAP_ESH_LOCAL_ADMIN. Easy peasy!
Next we need to activate web dynpro services. These are necessary to be able to use NWBC. Launch transaction SICF:
hit Execute & navigate to: default_host > sap > bc > nwbc
right-mouse click on “nwbc” and select Activate Service
select the 2nd Yes button (in order to activate the underlying services as well).
The following step is “Set TREX/BWA Destination or SAP HANA DB Connection”. Obviously this depends on whether you have TREX, BWA or HANA. In our case we have none of those, so we set the “destination” to NO TREX (check the documentation next to the customizing action for more details).
The next two steps are only relevant if you have different servers which we don’t (in our DEV environment), so we skipped them.
Now we’re getting to the “real stuff”. In order to avoid errors in the next step, you have to make sure your system is “somewhat” open. Actually it should be “open” for Repository objects only and more specifically for namespaces /BI0/ & /BIC/. This is well explained in the documentation next to the customizing activity. Start the customizing activity and enter your “BW Client”. We chose to use our (ECC) “customizing” client. Just a clarification as this seems to confuse people. The “BW” here refers to the “embedded” BW system of your ECC box. As of ECC 5.0 (I think) all ECC systems come with a (mini) BW system inside. It’s that system that we’re actually configuring for “embedded analytics”.
The documentation states that you can only set this client “once”. Well, that’s not entirely true… we found out upon going through these settings in our QAS system (most of these cannot be transported and have to be repeated throughout different systems of the landscape) that somehow a (default) client was set (back in 2006) to 100 (a client which actually doesn’t exist at all on our QAS box). For the technies, this information is stored in tables RSADMINA, RSADMINC & RSADMINS. A bit of debugging (and searching the web) led us to function module RS_MANDT_UNIQUE_SET. Now, SAP probably has a very good reason for not (directly) allowing you to change this client, but in this case it simply had to be done.
If all goes well you should not have to use this function module and you’ll get a popup in which you select your “source system”. The only option should be a Self -def’d system (basically an RFC pointing to your “MySelf” BW system – again, the embedded one). If you do not get this, the transaction will still continue, but result in errors (it cannot create the personalization DSO objects). What you do then is create the “MySelf” system via transaction RSA1. If you’re not familiar with this, ask your system admin(s) to do this for you.
Now it’s time to define the modeling client. Again, read the documentation next to the customizing activity for more information. In our case, we entered our customizing client as well (i.e. the same client as in the previous step). In our QAS environment we skipped this step.
The final step has to do with “extending” Datasources and we’re not quite ready for that (just yet).
Ok, your system should now be ready for embedded analytics.
In my next blog I’ll show how you can now replace ALV lists with Crystal Reports