Validate Harness Content Links (ELE_ValidateAllocationHarness)

An opening ID is an entry point used to customize business logic. The Validate Harness Content Links opening ID is available in the Electrical Logical Resources resource set and it is used to validate the creation or the deletion of harness links.

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 Harness Content Link command.

This opening ID is used to validate the link between a harness and the following entities: wires, cables, disconnects, splices, connector ports.

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

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

Input Objects

Input objects must be of the following types:

  • ThisObject: harness to be linked/unlinked.
  • 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 example checks whether all components to be linked to the harness are connector components only and checks if the harness is made of less than two connectors (which is forbidden).

 /* Rule : ELE_ValidateAllocationHarness */
/*
   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 Connector  (PLMElecLogicalConnector)

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 Connector  =  ActionEnd.Reference
         if Connector == NULL
         {
            Validation = false
            Parameters.Message = "End " + ActionEnd.PLM_ExternalID + 
                      " must be a connector component"
            Parameters.Severity = 2
         }
         else
         {
            Connector = NULL
         }
      }
      else
      {
            Validation = false
            Parameters.Message = "Error"
            Parameters.Severity = 2
      }

   }

}

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