100% found this document useful (1 vote)
2K views117 pages

3DEXPERIENCE Enterprise Knowledge Language - Knowledge Standardization - v1.0

Uploaded by

fibrilado
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
2K views117 pages

3DEXPERIENCE Enterprise Knowledge Language - Knowledge Standardization - v1.0

Uploaded by

fibrilado
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 117

© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.

: 3DS_Document_2021

2022 ENOVIA Virtual Workshop for Partners


SPEAKERS
© Dassault Systèmes | Confidential Information | 2/18/2022 | ref.: 3DS_Document_2022

Rabih ZBIB (RZB)


WW Value Engagement Expert Solution & Software Architect
[email protected]

2
EKL Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

EKL Structure
EKL Editor and Language Browser
EKL Core Hierarchy and Types
EKL Generalities
EKL Core Syntax
EKL Actions
Know-How Library Functions

3
Knowledge Language Business Rules Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Customization by Business Rules


Business Logics Openness
Implementing BL with Data Setup
Implementing BL with Web Editor (TXO)
Business Logic CATRuleExit and CATRule Files
Business Logic Trace
Working with CATNls Files

4
• Enterprise Knowledge Language (EKL) is a programming language available in 3DEXPERIENCE platform, and is
oriented to provide a quick development environment, which includes knowledge packages, Types, Methods and Functions
to enable easy Customization, to automate task execution on Client or Server
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Enterprise Knowledge Language (EKL) is the language used to define Programs and Procedures specific for various kinds
of Knowledge artifacts available in different 3DX Apps, Product Lifecycle Management.
• Enterprise Knowledge Language (EKL) is an Interpreted object oriented language based on DS C++ automation
programming language. Scripting languages are often interpreted (rather than compiled).
• Automation:
- Enables the creation and manipulation of existing Classes but does not enable the declaration of new Classes.
- There is an extension called KML (Knowledge Modeling Language) that adds some object modeling capability.
- KML is part of the Design Apps Developer Role (KAC) Know-How Apps Authoring Suite, which is a series of Apps that allow the definition and
management of custom Applications (also known as Know-How Apps) developed within the 3DEXPERIENCE platform.
- The definition of such Apps is stored in the database and can be easily deployed on final user seats (Is not a part of this training but can be
suggested in coming future).

5
• Enterprise Knowledge Language (EKL) is used by a series of Toolkits and Products on top of 3DEXPERIENCE platform
Architecture, like:
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Business Rules
- Validation Rules
- Generative Rules
- Associative Rules
- User Interface Logic Rules
• Customers will use EKL through our portfolio to implement and execute Rules in a Knowledge Automation or a Quality
assurance perspective.
• Administrators will use EKL (at customer site) to describe Business Rules that will adapt our Products and foundations to
their Business processes.
• DS Developers will also use EKL to describe and deliver Business Rules for default implementation to their modelers

6
• Enterprise Knowledge Language (EKL) is used by customers in the following:
- The Knowledge Advisor product is used to define associative Rules that drive parameter propagation and template morphing
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

▪ Rule, Check, Reaction, Action, Set of equations

- The Product Engineering Optimizer product is used to describe engineering problems to be solved
▪ Constraint satisfaction (set of equations and in equations)
▪ Optimization constraints

- The Product Knowledge Template product is used to describe generative Rules


▪ Knowledge patterns that instantiate massive Templates

- The Product design to describe validation Rules and apply them on a design to check its quality and its corporate standard compliancy
▪ Expert Rules and Expert Checks

- The Engineering Process Automation product is used to describe generative Rules included in an engineering process
▪ Knowledge Language behavior

- In Knowledge Based Dialogs product to model user interface logic


▪ Rules, Reactions, Actions

7
• For more information about Enterprise Knowledge Language in general, please refer to User Assistance at the following this
Link Enterprise Knowledge Language
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

8
EKL Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

EKL Structure
EKL Editor and Language Browser
EKL Core Hierarchy and Types
EKL Generalities
EKL Core Syntax
EKL Actions
Know-How Library Functions

9
• The Enterprise Knowledge Language (EKL) is the language used to define the various kinds of Knowledge artifacts
available in the different Products of the Knowledgeware solution.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• As shown in the graphic at the right, the Engineering Knowledge Language is defined in 4 different flavors, from the very
simple Mathematical language (M-EKL) to the most complete advanced language (A-EKL).

1. Mathematical Engineering Language (M-EKL)

2. Core Engineering Language (C-EKL)

3. Advanced Engineering Language (A-EKL)

4. Extensible Engineering Language (X-EKL)

10
EKL Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

EKL Structure
EKL Editor and Language Browser
EKL Core Hierarchy and Types
EKL Generalities
EKL Core Syntax
EKL Actions
Know-How Library Functions

