Attributes Valuation Finalization Check (PLMAttributesValuationFinalization)

This document is intended to provide a detailed guide and examples about how to write an EKL Script with opening id "PLMAttributesValuationFinalization".

Introduction

This Business Logic (BL) ensures the consistency of attribute valuations based on predefined customer rules. 

  1. Consistency Check: The BL performs a check to ensure that the values of various attributes align with the specified rules [e.g., Length of “Description” attribute of General operation should be greater than 10]. 
  2. Error Generation: If any inconsistencies or violations of the customer rules are found, the BL generates errors. This can include issues like empty/invalid values, length mismatch or any discrepancies that break the rules.
  3. Commit Action Cancelled: When the BL detects errors, it prevents from committing any modifications.
  4. Error Resolution: The errors need to be addressed and resolved by the user. Once the user fixes the issues (like correcting attribute values or resolving conflicts), they can then retry the commit action [e.g Click on OK of properties page].

Version – 2024x FD04 (FP.CFA 2432), 2025x FD01 (FP.CFA 2506) & 2026x GA

Pre-requisites:

Licenses:

  • PPL (Process Engineer): Required to create Mfg. Item Structure, Process objects and Work Instructions

Disclaimer: Licenses mentioned above are as per 2026x documentation.

Opening ID: PLMAttributesValuationFinalization
Customization intent: Validation
Execution context: Client
Usage Gets triggered when a user clicks OK or Apply on the Properties page in "Manufactured Item Definition," "Process Planning," or similar applications, and checks whether the attributes valuation is consistent with customer-defined rules

Example 1:

The below example describes the flow which ensures that the Title and Description fields meet specific conditions when creating or editing a HOP, and that if these conditions aren’t met, an error message will pop up, preventing the creation of the HOP

No Use Case
1Ensure that the "Title" field of the HOP is filled with 4 digits after its creation
2Ensure that the "Description" field of the HOP is non-empty 
3Ensure that the "Description" field of the HOP is no longer than 40 characters 

Here we have modified the OOTB script “PLMAttributesValuationFinalization” to validate the attribute values of Header Operation

In similar way it is possible to validate an OOTB/ Custom attribute on an OOTB/ Custom type.

  • Title/Description attribute value can be added and modified in below cases
    • Create page of HOP object
    • EDIT Property page
    • PPR sheet editor
    • Property page at search

Logical Flow  

 

Business Rule Sample

Detail Explanation

Variables Used:

  • Errorlist: Stores the attributes with errors.
  • ErrorMessagelist: Stores the error messages associated with each attribute.
  • ObjectName: The name of the current object (ThisObject.Name).
  • ObjectDescription: The description of the current object (ThisObject.V_description).
  • MatchPatternValue: A regex pattern used for validation (e.g., checking if the title is a 4-digit number).
  • DescriptionLenth: The length of the description.

Validation Logic:

  • Name Validation:
    • Check if Title matches the pattern "/d{4}" (to check if the name is a 4-digit number).
    • If it doesn't match, an error is added to ErrorMessagelist and the attribute V_Name is appended to Errorlist  and the Validation flag is set to false.
  • Description Validation:
    • Check if the description is empty. If so, set the Validation flag to false and append an error message and the attribute V_description to the respective lists.
    • If the description is not empty but exceeds 40 characters, another error message is appended to ErrorMessagelist and V_description to Errorlist.

 

When user tries to create Header operation in Process Planning app. Properties page of Header operation will open, and user clicks on OK [Refer below image]


Following checks on attributes are done before HOP is created [BL is called]:

  • Title field is filled with 4 digits
  • Description is non-empty, and length is not more than 40 characters

As above conditions are not met, below pop-up dialog will appear specifying the attribute with the error message and HOP will not be created. 

Now, user Clicks on Close, again the same property page is opened, and user corrects the Title and adds Description and click on OK of properties page

After the user corrects the errors, and all validations pass, the Header Operation (HOP) is successfully created with the Title (e.g., "1449").

 

Logic to validate the Title attribute is filled with 4digits

Let ObjectName=ThisObject.Name
let MatchPatternValue(String)
MatchPatternValue="/d{4}" 
if(ObjectName.MatchPattern(MatchPatternValue) == false){
        ErrorMessagelist->Append("Operation Name is not a 4 digit")
        Errorlist->Append("V_Name")
        Validation=false
}

Logic to validate the Description attribute is non-empty

ObjectDescription=ThisObject.V_description
if(ObjectDescription == ""){                               
        Validation=false
        ErrorMessagelist->Append("Description cannot be empty")
        Errorlist->Append("V_description")
}

 

