cancel
Showing results for 
Search instead for 
Did you mean: 

Heterogeneous MultiProviders

Former Member
0 Kudos

Hello Folks,

I've created a Multiprovider based on 2 ODS. The structure is more or less like :

ODS 1

Keys : 0doc_number + 0s_ord_item

Data Fields : Z_DTREMINI + Z_DTREMFIN

ODS 2:

Keys: 0doc_number + 0s_ord_item

Data Fields : Z_DTREMINI (I do not have Z_DTREMFIN in this ODS)

I've made up all relationships at the Identification TAB for the multiprovider. I've set up Z_DTREMFIN to be mapped from ODS1 but whenever I run my query, Z_DTREMFIN is showing like "not assigned" although I am sure its content is filled up at the ODS1. What am I missing?

This is happening to all data fields which does not exist in both ODS although they've been mapped.

As far as I understand, it should work.

The Multiprovider should have the structure such as:

0doc_number

0s_ord_item

Z_DTREMINI

Z_DTREMFIN

...

Any help would be highly appreciated. Thanks in advance!

Message was edited by: Yurion Munhoz

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Mapping of MultiProviders:

Let's take you have the following ODS contents:

ODS1:

0DOC_NUMBER 0ITEM Z_DTREMFIN

00000000001 00010 FIN1

00000000002 00010 FIN2

ODS2:

0DOC_NUMBER 0ITEM Z_DTREMFIN(does not exist)

00000000001 00010 <N/A>

00000000002 00010 <N/A>

In your MPROV you get the following records

0DOC_NUMBER 0ITEM Z_DTREMFIN

00000000001 00010 FIN1

00000000002 00010 FIN2

00000000001 00010 #

00000000002 00010 #

and since you have multi dimensional reporting these values are not aggregated. Especially is the field Z_DTREMFIN not filled from ODS1 because the key/data definition doesn't apply to the multiprovider.

Solutions:

1. Model Z_DTREMFIN as nsvigational attribute to 0S_ORD_ITEM (compounded to 0DOC_NUMBER)

2. Fill Z_DTREMFIN with a virtual characteristic exit.

3. Create an InfoSet and put this InfoSet into the MultiProvider.

Best regards

Dirk

Former Member
0 Kudos

Hi Dirk,

Thanks a lot. I've created the infoset and now the field is showing up.

Best Regards,

former_member184494
Active Contributor
0 Kudos

This is because Multiproviders work on Unions and Infosets work on Intersections and hence the data shows up only on InfoSets , otherwise in using multiproviders , you will have one row with data from one cube and another row having data only from the other cube.

Arun

Answers (2)

Answers (2)

Former Member
0 Kudos

Yurion,

you must create a basic cube load from ods 1.

in the update rule write "select single 'all fields of the ods 2'" from ods 2.... in to your field of cube (that aren't in ods1).

alessandro

Former Member
0 Kudos

I would recommend to use InfoSets (outer join) on ODS objects , if Multiprovider doesn't work.