Base PLM Type

All Objects inherit from a type named PLMEntity.

This page discusses:

PLMEntity

The PLM Entity type gathers a set of attributes common to any PLM object.

Under this type, we find several core types including PLMCoreReference, PLMCoreInstance, PLMCoreRepReference and PLMCoreRepInstance. These main types enable to implement the pattern of reusability which is common to a large set of objects.
Note: The Reference attribute on PLMCoreInstance enables to follow the red link (InstanceOf). To be precise enough, the Reference attribute is not on the core type. It is made available by each modeler.

This tree can be navigated with the standard Knowledge functions available on the Feature Type:

  • the attribute Children provides access to the list of child object in the tree
  • the attribute Owner enables to retrieve the father in the tree
  • Some functions such as Query enables a deep introspection in the tree.

However, in the infrastructure business logic, the Object is often replaced by a PLM Proxy, which corresponds to a partial copy of the Object. To sum up, the Children attribute returns the following:

  • the Children of a PLM Core Reference are instances (instances and rep-instances)
  • the Children of PLM Core instances are their associated PLM Core Reference
  • the Children of PLM Core RepInstances are their associated PLM Core Representation.

The navigation to the father is also possible with the Owner and the InstantiatedBy attributes:

  • The Owner of a PLM Core instances, PLM Core RepInstances, PLM Core Port or PLM Core Connection is a list of PLM Core Reference aggregating the object.
  • The InstantiatedBy of a PLM Core Reference or PLMCore RepReference is a list of PLM Core Instance and/or PLM Core RepInstance aggregating the object.
    Note: This attribute is available on the server only.

Navigation

Children Example


  • The Children of Root are inst1 and inst2
  • The Children of Inst1 is Ref1 only
  • The Children of Rep-Inst2 is Rep2

let childrenList (List)
ListChildren = ThisObject.Children

In the business rules executed on the server side, the Children attribute is available with the same logic. However, it is not possible to use the Query function in a recursive manner. The reason is that we do not want to generate memory consumption or computation time issue on the server.

Example


  • The InstantiatedBy of Ref1 is inst1
  • The InstantiatedBy of Ref2 is Rep-Inst2
  • The Owner of Inst1 and Rep-Inst is Root

/* Example to navigate through Ref1 (ThisObject) to the Root */
Let ref1FatherList (List)
Let currentInstance (PLMCoreInstance)
Let inst1FatherList (List)
Let root (PLMCoreReference)

ref1FatherList = ThisObject.InstantiatedBy
currentInstance = ref1FatherList.GetItem(1)
set inst1FatherList = currentInstance.Owner
root = inst1FatherList.GetItem(1)

Basic Attributes Name Mapping Suppression

When ENOVIA V6 VPM database persistency has been replaced with Matrix One, a particular mapping of the data schema was introduced.

  • When VPM modelers are describe their schema, they use the metadata language that hides the mapping.
  • The rich client software components also use a DML (data manipulation language) called PLMQL that hides the mapping performed to create, update, navigate the data: they use the PLMQL language.

To increase performance, this mapping is now suppressed.

The table below shows the attributes mapping.

Basics NameBasics TypeBasics Mapped NamesBasics Mapped Types
PLMEntity ownerStringV_userString
organizationStringV_organizationString
projectStringV_projectString
originatedDateC_createdDate
modifiedDateC_modifiedDate
lockedBooleanLOCKSTATUS=Y or NString
lockedStringLOCKUSERString

V_NatureEnum

Inheritance Path

ObjectType
 Literal
  Enumere
   V_NatureEnum

Enumerated Values

ValueNLS ValueComment
SpecificationSpecification-
DefinitionDefinition-
PresentationPresentation-