cancel
Showing results for 
Search instead for 
Did you mean: 

normal rule applied to a DO child node, how does this works?

Former Member
0 Kudos

Hi folks,

unfortunatly I'm facing a new issue in this new project's day. I try to explain to you what happens.

I create a DO (standard type, download only) which represents Purchase Orders headers and their items and I don't have neither any receiver generation data object nor subscription generator DO.

Its structure is like this:

POHEADER

--PO_NUMBER

--DOC_TYPE

--STATUS

--... (some other attributes)

POHEADER has a child node:

POITEM

--PO_NUMER (ID of its header)

--PO_ITEM (ID of the item)

--MATERIAL

--PLANT

--... (some other attributes)

Customer requirement is to distribute Purchase orders accoding customer's plants. We'll have a MI client for every plant and on that client the user should work only on related POs.

To satisfy this requirement I created a new custom group (PURCHASEORDER_GROUP) into RMM with a single value attribute named PLANT_ID. Then I created a new normal rule into my distribution model with a criteria related to the PLANT attribute of POITEM child node, with a condition EQ and MOBILE.PURCHASEORDER_GROUP.PLANT_ID, for the comparison value.

Afterwards I have created a new device within the DO Admin & Monitoring Portal, assigning a value to those attribute (for example 1200) and I have registered my client to that device.

Into back end sistem I have 31 PO headers which belong to plant 1200, so I ran a syncronization on my client and I could correctly see 31 PO headers, so my rule seems to work fine, but the related POITEM, for those 31 headers, are not transferd.

Do yoo have any explanation about this? Can't I create a rule criteria according an attribute which belongs to a child node?

As usual any hint will be precious

BR

Roberto

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

Yes its perfect to distribute the whole instance based on a rule on child segment. Could you check directly in your client DB table corresponding to the child segment (it will be named as POITEMxx).

Regards,

Liji

VikasLamba
Advisor
Advisor
0 Kudos

Well Roberto what you have done seems to be perfectly all right. In fact the header and child items for a object are sent together in a single XML and I am surprised that you are receving headers but not the items.

Can you verify if the CDS has corresponding items available?

Regards,

vikas

Former Member
0 Kudos

Hi Vikas,

I checked the CDS table related to POITEM and I have 260 rows, and 35 of them are related to the 31 headers I mentioned.

Just as another tentative, I created a bulk rule to distribute all my PO Data Object and I created a Node Filter Rule on PLANT attribute of POITEM, with the same criteria explained in my original message for the normal rule.

Into the DO Admin & Monitoring Portal I deactivated the normal rule and activated the bulk and filter ones.

Well, in this condition when I run a sync I got on my client 171 PO headers (all the headers, as expected since the bulk rule is working) and exactly 35 POITEMs as expected.

Of course this condition is not good for me, since the user see, via WD UI, the majority of PO without any POITEM related.

So I can conclude that CDS contains all the right data, but this data are not distributed fine to the client.

Thanks for you hint. I hope I gave you the info you need.

BR

Roberto

Former Member
0 Kudos

Hi Roberto

With the normal rule complete instance is distributed. Whereas with node level filter child node records are distributed according to node level filter rule definition. This is what you observed also when you modelled node level filter rule.

And if none of the node level filter rule are active for the node, then no record for that node will be distributed.

The only guess i can make at this time is that probably Node level filter rule was first modelled and later deleted. And generation might have not happened properly, and thus still has code for node level filter.

May be you can try regenerating the DM. You also need to regenerate the data object.

-

pradeep

Former Member
0 Kudos

>

> Hi Roberto

>

> With the normal rule complete instance is distributed. Whereas with node level filter child node records are distributed according to node level filter rule definition. This is what you observed also when you modelled node level filter rule.

> And if none of the node level filter rule are active for the node, then no record for that node will be distributed.

>

> The only guess i can make at this time is that probably Node level filter rule was first modelled and later deleted. And generation might have not happened properly, and thus still has code for node level filter.

> May be you can try regenerating the DM. You also need to regenerate the data object.

>

> -

> pradeep

Hi Pradeep,

I have uninstalled my client and reinstalled it, I have deleted my device into admin & monitor porta and recreated id, I have cleaned up middleware data (trans SDOE_CLEANUP), and I have activated the normal rule and node filter rule into the portal.

When I synced my fresh installed client I got 31 PO Headers and 35 PO Items!!!

So maybe I got rid of this issue!!!

thanks for all your hints guys

BR

Roberto