Friday 28 February 2020

Implementing system-versioning and time-travel data handling scenarios in SAP HANA 2.0

Sometimes functional requirements for data warehouses (DWH) include support of time-dependency for master data. For example, in the real world, a manager changes their city from time to time. According to DWH data model, city is an attribute of manager. It’s required to see which city relates to manager at a particular date. In this case, city must be the time-dependent attribute of manager

If you are going to build DWH using SAP BW, you may not worry. SAP BW has proven comprehensive support for time-dependent master data out-of-the-box. But what if you need to build SAP HANA SQL Datawarehouse? Does SAP HANA support time-dependent scenarios like in SAP BW?

Tuesday 25 February 2020

Setting up a BW/4 Instance in CAL

Being familiar with AWS or any other PaaS or SaaS provider one should think that setting up an instance of a piece of software is a one to ten click thing in modern times. Not so with SAP!

Today I have struggled with the activation of the “SAP BW/4HANA 2.0 SP02 including SAP BW/4HANA Content 2.0 SP01” image in CAL and not only with the image but also with the very poor “Getting Started with SAP BW/4HANA 2.0 SP02 including SAP BW/4HANA Content 2.0 SP01” that acompanies the image.

Monday 24 February 2020

Next Generation Hana Development Model

I would like to introduce you to the next generation development model for Hana, the HanaAppContainer project. It should be

◉ easy to use
◉ powerful
◉ simple to setup
◉ run-everywhere, from a laptop to on-prem to a large cluster with load balancers in the cloud

Friday 21 February 2020

How to replicate STXL table (INDX-like) using SDI

The Problem

The purpose of this document is to describe our approach to replicate table STXL from SAP ECC to HANA DB using SAP HANA SDI. Replicating STXL is challenging because it is an INDX-like table. Its content must be parsed before being saved into HANA DB.

In our previous projects, SAP SLT was the tool used to perform the replication. There is good documentation on SCN explaining how to configure SLT to replicate INDX-like tables. However, we could not find similar materials when SAP HANA SDI is used.

Thursday 20 February 2020

NSE(Native Storage Extension) Data Tiering Options

What is NSE ?

HANA SPS 04 version has introduced the NSE. NSE is used to store the warm data. HANA was used to store the hot data in memory but as data growth occurred in some of the organization the need for another store came into picture and SAP came out with a solution to introduce the another store called as warm store which in turn called as NSE.

Wednesday 19 February 2020

Calculate the total number of Business days present in a Month as per Organization/Company calendar


The purpose of creating this table function is to calculate the  key figures which are very important for Target Vs Sales Analytical reporting. This Key figures can be referenced in Predictive Sales reporting.

Tuesday 18 February 2020

An example to call PAL Apriori via AMDP


SAP Predictive Analysis Library (PAL) is delivered with SAP HANA. This application function library (AFL) defines functions that can be called from within SAP HANA SQLScript procedures to perform analytic algorithms.

ABAP-based SAP applications are able call the functions (Classification, Regression, Clustering, Association Rule, Recommender Systems, etc.) provided by PAL. One common way is to do it via AMDP.

Monday 17 February 2020

Automating your SAP HANA and S/4HANA by SAP deployments using Ansible – Part 2

The goal for these blog post series is to show how we can make SAP Solutions deployments easy and reliable using Ansible automation.

In the previous blog post, we explained what Ansible is, some best practices while using Ansible, benefits of using it and a quick introduction to Ansible Tower.

In this blog post, we are going to focus on the ‘Red Hat Enterprise Linux System Roles for SAP’. These are Red Hat supported (Tech Preview at the time this blog post was written) Ansible Roles to assist with the OS-specific configuration required while installing SAP HANA or SAP NetWeaver software.

Sunday 16 February 2020

Automating your SAP HANA and S/4HANA by SAP deployments using Ansible – Part 1

The goal for these blog post series is to show how we can make SAP Solutions deployments easy and reliable using Ansible automation.

What is Ansible

Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs.

Friday 14 February 2020

Working with the Recursive SQLScript limit in HANA

The SQLScript Reference Manual for HANA contains a description for using resursive logic within procedures and functions. Recursion in procedures has a limitation that sets the maximum call depth to 32. I ran across this as I was rewriting some database-related JAVA code as an SQLScript procedure.