Logic to validate the Description attribute is no longer than 40 characters

ObjectDescription=ThisObject.V_description
if(ObjectDescription.Length()>40){                                 
        Validation=false
        ErrorMessagelist->Append(“ Length of Description can not be more the 40 Characters")
        Errorlist->Append("V_description")
}

Other Supported DELMIA Types:

When we associate this BL with type ‘DELLmiHeaderOperationReference’ the BL gets invoked on Header Operation. 

The same Business Logic can be applied to other DELMIA types to validate attributes. The validation can be extended to various types and their subtypes, such as:

For different Resource types and Engineering items (Products/ parts) the type ‘VPMReference’ can be used for customization.

Similarly, one can use below type in script for customization

  • ‘DELFmiFunctionReference’ for Mfg Item types and their subtypes
  • ‘DELLmiGeneralSystemReference’ for General system 
  • ‘DELLmiGeneralOperationReference’ for General Operation
  • ‘DELWkiInstructionReference’ for Work Instruction
  • ‘VPMReference’ for different Resource types and Engineering items (Products/ parts)

In the example, we have used ‘DELLmiHeaderOperationReference’ type to validate the attributes while creating Header Operation.

Example 2:

This example is of attribute dependency validation, where the value of one attribute affects the validation of another attribute. This kind of validation ensures that certain conditions are met before allowing a change or modification

No Use Case
1Ensure if Time Mode is changed to “Measured Time” then Measured Time should be greater than 0s

Here we have modified the OOTB script “PLMAttributesValuationFinalization” to validate the attribute values of General Operation

In similar way it is possible to validate an OOTB/ Custom attribute on an OOTB/ Custom type.

  • Time Mode/Measured Time attribute value can be added and modified in below cases
    • EDIT Property page
    • PPR sheet editor
    • Property page at search

Logical Flow

                                                               

 

Business Rule Sample

Detail Explanation

Variables Used:

  • Errorlist: Stores the attributes with errors.
  • ErrorMessagelist: Stores the error messages associated with each attribute.
  • ObjectName: The name of the current object (ThisObject.Name).
  • ObjectDescription: The description of the current object (ThisObject.V_description).
  • MeasuredTime: Value of Measured Time Attribute of current object(V_MeasuredTime)
  • Mode: Value of TimeMode Attribute(V_Mode)

Validation Logic:

  • Measured Time Validation:
    • Check if Mode is changed to “Measured Time”. If yes, then Check if Measured Time value is greater than 0s
    • If its value is <=0s, an error is added to ErrorMessagelist and the attribute V_MeasuredTime is appended to Errorlist  and the Validation flag is set to false.

When user tries to edit General operation in Process Planning app. Properties page of Header operation will open. Change Time Mode to “Measured Time”


Following checks on attributes are done before General operation is modified [BL is called]:

  • If Time Mode is “Measured Time” then “Measured Time” should be greater than 0s

As above conditions are not met, below pop-up dialog will appear specifying the attribute with the error message. 

Now, user Clicks on Close, again the same property page is opened, and user adds non-zero Measured Time and click on OK of properties page

After the user corrects the errors, and all validations pass, the General Operation is successfully modified

 

Logic to validate Time Mode and Measured Time

if(ThisObject->HasAttribute("V_TimeMode"))
{
set Mode=ThisObject->GetAttributeString("V_TimeMode")
if(Mode=="MeasuredTime")
{
       if(ThisObject->HasAttribute("V_MeasuredTime"))
       {
             set MeasuredTime=ThisObject->GetAttributeReal("V_MeasuredTime")
             Trace(1,"MeasuredTime ",MeasuredTime)
             if(MeasuredTime<=0)
             {
                    ErrorMessagelist->Append("Measured Time should be greater than Os")
                    Errorlist->Append("V_MeasuredTime")
                    Validation=false
             }
       }
}
}

Other Supported DELMIA Types

In this example, we have used ‘DELLmiGeneralOperationReference’ type to validate the attributes 

The same Business Logic can be applied to other DELMIA types to validate attributes.

Business Rule Deployment

The below page can be referred for Business Rule deployment.

How to Deploy Business Rule

For deployment using Data Setup app following Resource set ID and opening needs to be used:

Resource Set ID:
 

 

Opening:

 

Fact types for Example 2: 'DELLmiGeneralOperationReference'

Reference

Documentation:  Attributes Valuation Finalization Check (PLMAttributesValuationFinalization)

Author

Person of Contact - @Akansha BHASAKHETRE