11
• 3DEXPERIENCE platform Objects are manipulated using a federated object model composed of the following
- Types: A hierarchy of Types (one Type inherits only from one Type) Type (and its hierarchy)
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Attributes
• Each Type has a list of Attributes
- Simple (Boolean, String, Real, Integer, etc..)
- Reference to other Objects
- List (of values or Reference Objects)
- Components (aggregated Objects or list of aggregated Objects)
• Methods and Functions
- Defined on Types (and inherited), Functions working on Objects
• Argument
- Functions and Methods have a list of arguments
- Overloading is supported, but polymorphism is not supported
- Optional arguments are supported (with no default value, as default value
Is defined in the implementation of the Functions)
- Variable arguments
12
The Action Editor can be divided into 3 sections:
1. In the Argument list section all the required arguments and its Types have to
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

defined. These Arguments will be used in the EKL Action.


2. EKL Action Code is entered in the text field. The core syntax is already explained
in the previous section.
3. Dictionary shows the area where user needs to check the different Methods and
arguments available for Features and their Functions.

13
• Language Browser is the main language tool when scripting EKL code. Users can keep the Language Browser open while
scripting.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

1. Type: Present’s the object’s PLM Type that a developer is working on.

2. Package Display: When a user wants to check other PLM Types, click
“…” button. A “Select a Type” panel will allow user to choose any PLM
Type.

3. Supported/Inherited Types List: Shows the object’s PLM Type and its
“Family Tree” which shows the inheritance structure.

4. Attributes: All Attributes of the selected PLM Type and all the members in
the “Family Tree” will be listed.

5. Functions Using Type:, All the Functions that belong to object’s PLM
Type will be listed.

6. Search: Allows users to search Functions that contain the Keyword will be
listed in zoom “Functions Using Type”.

14
EKL Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

EKL Structure
EKL Editor and Language Browser
EKL Core Hierarchy and Types
EKL Generalities
EKL Core Syntax
EKL Actions
Know-How Library Functions

15
Feature
Type
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Feature Abstract (used only to classify) String Concrete Type (one implementation at least exists) … Enriched by Applications
16
EKL Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

EKL Structure
EKL Editor and Language Browser
EKL Core Hierarchy and Types
EKL Generalities
EKL Core Syntax
EKL Actions
Know-How Library Functions

17
• With many usage cases of EKL, Rules are created in the context of a particular Model.
• This Model usually contains Parameters (values that can be read or written), variables that Reference isolated geometries
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

or Objects (that can be used as input)

• In EKL Editor, variables and Objects can be directly selected to be used inside Rules: they are identified by an identifier.
They can be passed as arguments of Functions, Methods, Operators.

18
EKL Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

EKL Structure
EKL Editor and Language Browser
EKL Core Hierarchy and Types
EKL Generalities
EKL Core Syntax
EKL Actions
Know-How Library Functions

19
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

20
• In order to develop skills on EKL, we have to start with the language’s syntax
• Enterprise Knowledge Language (EKL) is the language used to define programs and procedures specific to Apps.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• This language includes Knowledge packages, Types, Methods and Functions.

• Enterprise Knowledge Language Reference guide:


- Comments
- Variables
- Operators
- Control Flow Statements
- Types, Functions and Methods

21
• Comments can be added to the scripts, to describe Function, Variable definition, etc.
- Single-Line Comment:
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

▪ single-Line Comments can be inserted into scripts using the "/" syntax:
- Multi-Line Comment:
▪ The /* and */ Comment characters are supported

22
• Variable is a storage location associated with an identifier that contains a value.
• EKL allows two types of variables: Literals and Objects.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Variables can be declared using the Let keyword. Let keyword does not set the value of variable.
• Syntax: Let Name_of_the_Variable(Type)

- Where “Let ” is the Keyword and the statement of the variable definition.
- ”Name_of_the_Variable” is the variable name and “(Type)” is the object’s internal Type in EKL (String, Integer, etc.).
- You can declare more than one variable in a single line
• Ideally, Variables should be declared at the beginning of the script.
• Variables have a scope. This means that a variable declared within a block can only be used within this block

23
• Temporary variables can be declared at the beginning of the script using the let keyword. A temporary variable does not
persist as a parameter after the rule execution is finished.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Let enables you to initialize values with constants and not with formulas
• The Set keyword lets you set a variable of a given type and directly enter the attribute to read and/or write its
characteristics.
- Set Keyword performs the assignment without checking the Type.

• When setting a variable, the value type must be a subtype of the variable creation type.

• The set keyword is also a conversion operator. It lets you switch between types and checks if the variable supports the
destination type. If not, NULL is returned.

24
• Operators are special symbols that perform specific operations on one, two, or three operands, and then return a result.
• Operators allow to manipulate and compare variables and other inputs, used throughout the code.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Operators Operators Type


+ ,- ,*, / ,( ), =. ** Arithmetic Operators
And, Or Logical Operators
<>, ==, >= , <=,<,> Comparison Operators
: Equivalent to the set keyword.
?,; Ternary Operator
like String comparison using * to match simple patterns

25
• A Constant is an identifier for a simple value, whose value cannot be changed.
• The following constants are specified or recognized by the App when programming Rules and Checks, and as a result, they
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

can be used anywhere in a relation in place of the actual values.


- PI, E  mathematical numerical constants
- True / False  Boolean
- NULL  to test if a variable is set or unset

