Validate Cable/Net Group Links (ELE_ValidateGroupConductor)

An opening ID is an entry point used to customize business logic. The Validate links between cable/net and cables/wires or netgroups/nets opening ID is available in the Electrical Logical Resources resource set.

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 during the Managing Wires and Cables command.

This opening ID is used to validate:

  • new cables/wires - net groups/nets to be grouped to the cable/net group.
  • existing cables/wires/net groups/nets to be ungrouped from cable/net group.

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

PLM Opening ID: ELE_ValidateGroupConductor
Customization intent: Validation
Execution context:Client

Input Objects

Input objects must be of the following types:

  • ThisObject: cable/net group in which cable/wire - net group/net are grouped to or ungrouped from.
  • Parameters: corresponds to the context object.
  • Validation: parameter to be set to know if the validation succeeded or failed (expected values are TRUE or FALSE). False value is associated with the severity of the action.
  • Severity information:
    • Severity= 0: the treatment is to be continued (no message).
    • Severity= 1: the treatment is to be continued and only a warning raised.
    • Severity= 2: the treatment is supposed to be undone.

Context Object Parameters

Parameter NameTypeRead/WriteComments
ModeString ReadAdd to validate the creation of the link for new content and Remove to validate the deletion of the link for existing content.
ActionListListReadList of content on which Add or Remove are applied on.
ExistingListListReadList of content to help the user defining his business rule.

Sample

The following sample checks whether or not the cable groups only wires and have at least three wires. If not, linking is interrupted and a message issued.

 /* Rule :  ELE_ValidateGroupConductor */
/*
   ThisObject : #In RFLVPMLogicalPort
   Parameters : #In RuleContext
   Validation : #Out Boolean
*/

let sMode (String)            /* "Add" or "Remove" modes    */
let ActionList (List)         /* Ends to validate action on */
let ExistingList (List)       /* Existing ends		*/

let nbActionEnds (Integer)
let nbExistingEnds (Integer)

let ActionEnd (RFLVPMLogicalInstance)
let ExistingEnd (RFLVPMLogicalInstance)

let Wire (PLMElecLogicalWire)

let i (Integer)
let j (integer)

set sMode = Parameters->GetAttributeString("Mode")
set ActionList = Parameters->GetAttributeObject("ActionList")
set ExistingList = Parameters->GetAttributeObject("ExistingList")

Validation=true

nbActionEnds = ActionList->Size()
nbExistingEnds = ExistingList->Size()

set i = 1
if (sMode == "Add")
{
   for i while i <= nbActionEnds  AND  Validation == true
   {
      ActionEnd  = ActionList.GetItem (i)
      if ActionEnd <> NULL
      {
            set Wire  =  ActionEnd.Reference
            if Wire == NULL
            {
               Validation = false
               Parameters.Message = "End " + ActionEnd.PLM_ExternalID + " must be a wire"
               Parameters.Severity = 1
            }
            else
            {
               Wire = NULL
            }

      }
      else
      {
               Validation = false
               Parameters.Message = "Error"
               Parameters.Severity = 2
      }

   }
      
}

if (sMode == "Remove")
{
   if ((nbExistingEnds - nbActionEnds) < 3)
   {
      Validation = false
      Parameters.Message = "Cable must group at least 3 wires"
      Parameters.Severity = 2
   }
}