Product Assignment Validation using Maturity State

This document intended to provide a detailed guide and examples on how to customize a Business Rule for opening id DELMA_AssignableProductValidation_ID to validate any product/ part if we can assign it to Mfg. item or not.

Introduction

Sometimes it’s necessary to check few conditions before proceeding for implementing some product/ part. For example we can have a check to see if the data is ready for manufacturing or not. Accordingly we have to decide if we can proceed for its Manufacturing implementation or not.

Here in this example we are checking the maturity state of the product/ part to validate if we can create its Mfg. implementation or not.

Version – 2022x FD01 (FP2205), 2023x FD04 (FP2333), 2026x GA

Pre-requisites:

Licenses –

  • PPL(Process Engineer): required to create Mfg. Assembly object and to assign product/ part to it.

Disclaimer: Licenses mentioned above are as per 2022x & 2023x documentation.

PLM Opening IDDELMA_AssignableProductValidation_ID
Customization intentValidation
Execution contextClient
UsageWhile assigning product/part to the Mfg. item validate the product if assignable or not.

Example: Product Assignment Validation using Maturity State

The below example describes how we can apply restrictions to assign a product/ part depending on the Maturity state. If the product/ part has Maturity state other than 'RELEASED' then the assignment is not allowed. The assignment is allowed only for 'RELEASED' Maturity state.

Logical Flow

Example Business Rule

DELMA_AssignableProductValidation.CATRule

 

Detail Explanation

We can control the assignment of any product/ part with some particular Maturity State.

Here, the assignment of only a product/ part with Maturity State 'RELEASED' to Mfg. item is allowed.

When we drag and drop the product not in 'RELEASED' maturity state on the Mfg. item the business rule makes the validation 'false' and we get a Message on the screen saying "The Product/Part is not in RELEASE maturity state hence the business logic does not allow assignment of .

Maturity = PartReference.V_maturity
if(Maturity <> "RELEASED")
{
      Validation = false
      Parameters.SetAttributeBoolean ("oForceAssignment" , false)
      ReturnMessage = "The Product/Part is not in RELEASE maturity state hence the business logic does not allow assignment of "+PartReference.V_Name
}

Here Maturity state value is used as an example. It’s possible to use any other existing OOTB attribute or any custom attribute and can add some condition to validate the assignment. The Maturity value of the product/ part is compared with string “RELEASED”. If the Maturity of the product/ part is in 'RELEASED' state then only the assignment is allowed else the assignment will be prohibited.

Scenarios:

 Maturity StateResult
Scenario1RELEASED

The assignment is allowed.

 

Scenario2any other value

The assignment is not allowed.

Return message: The Product/Part is not in RELEASE maturity state hence the business logic does not allow assignment of .

One can change the check used in validation condition (if the maturity = "Released") with some other maturity state like frozen or with some other required attribute as per the requirement.

 

Disclaimer: This is just an example explaining how to use the opening id. Though few customers may follow this traditional way of working it is not promoted as a best practice on 3DExperience.

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 and Opening needs to be used

Resource Set ID:

 

Opening:

Reference

Documentation: Assignable Product or Part (DELMA_AssignableProductValidation_ID)

Author

Author: @JJ 

Person of Contact - @& & @KA 

@&&/a> ​​​​