Thursday, December 17, 2015

Conquering Basics:Part 02 Persistent Staging Area and Infoobjects

  Before moving on to loading issues, we will first quickly introduce you to SAP objects used in numerous staging layers. A Comprehensive description of these objects can be found in the official SAP website and I wont repeat them here. But I will explain it to you in my way, with real world examples.

Persistent Staging Area
The PSA(Persistent Staging Area) is the entry point into the BW system.Data from the source system(ECC) first arrives here where we cleanse it according to certain rules(no special characters allowed, no capital letters allowed etc). We edit these records for it to be ready to be sent to the reporting layers. Of the ETL, Extraction happens in this stage and to some extent the transformation.A Transfer structure represents a 1:1 mapping between source and BW system using which data is transferred from source(where users post) to BW. For each data source in the ECC, the same DS is created in BW which contains a transparent table(PSA). A transparent table is the one whose definition is as a single and independent table in database. SAP also has pooled table and cluster tables.

Example: A company keeping an employee in probation period is as good as data being stored in the PSA. Being in the probation period is not the final fate of an employee, either he is made permanent or he is removed from the company.Similarly, each data record in the PSA is either transferred to the subsequent reporting layers or is discarded. An employee in probation doesn't enjoy those rights given to a permanent employee in the same way as any record in the PSA cannot be used for reporting unless transferred ahead.

An Infobject is a business evaluation object which is itself responsible for distributing and dividing data logically.An infoobject contains characteristics(company code,fiscal year period,region),key figures(amount,number,quantity) etc. These are reflected in multidimensional cubes whilst reporting. If the characteristics have Text, Attributes and Hierarchies as its part then the info object is sure to contain Master data.WHY?
Consider the below example determine whether a transnational data can have attributes,texts and hierarchies.
Example: Suppose I load employee master data. Here MD attributes will be employee name,employee number etc. The  details to these attributes are stored in MD Texts. Hierarchies are nothing but an organisational structure according to which data is classified. A hierarchy can be considered similar to the following flow( Organisation-->Continental Level branches-->Country wise branches-->Region wise brahcnes in a country).
Note: Hierarchies play a very important role in roll up and drill down operations in BW reporting. Rollup and Drill down are the unique features owing to which many organisations opt for a BI system.

Lets continue the basics in the upcoming article.

Thursday, September 10, 2015

SAP BI features and expectations from a BI consultant.

   SAP, by itelf is an end-to-end solution(a complete ERP system) and that is what differentiates it from other tools available in the market.SAP BI, in particular comprises of three areas namely:

1)Extract, Transform,Load
2)Data Staging

Integrating data from disparate sources and making it available for reporting is the main purpose of SAP-BW/BI system(that's what a data warehouse does in general).Lets take an example to make things more clear:
Suppose that one company has two branches say, in countries India and United States. The backend system used in India is Oracle and that in US it is MS SQL Server. Also let us say, the date format in US is YYYY/MM/DD and that in India is DD/MM/YYYY. Here we observe that two databases of the same company are reflecting a different format for date. This is where what Transform(of ETL) comes into picture, it converts disparate formats to one so that reporting is possible. The format is agreed upon by the business, based on which data is loaded into BW system.(ETL).
For data staging and storage, SAP BW/BI provides structures such as Persistent Staging Area(PSA), Data Store Object(DSO), Infocube(multidimensional structure). We will discuss these structures in detail in the next article.
As far as reporting is concerned, SAP primarily had come up with Business Explorer(BEx), an excel based reporting tool. By this time, SAP had dominated in ETL and Data Staging but reporting was an issue as there were many drawbacks in BEx. SAP AG acquired Business Objects in the year 2008 which was an independent reporting tool which pivoted its position as a pioneer in all three fronts(ETL,Data Staging,Reporting).

Expectations from an SAP BI consultant:

A SAP BW/BI consultant is responsible for playing diverse roles. At the very onset it is understanding the business requirement and accordingly preparing a design document mapped to objects in SAP BW landscape. This is followed by implementing the design which also involves extensive usage of SAP ABAP(Advanced Business Application Programming) which is SAP's primary programming language for customisations. After a system has been designed, it is constantly analysing the system for any anomalies and optimisation. BW consultants are also supposed to analyse upcoming enhancements and accordingly implement them as per requirements.
The best part of being a BW consultant is direct interaction with users and in having the ability to bring smiles on their faces.
If you have very strong analytical skills, being a SAP BW consultant is the right choice for you.

All the above mentioned points will be discussed in detail in the upcoming articles.

Monday, August 24, 2015

Conquering basics:Part 01:Master and Transactional data

  Well..well..well if you thought I am going to utter what is written on all those forums or on the official site of SAP then you are probably wrong. I will try to keep it as close to the real world for better understanding.So, lets begin.
 Data is basically divided into two categories:

1)Master Data
2)Transaction Data

