cancel
Showing results for 
Search instead for 
Did you mean: 

Distribution Model

Former Member
0 Kudos

Hi, i have three Data Objects...

I want link the three Data Object such as:


DO1        DO2         DO3
User  -->  User
              value1 --> value1
              value2 --> value2
                             other

I can link DO1 and DO2 with this steps:

- DO1 have a distribution model by user of Device --> work fine

- DO2 have in node structure the node association with DO1 --> work fine

- DO3 have in node structure the node association with DO2 --> don´t work

Why i cann´t download the data of DO3?

Thanks,

Edited by: Victor Capi on May 8, 2008 5:25 PM

Edited by: Victor Capi on May 8, 2008 5:25 PM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Shiva,

I really accepted with your words, becuase i have tested that scenario. The leading object attibute can be either from header node or child node, but the following object attribute should be the header node attibute.

I want to know the following information, can you please provide me some information how they are useful with small example.

1) Add line item filter

2) Add Extract Rule

3) Add Node level filter rule

Former Member
0 Kudos

My problem was... I had in DO1 a dependency for DO2 and dependency for DO3.

Now work fine because i have in DO1 a dependency for DO2 and in DO2 i have a dependency for DO3.

Regards,

Former Member
0 Kudos

Hi,

Is your problem completely solved now. If yes then please change the status to answered and reward with some points if your find my post if you found it useful.

For Arun,

Node level filter rule is applied on top of actual rule which filters the headers. Like for example if you have a DO with header and one item structure. Now you can have a normal distribution rule which tells what

DO instances hould go to client and by default all child items related to their parent i.e, header will also go to client. But if you create a node level rule on item structure based on some static values or range then by default header will go to client but only those items of those headers which fulfill the node level filter criteria will flow to the client.

Extract Rule is used for multilanguage support. And this is a big topic on its own. You can check the documentation under help.sap.com.

Hope this helps.

Best Regards,

Siva.

Former Member
0 Kudos

My problem isn´t completely solved...

If i have this:


DO1                           DO2
CP (BE key)
CA1 (BE key)  -->        CA1
CA2 (BE key)  -->        CA2

When i do the Node Association in DO2, it´s necessary associate the node CP, but, how can associate if i don´t have in DO2 the CP? With Generate SyncKey?

Thanks,

Former Member
0 Kudos

Hi,

You are right. You need to use the generate synckey option when creating association.

Best Regards,

Siva.

Former Member
0 Kudos

But, the generate synckey no it´s link to a synckey always no?

I explain it...

i have in DO1 the CP (BE key) and his type isn´t synckey... it doesn´t matter no?

Thanks,

Former Member
0 Kudos

Hi,

When you create an association b/w two nodes of two different data objects, then in the data object where you will be creating an association, there will be a link table generated where it stores the actual links.

So in your case, it generates the synckey.

For example, if you have DO1 with a field called A which is a BEKey.

and DO2 with a field called B which is also a BEKey.

Now if you want to create an association b/w DO1 and DO2 b/w A and B. And you want to create from DO2 to DO1, then in DO2, go to the node and create an association , now in the Association Details screen give some name and selecte Data object as DO1 and select the associate node which is by default header and choose association type as "complete".

Now in the next screen which is "key map for association", the filed A is already selected as Associated node attribute and marked as BEkey and for that row choose the filed B from DO2, and in the next row choose generate synckey option.

This is how you can create the association and in the above example, a link table will be generated in DO2 which identifies the links from DO1 using synckey of DO1 and the generated synckey for DO2. This is because in DOE it deals with synckeys rather than BEkeys.

Best Regards,

Siva.

Former Member
0 Kudos

I don´t understand you...

I have:


DO1                           DO2
CP (BE key)
CA1 (BE key)  -->        CA1
CA2 (BE key)  -->        CA2

When i do a node association in DO2, it´s necessary map CP, CA1 and CA2 because the three are BE key... then, i can map CA1 and CA2 but no CP, because in DO2 there isn´t CP, how can do it? It´s an association type as "partial".

Thanks,

Former Member
0 Kudos

My problem is, when i have a BE key in DO1... how can link with DO2 if this haven´t the BE key.

Regards,

Former Member
0 Kudos

Solved.

Thanks,

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

If your question is just to related 3 different data objects header attributes then i dont see any problem in the mentioned scenario. Just that you need to have two different associations one b/w DO1 and DO2 and the second one b/w DO2 and DO3. After that you need to create two different dependencies in distribution model one which says leading data object is DO1 and following is DO2 and the second dependency which says leading data object is DO2 and following data object is DO3. And i hope you already have a rule on DO1 which is actually the ultimate leader in your scenario. I think you have missed the second dependency b/w DO2 and DO3.

For other helpful information of how it works if I understood your question wrongly then refer the following reply.

In your first association DO1's userid is linked to DO2's userid which is also in the header so there is no problem.

Whereas in the relationship b/w DO2 and DO3 it is the not the same. You are linking DO2's child node to a DO3's child node which is not possible because it doesn't fulfill the basic database rules.

The reason is very simple. When you want to distribute the data, you will say which is the leading data object and which is the following data object in the dependency rule. Now if you see, the leading data object node could be a header or it could be child node, but for sure it has to be linked to some attribute in the header node of the following data object.

The main reason why you were not able to link two different child nodes of different objects is they have to be linked by atleast one of the parent nodes otherwise their relationship doesn't qualify because after all a child can never exist without its parent.

Very simple rule for creating association(links) during design time and dependency rules for runtime distribution: The leading data object can either be a header node(on which a distribution rule should exist) or a child node attribute(anyway its header will have the distribution rule) and the following data object should always be linked to its header.

In layman terms the referencing DO can either be a header/child nodes and need/need not be a primary key but the referred DO node attribute should be a key.

Like for eg. if there is a service order which has user in its header as one of the attributes and the order has one of its child nodes called business partners. And now the second data object just contains the business partner information. Now when the data gets distributed based on the user for service order then i can say related partners should also go. In this case i will create an association b/w service order's child node business partner and the second data object business partner and then for runtime distribution of data i will also create a dependency saying when service order's partners goes then also send the partner information.

Hope this helps.

Best Regards,

Siva.

Edited by: Siva RamaKrishnaJ on May 8, 2008 9:10 PM