Skip to Content
0

Is a CompositeProvider in the middle of a dataflow a good idea?

Jan 13, 2017 at 07:41 PM

531

avatar image

Consider this dataflow -

aDSO -> Transformation end routine with join with another aDSO --> aDSO

Instead of creating a join with two aDSOs in an end Routine, I would prefer to use a Composite Provider. The new dataflow would look like this.

aDSO

-> CompositeProvider -> aDSO

aDSO

Now the join is created by the Composite Provider and not in an end routine.

Questions:

Is this a good idea?

If so , why?

If not, why not?

Any help will be appreciated

Martin

10 |10000 characters needed characters left characters exceeded

Hi Martin

you can create two ADSO and combined it in a composite provider .

But only consideration is verify whether you have any cumulative keyfigures.

Composite Provider combining two ADSOs

Cheers

K M R

0
* Please Login or Register to Answer, Follow or Comment.

5 Answers

Donnie Burhan Feb 08, 2017 at 01:50 AM
0

Hi Martin,

I don't quite understand your data flow.

aDSO

-> CompositeProvider -> aDSO

aDSO

I understand that (-> CompositeProvider -> aDSO) is located on the BW Modelling, but how do you place it between 2 aDSO?

I'm not aware that you can read CompositeProvider data using ABAP, because there is no physical table to do a select.

Share
10 |10000 characters needed characters left characters exceeded
Martin Chambers Feb 08, 2017 at 08:57 AM
0

Hi Donnie

You can include 2 aDSOs as sources in a CompositeProvider and create a join between the aDSOs. This is what I tried to depict.

You can also connect a CompositeProvider as a source with a transformation to another aDSO as a target.

Show 1 Share
10 |10000 characters needed characters left characters exceeded

So what you meant is:

CompositeProvider (aDSO join aDSO) => Transformation => aDSO

Yes, you can do this, but make sure that there's no message like below in the Eclipse, or the data will come out incorrectly.

Ambiguities cannot be resolved without the analytic engine

If you have this, then you need to use a QueryProvider build on top of the CompositeProvider to feed the data to the aDSO.

0
Martin Chambers Feb 10, 2017 at 09:18 AM
0

Hi Donnie,

Thanks for your reply. Your short description is correct and much clearer than mine.

I still have a few questions.

I know that it is possible to connect a CompositeProvider to an aDSO using a transformation. But I have been advised against doing it without getting a clear reason why. Do you know what the disadvantages could be, except the Eclipse message you mentioned?

  • Could there be a performance issue? Is the data access slower for a join in a CompositeProvider than for a join defined in a transformation routine? Are there other reasons why it could be a bad idea?
  • I haven't come accross the term QueryProvider. Could you provide more Details?
Show 1 Share
10 |10000 characters needed characters left characters exceeded

Hi Martin,

Basically, the join and union on the CompositeProvider are executed on the Analytic/OLAP engine, so if you load the data using Transformation/DTP, the data may not come out correctly as intended.

QueryProvider is a BEx query which you can use as source of transformation. Because it's a BEx query, you can use it to make sure that the data coming from CompositeProvider will come correctly. You can set a BEx query as a QueryProvider by going to RSRT > Properties, then check the Query is used as InfoProvider.

There are several condition for this checkbox can be used, you can click the information button in the right side if it's disabled.

0
Abhishek Shanbhogue Feb 11, 2017 at 12:57 PM
0

Hello Martin/Donnie,

If you connect a composite provider to an aDSO but is it preferred design?How do you manage delta to the aDSO then?

Also I believe there wont be any performance lag if we use transformation and go with AMDP

Also I was told SAP is still trying to figure out fixes for all the existing issues with usage of aDSO! Am I misinformed?

Thanks

Abhishek Shanbhogue

Share
10 |10000 characters needed characters left characters exceeded
Martin Chambers Feb 11, 2017 at 09:45 PM
0

Hi Abhishek,

I don't know about preferred design. That's why I posted this question.

As far as I have heard, you can only do full data loads from a CompositeProvider. I haven't tried it myself yet.

SAP started with BW 7.4 SP8. Now BW 7.5 SP6 (=7.4 SP14) is available. I would expect the basic features to work. Not sure what happens when you try a semantically partitioned aDSO or an aDSO for planning.

Share
10 |10000 characters needed characters left characters exceeded