A master data is the type of data which is referenced by numerous transactions. Lets take an example to make it clear:
Suppose you go shopping in Store XYZ, the store's Backend system basically stores two types of information:

1)Your information such as Name,Address,email,telephone number etc.(which hardly change)
2)The details of the goods that you buy on each visit.(which is dynamic and changes with each of your visits)

You might have very well guessed that the first point is nothing but master data. It is called master data because it is the reference for transaction data without which transaction data actually has no meaning. For instance if I just say a somebody bought a towel, does it make any sense to the store? but on the other hand I say a towel bought by Mr. Joe then it makes sense to the business in evaluation of sales. This reference may help the business make useful decisions such as

  1. the business annually from Mr Joe
  2. Is Joe the maximum Purchaser(star purchaser)
  3. The perks to be given to Joe based on his purchases.

Transaction  data as stated above deals with variable data i.e the data which is highly dynamic. Suppose I go to shop XYZ and the first time I buy a towel, a shirt. Next time I go to the same shop, I buy a Basketball and a T-Shirt. Isnt it changing?Yes.
To sum up, transactional data without master data is unreferenced and meaningless data(which has no meaning by itself.)

For a better understanding, you can consider master data with CUST_ID as the primary key in the CUSTOMER TABLE with fields such as CUST_NAME,CUST_ADDRESS and transaction data as the TRANSACTION_ID as the primary key in the TRANSACTION_TABLE with other fields as ITEM_BOUGHT,COST_PER_PIECE,TOTAL_COST and CUST_ID as a foreign key referring to CUST_ID of the CUSTOMER_TABLE. But surprisingly in SAP you do not have the concept of FOREIGN KEY violations by which I mean you can load transaction data with no reference to master data without any error. But surely, there will be inconsistencies in the report outputs as there is no reference to Master Data. We will elaborate on this issue later on.

Please note that SAP BI/BW itself is not a relational database. SAP BW can be said to be a collection of databases/Database Management System (DBMS) Softwares which integrate data from numerous platforms in an organised form. The backend Databases/DBMS's used can be Oracle, MaxDB,MSSQL server etc.

I end this blog on the notion that I was clear enough in explaining these concepts.  We will delve deeper into these concepts in the coming articles.Should you have any queries, feel free to comment.

Sunday, August 23, 2015

An Introduction

Hello Guys,this blog has been created with an intent to share our experiences at work in the domain of SAP BI.The basic purpose of starting a different blog is to share some unusual solutions to the problems which we faced during this tenure of working.

At the very onset, we would like to appeal to people who consider SAP just a tool with no programming to change their notions. Believe me, in just a tenure of 6 months, I, personally have had considerable exposure to SAP ABAP. We only run short of opportunities, many of which we should create. There is a very vast scope of automation in SAP be it process chains, reporting using Bex etc.
Albeit being a tool, SAP has made us go back to the engineering books and apply those concepts here for nailing the irregularities in the system.BI is an exciting domain to work in considering direct one-to-one interaction with users, taking users issue directly and also having the satisfaction of having solved them. It is more so because you might feel lucky enough to see the fruits of your solution rendering all smiles on the business users face.

Keeping these points in mind, we welcome you all to our blog as also invite you to collaboratively contribute to the content here, which you feel you must make the world know. It can be through a blog post, comments or emailing me personally for that matter.

Lets get all set to master...