Creating Your Own Navigation Criteria Example
When crafting your JSON payloads for filtering a converted process plan, it can be helpful to see examples that use your own data. You can create an example that includes certain combinations of the supported navigation criteria types, or all of them.
To create your own navigation criteria example, complete the following steps:
1. Create and save your filter in Windchill MPMLink. Refer to the example topics for each type of navigation criteria for details on the Windchill MPMLink filter settings: baseline, date effectivity, life cycle, options, part tag and serial effectivity.
2. Retrieve the navigation criteria for your saved filter from Windchill MPMLink. For more information, see Retrieving Navigation Criteria for Saved Filters.
3. Sanitize the returned navigation criteria before using it as the JSON payload for an input parameter on the ConvertFromProcessPlanID service:
Remove the following keys from the root element for the saved filter:
{
"Centricity": "...",
"@odata.context": "...",
"ID": "...",
"LastModified": "...",
"Name": "...",
"SharedToAll": "..."
"CreatedOn": "..."
}
Remove all instances of the following key:
{ "DisableRuleChecking": "..." }
* 
The HideUnresolvedDependents key has no impact on process plan conversion, regardless of its setting (true or false). Unresolved dependents are not processed in the conversion. This key can be retained in or omitted from your JSON payloads.
The sanitized navigation criteria is now ready to be used as the JSON payload for an input parameter on the ConvertFromProcessPlanID service.
Example—Raw Navigation Criteria
The following example shows the raw navigation criteria returned for a saved filter from Windchill MPMLink. This filter was saved from the Filter action set on the Structure tab for a process plan. It includes multiple types of navigation criteria. You must sanitize this content before it can be used as the JSON payload of the processPlanNavigationCriteria input parameter:
{
"ApplicableType": "PTC.MfgProcMgmt.ProcessPlan",
"ApplyToTopLevelObject": true,
"Centricity": false,
"ConfigSpecs": [{
"@odata.type": "#PTC.NavCriteria.WTPartBaselineConfigSpec",
"Baseline": "wt.vc.baseline.ManagedBaseline:284734"
},
{
"@odata.type": "#PTC.NavCriteria.WTPartStandardConfigSpec",
"WorkingIncluded": false,
"View": "Design",
"LifeCycleState": {
"Value": "RELEASED",
"Display": "Released"
},
"Variation1": {
"Value": "production",
"Display": "Production"
},
"Variation2": {
"Value": "002",
"Display": "002"
}
},
{
"@odata.type": "#PTC.NavCriteria.WTPartEffectivityUnitConfigSpec",
"EffectiveUnit": "1",
"EffectivityType": {
"Value": "MSN",
"Display": "MSN"
},
"EffectiveContext": "wt.part.WTPartMaster:245852",
"View": "Design",
"Variation1": {
"Value": "production",
"Display": "Production"
},
"Variation2": {
"Value": "001",
"Display": "001"
}
},
{
"@odata.type": "#PTC.NavCriteria.WTPartEffectivityDateConfigSpec",
"EffectiveDate": "2019-12-02T05:00:00Z",
"EffectiveContext": "wt.part.WTPartMaster:246691",
"View": "Design",
"Variation1": {
"Value": "production",
"Display": "Production"
},
"Variation2": {
"Value": "001",
"Display": "001"
}
}
],
"CreatedOn": "2019-11-15T19:52:32Z",
"Filters": [{},
{
"@odata.type": "#PTC.NavCriteria.OptionFilter",
"DisableRuleChecking": false,
"OverrideOptionSetRevision": "OR:com.ptc.windchill.option.model.OptionSet:294292",
"OptionFilterConfigSpecs": [{
"@odata.type": "#PTC.NavCriteria.OptionFilterConfigSpec",
"LifeCycleState": null,
"LatestActive": true,
"LifeCycleActive": false,
"EffActive": false,
"EffectiveDate": null
}],
"FilterMode": {
"InternalCode": 1,
"Name": "Standard"
},
"ChoiceValues": [{
"ID": "OR:com.ptc.windchill.option.model.Choice:246812",
"Name": "AUTOMATIC"
}]
}
],
"HideUnresolvedDependents": false,
"ID": "OR:wt.filter.NavigationCriteria:284749",
"LastModified": "2019-12-02T16:15:58Z",
"Name": "mega_dwu_filter",
"SharedToAll": false,
"UseDefaultForUnresolved": false
}
Example—Sanitized JSON Payload
The following code shows the sanitized content from the previous example. It is ready to be used as the JSON payload of the processPlanNavigationCriteria input parameter of the ConvertFromProcessPlanID service:
{
"ApplicableType": "PTC.MfgProcMgmt.ProcessPlan",
"ApplyToTopLevelObject": true,
"ConfigSpecs": [{
"@odata.type": "#PTC.NavCriteria.WTPartBaselineConfigSpec",
"Baseline": "wt.vc.baseline.ManagedBaseline:284734"
},
{
"@odata.type": "#PTC.NavCriteria.WTPartStandardConfigSpec",
"WorkingIncluded": false,
"View": "Design",
"LifeCycleState": {
"Value": "RELEASED",
"Display": "Released"
},
"Variation1": {
"Value": "production",
"Display": "Production"
},
"Variation2": {
"Value": "002",
"Display": "002"
}
},
{
"@odata.type": "#PTC.NavCriteria.WTPartEffectivityUnitConfigSpec",
"EffectiveUnit": "1",
"EffectivityType": {
"Value": "MSN",
"Display": "MSN"
},
"EffectiveContext": "wt.part.WTPartMaster:245852",
"View": "Design",
"Variation1": {
"Value": "production",
"Display": "Production"
},
"Variation2": {
"Value": "001",
"Display": "001"
}
},
{
"@odata.type": "#PTC.NavCriteria.WTPartEffectivityDateConfigSpec",
"EffectiveDate": "2019-12-02T05:00:00Z",
"EffectiveContext": "wt.part.WTPartMaster:246691",
"View": "Design",
"Variation1": {
"Value": "production",
"Display": "Production"
},
"Variation2": {
"Value": "001",
"Display": "001"
}
}
],
"Filters": [{},
{
"@odata.type": "#PTC.NavCriteria.OptionFilter",
"OverrideOptionSetRevision": "OR:com.ptc.windchill.option.model.OptionSet:294292",
"OptionFilterConfigSpecs": [{
"@odata.type": "#PTC.NavCriteria.OptionFilterConfigSpec",
"LifeCycleState": null,
"LatestActive": true,
"LifeCycleActive": false,
"EffActive": false,
"EffectiveDate": null
}],
"FilterMode": {
"InternalCode": 1,
"Name": "Standard"
},
"ChoiceValues": [{
"ID": "OR:com.ptc.windchill.option.model.Choice:246812",
"Name": "AUTOMATIC"
}]
}
],
"UseDefaultForUnresolved": false
}
Was this helpful?