In a time when every company can measure (almost) everything, it is crucial to determine which information is needed to fulfill your needs. For example, within logistics, there are a number of KPIs (Key Performance Indicators) which are valuable for management to measure such as the ability to accurately forecast the sales of the company.

Bringing together this data and creating a clear report is what Business Intelligence does. Since a couple of years, a new product of SAP has been introduced. SAP Design Studio (DS) - which will be renamed to Lumira 2.0 later this year - is a dashboard tool of SAP to create dashboards based on several environments. One of these environments is SAP Business Warehouse (BW), which is a system that is able to consolidate data and is optimized for reporting. SAP DS can communicate with SAP BW to acquire data and present it on one dashboard. SAP DS offers great flexibility, with the possibility to use a programming language named BIAL (Business Intelligence Action Language).

Do you, as a member of the Business Intelligence community, want to embrace new technology for dashboards to report Supply Chain KPIs using SAP, but does the programming language scare you off? No need! This blog will provide you with some useful tips for efficient use of customer code for SAP Design Studio, aiming to achieve customized dashboards.

Tip 1: Keep it flexible

The BIAL programming language can be applied to components used in Design Studio in various ways. Some elements, like icons or dropdown lists, have the possibility to enter code. For example, in the situation that the user clicks on the icon or on one of the items of the dropdown lists. A quick way for you to see all the functionalities that are available for the element can be shown using the key-combination ‘Control‘ and ‘Space’. Not only functional requirements can be dealt with using custom code, also the layout of the dashboard - e.g. coloring or styles - can be modified using code incorporated into CSS style sheets.

Example of the available functionalities for the element named “CROSSTAB”

 

Image 1. Example of the available functionalities for the element named “CROSSTAB” (when selecting a functionality, more information will be shown)

Tip 2: Keep it simple

In SAP, ABAP (Advanced Business Application Programming) is the programming language which allows developers to create programs. ABAP function modules - which are basically re-usable programs - in SAP, Design Studio offers the option to save your custom code for other use in the dashboard. When you are doubting whether your custom code will (or can) be re-used in the future, please save your code in global scripts. These global scripts can be re-used in any custom code and with the use of global variables - variables available throughout the whole dashboard - your code can be simplified. However, always consider whether the requirements can be solved in a more standardized matter (default functions made available by SAP) for reasons of simplicity, future-proof and maintenance.

Example of applying a global script named "update_texts", this global script will be executed when the user clicks on the button named "BUTTON_UPDATE"

 

Image 2. Example of applying a global script named "update_texts", this global script will be executed when the user clicks on the button named "BUTTON_UPDATE".

Tip 3: Keep it lean

When using dashboards, speed is important. You do not want your user to wait too long to see your nicely designed dashboard. Especially not when the dashboard is published on a mobile device. Ultimately, the dashboard should give the users the information they need as fast as possible. Therefore, Design Studio has the possibility to only load the data you are actually using at that moment. This functionality is described by the "load in script" option, which is available for every data source. In the custom code, you can load the data source at any time to prevent loading all data when starting the dashboard. Additionally, some data sources require mandatory input variables which you also can enter using the custom code. Finally, more general derivations can be made such as the current period and year, which seems very suitable for dashboards.

Example of the "Load in Script" property, the datasource named "DS_KPI_OVERVIEW" will be loaded via script (and not when opening the dashboard)

 

Image 3. Example of the "Load in Script" property, the datasource named "DS_KPI_OVERVIEW" will be loaded via script (and not when opening the dashboard)

Tip 4: Less is more

When you are familiar with BIAL, it may be tempting to "solve" all the requirements of the customer using BIAL. However, I would advise to use a minimal amount of code since SAP is continuously standardizing functions within Design Studio. This implicates that you should keep a close eye on new releases before building custom code to solve a specific problem.

The verdict

In conclusion, everything is possible when designing a dashboard. However, every functionality will take time. Not only time to implement and test, but more importantly time to process while navigating through the dashboard. If you want to know more about SAP Design Studio please contact me. Also, some more general information is available and an extensive application designer guide. In future blogs, I will discuss each of the discussed topics in more detail, make sure to regularly check for updates!