Advanced Customization > Services and Infrastructure Customization > Customizing MPMLink > Propagating Changes Using a Workflow Event
  
Propagating Changes Using a Workflow Event
You can sync the upstream structure with the downstream structure using a workflow event instead of using the Propagate changes to downstream action in BOM Transformer. To do so, specify the values for the parameters in the detectAndResolve method or override this method for reconciliation services. The method is available in the ReconciliationService.java file located at com/ptc/windchill/associativity/reconciliation.
The parameters for the detectAndResolve method are given:
/**
* Accepts upstream context(mandatory), downstream context, upstream NC, downstream NC, application name, change
* criteria, criteria type, criteria type input and discrepancy types as input. If downstream context is
* not given, derives it from the input upstream context. If upstream or downstream NC is not given, gets it from
* the Associativity user level preferences. If application name is not given, takes BOM Transformer as the default
* application name. If criteria type is not given, takes OutOfDateCriteria as default. If discrepancy types are not
* specified, takes all discrepancy types as default. When all inputs are in place, calls the detect and resolve
* action.
*
* @param upstreamContext Upstream context for detect and resolve action.
* @param downstreamContext Downstream context for detect and resolve action.
* @param upstreamNC Upstream NC for detect and resolve action.
* @param downstreamNC Downstream NC for detect and resolve action.
* @param applicationName Name of application in which detect and resolve action is to be performed.
* @param changeCriteria Change criteria/number.
* @param criteriaType Criteria type for detect and resolve action.
* @param criteriaTypeInput Input for the selected criteria type if required.
* @param discrepancyTypes Discrepancy types to be considered for detect and resolve action.
*
* @return Discrepancies resolved and messages if any, separated by delimiter |
*/
public String detectAndResolve(WTPart upstreamContext, WTPart downstreamContext, NavigationCriteria upstreamNC, NavigationCriteria downstreamNC, String applicationName, String changeCriteria, String criteriaType, String criteriaTypeInput, String discrepancyTypes);
}