This Wiki page provides guidelines to customize the business logic to suggest capable resources for a System or Operation from various sources.
Introduction
The Opening ID "DELPPRCandidateResourcesReferences_ID" is triggered upon launching the "Manage Capable Resources" command. This Opening ID enables the display of a button within the "Manage Capable Resources" panel, specifically for Primary Capable Resources, to suggest suitable resource candidates. Additionally, it facilitates the suggestion of a list of capable resources through its associated functionality.
Version Tested on – 2025x FD01 FP.CFA.2506
Pre-requisites:
Licenses –
PPL (Process Engineer): Required to create Mfg. Item Structure, Process Structure & Resource Structure
Disclaimer: Licenses mentioned above are as per 2025x documentation.
| PLM Opening ID | DELPPRCandidateResourcesReferences_ID |
| Customization Intent | Execution |
| Execution Context | Client |
| Usage | This opening ID is run to return the list of suggested Capable Resource references for the current System/Operation occurrence. |
Explanation
In applications such as Manufactured Item Definition and Process Planning, the "Manage Capable Resources" command is used to assign capable resources to manufacturing items, systems, and operations. However, by default (Out of the Box), this command only allows users to manually select resources from the resource tree or search to designate them as Capable Resources for the selected object.
Use Case
The Opening ID "DELPPRCandidateResourcesReferences_ID" can be utilized to display a button within the "Manage Capable Resources" panel, specifically for Primary Capable Resources, to suggest potential capable resources. It also enables the suggestion of a list of resources sourced from various sources, which can be designated as capable resources for the selected object.
Sources Used to Suggest Capable Resources
In the provided sample business logic, five sources are considered for suggesting capable resources:
Capable Resources of All Manufacturing Item which are Implemented on the selected operation
Resources from the "Capable Resource Structure" – either linked directly to the selected object, its parent system, or the first upper-level linked "Capable Resource Structure"
Note: All the children of found "Capable Resource Structure" are suggested in the list
Resources from the "Assets Structure" – either associated with the selected object, its parent system, or the first upper-level linked "Assets Structure"
Note: All the children of found "Assets Structure" are suggested in the list
Resources from the "Scoped Resource" – either scoped to the selected object, its parent system, or the first upper-level scoped resource
Note: All the children of found "Scoped Resource" are suggested in the list
If none of the above sources are available or the suggested resource list is empty, then suggests Resources from All Resource Nodes available within the current PPR context
Note: All the children of found Resource Nodes are suggested in the list
To enable to suggest resources from all the resource nodes in the current PPR structure (Source 5) along with all aforementioned sources (Source 1-4), remove the following highlighted part of the condition available in the provided sample script.
/*------------Start of: Logic to get Root Area and Organizational Resurces from PPR Context and suggest resources from them------------*/ If (SuggestFromResourcesInPPR == 1 and LstResourcesToSuggest.Size() <=0)
Managing from Where to Suggest the Capable Resources
The source used to suggest capable resources for the aforementioned options can be managed through preference variables defined in the provided sample business logic, as listed below:
/*------Preferences to suggest Capable Resources-----------------*/
SuggestFromCapableResourceStruct = 1 //Set to 1 to allow sugget capable resources from 1st Upper Linked "Capable Resource Structure"
SuggestFromAssetsStruct = 1 //Set to 1 to allow suggest capable resources from 1st Upper Linked "Assets Structure"
SuggestFromScopedResources = 1 //Set to 1 to allow sugget capable resources from 1st Upper Scoped Resource Structure
SuggestFromResourcesInPPR = 1 //Set to 1 to allow sugget capable resources from Root Resource Nodes in the PPRContext
SuggestFromImplementedItem = 1 //Set to 1 to allow sugget capable resources from Implemented Capable ResourceTo disable suggestions from a specific source, set the corresponding variable's value to "0". By default, resources are being suggested from all the sources.
In the BL, the parameter "OutputIsButtonVisible" (Value can be "true" or "false") is used to manage whether to show the button to show the button to suggest the capable resources and the parameter "OutputListOfResourceReferences" (Value is a "List") is used to upend the list of resources to suggest as capable resources.
/* ---- FILL OUTPUT PARAMETERS ---- */
if ( true == Parameters.HasAttribute("OutputIsButtonVisible") )
{
set IsButtonVisible = false /* HERE : set to "true" to see the suggestions list button */
if LstResourcesToSuggest.Size() > 0
{
set IsButtonVisible = true //Set the "Suggest Capable Resource" buttom visible only if suggested resources are available
Notify("Button set to True")
}
else
{
Notify("No Capable Resource Available for Suggestion")
}
Parameters.SetAttributeBoolean("OutputIsButtonVisible", IsButtonVisible)
}
if ( true == Parameters.HasAttribute("OutputListOfResourceReferences") )
{
if LstResourcesToSuggest.Size() > 0
{
ListOfResources = ListOfResources + LstResourcesToSuggest
}
Parameters.SetAttributeObject("OutputListOfResourceReferences", ListOfResources)
}Logical Flow
Note: To know the detailed working of the BL, please check the well commented sample script
Sample Script
Disclaimer: This code is just an example and should only be used by people who know the Enterprise Knowledge Language (EKL) and the DELMIA data model very well. The intent is not to provide a ready to deploy product code. Therefore, we are not responsible for any issues you may face with this code. You should make the changes in the provided script as required and test thoroughly before deploying on Production EnvironmentsScenarios
Scenario 1: "Manage Capable Resources" command launched for a Step Operation
When a Step operation is selected, it will show the button to suggest capable resources. A "Notification" is also displayed to show the sources from where the resources are being suggested.
After clicking on the button to suggest capable resources, it will suggest the resources from all the possible sources.
Scenario 2: "Manage Capable Resources" command launched for a Header Operation
When a Header Operation is selected, it will show the button to suggest capable resources. A "Notification" is also displayed to show the sources from where the resources are being suggested.
After clicking on the button to suggest capable resources, it will suggest the resources from all the possible sources.
Limitation: The button to suggest capable resources is only available for "Primary Capable Resources"
Scenario 3: "Manage Capable Resources" command launched for a child Workplan/System (With no Resource Scoped, With no Capable Resource Structure and no Assets Structure) of Root System
When a Workplan or System is selected, it will show the button to suggest capable resources. A "Notification" is also displayed to show the sources from where the resources are being suggested.
After clicking on the button to suggest capable resources, it will suggest the resources from all the possible sources.
Scenario 4: "Manage Capable Resources" command launched for Workplan/System (With Resource Scoped, With Capable Resource Structure and Assets Structure)
When a Workplan or System is selected, it will show the button to suggest capable resources. A "Notification" is also displayed to show the sources from where the resources are being suggested.
After clicking on the button to suggest capable resources, it will suggest the resources from all the possible sources.
Scenario 5: "Manage Capable Resources" command launched for object which have no Scoped Resource Link, Capable Resource Link, Assets Structure Link and no Capable Resources from Implemented Mfg. Items
When an object is selected, which don't have any Scoped Resource (Linked to Itself, it's parent or in first upper scope) or Linked Capable Resource Structure (Linked to Itself, it's parent or in first upper link) or Linked Assets Structure (Linked to Itself, it's parent or in first upper link) or Capable Resources coming from the implemented Mfg. Items, then it will suggest the resources from all the resource nodes available in the current PPR Structure.
A "Notification" is also displayed to show the sources from where the resources are being suggested.
After clicking on the button to suggest capable resources, it will suggest the resources from all the possible sources.
Selecting and assigning the Capable Resources from Suggested Resources
From the suggested resource, any number of resources can be selected to be assigned as capable resources and after clicking on the "OK" button, the capable resources will be assigned on the selected object.
References
User Assistance (DELPPRCandidateResourcesReferences_ID)
How to Deploy
You may refer the below page for Business Rule deployment.
For deployment using Data Setup app following Resource set ID and opening needs to be used:
Resource Set ID:
Opening ID:
Fact Type:
This Object Type: ProdSystemOccurrence