Ternary expression EKL statement

26
• Control flow statements can be used when working with the Enterprise Knowledge Language.
• Control flow statements are used to determine the order of Function calls and execution of statements, when a script is
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

running.
- The if ... else ... else if …Statement
- This statement tells the program to execute a block, only if a given section of code evaluates to true
Ternary expression EKL statement

27
• Loop is a sequence of instructions. It is used to repeat a block of code.
- The for statement executes a loop based on the elements of a list, where For…While Loop executes a loop based on the value of a Counter
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- The for statement to execute For…While Loop on each object in a list is a shown below:

28
• Feature is an Abstract Type which provides a list of Attributes that are available on each object.
• Feature Type is the basic Type for all Objects in 3DEXPERIENCE platform (all Objects inherit from this particular Type) .
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Feature Type enables you to manipulate, in a generic way, the 3DEXPERIENCE platform object mode by:
- Naming and Commenting
- Typing and Attributes
- Navigation in the Tree
- Reading and writing Attributes
- Creating and deleting Objects

29
• Attributes representing the information contained in a given instance of a Type “i.e. VPMReference, VPMInstance”.
Example: Name, Description, etc.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• The syntax to access an Attributes of a give Type can be:

30
• A Function is a block of code that accomplishes a specific task and returns a value.
- A Function takes an input, processes it, and returns a result.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- EKL provides a Library of Functions that can be accessed using the language browser.
- To write a specific Functions, we can use Know-How Capture to work with reusable Functions.
• A Method is a block of code associated with a Type, and has access to its Attributes.
• Functions and Methods allow to perform operations on inputs, and returns data after the operation has been completed.

- Function call:

- Method call:

31
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

32
• Example of Functions and Methods within EKL
EKL Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

EKL Structure
EKL Editor and Language Browser
EKL Core Hierarchy and Types
EKL Generalities
EKL Core Syntax, Functions and Methods
EKL Actions
Know-How Library Functions

33
• Actions can be applied and executed on Business Object.
• You can create an Action that lets you perform interactively what the Enterprise Knowledge Language (EKL) enables you to
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

do.
• An Action is created keeping in mind that the user would like to perform on-demand tasks, unlike the Business Rules where
tasks are performed based on events (Save, Duplicate, and so on.)
• For example, you can perform search and query operations.

34
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

35
• The Template Designer Role (KDI) is required for creating an Action.
• Where to create Action
- From New Content create object of Type Physical Product.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- From the Compass select Engineering Rules Capture App.


- From Engineering Rules Capture action bar select Actions.
1
- In the popup panel, the Title is to be provided

36
- After creating a Knowledge Engineering Specification Physical 5
object Action Editor Dialog appears.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Provide the arguments as shown. Use EKL Message and Notify


function to display the name of Product.
- Validate script and click on Ok. 6

37
- Once the script is validated, the Action is displayed in the Tree.
- Right Click on the Action  select Action.1 Object  Run
- In the popup, click on Insert Object. Select the Physical Product object from the Tree. 9
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- After clicking on Ok, message will be displayed.

11

10

38
2
• Using Engineering Rules Capture, VBScripts can be
added to the representations and can be called from
KW Action.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

1
1. Click on VB Action command to create a new VB
Action
2. VB Action is created in the same Representation
as the KW Action
3. Write the necessary VB Code in the VB Action.
4. Reference the VB Action in the KW Action 3
5. Execute the KW Action, VB Action is called from
within the KW Action Let oVBAction(VBScript) 5
Let strValue(String) 4
oVBAction= `Knowledge Engineering Specification Physical00049913
A.1\Relations\VB Scripts.1\VB Script.1`

oVBAction.Run("Hello", "World")

39
In this use case, we will create an EKL Action to
- Invoke the selection panel and select any Occurrence from the Product Structure.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- From the Occurrence retrieve the Reference, get the Attribute information like Name, Revision, PLMExternal_ID and display it using a
Notification Message
- Retrieve the number of Child Occurrence from the selected Occurrence and notify the First Level Children Count.
- From the Children List of each Occurrence get the Reference
- From the Reference retrieve the Attributes information like Name, Revision and PLMExternal_ID
- Store the Attribute Information in a List
- Under each Occurrence, check if there is any direct child available.
- Notify the List of total children under the Occurrence under level 1 and 2.
- If Attribute Information list is > 0 then notify the complete list.

40
1. Role: Leader
2. Click on Compass and select Template Designer Role.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

3. Launch Engineering Rules Capture App

41
5. New content creation window will appear. Select Physical Product
6. Physical Product object should get created.
Rename its Title as Exercise_5_PhysicalProduct
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

7. Add one Physical Product instance under the above created object by
using below navigation
Right Click  Insert  Product
From new content creation window, select Physical Product.
Repeat the same steps to create a Physical Product with Level 1, Level
2 and Level3 structures as shown

42
9. Save the structure.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

10.From Action Bar, select Action under Engineering Rules Capture section

11.In Knowledge Engineering Specification Physical window retain the default values and click OK

