Pre Check Update (PLMPreCheckUpdate)

An opening ID is an entry point used to customize business logic. Pre Check Update (PLMPreCheckUpdate) lets you describe conditions to be satisfied before operating the update of a component, to prevent the operation. When the check fails, a message can be provided to the end user, explaining the reason why.

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

This page discusses:

Environment: On premises only

General Information

This opening ID is is called before updating a component.

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

Opening ID: PLMPreCheckUpdate
Customization intent: Validation
Execution context:Server

Input Objects

Input objects must be of the following types:

  • ThisObject
  • Parameters corresponds to the context object.
  • Validation

Context Object Parameters

Parameter NameTypeRead/WriteComments
PolicyString ReadPolicy name.

Sample

The following sample shows you how to check that the object has no children in IN_WORK maturity state.

/*The following rule is an example of what can be done*/

/* ----------------- */
/*      Declare      */
/* ----------------- */
let ListInstance (List)
let ListInstanceSize (Integer)
let FilterList (List)
let FilterListSize (Integer)


/* ----------------------------------------------------------------------------- */
/*    By default, we validate the operation  */
/* ----------------------------------------------------------------------------- */
Validation = true

/* ----------------------------------------------------------------------------- */
/*    If the object has at least one child, the clone is not allowed  */
/* ----------------------------------------------------------------------------- */
ListInstance = ThisObject.Children
ListInstanceSize = ListInstance.Size()
if ( ListInstanceSize > 0 )
{
                /* ------------------------------------- */
                /*    Check Children's maturity state    */
                /*                                       */
                /*  We first navigate from the instances */
                /*  to their references                  */
                /* ------------------------------------- */
                FilterList = ListInstance.Extract("VPMInstance", "VPMReference", "y = x.Children.GetItem(1)")
                     .Filter("VPMReference", "x.current == \"IN_WORK\" ")
                FilterListSize = FilterList.Size()
}