While this call-depth check would normally be a showstopper, it looks like with some thought and knowledge of SQLScript capabilities, the limit can be easily overcome.

Thursday 13 February 2020

Data Provisioning in HANA from Various Sources using Python

Why Python 

We have known that Smart Data Access (SDA) is much popular as a Data Provisioning method with SAP HANA to connect to various popular third party sources whether its SQL server, RDBMS etc. You can access data virtually as well as you can persist based on requirements. Flowgraphs plays an important role here.

Wednesday 12 February 2020

HANA XSA: Securing your application, and ensuring a good User Experience (UX) – Part 1

Is User Experience or Security more important?

In short, both are equally important.  One of the most overlooked areas of user experience is security.  As with most user-oriented design, security should be implemented in a way that guides the user, only allowing them to interact in ways which they are authorized.  on the other hand, security should not force the user to have a bad experience, it should enhance it.

Tuesday 11 February 2020

HANA Partitioning – 2 billion rows limitation – Part II: BSoH / S/4HANA

It took me nearly two years to write the second part of this partition series. The first one for BW partitioning can be found here.

The main question of this blog: How to determine the best partitioning combination?

In an ERP or S/4 HANA system it is possible that a table is approaching the 2 billion mark. This is a HANA design limit for a column store table (per partition). In this case you have to partition the table. But different than on a BW system there are no standard rules for a partitioning. This means you have to choose a partitioning rule by your own. But how to determine the best partitioning combination?

Monday 10 February 2020

HANA Partitioning – 2 billion rows limitation – Part I: BWoH / BW/4HANA

Some of you may already know the limitation of 2 billion entries in a single table / partition.

Another hint regarding this limitation is the alert ID 17 ‘<table> contains xxx records’. The default threshold of this alert is 300,000,000 rows. This limitation applies to BSoH / S/4HANA and BWoH / BW/4HANA => general HANA limitation. But both have its own distribution rules. So I will split this blog into two parts BWoH and BSoH.

Friday 7 February 2020

Overview of SAP HANA 2.0

In this blog post I want to elaborate and giving you an overview of SAP HANA 2.0.


Need for Digital Platform

The world is becoming the digital world, the world is now more connected and digital due to the extreme growth of mobile and tablets devices results the huge increase of data volume in every seconds and now the addition of “Intelligent” is much needed like never before. The “Intelligent” is that how we can get reward from any raw data smoothly. In today’s world the users needs instant response for their queries no matter how far the responsible person is. Data science is also available to businesses and every economic sector, this means machine learning and AI (Artificial Intelligence) is now displaying in every application due to this rapid and fruitful responses creating in every moment. New types of data is also available because of this the analysis on huge data has its high.

Thursday 6 February 2020

Customizing Time Zones and DST Adjustments in HANA

I am building a HANA version of an accounting system for an electric power grid. The design comes from a legacy system which has been in operation for over 40 years. The system stores MWh power output readings for 250 generating units for 77 power plants. MW values are integrated continuously over the hour and are stored at the end of the hour. For example, MW values collected between 00:00:01 and 01:00:00 are stored as a single MWh value with a timestamp of 01:00:00.

Wednesday 5 February 2020

XSA Fiori Launchpad On-Premise Configuration With Cross-MTA Dependencies

When recently tasked with setting up a fiori launchpad for xsa on-premise I came up against a couple of challenges. I found that much of the content online directs you towards different fiori launchpad implementations for SAP NetWeaver or for Cloud Platform. Both of these have a graphical designer that the xsa on-premise system is lacking. These versions also have a different setup and structure and cannot be used for xsa on-premise.

Tuesday 4 February 2020

Create CKF (Calculated Key Figure in SAP HANA / BW Query / Eclipse BW Query)

We have a requirement to create Total overtime hours in a report. This is calculated by a formula as we have the normal regular hours + overtime hours in 2 separate fields. We need to either do it in a Webi report ( report side) or in the BW Query which is sitting on a composite provider.. I choose to do it on the data target end as its much better to do it in the BW query, where the values will be ready before the webi report fetches them.