43
12. Key-In below EKL code in code editor section of Action Editor
/* Action - Create an Action to Notify List of Children */
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Let SelectRef ,LevelRef(VPMReference)


Let productOcc(ProductOccurrence)
Let productOccLevel(ProductOccurrence)
Let j, i, k(Integer)
Let Children(List)
Let ChildrenLevel(List)
Let ChildrenLevelandTwo(List)
Let ListOfResultAttribute(List)
Let strInfopartname, strInfopartID, strInfopartVersion, stInfoChild(String)
Set SelectRef = SelectOccurrence.Reference
strInfopartname = SelectRef.Name
strInfopartID = SelectRef.PLM_ExternalID
strInfopartVersion = SelectRef.revision

Notify("My Selected Object Information is : ", strInfopartname , " || ",strInfopartID , " || " , strInfopartVersion)
Children=SelectOccurrence.Children
Notify("No of first level Children object is : ",Children.Size())

44
if ListOfResultAttribute.Size() > 0
{
Set j = 1
for j while j<=ListOfResultAttribute.Size()
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

{
Notify ("Children information attributes : ", ListOfResultAttribute[j])
}
}

13.In Action Editor, for Argument list key-in SelectOccurrence in Name and select ProductOccurrence in Type

14.To verify the code, click on Syntax Errors option

45
15. Click on OK to update and Save the Product Structure.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

16. Click on the Action and Run it

46
17.In Insert Object dialog box, select any
Physical Product in tree and click on OK
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

1
18.The information for queried Product
object from the structure will be displayed
in form of notification

47
• In this use case we have created an EKL Action for retrieving and displaying:
- Information about selected object
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Count of first level child objects


- Count of child objects on level 1 and 2
- Information about all child objects

48
• Note that, Enable the EKL Script for Use as Toolbar Button
• For any specific needs might an action be configured to be called directly from your workbench.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

49
EKL Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

EKL Structure
EKL Editor and Language Browser
EKL Core Hierarchy and Types
EKL Generalities
EKL Core Syntax, Functions and Methods
EKL Actions
Know-How Library Functions

50
• Know-How Library allows the creation of reusable functions that will be available in EKL script editors.
• With Know-How Library, we can do the following:
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Add a predefined Know-How Library to the component’s Resource Table.


- Utilize its Functions to accelerate EKL implementation and development.
- Reuse EKL code to avoid code duplication, while enhancing code readability and maintainability.
• Reusable EKL functions are defined in the Know-how Capture app and these functions are defined as Know-How Library
objects.
- Once defined and properly exposed through a local resource table or a Data Setup resource set, the libraries can be included in any EKL
script and their functions can be called like any other EKL function.
• In order to create a Know-how Library, user needs to have the KHC license assigned

51
• Steps to create Know-how Library functions are as follows:
- Create New Content, of type Know-how Library
1
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- From Know-how Libraries tab, select Create Know-how Library option

- Fill up all required details in form, and click on Ok


3

52
- Select a Know-how Library and click on Create Know-how Function command.
4
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Provide Function Name


5

- Double-click on created Function


6

53
- Define the EKL script and click Ok to save it.
7
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Add the Library as a Resource. Use Data Setup app


to create a Resource Table under Resource Set ID
named Includable EKL Libraries. Set the created
Know-how Library as a Resource

54
- Bind the Resource to required Collaborative Space and Deploy the same to server.

9
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• The Know-how Library as created above may then be used in any Business Rule or Actions.
- Create a “Physical Product” objects and add Action as shown below.
1

55
• Double click on the Action. Using include keyword, we import the Resource.
• Click on OK.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Right click on the Action, Select the action object and run.

56
Knowledge Language Business Rules Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Customization by Business Rules


Business Logics Openness
Implementing BL with Data Setup
Implementing BL with Web Editor (TXO)
Business Logic CATRuleExit and CATRule Files
Business Logic Trace

57
• 3DEXPERIENCE platform Business Rules are a means to implement custom business logic, to align the PLM application
with the customer’s business needs.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Business Rules are written in EKL (Enterprise Knowledge Language).


• EKL is also used in other Knowledge based artifacts, such as Knowledge Advisor Rules, Knowledge patterns, Expert Rules,
etc.
• Depending on the nature of the artifacts, a sub-part of the Functions and Methods are delivered in Knowledge Libraries
which are really meaningful.
- This is the same for Business Rules in general, particularly for the Business Rules that are invoked on the Server.
• 3DEXPERIENCE platform Knowledge Standardization allows Domain Experts to define how conceptual Part Features are
defined, guarantees that the established Rules are followed thus avoiding mistakes and rework.
• 3DEXPERIENCE platform Knowledge Standardization allows Domain Experts to tailor Applications to meet the
Organization’s business requirements.

58
• Most Business Rules are invoked on the Rich Client.
- Applicative Business Rules.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Infrastructure Business Logics Rules.

