Bex Broadcaster dynamic variables

A couple of weeks ago I got a question from a sales analyst asking if it’s possible to automatically send out workbooks. Every morning the sales analyst is waiting for output of multiple workbooks. This consumes a lot of time. I responded that for this purpose SAP has a standard functionality available in the form of the Bex Broadcaster, but that I needed some time to setup the infrastructure and testing it.

If you have already worked with the Bex Broadcaster you probably know that scheduling queries can be used out of the box, without any additional server. However if you want to schedule workbooks you will need a precalculation server (which is actually a Windows computer with Excel and the precalculation service installed). Since the sales analyst is using workbooks with more than 35 queries in it (we are not talking about efficiency here), this additional precalculation server is required. All steps to setup this server are mentioned in this post on SCN.

During the testing phase scheduling a simple workbook worked straight out of the box (that’s a good thing!). Second test was executing the workbook consisting out 35 (!) queries. Believe it or not, this also worked. The only downside of scheduling this workbook, is that the variables which are assigned to the underlying queries were fixed values. This is a disadvantage because the workbook is refreshed every day based on the current calendar day. One option I considered in order to solve this, is to redesign the complete workbook (including the queries). This will take a lot of time, thus I started searching on Google and SCN, resulting in viewing this post. There someone explains how workbook variables can be changed dynamically by using a program he created. My quest was finished! We will use this program to manipulate Bex Broadcaster variables.

ABAP program to change Bex User Template

At one of my projects most of the end-users are still used to the old 3.x Bex Analyzer. Whereas the 3.x version works primarily with workbooks the new 7.x analyzer one is able to open queries as well. When a query is opened in the new 7.x Analyzer a standard template is being used to display the data. This template, supplied by SAP, contains alot of custom visual basic code to make interaction in the report possible (like showing a graph). This custom Visual Basic code raises a lot of performance issues, especially when users are working on a Citrix environment.

ECC source systems appearing in BI folder

Today a colleague noticed that our ECC systems appeared not under the SAP folder, but under the BI folder. This is strange, since ECC is not a BI system. In order to fix this SAP has publishes (of course) an SAP note. (1087980).
ECC source systems appearing in BI folder
This note describes the following steps in order to fix this issue:

Step Action
1. Check that an entry with SRCTYPE ‘M’ exists in table RSBASIDOC table of ECC source system.
2. Note the values for SLOGSYS and RLOGSYS. It should be same.
3. Run the function module RSAP_BIW_DISCONNECT in the ECC system. NOTE: Never run that function module in a BI system!
4. Enter the following values: I_BIW_LOGSYS <RLOGSYS> as noted in step 2 I_OLTP_LOGSYS  <SLOGSYS> as noted in step 2 I_FORCE_DELETE <X> DO NOT ENTER ANY VALUE IN THE FIELD  – RFC target sys !!!!!
5. Go to RSA1-> Source systems.
6. Select the ECC source system and select RESTORE in the right click menu.

After step 6 has been performed be sure to reactivate all of your transfer structures. If you do not do this the system will not appear under the SAP folder. After you have done this the ECC system should appear in the SAP folder.
ECC source systems appearing in BI folder


Replace hexidemical values in SAP BW with ABAP

Sometime it happens that users accidentally enters a horizontal tab into a text field when creating order. These are translated into BW as hexadecimal. BW displays these values as a hash tag (#). When activating a DSO, SIDs cannot be generated for these hashes. It is therefore necessary to replace these hashes with a normal characters like a space. The ABAP code below can be used for this purpose.


This code uses class CL_ABAP_CHAR_UTILITIES to get the hexadecimal representation for a horizontal tab. Also other hexadecimal representations are available in this class.

Class which can be used to replace hexadecimal value

Fix inconsistency in delta administration after system copy

A couple of weeks ago a customer’s BW landscape has gotten fully refreshed, resulting in fresh data! However this was not without any problems. When I tried to open an InfoPackage in development I got an error message saying there is an inconsistency in the delta administration.
Inconsistency in delta administration error message
This error is caused because the fact that the init request of BW and ECC are not aligned. This mostly happens after a system copy. After searching on SCN I stumbled upon SAP note 852443. This note describes a possible solution for this problem. By executing program RSSM_OLTP_INIT_DELTA_UPDATE and removing all inits after this has been done, the delta administration of the given datasource is fixed.
Fill in the source system and datasource