Attributes Valuation Propagation (PLMAttributesPropagation)

An opening ID is an entry point used to customize business logic. Attributes Valuation Propagation (PLMAttributesPropagation) propagates the attributes valuation (Attri=f(Attrj) ) and manages the attribute visibility.

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

Each time you modify an attribute value manually, this opening ID is called in the New, Edit Properties and Sheet Editor dialog boxes. The Attribute Valuation Propagation opening ID Logic is called before applying the current propagation opening ID.

Notes:
  • If in the PLM mask (creation/edition) an attribute is declared as not editable, then the opening cannot overwrite this rule.
  • When used in the Edit Properties dialog box, navigation is not available.
Warning: Adding or deleting attribute extensions to the Business Logics dynamically is not supported by the Edit Properties, Attributes, and Sheet Editor dialog boxes. Their values will not be taken into account when you commit the attribute valuation (action behind the Apply, Finish or OK buttons).

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

Opening ID: PLMAttributesPropagation
Customization intent: Execution
Execution context: Client

Input Objects

Input objects must be of the following types:

  • ThisObject
  • Parameters corresponds to the context object.

Context Object Parameters

Parameter Names Types Read/Write Comments
PropagationMode String Read

Input parameter which specifies if the propagation must be performed on attribute value or on attribute visibility only. Authorized values are:

  • Edition (visibility only)
  • Valuation

EditAttributeId String Read Input parameter which identifies the attribute that has been modified and whose edition requires propagation.
Policy String Read Policy name.
The attribute visibility and propagation is directly applied on the instance handled by the BL.

Sample

The following sample shows how to automatically fill the Description and makes this attribute not editable in the UI.

<Scripts>
          <Script OpeningID="PLMAttributesPropagation"
          Type="MyPLMProduct"
          ScriptName="MyProductAttrPropagationScript" />
          </Scripts>              
        

This family references the script that contains the business logic implementation, which looks like the following CATRule file:

let p(ValuePointer)
let propagationMode(String)
 
propagationMode = Parameters->GetAttributeString("PropagationMode")
If(propagationMode==”Edition” OR propagationMode == "Valuation")
{
               ThisObject.V_description = "My Description"
               p = ThisObject.GetAttributeValuePointer("V_description")
               p.Constant = True
}