• Theoretically, any Function or method available in X-EKL (Extended EKL) can be used in these Business Rules.
• In reality, a Business Rule is invoked in a particular context (for a given PLM opening)
- For example: “The Initialization Business Rule” is invoked on a PLM object just after its creation to provide Attributes initializations.
• The Business Rule acts mainly on the object on which an operation is invoked. This objects is called the fact, identified in
the Business Rules by the variable ThisObject.
• As a consequence, the minimum information that we can access in a Business Rule are the Attributes of the object.
• Each PLM opening usually provides some additional Parameters that correspond to information specific to the context.
• Some Business Rules are invoked on the 3DSpace Server (VPLM Component).
• They are also defined using Enterprise Knowledge Language (EKL) but they can access only a limited list of Functions.

59
• For more information about Knowledge Language Business Rules in general, please refer to User Assistance at the
following this Link Enterprise Knowledge Language Business Rules
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

60
Knowledge Language Business Rules Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Customization by Business Rules


Business Logics Openness
Implementing BL with Data Setup
Implementing BL with Web Editor (TXO)
Business Logic CATRuleExit and CATRule Files
Business Logic Trace

61
• The 3DEXPERIENCE platform VPLM is based on an architecture merging a Core Model with Native authoring apps,
covering the design, engineering, simulation and manufacturing domains.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- This architecture needs to be customizable on site by Administrators to better match the critical behaviors of the 3DEXPERIENCE platform
with the specific requirements of the customer’s business processes.

• To be effective, a newly created Business Rule must be linked to both the Opening ID, the Fact Type and also to a distinct
Collaborative Space.
- VPLM System Openness consists of a full set of building blocks that make up VPLM.
- It includes and delivers a set of pre-defined Openings to integrate its specific processes.
- The implementation of an Opening is performed through Rules. A Rule is the description of the behavior alteration using the Enterprise
Knowledge Language (EKL).

62
• Customization Intent – The system triggers the Business Rule with a Customization Intent. There are three Types of
intents : Validation , Computation, Execution
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Validation: Used to validate the state of an object, or an action on an object. For the sake of maintaining consistency, every possible Rule for
the couple <Object Type, Opening> is executed in an undetermined order. For the validation to be correct, every Rule must be correct.

63
• Customization Intent – The system triggers the Business Rule with a Customization Intent. There are three Types of
intents:
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Computation: Used to compute a result from the state of an object. Only the best possible Rule for the couple <object Type, opening> is
- INFRADeploymentExtensionComputation

64
• Customization Intent – The system triggers the Business Rule with a Customization Intent. There are three Types of
intents : Validation , Computation, Execution
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Execution : The object can be modified by the Rule. Only the best possible Rule for the couple <object Type, opening> is executed.

65
• 3DEXPERIENCE platform Business Rule works on a set of typed variables. This set includes the following:
- ThisObject: ThisObject is a variable that represents the object on which the Rule is acting.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

▪ The Type of ThisObject variable is determined when creating the Business Rule.
▪ In Execution mode, Attributes may be modified by the Rule.
▪ In Validation or Computation mode, Attributes can only be read by the Rule.
- Parameters: This is a standard object that provides contextual information about the opening.
▪ This is the context object.
▪ In the Rule, it is called Parameters because its Role is to provide access to Parameters.
▪ This variable is of Type Rule Context. This Type inherits the basic Feature Type and holds six Attributes: UserID, Role, Project, Organization, Severity
and Message.
- Validation (optional): When the Rule is used by the opening as a validation, an additional variable Validation of Boolean Type will be available
within the Rule.
▪ The Rule writes its value to express the validation result.
▪ The Message attribute of Parameters may be set inside the Rule. If it is set, then the standard failure message will be replaced by the one set inside the
Rule.
• Business Logic Implementations sometimes need to rely on a non persistent object called VPLM Proxy that mimics a VPLM
component and that will be used in Business Rules.
- This is the case for VPLM New related Business logics or VPLM Import Business logic. In this context, Knowledge accessors valid for VPLM
Component are not available on PLM Proxy.

66
• Example 1: The Rule below enables you to customize the alias of a VPLM Component and then customize the name of
Component
ThisObject.PLM_ExternalID = Parameters.UserID /*Possible direct Attribute notation*/ + "_" + Parameters.GetAttributeString("IdString")
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

/*Dynamic Attribute notation mandatory*/


• Example 2: The Rule below Checks the maturity modification
Validation = (ToUpper (Parameters.UserID)==ToUpper(ThisObject.owner))
if (Validation==false) {
Parameters.Message="Impossible to change the maturity state of an object that does not belong to you"
Parameters.Severity=1
}
In the above script:
- The Validation Boolean is valuated to determine whether the change maturity operation is allowed.
- The message is valuated to explain the origin of the problem. If you want to provide NLS messages, use the BuildMessageNLS function.

67
Knowledge Language Business Rules Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Customization by Business Rules


Business Logic Openness
Implementing BL with Data Setup
Implementing BL with Web Editor (TXO)
Business Logic CATRuleExit and CATRule Files
Business Logic Trace

