Friday, November 30, 2012 6:14 AM
While creating a business rule in MDS 2012, i know that it is possible to change an attribute value if another attribute value has changed within the same entity. Is there a way to change the values of an attribute in an entity based on the changes in an attribute of another entity ? (Both entities are in the same model).
Eg: Table1 has attribute1
Table2 has attribute2.
Both the tables have no relationship defined in MDS (No attribute is domain based).
Requirement: If attribute1 is updated with a value "A", attribute2 of Table2 should be updated with "A".
Monday, December 03, 2012 2:04 PM
I am hoping this is possible via custom workflow: -
1. Enable change tracking for Attribute1 of Table1.
2. Create a business rule on Table1. On the conditions tab of business rule, check if attribute1 has changed. Under then tab, call a custom DLL.
3. Write a custom code using WCF methods in order to perform the required updates to Attribute2 of Table2.
Below is the channel 9 link for more information on custom workflows. In the video, an Entity is made a shared entity (Shared entity is something which can be used by all models. The demo is after 20 mins of the video).
Monday, December 03, 2012 3:33 PM
Hi Nagesh CL,
Thank you very much for the reply. Can you give me some information on the below:
If i create a workflow and call a custom dll, lets say that there are 100 inserts in Table1, how many times will the custom dll be called during the inserts? Is it 100times?
Tuesday, December 04, 2012 9:51 AM
Yes business rules execute row by row. So if there are 100 inserts on table1, the dll would be invoked 100 times.
The XML tag which is sent to the work flow engine will have the attribute details and values.
Below is the microsoft link for custom workflow example: -