Skip to Content

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

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.


-> CompositeProvider -> aDSO


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


Is this a good idea?

If so , why?

If not, why not?

Any help will be appreciated


Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

5 Answers

  • Posted on Feb 08, 2017 at 01:50 AM

    Hi Martin,

    I don't quite understand your data flow.


    -> CompositeProvider -> 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.

    Add comment
    10|10000 characters needed characters exceeded

  • Posted on Feb 08, 2017 at 08:57 AM

    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.

    Add comment
    10|10000 characters needed 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.

  • Posted on Feb 10, 2017 at 09:18 AM

    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?
    Add comment
    10|10000 characters needed 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.

  • author's profile photo
    Former Member
    Posted on Feb 11, 2017 at 12:57 PM

    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?


    Abhishek Shanbhogue

    Add comment
    10|10000 characters needed characters exceeded

  • Posted on Feb 11, 2017 at 09:45 PM

    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.

    Add comment
    10|10000 characters needed characters exceeded