SAP BW 3.5x / Business Intelligence 7.x, Time Dependent, Master Data
This document is intended to a requirements where we want to see the master data attributes for historical values, but the datasource used to load data is not support data for time dependent attributes.
Author(s) : Ganesh Wathare
Created on : 04 October 2013
Ganesh Wathare works as Technology Lead in Infosys Limited. He has 7+ years of experience in IT Consulting Industry during this time he has worked majorly on SAP NetWeaver BW and relational databases together with different BI reporting tools. He has worked on Various Support and implementation Projects.
Many times Business need to see attribute values from past for a particular Master data attributes. to make it available we can change Master data InfoObjects configuration and make required attributes as a time dependent, but many Business Content Master data attribute data source not support time dependent data. Hence providing such a information will be managed in Datawarehouse whenever required.
When we make attribute as a time dependent then Master gets capability to save time dependent data in tables, also these values can be see in report using Key Date. Many times data which comes from Content Datasources doesn’t have valid from and Valid to dates so limitation comes to identify the change in data and loading time dependent values for attributes. This can be achieved using multiple option. This document is intended to provide such a options which can be used to get time dependent master data attributes where datasource don’t have such a data.
There will be some limitations based on systems and datasource which we are using in that case this document can help to think similar possibilities in those scenarios. I am used using steps to explain as steps will change case to case. Also accuracy of data is also based on data load frequency and when master data gets loaded.
2. Steps to bring time slices for master data attributes.
1) Firstly we need to identify how to identify which fields are changed.
2) Make attributes as a time dependent attributes.
3) Add one Standard DSO between Datasource and Master Data attribute, this will help to identify the changes happened in master data. This is required as new time interval should be created only in case there is change in attribute. If data volume is less and we are using only only some attributes as a time dependent this can be achived by writing a ABAP code (at start routine) which will look up into master data (get latest data for time interval) and validate any change in the fields and if the fields are changes then pass that record to next stage other delete record from source package.
4) While mapping fields from DSO to Master data attribute map valid from as 01.01.1000 and valid to as 31.12.999 and load data in master data from DSO by full load DTP.
5) Now for next attributes values should bring time slices if data is changed. So change load from DSO to Master data attribute to delta, change mapping for valid from to sys-date (if we have changed on date which is correct we can use same). Re-extarct and reload the data.
6) Now you can see changed records got uploaded to master data with new time interval starting from today.
7) Add Key date variable in selection in reports where we want to see historical values for a attributes.
Success of this approach will depend on how data model is present currently in system. As we are passing current date is is not actually date on which attributes are changed so data load timing will impact accuracy of data.