Qlikview not able to fetch all data from Multiprovider

 There is a scenario which I encountered recently in my project where Qlikview was not able to see complete data from the Multiprovider from SAP BW.

The Multiprovider consisted of few standard DSOs with the setting : "SID generation during Activation" and "Set Quality Status to OK automatically" checkbox checked. Thus, even though all the settings are in place, the Qlik was not able to see all the data in the raw layer.

I will mention some more details of the scenario:

Multiprovider: MP1

Standard DSOs which were part of the Multiprovider:

  1. DSO1 with key fields K1, K2, Data fields D1 and key figure Amount
  2. DSO2 with key fields K1, K2, K3, Data fields D1 and key figure Amount

You can observe that DSO1 and DSO1  - both have same key figure Amount and same data field D1. This is just for simplicity. Otherwise they can have as many data fields and key figures in the real scenario.

The issue was coming due to key fields, hence key fields are important to note here.

K3 is a key field in DSO2 which is not present in DSO1.

The multiprovider was based on DSO1 and DSO2. When the characteristic assignment was done in the multiprovider, K1 and K2 were coming from both DSO1 and DSO2 and were identified from both DSOs.

K3 was coming only from DSO2 and identified as key  part in multiprovider as it is a key field in DSO2.

When this multiprovider was accessed by the Qlikview team, only DSO2 data was displayed after extraction even though DSO2 has active data and there were no filters in the qvd.

How the issue got resolved:

I included K3 in DSO1 as a data field. DSO2 was unchanged.

  • DSO1 with key fields K1, K2, Data fields K3, D1 and key figure Amount
  • DSO2 with key fields K1, K2, K3, Data fields D1 and key figure Amount

 

In the transformation of DSO1, K3 was left as unassigned, no update.

After these changes, Qlikview was able to see data from both DSO1 and DSO2.

Root Cause Analysis:

Qlikview is based on associative data structure where it takes note of primary keys and non key fields and constructs a star schema.

Multiprovider was seen as a combined table structure of DSO1 and DSO2 in Qlik where K3 was there as a primary key earlier. Since the DSO1 was not having K3, the data was not fetched and shown.

When K3 was included in DSO1, the multiprovider was having K3 both as a Key part and Data part. Thus Qlik was able to access its data and shows K3 as "not assigned" for DSO1 data.

mp1

Please Note: Qlikview should have authorization for the BW multiprovider. Then only they can see it in the Infoprovider list when they connect to the BW system.

 

Comments

Popular posts from this blog

Domains and Data Elements

How to update exchange rates via process chain in BW

Sample ABAP program for Updating notepad file data to Internal table and Sending it to Application server