FBDI User Attributes (PLMEnsFBDIUserAttribute)

An opening ID is an entry point used to customize business logic.

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 to map a system with V5 piping/tubing parts attributes through an FBDI migration.

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

PLM Opening ID: PLMEnsFBDIUserAttribute
Customization intent: Execution
Execution context: Client

Input Objects

Input objects must be of the following types:

  • ThisObject: VPMReference (derivated 3DEXPERIENCE piping type) or VPMInstance (derivated 3DEXPERIENCE piping type).
  • Parameters corresponds to the context object.
  • Validation: not applicable in an execution rule.

Context Object Parameters

Parameter NameTypeRead/WriteComments
V5ApplBaseTypeString ReadRoot System class in application feat class.
V5ApplUserTypeString ReadV5 customer Class Type (Internal Name) in CATfct.
V5Attributes Feature Read V5 Attributes depending on the V5 object data. This includes unmapped attributes.
Note: V5 attributes that had V4 legacy names like Nominal Size, Commodity type, will be accessed by the corresponding internal names (see “Attribute Key” field in the FDE report) with no spaces. For example, Commodity type becomes CommodityType.

Sample

The following sample

/* CATRule signature (do not edit) : (ThisObject : #In Piping_Pipe_Inst, Parameters : #In RuleContext) : #Void */

Let refPrd(Piping_Pipe_Inst)   /* Custo Type */
Let refAppExt (PipPart)   /* Reference Application extension “PipPart” */
Let v5AttrList (Feature)

set refPrd = ThisObject
set refAppExt = ThisObject

if ( refPrd <> NULL and  refAppExt <> NULL)
{             		  
	set v5AttrList = Parameters->GetAttributeObject("V5Attributes") 			
  /* Update the PLM attribute on the Custom type
		  refPrd.E_MaterialCode  = v5AttrList->GetAttributeString("MaterialCode")                         
	*/
	
	if( v5AttrList <> NULL )
	{
		Trace (1, "v5AttrList is not null"  )     					
		
	  if (v5AttrList->HasAttribute("MaterialCode") == true) 
	  {		
	    refPrd.V_SupplierName  = v5AttrList->GetAttributeString("MaterialCode")  		  
	  }
	  
	}
}