Maturity State Computation for Family Items (ComponentsFamilyMaturity)

An opening ID is an entry point used to customize business logic. Maturity State Computation for Family Items lets you manage maturity checks and changes. It is invoked for any reference included into a Product structure i.e. the generic model or a component family item model. Its content describes the maturity graph customization for a given component and its target maturity state.

Note: For more information about customization by business rules, see Installation and Setup: Customize: Behavior: Data Setup: Customization by Business Rules.

This page discusses:

General Information

This opening ID is invoked:

  • When trying to resolve a family item by code, through catalog integration or in the family editor (generic model maturity check and item model maturity change if this change is automatic).
  • When using the maturity change commands in the family editor: Change maturity of Generic Model and Change maturity of items models.

This opening ID is used to:

  • Check that generic model components are at the target maturity state (otherwise, resolving items is not allowed).
  • Change the generic model components maturity state to the target maturity state.
  • Change the items components maturity state to the target maturity state.

The table below provides you with information related to the definition of the Opening ID.

Opening ID: ComponentsFamilyMaturity
Customization intent: Computation
Execution context:Client

Input Objects

Input objects must be of the following types:

  • ThisObject
  • Parameters corresponds to the context object.

Context Object Parameters

Parameter NameTypeRead/WriteComments
MaturityTransitionsList WriteOutput: Must contain the maturity transitions to go from initial maturity (after cloning for example) to target maturity
MaturityTargetStateStringWriteOutput: Must contain the target maturity state

Sample

The following 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")