Abstract
This article details how you can implement the Component Family Maturity
Business Logic based on the knowledge scripting technology.
|
Business Logic Intent
This business logic is used in Component Family modeler to manage maturity checks
and changes:
- It allows you to check that generic model components are at the target maturity
state (otherwise, resolving items is not allowed)
- It allows you to change the generic model components maturity state to the
target maturity state
- It allows you to change the items components maturity state to the target
maturity state
This rule is called:
- When trying to resolve a family item by code, through catalog integration
or within the family editor (generic model maturity check and item model maturity
change if this change is automatic)
- When using the maturity change commands within the family editor: Change
maturity of Generic Model and Change maturity of items models
PLM Opening Definition
This section describes the objects defining the PLM opening:
- its global information,
- its kind of input object,
- its context object parameters.
General Information
PLM Opening ID |
ComponentsFamilyMaturity |
Customization Intent |
Computation |
Execution Context |
Client |
Input Objects
The Business Logic is invoked for any reference included into a Product structure
that is either the generic model or a component family item model. Its content has
to describe the maturity graph of the customization of the given component and its
target maturity state.
PLM Component Class Types |
PLMCoreReference |
PLMCoreRepReference |
Context Object Parameters
Parameter Names |
Types |
Read/Write |
Comments |
MaturityTransitions |
List |
Write |
Output: Must contain the maturity transitions to go from initial maturity
(after cloning for example) to target maturity |
MaturityTargetState |
String |
Write |
Output: Must contain the target maturity state |
Implementation Sample
The following Business Logic sample describes the maturity graph: IN_WORK
(Share)
WAIT_APP (Share) SHARED
let transitions (List)
transitions.Append("Share") /* from IN_WORK to WAIT_APP */
transitions.Append("Share") /* from WAIT_APP to SHARED */
Parameters.SetAttributeObject("MaturityTransitions", transitions)
Parameters.SetAttributeString("MaturityTargetState", "SHARED")
Recommendations
References
History
Version: 1 [July 2007] |
Document created |
Version: 2 [July 2010] |
Document updated |