AreTreatedInSameTransaction
Returns TRUE if the two given entities (parameters “instance” and
“owner”) are treated in the same transaction. FALSE otherwise.
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
Instance |
Input |
Yes |
Feature |
|
Owner I |
Input |
Yes |
Feature |
|
Profile Card
# Function AreTreatedInSameTransaction
Function.Signature = AreTreatedInSameTransaction@Feature@Feature
Function.Visibility = Forbidden
Function.Arg1 = ConstantRead
Function.Arg2 = ConstantRead
ChangeControlledStatus
On any reference or representation reference object, the
ChangeControlledStatus knowledge function is available
for the user to retrieve from a knowledge rule whether the object is Change
Controlled or not: Boolean ChangeControlledStatus(Object
Reference).
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
idset |
In |
Yes |
Feature |
|
Note:
An error message appears, if the object is not a PLMReference or
PLMRepresentationReference.
Example
let iControlledStatus(Boolean)
iControlledStatus = ChangeControlledStatus(ThisObject)
Validation = true
if (iControlledStatus == false)
{ Validation = false
}
Profile Card
There is no profile card published for this function. The visibility defaults to
forbidden.
ChangeMaturity
Lets you change the maturity of a reference list or of a
reference
Signature
ChangeMaturity(function: #In String, objects: #In ObjectType [, strSignature: #In String]) : VoidType
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
function |
Input |
Yes |
String |
Must be promote or
demote . |
ObjectType |
Input |
Yes |
List |
Reference list or reference on which the
change maturity is done. |
strSignature |
Input |
Optional |
String |
The signature of the change maturity that
corresponds to the transition (Share ,
KeepPrivate , ...) |
Usage
ChangeMaturity ("promote", MyReference, "Share")
ChangeMaturity ("demote", MyReference)
Example 1
let ListToChangeMaturity (List)
ListToChangeMaturity.Append( ThisObject )
ChangeMaturity("promote", ThisObject, "Share")
ChangeMaturity("demote", ThisObject )
ChangeMaturity("promote", ListToChangeMaturity, "Share")
Profile Card
# Function ChangeMaturity
Function.Signature = ChangeMaturity@String@ObjectType@String
Function.Visibility = Forbidden
Function.Arg1 = LocalCPU
Function.Arg2 = Modify
Function.Arg3 = LocalCPU
GetAttachedDocuments
Lets you retrieve aggregated documents from a reference. It returns a
new list containing the identifiers of all the documents aggregated under the input
reference.
.
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
idset |
In |
Yes |
Feature |
The reference from which the documents are
retrieved |
Example 1
Parameters.NLSMessage = BuildKweMessageNLS(Catalog, Key, Arg1, Arg2, …)
Example 2
This example shows how to use a EKL script using
GetAttachedDocuments() for
thePLMCheckMaturity opening. The validation fails if
at least one attached document has no
description. Let ListDocs (List)
Let ListDocsSize (Integer)
Let doc (PLMCoreRepReference)
Set ListDocs = GetAttachedDocuments(ThisObject )
ListDocsSize = ListDocs.Size()
Trace (1, "nb docs : " + ListDocsSize)
Validation = true
i = 1
for i while i <= ListDocsSize
{
doc = ListDocs.GetItem(i)
Trace (1, "docs description: " + doc.V_description)
If ( doc.V_description == '' )
Validation = false
}
Profile Card
# Function GetAttachedDocuments
Function.Signature = GetAttachedDocuments@Feature
Function.Visibility = Forbidden
Function.Arg1 = NonConstantRead
GetResourceEntries
Functions that can be called in any server-side EKL opening: "Pre
Check", "Action" or "Post Check" openings, and in any kind of operation already
containing EKL openings (Save, Maturity, etc.), in the same way as any other EKL
function.
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
type |
In |
Yes |
String |
The Vtype of the entities to search for. It must be provided
in its EKL string format without dictionary package and
without slash separator. Example:
"PLMPosPickListRef" .
|
condition |
In |
Yes |
String |
An EKL string expression describing the
attributes criteria the entities must match. Example:
"x.PLM_ExternalID==\"myResource*\"
Note:
The
function does not support all combinations of the AND/OR
logical operators.
|
Example
Let WhereClause(String)
Let EntityList (List)
Let CurrentEntity (PLMPosPickListRef)
Let i (Integer)
Let ListSize (Integer)
WhereClause = "x.PLM_ExternalID==\"TestResource*\" AND ( x.V_row_name==\"Row1\" OR x.V_row_name==\"Row2\" )"
Set EntityList = GetResourceEntries("PLMPosPickListRef", WhereClause)
if (EntityList <> NULL AND EntityList.Size() == 2)
{
for i while i <= ListSize
{
CurrentEntity = EntityList.GetItem(i)
if (CurrentEntity.V_row_data ...
}
Validation = true
}
else
{
Validation = false
}
Profile Card
# Function GetResourceEntries
Function.Signature = GetResourceEntries@String@String
Function.Visibility = Forbidden
Function.Arg1 = LocalCPU
Function.Arg2 = LocalCPU
GetSROwnersFromPointedElement
Returns a list of all the PLM Entities that contain at least one
semantic relation pointing to a given PLM Entity (parameter “pointedObject”) as
target or in their path.
Only
the semantic relations whose Role is contained in the input list of strings
semanticRelRoles are processed, the others are
ignored. Finally, only the PLM Entities who belong to the Designer Workspace
identified by the parameter workspaceid are returned. Note that the
empty string "" identifies the Designer Workspace Reference).
Signature
GetSROwnersFromPointedElement(pointedObject : Feature, semanticRelRoles : List,
workspaceid : String) : Boolean
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
pointedObject |
Input |
Yes |
Feature |
|
semanticRelRoles |
Input |
Yes |
List |
|
workspaceid |
Input |
Yes |
String |
|
Profile Card
# Function GetSROwnersFromPointedElement
Function.Signature = GetSROwnersFromPointedElement@Feature@List@String
Function.Visibility = Forbidden
Function.Arg1 = NonConstantRead
Function.Arg2 = LocalCPU
Function.Arg3 = LocalCPU
ListImplementingChanges
On any object, the ListImplementingChanges
Knowledge function will be available for the user to know by which ECA the objects
has been impacted (if any): ListImplementingChanges(Object
).
Signature
ListImplementingChanges(idset : Feature) : List
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
idset |
In |
Yes |
Feature |
|
Example
let nbECAs(Integer)
let ListOfImplementingEca(List)
ListOfImplementingEca = ListImplementingChanges(ThisObject)
Validation = true
nbECAs = ListOfImplementingEca.Size()
if (nbECAs == 0)
{ Validation = false
}
Profile Card
There is no profile card published for this function. The visibility defaults to
forbidden.
RetrieveMaterials
Function used to get the list of materials associated with a reference
passed in input.
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
idset |
In |
Yes |
Feature |
|
Example
let listMat(List)
let filteredtMat(List)
Validation = true
listMat = RetrieveMaterials(ThisObject)
filteredtMat = listMat.Filter("CATMatReference", "(x.IsSupporting(\"CATMatReferenceDS\") == true )
and (x.V_Density == 100 )")
if (filteredtMat.Size() > 0)
Validation = false
Profile Card
# Function RetrieveMaterials
Function.Signature = RetrieveMaterials@Feature
Function.Visibility = Forbidden
Function.Arg1 = NonConstantRead
SetChangeControlledStatus
On any reference or representation reference object, the
SetChangeControlledStatus knowledge function is available
so that you can valuate the Change Controlled status when executing the rule:
SetChangeControlledStatus(Object Reference, Boolean
ChangeControlledStatus).
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
idset |
In |
Yes |
Feature |
|
idset |
In |
Yes |
Boolean |
|
Example
let DescriptionValue(String)
DescriptionValue=ThisObject.V_description
if (DescriptionValue=="PhaseB")
{
SetChangeControlledStatus(ThisObject,true)
}
Profile Card
There is no profile card published for this function. The visibility defaults to
forbidden.
ValidateSRs
In a completion scenario, navigation is performed through basic PLMQL calls.
The navigation returns paths that become filters according to semantic relations’
roles or pointed objects’ types. This function is used to allow the user to filter
inputs by performing an efficient navigation, including filter
parameters.
Signature
ValidateSRs(iObjectToCheckPLMIDs, iRoles, iScopePLMIDs, iExcludedTypes)
Arguments
Name |
Input / Output |
Required? |
Type |
Comment |
iInputObjects |
Input |
Yes |
PLMIDSet |
List of the input objects’ PLMID. These
objects can be ports, connections or representations. |
iRolesList |
Input |
Yes |
List of strings |
List of the semantic relations’ roles to be
checked. |
iScopesObjects |
Input |
Yes |
PLMIDSet |
List of the authorized object’s PLMID to be
pointed by the semantic relations. |
iExcludedTypes |
Input |
Optional |
List of strings |
List of the excluded types. Those types are
considered as exception, they do not invalidate the
path. |
ReturnType
List of strings
Example
Let validatedConnections (PLMIDSet)
set validatedConnections = ValidateSRs( inputConnections, RolesList, scopesObjects, excludedTypes)

In the above example:
iInputConnections is the list of PLMIDs containing
CNX1, CNX2, CNX3 and CNX4.
iRolesList is the list of the semantic relation’s roles
to be checked. In the previous schema, roles are represented by colors.
R and B roles are in the RolesList.
iScopesObjects is the list of the PLMIDs of the
authorized objects. In this example, the list contains R1, i12, R2, i13,
R3, i14 and R4. .
iExcludedTypes is the list of the excluded types, here,
TypeB.
Profile Card
# Function ValidateSRs
Function.Signature = ValidateSRs@PLMIDSet@String@PLMIDSet@String
Function.Visibility = Hidden
Function.Arg1 = NonConstantRead
Function.Arg2 = LocalCPU
Function.Arg3 = NonConstantRead
Function.Arg4 = LocalCPU
|