68
• Business Logic Openness refers to a set of Opening IDs which are available for implementation.
- It enables the Administrator to integrate enterprise policy by associating Business Rule scripting to the customized VPLM Components.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Openings for Business Rules are logically grouped together, based on their functionalities, into Resource Sets, as can be
seen in below screenshot from the Data Setup app.

69
• A Resource Table needs to be assigned to each Resource Set, in order to gain access to the Openings that are associated
with the Resource Set.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

70
• Several workflows invoke available Business Logic Openness (for example Data Import, UI Commands, etc.).
• Please refer to dedicated Product Documentation to precisely know the list of referenced Opening IDs.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Refer to User Assistance to obtain a list of available Resource Set IDs. You may follow the below navigation:

Installation and Setup > Customize > 3DEXPERIENCE Platform > Behavior > Data Setup > List of Resource Set IDs

71
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

72
• Some Opening IDs are applicable only for On-Premise environment.
• Some Opening IDs are common for On-Premise and On-Cloud environment.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Openings that do not appear in the previous tables are available and identical for both on the cloud and on premises

• For more information refer User Assistance Link

73
Knowledge Language Business Rules Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Customization by Business Rules


Business Logics Openness
Implementing BL with Data Setup
Implementing BL with Web Editor (TXO)
Business Logic CATRuleExit and CATRule Files
Business Logic Trace

74
• Apps rely on standard resources that modify their behaviors and that must be identified and localized when the app is
running and exploiting them.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Apps describe the list of resources that can be customized.


- Data Setup is used to associate your resources with apps thus adapting the behavior of the app to your specific needs or context of use.
• Data Setup app allows us to associate customized Business Rules to an Opening. The Business Rule will be triggered
during the execution of an app to make decisions or perform an operation.
• Some Business Rules are triggered in particular apps (for example, in the context of the Electrical Physical System Design
app to validate the connection of a device), whereas some are triggered at lower level in the architecture, enabling deep
customization of the data management behaviors.

Business Rules can also be implemented using the Quality Rules Capture app

75
• What?
- Business Rule will be implemented to initialize the identifier for newly created Objects.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- As per customized naming rule, all newly created Object’s identifier will start with the default prefix «DS_Training_»
- The value for Title field will be set as per a custom counter.

Title = Counter
Name = will be identified by prefix + counter
76
• Where?
- In a Resource Table corresponding to the set of resources necessary for customizing naming rules as per customer’s needs.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- In this case, Administrator needs to specify Business Rule against Resource Logical Name Attributes initialization (Opening ID:
PLMIdentificationInitialization), which allows us to define a Business Logic to pre-valuate the Attributes of an object at creation action.

77
• How?
- We shall today use Data Setup app for implementing this customization, even if we have different way to do.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

78
• :Steps study Create a new Resource Table against Resource Set named PLM Business Logic Implementation
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Creation of Resource Table

79
• Steps (study): Create and associate a Resource (Business Rule) against the opening.

3.i
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Click on <Unset> to start implementing


and assigning the Rule

3.iii

3.ii

Click on … to create the Rule


Create Business Rule
object

80
• Steps (Study): Write the EKL script in Business Rule to implement custom logic.
4.i 4.i
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Set the current object


Type as “VPMReference”

4.ii

Write the specific Rule needed


to be executed to manage the
prefix and counter

81
• Steps (Study): Save the Business Rule, bind it to a Collaborative Space and deploy the same.
5.i
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Drag and drop the newly Implemented Resource table into the Collaborative Space where
needs to be Performed and from share menu save the changes.

9 5.ii

To finalize the implementation, deploy the rule


82
• Steps (Study): Verify the changes
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Properties of the New Physical Product


Create New Physical Product

83 Displayed Notification desired in the Business Rule


• Steps (Study): Verify the changes from PAU or
XEN Product Structure Editor
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Create New Physical Product App

• Observe that the Product is being created


with the prefix set My-Training and serial
number 000003 using the Business Logic

84
In this use case, we will
- Implement a BL on opening ID “Attribute Valuation Propagation” for Client Side
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Get input from the Parameters for the Propagation Mode (Edition, Valuation)
- Check the details for the Propagation Mode to evaluate Attributes created previously in Exercise #1
- In Case of Edition, using V_Name value, value for attribute Training_Description will be evaluated
- In Case of Valuation The V_Name value will be added to Valuation_V_Name and it will check for Parameters, If the default value of Attribute
“Training_Listinfo” Changes then it will evaluate the Attribute Training_Validation and will set its value to Valuation_V_Name
- This Business Logic (BL) will be invoked once users start to create a new content of type Physical Product

85
1. Login to Native Apps using the following credentials:
2. Ensure the Security Context is as below:
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Role: Owner
3. Click on Compass and select Data Setup app.
4. From the Resource Table tab, select Resource Set named
Business Logic implementations.
5. Right click on above Resource Set, and click on
Create a new Resource Table.
6. Click on Ok on the Resource Set form

86
7. Select the opening Attributes valuation propagation.
8. Double-click on <Unset> under Resource column.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

9. Click on the button next to Create a new Business Rule.


10. Ensure the value for Scope is set to ClientOnly.
Click on Ok on the Business Rule form.
11. The Business Rule editor window will open.

