Recently, I was working on a task where I had to read data from multiple primary objects in SDL and merge them to display as a BI report. I started having a closer look at Source data services. I started with the IMG activity of source data services under SDL and began with F4 help and help documentation for BA.
At the beginning , it was overwhelming and of course a lot of information which left me in a more confused state until Eric H explained how it works. So I think it’s worthspending some time (though its weekend) to write a short summary about source data services in Bank Analyzer.
The primary objects are created in the BA system using the service module architecture. Data for each primary object is stored in multiple flat tables which share a foreign key relationship. Source data services deals with how to read data from the primary objects of the source data layer. Flexible and configurable interfaces are provided to accomplish it.
The diagram below explains all about SDS.
Data Source type
Let’s start from the top. Data can be read either for single record selection or work list creation which are the two different types of
primary data source types. To ensure that only one record is selected from Single record selection , complete key has to be provided. There are two data source categories : General Primary Data Source (PDS) and OTS. In case of Worklist data source type , it can read data from either from General PDS or Infoset.
Data source category:
As from the above diagram , there are three types of data source categories: General Primary Data Source (General PDS) , OTS and Infoset.
General Primary Data Source
A general PDS in turn needs to be classified if it returns either a single record or a work list.
Navigate to the ‘Edit Primary data sources’ IMG activity.In the ‘General Data’ tab , it lists the server from which you read the data. The data source server is supplied by SAP. (View cluster‘/BA1/VC_TF3_GDSSV’ lists all the servers available that can be used in the general primary data source)
Characteristics data from the primary objects is stored in the form of flat tables using DSO in the Tool BI system. This is accomplished in the customizing activity below:
DSO objects can be either automatically created and registered or manually created and later on registered.Then you define derivation strategies for updating characteristics and relevancy indicators.
How is the data populated into DSO’s ?
This is done by Index OTS. An index OTS structure is assigned for every primary object. In turn, Index OTS is populated using module editor frame work.
Check the customizing settings below, where it defines modules to fill with data and assign a module to OTS. As expected, there will be a derivation environment for writing values to OTS.
The process flow is as below:
- Data for a new version of a primary object is saved in the core Bank Analyzer system.
- With the help of the derivation tool, the characteristics of the primary objects are written to an index OTS.
- Data from the index OTS updates to the DataStore objects of the Tool BI system
- The data is then available in the DataStore objects of the Tool BI system so that it can be retrieved (on the
basis of Analyzer selection criteria) via InfoSets.
While index OTS is used to update data on DSO linked to the primary object, a general OTS is used to read data as a flat state for a single record.
Infosets are objects of the Tool BI system. A complex selection with characteristics distributed over several primary objects is realized using Infosets. Each infoset is automatically available as a primary data source of the type work list.
Refer to how to createan infoset from a technical point of view in BW here.
One last comment.The time dependency concept of SDL primary objects doesn’t apply to Primary data sources.
Of course it is expected that you understand the jargon of BA if you are reading this nevertheless for the benefit of the doubt find below some of the
SDL Source Data Layer
RDL Results Data Layer
PDS Primary Data Source
SDS Secondary Data Source
OTS Object Transfer Structure
DSO Data Store Object
It was an attempt to give an overview of source data services in BA and any comments / feedback are welcome !