87
12.Key-In below EKL code in code editor section of EKL Editor
//Business Rule - Create a Business Logic Rule Client Side
Let TempID(String)
Let IDIndex(Integer)
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Let strDesc(String)
Let stroredName(String)
Let P_PropagationMode(String)
P_PropagationMode = Parameters->GetAttributeString("PropagationMode")
Notify("My Propagation Mode is : ", P_PropagationMode)
if ("Edition" == P_PropagationMode)
{
if (ThisObject->HasAttribute("V_Name") == true)
{
stroredName = ThisObject.V_Name
}
IDIndex=stroredName.Search("-")
if (IDIndex==-1)
{
TempID=stroredName
}
else
{
TempID=stroredName.Extract(0,IDIndex)
}
strDesc= P_PropagationMode + "_" +TempID
if (ThisObject->HasAttribute("V_description") == true)
{
ThisObject->SetAttributeString("Training_Description", strDesc)
}
}

88
else if ("Valuation" == P_PropagationMode)
{
if (ThisObject->HasAttribute("V_Name") == true)
{
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

stroredName = ThisObject.V_Name
}
IDIndex=stroredName.Search("-")
if (IDIndex==-1)
{
TempID=stroredName
}
else
{
TempID=stroredName.Extract(0,IDIndex)
}
strDesc= P_PropagationMode + "_ " +TempID

if (Parameters->GetAttributeString("EditAttributeId")== "Training_ListInfo")
{
ThisObject->SetAttributeString("Training_Validation",strDesc)
}
}

13. Double-click on <Unset> next to ThisObject to set Fact Type.

Set the value to VPMReference.

89
14.To verify the code, click on Syntax Errors option
15.Click on OK to update and Save the code
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

16.Observe the Business rule is applied to opening ID –


AttributesValuationPropogation and the Fact type is set to
VPMReference
17.Click on Ok on Resource Set window.

90
18.Drag the newly created Resource Set and drop onto the
VPLM_CollaborativeSpace Collaborative Space.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

19. Resource set should be bound to Collaborative


Space, as shown.
20. Click on Save button from Share menu on Top Bar.

91
• In this exercise, you have:
- Created a Business Rule for client side.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Applied custom Business Rules on Attributes during creation of new


content of type Physical Product

92
• Administrator can specify Resource (Business Rule) against Resource Set named Business Logic for validation on
server, to perform validation in Pre or Post Action, for events like
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Maturity change action,


- Version change action,
- Create action,
- etc.

93
Business Logic for Validation on Server Available only on premise
• What?
- Implement a Business Rule to check if the value of Description field of a Physical Product is set to “IsChecked”. If true, allow Maturity change
action, otherwise block action.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Where?
- Implement Business Rule in Resource Set named Business Logic for validation on server, against Resource Logical Name Pre Check
Maturity.
• How?
- Implement customized Business Rule using Data Setup app.

94
• Steps: Create a new Resource Table against Resource Set named Business Logic for validation on server
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

95
• Steps (continued): Create a new Business Rule against Logical Name Pre Check Maturity. Write code to allow Maturity
change only when value of V_Description attribute equals “IsChecked
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

96
• Steps (continued): Save the changes. Bind the newly created Business Rule to the required Collaborative Space, and
deploy the same
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

97
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

98
• Steps (continued): Validate the implemented Pre Check Maturity Business Rule
Knowledge Language Business Rules Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Customization by Business Rules


Business Logics Openness
Implementing BL with Data Setup
Implementing BL with Web Editor (TXO)
Business Logic CATRuleExit and CATRule Files
Business Logic Trace

99
• Administrators can use Data Model Customization web app to create and deploy Business Rules for the 3DEXPERIENCE
platform.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- In order to use this app, user must have Customization Administrator role (TXO license).
• It is important to note the below points regarding working with Business Rules using the Data Model Customization app:
- Resource sets are automatically created.
- Resource sets are automatically bound to the Corporate Collaborative Space.
- Not all Openings are available. Only the Openings which are available on the Server, or, on both the Client and the Server, are available.
- No deployment required.

100
• The Manage Business Rules web UI proposes a list of Business Rules where the Administrator performs and defines an
Implementation of Business conditions
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

1. List of Opening IDs provided by 3DEXPERIENCE platform.


2. Scope of Opening ID.
3. Execution Type: Validation / Execution / Computation
4. Description information to describe the use of the Opening ID

Only those Opening IDs are displayed whose scopes are either Server side, or else,
Client and Server side. Openings with scope as Client side only are not displayed.

101
• After the Rule created using the Data Model Customization Web App (TXO) is committed, it will also be available through
the Data Setup Native App, through which some modifications are allowed.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

102
Knowledge Language Business Rules Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Customization by Business Rules


Business Logics Openness
Implementing BL with Data Setup
Implementing BL with Web Editor (TXO)
Business Logic CATRuleExit and CATRule Files
Business Logic Trace

103
• Customized Business Rule can be implemented by using CATRule and CATRuleExit files as well.
- This form of implementation requires manual deployment of the above files to 3DEXPERIENCE platform. This is unlike the implementation
done using the Data Setup native app or the Manage Business Rules web-client, where deployment happens automatically from the apps.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• The CATRule and CATRuleExit files are similar to the text file having the Extension as mentioned below:
- MyBLFile.CATRuleExit
- MyBLFile.CATRule
• CATRuleExit:
- This file contains the details of the Opening ID, lists of Types and information related to the resources described previously, and the name of
the of the corresponding CATRule script file.
- The CATRuleExit files can have multiple entries.
- It is not recommended to modify the OOTB CATRuleExit files.
- It is not recommended to have multiple Implementations of the same Opening ID for the same PLM Type.
• CATRule:
- This file contains the script with which the customized Business Logic would be implemented. It is not recommended to modify the default
OOTB CATRule files.

104
• What?
- Business Rule will be implemented to initialize the identifier for newly created Physical Product objects.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Using the following Naming Rule, the identifier for newly created objects will start with the default prefix «DS_Training_»
• Where?
- The Business Rule will be implemented with the use of CATRule and CATRuleExit files.

105
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

106
• How?
- Create CATRuleExit and CATRule files as described below
• Deploy the CATRule and CATRuleExit files at the below location on the client machine:
<Installation Directory>\<OS_dir>\resources\knowledge\scripts
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

107
Knowledge Language Business Rules Overview
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Customization by Business Rules


Business Logics Openness
Implementing BL with Data Setup
Implementing BL with Web Editor (TXO)
Business Logic CATRuleExit and CATRule Files
Business Logic Trace

108
• Business Rule Traces allows Business Logic Developers to gain access to logs, and to debug the Business Rule
implementation.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• On Client side, set the following Environment variables as described:


- CKE_CUSTO_TRACES=1
- CKE_PARSE_TRACES=1
- CKE_EVAL_TRACES=1
• Traces generated by the Customization engine describes the problems encountered, like:
- Scripts not found
- Scripts not valid syntactically
- Scripts failing at runtime for example.
• CKE_CUSTO_TRACES_RESTRICTION
- This environment variable is used to specify the Opening ID to be traced and possibly the Type of the Objects to be traced.
- It is also possible to provide a list of couples (OpeningID / Type of fact), as shown below:
-
CKE_CUSTO_TRACES_RESTRICTION=ObjectType1;OpeningID2;ObjectType2;...OpeningIDN;ObjectT
ypeN

109
• The Knowledgeware Debugger allows the running of a code in a dedicated user interface to identify potential problems.
• The following objects can be debugged
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Rules
- Actions
- Knowledge Patterns
- PLM Rules
- PLM Checks

- Know-How Apps Logic Rules


- Knowledge Language Operations
- Business Rules
- Know-How Library Functions

110
• Retrieve content information from the following gitlab
- https://itgit.dsone.3ds.com/ww-ve-software-architects/snippets/ekl-rest-web-services-for-bookmark.git
- Download content and follow the deployment procedure.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

111
• Retrieve content information from the following gitlab
- https://itgit.dsone.3ds.com/ww-ve-software-architects/snippets/ekl-rest-web-services-for-bookmark.git
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

- Download content and follow the deployment procedure.

112
API Method/Property Description Documentation Link

Message() Enables you to display a message in an Link


information box.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

Notify() Enables you to display a yellow tooltip on the Link


top right of the screen
GetEditorRootOccurrences() This method returns the root node in Product
Structure of Active CATIA Editor
Query() Returns a list of objects located under the Link
feature it is called on, based on search criteria
BuildKweMessageNLS() BuildKweMessageNLS make use of CATNls
file to fetch the message to be displayed
BuildDeferredMessageNLS() Function used to build a NLS message by Link
finding it in a CATXXX.CATNls file depending
on the NLS client on a target machine.
Trace() Enables you to write information in a file for Link
debugging purposes

113
API Method/Property Description Documentation Link

GetSystemInfo() Enables you to display information related to the Link


execution environment of an EKL script
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

serverurl – URL of the currently connected server


securitycontext – Security Context of connected user
currenttime – Current time of the execution computer
CreateHTTPClient() Used to create HTTPClient object to make web service call Link

Get() Method that requests a representation of the specified Link


resource
ReturnCode Property of HTTPClient object used to fetch response
code
Access() Used to access the requested entity from the response
body

114
• Maximize the value of using the 3DEXPERIENCE OOTB functionalities.
• Using 3DEXPERIENCE EKL or Business Logic to customize your business processes need.
© Dassault Systèmes | Confidential Information | 4/25/2022 | ref.: 3DS_Document_2021

• Customize Business Logic should be implemented by using Data Setup native app only.
• Customize EKL by using Know-How Library allows the creation of reusable functions that will be available in EKL script
editors
• Finally keep your customization under control.

115
© Dassault Systèmes | Confidential Information | 2/28/2022 | ref.: 3DS_Document_2021

116
© Dassault Systèmes | Confidential Information | | ref.: 3DS_Document_2021

117

You might also like