0% found this document useful (0 votes)
163 views

Business Modeler Ide Guide

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
0% found this document useful (0 votes)
163 views

Business Modeler Ide Guide

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/ 1306

Teamcenter 11.

2
Business Modeler
IDE
PLM00071 - 11.2
Contents

Getting started with the Business Modeler IDE


Introduction to the Business Modeler IDE ────────────────────── 1-1
Before you begin ────────────────────────────────────── 1-1
Business Modeler IDE interface ───────────────────────────── 1-3
Business Modeler IDE interface overview ────────────────────────── 1-3
Business Modeler IDE menu commands ─────────────────────────── 1-5
Set favorites in the Business Modeler IDE ───────────────────────── 1-11
Filter visible elements in the Business Modeler IDE ─────────────────── 1-12
Basic concepts for using the Business Modeler IDE ─────────────── 1-14
What is the Business Modeler IDE used for? ──────────────────────── 1-14
Why create business objects? ──────────────────────────────── 1-14
Introduction to templates ────────────────────────────────── 1-15
Understanding custom versus COTS templates ────────────────────── 1-16
Basic tasks when using the Business Modeler IDE ──────────────── 1-16
Using the Business Modeler IDE for the first time ──────────────── 1-17
Basic process for using the Business Modeler IDE to create data model definitions
─────────────────────────────────────────────── 1-17
Create a sample new business object ─────────────────────────── 1-18
Save your changes in the Business Modeler IDE ───────────────────── 1-24

Learning about the Business Modeler IDE


Business Modeler IDE workshops ─────────────────────────── 2-1
Preparing to use the Business Modeler IDE workshops ────────────────── 2-1
Workshop 1: Create a template project ─────────────────────────── 2-1
Workshop 2: Explore the user interface ─────────────────────────── 2-2
Workshop 3: Create a new item type ───────────────────────────── 2-5
Workshop 4: Create custom properties ─────────────────────────── 2-10
Workshop 5: Display custom properties in the client user interface ────────── 2-15
Workshop 6: Create lists of values ───────────────────────────── 2-23
Workshop 7: Add a naming rule ─────────────────────────────── 2-30
Workshop 8: Create a form ────────────────────────────────── 2-34
Workshop 9: Add a relationship rule ──────────────────────────── 2-38
Workshop 10: Add deep copy rules ───────────────────────────── 2-42
Workshop 11: Add a business object display rule ───────────────────── 2-48
Workshop 12: Add a predefined extension rule ───────────────────── 2-53
Workshop 13: Add a compound property ───────────────────────── 2-58
Business Modeler IDE process ───────────────────────────── 2-68
Business Modeler IDE process overview ────────────────────────── 2-68
Develop and test extensions ───────────────────────────────── 2-68
Deploy a template to a production site ─────────────────────────── 2-70
Edit extensions in a live production site ────────────────────────── 2-71
Control Business Modeler IDE elements that can be updated live ─────────── 2-71
Edit live data ────────────────────────────────────────── 2-72

Business Modeler IDE PLM00071 11.2 2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Contents

Incorporate live data updates from the production site ───────────────── 2-72
Data model concepts ────────────────────────────────── 2-74
Teamcenter data model overview ───────────────────────────── 2-74
POM schema ────────────────────────────────────────── 2-76
Schema versus nonschema objects ───────────────────────────── 2-77
Viewing POM schema ───────────────────────────────────── 2-77
Class structure and attribute inheritance ───────────────────────── 2-79
Development environments ────────────────────────────── 2-81
Single production database environment ───────────────────────── 2-81
Test and production database environment ──────────────────────── 2-81
User testing environment ─────────────────────────────────── 2-82
Multiple developer environment ────────────────────────────── 2-82
SCM system ──────────────────────────────────────── 2-84
Using a source control management (SCM) system to manage files ───────── 2-84
Selecting a source control management (SCM) system ───────────────── 2-84
Getting started with a source control management system (SCM) ────────── 2-85
Business Modeler IDE help ─────────────────────────────── 2-86
Accessing help in the Business Modeler IDE ──────────────────────── 2-86
Configure help on Linux systems ────────────────────────────── 2-87
Add a topic to the Business Modeler IDE online help ────────────────── 2-87
Create a new online help book in the Business Modeler IDE ────────────── 2-88
Access Eclipse help over the Web ────────────────────────────── 2-90

Installing and configuring the Business Modeler IDE


Install the Business Modeler IDE ──────────────────────────── 3-1
Business Modeler IDE installation overview ───────────────────────── 3-1
Install the Business Modeler IDE as a stand-alone application ────────────── 3-1
Install the Business Modeler IDE to an existing Eclipse environment ────────── 3-5
Allocate memory to the Business Modeler IDE ─────────────────────── 3-9
Configure the Business Modeler IDE ───────────────────────── 3-10
Extension files ───────────────────────────────────────── 3-10
Set Business Modeler IDE preferences ─────────────────────────── 3-12
Add a server connection profile ─────────────────────────────── 3-14
Customize the Business Modeler IDE toolbar ─────────────────────── 3-18
Back up project data ────────────────────────────────────── 3-18
Start the Business Modeler IDE ──────────────────────────── 3-23
Upgrade the Business Modeler IDE ────────────────────────── 3-24
Business Modeler IDE upgrade process ─────────────────────────── 3-24
Upgrade a template project to the current data model format ───────────── 3-24
Refactor create operations ────────────────────────────────── 3-26
Migrate preferences to data model objects ──────────────────────── 3-28
Uninstall the Business Modeler IDE ───────────────────────── 3-30

Creating, deploying, and packaging templates


Template process in the Business Modeler IDE ─────────────────── 4-1
Create a Business Modeler IDE template project ────────────────── 4-1
Deploying templates ─────────────────────────────────── 4-7

Business Modeler IDE PLM00071 11.2 3


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to deploying templates ───────────────────────────── 4-7
How to deploy a template ─────────────────────────────────── 4-8
Retrieve deployment archive files ────────────────────────────── 4-13
Package extensions into a template ───────────────────────── 4-13
Install a template using TEM ───────────────────────────── 4-17
Update the database using TEM ─────────────────────────── 4-20
Install or update a template using the tem utility ──────────────── 4-22
Live updates ──────────────────────────────────────── 4-23
Introduction to live updates ───────────────────────────────── 4-23
Single administrator versus multiple administrators in a live updates environment
─────────────────────────────────────────────── 4-24
Live updates for a single administrator ─────────────────────────── 4-26
Live updates for multiple administrators ────────────────────────── 4-42
Live updates reference ──────────────────────────────────── 4-44
Merge samples ───────────────────────────────────────── 4-58
Tips for working with template projects ────────────────────── 4-58
Closing and opening projects ──────────────────────────────── 4-58
Deleting projects ──────────────────────────────────────── 4-59
View Business Modeler IDE template project properties ──────────────── 4-59
Add a template to a Business Modeler IDE project ──────────────────── 4-66
Edit the template feature file ──────────────────────────────── 4-69
Push a template to the reference directory ──────────────────────── 4-70
Templates reference ─────────────────────────────────── 4-71
Templates overview ────────────────────────────────────── 4-71
Creating a template project ───────────────────────────────── 4-71
Aligning Siemens PLM Software template development and customer template
development ───────────────────────────────────── 4-72
Adding extensions to the template ───────────────────────────── 4-72
Synchronize all data directories with the latest templates ─────────────── 4-72
Files in a template project ────────────────────────────────── 4-73
Templates installation reference ────────────────────────────── 4-77
Template artifacts ─────────────────────────────────────── 4-96

Creating data model objects to represent objects in Teamcenter


Add a new model element ──────────────────────────────── 5-1
Business Modeler IDE administration tasks ───────────────────── 5-2
Business objects ────────────────────────────────────── 5-3
Create business objects ───────────────────────────────────── 5-3
Business object icons ───────────────────────────────────── 5-43
Using the Operation Descriptor tab ───────────────────────────── 5-54
Business object constants ────────────────────────────────── 5-66
Change the name of custom business objects ───────────────────── 5-108
Convert secondary business objects to primary ───────────────────── 5-117
TC_WorkContext business object reference ─────────────────────── 5-119
Classes ─────────────────────────────────────────── 5-120
Introduction to creating classes ────────────────────────────── 5-120
Add a new class ──────────────────────────────────────── 5-121
Class attributes ──────────────────────────────────────── 5-124

4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Contents

Properties ───────────────────────────────────────── 5-133


Introduction to properties ───────────────────────────────── 5-133
Properties table ──────────────────────────────────────── 5-134
Hide properties on a form business object ──────────────────────── 5-136
Add properties to a custom form business object ──────────────────── 5-137
Available actions on properties ────────────────────────────── 5-138
Attach an object to a typed reference property ───────────────────── 5-138
Add properties ──────────────────────────────────────── 5-140
Property constants ────────────────────────────────────── 5-171
Compound properties ──────────────────────────────────── 5-190
Controlling how properties are displayed in the user interface by using property
formatters ────────────────────────────────────── 5-193
Lists of values ────────────────────────────────────── 5-217
Introduction to lists of values (LOVs) ─────────────────────────── 5-217
Create classic lists of values ──────────────────────────────── 5-218
Batch LOVs ─────────────────────────────────────────── 5-224
Dynamic LOVs ───────────────────────────────────────── 5-232
Attach an LOV to a property ──────────────────────────────── 5-258
Add values to an existing classic LOV ─────────────────────────── 5-261
Create a filter LOV ────────────────────────────────────── 5-261
Create a cascading LOV ─────────────────────────────────── 5-263
Create an interdependent LOV ─────────────────────────────── 5-265
Interdependent LOV attachment problems ─────────────────────── 5-268
Attaching LOVs with conditions ────────────────────────────── 5-268
Display LOVs based on a project ────────────────────────────── 5-273
LOV types ─────────────────────────────────────────── 5-277
LOV value types ──────────────────────────────────────── 5-279
LOV usage types ─────────────────────────────────────── 5-280
Balanced/unbalanced LOVs ───────────────────────────────── 5-280
Creating options ──────────────────────────────────── 5-281
About the Options folder ────────────────────────────────── 5-281
Add an ID context ────────────────────────────────────── 5-281
Note types ─────────────────────────────────────────── 5-282
Add an occurrence type ─────────────────────────────────── 5-284
View types ─────────────────────────────────────────── 5-285
Add a status type ─────────────────────────────────────── 5-287
Add a storage media option ──────────────────────────────── 5-290
Add a tool ─────────────────────────────────────────── 5-291
Unit of measure types ──────────────────────────────────── 5-293
Client UI configuration ──────────────────────────────── 5-295
Introduction to client UI configuration ────────────────────────── 5-295
Create a new client for use in a client UI configuration ──────────────── 5-297
Create a new client scope ────────────────────────────────── 5-298
Create a new command collection ──────────────────────────── 5-300
Create a new command for use in a client UI configuration ───────────── 5-302
Create a new icon for use in a client UI configuration ───────────────── 5-304
Document management ─────────────────────────────── 5-305
Using the Business Modeler IDE to configure document management ─────── 5-305
Create an item revision definition configuration (IRDC) ──────────────── 5-306

Business Modeler IDE PLM00071 11.2 5


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a dispatcher service configuration ──────────────────────── 5-319
Create a print configuration ──────────────────────────────── 5-326
Create a system stamp configuration ─────────────────────────── 5-330
Import a sample document management template file ──────────────── 5-333
Configure PDF markup for the Acrobat/Reader Plugin ───────────────── 5-336
Linked Data Framework ──────────────────────────────── 5-338
Introduction to Linked Data Framework ───────────────────────── 5-338
Create a new service catalog ──────────────────────────────── 5-339
Create a new Linked Data Framework service ────────────────────── 5-341
Create a Linked Data Framework service operation ────────────────── 5-343
Working with applications ────────────────────────────── 5-347
Teamcenter Component objects ────────────────────────── 5-348
What are Teamcenter Component objects? ─────────────────────── 5-348
Create a Teamcenter Component object ───────────────────────── 5-349
Create a verification rule ────────────────────────────────── 5-353
Global constants ──────────────────────────────────── 5-354
Introduction to global constants ────────────────────────────── 5-354
Create a global constant ────────────────────────────────── 5-355
Change the value of a global constant ────────────────────────── 5-357
Global constants reference ───────────────────────────────── 5-359
Managing the data model ────────────────────────────── 5-379
Find objects in the Business Modeler IDE ───────────────────────── 5-379
Open objects in the Business Modeler IDE ──────────────────────── 5-379
Delete objects in the Business Modeler IDE ─────────────────────── 5-379
Modifying objects in the Business Modeler IDE ───────────────────── 5-380
Deprecating objects in the Business Modeler IDE ──────────────────── 5-380
Naming objects in the Business Modeler IDE ────────────────────── 5-381
Reloading the data model ────────────────────────────────── 5-382
Import and export the data model ──────────────────────────── 5-382
Data model reports ───────────────────────────────────── 5-397
Graphically represent the data model in the UML editor ─────────────── 5-409

Creating business rules


Introduction to business rules ───────────────────────────── 6-1
Naming rules ──────────────────────────────────────── 6-1
Introduction to naming rules ───────────────────────────────── 6-1
Add a naming rule ──────────────────────────────────────── 6-2
Add a revision naming rule ────────────────────────────────── 6-6
Assign a baseline suffix naming rule ───────────────────────────── 6-9
Attach a naming rule to a property ────────────────────────────── 6-9
Attach naming rules with conditions ──────────────────────────── 6-13
Override a COTS naming rule ──────────────────────────────── 6-14
Naming rule patterns ───────────────────────────────────── 6-15
Naming rules reference ──────────────────────────────────── 6-23
Intelligent part numbering ─────────────────────────────── 6-31
Intelligent part numbering use case ──────────────────────────── 6-31
Introduction to intelligent part numbering ──────────────────────── 6-38
Create an ID generation rule ───────────────────────────────── 6-41

6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Contents

Map Smart Codes to ID generation rules ────────────────────────── 6-49


Business object display rules ───────────────────────────── 6-52
Add a business object display rule ───────────────────────────── 6-52
Business object display rules reference ─────────────────────────── 6-56
GRM rules ───────────────────────────────────────── 6-57
Introduction to GRM rules ────────────────────────────────── 6-57
Add a GRM rule ───────────────────────────────────────── 6-59
Generic Relationship Manager ──────────────────────────────── 6-64
Evaluation order for GRM rules ─────────────────────────────── 6-64
Impact of business object inheritance on GRM rules ─────────────────── 6-64
Maintain stable relation IDs ───────────────────────────────── 6-65
Deep copy rules ────────────────────────────────────── 6-66
Add a deep copy rule ───────────────────────────────────── 6-66
Understanding the impact of inheritance on deep copy rule behavior ──────── 6-71
Restrictions on the use of deep copy rules ───────────────────────── 6-74
Deep copy ITK ───────────────────────────────────────── 6-74
Deep copy rule conditions ────────────────────────────────── 6-75
Alternate ID rules ───────────────────────────────────── 6-82
Add an alternate ID rule ──────────────────────────────────── 6-82
Alternate ID rule example ────────────────────────────────── 6-86
Alternate ID rules characteristics ────────────────────────────── 6-88
Alias ID rules ──────────────────────────────────────── 6-89
Add an alias ID rule ────────────────────────────────────── 6-89
Alias ID rules reference ──────────────────────────────────── 6-91
Multifield keys ────────────────────────────────────── 6-92
Introduction to multifield keys ──────────────────────────────── 6-92
Creating multifield key definitions ───────────────────────────── 6-93
Multifield key domains ──────────────────────────────────── 6-96
Creating objects with the same item ID ────────────────────────── 6-97
Managing multifield keys ────────────────────────────────── 6-102
Analyzing multifield keys ────────────────────────────────── 6-103
Configure the displayed name of business object instances ───────────── 6-106
Considerations for using multifield keys ───────────────────────── 6-109
Administration data candidate keys ──────────────────────── 6-111
Introduction to administration data candidate keys ────────────────── 6-111
Create administration data candidate keys ─────────────────────── 6-113
Conditions ──────────────────────────────────────── 6-115
Conditions overview ───────────────────────────────────── 6-115
Add a condition ──────────────────────────────────────── 6-116
Search conditions ────────────────────────────────────── 6-121
Condition examples ───────────────────────────────────── 6-122
Condition system ─────────────────────────────────────── 6-127
Application extensions ──────────────────────────────── 6-136
Introduction to application extensions ────────────────────────── 6-136
Add an application extension point ──────────────────────────── 6-137
Add an application extension rule ───────────────────────────── 6-141
Add a business context ─────────────────────────────────── 6-145
Sample application extension APIs ──────────────────────────── 6-146

Business Modeler IDE PLM00071 11.2 7


© 2019 Siemens Product Lifecycle Management Software, Inc.
Propagation rules ──────────────────────────────────── 6-151
Introduction to propagation rules ───────────────────────────── 6-151
Create a propagation rule ────────────────────────────────── 6-152
Propagation rule example ────────────────────────────────── 6-157
Considerations for propagation rules ─────────────────────────── 6-161

Setting the displayed text and language in the Business Modeler IDE
Localization process in the Business Modeler IDE ───────────────── 7-1
Setting language support ──────────────────────────────── 7-1
Introduction to setting language support ────────────────────────── 7-1
Set the languages the template supports ────────────────────────── 7-2
Change the languages the template supports ─────────────────────── 7-2
Set the master locale for the template ──────────────────────────── 7-3
Add a locale ──────────────────────────────────────────── 7-4
Setting display names ────────────────────────────────── 7-11
Introduction to setting display names ─────────────────────────── 7-11
Change display names for business objects and option types ───────────── 7-12
Set display names for properties ────────────────────────────── 7-15
Set display names for lists of values (LOVs) ──────────────────────── 7-16
Validating localizations ──────────────────────────────────── 7-17
Add the Localization button to properties ───────────────────── 7-19
Migrate a custom template to the newer language framework ──────── 7-21
Migrate property and relation names ──────────────────────── 7-21
Create a default localization ────────────────────────────── 7-25
Import localization files using the Business Modeler IDE ──────────── 7-25
Localization and live update ────────────────────────────── 7-26

Using the Business Modeler IDE for customization


Customization methods in the Business Modeler IDE ─────────────── 8-1
Set up a Business Modeler IDE project for coding ───────────────── 8-2
Data-model-based customizations ─────────────────────────── 8-3
Introduction to data-model-based customizations ───────────────────── 8-3
Coding process ────────────────────────────────────────── 8-3
Set up the coding environment ──────────────────────────────── 8-4
Create a release ───────────────────────────────────────── 8-5
Create a library ────────────────────────────────────────── 8-6
Data types ──────────────────────────────────────────── 8-8
Operations ─────────────────────────────────────────── 8-12
Boilerplate code ──────────────────────────────────────── 8-32
Implementation code ───────────────────────────────────── 8-37
Server code ─────────────────────────────────────────── 8-40
Services ─────────────────────────────────────────── 8-46
Process for creating services in the Business Modeler IDE ─────────────── 8-46
Add a service library ────────────────────────────────────── 8-46
Add a service ────────────────────────────────────────── 8-48
Service data types ─────────────────────────────────────── 8-49
Add a service operation ──────────────────────────────────── 8-57

8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Contents

Formatting text with the Description Editor dialog box ───────────────── 8-64
Generate service artifacts ────────────────────────────────── 8-65
Write a service operation implementation ───────────────────────── 8-66
ServiceData implementation ───────────────────────────────── 8-68
Partial errors implementation ──────────────────────────────── 8-69
Build server and client libraries ─────────────────────────────── 8-70
Teamcenter Services build output ───────────────────────────── 8-71
Extensions ───────────────────────────────────────── 8-73
Introduction to extensions ────────────────────────────────── 8-73
Define an extension ────────────────────────────────────── 8-76
Assign an extension ────────────────────────────────────── 8-79
Write extension code ───────────────────────────────────── 8-83
Extension example: Add a postaction on a folder business object ─────────── 8-84
Workflow extension example ──────────────────────────────── 8-88
About extension attachments ──────────────────────────────── 8-93
Add a predefined extension to a business object ───────────────────── 8-96
Working with user exits ──────────────────────────────────── 8-98
Extensions reference ───────────────────────────────────── 8-99
Operations reference ──────────────────────────────────── 8-100
Extension inheritance reference ────────────────────────────── 8-107
Implications of the autoAssignToProject extension on propagation rules ────── 8-107
How to develop an application ─────────────────────────── 8-109
Process for developing an application ────────────────────────── 8-109
Develop an application: define business objects ──────────────────── 8-110
Develop an application: define operations ──────────────────────── 8-115
Develop an application: define services ───────────────────────── 8-118
Develop an application: generate code ────────────────────────── 8-123
Develop an application: implement code ──────────────────────── 8-126
Develop an application: build libraries ────────────────────────── 8-131
Develop an application: package and install ─────────────────────── 8-134

Using the Business Modeler IDE to configure Teamcenter


applications
4th Generation Design ────────────────────────────────── 9-1
Configure 4th Generation Design (4GD) using the Business Modeler IDE ─────── 9-1
Set up assigning design elements to a manufacturing bill of materials ──────── 9-1
Enable minor revisioning ──────────────────────────────────── 9-4
Access Manager ────────────────────────────────────── 9-4
Configure Access Manager using the Business Modeler IDE ─────────────── 9-4
Create a custom privilege ─────────────────────────────────── 9-4
ADA License ───────────────────────────────────────── 9-5
Configure ADA License using the Business Modeler IDE ───────────────── 9-5
Add ADA License categories ────────────────────────────────── 9-5
Aerospace and Defense ───────────────────────────────── 9-11
Configure Aerospace and Defense using the Business Modeler IDE ────────── 9-11
Aerospace and Defense business objects ───────────────────────── 9-11
As-Built Manager ───────────────────────────────────── 9-12
Configure As-Built Manager using the Business Modeler IDE ────────────── 9-12

Business Modeler IDE PLM00071 11.2 9


© 2019 Siemens Product Lifecycle Management Software, Inc.
Audit Manager ────────────────────────────────────── 9-13
Configure Audit Manager using the Business Modeler IDE ─────────────── 9-13
Create an event type ───────────────────────────────────── 9-14
Create an event type mapping ──────────────────────────────── 9-15
Create an audit definition ────────────────────────────────── 9-16
Postupgrade steps required for importing custom event types into a template project
─────────────────────────────────────────────── 9-20
Audit Manager data model objects ───────────────────────────── 9-21
Automotive Edition ─────────────────────────────────── 9-22
Configure Automotive Edition using the Business Modeler IDE ──────────── 9-22
CAE Manager ─────────────────────────────────────── 9-22
Configure CAE Manager using the Business Modeler IDE ──────────────── 9-22
Change Management ────────────────────────────────── 9-23
Configure Change Management using the Business Modeler IDE ─────────── 9-23
Change Management business objects ────────────────────────── 9-24
Add a Change Management form ────────────────────────────── 9-26
Create a new relation for use with a Change Management pseudofolder ────── 9-28
Add a custom naming rule to standard Change Management objects ──────── 9-33
Classic change ───────────────────────────────────────── 9-34
Change Management conditions ────────────────────────────── 9-34
Classification ─────────────────────────────────────── 9-34
Configure Classification using the Business Modeler IDE ──────────────── 9-34
Classification extensions ─────────────────────────────────── 9-35
Dimensional Planning and Validation ──────────────────────── 9-36
Configure Dimensional Planning and Validation (DPV) using the Business Modeler IDE
─────────────────────────────────────────────── 9-36
Configure DPV to automatically attach forms ─────────────────────── 9-36
Maintenance, Repair, and Overhaul (MRO) ──────────────────── 9-43
Configure Maintenance, Repair, and Overhaul (MRO) using the Business Modeler IDE
─────────────────────────────────────────────── 9-43
Consideration when creating a custom physical part ────────────────── 9-43
Manufacturing Process Planner ──────────────────────────── 9-44
Configure Manufacturing Process Planner using the Business Modeler IDE ───── 9-44
3D PDF business objects ─────────────────────────────────── 9-44
Multi-Structure Manager ──────────────────────────────── 9-45
Configure Multi-Structure Manager using the Business Modeler IDE ───────── 9-45
Configure the automateAndLink extension ──────────────────────── 9-45
Using conditions with the automateAndLink extension ───────────────── 9-54
Create a condition asking whether to create a part ─────────────────── 9-55
NX ────────────────────────────────────────────── 9-60
Creating item types with required attributes for NX ─────────────────── 9-60
Configure NX CAM Integration using the Business Modeler IDE ──────────── 9-61
Organization ──────────────────────────────────────── 9-61
Configure Organization using the Business Modeler IDE ──────────────── 9-61
Add additional properties to users ───────────────────────────── 9-61
Product and manufacturing information (PMI) ────────────────── 9-64
Configure product and manufacturing information (PMI) using the Business Modeler IDE
─────────────────────────────────────────────── 9-64

10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Contents

Schedule Manager ──────────────────────────────────── 9-64


Configure Schedule Manager using the Business Modeler IDE ───────────── 9-64
Create a custom status for Schedule Manager ────────────────────── 9-65
Schedule Manager operations, extensions, and conditions used for statuses ──── 9-68
Schedule Manager property operations ────────────────────────── 9-69
Schedule Manager extensions ──────────────────────────────── 9-70
Structure Manager ──────────────────────────────────── 9-71
Configure Structure Manager using the Business Modeler IDE ───────────── 9-71
Configuring BOM grading ────────────────────────────────── 9-71
Add custom properties to BOM columns ────────────────────────── 9-72
Create conditions to control permitted structure content ─────────────── 9-77
Control parent-child product structures ────────────────────────── 9-77
Control structures based on properties ─────────────────────────── 9-83
BOM line naming behavior ────────────────────────────────── 9-86
Add a compound property on a GDE line using the bl_line_object property ───── 9-89
Subscriptions ─────────────────────────────────────── 9-89
Configure subscription conditions using the Business Modeler IDE ────────── 9-89
Supplier Relationship Management ───────────────────────── 9-91
Configure Supplier Relationship Management using the Business Modeler IDE ── 9-91
Configure lists of values (LOVs) for Supplier Relationship Management ─────── 9-91
Systems Engineering ────────────────────────────────── 9-96
Configure Systems Engineering using the Business Modeler IDE ─────────── 9-96
Add an application domain for diagrams ───────────────────────── 9-96
Creating an icon for use in the Systems Engineering and Requirements Management
BOM view ─────────────────────────────────────── 9-100
Teamcenter EDA ──────────────────────────────────── 9-101
Configure Teamcenter EDA using the Business Modeler IDE ───────────── 9-101
Working with derived data ───────────────────────────────── 9-101
Create an EDA derived data configuration ──────────────────────── 9-103
Validation Manager ────────────────────────────────── 9-112
Configure Validation Manager using the Business Modeler IDE ─────────── 9-112
Validation Manager business objects ─────────────────────────── 9-112
Validation Manager properties ─────────────────────────────── 9-113
Wiring Harness Design Tools Integration ───────────────────── 9-114
Configure Wiring Harness Design Tools Integration using the Business Modeler IDE
────────────────────────────────────────────── 9-114
Workflow Designer ─────────────────────────────────── 9-115
Configure Workflow Designer using the Business Modeler IDE ──────────── 9-115
Create dynamic participants ──────────────────────────────── 9-115
Register custom workflow handlers ──────────────────────────── 9-117
Use the EPM user exit to customize the Workflow template filter ────────── 9-122
Condition syntax for Workflow template filtering ──────────────────── 9-127
Create a custom form that supports setting security classification in a workflow ─ 9-128
Create a custom form that supports assigning project members in a workflow ── 9-130
Create a custom form that supports assigning projects in a workflow ─────── 9-131

Using the Mapping Designer


Introduction to the Mapping Designer ─────────────────────── 10-1

Business Modeler IDE PLM00071 11.2 11


© 2019 Siemens Product Lifecycle Management Software, Inc.
Enabling the Mapping Designer ─────────────────────────── 10-1
Install the Mapping Designer to the Business Modeler IDE ─────────────── 10-1
Install Altova MapForce ──────────────────────────────────── 10-2
Start the Mapping Designer ────────────────────────────── 10-3
Mapping Designer user interface ─────────────────────────── 10-4
Basic tasks using the Mapping Designer ────────────────────── 10-5
Mapping Designer process ────────────────────────────────── 10-5
Create a Mapping Designer project ───────────────────────────── 10-6
Add a factor ────────────────────────────────────────── 10-10
Create a map ───────────────────────────────────────── 10-16
Create filtering rules ───────────────────────────────────── 10-18
Mapping Designer filtering rules ────────────────────────────── 10-23
Build a control file ────────────────────────────────────── 10-24
Deploy a control file ───────────────────────────────────── 10-24
Advanced tasks using the Mapping Designer ────────────────── 10-24
Add a child factor ─────────────────────────────────────── 10-24
Clone a factor ───────────────────────────────────────── 10-25
Import a factor ──────────────────────────────────────── 10-25
Search for factors ─────────────────────────────────────── 10-27
Delete a factor ──────────────────────────────────────── 10-28
Add a factor dependency ────────────────────────────────── 10-28
Modify factor source elements and properties ───────────────────── 10-29
Modify factor target elements and properties ────────────────────── 10-31
Find Teamcenter property characteristics ──────────────────────── 10-32
Create a lookup table ──────────────────────────────────── 10-33
Import the sample Mapping Designer projects ───────────────────── 10-37
Add your mappings to a sample project ───────────────────────── 10-39
Change Mapping Designer project properties ────────────────────── 10-40
Mapping Designer perspectives and views ──────────────────── 10-41
Introduction to Mapping Designer perspectives and views ────────────── 10-41
Mapping Designer perspective ─────────────────────────────── 10-42
Mapping Designer views ────────────────────────────────── 10-42
Eclipse views used by the Mapping Designer ────────────────────── 10-46

Troubleshooting the Business Modeler IDE


Reviewing the log files ───────────────────────────────── 11-1
Deployment errors ──────────────────────────────────── 11-1
Check the deployment log ────────────────────────────────── 11-1
Check your deployment setup ──────────────────────────────── 11-1
Cannot connect to the server error ───────────────────────────── 11-2
Instance in use error ────────────────────────────────────── 11-3
Class is referenced error ─────────────────────────────────── 11-3
Incompatible argument error ──────────────────────────────── 11-4
Deployment fails when business object names do not contain USASCII7 characters
─────────────────────────────────────────────── 11-4
Time zone error ──────────────────────────────────────── 11-5
Incorporate Latest Live Update Changes error ────────────────────── 11-5

12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Contents

Business Modeler IDE has slow performance, an out-of-memory error, or does


not launch ───────────────────────────────────── 11-6
Could not create the Java virtual machine error ───────────────── 11-7
Workspace is locked error ─────────────────────────────── 11-7
Type name collision error ──────────────────────────────── 11-7
Backup and recovery of Business Modeler IDE data ─────────────── 11-8
Localized property with default value changes its master locale setting after
transfer to a remote site ──────────────────────────── 11-9
BASE10001: ENCODING_VALIDATION_ERROR ─────────────────── 11-9
FND10001: MULTIPLE_INTERDEPENDENT_LOV_ATTACHMENT_ERROR ─── 11-11
FND10002: INVALID_CONDITION_FOR_DEEP_COPY_RULE_ERROR ────── 11-12
FND10003: THE_ELEMENT_HAS_BEEN_REMOVED_FROM_ITS
_DEPENDENT_TEMPLATE ─────────────────────────── 11-13
FND10004: CANNOT_SET_LOCALIZABLE_CONSTANT_ATTACHMENT_ERROR
──────────────────────────────────────────── 11-13

Business Modeler IDE reference


Business Modeler IDE best practices ───────────────────────── A-1
Business Modeler IDE utilities ───────────────────────────── A-1
Business Modeler IDE utilities reference ─────────────────────────── A-1
Obsolete utilities and APIs ─────────────────────────────────── A-4
Business Modeler IDE preferences ─────────────────────────── A-4
Finding Business Modeler IDE preferences ───────────────────────── A-4
AltIdentifier_require_on_create ──────────────────────────────── A-5
ASSIGNED_ITEM_ID_MODIFIABLE ─────────────────────────────── A-5
ASSIGNED_ITEM_REV_MODIFIABLE ───────────────────────────── A-6
BMF_BYPASS_ALL_EXTENSION_RULES ──────────────────────────── A-6
BMF_CUSTOM_IMPLEMENTOR_PATH ───────────────────────────── A-7
BMF_SUPPRESS_ACTION_RULES_DISPLAY ────────────────────────── A-7
BMIDE_ALLOW_FULL_DEPLOY_FROM_CLIENT ─────────────────────── A-8
BMIDE_ALLOW_LIVE_UPDATES ──────────────────────────────── A-9
Bypass_property_rules ───────────────────────────────────── A-9
BYPASS_RULES ───────────────────────────────────────── A-10
IdentifierContextPref ───────────────────────────────────── A-10
IDENTIFIER_deepcopy_types_revise ──────────────────────────── A-11
IdentifierLengthPref ────────────────────────────────────── A-11
ITEM_autogenerate_id ──────────────────────────────────── A-12
Live Update ─────────────────────────────────────────── A-12
METHOD_CM_execute_before_custom ────────────────────────── A-14
NR_BYPASS ─────────────────────────────────────────── A-14
TC_dataset_deep_copy_rules ──────────────────────────────── A-15
TC_KEY_STRING_DELIMITER_VALUES ──────────────────────────── A-16
TC_MFK_DEFAULT_DOMAIN ───────────────────────────────── A-16
Treat_Curr_Rev_As_Any_Rev ───────────────────────────────── A-17
Treat_Next_Rev_As_Any_Rev ──────────────────────────────── A-17
TYPE_DISPLAY_RULES_list_of_primary_types ─────────────────────── A-18
TYPE_DISPLAY_RULES_list_types_of_subclasses ───────────────────── A-19

Business Modeler IDE PLM00071 11.2 13


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE perspectives, views, and editors ───────────── A-19
Standard perspective ───────────────────────────────────── A-19
Advanced perspective ───────────────────────────────────── A-22
Business Modeler IDE editors ──────────────────────────────── A-26
Eclipse views used by the Business Modeler IDE ───────────────────── A-56

Glossary B-1

Tables

7-1. Encodings for Oracle databases ───────────────────────── 7-6


7-2. Encodings for MS SQL databases ──────────────────────── 7-8

14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business
Modeler IDE
Introduction to the Business Modeler IDE ────────────────────── 1-1
Before you begin ────────────────────────────────────── 1-1
Business Modeler IDE interface ───────────────────────────── 1-3
Business Modeler IDE interface overview ────────────────────────── 1-3
Business Modeler IDE menu commands ─────────────────────────── 1-5
Set favorites in the Business Modeler IDE ───────────────────────── 1-11
Filter visible elements in the Business Modeler IDE ─────────────────── 1-12
Basic concepts for using the Business Modeler IDE ─────────────── 1-14
What is the Business Modeler IDE used for? ──────────────────────── 1-14
Why create business objects? ──────────────────────────────── 1-14
Introduction to templates ────────────────────────────────── 1-15
Understanding custom versus COTS templates ────────────────────── 1-16
Basic tasks when using the Business Modeler IDE ──────────────── 1-16
Using the Business Modeler IDE for the first time ──────────────── 1-17
Basic process for using the Business Modeler IDE to create data model definitions
─────────────────────────────────────────────── 1-17
Create a sample new business object ─────────────────────────── 1-18
Save your changes in the Business Modeler IDE ───────────────────── 1-24

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business
Modeler IDE
Introduction to the Business Modeler IDE
The Business Modeler IDE (Integrated Development Environment) is a tool for configuring and extending
the data model of your Teamcenter installation. The data model objects define the objects and rules
used in Teamcenter.

Administrators and business analysts use the IDE to:

• Create new data model elements.

• Perform C++ customizations.

• Migrate data using the Mapping Designer.

Note:
• The Business Modeler IDE is built on top of the Eclipse platform. Eclipse is a generic platform for
tool development that is extended using its plug-in and extension point technology.

• For Business Modeler IDE best practices, see the Business Modeler IDE Best Practices Guide on
GTAC (Global Technical Access Center). You must have a WebKey account to access this page.

Before you begin

Prerequisites The following are required on the client that runs the Business Modeler IDE:

• Supported operating system


The Business Modeler IDE is supported on Windows, SUSE Linux, and Red
Hat Linux.

• Java
Prior to Teamcenter 10.1, Teamcenter included Java as part of the
installation package. Now, Java is no longer provided with Teamcenter, and
you must install Java before attempting to install the Business Modeler IDE.
Install the following versions:

• Java Runtime Environment (JRE) 7 or later if you install the stand-alone


version of the Business Modeler IDE

Business Modeler IDE PLM00071 11.2 1-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

• Java JDK 7 or later if you install the Business Modeler IDE into an existing
Eclipse environment or if you want to create services

You can download the JRE and JDK from this Web site:

http://www.oracle.com/technetwork/java/javase/
downloads/index.html

Caution:
You must install the 64-bit version of Java if you have a 64-bit
machine and you want to install and run the 64-bit version of
Business Modeler IDE.

Before installing the Business Modeler IDE, you must set the JRE64_HOME
environment variable to point to the location of the 64-bit version of the
JRE on your system. If you do not set this environment variable, you may
not be able to launch Teamcenter Environment Manager (TEM), which is
used to install the Business Modeler IDE.
You must also set the JAVA_HOME and JDK_HOME environment variables
to the location of the JDK.

• One GB of RAM dedicated to the Business Modeler IDE


You can allocate memory to the Business Modeler IDE in the install-
location/bmide/client/BusinessModelerIDE.ini file and in a
BMIDE_SCRIPT_ARGS environment variable.

Note:
If you perform live updates, you must have a minimum of 2 GB of
RAM on the system running the Business Modeler IDE to allow for
other processes.

• Eclipse 3.8
This is required only if you install the Business Modeler IDE into an
existing Eclipse installation.

• Administrator rights
Users of the Business Modeler IDE must be members of the database
administrators (dba) group on the Teamcenter server. Use the
Organization application in the Teamcenter rich client to add a user to the
dba group.

• A C++ compiler for compiling code. For supported versions, see the
hardware and software certifications page on GTAC.

1-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE interface overview

When using Windows, use Visual Studio. If compiling on a 64-bit machine,


you must install the x64 Compilers and Tools option to Visual Studio.

Install the To install the Business Modeler IDE, you must install it either as a stand-alone
Business Modeler application, or place the plug-ins into an existing Eclipse environment.
IDE

Start the Business To start the stand-alone Business Modeler IDE application, run bmide.bat
Modeler IDE (Windows) or bmide.sh (Linux). To start the Business Modeler IDE when it is
distributed in an Eclipse environment, run eclipse.exe.

Configure the Before you can use the Business Modeler IDE, you must configure it by
Business Modeler creating a project, setting preferences, and creating a server profile.
IDE

Note:

For Business Modeler IDE best practices, see the Business Modeler IDE Best Practices Guide on
GTAC (Global Technical Access Center) at the following URL.

Business Modeler IDE interface

Business Modeler IDE interface overview

The Business Modeler IDE utilizes the Eclipse user interface, which is composed of perspectives, views,
and editors. A perspective is an arrangement of views. A view is a tabbed window within the UI that
provides a view of data. An editor is a window that allows you to edit source files. The user can
rearrange the user interface in any configuration by dragging and dropping views and editors.

The examples provided are a common arrangement of the interface.

The user interface is comprised of two perspectives, Standard and Advanced. To open one of these
perspectives, choose Window→Open Perspective.

• Standard perspective
Provides a simplified user interface. It contains the BMIDE view, which provides a centralized location
for favorites, data model elements, and project files.

Business Modeler IDE PLM00071 11.2 1-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

1 Toolbar Contains buttons for the most commonly used actions.

2 BMIDE view Provides a single view for favorites, data model


elements, and project files.

3 Editor Allows users to edit data model elements.

4 BMIDE Assistant view Helps new users get started using the Business Modeler
IDE.

5 Help view Provides online help for the Business Modeler IDE. You
can launch this view by pressing the F1 key or clicking
the question mark button ? in the lower left corner of
any dialog box.

• Advanced perspective
Provides a full-featured user interface. Contains separate views for business objects, classes, project
files, and data model extensions.

1-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE menu commands

1 Toolbar Contains buttons for the most commonly used actions.

2 Business Objects view Displays business objects, the fundamental objects that
model business data.

3 Extensions view Displays extensions to the data model.

4 Editor Allows users to edit data model elements.

5 BMIDE Assistant view Helps new users get started using the Business Modeler
IDE.

6 Help view Provides online help for the Business Modeler IDE. You
can launch this view by pressing the F1 key or clicking
the question mark button ? in the lower left corner of
any dialog box.

Business Modeler IDE menu commands

The following is a list of menu commands from the Business Modeler IDE user interface. The commands
are found in the menu bar and toolbar at the top of the window, and on the shortcut menu when you
right-click in the user interface.

Business Modeler IDE PLM00071 11.2 1-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

Menu command Description

Add Business Object Creates a business object, the fundamental object that
models business data.

Add Condition Creates a conditional rule.

Add Id Context Creates an ID contexts for use with alias or alternate


identifiers.

Add LOV Creates a list of values.

Add Naming Rules Creates a rule to define how an object is named.

Add Status Creates a workflow status.

Add to Favorites Adds the selected data model element to the favorites list.

Back Returns to the previous business object that was selected in


the view. (This menu item is available only in the Advanced
perspective.) You can also use the menu next to the button
to choose one of the previous classes.

Bookmarks Provides a list of bookmarked business objects. (This menu


item is available only in the Advanced perspective.) Pull
down the menu and choose a bookmark to select a business
object in the view. The list of bookmarks is preset with some
of the common business objects. You can also add business
objects to the list using the Add Bookmark menu command
on the shortcut menu.

Delete Deletes the selected data model elements. You can only
delete custom objects.

Deploy Template Sends extensions to a server.

Editors Displays the following menu commands:

• Global Constants Editor


Edits the values of global constants.

1-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE menu commands

Menu command Description

• GRM Rules Editor


Edits Generic Relationship Management (GRM) rules.

• Verification Rules Editor


Specifies when Teamcenter Component objects can be
used in Teamcenter.

• Event Type Mappings Editor


Displays characteristics of the selected event mapping.

Filter Displays the following menu commands when you right-click


an object.

• Hide all COTS object elements


Hides all commercial-off-the-shelf (COTS) objects and
displays only the custom data model elements.

• Hide this folder and all objects below


Hides the selected folder and its contents.

• Customize Hidden Groups


Allows you to select the data model elements to display in
the user interface.

Find object Searches for a data model element. This menu command
appears when you right-click an object or folder.

Forward Displays the next business object that was selected in the
view. (This menu item is available only in the Advanced
perspective.) You can also use the menu next to the button
to choose one of the next business objects.

Generate Code→C++ Generates C++ source code for the selected business object.
Classes

Hide COTS Hides the COTS (commercial-off-the-shelf) data model


elements and displays only the custom data model elements
you have created.

Navigate Displays the following menu commands:

• Expand Selection

Business Modeler IDE PLM00071 11.2 1-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

Menu command Description

Expands all the child objects below the selected business


object.

• Collapse Selection
Collapses all the child objects below the selected business
object.

• Go to→Parent
Takes you to the parent business object.

New object Runs a wizard to add a new object. This menu command
appears when you right-click an object or folder.
You can also add objects using the New Model Element
button .

New Model Element Adds custom data model elements.

Open Opens the selected object.

Open Event Type Displays an editor to connect an event to a business object


Mappings Editor type.

Open Global Constants Allows you to modify existing global constants.


Editor

Open GRM Rules Editor Allows you to add, modify, or remove Generic Relationship
Management (GRM) rules. A GRM rule applies constraints on
the relationship between two business objects.

Open in UML Editor Displays the business object in the UML editor. Also creates
a .tmd file for the UML view of the business object and
places this file in the Project Files\output folder.

Open Verification Rules Displays available verification rules that specify when
Editor Teamcenter Component objects can be used in Teamcenter.

Organize Displays the following menu commands when you right-click


a data model element:

• Set active extension file

1-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE menu commands

Menu command Description

Sets the file in which to place model changes. The


extension files reside in the Project Files\extensions
folder of the project.

• Move to Extension File


Moves the selected custom model element to a file in
which model changes are placed. This menu command is
enabled only when a custom item is selected (custom
items appear with a c symbol). The extension file resides
in the Project Files\extensions folder of the project.

• Set as active Library


Sets the selected library as the one in which to save library
objects. This menu command is enabled only when a
library is selected in the Extensions\Code Generation
\Libraries folder.

• Set as active Release


Sets the selected release as the one in which to associate
custom data model elements. This menu command is
enabled only when a release level is selected in the
Extensions\Code Generation\Releases folder.

Organize Extensions Displays the following menu commands:

• Set active extension file


Sets the file in which to place model changes. The
extension files reside in the Project Files\extensions
folder of the project.

• Add new extension file


Adds a file in which to place model changes.

• Move Model Elements to Extensions File


Moves the selected custom model elements to a file in
which model changes are placed. This menu command
appears only when a custom item is selected (custom
items appear with a c symbol). The extension file resides
in the Project Files\extensions folder of the project.

• Add localization files


Adds language support files. The files reside in the Project
Files\extensions\lang folder.

Business Modeler IDE PLM00071 11.2 1-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

Menu command Description

• Import a localization file


Imports language support files from an external source.
The files are imported to the Project Files\extensions
\lang folder.

Package Template Packages the custom data model objects for installation to a
Extensions production server.

Reload Data Model Reloads the data model for the selected project.

Rename Applies a new name to the business object.

Reports Runs reports on the data model in the selected project.

Save Data Model Saves the custom data model objects in the project.

Search Conditions Allows you to look for conditions in the system. Conditions
are conditional statements that resolve to true or false. You
can also see all the conditions in the Extensions view in the
Rules→Conditions folder.

Tools Displays the following menu commands:

• Merge Samples
Provides samples to learn how to use the live update
merge tool

• Push Template to Reference Directory


Copies a template to a reference directory so that you can
build another project on top of it.

Upgrade Tools Displays the following menu commands:

• Re-run Template Project Upgrade Wizard


Upgrades the project template to the newest version of
the Business Modeler IDE.

• Property Name and Relation Name Migration Wizard


Migrates the text for property and relation names from a
previous project.

1-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Set favorites in the Business Modeler IDE

Menu command Description

• Default Location Creation Wizard


Creates a default set of localization files for an upgraded
project.

• Preferences Migration Wizard


Migrates your custom preferences to data model objects,
such as business object constants.

Set favorites in the Business Modeler IDE

The Favorites folder holds data model elements for quick access.

To add elements to the Favorites folder, right-click an element and choose Add to Favorites from the
context menu, or click the Add to Favorites button on an editor.

Business Modeler IDE PLM00071 11.2 1-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

Filter visible elements in the Business Modeler IDE

Filtering hides the selected element category or only hides COTS (commercial-off-the-shelf) elements.
This reduces screen clutter.

• Hide elements
Right-click a folder and choose Filter→Hide All COTS element-name elements or Hide this folder
and all element-name below.

• Customize hidden groups


Choose Filter→Customize Hidden Groups to quickly hide entire categories of element types.

1-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Filter visible elements in the Business Modeler IDE

• Configure business objects to display


To filter business objects, right-click the Business Objects folder and choose Filter→Configure
Business objects to display.

Select the Customize Business Objects to Show check box to display only the selected business
object types.

Business Modeler IDE PLM00071 11.2 1-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

Basic concepts for using the Business Modeler IDE

What is the Business Modeler IDE used for?

The Business Modeler IDE is a tool for adding your own data model objects on top of the default
Teamcenter data model objects. The Business Modeler IDE accomplishes this by separating your data
model into its own set of files that are kept apart from the standard data model, known as the COTS
(commercial off-the-shelf) data model.

Data model objects are collected into templates that contain the data model for an application (also
known as a solution). For example, the foundation_template.xml file contains the data model for the
Foundation solution, the base Teamcenter application. When you use the Business Modeler IDE to create
data model, your data model is rolled up into its own template.

As you develop data model, you can deploy it onto a test server to verify that it behaves the way you
want it to. After you are finished testing, you can package the data model into a template that can be
installed to a production server using Teamcenter Environment Manager (TEM).

Why create business objects?

Business objects are the fundamental objects used to model business data. Business objects were
formerly known as types in Engineering Process Management. One of the most important jobs you
perform in the Business Modeler IDE is to create business objects to represent different kinds of parts,

1-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to templates

documents, change processes, and so on. Your company uses business objects to organize all the things
it produces into categories for accuracy and consistency.

Siemens PLM Software strongly urges you to plan out your business object creation. Perform an object-
oriented analysis to determine the optimal business object structure, and the custom properties you
want to place on the new business objects.

Typically, you start by creating new business objects as children of the Part business object to represent
product parts, and children of the Design business object to represent designs. (This automatically
creates a master form, a revision, and an revision master form.) You also use the Dataset business
object to represent a file from a specific software application. (For example, files created in Microsoft
Word are represented by the MSWord dataset object, text files are represented by the Text dataset
object, and so on.)

Introduction to templates

A template is an XML file that contains the data model for an application (also known as a solution). For
example, the foundation_template.xml file contains the data model for the Foundation solution, the
base Teamcenter application. When you use the Business Modeler IDE to create data model, the new
data model is rolled up into a template.

You can deploy your template to a Teamcenter test server for testing purposes by choosing
BMIDE→Deploy Template on the menu bar. This is also known as live update. You can also use live
update to send operational data such as LOVs and rules to a production server.

You can also package your data model into a template for installation to a Teamcenter production
server by choosing BMIDE→Package Template Extensions.

Templates can exist in three locations:

• install-location\bmide\templates
This folder stores templates that are used for reference only within the Business Modeler IDE. The
templates in this location are used when you create a project, and supply the base model for your
data model extensions. This folder is of interest only to the Business Modeler IDE and does not affect
your database status.

• TC_DATA\model
This folder represents the current status of your database. Templates are placed here when you use
Teamcenter Environment Manager (TEM) to install Foundation or new templates, or when you deploy
templates from the Business Modeler IDE to a test server. All Business Modeler IDE utilities that update
the database look here to find the templates to be applied to the database. This is a crucial folder for
any installation or upgrade that makes database changes.

• workspace-location\version\project\output\packaging
This folder is the default location where templates are packaged by the Business Modeler IDE.
Templates here are a consolidation of all data model extensions you performed in your project. Once
generated, you can open the template file and dependency file and verify for correctness. If you also

Business Modeler IDE PLM00071 11.2 1-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

have an installation of Teamcenter to which you want to install your template using the TEM
installer, you browse to this location to obtain the template during the installation.

Understanding custom versus COTS templates

Custom data model objects are those objects you create and store in a custom template. COTS
(commercial-off-the-shelf) data model objects are the objects that your custom data model objects are
dependent on. Therefore, custom templates are dependent on COTS templates. You can change or
delete only the custom objects in the data model.

The Foundation template is always a COTS template. When a customer creates the CCC_DEV template, it
is considered custom. If a customer provides their template to a partner to extend, the CCC_DEV
template is a COTS template to the partner. The Partner template is considered custom to the partner.

Custom versus COTS template example

Note:
The state of the COTS or custom templates is not stored in the database, but is determined at run
time by the Business Modeler IDE.

Basic tasks when using the Business Modeler IDE


Perform the following main tasks in the Business Modeler IDE:

1. Create a template project to hold your custom data model.

1-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Basic process for using the Business Modeler IDE to create data model definitions

2. Create data model objects to represent objects in Teamcenter.

a. Create business objects.

b. Create properties on the business objects.

c. Create lists of values for the properties.

d. Create rules for the business objects.

3. Deploy the template to a test server for verification.

4. Package the files so the template can be installed to a production server.

5. Install the template to a production server.

Using the Business Modeler IDE for the first time

Basic process for using the Business Modeler IDE to create data model
definitions

Whenever you extend the data model using the Business Modeler IDE, you follow this process.

1. Ensure that you have created a Business Modeler IDE template project.
Before you can extend the Teamcenter data model, you must create a template project. A project
provides an environment that manages your Teamcenter data model extensions in a template. The
project contains folders and files that are used to organize your template XML files and to package
your template for deployment.

2. Perform the extension work.


For example, create a new business object, list of values, and so on.

3. Save your work.


Choose BMIDE→Save Data Model, or click the Save Data Model button on the main toolbar.

Note:
To check for data model errors, right-click your project and select Reload Data Model. See
the Console view for errors.

4. Verify your extensions by deploying them to a Teamcenter test server.


Choose BMIDE→Deploy Template on the menu bar.

Business Modeler IDE PLM00071 11.2 1-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

5. After you verify your extensions, you can package your data model into a template that can be
installed on a production server.

Note:

For Business Modeler IDE best practices, see the Business Modeler IDE Best Practices Guide
on GTAC (Global Technical Access Center). You must have a WebKey account to access this
page.

Create a sample new business object

A good way to learn how to use the Business Modeler IDE is to create a new business object. Business
objects are the fundamental objects used to model data. Create business objects to represent product
parts, documents, change processes, and so on.

This example shows you how to create a child of the Item business object. Item is the most common
business object under which children are created, and it is used to represent product parts.

Perform the following steps to create a child of the Item business object:

1. Right-click the project in which you want to create the new business object and choose
Organize→Set active extension file.

2. On the menu bar, choose BMIDE→New Model Element.


The Model Element Type wizard is displayed.

1-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a sample new business object

3. Type Item in the Wizards box and click Next.


The Business Object wizard is displayed.

Business Modeler IDE PLM00071 11.2 1-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

4. In the Business Object dialog box, enter the following information:

a. The Project box shows the project to which this new extension is added.

b. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A5_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. In the Parent box, Item is already selected as the parent business object.

e. Click Next.

1-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a sample new business object

5. The Business Object dialog box displays the name of the revision to be created in the Name box,
and displays the parent of the revision in the Parent box. You cannot change these values.

a. In the Display Name box, type the name of the item revision as you want it to appear in the
user interface.

b. In the Description box, type a description of the new business object revision.

Business Modeler IDE PLM00071 11.2 1-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

c. Click Finish.
The new business object appears in the BMIDE view. A c on the business object symbol
indicates that it is a custom business object.

6. Right-click the new business object and choose Add to Favorites. To find this business object later,
click the Favorites folder at the top of the BMIDE view.

7. When you create an item business object, revision and form business objects are also created. To
see them, click the Find button and clear the COTS check box in the Find BMIDE Element
dialog box.

1-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a sample new business object

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.
If you set the active extension file as the default.xml file, the changes are saved in that file. To see
the changes made to this file, open the Project Files folder, expand the extensions folder, and
right-click the default.xml file and choose Open With→Text Editor.

Caution:
You should never manually edit the XML files since this may corrupt data.
An exception to this rule is if you are using a source control management (SCM) system and
you need to merge changes from two or more users in one file. In this case, you need to
manually edit the file. After you complete the edit, save the file, and right-click in any view
and choose Reload Data Model. The Business Modeler IDE reloads all the XML definitions
from the source and validates them for correctness. If there are any issues with the XML files
or definitions, they are displayed in the Console view.

9. To deploy the changes to the test server, choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

10. After deployment, test your new business object in the Teamcenter rich client by creating an
instance of it.
For example, in the My Teamcenter application, choose File→New→Item. Your new business
object appears in the New Item dialog box. Choose your new business object and create an
instance of the object.

Business Modeler IDE PLM00071 11.2 1-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

Save your changes in the Business Modeler IDE

1. Before extending the data model, you should have chosen the file where to save your work. Right-
click the project where you want to save your work and choose Organize→Set active extension
file.

2. Perform your extension task. For example, create a new business object, a new LOV, a new rule,
and so on.

3. After you finish performing your extension, choose BMIDE→Save Data Model, or click the Save
Data Model button on the main toolbar. The extension work is saved in the extension file you
selected earlier.

Note:
To check for data model errors, right-click your project and select Reload Data Model. See
the Console view for errors.

4. To see your extension work in the extension file, open the Project Files folder, expand the
extensions folder, and right-click the extensions file (for example, default.xml) and choose Open
With→Text Editor. The file opens in an editor view, where you can examine the extension source
code.

5. After saving changes, you can deploy the changes to the test serverby running the Deploy
wizard.

1-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Save your changes in the Business Modeler IDE

Note:
If you are using a source control management (SCM) system with Eclipse, your project must be
under source control so that the files can be saved.
If the project is under source control but is not hooked up to the SCM plug-in, when you use the
Save Data Model option, a dialog box asks if the files are to be made writable. If you choose Yes,
the files are made writable outside of the control of the SCM system, and if you choose No the
save operation is aborted. The recommended option is to choose No and hook up the project to
the SCM plug-in, or check out the files manually. If you choose Yes, you must synchronize the
modified files with the SCM system.
For information about how to install an SCM plug-in and hook it up to a Business Modeler IDE
templates project, refer to the documentation provided by the SCM plug-in.

Business Modeler IDE PLM00071 11.2 1-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
1. Getting started with the Business Modeler IDE

1-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE
Business Modeler IDE workshops ─────────────────────────── 2-1
Preparing to use the Business Modeler IDE workshops ────────────────── 2-1
Workshop 1: Create a template project ─────────────────────────── 2-1
Workshop 2: Explore the user interface ─────────────────────────── 2-2
Workshop 3: Create a new item type ───────────────────────────── 2-5
Workshop 4: Create custom properties ─────────────────────────── 2-10
Workshop 5: Display custom properties in the client user interface ────────── 2-15
Workshop 6: Create lists of values ───────────────────────────── 2-23
Workshop 7: Add a naming rule ─────────────────────────────── 2-30
Workshop 8: Create a form ────────────────────────────────── 2-34
Workshop 9: Add a relationship rule ──────────────────────────── 2-38
Workshop 10: Add deep copy rules ───────────────────────────── 2-42
Workshop 11: Add a business object display rule ───────────────────── 2-48
Workshop 12: Add a predefined extension rule ───────────────────── 2-53
Workshop 13: Add a compound property ───────────────────────── 2-58
Business Modeler IDE process ───────────────────────────── 2-68
Business Modeler IDE process overview ────────────────────────── 2-68
Develop and test extensions ───────────────────────────────── 2-68
Deploy a template to a production site ─────────────────────────── 2-70
Edit extensions in a live production site ────────────────────────── 2-71
Control Business Modeler IDE elements that can be updated live ─────────── 2-71
Edit live data ────────────────────────────────────────── 2-72
Incorporate live data updates from the production site ───────────────── 2-72
Data model concepts ────────────────────────────────── 2-74
Teamcenter data model overview ───────────────────────────── 2-74
POM schema ────────────────────────────────────────── 2-76
Schema versus nonschema objects ───────────────────────────── 2-77
Viewing POM schema ───────────────────────────────────── 2-77
Class structure and attribute inheritance ───────────────────────── 2-79
Development environments ────────────────────────────── 2-81
Single production database environment ───────────────────────── 2-81
Test and production database environment ──────────────────────── 2-81
User testing environment ─────────────────────────────────── 2-82
Multiple developer environment ────────────────────────────── 2-82
SCM system ──────────────────────────────────────── 2-84
Using a source control management (SCM) system to manage files ───────── 2-84
Selecting a source control management (SCM) system ───────────────── 2-84
Getting started with a source control management system (SCM) ────────── 2-85
Business Modeler IDE help ─────────────────────────────── 2-86
Accessing help in the Business Modeler IDE ──────────────────────── 2-86
Configure help on Linux systems ────────────────────────────── 2-87
Add a topic to the Business Modeler IDE online help ────────────────── 2-87
Create a new online help book in the Business Modeler IDE ────────────── 2-88
Access Eclipse help over the Web ────────────────────────────── 2-90

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE
Business Modeler IDE workshops

Preparing to use the Business Modeler IDE workshops

The Business Modeler IDE workshops guide you through what is perhaps the most common
configuration scenario: using the Business Modeler IDE to create and configure new item types.

The workshops show you how to create a business object to represent a part and how to add pieces to
the business object to make them fully functional, such as properties, naming rules, lists of values,
relationship rules, and deep copy rules. The workshops build on one another, and when you are
finished, you will have a representative set of custom functionality.

Before performing these workshops, you should install the following:

• The Business Modeler IDE

• A test Teamcenter server to which you can deploy your custom data model

• A rich client to connect to the test server

Workshop 1: Create a template project

Perform this workshop to create a template project to hold your customizations.

1. Choose File→New→Project→Business Modeler IDE→New Business Modeler IDE Template


Project.

Business Modeler IDE PLM00071 11.2 2-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

2. In the Prefix box, type A5_ as the prefix to use for the project. This prefix is placed on every data
model item you create to identify it as belonging to this project.

3. In the Template name box, type a5workshop.

4. In the Template display name box, type Workshop.

5. In the Template description box, type a brief description of the template.

6. Click Finish.

Workshop 2: Explore the user interface

Perform this workshop to become familiar with the Business Modeler IDE user interface.

1. In the BMIDE view of the Standard perspective, expand the workshop project.

2. Expand the Business Objects folder and notice how the types (business objects) are arrayed in a
hierarchical tree. Child types inherit their characteristics from their parents. Expand the Extensions
folder and notice all the other types of data model objects you can create.

3. Click the Find button on the BMIDE view toolbar and search for Item.

4. Double-click the Item business object and click the Properties tab to view properties on the
business object, such as the item_id property. This is where you can add new properties to
business objects.

2-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 2: Explore the user interface

5. Close the Business Objects folder and open the Project Files folder. The extensions\default.xml
file contains the custom data model you create. The output folder contains files generated when
you deploy your project to a server or package your project into a template.
These files are maintained in the project workspace, which is located at installation-location\bmide
\workspace\version\workshop\.

6. To see the project properties, right-click the workshop project and choose Properties. You can
change the project settings here.

Business Modeler IDE PLM00071 11.2 2-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

7. To verify that you have a server connection profile to connect to your test server, choose
Window→Preferences→Teamcenter→Server Connection Profiles. This profile was set up
automatically when you installed the Business Modeler IDE.

8. You can access online help by pressing the F1 key or clicking the question mark button in the
lower left corner of a dialog box.

2-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 3: Create a new item type

To access the online manual, choose Help→Help Contents, and in the Help window, choose
Business Modeler IDE in the left pane.

Workshop 3: Create a new item type

Perform this workshop to create custom item business objects to represent new types of objects.

1. Create a new item to represent a part.

a. On the toolbar, choose BMIDE→New Model Element.


The Model Element Type wizard is displayed.

Business Modeler IDE PLM00071 11.2 2-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

b. Type Item in the Wizards box and click Next.


The Business Object wizard is displayed.

2-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 3: Create a new item type

c. Name the item A5_WorkshopPart and specify the display name as Workshop Part.

Note:
You could add custom properties in this dialog box, but instead you add them later on
the Properties tab of the new business object.

d. Click Finish.

2. Deploy the changes to the rich client.

a. On the menu bar, choose BMIDE→Save Data Model to save your changes.

b. Ensure that the Teamcenter test server is running.

c. On the menu bar, choose BMIDE→Deploy Template. Type the password and click the
Connect button to establish a connection with the server.

Business Modeler IDE PLM00071 11.2 2-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

d. Select the Generate Server Cache? check box to generate shared server cache that contains
the new data model.

Note:
If you do not select the Generate Server Cache? check box when you deploy schema
changes (for example, changed business objects and properties), when you log on to
the test server, you may see the following message:

The schema file is out of date. Please regenerate.

e. Click Finish.

f. When deployment is done, check the status in the Console view.

2-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 3: Create a new item type

g. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

Note:
If your changes still do not appear in the user interface, delete the Teamcenter
subdirectory in the user’s home directory on the client. This directory is automatically
created again when the user starts the rich client.
On a Windows client, it is typically the Users\user-name\Teamcenter directory on
Windows 7. On a Linux client, it is typically the $HOME/Teamcenter/ directory.

3. Verify creation of the new item.

a. Run the rich client.

b. In My Teamcenter, choose File→New→Item and select Workshop Part from the list.

c. Click Next to create an instance of the item.

Business Modeler IDE PLM00071 11.2 2-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Note:
You can create your own custom icon to assign to the new business object.

Workshop 4: Create custom properties

Perform this workshop to create new properties to contain information for your custom workshop part
business object. (Properties contain object information such as name, number, description, and so on.)

1. When you create an item business object, revision and form business objects are also created. To
see them, click the Find button and clear the COTS check box in the Find BMIDE Element
dialog box.

2. Select the A5_WorkshopPart business object. When it opens, click the Properties tab.

2-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 4: Create custom properties

3. To the right of the Properties tab, click the Add button, select the Persistent property type, and
click Next.
The Persistent Property dialog box is displayed.

4. Add the following persistent properties.

Business Modeler IDE PLM00071 11.2 2-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Name Display name Attribute type

a5_supplier Supplier LongString

a5_safety_code Safety Code Integer

When you create the properties, ensure that the Show this property during creation of a
Business Object check box is selected.

5. Enable the new properties for use in the client user interface using the Enabled properties
constant.

a. Select the new property in the properties table.

b. In the Property Constants table, select the Enabled constant.

c. Verify that its value is set to true.


If it is not, click the Edit button to the right of the Property Constants table and select the
Value check box to set it to true.

d. Repeat these steps for all the custom properties.

6. Select the A5_WorkshopPartRevision business object. Open it and click the Properties tab.

2-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 4: Create custom properties

7. To the right of the Properties tab, click the Add button, and select the Persistent property type,
and click Next.

8. Add the following persistent properties.

Name Display name Attribute type

a5_weight Weight Double

a5_material_code Material Code String

a5_material_description Material LongString


Description

When you create the properties, ensure that the Show this property during creation of a
Business Object check box is selected.

9. Enable the new properties for use in the client user interface using the Enabled properties
constant.

10. Deploy the changes to the rich client.

a. On the menu bar, choose BMIDE→Save Data Model to save your changes.

b. Ensure that the test server is running.

c. On the menu bar, choose BMIDE→Deploy Template. Type the password, click the Connect
button, and when a connection is established, select the Generate Server Cache? check box
and click Finish.

d. When deployment is done, check the status in the Console view.

e. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

Business Modeler IDE PLM00071 11.2 2-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Note:
If your changes still do not appear in the user interface, delete the Teamcenter
subdirectory in the user’s home directory on the client. This directory is automatically
created again when the user starts the rich client.
On a Windows client, it is typically the Users\user-name\Teamcenter directory on
Windows 7. On a Linux client, it is typically the $HOME/Teamcenter/ directory.

11. Verify the new properties in the user interface.

a. Run the rich client.

b. In My Teamcenter, choose File→New→Item and select Workshop Part from the list.
The new custom item properties appear in the item creation dialog box. This is a result of
adding the properties using the Show this property during creation of a Business Object
check box in the New Property dialog box. (Selecting this check box also places the
properties on the CreateInput operation on the Operation Descriptor tab in the Business
Modeler IDE.)

c. Click Next to create the master form for the workshop part.

d. Click Next to see the new custom item revision properties in the item revision creation dialog
box.

2-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 5: Display custom properties in the client user interface

The properties do not automatically appear elsewhere in the user interface unless you make
some additional changes.

Workshop 5: Display custom properties in the client user interface

Object properties (such as name, number, description, and so on) are displayed in many places in the
user interface. Perform this workshop to display the custom properties for the workshop part in the
Summary tab and the Viewer tab using XML style sheets. XML style sheets allow you to change
display in both the rich client and thin client interfaces.

Note:
Although this is not a Business Modeler IDE exercise, it is important to know how to display your
custom properties in the client so that you can take full advantage of the custom properties you
create in the Business Modeler IDE. XML style sheets are only one method you can use to display
custom properties. Othersinclude creating your own Java forms and exposing the custom
properties using JavaBeans or abstract rendering.

1. Find style sheets in the rich client.

a. Click the Open Search View button on the menu bar .

b. Click the arrow on the Select a Search button and choose General.

Business Modeler IDE PLM00071 11.2 2-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

c. Clear the Owning User and Owning Group boxes.

d. In the Type box, type XMLRenderingStylesheet.


To find all style sheets for items or item revisions, type *Item* in the Name box. (You want to
find item and item revision style sheets because the workshop part is based on the item
business object, and you want to use the same types of style sheets.)

e. Press the Enter key or click the Execute the Search button .
The results are displayed in the Search Results view.

2-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 5: Display custom properties in the client user interface

f. In the Search Results tab, select the style sheet you want to view. Click the Viewer tab to see
the style sheet.

2. Save style sheets for use with the custom business objects.

a. In the Search Results view, select a style sheet.

Business Modeler IDE PLM00071 11.2 2-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

b. Choose File→Save As to rename the style sheet for use with your custom business object.
Save the following style sheets with new names.

Original XML style sheet Save as

Item A5_WorkshopPart

ItemRevision A5_WorkshopPartRevision

ItemSummary A5_WorkshopPartSummary

BaseItemRevSummary A5_WorkshopPartRevSummary

The new style sheet datasets are saved in your Newstuff folder in the Home view.

c. Change the named reference for the file by selecting each style sheet dataset and choosing
View→Named References. In the Name column in the Named References dialog box,
change the old name of the file to the new save as file name.

3. Register the new style sheets for use with the custom business objects.

2-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 5: Display custom properties in the client user interface

a. Select a custom style sheet, such as A5_WorkshopPart, and click the Viewer tab.

b. In the Viewer tab, click the arrow in the Registered Type box to select the business object
type you want to register it to, and click the arrow in the Stylesheet Type box to select the
place in the user interface where the style sheet is used.

c. Change the file comments at the top of the file as needed. For example, revise the file name
and the description of the file.

d. Click the Apply button in the lower right corner of the view.
Assign the registered type and style sheet type as follows.

Style sheet name Registered type Style sheet type

A5_WorkshopPart Workshop Part Property


(A5_WorkshopPart)

A5_WorkshopPartRevision Workshop Part Revision Property


(A5_WorkshopPartRevision)

A5_WorkshopPartRevSummary Workshop Part Revision Summary


(A5_WorkshopPartRevision)

A5_WorkshopPartSummary Workshop Part Summary


(A5_WorkshopPart)

Business Modeler IDE PLM00071 11.2 2-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

4. Edit the style sheets to include the properties you want displayed in the layout.

a. Select a custom style sheet, such as A5_WorkshopPart, and click the Viewer tab.

b. Add the custom properties.

• Place the following custom item properties in the workshop part style sheets
(A5_WorkshopPart and A5_WorkshopPartSummary):

<property name="a5_supplier"/>
<property name="a5_safety_code"/>

• Place the following custom item revision properties in the workshop part revision style
sheets (A5_WorkshopPartRevision and A5_WorkshopPartRevSummary):

<property name="a5_weight"/>
<property name="a5_material_code"/>
<property name="a5_material_description"/>

c. After making changes, click the Apply button in the lower right corner of the view.

5. Verify the new properties in the user interface.

2-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 5: Display custom properties in the client user interface

a. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

Note:
If your changes still do not appear in the user interface, delete the Teamcenter
subdirectory in the user’s home directory on the client. This directory is automatically
created again when the user starts the rich client.
On a Windows client, it is typically the Users\user-name\Teamcenter directory on
Windows 7. On a Linux client, it is typically the $HOME/Teamcenter/ directory.

b. In My Teamcenter, select a workshop part item and click the Summary tab.
The new properties appear in the user interface.

c. With the workshop part item still selected, click the Viewer tab.

Business Modeler IDE PLM00071 11.2 2-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

d. Select a workshop part item revision and click the Summary tab.

e. With the workshop part item revision still selected, click the Viewer tab.

2-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 6: Create lists of values

Workshop 6: Create lists of values

Perform this workshop to create lists of values (LOVs) that you attach to the safety code and supplier
properties on the workshop part. End users click a menu on these properties to select from a list of
choices.

1. Create the safety codes LOV and attach it to the safety code property.

a. Create the safety codes LOV.

A. In the Extensions folder, right-click the LOV folder and choose New LOV.

B. In the New LOV wizard, ensure Classic is selected and click Next.

C. Perform the following steps in the Classic LOV dialog box:

i. In the Name box, type A5_SafetyCodes.

ii. In the Type box, select ListOfValuesInteger.

iii. Click the Add button to the right of the LOV Values table and add the following
LOVs.

Business Modeler IDE PLM00071 11.2 2-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Value Description

1 Meets safety standards

2 Does not meet safety standards

35 Under review for safety standards

40 Safety approval pending

iv. Click Finish.

b. Attach the safety codes LOV to the safety code property.

A. Open the A5_WorkshopPart business object and click the Properties tab.

B. Select the a5_safety_code property on the properties table.

C. Click the LOV Attaches tab.

D. Click the Add button to the right of the LOV Attaches table.

2-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 6: Create lists of values

E. In the LOV box, select the A5_SafetyCodes LOV.

F. Click Finish.

2. Create the supplier cascading LOV and attach it to the supplier property. A cascading LOV presents
the user with sublists.

a. Create the supplier LOV.

A. In the Extensions folder, right-click the LOV folder and choose New LOV.

B. In the New LOV wizard, ensure Classic is selected and click Next.

C. Perform the following steps in the Classic LOV dialog box:

i. In the Name box, type A5_WestCoastSuppliers.

ii. In the Type box, select ListOfValuesString.

iii. Click the Add button to the right of the LOV Values table and add the following
LOVs.

Business Modeler IDE PLM00071 11.2 2-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Value Value display name

Supplier1 Supplier 1

Supplier2 Supplier 2

iv. Click Finish.

D. Create an A5_EastCoastSuppliers string LOV with the following values.

Value Value display name

Supplier3 Supplier 3

Supplier4 Supplier 4

E. Create an A5_Suppliers string LOV to hold the other LOVs using the following values.

Value

East

West

F. Add the child LOVs to the parent LOV.

i. Open the A5_Suppliers LOV and select the Show Cascading View check box.

ii. Select the East value, click the Add Sub LOV button, and add the
A5_EastCoastSuppliers LOV.

iii. Select the West value, click the Add Sub LOV button, and add the
A5_WestCoastSuppliers LOV.

2-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 6: Create lists of values

b. Attach the suppliers LOV to the supplier property.

A. Open the A5_WorkshopPart business object and click the Properties tab.

B. Select the a5_supplier property in the properties table.

C. On the LOV Attaches tab, click the Add button to the right of the LOV Attaches table.

D. In the LOV box, select the A5_Suppliers LOV.

E. Click Finish.

Business Modeler IDE PLM00071 11.2 2-27


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

3. Deploy the changes to the rich client.

a. On the menu bar, choose BMIDE→Save Data Model to save your changes.

b. Ensure that the test server is running.

c. On the menu bar, choose BMIDE→Deploy Template. Type the password, click the Connect
button, and when a connection is established, select the Generate Server Cache? check box
and click Finish.

d. When deployment is done, check the status in the Console view.

e. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

2-28 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 6: Create lists of values

Note:
If your changes still do not appear in the user interface, delete the Teamcenter
subdirectory in the user’s home directory on the client. This directory is automatically
created again when the user starts the rich client.
On a Windows client, it is typically the Users\user-name\Teamcenter directory on
Windows 7. On a Linux client, it is typically the $HOME/Teamcenter/ directory.

4. Verify the LOVs.

a. Run the rich client.

b. In My Teamcenter, choose File→New→Item, select Workshop Part from the list, and create
an instance of the part.

c. Select the workshop part item and click the Viewer tab.

d. Click the Check-Out button at the bottom of the view and check out the item.

e. Click the arrow in the Suppliers box and select a supplier from the cascading list.

f. Click the arrow in the Safety Code box and select a code from the list.

Business Modeler IDE PLM00071 11.2 2-29


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

g. Click the Save and Check-In button to save your changes to the workshop part.

Workshop 7: Add a naming rule

Perform this workshop to create a rule that defines how IDs are automatically assigned to new workshop
parts. You create a naming rule and attach it to the item_id property on the A5_WorkshopPart
business object. In addition, you turn on number autogeneration so that Teamcenter generates
sequences for the property whenever a user clicks the Assign button.

1. Create the naming rule.

a. In the Extensions folder, select Rules, right-click Naming Rules, and choose New Naming
Rules.

b. In the Name box in Naming Rule dialog box, type A5_WorkshopPartNamingRule.

c. Click the Add button in the Naming Rule dialog box.

d. Perform the following steps in the Pattern dialog box:

A. In the Pattern box, type "Part-"AA"-"nnnn.

B. Select the Generate Counters check box.

C. In the Initial Value box, type Part-AA-0000.

2-30 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 7: Add a naming rule

D. In the Maximum Value box, type Part-ZZ-9999.

E. Click Finish in the Pattern dialog box.

e. Click Finish in the Naming Rule dialog box.

2. Attach the naming rule to the item_id property on the business object.

a. From the Naming Rules folder, open the A5_WorkshopPartNamingRule naming rule.

b. Click the Attach button to the right of the Naming Rules Attachments table.

c. Click the Browse button to the right of the Property box and select the A5_WorkshopPart
business object and the item_id property.

d. Click Finish.

Business Modeler IDE PLM00071 11.2 2-31


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

After the naming rule is attached, the naming rule appears.

3. Deploy the changes to the rich client.

a. Choose BMIDE→Save Data Model to save your changes.

2-32 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 7: Add a naming rule

b. Ensure that the test server is running.

c. On the menu bar, choose BMIDE→Deploy Template. Type the password, click the Connect
button, and when a connection is established, select the Generate Server Cache? check box
and click Finish.

d. When deployment is done, check the status in the Console view.

e. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

Note:
If your changes still do not appear in the user interface, delete the Teamcenter
subdirectory in the user’s home directory on the client. This directory is automatically
created again when the user starts the rich client.
On a Windows client, it is typically the Users\user-name\Teamcenter directory on
Windows 7. On a Linux client, it is typically the $HOME/Teamcenter/ directory.

4. Verify the naming rule.

a. Run the rich client.

b. In My Teamcenter, choose File→New→ Item, select Workshop Part from the list, and click
Next.

c. Click the Assign button.


You see the new naming rule in effect on the item revision creation dialog box.

Business Modeler IDE PLM00071 11.2 2-33


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Workshop 8: Create a form

Perform this workshop to create a form to hold object properties. Although there is a master form for
each item business object, and a master revision form for each item revision business object, you can
create additional forms to hold properties.

1. Create a new form.

a. Click the Find button on the BMIDE view toolbar and search for the Form business object.

b. Right-click the Form business object in the BMIDE view and choose New Business Object.

c. Name the form A5_WorkshopMfgForm and give it the display name Workshop Mfg Form.

d. Click the Add button to the right of the Properties table an add the following properties.

Name Display name Attribute type

a5_cost Cost Double

a5_site Site LongString

2-34 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 8: Create a form

Note:
If you want to attach an LOV to these properties on a form business object, attach the
LOV to the same property on the form’s parent business object. The parent serves as the
storage class for the properties on the children. Unless you do this, the LOV is not
attached to the property and does not display in the end user interface.

e. Click Finish.

2. Enable the new properties on the form for use in the client user interface using the Enabled
properties constant.

a. In the BMIDE view, open the A5_WorkshopMfgForm business object and click the Properties
tab.

b. Select the new a5_cost property in the properties table.

c. On the Property Constants tab, select the Enabled constant.

Business Modeler IDE PLM00071 11.2 2-35


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

d. Ensure that the Enabled constant is set to true. If it is not, click the Edit button to the right of
the Property Constants table and select the Value check box to set it to true.

e. Repeat these steps for the new a5_site property.

3. Deploy the changes to the rich client.

a. On the menu bar, choose BMIDE→Save Data Model to save your changes.

b. Ensure that the test server is running.

c. On the menu bar, choose BMIDE→Deploy Template. Type the password, click the Connect
button, and when a connection is established, select the Generate Server Cache? check box
and click Finish.

d. When deployment is done, check the status in the Console view.

e. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

2-36 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 8: Create a form

Note:
If your changes still do not appear in the user interface, delete the Teamcenter
subdirectory in the user’s home directory on the client. This directory is automatically
created again when the user starts the rich client.
On a Windows client, it is typically the Users\user-name\Teamcenter directory on
Windows 7. On a Linux client, it is typically the $HOME/Teamcenter/ directory.

4. Create an instance of the new form in the user interface.

a. Run the rich client.

b. In My Teamcenter, select a workshop part revision that you already created and choose
File→New→Form.

c. In the New Form wizard, select Workshop Mfg Form from the list and click Next.

d. Give the form a name.


Note how the new properties are displayed on the form. Click Finish.

Business Modeler IDE PLM00071 11.2 2-37


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

The new form is added under the workshop part revision.

Workshop 9: Add a relationship rule

Perform this workshop to create a Generic Relationship Management (GRM) rule to limit the number
of A5_WorkshopMfgForm forms that can be related to a workshop part revision.

GRM rules apply constraints on the relationship between two business objects. When you create a GRM
rule, you select the primary and secondary business objects for the relationship, the relationship they
have to one another, and the constraints to be applied.

2-38 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 9: Add a relationship rule

1. Temporarily add a new form to the workshop part revision.

a. Currently, there is no limit on the number of Workshop Mfg Form (A5_WorkshopMfgForm)


forms that can be added to a workshop part revision.
To illustrate this, in the rich client, select the workshop part revision that already has a
Workshop Mfg Form form on it, choose File→New→Form, and create another Workshop
Mfg Form form.
The new form is added under the workshop part revision. Notice how the forms are related to
the revision with the Specifications relation.

b. Delete the new form.


This was just to show that there are no restrictions in place yet for the number of this type of
form you can relate to the workshop part revision. In the following steps, you create a rule to
allow only one of this form type to be related to the revision.

2. Create the GRM rule.

a. Click the Find button on the BMIDE view toolbar and search for the
A5_WorkshopPartRevision business object.

b. Open the A5_WorkshopPartRevision business object and click the GRM Rules tab.

c. Click the Add button to the right of the table.

d. Perform the following steps in the GRM Rule dialog box:

A. Click the Browse button to the right of the Primary Object box and select the
A5_WorkshopPartRevision business object.

Business Modeler IDE PLM00071 11.2 2-39


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

B. Click the Browse button to the right of the Secondary Object box and select the
A5_WorkshopMfgForm business object.

C. Click the Browse button to the right of the Relation Object box and select the
IMAN_Specification business object.

D. In the Primary Cardinality and Secondary Cardinality boxes, change the * symbol to 1.
(The * means unlimited. -1 also means unlimited.)

E. Click Finish.

The new rule appears in the GRM Rules tab.

2-40 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 9: Add a relationship rule

3. Deploy the changes to the rich client.

a. On the menu bar, choose BMIDE→Save Data Model to save your changes.

b. Ensure that the test server is running.

c. On the menu bar, choose BMIDE→Deploy Template. Type the password, click the Connect
button, and when a connection is established, select the Generate Server Cache? check box
and click Finish.

d. When deployment is done, check the status in the Console view.

e. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

Note:
If your changes still do not appear in the user interface, delete the Teamcenter
subdirectory in the user’s home directory on the client. This directory is automatically
created again when the user starts the rich client.
On a Windows client, it is typically the Users\user-name\Teamcenter directory on
Windows 7. On a Linux client, it is typically the $HOME/Teamcenter/ directory.

4. Verify the new GRM rule.

a. Run the rich client.

Business Modeler IDE PLM00071 11.2 2-41


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

b. In My Teamcenter, select the workshop part revision that already has a Workshop Mfg Form
form on it, and choose File→New→Form.
The following error message is displayed. This shows that the GRM rule restriction is working.

c. Click OK.

5. Edit the rule to change the primary and secondary cardinality from 1 to * and redeploy the project.
You must reset the cardinality so you can add objects to the revision in the next workshop.

Workshop 10: Add deep copy rules

Perform this workshop to create new deep copy rules to propagate related objects to your workshop
part revision. When you revise a workshop part revision, the rules state that Workshop Mfg Form
(A5_WorkshopMfgForm) forms are copied and related to the new revision, MSWord datasets are
referenced, and MSExcel datasets are not copied at all.

1. Revise a workshop part revision.


To see the existing deep copy rules on the workshop part revision, select an existing workshop part
revision and choose File→Revise. Note how objects related to the form are copied into the revision
B object.

2. Create deep copy rules on the workshop part revision.

a. Click the Find button on the BMIDE view toolbar and search for the
A5_WorkshopPartRevision business object.

b. Open the A5_WorkshopPartRevision business object and click the Deep Copy Rules tab.

c. Click the Add button to the right of the table.

d. Create the following rule to govern how A5_WorkshopMfgForm forms are copied to the new
revision:

A. In the Operation Type box, select the Revise operation.

B. For Property Type, select Relation.

C. In the Relation box, select the IMAN_specification business object.

2-42 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 10: Add deep copy rules

D. In the Attached Business Object box, select the A5_WorkshopMfgForm business


object.

E. In the Action box, select the CopyAsObject action.

F. Click Apply.

e. Create the following rule to govern how MSWord datasets are copied to the new revision:

A. In the Operation Type box, select the Revise operation.

B. For Property Type select Relation.

C. In the Relation box, select the IMAN_specification business object.

D. In the Attached Business Object box, select the MSWord business object.

E. In the Action box, select the CopyAsReference action.

F. Click Apply.

Business Modeler IDE PLM00071 11.2 2-43


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

f. Create the following rule to govern how MSExcel datasets are not copied to the new revision:

A. In the Operation Type box, select the Revise operation.

B. For Property Type select Relation.

C. In the Relation box, select the IMAN_specification business object.

D. In the Attached Business Object box, select the MSExcel business object.

E. In the Action box, select the NoCopy action.

F. Click Finish.

2-44 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 10: Add deep copy rules

The rules appear on the Deep Copy Rules tab.

3. Deploy the changes to the rich client.

a. On the menu bar, choose BMIDE→Save Data Model to save your changes.

b. Ensure that the test server is running.

Business Modeler IDE PLM00071 11.2 2-45


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

c. On the menu bar, choose BMIDE→Deploy Template. Type the password, click the Connect
button, and when a connection is established, select the Generate Server Cache? check box
and click Finish.

d. When deployment is done, check the status in the Console view.

e. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

Note:
If your changes still do not appear in the user interface, delete the Teamcenter
subdirectory in the user’s home directory on the client. This directory is automatically
created again when the user starts the rich client.
On a Windows client, it is typically the Users\user-name\Teamcenter directory on
Windows 7. On a Linux client, it is typically the $HOME/Teamcenter/ directory.

4. Verify the new deep copy rules.

a. Run the rich client.

b. In My Teamcenter, create some data for this test.

A. Create new workshop part. (Choose File→New→Item and select Workshop Part.)

B. Select the workshop part revision.

C. Create an A5_WorkshopMfgForm form. (Choose File→New→Form and select the


A5_WorkshopMfgForm form.)

D. Select the workshop part revision and create a Microsoft Word dataset. (Choose
File→New→Dataset and select the MSWord dataset.)

E. Select the workshop part revision and create a Microsoft Excel dataset.
(ChooseFile→New→ Dataset and select the MSExcel dataset.)
Notice how all the objects are related to the workshop part revision with the
Specifications relation.

2-46 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 10: Add deep copy rules

c. To see your new deep copy rules at work, select the workshop part revision and choose
File→Revise.
Notice how the form and the Word dataset were copied forward to the revision B, but that the
Excel dataset was not.

d. As you recall, you set the Word dataset to be copied as a reference document. View the Word
dataset in the Impact Analysis view to verify it is referenced by both revisions. Click the
Impact Analysis view and in the Where box, select Referenced.

Business Modeler IDE PLM00071 11.2 2-47


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Workshop 11: Add a business object display rule

Perform this workshop to create a business object display rule to hide your workshop part from
members of a specific group or role. Business object display rules determine the members of the
organization who cannot view a business object type in menus in the Teamcenter user interface. In this
workshop, you hide the Workshop Part from members of the Designer role.

1. Log on to the rich client as the infodba user or another member of the dba group.

2. In the Organization application, click the Add User button to add the infodba user to the Designer
role under the Engineering group.

2-48 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 11: Add a business object display rule

3. To verify the Designer role behavior, update your session user by choosing Edit on the menu bar
and selecting User Setting.

4. In the User Settings dialog box, change the group to Engineering and the role to Designer. Click
OK.

5. To validate that the Designer role members can view the Workshop Part item in the list of
available items, in My Teamcenter, choose File→New→Item.
The Workshop Part item is visible in the list.

Business Modeler IDE PLM00071 11.2 2-49


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

6. Return the user settings to their previous values. Choose Edit on the menu bar, click User Setting,
and in the User Settings dialog box, change the group back to dba and the role to DBA. Click OK.

7. Log off the rich client.

8. Open the Business Modeler IDE. Now you can create a display rule to hide the Workshop Part item
from members of the Designer role.

9. Open the A5_WorkshopPart business object.

10. Click the Display Rules tab.

11. Click the Add button to the right of the Hide Business Object Rules table.

12. Click the Browse button to the right of the Organization box.

2-50 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 11: Add a business object display rule

13. Log on to Teamcenter.

14. In the Select Organization dialog box, select the Designer role under the Engineering group and
click Finish.

Business Modeler IDE PLM00071 11.2 2-51


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

15. Click Finish in the Display Rule dialog box.


The new display rule appears in the Hide Business Object Rules table.

16. Deploy the changes to the rich client.

a. On the menu bar, choose BMIDE→Save Data Model to save your changes.

b. Ensure that the test server is running.

c. On the menu bar, choose BMIDE→Deploy Template. Type the password, click the Connect
button, and when a connection is established, select the Generate Server Cache? check box
and click Finish.

d. When deployment is done, check the status in the Console view.

2-52 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 12: Add a predefined extension rule

e. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

17. Log on to the rich client as the infodba user or another member of the dba group.

18. In My Teamcenter, choose File→New→Item.


The Workshop Part item is visible in the list. This is as expected, because members of the DBA role
are allowed to see the Workshop Part item.

19. To verify that the Workshop Part is hidden from those assigned the Designer role, update your
session user by choosing Edit on the menu bar and selecting User Setting.
In the User Settings dialog box, change the group to Engineering and the role to Designer. Click
OK.

20. In My Teamcenter, choose File→New→Item and scroll to the bottom of the list of items.
The Workshop Part item is not on the list because it is hidden from members of the Design role
per the display rule.

Workshop 12: Add a predefined extension rule

Perform this workshop to add a predefined extension rule (createObjects) to the A5_WorkshopPart
business object. Then when you create a new instance of the A5_WorkshopPart business object, a new
MSWord dataset is automatically created and related to the A5_WorkshopPart instance with the
reference relation.

Business Modeler IDE PLM00071 11.2 2-53


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

1. In the Extensions folder, choose Rules→Extensions and open the createObjects extension. This
is the extension you are going to add as a postaction to the A5_WorkshopPart business object.
Whenever you plan to use an extension, you must look at its characteristics in the Availability table
to ensure that the extension is available for use on the business object you want to use it with.
Note that the createObjects extension is available for use on Item and ItemRevision business
objects (and their children) as a postaction. This confirms that this extension is available for use on
the A5_WorkshopPart business object because the A5_WorkshopPart business object is a child of
the Item business object.
Also note that there are two parameters on this extension, the objectType parameter that asks for
the type of object to be created, and the relationType parameter that asks for the relationship that
the new object is to have.
Finally, note the ITEM_create operation; this is the operation you use to call the createObjects
extension.

2. Find the A5_WorkshopPart business object and open it.

3. Click the Operations tab.

4. Select the ITEM_create operation.

5. Click the Extension Attachments tab and select Post-Action.


You are going to add the createObjects extension as a postaction on the ITEM_create operation.
This means that when a new A5_WorkshopPart business object instance is created and saved, the
createObjects extension is called to create a dataset and attach it.

2-54 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 12: Add a predefined extension rule

6. With Post-Action selected, click the Add button to the right of the extension attachments table.

7. Perform the following steps in the Add Extension Rule dialog box:

a. Click the Browse button to the right of the Extension box and select the createObjects
extension.

Tip:
The createObjects extension appears on the list of available extensions only if it is
made available to the business object type. Therefore, before attempting to add an
extension to an operation on a business object, always check the Availability table on
the extension to ensure that the business object is included.

Business Modeler IDE PLM00071 11.2 2-55


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

b. Click the Add button to the right of the Arguments box. In the objectType box, select
MSWord, and in the relationType box, select IMAN_reference.

8. Click Finish.
The extension appears.

9. Click Finish.
The createObjects extension appears as a postaction on the ITEM_create operation.

2-56 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 12: Add a predefined extension rule

10. Deploy the changes to the rich client.

a. On the menu bar, choose BMIDE→Save Data Model to save your changes.

b. Ensure that the test server is running.

c. On the menu bar, choose BMIDE→Deploy Template. Type the password, click the Connect
button, and when a connection is established, select the Generate Server Cache? check box
and click Finish.

d. When deployment is done, check the status in the Console view.

e. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

Note:
If your changes still do not appear in the user interface, delete the Teamcenter
subdirectory in the user’s home directory on the client. This directory is automatically
created again when the user starts the rich client.
On a Windows client, it is typically the Users\user-name\Teamcenter directory on
Windows 7. On a Linux client, it is typically the $HOME/Teamcenter/ directory.

11. Verify the behavior of the extension rule.

Business Modeler IDE PLM00071 11.2 2-57


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

a. Run the rich client.

b. In My Teamcenter, choose File→New→Item and select Workshop Part from the list.

c. Create an instance of the item.


An MSWord dataset is created and attached to the Workshop Part instance with the
reference relation.

Workshop 13: Add a compound property

Perform this workshop to create a compound property that displays a property from one business
object on another business object. In this workshop, you display the a5_supplier property from the
A5_WorkshopPart business object on the A5_WorkshopPartRevision business object.

1. Open the A5_WorkshopPart business object and click the Properties tab.
In an earlier workshop, you added the a5_safety_code and a5_supplier properties to this business
object to display the Safety Code and Supplier properties on instances of workshop parts.
However, you also want the a5_supplier property to display on the workshop part revisions. The
solution is to create a compound property rule to display the property on the
A5_WorkshopPartRevision business object.

2-58 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 13: Add a compound property

2. Open the A5_WorkshopPartRevision business object and click the Properties tab.
Note how the business object displays the custom a5_material_code, a5_material_description,
and a5_weight properties, but not the a5_supplier property. You can create a compound property
to add the a5_supplier property on this business object.

3. Click the Add button to the right of the Properties table.

4. In the Property Definition dialog box, select Compound and click Next.

Business Modeler IDE PLM00071 11.2 2-59


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

5. Perform the following on the Compound Property Page:

a. In the Name box, type a5_supplier_compound_prop.

Tip:
Label the property as a compound property so you can tell at a glance that it originates
from another property.

b. In the Display Name box, type Supplier.

Tip:
Enter the display name so it is identical to the display name on the originating property
(in this case, the display name of the a5_supplier property on the A5_WorkshopPart
business object). If you enter a different display name, the end user would be confused
to see different display names for the same property when it is displayed on different
business object instances.

c. In the Description box, type a description for the compound property.

2-60 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 13: Add a compound property

d. Click the Add Segment button.


The Compound Property Segment dialog box is displayed.

e. Select items_tag as the property on the target business object to hold the compound
property.

Business Modeler IDE PLM00071 11.2 2-61


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

f. Click Next.

g. Select the A5_WorkshopPart business object as the source of the property.

h. Click Finish.
Notice how A5_WorkshopPartRevision.items_tag is displayed as the first segment. The first
segment shows the target business object and the property on the target business object used
to hold the compound property.

2-62 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 13: Add a compound property

i. Select the A5_WorkshopPart business object and click the Add Final Segment button.

j. Select the a5_supplier property.

k. Click Finish.

Business Modeler IDE PLM00071 11.2 2-63


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

The completed compound property is displayed. Notice how A5_WorkshopPart.a5_supplier


is displayed as the final segment. The final segment shows the source business object and the
originating property for the compound property.

l. Click Finish.
The new compound property is displayed on the Properties tab.

6. Deploy the changes to the rich client.

2-64 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 13: Add a compound property

a. On the menu bar, choose BMIDE→Save Data Model to save your changes.

b. Ensure that the test server is running.

c. On the menu bar, choose BMIDE→Deploy Template. Type the password, click the Connect
button, and when a connection is established, select the Generate Server Cache? check box
and click Finish.

d. When deployment is done, check the status in the Console view.

e. To ensure your changes appear in the rich client user interface, exit the rich client and restart
it to clear cache.
When you restart, you may want to launch the rich client using the install-location\portal
\portal.bat -clean option to ensure the cache is cleared.

Note:
If your changes still do not appear in the user interface, delete the Teamcenter
subdirectory in the user’s home directory on the client. This directory is automatically
created again when the user starts the rich client.
On a Windows client, it is typically the Users\user-name\Teamcenter directory on
Windows 7. On a Linux client, it is typically the $HOME/Teamcenter/ directory.

7. Verify the behavior of the compound property.

a. Run the rich client.

b. In My Teamcenter, choose File→New→Item and select Workshop Part from the list.

c. Create an instance of the item.

d. Open the item revision and view the property:

A. Right-click the workshop part revision and select View Properties.

Business Modeler IDE PLM00071 11.2 2-65


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

B. Click the All link in the Properties dialog box.

C. Scroll to the bottom of the Properties dialog box and click Show empty properties.

D. Scroll down to find the Supplier property.

2-66 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workshop 13: Add a compound property

e. If you want this property to be visible in the Summary view on the workshop part revision,
you can add the new a5_supplier_compound_prop compound property to the
A5_WorkshopPartRevSummary XML rendering style sheet.
For example, open the A5_WorkshopPartRevSummary.xml file and add the <property
name="a5_supplier_compound_prop"/> code as follows.

The compound property displays on the workshop part revision Summary view.

Business Modeler IDE PLM00071 11.2 2-67


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Business Modeler IDE process

Business Modeler IDE process overview

The Business Modeler IDE is a tool that shows you the business objects, properties and business rules
that control the system. You can use the Business Modeler IDE to extend Teamcenter with your own
business objects, properties, and business behavior. When you extend Teamcenter using the Business
Modeler IDE, you should follow best practices for storing extensions into a template, testing the
template in a test Teamcenter database, and then packaging and deploying the validated template to
your production Teamcenter site. Later you may want to provide updates to a live running production
site. All of these best practices have established processes for you to follow. The Business Modeler IDE
provides tools to assist you through these tasks so that these steps are easy to manage.

Business Modeler IDE process flow

Develop and test extensions

The Business Modeler IDE is a tool for extending Teamcenter with new business objects, properties, and
business behavior. As you create extensions, the Business Modeler IDE stores them in a template. The
template organizes your extensions as a single unit that encapsulates your individual extensions. The
Business Modeler IDE and template are considered to be your development environment. You can
deploy this template as a single unit to any Teamcenter database server for testing or production usage.

2-68 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop and test extensions

The deployment process ensures that all of your extensions are added to the default Teamcenter
configuration.

First, create a new template project so that you can store your extensions in it for easy deployment to
database sites. Then, perform a live deploy to push your template to a test Teamcenter server where you
can validate it in a safe environment.

Typically, during this phase of development, you add new business objects and properties in addition to
business behavior. Business objects and properties are considered schema changes and require a
production Teamcenter server to be shut down and all users logged off to make the update. However,
you can update a test server with a live deploy as long as you are the only user logged on to the system.

Follow this process:

• To extend Teamcenter when you have not yet created a template.

• To continue to add more extensions to your existing template.

Developing extensions and testing

1. Create a Business Modeler IDE template project if you have not already done so.

2. Use the Business Modeler IDE to create new extensionsto the data model and behavior.

3. Perform a live deploy to push your template to a test environment and validate your extensions.

To continue adding new extensions repeat steps 2 and 3.

Business Modeler IDE PLM00071 11.2 2-69


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Deploy a template to a production site

After you validate your template in the test environment, you can update your production environment.
Use the Business Modeler IDE to create a template package, shut down the production server, and use
Teamcenter Environment Manager (TEM) to install the template package.

Follow this process to update your production site with your template.

Deploying a template to a production site

1. After you validate your extensions in a test environment, use the Business Modeler IDE to build a
template package.

2. Send the template package to the production site administrator.

3. Log off all users and shut down the production Teamcenter site.

4. The production site administrator uses TEM to install the template package into the production
site.

5. The production site administrator starts up the server at the production site and allows users to log
on.

If you add more extensions later and have validated the template in a test environment, you can use
TEM to update your template at the Teamcenter site by using the Teamcenter Foundation→Update
Database menu commands in the Feature Maintenance panel.

2-70 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Edit extensions in a live production site

Edit extensions in a live production site

After you deploy your extensions to a production server, you may want to update some of your Business
Modeler IDE extensions. For example, you may want to add a new value to a list of values (LOV). This
type of update is called a live update because you are updating the data on a live system. Typically, you
make this change directly to the extensions that are already deployed to the production database so you
do not have to shut down the Teamcenter server. Therefore, only nonschema type changes, such as
LOVs, statuses, units of measure, business rules, and so on, can be made at this time.

Follow this process to edit your extensions deployed to a live production environment.

The Business Modeler IDE provides the live update project that points directly to the Teamcenter
production database and allows you to make updates to your existing extensions in your deployed
template. These updates are made to the extensions stored in the Teamcenter database; they do not
affect the development environment template. Do not make the updates to your development
environment template at this point. The development environment may contain ongoing work as you
prepare for your next system downtime. This ongoing work may contain schema changes intended for
the test environment, and it is difficult to separate them from the LOVs and status changes intended for
the production site.

Control Business Modeler IDE elements that can be updated live

The Business Modeler IDE normally allows you to configure many different types of elements: business
objects, properties, business rules, and so on. However, this list is limited when performing live updates.
For example, you cannot update schema live because it forces you to log off all users to make the
update. All elements in the Business Modeler IDE that are not schema can be updated live and are
enabled by default. To disable specific elements or enable only a specific set of elements, you can do so
using the Live Update preference in the rich client.

You should configure the Live Update preference before you allow administrators to use the Business
Modeler IDE to make live updates.

Business Modeler IDE PLM00071 11.2 2-71


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Edit live data

Once the production site is running, you can edit the live data at any time. First, you must configure
your Business Modeler IDE to point to the production site, and then you can edit the data.

Editing live data

1. Configure your Business Modeler IDE to point to a production site and create a live update project
so that it can download the template data.

2. Use the Business Modeler IDE to perform any necessary changes to the business behavior.

3. After you finish making changes, click the Deploy Template button on the toolbar to push
these changes to the production site.

To continue editing extensions, repeat steps 2 and 3.

Incorporate live data updates from the production site

Eventually, you must incorporate all the live data updates performed at the production site back into the
development environment. This event occurs as you prepare for your next system downtime.

2-72 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Incorporate live data updates from the production site

If you do not perform this step, and you deploy your development environment template (which does
not include the latest live data updates) to the production site, the live data updates already present in
the production site are removed. Because this is undesirable, the system blocks the deployment. To
ensure that the deployment is not blocked, you must perform this step.

To incorporate the latest live data, you can run a wizard from the development environment Business
Modeler IDE to log on to the production Teamcenter server and retrieve the latest extensions. Or, if your
production site is offline from your Business Modeler IDE, you can ask an administrator to run a
command line to extract the latest updates from the site and send them to you for incorporation. In
either case, once the extensions are incorporated, you can continue with testing, packaging, and
deploying to your production site.

Incorporating live data updates from the production site

1. Before you extract the latest live updates, it is a good practice to first block anyone from making
any more live updates to ensure you get the latest. You can do this by clearing the Allow Live
Updates check box in the Live Update preference dialog box in the rich client at the production
site.

2. From your development environment Business Modeler IDE, launch the Incorporate Latest Live
Update Changeswizard. Log on to the production site to pull the latest updates to your Business

Business Modeler IDE PLM00071 11.2 2-73


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Modeler IDE. The Business Modeler IDE presents the changes to you in a graphical merge tool. Use
this tool to determine which elements you want to keep or discard. Click Finish to save the changes
to your local Business Modeler IDE template.

Note:
If your production site is not accessible to your Business Modeler IDE client over the network,
you can ask the administrator of the production site to extract the latest live data updates
using the package_live_updates command line utility and send it to you for incorporation.

3. At this point, you have integrated the latest live updates with your ongoing development work.
Deploy this template to your test environment and validate that it works as expected.

4. To update your production site, deploy the template to a production site.

5. Before allowing users to edit live data again, reset the Allow Live Updates check box on the Live
Update preference.

Data model concepts

Teamcenter data model overview

A data model is a structured organization of abstract objects to represent business data. A data model
represents the part designs, design documents, and relationships between them, as well as the business
processes applied to them.

Teamcenter has its own data model that you extend using the Business Modeler IDE. Before extending
the Teamcenter data model, you should have a basic familiarity with some data model terms:

• Classes
Correspond to storage classes in the database. They are the persistent representation of object tables
in the database, and each row in the tables is an instance of the class.

• Attributes
Hold characteristics of the class. The columns of the class table in the database are the attributes of
the class. The attributes are also persistent, because they are stored in the database.

• Business objects
Represent business data you handle in Teamcenter. Business objects let you define the values to store
in the database and set how objects behave, such as their lists of values, naming rules, display names,
and so on.

• Primary and secondary business objects


Many business objects have a storage class exclusively for them that has the same name, and their
properties are stored as attributes on that storage class. These are known as primary business
objects. Primary business objects are persistent in the database and have persistent properties.

2-74 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Teamcenter data model overview

Secondary business objects are business objects that store their information on their parent's
storage class and do not have a storage class of their own.

• Persistent and run-time business objects


Business objects can be either persistent or run-time business objects. The persistent, or Persistent
Object Model (POM) business objects, each have their own storage class. They are persistent
because they are stored in the database in their associated storage class. The run-time business
objects are not stored in the database but are calculated at run time.

• Properties
Represent values on the business objects. Attributes belong to classes, and properties belong to
business objects.

Attributes compared to properties

There are four types of properties:

• Persistent properties
Hold permanent values. Persistent properties are stored in their business object's storage class as
attributes. In other words, attributes of a storage class are expressed as persistent properties on the
business object that uses that storage class.

• Run-time properties
Display values calculated at run time. When the value of a run-time property is requested, the
system calculates it. For example, if you want to create a run-time property to represent crankshaft
torque, you input the lever_force, lever_length, and lever_angle properties. When the value of
torque needs to be displayed, it is calculated.

• Compound properties
Retrieve values from other properties. When you create your own compound property, you specify
the property on another business object, and the value of that property is retrieved and used for
your compound property.

Business Modeler IDE PLM00071 11.2 2-75


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

• Relation properties
Define relationships between objects. For example, a document is attached to a part that specifies
the part design. That document is attached to the part using the specification relation property. You
can create your own relation properties, just as you can create your own persistent, run-time, and
compound properties.

POM schema

At the very top of the BMIDE folder the parent of all business objects is displayed as POM_object. POM
stands for:

• Persistent: survives from session to session

• Object: an entity being managed (a part, file, user, and so on)

• Manager: a method of managing the objects

POM defines an architecture (schema) for managing Teamcenter data in a database and in a running
Teamcenter session. Business objects represent the different kinds of objects we want to manage, such
as items, datasets, forms, folders, and so on.

The POM object model is distinct from the Teamcenter object model. POM is the persistent or physical
object model, different from the logical object model that Teamcenter presents to users. POM is a layer
between Teamcenter and the database. As such, POM performs many tasks, such as managing
concurrent access to persistent data to avoid multiple users overwriting each other's changes.

POM manages data in tables within a relational database, such as Oracle. The basic things to keep in
mind about POM are that:

• Each POM class is represented in the database by a table.

• Each instance of a POM class is represented by a row in the class table.

• Each class attribute is represented by a column in the class table.

• An object that is derived from multiple classes requires a join across each of the class tables from
which it is derived.

Classes are the persistent representations of the POM schema and can be viewed in the Classes view
of the Advanced perspective. You can subclass from a class, and all the attributes of the parent class
are inherited by the subclass.

Business objects (types) are abstract implementations of POM classes. Each POM class is mapped to a
primary business object whose name is the same as the POM class name. Primary business objects are
derived from classes such as Dataset, Folder, Form, Item, ItemRevision, and so on. Sub-business
objects are under these primary business objects.

2-76 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Schema versus nonschema objects

The following terms are used to describe classes, business objects, and properties.

Term Definition

Class A class is the definition of an object implemented in the


Teamcenter data model. A class has a set of attributes, some of
which are inherited from parent classes and some of which are
defined directly for the class.

Attribute An attribute is a persistent piece of information that characterizes


all objects in the same class.

Business object A business object is the specialization of a Teamcenter class based


on properties and behavior.

Primary business object A primary business object corresponds to each POM class (that is,
the primary business object name is the same as the POM class
name). Teamcenter automatically creates the primary business
object when a new POM class is instantiated.

Sub-business object Sub-business objects are all business objects that belong to the
same POM class. Sub-business objects inherit all the properties and
behavior of the primary business object. Sub-business objects
model the actual objects that end-users create.
Sub-business objects are also known as secondary business objects.

Property A property is a piece of information that characterizes all objects of


the same type. At a minimum, all sub-business objects have
properties that correspond to the attributes for the associated class.

Schema versus nonschema objects

Schema refers to classes and attributes managed by the Business Modeler IDE template. Nonschema
refers to all elements managed by the Business Modeler IDE template except for classes and attributes.
Examples of nonschema objects are business objects, properties, status, unit of measure, LOVs, rules,
and so on.

Viewing POM schema

It is important to understand the persistent object manager (POM) schema when using certain
applications in the rich client. Knowing how classes and their attributes are related to one another helps
you create certain rules.

Business Modeler IDE PLM00071 11.2 2-77


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

To view the persistent object manager (POM) schema in the Business Modeler IDE, open the Classes
view in the Advanced perspective.

The following figure shows an abbreviated view of the POM schema.

To see the POM information on a class, right-click a class in the Classes view and choose Open in UML
Editor.

The class is represented by a box in the UML Editor. To see the inheritance relationships the class has to
other classes, right-click the top of the class box in the UML Editor (right on the class name) and choose
Show→Inheritance to Root. For example, the following figure shows the inheritance to root for the
WorkspaceObject class.

2-78 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Class structure and attribute inheritance

All POM objects derive from one root class (POM_object). Because all POM objects derive from the
POM_object class, every object inherits the owning_site, pid, and timestamp attributes from the
POM_object class.

Many application objects derive from the POM_application_object class. In addition to the attributes
inherited from the POM_object class, additional attributes are inherited from the
POM_application_object class, such as creation_date, last_mod_date, last_mod_user,
owning_group, and owning_user.

A popular class to subclass from is the WorkspaceObject class. It adds numerous attributes, including
object_desc, object_name, and object_type, to name a few.

Class structure and attribute inheritance

You must understand class structure and attribute inheritance to effectively perform these rich client
tasks:

• Create closure rules in PLM XML/TC XML Export Import Administration

Business Modeler IDE PLM00071 11.2 2-79


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Closure rules control the scope of the data translation on both input and output. They specify how the
data structure is traversed. Closure rules use classes or business objects (types) to define the data
structure.
In the PLM XML/TC XML Export Import Administration application, select the ClosureRule node in the
lower-left pane of the window. Click the Add clause (+) button to the right of the clause table. To
select the first kind of object to use in the data structure, click in the Primary Object Class Type cell
and select Class or Type (business object), and type the name of the class or business object in the
Primary Object cell. For the second object in the structure, use the Secondary Object Class Type cell
and the Secondary Object cells.

• Create queries in Query Builder


Queries are searches for objects in the database. When you build queries, you specify the kind of
objects you are looking for (the class) and characteristics of the objects (attributes).
In the Query Builder application, click the Search Class button to select the class. You are presented a
class tree similar to the Classes view in the Advanced perspective of the Business Modeler IDE. When
you select a class, its attributes are shown in the Attribute Selection pane. Double-click attributes to
add them to the query. Click the Display Settings button and choose Real Names to see the
attributes with their internal name (not the name displayed in the rich client UI).

• Create property sets in Report Builder


Property sets are collections of Teamcenter data, such as class attributes or business object (type)
properties. You can create a property set that contains only the information you want to use in a
report.
In the Report Builder application, choose File→Create Property Set. Click the ? button to the right of
the Search box to look for a class or business object (type). When you select a class you are presented
with a class tree similar to the Classes view in the Advanced perspective of the Business Modeler IDE.
Double-click attributes to add them to the property set. Click the Display Settings button and choose
Real Names to see the attributes with their internal name (not the name displayed in the rich client
UI).

• Create cubes in Teamcenter reporting and analytics


Reporting and Analytics is a stand-alone reporting application. When it is installed and deployed in a
Teamcenter environment, it integrates with Report Builder and displays reports in the TcRA Reports
folder. If you want to create a report that has a specific set of data, you must first use Mapper to
create a cube that contains that data. A cube defines the data displayed in a Reporting and Analytics
report. For example, if a report has columns that list the item ID, description, and creation date, these
columns are provided by the cube.
In the Reporting and Analytics Mapper application, choose Cube→Define to create a cube. In the
Search tab in the Search classes box, type the name of the class you want to use for the cube. In the
Objects and Steps tab, choose the attributes on the class that you want to use in the cube.

You also must understand business object structure and property inheritance to perform these Business
Modeler IDE tasks:

• Create Generic Relationship Management (GRM) rules


Generic Relationship Management (GRM) rule applies constraints on the relationship between two
business objects. When you create a GRM rule, you select the primary and secondary business objects
for the relationship, the relationship they have to one another, and the constraints to be applied.

2-80 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Single production database environment

On the toolbar in the Business Modeler IDE, click the Open GRM Rules Editor button . Click the
Add button in the GRM Rules editor. Click the Browse button to the right of the Primary Object,
Secondary Object, and Relation Object boxes to choose the business objects and their relationship
to one another.

• Create compound properties


A compound property is a property on a business object that can be displayed as a property of an
object (the display object) although it is defined and resides on a different object (the source object).
A compound property uses relation and reference properties to traverse from the source to the
destination object.
In the Business Modeler IDE, open a business object and click the Properties tab in the resulting view.
Click the Add button to the right of the properties table, select Compound, and click Next. Click the
Add Segment button to choose the business objects and properties to use for the rule.

Development environments

Single production database environment

The first scenario is the simplest. It consists of a single production database and the Business Modeler
IDE client. In this environment, a single user uses the Business Modeler IDE client to create a template
for extending the data model. The production database may support one to a small number of users. If
no other users are logged on to Teamcenter, the Business Modeler IDE user can log on Teamcenter to
establish the connection and then live update the template from the Business Modeler IDE.

If other users are logged on, the users should be notified of a system downtime. When the system is
taken down, use the package wizard in the Business Modeler IDE to build the template feature, and
then use Teamcenter Environment Manager (TEM) to install/update the feature into the production
environment.

This scenario is ideal for a small community of users.

Caution:
One disadvantage of this scenario is that the extensions cannot be tested in a safe environment
before going live with the production environment.

Test and production database environment

This scenario is very similar to the first scenario except that it adds a test environment for the Business
Modeler IDE user. In this scenario, the Business Modeler IDE user creates a template for extending the
data model. The Business Modeler IDE user live updates the template to a test database, where the
extensions can be tested.

After the extensions are tested to a satisfactory level, the user community is notified of a system
downtime. When the system is shut down, use the package wizard in the Business Modeler IDE to build

Business Modeler IDE PLM00071 11.2 2-81


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

the template feature, and then use Teamcenter Environment Manager (TEM) to install or update the
feature into the production environment.

This scenario offers a safer process for extending, testing, and rolling out to production than the first
scenario. Extensions can be created, deployed, and tested in the safe test environment and the process
is reiterated until requirements have been met. This process protects the production environment from
any undesirable changes or stability issues, thus keeping the user community running while reiterating
the development and test process.

User testing environment

This environment is very similar to the previous scenario except that it adds a third environment
specifically for user testing or user training.

In this scenario, the Business Modeler IDE user creates a template for extending the data model. The
Business Modeler IDE user live updates the template to a test database, where the extensions can be
tested.

After the extensions are tested to a satisfactory level, the company is ready to roll out these changes.
Before rolling the template out, you can set up a safe environment for training or for user acceptance
testing. Use the package wizard to build the template feature, and then use Teamcenter Environment
Manager (TEM) in the user testing environment to install or update the template.

If user acceptance testing fails, fix and test the extensions in the test environment then roll out to the
user testing environment again. If user acceptance testing passes, notify the user community of a
system downtime. Then take the template feature created for the user testing environment and use TEM
in the production environment to install or update it as the case may be.

This scenario has the same benefits of a reiterative process as the previous scenario. It also adds the
ability to let the user community test or train in a safe environment without impact to the real data in
the production system. The user testing environment can be a useful place to work out any issues
between requirements and design. The training environment allows the user community to get
comfortable with any new processes, objects, or behaviors before going live with the production
environment.

Multiple developer environment

This scenario is similar to the previous scenarios with the added requirement that there are two or more
users of the Business Modeler IDE working on the template, rather than only one. In this scenario, many
users are contributing extensions to the same template.

For two or more developers to work on a template project concurrently, a source control management
(SCM) system must be connected to the Business Modeler IDE client. Examples of SCM systems include:
CVS, Subversion, ClearCase, Perforce, and Visual Source Safe. By default, the Business Modeler IDE is
equipped to connect to a CVS repository. All other integrations must be added separately to the Business
Modeler IDE. Factors that influence your decision to use an SCM may be budget and functionality. CVS
and Subversion are free and have basic tools for managing source code. Others, like ClearCase, have

2-82 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Multiple developer environment

license fees and more robust functionality. To use an SCM with the Business Modeler IDE, the SCM must
have a plug-in that integrates Eclipse with the SCM repository.

In this scenario, one Business Modeler IDE user should create the template project and add the project
directory and all of its subfolders and files into the SCM. This is usually performed by checking all files
and directories. Next, all other Business Modeler IDE users should synchronize their SCM repository to
get the project files and directories downloaded to their machine and then import the project into the
Business Modeler IDE using the import wizard.

Set up the source files so that each developer is extending the system and saving the extensions into
their own files. Working with your own set of files reduces the amount of file merges. To create your
own extension files, open the Project Files folder, right-click the extensions folder, and choose
Organize→New extension file.

Each developer should have his own test environment for unit testing. Following the process established
in the previous scenarios, each developer should create extensions, live update them to their own test
environment, and then test the changes. Repeat the process until each developer achieves the
acceptance level of individual testing. After completing the developer testing, each developer should
check in (submit) their changes to the main SCM repository.

At this point, all extensions have been unit tested individually by each developer independent of the
other extensions. Now all extensions need to be tested together in an integration environment. The
integration environment is the environment where all of the individually developed extensions are
tested together in one environment to ensure there are no integration issues. A project administrator or
one of the developers should synchronize the Business Modeler IDE with the SCM to download the latest
source files from the main repository. This gathers up all of the latest XML definitions from each
developer to this Business Modeler IDE client. Note that after each synchronization with the repository,
in the Business Modeler IDE, right-click the project and choose Reload Data Model to reload the data
model and validate it for correctness. Use the package wizard to build the template feature, and then
use Teamcenter Environment Manager (TEM) to install the template package into the integration
environment.

After all extensions have been tested in the integration environment, the template feature can be
installed into the user testing environment and production environments using TEM.

This scenario has the same benefits of the previous scenarios with added scalability to add more
Business Modeler IDE developers and increase productivity through collaboration. Each user should
understand the process and follow it so that extensions are successfully created, tested, and pushed to
each environment with confidence in the quality.

Note:
Connecting the Business Modeler IDE to an SCM provides an extra benefit of backing up the
project files in the SCM. You should back up the SCM on a regular basis.

Business Modeler IDE PLM00071 11.2 2-83


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

SCM system

Using a source control management (SCM) system to manage files

The Business Modeler IDE manages the master XML files that contain your extension definitions.
Although these XML definitions are converted to data model objects in the database during a deploy,
these files are not stored in the database and should be cared for like source code. Back up these files
regularly.

If only one person will be using the Business Modeler IDE to manage the data model, Siemens PLM
Software strongly suggests you use a source control management (SCM) system plug-in with Eclipse to
manage the project and source files.

If more than one person will be working on the data model of a single Business Modeler IDE template,
you are required to use an SCM to integrate all developer’s Business Modeler IDE clients with the central
SCM repository. The SCM plug-in can be used to maintain version control of the source files, and to
ensure protection of the data in the source files. In addition, with an SCM plug-in, multiple developers
can work on the same project concurrently.

You can use any SCM system that provides plug-ins to Eclipse, such as ClearCase, CVS, Subversion, or
Perforce. Each developer connects to the repository to share and synchronize definitions.

As a starting point to find SCM plug-ins, go the following URL:

http://www.eclipse.org

Selecting a source control management (SCM) system

You can use source control management (SCM) systems with the Business Modeler IDE to manage your
source files. To learn about SCMs, perform an Internet search for SCM or source control system. There
are many white papers and websites that provide in-depth information about the advantages and how
to use them.

Any SCM that has a plug-in compatible with Eclipse can be integrated with the Business Modeler IDE.
While there are many SCMs available that integrate with Eclipse, Siemens PLM Software has found the
following to work well:

• CVS (Concurrent Versions System)


CVS is a free shareware application. By default, the Business Modeler IDE already has the CVS plug-in
built into it; this saves you time from having to download it. If you have a CVS repository setup, you
can connect to it from the Business Modeler IDE in the matter of a few minutes.

• Subversion
Represents the next generation of CVS. Like CVS, Subversion is a free shareware application. Both
Subversion and CVS both offer adequate tools for checking in and out source files and synchronizing
with a central repository.

2-84 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Getting started with a source control management system (SCM)

• Perforce
Manages a central database and versioning repository. Perforce is a commercial SCM product.

• ClearCase
Like Perforce, ClearCase is a commercial product. These commercial products offer a richer set of tools
and functionality for managing source files.

Siemens PLM Software product development has utilized all four of these SCM products with Eclipse and
was able to work well with a multideveloper environment. Your decision to use one of these products
may be based on factors such as resources, IT administration, and purchase costs for licenses. If unsure
how to proceed, you may want to start with CVS or Subversion since these are free. After gaining some
experience on using these tools, you could consider a commercial system.

Getting started with a source control management system (SCM)

Once you select a source control management (SCM) system, you should install the SCM server on a
centrally located machine to the developers. The SCM server is the central repository that contains the
source code. Each person using the Business Modeler IDE must also have the appropriate SCM plug-in
installed into the BMIDE_ROOT so that the Business Modeler IDE can communicate with the SCM
repository. Follow any directions on how to set this up to connect with the repository. After setup,
Siemens PLM Software recommends the following process to start using the Business Modeler IDE:

1. Open the Advanced perspective if it is not already active. Choose Window→Open


Perspective→Other→Advanced.

2. One developer should create a Business Modeler IDE template project in his Business Modeler IDE.
This template is the template that all other developers will share and add definitions too. You do
not want to have a separate template for each developer, because that is working contrary to the
use of the SCM. The SCM is used to keep definitions separate and merge them, not separate
templates.

3. After this developer creates the template project, you should create many source files. In the
Navigator view, right-click the extensions folder and choose Organize→Add new extension file.
The best way for multiple developers to add definitions to one template is to have each developer
work in a separate file. This reduces the number of file merges that need to occur. Organize and
name new files by functionality. All definitions related to the functionality can be added to the file.
If each developer is given an area of functionality to work on, they can add all of these definitions
to their file and not interfere with other developers adding definitions to another file. Therefore
this first developer should work with the project manager to discuss what kinds of new
functionality are needed and establish the names for these new files. If you find that you have too
many new source files to keep everyone organized, the files can also be organized into source
folders. Use the wizards listed in the user documentation for adding new folders and files.

4. Once all files and folders are arranged, this first developer should check in the entire template
project into the SCM. For systems like ClearCase and Perforce, add all source files to the repository.
For systems like CVS and Subversion, go to the Navigator view, select the top-level template
project folder, right mouse button click and select Team→Share Project. Follow the SCM user
documentation on how to fill in the fields in this wizard. After completing this step, the template

Business Modeler IDE PLM00071 11.2 2-85


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

project is connected to the SCM. Next synchronize all files and folders to the repository. This pushes
the files and folders to the central repository where others can start downloading them.

5. Each developer should launch their Business Modeler IDE and download the Business Modeler IDE
template project to their client. For ClearCase and Perforce, you may have to launch a separate
administrator tool to synchronize or download the latest Business Modeler IDE template files from
the repository. This places the template folder and all of the files in a directory on your machine.
Next use the File→Import→Business Modeler IDE→Import a Business Modeler IDE Template
Project wizard to import the template folder from your local machine into your Business Modeler
IDE.
For CVS or Subversion users, you can use the CVS Repositories view to locate and download the
template folder to your Business Modeler IDE. After downloading, right-click the project and choose
Reload Data Model to load the template project into the Business Modeler IDE.

6. Once each developer has the template project in the Business Modeler IDE, he should set the active
source file to the file that is assigned to him. The test environment should not be shared with other
developers and this developer should be the only person deploying to it.

7. Developers can start to use the Business Modeler IDE to add definitions. After each developer
finishes with these definitions, he should test them first by deploying to a local test environment.

8. After testing in the individual environment is complete, each developer should submit or
synchronize his latest code back to the repository. This step uploads all changes created by the
developer and should also download any new files that the repository has.

9. To test all developer changes together in one environment, an administrator can wait until all
developers have submitted their changes. Then the administrator should synchronize or download
the latest code. This imports all changes from all developers into their Business Modeler IDE clients.
Use the Package Wizard to build a deployment package and then use Teamcenter Environment
Manager (TEM) to deploy this package into a Teamcenter database that is being used as an
integration environment.
If integration testing fails, fix the issues in an individual test environment and resubmit to the
repository. The administrator can synchronize again, to import the latest changes, then rebuild the
package and deploy again to the integration environment. If testing in the integration environment
passes, the tested template package can be deployed to a user testing environment.

10. Finally after all user testing passes, the deployment package can be deployed to the production
environment through TEM.

Business Modeler IDE help

Accessing help in the Business Modeler IDE

You can access help by pressing the F1 key or clicking the question mark button ? in the lower left corner
of a dialog box. You can also use the online manual or tutorials.

2-86 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure help on Linux systems

To access the online manual, choose Help→Help Contents, and in the Help window, choose the
Business Modeler IDE in the left pane.

Configure help on Linux systems

When you first attempt to open online help on a Linux system by choosing Help→Help Contents, you
may see the following message:

Could not open a Web browser because


there are none configured.
Check the Web browser preferences.

To correct the problem, perform the following steps:

1. Choose Window→Preferences.

2. Choose General→Web Browser in the left pane of the Preferences dialog box.

3. Click New to provide the path to a Web browser, or Search to locate a Web browser.

4. Click OK.

Add a topic to the Business Modeler IDE online help

If your company has specific Business Modeler IDE procedures that you must document and make
available to users, you can add the new topics to the Business Modeler IDE online help.

1. Extract the online help from the JAR file.

a. Browse to the following directory:

install-location\bmide\client\plugins

b. Create a new subdirectory:

com.teamcenter.bmide.helpguide

c. Extract the following JAR file into the new directory:

com.teamcenter.bmide.helpguide_version.jar

d. Rename the JAR file suffix so that it is no longer being read by the Business Modeler IDE. For
example, add .bak to the end of the file. From this point onward, the Business Modeler IDE
online help is read from the directory you created.

Business Modeler IDE PLM00071 11.2 2-87


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

2. Add the new help topic.

a. Create the new help topic using an HTML editor.

b. Copy the new topic to the guide folder in the com.teamcenter.bmide.helpguide directory.
If your topic uses any images, copy them into the guide\graphics subdirectory.

c. Add the new topic to the table of contents in the toc.xml file located in the
com.teamcenter.bmide.helpguide directory.
Use an XML editor to add the topic to the toc.xml, and follow the conventions in the rest of
the file. Take care to properly close entries with />, and if there are subtopics, close the master
topic with the </topic> tag. Verify the structural validity of the file using an XML parser.

3. Verify that the new topic displays in the online help.

a. Run the Business Modeler IDE.

b. Choose Help→Help Contents, and in the Help window choose the Business Modeler IDE in
the left pane.

c. Look for the new topic in the table of contents.

You can also remove topics by following similar procedures. Just remove topics from the toc.xml file and
the guide subdirectory.

Note:
If you want to retain your new topics release-to-release, make sure you add them to the next
release of the help by following this process. Also consider creating your own online help book
that contains only your company's help topics.

Create a new online help book in the Business Modeler IDE

Using Eclipse, you can create your own online help book that contains only your company's help topics.
It appears in the list of available online help books when you choose Help→Help Contents in the
Business Modeler IDE.

1. Download Eclipse 3.8 from the following URL:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.8-201206081200/

Note:
The current version of the Business Modeler IDE uses Eclipse 3.8.

2. Extract Eclipse to a directory.

2-88 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new online help book in the Business Modeler IDE

By default, the files are extracted to an eclipse subdirectory.

3. Run Eclipse. For example, on a Windows system, run the eclipse\eclipse.exe file.

4. Create a new online help book using Eclipse.

a. Choose File→New→Project, and in the New Project wizard, choose Plug-in Project. Click
Next.

b. In the Plug-in Project dialog box, type a name in the Project name box, for example,
myhelp. Click Next.

c. In the Content dialog box, click Next.

d. In the Templates dialog box, select Plug-in with sample help content and click Next.

e. In the Sample Help Table of Contents dialog box, type a name for your book in the Label for
table of Contents box and select the Primary check box. Click Finish.
Eclipse displays the new help project files in the Package Explorer view to the left, and in the
middle of the window, it displays the Overview editor.

5. To test the temporary help, export it to the Business Modeler IDE.

a. In the bottom center of the window, click the Runtime tab located to the right of the
Overview and Dependencies tabs.

b. In the Runtime editor, click the Add button to the right of the Exported Packages pane,
select your help project, and click OK.

c. Choose File→Export, and in the Export wizard, choose Plug-in Development→Deployable


plug-ins and fragments and click Next.

d. In the Deployable plug-ins and fragments dialog box, select your help project and click the
Browse button to the right of the Directory box to browse to the location where the Business
Modeler IDE client is installed, for example:

install-location\bmide\client

e. Click Finish.
The help plug-in is saved as a JAR file in the plugins directory:

install-location\bmide\client\plugins

6. Verify that the book appears in the Business Modeler IDE online help.

a. Run the Business Modeler IDE.

Business Modeler IDE PLM00071 11.2 2-89


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

b. Choose Help→Help Contents.


Your new book appears in the left pane of the help window.

7. Add content to the help using Eclipse.

a. In the html folder of the help project, add more HTML files, and add the files to the toc.xml
file (the table of contents).

Note:
For information about how to create online help content using Eclipse, see the User
Assistance Support topics in the Platform Plug-in Developer's Guide at the following
URL:

http://help.eclipse.org

b. Test the help as you work.


Right-click the help project in the Package Explorer view and choose Run As→Eclipse
Application.
A run-time version of Eclipse is displayed. Choose Help→Help Contents.
Your new book appears in the left pane of the help window. Close the help window and the
run-time version of Eclipse.

8. To update the book in the Business Modeler IDE, re-export it by choosing File→Export→Plug-in
Development→Deployable plug-ins and fragments.

Access Eclipse help over the Web

You can run your Eclipse-based help over your company's intranet or the Internet using Eclipse's
Infocenter. Use Infocenter to run help over the Web if you do not want help to be accessed from users'
local machines, but want help to be run from a central server. For information about Infocenter, see the
following URL:

http://help.eclipse.org/indigo/index.jsp
?topic=/org.eclipse.platform.doc.isv/guide/ua_help_setup_infocenter.htm

You can set up Infocenter by following the directions in the topic from the above URL. The following
steps provide a quick overview:

1. Download the Eclipse Platform Runtime Binary from the following URL:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.8-201206081200/
#PlatformRuntime

2. Unzip the binary to a directory. This directory becomes your Eclipse Infocenter site.

2-90 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Access Eclipse help over the Web

3. Copy your Business Modeler IDE help plug-in into the infocenter-installation-location\eclipse
\plugins directory.

4. Launch Eclipse from the infocenter-installation-location\eclipse directory using a command similar


to the following:

eclipse -command start -eclipsehome infocenter-installation-location\eclipse


-host host-name -port port-number -noexec

Eclipse launches.

5. To start up the Infocenter server on the specified port, issue a start command similar to the
following:

java -classpath infocenter-installation-location\eclipse\plugins


\org.eclipse.help.base_version.jar
org.eclipse.help.standalone.Infocenter -command start -eclipsehome
infocenter-installation-location\eclipse -port port-number

6. To verify that the help is running over the Web, access the help in your Web browser using an
address similar to the following:

http://host-name:port-number/help/index.jsp

7. To access the help over the Web, each user of the Business Modeler IDE must choose
Window→Preferences, and in the left pane of the Preference dialog box, choose Help→Content.
Perform the following steps in the Content pane:

a. Select Include help content from a remote infocenter and click the New button.

b. In the Name box, type a name for this Infocenter

c. In the Host box, type the name of the host where Infocenter is running.

d. In the Path box, type /help as the location of the online help.

e. Select Use port and type the number of the port you set earlier.

f. Choose Apply.

8. To use the Web version of the help, each user of the Business Modeler IDE must disable their local
copy of the help by adding a .bak to the end of the com.teamcenter.bmide.helpguide plug-in,
found at the following location:

install-location\bmide\client\plugins

Business Modeler IDE PLM00071 11.2 2-91


© 2019 Siemens Product Lifecycle Management Software, Inc.
2. Learning about the Business Modeler IDE

Note:
If the local version of the help is not disabled, the local version of the help is read instead of
the Web version.

9. To shut down the Infocenter server, open another prompt and issue a shutdown command similar
to the following:

java -classpath infocenter-installation-location\eclipse\plugins


\org.eclipse.help.base_version.jar
org.eclipse.help.standalone.Infocenter -command shutdown -eclipsehome
infocenter-installation-location\eclipse -port port-number

2-92 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business
Modeler IDE
Install the Business Modeler IDE ──────────────────────────── 3-1
Business Modeler IDE installation overview ───────────────────────── 3-1
Install the Business Modeler IDE as a stand-alone application ────────────── 3-1
Install the Business Modeler IDE to an existing Eclipse environment ────────── 3-5
Allocate memory to the Business Modeler IDE ─────────────────────── 3-9
Configure the Business Modeler IDE ───────────────────────── 3-10
Extension files ───────────────────────────────────────── 3-10
Set Business Modeler IDE preferences ─────────────────────────── 3-12
Add a server connection profile ─────────────────────────────── 3-14
Customize the Business Modeler IDE toolbar ─────────────────────── 3-18
Back up project data ────────────────────────────────────── 3-18
Start the Business Modeler IDE ──────────────────────────── 3-23
Upgrade the Business Modeler IDE ────────────────────────── 3-24
Business Modeler IDE upgrade process ─────────────────────────── 3-24
Upgrade a template project to the current data model format ───────────── 3-24
Refactor create operations ────────────────────────────────── 3-26
Migrate preferences to data model objects ──────────────────────── 3-28
Uninstall the Business Modeler IDE ───────────────────────── 3-30

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business
Modeler IDE
Install the Business Modeler IDE

Business Modeler IDE installation overview

To install the Business Modeler IDE, you can install it as a stand-alone application, or if you already
have Eclipse installed, install it into your Eclipse environment. After you install the Business Modeler
IDE, allocate additional memory so that Business Modeler IDE has enough memory to run.

Before running TEM, you must have the proper version of JRE installed and have set the JRE_HOME
environment variable or the JRE64_HOME environment variable.

Note:
The Business Modeler IDE can be installed on Windows, SUSE Linux, and Red Hat Linux systems.

Caution:
Never install the Business Modeler IDE on the same machine as the corporate server. Doing so
could have unintended consequences, especially during upgrade. Always install the Business
Modeler IDE on a separate machine.

Install the Business Modeler IDE as a stand-alone application

1. Start Teamcenter Environment Manager (TEM). For example, from the Teamcenter software
distribution image, run TEM.bat (Windows) or TEM.sh (Linux).

Note:
Before running TEM, you must have the proper version of JRE installed. You must also set the
JRE64_HOME environment variable if you have a 64-bit system.

2. Proceed to the Solutions panel. In the Solutions panel, select Business Modeler IDE, and then
click Next.

Caution:
Never install the Business Modeler IDE on the same machine as the corporate server. Doing
so could have unintended consequences, especially during upgrade. Always install the
Business Modeler IDE on a separate machine.

Business Modeler IDE PLM00071 11.2 3-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

3. Perform the following steps in the Features panel:

a. Under Base Install, select one of the following:

• Business Modeler IDE 2-tier


Connects to a Teamcenter server in a two-tier environment using IIOP (over a network).

• Business Modeler IDE 4-tier


Connects to a Teamcenter server in a four-tier environment using HTTP.

• Business Modeler IDE Standalone


Installs only the Business Modeler IDE without requiring connection to a Teamcenter server.

When you select one of these options, a server connection profile is added in the Business
Modeler IDE.

b. (Optional) Select Extensions→Platform Extensibility→Global Services→Mapping


Designer.
This installs the Mapping Designer data model mapping tool into the Business Modeler IDE.

c. (Optional) Select Extensions→Mechatronics Process Management→EDA for Business


Modeler IDE.
This installs the EDA Derived Data configuration tool into the Business Modeler IDE. This
tool is used to configure Teamcenter EDA, an application that integrates Teamcenter with
electronic CAD (E-CAD) design applications, such as Cadence and Mentor Graphics.

Note:
If you install this option, you must ensure that the Extensions→Mechatronics Process
Management→EDA Server Support option is also installed to the server.
In addition, later in the installation process when you select templates to install to the
Business Modeler IDE, you must select the EDA Server Support template
(edaserver_template.xml).

d. In the Installation Directory box, enter the location where you want to install the Business
Modeler IDE. The Business Modeler IDE files are installed to a bmide subdirectory.

e. Click Next.

4. In the Java Development Kit dialog box, click the browse button to locate the JDK installed on
your system. The kit is used for creating services. For Teamcenter 11.2, use Java Development Kit 7
or later. Click Next.

5. Depending on whether you selected Business Modeler IDE two-tier or four-tier installation, perform
the following steps:

3-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Install the Business Modeler IDE as a stand-alone application

• If you selected the Business Modeler IDE 2-tier option, perform the following steps in the 2-tier
server settings panel:

a. In the Connection Port box, type the server port number. The default is 1572.

b. Click the Edit button to the right of the 2-tier Servers box to change the server connection
profile settings, or click the Add button to add another server to connect to.

c. Click the Advanced button.

A. Click the arrow in the Activation Mode box to select the mode to use when
connecting to the server. The default is NORMAL.
If you want to allow multiple concurrent user sessions to the two-tier rich client, select
PER_CLIENT.

B. Click the ellipse button to the right of the Configuration Directory box to select the
folder where you want this configuration saved. The default is TC_ROOT\iiopservers.

C. Click OK.

d. Click Next.

• If you selected the Business Modeler IDE 4-tier option, perform the following steps in the 4-tier
server configurations panel.

a. Leave the Compress (gzip) the responses from the Web application servers check box
selected if you want faster connection performance from the server.

b. Click the Add button to the right of the 4-tier Servers table if you want to add another
server to connect to.

c. Click Next.

• If you have previously installed Teamcenter client communication system (TCCS) on your system,
and you also selected the Business Modeler IDE 4-tier option, the TcCS Settings panel appears.
This panel is used to configure TCCS for use with the Business Modeler IDE. TCCS is used when
you need secure Teamcenter communications through a firewall using a forward proxy.

Note:
If you want to use TCCS, you must install it first. To install TCCS, run the installation-source
\additional_applications\tccs_install\tccsinst.exe file. To change the TCCS setup later,
run the tccs-installation-location\tccs\_Teamcenter Communication Service_installation
\Change Teamcenter Communication Service Installation file.

• If you do not want to use TCCS, ensure that the Use TcCS Environments for 4-tier clients
check box is cleared and click Next.

Business Modeler IDE PLM00071 11.2 3-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

If this check box is cleared, the 4-tier server configurations panel is displayed after you are
finished with the current panel.

• If you want to use TCCS, perform the following steps:

a. Select Do not use proxy if you do not want to use a forward or reverse proxy.

b. Select Use web browser settings to automatically use proxy settings already configured
in a web browser.

c. Select Detect setting from network to automatically use proxy settings from the
network.

d. Select Retrieve settings from URL and type a valid proxy URL to use a proxy
autoconfiguration file.

e. Select Configure settings manually to type valid host and port values for proxy servers.

f. Select the Use TcCS Environments for 4-tier clients check box if you want to use TCCS,
or clear it if you do not. (This check box is automatically selected if TCCS is installed.)

g. If the Use TcCS Environments for 4-tier clients check box is selected, you can use the
Client Filter Text box to specify a filter text on the available TCCS environments to avoid
displaying undesired environments in the rich client client logon window. This box is
optional and can hold any string.

h. Click Next.

6. Perform the following steps in the Business Modeler IDE Client panel:

a. Click the Add button to the right of the table to select the templates to install. Templates
contain the data model for Teamcenter solutions. The Teamcenter Foundation template is
installed by default. The Foundation template contains the data model used for core
Teamcenter functions. All customer templates must extend the Foundation template.
Select the same templates that were installed on the server so that you can see the same data
model definitions in the Business Modeler IDE that were installed on the server.

Tip:
Make sure that you select the same templates that are on the server. To find the
templates installed on the server, look in the TC_DATA\model directory on the server.

Note:
If you installed the EDA option to the Business Modeler IDE, select the EDA Server
Support template (edaserver_template.xml).

3-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Install the Business Modeler IDE to an existing Eclipse environment

b. If you have any templates of your own to install or a template from a third-party, click the
Browse button and browse to the directory where the templates are located.

c. Click Next.

7. Complete the remaining panels to finish the installation in Teamcenter Environment Manager.
When the installation is complete, exit Teamcenter Environment Manager.

8. Verify the installed files in the install-location\bmide directory.


The following data model files are placed into the install-location\bmide\templates folder:

• baselines\template-name_tcbaseline.xml
Contains a snapshot of the template’s data model taken at the release of Teamcenter 11.2, if a
baseline was taken.

• icons\template-name_icons.zip
Contains the icons used by that template.

• lang\template-name_template_language_locale.xml
Contains the text that is displayed in the Business Modeler IDE user interface for all languages.

• template-name_dependency.xml
Lists the other templates that this template is built on top of, for example, the Foundation
template.

• template-name_template.xml
Contains the data model for this template, including business objects, classes, properties,
attributes, lists of values (LOVs), and so on.

• master.xml
Lists the template XML files included in the data model, for example, the
foundation_template.xml file.

9. Start the Business Modeler IDE.

Install the Business Modeler IDE to an existing Eclipse environment

If you already have Eclipse installed, you can install the Business Modeler IDE into your existing Eclipse
environment.

Business Modeler IDE PLM00071 11.2 3-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

Note:
If the Eclipse environment already has Business Modeler IDE plug-ins installed from an earlier
version, installing a later version of Business Modeler IDE plug-ins in the same environment results
in problems and is not supported. Therefore, when upgrading to a later version of Teamcenter,
install a fresh version of Eclipse and perform the following procedure:

1. Ensure you have an Eclipse 3.8 package installed. To download Eclipse, see the following URL:

http://archive.eclipse.org/eclipse/downloads/drops/R-3.8-201206081200/

2. In the Teamcenter software distribution image, change to the following directory:

additional_applications\bmide_plugins

3. Extract the bmide_plugins.zip file to your Eclipse directory (ECLIPSE_HOME). This archive contains
the Business Modeler IDE plug-ins.
After unzipping the plug-ins, verify their installation at ECLIPSE_HOME\eclipse\plugins.

4. Create a LocalSites directory on your computer, and create the following subdirectories: CDT, DTP,
EMF, GEF, JDT, and WTP.

5. Perform the following steps to extract the remaining plug-ins from the additional_applications
\bmide_plugins directory:

a. Extract each of the following archive files into its corresponding LocalSites subdirectory.
These archives contain plug-ins required by the Business Modeler IDE.

• cdt-master-version.zip
Unzip to the CDT directory. This contains the C/C++ Development Toolkit (CDT) plug-ins.
CDT provides the capability to work with projects that use C or C++ as a programming
language.

• dtp-sdk_version.zip
Unzip to the DTP directory. This contains the Data Tools Platform (DTP) plug-ins. DTP
provides a number of tools for working with data sources.

• eclipse-JDT-SDK-version.zip
Unzip to the JDT directory. This contains the Java Development Tools (JDT) plug-ins. JDT
provides tools for implementing a Java IDE.

• emf-xsd-SDK-version.zip
Unzip to the EMF directory. This contains the Eclipse Modeling Framework (EMF) plug-ins.
EMF is a modeling framework and code generation facility for building tools and other
applications based on a structured data model.

3-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Install the Business Modeler IDE to an existing Eclipse environment

• GEF-runtime-version.zip
Unzip to the GEF directory. This contains the Graphical Editing Framework (GEF) plug-ins.
GEF allows developers to take an existing application model and create a graphical editor.

• wtp4x--R-version.zip
Unzip to the WTP directory. This contains the Web Tools Platform (WTP) plug-ins. WTP helps
you develop web and Java EE applications.

b. If you need language support, create the required subdirectories under LocalSites and extract
the appropriate language pack to the corresponding subdirectory:

• NLpack1-GEF-SDK-version.zip
Contains the GEF language pack for German, Spanish, French, Italian, Japanese, Korean,
Portuguese (Brazil), Traditional Chinese, and Simplified Chinese.

• NLpack2-GEF-SDK-version.zip
Contains the GEF language pack for Czech, Hungarian, Polish, and Russian.

• NLpack2a-GEF-SDK-version.zip
Contains the GEF language pack for Danish, Dutch, Finnish, Greek, Norwegian, Portuguese,
Swedish, and Turkish.

• NLpackBidi-GEF-SDK-version.zip
Contains the GEF language pack for Arabic and Hebrew.

6. Launch Eclipse by running the eclipse file from the eclipse directory.
When Eclipse opens, set the workspace if asked and close the Welcome tab if it appears.

7. Install the remaining plug-ins using the Eclipse installation feature.

a. Choose Help→Install New Software from the top menu bar.


The Available Software dialog box is displayed.

b. In the Available Software dialog box, click the Add button to the right of the Work with box.
The Add Site dialog box is displayed.

c. In the Add Site dialog box, click the Local button and browse to each subdirectory under the
LocalSites directory, for example, CDT\eclipse, DTP\eclipse, and so on.
As you add each site, type a name for each in the Name box in the Add Site dialog box. As
you add sites, the plug-in items display on the Available Software dialog box.

d. In the Available Software dialog box, click the arrow in the Work with box and choose each
site in turn (for example, CDT, DTP, and so on).
The plug-in items are displayed in the pane.

Business Modeler IDE PLM00071 11.2 3-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

Note:
You must clear the Group items by category check box to see the plug-in items. If you
leave it selected, you may see the message:

There are no categorized items

Select the Hide items that are already installed check box to only see uninstalled
features.

e. Select all the items for the site and click Next to install them.
Install all the sites (CDT, DTP, and so on).

f. Click Next and then Finish.

g. Restart Eclipse.

8. After all the plug-ins are installed, you should be able to open the Advanced perspective. In
Eclipse, choose Window→Open Perspective→Other and select the Advanced perspective.

3-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Allocate memory to the Business Modeler IDE

Allocate memory to the Business Modeler IDE

Allocate memory to the Business Modeler IDE so that it has enough to launch and run.

Note:
If you perform live updates, you must have a minimum of 2 GB of RAM on the system running the
Business Modeler IDE to allow for other processes.

You can allocate memory in the following ways:

• BusinessModelerIDE.ini file
To increase the memory allocated to the Business Modeler IDE, open the install-location\bmide\client
\BusinessModelerIDE.ini file and change the -Xmx1024M value to a higher number to allocate
maximum Java heap size. For example, if you have 2 GB available to dedicate for this purpose, set the
value to -Xmx2048M. Do this only if your machine has the available memory.
The Xms value in this file sets the initial Java heap size, and the Xmx value sets the maximum Java
heap size.

• BMIDE_SCRIPT_ARGS environment variable


To allocate the memory required by scripts during installation, update, or load of templates with large
data models, create a BMIDE_SCRIPT_ARGS environment variable. Set the BMIDE_SCRIPT_ARGS
variable to -Xmx1024M to allocate 1 GB of RAM to the Business Modeler IDE scripts. If your system
has more memory that you can allocate to the Business Modeler IDE, you can set the value higher.

Caution:
Because Java standards require that no more than 25 percent of total RAM be allocated to virtual
memory, if the amount allocated to the Business Modeler IDE is higher than 25 percent of total
RAM, memory disk swapping occurs, with possible performance degradation.
If you set the Xmx value to a higher value than the RAM your system has, you may get the
following error when you launch the Business Modeler IDE:

Could not create the Java virtual machine.

Set the Xmx value to a setting that your system supports, in both the BMIDE_SCRIPT_ARGS
environment variable and the BusinessModelerIDE.ini file.

Note:
If you are running the Business Modeler IDE in an Eclipse environment, run the following
command to increase virtual memory to 2 GB:

eclipse.exe -vmargs -Xmx2048M

Business Modeler IDE PLM00071 11.2 3-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

Configure the Business Modeler IDE

Extension files

Introduction to extension files

Extension files hold your custom data model definitions. Before you extend the data model, choose the
extension file where you want your work to be saved. By default, a new project is set up with sample
XML files to store your extensions. You can choose to use these files to organize your data model
extensions or replace them with your own files and folders.

When you use the Business Modeler IDE, only one XML file at a time can receive your extensions. Once
you set the active extension file, all extensions are saved into this file until you set the active extension
file to another file.

Use the Organize Extensions button on the toolbar to work with extension files.

The extension files are provided as a convenience to organize your extension work. It does not matter
which files you place your extensions into, because all the extensions you create are rolled up into a
single consolidated template file before deployment. If you forget to change the active extension file as
you create your extensions, and all the changes are placed into one file such as the default.xml file, it
does not negatively affect your extension work.

You can set the extension file by right-clicking a project and choosing Organize→Set active extension
file. In the Project Files\extensions folder, a green arrow symbol appears on the active extension file
(see the following figure).

3-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Set the active extension file

Set the active extension file

1. Right-click the project where you want to save your work and choose Organize→Set active
extension file.

2. Open the Project Files\extensions folders and select the active extension file, for example,
default.xml. A green arrow symbol appears on the active extension file.

Note:
To add a new extension file, right-click the extensions folder and choose Organize→New
Extension File.

3. Perform your data model extension work.

4. When you are done with the extensions, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar. This saves your work in the file you previously set.

5. To see your work in the extension file, right-click the extension file and choose Open With→Text
Editor. The file opens in an editor view, where you can examine the extension source code. (Do not
manually edit these files.)
A master.xml file in the extensions folder points to the other files that are used to build the
consolidated template. The dependency.xml file specifies the templates the extensions are built
on (for example, the Foundation template).

Business Modeler IDE PLM00071 11.2 3-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

Move a custom object to an extension file

If you create other extension files besides the default.xml file, you can always move a custom object to
another extension file. Custom objects display a subscript c symbol indicating they are custom.

1. Right-click the custom object you want to move.

2. Choose Organize→Move to Extension File.

3. Choose the extension file.

4. Choose BMIDE→Save Data Model.


The custom object's XML nodes are moved from their original extension file to the target extension
file.

5. To verify the move, open the original and target extension files in the Project Files\extensions
folder.

Caution:
You should never manually edit the XML files since this may corrupt data.
An exception to this rule is if you are using a source control management (SCM) system and you
need to merge changes from two or more users in one file. In this case you need to manually edit
the file. After you complete the edit, save the file, and right-click in any view and choose Reload
Data Model. The Business Modeler IDE reloads all the XML definitions from the source and
validates them for correctness. If there are any issues with the XML files or definitions, they are
displayed in the Console view.

Add a new extension file

The Business Modeler IDE provides a default set of extension files in your project's Project Files
\extensions folder. You can create your own extension files.

• In the Project Files folder, right-click the extensions folder and choose Organize→New Extension
File.

Set Business Modeler IDE preferences

Perform the following steps to change preferences for the Business Modeler IDE client. Setting
preferences is optional. (You can also change Business Modeler IDE data model preferences.)

1. Choose Window→Preferences.

2. In the Preferences dialog box, select Teamcenter.

3-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Set Business Modeler IDE preferences

3. You can change the following preferences:

• General preferences

• Use custom indicators on icons


Places a c symbol next to custom data model items that you create, such as business objects,
classes, LOVs, and the like.

• Business Object View Root


Select one of the following to set the business object that is the highest (root) object displayed
in the Business Objects folder:

■ BusinessObject
Displays all business objects, including run-time business objects. (Default)
Run-time objects (children of the RuntimeBusinessObject object) behave much like
standard business objects. However, run-time business objects are not persisted in the
database as business objects but are instantiated at run time.

■ POM_object
Displays the business objects available for creating new business object types.

■ WorkspaceObject
Displays the objects that can be displayed in the end-user workspace.

■ Item
Displays the most commonly used business objects such as Item and Document that are
used to represent work objects to be tracked in Teamcenter.

Business Modeler IDE PLM00071 11.2 3-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

• Show attribute validation warning


Shows a warning if attributes added to existing classes may cause discrepancies in the
database.

• Show warning when project is deleted


Shows a confirmation dialog box when a user attempts to delete a project.

• Data Model Merge / Compare Tool


Sets the live update preferences for the Incorporate Latest Live Update Changes wizard.

• Server Connection Profiles


Sets the Teamcenter servers to connect to. You must create a profile so you can deploy your
extensions to a server or query a server for data.

• Toolbar Customization
Specifies the buttons to display on the toolbar.

• UML Editor Preference


Click the UML Editor Background Color box to select a new color to display behind the items
displayed in the UML Editor.

4. To set the active extension file indicator, in the left pane of the Preferences dialog box, choose
General→Appearance→Label Decorations, and select Teamcenter Active Extension File
Decorator. The active extension file is the file in the project selected to hold data model changes.

5. When done making changes, click Apply to commit the changes for that preference. Click Restore
Defaults to revert changes to the originally shipped settings for the preference.

6. Click OK to commit the changes you have made to all preferences.

Add a server connection profile

Create a server connection profile to deploy data model changes to a test server.

A server connection profile is automatically created when you install the Business Modeler IDE by
choosing Base Install→Business Modeler IDE 2-tier or Base Install→Business Modeler IDE 4-tier in
the Features panel of the Teamcenter Environment Manager.

1. Choose Window→Preferences.

2. In the Preferences dialog box, choose Teamcenter→Server Connection Profiles.

3-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a server connection profile

3. Click Add.
The Teamcenter Repository Connection wizard runs.

4. In the Server Connection Profile box, type the name you want to use for the profile. You can type
the name of the server, for example.

5. For Protocols, select one of the following:

• HTTP
Sets a Web communication protocol (used in a four-tier Teamcenter environment). If you
selected the Business Modeler IDE 4-tier option under Base Install when you installed the
Business Modeler IDE, the protocol is already set up for HTTP as TcWeb1.

• IIOP
Sets a network communication protocol (used in a two-tier Teamcenter environment). If you
selected the Business Modeler IDE 2-tier option under Base Install when you installed the
Business Modeler IDE, the protocol is already set up for IIOP as TcData.

• HTTPS
Sets a secure Web communication protocol (used in a four-tier Teamcenter environment).

• TCCS
Sets a Teamcenter client communication system (TCCS) protocol. This protocol is used when you
need Teamcenter communications through a firewall using a forward proxy.

Depending on what you selected for the protocol, enter the following:

Business Modeler IDE PLM00071 11.2 3-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

a. In the Host box, type the host name assigned to the Teamcenter server (for the IIOP protocol)
or the Web application server (for the HTTP or HTTPS protocol). For IIOP, this is typically set to
localhost.

b. In the Port box, type the port assigned to the Teamcenter server (for the IIOP protocol) or the
port of the Web application server (for the HTTP protocol).
For example, if you selected the IIOP protocol, you could enter the default port of 1572. If you
chose the HTTP protocol and you are using WebLogic as your Web application server, you
could enter the default port of 7001, or for Apache Tomcat, the default port of 8080.

c. If you selected HTTP or HTTPS as the protocol, an Application Name box appears. Enter the
name of the application to connect to.
For example, if you are using HTTP as the protocol to connect to Teamcenter, type the default
application name of tc. This resolves the Web address to:

web_app_server:port/tc

If you selected IIOP as the protocol, a Server ID box appears. Enter the ID of the server on the
network, for example, TcServer1.

d. If you selected TCCS as the protocol, in the Environment Name box, select the environment
that was set up when TCCS was installed.
To install TCCS, run the installation-source\additional_applications\tccs_install\tccsinst.exe
file. To change the TCCS setup, run the tccs-installation-location\tccs\_Teamcenter
Communication Service_installation\Change Teamcenter Communication Service
Installation file.

6. In the User ID box, type the ID of the authorized user on the Teamcenter server.

7. In the Group box, type the group the user is assigned to (for example, type dba for the database
administration group). This is optional.

8. In the Role box, type the role the user is assigned (for example, type DBA for the database
administrator role). This is optional.

3-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a server connection profile

9. Click Finish.
The server profile is added to the list.

10. In the Preferences dialog box, click OK to save the preferences.

11. Perform the following steps to test the connection to the server:

a. Start the server by launching the Teamcenter rich client or by running the start_imr file, for
example:

TC_ROOT\iiopservers\start_imr.bat

b. Open the Item business object and click the Display Rules tab.

c. Click the Add button in the Display Rules editor.

d. In the Display Rule dialog box, click the Browse button to the right of the Organization box.
The Teamcenter Repository Connection wizard prompts you to log on to a server to look up
the available groups and roles in the organization. (You are not asked again to log on if the
Business Modeler IDE needs to query the server for data. You only have to log on once per
session.)

e. If the connection is made properly, the Search Organization dialog box displays the groups
and roles from your server.

Now that you have configured the Business Modeler IDE, you are ready to extend the data model.

Business Modeler IDE PLM00071 11.2 3-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

Customize the Business Modeler IDE toolbar

Customize the main toolbar to add create actions for the most commonly-created elements.

1. On the menu bar, choose Window→Preferences.

2. In the left pane of the Preferences dialog box, select Teamcenter→Toolbar Customization.

3. To add buttons to the toolbar, move model elements from the left column to the right column.

4. Click OK.
The new buttons appear on the tool bar.

Back up project data

Maintain a regular backup of all relevant data so that you can restore data to the state it was in prior to
failure. For example, when deployment of a template to a database fails, you must restore data to the
state it was in prior to failure.

1. Use the Project Backup dialog box to set project backup. To access this dialog box, right-click the
project and choose Properties→Teamcenter→Project Backup.
By default, projects are backed up to your local computer when you close a project or shut down
the Business Modeler IDE (Enable backup to Local File System check box), and backed up to the
database when you deploy the project to a server (Enable backup to Teamcenter Database check
box).

3-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Back up project data

2. Back up your project data.

• When you close a project or shut down the Business Modeler IDE, execute the backup using the
following dialog box.

Business Modeler IDE PLM00071 11.2 3-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

• When you deploy the project to a server, execute the backup using the following dialog box.

3. To restore the backed-up project from the database, choose File→Import and in the Import dialog
box, choose Business Modeler IDE→Import project backed up in Teamcenter database.

3-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Back up project data

4. If importing the project backup does not work, you can try the following alternative methods:

• Local backup
The backed-up projects are saved on your hard disk (by default in the C:\BMIDEProjectBackup
directory).

Unzip the retrieved project backup ZIP file and import the project into the Business Modeler
IDE.

• Database backup

a. To locate backed-up project ZIP files in the database, in the rich client use the
BMIDEProjectBackupRecovery saved query.

Business Modeler IDE PLM00071 11.2 3-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

b. In the search results, right-click the project archive file, choose Named References, select
the file, and click Download.

• Resource dataset files


Additional Business Modeler IDE resource dataset files are stored in the Fnd0BMIDEResource
folder. You can also use these files to restore your Business Modeler IDE environment if needed.

• manage_model_files utility
Use the manage_model_files utility to retrieve projects backed up in the database.

3-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Start the Business Modeler IDE

Start the Business Modeler IDE


1. You can start the Business Modeler IDE in several ways, depending on how you installed it:

• Start the stand-alone application.


Windows systems:
Click the Start button and choose All Programs→Teamcenter version →Business Modeler IDE.
This runs the bmide.bat file.
Linux systems:
Run the bmide.sh file in the install-location/bmide/client directory.

Note:
To ensure that you have enough memory to run the Business Modeler IDE, allocate
memory in the BusinessModelerIDE.ini file and in a BMIDE_SCRIPT_ARGS environment
variable.

• Start from an Eclipse environment.


Navigate to the directory where Eclipse is installed and execute the Eclipse.exe command.

Note:
To ensure that you have enough memory to run Eclipse, you can run the Eclipse.exe
command with a virtual memory argument. For example, the following command
increases virtual memory to 2 GB:

Eclipse.exe -vmargs -Xmx2024M

You must have a minimum of 2 GB of RAM on the system running the Business Modeler
IDE to allow for other processes.

When you start the Business Modeler IDE for first time, the Welcome window is displayed.

2. Click one of the buttons in the Welcome window to learn more about the Business Modeler IDE:

• The Overview button provides links to online help topics.


• The Tutorials button provides links to tutorials.

3. To work in the IDE, click the Workbench button in the right side of the Welcome window.
The Workbench is the main window in Eclipse. The Workbench window shows one or more
perspectives. A perspective is an arrangement of views (such as the Navigator) and editors. At the
top of the Workbench is a toolbar that allows you to open new perspectives and move between
ones already open. The name of the active perspective is shown in the title of the window.

Business Modeler IDE PLM00071 11.2 3-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

Note:
You can access the Welcome window again later by choosing Help→Welcome from the
Business Modeler IDE.

4. Examine the BMIDE view in the Standard perspective. This view provides a centralized location for
favorites, data model elements, and project files.

Note:
If a perspective fails to open, it could be that not enough memory is being allocated to the
Business Modeler IDE.

Upgrade the Business Modeler IDE

Business Modeler IDE upgrade process

To install a newer version of the Business Modeler IDE, follow these steps:

1. Install the new version of the Business Modeler IDE.

2. Migrate your old projects to the new data model format.


You can also create new projects.

3. If your project has any dependent templates, use Teamcenter Environment Manager (TEM) to add
dependent templates back into the project. In the Feature Maintenance panel, select Add/
Update Templates for working within the Business Modeler IDE Client.

4. Migrate obsolete preferences.

5. If you have server code customizations from previous versions, you must regenerate the code and
rebuild your libraries.

6. Uninstall the previous version of the Business Modeler IDE.

Note:
If your upgrade of the Business Modeler IDE is part of a larger process to upgrade Teamcenter, see
Teamcenter Upgrade.

Upgrade a template project to the current data model format

If you have installed a new version of the Business Modeler IDE, you can use a project from the previous
version. But first you must upgrade the project to the new data model format. This upgrade is necessary

3-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Upgrade a template project to the current data model format

because the XML format used for data model files can change between product releases, and the project
must be adjusted to fit the new XML format.

You can upgrade a project three ways:

• Welcome window
When you first open the Business Modeler IDE after installing it, the Welcome window is displayed.
Click the Upgrade your BMIDE template from a previous Teamcenter release link in this window to
run the import wizard. This imports your template into the new version of the Business Modeler IDE.

• import wizard
If your template project is not already in the workspace, import it into the new version of the Business
Modeler IDE:

1. Choose File→Import.

2. In the Import dialog box, choose Business Modeler IDE→Import a Business Modeler IDE
Template Project.

While importing the project, the Business Modeler IDE automatically upgrades the project to the
new data model format.

• Re-run Template Project Upgrade wizard


If your template project is already in the workspace, upgrade it to the new version of the Business
Modeler IDE:

1. On the menu bar, choose BMIDE→Upgrade Tools→Re-run Template Project Upgrade Wizard.

The wizard runs.

2. In the Template Project Upgrade dialog box, click the arrow in the Project box to select the
project to upgrade.

3. Click Finish.

The project is upgraded to the new data model format. The Console view displays success or
failure messages for the upgrade.

After upgrade, open the Project Files folder and check for any error or warning messages in the
log in the output\upgrade folder.

Business Modeler IDE PLM00071 11.2 3-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

Caution:
After a template project is upgraded, it cannot be used for installation or upgrade in a previous
version of Teamcenter. To find the version the template has been upgraded to, open the
dependency.xml file in the extensions folder of the template project and view the
currentTemplateVersion value.

Upgrading the custom template may be part of a larger process when you upgrade to the latest version
of Teamcenter:

1. Import the older project into the latest version of the Business Modeler IDE. This updates the data
model to the latest data model version.

2. Package the template in the Business Modeler IDE.

3. Install the packaged template to the upgraded server.

Refactor create operations

The create operation creates objects in memory, and the save operation commits the created objects to
the database. The create operation of a business object should be followed by a save operation to
commit the objects created in memory to the database, for example:

ITEM_create_item()
ITEM_save_item( itemTag ) or AOM_save_with_extensions ( itemTag )

ITEM_create_rev()
ITEM_save_rev( revTag ) or AOM_save_with_extensions ( revTag )

As of Teamcenter 9.1, this create and save pattern requires that any postactions attached to the create
message (operation) should not assume the created objects are already saved into the database, and
any create operation overrides should not make that assumption either. The create operation override
refers to the override of the create operations (finalizeCreateInput, validateCreateInput,
setPropertiesFromCreateInput, and createPost) on a custom business object.

When a custom template is upgraded to Teamcenter 9.1 or later, the Teamcenter migration service
recognizes all the existing postactions that are attached to any of the following create messages and
adds them into the attached value list of the Fnd0MigratedPostActions global constant:

AE_create_dataset
ITEM_create
ITEM_create_rev
FULLTEXT_create
GRM_create

You can open the Global Constants Editor to view the attached value list on the
Fnd0MigratedPostActions global constant. The format for an attached value is as follows:

3-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Refactor create operations

business-object-name||extension-name||source-message-name||
target-message-name

For example:

Item||autoAssignToProject||ITEM_create||IMAN_save
CAEAnalysisRevision||createDefaultDatasets||ITEM_create||IMAN_save
Dataset||setOrgOnCreation||AE_create_dataset||AE_save_dataset
FullText||setOrgOnCreation||FULLTEXT_create||AE_save_dataset
Thumbnail||CreateTNRelationForIR||GRM_create||IMAN_save

All the create postactions in the attached value list are automatically dispatched (or executed) as
postactions of the save message. In doing so, the create and save pattern has no impact on the existing
create postactions, which continue to work without mandatory refactoring. It is mandatory that both
the new create postactions and the create operation overrides do not make any database query against
the newly created objects.

You can perform the following procedure to refactor an existing create postaction. (The refactoring of
the create postactions is optional):

1. Upgrade a pre-Teamcenter 9.1 project by choosing File→Import→Business Modeler


IDE→Import a Business Modeler IDE Template Project.
When the project is upgraded, a postaction migration service script is run to identify the
postactions attached to the create messages described previously. You can find this service listed in
the upgrade log. To see the upgrade log, open the Project Files folder and look in the \output
\upgrade folder.

2. Open the Global Constants Editor to view the create postactions added to the
Fnd0MigratedPostActions global constant:
Examine the codes for each create postaction and perform one of the following actions:

• The create postaction does not make any database query against the newly created objects, and
no refactoring is needed.
Use the Global Constants Editor to modify the Fnd0MigratedPostActions global constant
attachment by deleting the attached value corresponding to the postaction. Once removed from
this global constant attachment, the postaction is then executed as a postaction of the create
operation as before.

• The create postaction makes a database query against the newly created objects and can be
refactored.

a. Modify the postaction code so that no database query is made against the newly created
objects.

b. Use the Global Constants Editor to modify the Fnd0MigratedPostActions global constant
attachment by deleting the attached value corresponding to the postaction. Once removed
from this global constant attachment, the postaction is then executed as postaction of the
create operation as before.

Business Modeler IDE PLM00071 11.2 3-27


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

3. Run the Create Operation Override Report by choosing BMIDE→Reports. (This report appears in
the list of available reports only after upgrading a template project.)
The report includes overrides of create operations on the following business objects:

Dataset
Form
Item
ItemRevision

For each create override operation, examine the codes and ensure no database query is made
against the newly created objects.

Migrate preferences to data model objects

Some preferences are converted to Business Modeler IDE template data model objects, such as business
object constants. This centralizes data model-dependent preferences in the Business Modeler IDE. If
your database contains any of the converted preferences, you must migrate them using the Preferences
Migration wizard.

The following preferences are converted:

• ItemRevision-business-object_Maturity_Level
These preferences set the status that an item revision must reach to be considered mature. These
preferences are obsolete and are migrated to values on the MaturityStatuses business object
constant. For example, if your database had a DocumenRevision_Maturity_Level preference set to
the Frozen value, it is migrated to the Frozen value on the MaturityStatuses business object
constant on the DocumentRevision business object.

Note:
If you are upgrading from an earlier version of Teamcenter, you should verify that all of your
relation properties are now managed in the Business Modeler IDE. To verify, look in your
preferences for each <relation_type>_relation_primary preference that you added, and add it to
your custom template in the Business Modeler IDE.

To find any custom preferences that fit the converted preferences, choose Edit→Options→Search in
the My Teamcenter application in the rich client. If you find that your database contains at least one of
the converted preferences, you must perform the following steps to migrate the preferences:

1. Use the preferences_manager utility to extract site level preferences from your current database.
This is the database currently in use at your site and not yet upgraded.
Run the command from the Teamcenter command prompt:

preferences_manager -u=user-name -p=password -g=group


-mode=export -scope=SITE -context=Teamcenter -out_file=c:\temp
\exported_preferences.xml

3-28 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Migrate preferences to data model objects

This extracts all the site-level preferences to the specified XML file.

2. In the Business Modeler IDE, choose BMIDE→Upgrade Tools→Preferences Migration Wizard.


Click Next.

3. In the Preferences Migration dialog box, perform the following steps:

a. Click the arrow in the Project box to select the project that the preferences will be migrated
into.

b. Click the Browse button to the right of the Preferences XML File to locate the output XML
file that resulted from running the preferences_manager utility.

c. Click Finish.
A project\install\cleanup_preferences.txt file is created that contains the list of preferences
to be deleted from the database. Do not delete this file. This file must be maintained in your
source control. This file is packaged when you run the Package Template Extensions wizard in
the Business Modeler IDE and is used during the database upgrade to remove the converted
preferences from the database.
In addition, a Project Files\output\upgrade\preferences_migration.log file is created that
contains the migration log.

4. To verify the migration, in the Business Modeler IDE, open the new business objects that are
created by the migration process. Ensure that the Business Object Constants table contains the
new business object constants.

Note:
Only the custom ItemRevision-business-object_Maturity_Level preferences are migrated into
the project as business object constants. All the other preferences are ignored. The
preferences are migrated to business objects named ItemRevision-business-
object_Maturity_Level, and the MaturityStatuses business object constant is applied to
these new business objects.

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar. This saves template extension files that now contain
preferences converted to template elements.

6. Update the customer upgrade script to remove the migrated preferences from the database during
upgrade of the customer database. This step ensures that when the database is upgraded, the
obsolete preferences listed in cleanup_preferences.txt also get deleted from the database.

a. Open the upgrade_template-name_vversion.default file. If this file does not exist, create one
using your old upgrade_template-name_vversion.default script as an example.

b. Add the following text in the post-non-schema-delete section of the file:

Business Modeler IDE PLM00071 11.2 3-29


© 2019 Siemens Product Lifecycle Management Software, Inc.
3. Installing and configuring the Business Modeler IDE

preferences_manager -u=infodba -p=${TC_USER_PASSWD} -g=dba


-mode=remove
-scope=SITE -file=${TC_INSTALL_DIR}/template-name/
cleanup_preferences.txt

Replace template-name with the name of your custom template.

7. Update your existing custom preferences data file. You may have a custom preferences data file
that installs custom preferences to your database. If this file contains any of the preferences just
migrated, remove them from this file. This is to ensure that the preference data file does not
continue installing any of the migrated preferences.

Uninstall the Business Modeler IDE


You must uninstall the old version of the Business Modeler IDE after you have installed a newer version.

1. Start Teamcenter Environment Manager (TEM) for the old installation. For example, on a Windows
system, run tem.bat from the install directory where the old version of the Business Modeler IDE is
installed.

2. In the Maintenance panel, select Configuration Manager and click Next.

3. In the Configuration Maintenance panel, select Perform maintenance on an existing


configuration and click Next.

4. In the Configuration panel, make sure the proper configuration is selected and click Next.

5. In the Feature Maintenance panel, under Teamcenter, select Add/Remove Features and click
Next.

6. In the Features panel, clear all the check boxes for Business Modeler IDE and click Next.

7. In the confirmation panel, click Next.


The old version of the Business Modeler IDE is uninstalled.

3-30 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging
templates
Template process in the Business Modeler IDE ─────────────────── 4-1
Create a Business Modeler IDE template project ────────────────── 4-1
Deploying templates ─────────────────────────────────── 4-7
Introduction to deploying templates ───────────────────────────── 4-7
How to deploy a template ─────────────────────────────────── 4-8
Retrieve deployment archive files ────────────────────────────── 4-13
Package extensions into a template ───────────────────────── 4-13
Install a template using TEM ───────────────────────────── 4-17
Update the database using TEM ─────────────────────────── 4-20
Install or update a template using the tem utility ──────────────── 4-22
Live updates ──────────────────────────────────────── 4-23
Introduction to live updates ───────────────────────────────── 4-23
Single administrator versus multiple administrators in a live updates environment
─────────────────────────────────────────────── 4-24
Live updates for a single administrator ─────────────────────────── 4-26
Live updates for multiple administrators ────────────────────────── 4-42
Live updates reference ──────────────────────────────────── 4-44
Merge samples ───────────────────────────────────────── 4-58
Tips for working with template projects ────────────────────── 4-58
Closing and opening projects ──────────────────────────────── 4-58
Deleting projects ──────────────────────────────────────── 4-59
View Business Modeler IDE template project properties ──────────────── 4-59
Add a template to a Business Modeler IDE project ──────────────────── 4-66
Edit the template feature file ──────────────────────────────── 4-69
Push a template to the reference directory ──────────────────────── 4-70
Templates reference ─────────────────────────────────── 4-71
Templates overview ────────────────────────────────────── 4-71
Creating a template project ───────────────────────────────── 4-71
Aligning Siemens PLM Software template development and customer template
development ───────────────────────────────────── 4-72
Adding extensions to the template ───────────────────────────── 4-72
Synchronize all data directories with the latest templates ─────────────── 4-72
Files in a template project ────────────────────────────────── 4-73
Templates installation reference ────────────────────────────── 4-77
Template artifacts ─────────────────────────────────────── 4-96

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging
templates
Template process in the Business Modeler IDE
Templates are files that hold data model changes. Following is the general process for working with
templates:

1. Create a template project to hold your custom data model.

2. Deploy your template to a test server to verify its behavior.

3. Package your template for installation to a production server.

4. Install your template to a production server.

5. Live update the nonschema data model (such as lists of values) on the production server.

Create a Business Modeler IDE template project


Before you can start using the Business Modeler IDE, you must create a template project. A template
project holds the custom data model objects you add to Teamcenter.

1. Choose File→New→New Business Modeler IDE Template Project.

2. In the Business Modeler IDE Template Project dialog box, perform the following steps:

a. In the Prefix box, type a 2- to 4-character prefix that will be affixed to the name of all objects
created in the template to ensure unique naming. The first character must be an uppercase
letter, and in the second, third, or fourth character position, type a number between 4 and 9.

b. Template name defaults to your project name. This is the name of the template file created
when this project's extensions are packaged for distribution. This name must begin with
the project prefix to differentiate it from other templates.

Business Modeler IDE PLM00071 11.2 4-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

c. Template display name defaults to your project name. This is the template name that
appears in Teamcenter Environment Manager when this template is installed on other
servers.

d. In the Template description box, type a description of the project. This is the description that
appears in Teamcenter Environment Manager for this template.

e. Click Browse to the right of the Dependent templates directory box to select the directory
where the data model template XML files are stored (install-location\bmide\templates).

Caution:
You must never point to the templates in TC_DATA\model directory. The templates in
TC_DATA\model are used only for database updates, and the Business Modeler IDE
client must never use the templates in this folder.

f. Select the Use default location check box if you want to create the project under your default
workspace.
To find the workspace location, choose File→Switch Workspace in the Advanced
perspective. For example, on Windows systems, the default workspace is at install-location
\bmide\workspace\. On Linux, users must have permission to the workspace directory.
If you want to create the project in another location, clear the Use default location check box
and click Browse to choose another location. For example, if you are using a source control
management (SCM) system to manage your XML source files, you may want to create the
project in a location where the SCM can recognize it.

Caution:
If you choose the location, you must follow these rules:

• The destination directory must be named the same as the project.

• Do not create the project in another project's directory.

• Do not create the project in the parent directory of your workspace.

g. Click Next.

4-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a Business Modeler IDE template project

3. In the Dependent Templates pane, select the boxes for the templates you want to use in this
project, for example, Foundation. (Templates contain the data model for Teamcenter solutions.
The Foundation template contains the data model used for core Teamcenter functions.)

Note:
Make sure that you select the same templates that are on the server.

Click Next.

4. Select the languages in the Locales Selector dialog box if you want the display names of data
model you create in the template to be viewable in different languages in the Teamcenter end-user
interface.

Caution:
Only select the locales your database supports. Typically, you cannot mix western locales
(English, French, Spanish, and so on) with locales having different character sets (Korean,
Japanese, Chinese, Russian).

Note:
The selected languages are stored in the Fnd0SelectedLocales global constant. To change
the languages later, right-click the lang folder in the Project Files view and choose
Organize→Add localization files.

Click Next.

Business Modeler IDE PLM00071 11.2 4-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

5. If you plan to write code, set up the location of generated source files in the Code Generation
Information dialog box.

a. The Namespace box displays a namespace for the code generation. Namespace defaults to
the project name.
Namespaces allow for grouping code under a name to prevent name collisions. Collisions
result when different libraries may use the same class names for different classes. Each
template can specify a namespace associated with the C++ classes and with data types
created in the template.
For example, the custom classes for the Widget template can specify Widget as the
namespace for its classes. This allows both the Foundation and Widget templates to have a
class called Item by using their different namespaces as the differentiator.

b. Click the Browse button to the right of the Base Path box to change the workspace location
where the generated code is placed.
To find the workspace location, choose File→Switch Workspace. For example, a Windows
system, generated code is saved by default to:

install-location\bmide\workspace\
version\project\output\

On Linux, users need to have permissions to the workspace directory.


After you create the project, you can generate code by right-clicking a business object in the
Business Objects folder and choosing Generate Code. To see the generated files, open the
Project Files\output\ folder under your project.

4-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a Business Modeler IDE template project

c. Select the Folders check box if you want to change names of the folders to contain generated
code.
In the Source Folder box, type the name of the folder to contain source files. The default is
src. The source files are where you write business logic.

d. The Dispatch Library Name box displays the name of the directory where generated files are
collected. The default is templatedispatch. This directory is placed under the gensrc
directory.
The Copyright box displays the copyright text placed into each generated file.

e. Select Enable Deprecation Policy to allow for removal of obsolete objects from the project.
Deprecation means announcing that something is no longer supported and that it will be
removed in a future product release.

f. Click the arrow in the Number of Allowed Releases before Deletion box to select how many
releases before objects can be deleted from the project.

g. Click Next.

6. The Build Configuration Information dialog box is used to set up C++ code generation.

In the Build Configuration Information dialog box, perform the following steps:

a. Click the Browse button to the right of the Teamcenter Installation box to select the location
where the Teamcenter server is installed, for example, install_location\Siemens
\Teamcenter9.

b. Click the Browse button to the right of the Compiler Home box to select the location where
your C++ compiler is located. For example, if your platform is Windows and you are using
Microsoft Visual Studio, browse to compiler-install-path\VC\bin.
For information about supported C++ compilers, see the hardware and software
certifications page on GTAC.

Business Modeler IDE PLM00071 11.2 4-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Note:
If you use Windows on a 64-bit machine and intend to use Microsoft Visual Studio for
compiling, ensure that the x64 Compilers and Tools option is installed to Visual Studio.
You may also want to add a call to the vcvarsall.bat file in the bmide.bat file and add
x64 to the end of the vcvarsall.bat command. The bmide.bat file runs the Business
Modeler IDE. Place the call before the PATH statement, for example:

call "C:\apps\MVS10\VC\vcvarsall.bat" x64


set PATH=%JDK_HOME%\bin;%JRE_HOME%\bin;TC_ROOT\lib;%FMS_HOME%
\
bin;%FMS_HOME%\lib;%PATH%;

Replace TC_ROOT with the installed location of Teamcenter.

c. Click Next.

7. The Teamcenter Service Bindings Configuration Information dialog box allows you to set the
kinds of client binding files to create when you generate services code.
Services are Teamcenter actions that can be called by external clients, such as check in, check out,
and so on. Services are used by system administrators to connect their company's applications to
Teamcenter. Client binding files are used to connect the client to the Teamcenter server and are
written in the language of the client, for example, C++, Java, or .NET.

In the Teamcenter Service Bindings Configuration Information dialog box, perform the
following steps:

4-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to deploying templates

a. Click the Browse button to the right of the Teamcenter Services client kit home box to
select the location where the service-oriented architecture files have been extracted from the
soa_client.zip file, for example, install_location\soa_client.

Note:
The Teamcenter Services client libraries are located on the Teamcenter installation
source, in the soa_client.zip file. To get started using services, after you have extracted
the ZIP file, go to soa_client\Help.html.

b. If you want to create .NET bindings, click the Browse button to the right of the .NET MSBuild
Location box to select the location where Microsoft .NET is installed.

c. In the Service binding options area, select the check boxes for the kind of clients you want to
connect to Teamcenter using services. When you generate service code, the kinds of binding
files you select on this dialog box are created.

8. Click Finish.
The wizard creates the project, and the IDE reads in the data model from the template XML files. If
there are any errors, they are displayed in the Console view.

Caution:
Resolve all errors before using the Business Modeler IDE. Otherwise, you may risk extending
corrupted data.

If you want to change the project settings later, right-click the project, choose Properties, and select
Teamcenter.

Deploying templates

Introduction to deploying templates

After you make changes to the data model, you can deploy them to a server using the Deploy wizard.
Choose BMIDE→Deploy Template on the menu bar, or select the project and click the Deploy
Template button on the main toolbar. This is also known as live update. All your extensions are
rolled up from your individual extension files into a single template and placed in the database.

If you are deploying live updates to production servers, you can also use the Deployment Page by right-
clicking a live update template project and choosing Open Deployment Page.

Use the Deploy wizard in two different situations:

• Deploy a template to a test server

Business Modeler IDE PLM00071 11.2 4-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Live update to a test server when you want to verify your custom data model before packaging it into
an installable template and installing it to a production server. This is recommended in most
situations.

Caution:
Do not use live update to a test server when your customizations include the following:

• Libraries
If you have customizations, you cannot use live update because customizations have libraries.
Instead, you must package your template and install it using Teamcenter Environment
Manager (TEM).

• Localizations
Do not use live update to place localization changes on a server. Doing so could result in the
following error:

Error Code: 515062 Error Message: Class referenced

Instead of using live update, install localized templates using Teamcenter Environment
Manager (TEM).

• Deploy data to a production server


Live update to a production server when you have data to place on the server, such as LOVs and
rules. You can live update nonschema data that must be updated on a regular basis. In this situation,
create a template that only contains data that can be updated live, and use a source control
management (SCM) system to manage the versioning of the template source file.

Note:
If your process requires you to add both schema and nonschema data to a production server,
you must use an SCM system and two Business Modeler IDE clients. One client should be used
for deploying nonschema data on a regular basis, and the other for maintaining schema data to
be packaged into a installable template. Use the SCM to synchronize both sets of definitions to
update the production system with the installable template.

How to deploy a template

Deploy a template when you want to send it to a test server prior to installing it to a production server,
or when you want to send nonschema data such as LOVs to a production server.

If you are deploying live updates to production servers, you can also use the Deployment Page by
choosing BMIDE→Deployment Page or right-clicking a live update project and choosing Open
Deployment Page.

4-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
How to deploy a template

Note:
If you have customizations, you cannot use live update to a test server because customizations
have libraries. Instead, you must package your template and install it using Teamcenter
Environment Manager (TEM).

1. The person performing the deployment should log on to Teamcenter and ensure that the
Teamcenter server is running. (This user should be the only user logged on to the test Teamcenter
server.) Also check that the BMIDE_ALLOW_FULL_DEPLOY_FROM_CLIENT preference on the
server is set to TRUE. By default, the preference is set to TRUE to allow deployment.
To access preferences in the My Teamcenter application within the Teamcenter rich client, choose
Edit→Options and click Search at the bottom of the Options dialog box.

2. To save any uncommitted changes to the data model, choose BMIDE→Save Data Model, or click
the Save Data Model button on the main toolbar.

3. On the menu bar, choose BMIDE→Deploy Template.


You can also select the project in a view and click the Deploy Template button on the main
toolbar.

4. In the Teamcenter Login dialog box, enter the following information:

a. Click the arrow in the Project box to select the project to deploy.

b. Click the arrow in the Server Profile box to choose the server to deploy the extensions to.

Note:
If a server connection profile has already been created, an existing server profile is
loaded. To create profiles, choose Window→Preferences→Teamcenter→Server
Connection Profiles.

c. In the User ID box, type the ID of the authorized user on the Teamcenter server.

d. In the Password box, type the password for the authorized user on the Teamcenter server.

Business Modeler IDE PLM00071 11.2 4-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

e. In the Group box, type the group the user is assigned to (for example, type dba for the
database administration group). This step is optional.

f. In the Role box, type the role the user is assigned (for example, type DBA for the database
administrator role). This step is optional.

g. Click Connect.
The Business Modeler IDE client connects to the server.

h. Select the following check boxes to regenerate cache as part of deployment.

Caution:
Be aware that deployment takes longer if you select these options because it takes extra
time to update the cache.

• Generate Client Cache?


Runs the generate_client_meta_cache utility to cache metadata for clients. Select this
whenever you use live update so that the changes are cached on clients when they connect
to the server. This can improve performance for clients. The utility is usually run during
installation and upgrade, and when deploying from the Business Modeler IDE.

4-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
How to deploy a template

Note:
If Generate Client Cache? is selected at deployment, the first time a rich client
connects to the server, this message appears:

Synchronizing the Rich Client install files


with the Teamcenter Server.

The message does not appear with subsequent rich client connections to the server.

• Generate Server Cache?


Runs the generate_metadata_cache utility to cache metadata for servers. Select this
whenever you are live updating schema changes to a test sever (for example, business
objects and properties). This cache contains business object types, property descriptors,
and constants and reduces the memory footprint for tcserver instances.

Warning:
Never live update schema changes to a production server. Only live update schema
changes to test servers.

Note:
If you do not select the Generate Server Cache? check box when you deploy schema
changes to a test server (for example, changed business objects and properties),
when you log on to the test server, you may see the following message:

The schema file is out of date. Please regenerate.

To force generation of the shared server cache, run the generate_metadata_cache


utility.

i. Click Finish.
The Deployment to Teamcenter Server dialog box displays the progress of the deployment.

Business Modeler IDE PLM00071 11.2 4-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

When deployment is done, the Deployment Results dialog box displays the outcome of
deployment.

The Console view displays links to the log files. If there are any deployment errors, take
corrective action and attempt to deploy again.

For every deployment, a new directory with a timestamp is generated in the output\deploy
folder under your Project Files folder. This folder contains the templates and log files
generated during the deployment. View the deploy.log file to see the results of the
deployment.
You can also locate the deployment files in your workspace. To find the workspace location, in
the Advanced perspective, choose File→Switch Workspace.
For example, on a Windows system, they are saved by default to:

install-location\bmide\workspace\version\project\
output\deploy

On Linux, users need to have permissions to the workspace directory.

4-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Retrieve deployment archive files

Note:
By default, project backup is enabled at deployment. (To change your project’s backup
settings, right-click the project and choose Properties→Teamcenter→Project Backup.)

5. Verify the data model changes are in the server by launching the Teamcenter rich client.

Retrieve deployment archive files

When a deployment is executed either from the Business Modeler IDE or Teamcenter Environment
Manager (TEM), deployment archive files are saved in the database in BMIDE Deploy Archive Dataset
(Fnd0BMIDEDeployArchive) datasets in the Fnd0DeployArchiveResource folder. To archive the
deployment files, the Business Modeler IDE calls the deployment archive service operation, and TEM
calls the deploy_archive utility. You can turn off this deployment archival functionality by setting the
DEPLOY_ARCHIVE_ACTIVE environment variable to false (or off, no, or 0).

To examine the deployment history or determine why deployments are failing, you can retrieve these
archived datasets.

1. In the rich client, use the BMIDEDeployArchiveRecovery saved query, or search for BMIDE Deploy
Archive Dataset datasets, or search for the Fnd0DeployArchiveResource folder.
Archive dataset files are displayed in the Search Results view. Archives for Business Modeler IDE
deployments are named deploy_BMIDE_user-id_date-time-stamp, and archives for TEM
deployments are named deploy_TEM_user-id_date-time-stamp.

2. In the Search Results view, right-click the deployment archive file, choose Named References,
select the file, and click Download.

3. Unzip the archive file.


Each archive consists of:

• log_files_archive.zip file
Contains all of the business_model_updater and business_model_extractor logs and the
tc_install or tc_upgrade logs that are created during the deployment.

• compare_history_files_archive.zip file
Contains the model*, delta*, model_lang*, and delta_lang* files for this deployment

Package extensions into a template


You can package extensions to the data model as a template and distribute the template for installation
to a production environment. Templates are installed using Teamcenter Environment Manager.

Business Modeler IDE PLM00071 11.2 4-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Note:
If you have coded customizations in C++, the Business Modeler IDE packages the built C++ library
as part of its template packaging. The complete solution that includes the data model and the C++
runtime libraries are packaged together.

1. Before packaging your template for installation to a production environment, ensure that it has
been thoroughly tested in a test environment.

2. Choose BMIDE→Package Template Extensions.

3. Perform the following steps in the Package Template Extensions dialog box:

a. In the Project box, select the project whose extensions you want to package into a template.

b. Leave the Use default location check box selected if you want the template files to be placed
in your workspace in the output\packaging folder under your project.
If you want to set the folder where the template files are stored, clear the Use default
location box, and click the Browse button to the right of the Target folder box to choose the
folder where the template files are to be saved.

4-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Package extensions into a template

c. Click Finish.
By default, the template files are saved to the \output\packaging folder.

Note:
You can also locate the files in your workspace. To find the workspace location, in the
Advanced perspective, choose File→Switch Workspace.
For example, on a Windows system, they are saved by default to:

install-location\bmide\workspace\
version\project\output\packaging

On Linux, users need to have permissions to the workspace directory.

Business Modeler IDE PLM00071 11.2 4-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

The following template files are placed in the Project Files/output/packaging directory:

• feature_template-name.xml
This file contains the information necessary for TEM to recognize the template and how to
handle the template for installation and upgrade.

• template-name_install.zip
This ZIP file contains all the support files for installing and upgrading your template, and
any data files that were stored in the project/install folder.

• template-name_template.zip
This ZIP file contains the template definitions (template-name_template.xml), the
dependency file (template-name_dependency.xml), and the optional baseline file
(template-name_tcbaseline.xml.

• template-nameBundle_language-code_country-code.xml
This file contains the localized text for the feature file so that TEM can display the feature
description in the localized version.

If you have generated C++ classes or services artifacts, the following files are added:

• template-name_rtserver.zip
This file contains C++ run-time libraries (template-name_rtserver.xml).

• template-name_soa_client_kit.zip
This file contains new services.

• Web_tier
This folder contains new services web tier deployment files for .NET and Java EE servers.

4-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Install a template using TEM

4. Install the packaged template to a Teamcenter server using Teamcenter Environment Manager
(TEM).

Install a template using TEM


After you package extensions, install the resulting template to a production environment using
Teamcenter Environment Manager. You can also use this procedure to install a third-party template.

Note:
You can also install a template using the tem command line utility, for example:

tem -install -features=feature-name -path=location-of-template-files -pass=password

Warning:
You should back up your data on a regular basis so that you can restore it in the event of a
template installation failure.

1. Copy the template files from the packaging directory on your Business Modeler IDE client to a
directory that is accessible by the server.
By default, packaged template files are located in the Business Modeler IDE workspace directory in
the output\packaging folder under the project. To find the workspace location, choose
File→Switch Workspace. For example, on a Windows system, they are saved by default to:

install-location\bmide\workspace\version\project\output\packaging

On Linux, users must have permissions to the workspace directory.

2. Start Teamcenter Environment Manager (TEM).

3. In the Maintenance panel, choose Configuration Manager and click Next.

4. In the Configuration Maintenance panel, choose Perform maintenance on an existing


configuration and click Next.

5. In the Configuration pane, select the configuration from which the corporate server was installed.
Click Next.

6. In the Feature Maintenance panel, under the Teamcenter section, select Add/Remove Features.
Click Next.

Business Modeler IDE PLM00071 11.2 4-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Note:
If you already installed a template to the database and want to update the template, under
the Teamcenter Foundation section, select Update the database. This option should not be
used to install a new template but only to update an already installed template.
Use the Add/Update templates for working within the Business Modeler IDE client option
under Business Modeler Templates only if you want to add a dependent template to your
Business Modeler IDE.

7. In the Features panel, click the Browse button on the lower right side of the panel.

8. Browse to the directory where you have copied the template files. In the Files of type box, ensure
that Feature Files is selected so that you see only the installable template (feature) file. Select your
template's feature file (feature_template-name.xml) and click the Select button.
The template appears as a new feature under Extensions in the Features panel.
You can change the location of the feature in the Features panel and add a new group to place
the feature under.

9. Select the new template in the Features panel. Click Next.

4-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Install a template using TEM

10. In the Teamcenter Administrative User panel, enter your user name and password to log on to
the server. Click Next.

11. The Database Template Summary panel displays the list of templates that are installed as part of
your template install. Click Next.

12. In the Confirmation panel, click Start. The new template is installed.

Business Modeler IDE PLM00071 11.2 4-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Note:
If the installation fails because of invalid data model, perform the following steps:

a. Fix the incorrect data model and repackage the template.

b. Locate the template-name_template.zip in your project's packaging directory and


unzip it to a temporary location. Copy the following files to the server in the TC_ROOT/
install/template-name folder:

template-name_template.xml
template-name_dependency.xml
template-name_tcbaseline.xml (if the file exists)

c. Launch Teamcenter Environment Manager in the maintenance mode and continue with
recovery.

13. To verify the installation of the new template, confirm that the TC_DATA\model directory on the
Teamcenter server contains the new template files.
Also log on to the server and confirm that you can create instances of your new data model.

Note:
To have libraries read on the user system, the TC_LIBRARY environment variable must be set
to the platform-specific shared library path. This environment variable is set to
LD_LIBRARY_PATH (Solaris or Linux) or LIBPATH (AIX), depending on the platform detected
when the Teamcenter session is initiated.

Update the database using TEM


If you already installed a template as a new feature and want to update it because you have added more
data model definitions to it, perform the following steps in the Teamcenter Environment Manager
(TEM).

Note:
You can also update a template using the tem command line utility, for example.

tem -update -full -templates=template-name-1,template-name-2 -path=location-of-template-files


-pass=password

1. Copy the packaged template files from the packaging directory on your Business Modeler IDE
client to a directory that is accessible by the server.
By default, packaged template files are located in the Business Modeler IDE workspace directory in
the output\packaging folder under the project. To find the workspace location, choose
File→Switch Workspace. For example, on a Windows system, they are saved by default to:.

4-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Update the database using TEM

install-location\bmide\workspace\version\project\output\packaging

2. Start Teamcenter Environment Manager (TEM).

3. In the Maintenance panel, choose Configuration Manager and click Next.

4. In the Configuration Maintenance panel, choose Perform maintenance on an existing


configuration and click Next.

5. The Configuration panel displays the installed configuration. Click Next.

6. In the Feature Maintenance panel, under the Teamcenter Foundation section, select Update
Database (Full Model - System Downtime Required). Click Next.

Note:
Use the Add/Update Templates for working with the Business Modeler IDE Client option
under Business Modeler only if you want to add or update a dependent template to your
Business Modeler IDE.

7. Click Next

8. In the Teamcenter Administrative User panel, enter your user name and password to log on to
the server. Click Next.
The Update Database panel displays currently installed templates.

Business Modeler IDE PLM00071 11.2 4-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

9. Click the Browse button to navigate to the directory where the packaged template files are located.
Select the updated feature_template-name.xml file.

Note:
If you are fixing a COTS template (for example, the Foundation template) using a new
template file provided in a patch, you must copy the template's feature_template-name.xml
and the template-name_install.zip files to the same temporary directory containing the new
template-name_template.zip file.

The template displays a refreshed status icon .

10. Click Next.

11. In the Confirmation panel, click Next.


The new template is installed.

12. To verify the installation of the revised template, log on to the server and confirm that you can
create instances of your new data model.

Install or update a template using the tem utility


You can use the tem command line utility to install features or update a template without user
interaction with the Teamcenter Environment Manager (TEM) graphical user interface (GUI). If you
perform frequent data model updates and find that using the TEM GUI slows your process, the
command line way of performing updates allows you to write a script for the process and thereby reduce
the manual effort involved in doing the update.

4-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to live updates

However, not all features can be installed or updated using the command line utility. Only those features
that are data models or have subfeatures with data models apply. If a qualifying feature has an
associated rtserver, Web, (and so on) subfeature, then those subfeatures are installed as well, assuming
the required standard features are installed. If any feature or subfeatures contain panels other than the
Admin User panel, none of the features can be installed. One additional limitation is that you cannot
install any feature that requires screen input. (For example, the ClearCase Integration feature prompts
for the ClearCase server.)

For example, the rich client cannot be installed or updated using the tem command line utility because
it is not a data model, nor does it contain a data model subfeature. However, the Teamcenter
Automotive Edition feature can be installed using the utility because it contains a data model subfeature
and none of the subfeatures have panels other than Admin User panel.

The following examples illustrate how to use the utility:

• Installation
Use the -install argument to install a template:

tem -install -features=feature-name -path=location-of-template-files -pass=password

• Update
Use the -update argument to update a template:

tem -update -full -templates=template-name-1,template-name-2 -path=location-of-template-files


-pass=password

• Live update
Use the -live flag with the -update argument to perform a live update:

tem -update -live -templates=template-name-1,template-name-2 -path=location-of-template-files


-pass=password

• Dry run
Use the -dryrun flag with the -install or -update argument to validate the process before committing
the changes to the database:

tem -update -full -dryrun -templates=template-name-1,template-name-2


-path=location-of-template-files -pass=password

Live updates

Introduction to live updates

Live updates is the revision on a live running system of nonschema data such as lists of values (LOVs)
that requires frequent update. The live updates functionality in the Business Modeler IDE allows an
administrator to revise data in the production database without shutting down the production server. It
also provides tighter control on which elements get updated live in a production database.

Business Modeler IDE PLM00071 11.2 4-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Use one of the following processes to update live data:

• Single administrator
Use this process if you are a single administrator who makes live updates and distributes them to
servers. In this process, make your updates on a preproduction server before sending the updates to
production servers. This process is recommended in most situations.

• Multiple administrators
Use this process if you have multiple administrators who make live updates and distribute them to
servers. In this process, there is no preproduction server.

Caution:
Siemens PLM Software recommends using a single administrator if possible to better control the
live updates distributed to servers.

Tip:
If you must update many property values at once, consider using the attribute_export and
tcxml_import utilities to update the values of object properties in your Teamcenter database in
bulk.

Single administrator versus multiple administrators in a live updates


environment

Typically, Business Modeler IDE developers create a template that contains the data model extensions.
The server administrator then uses Teamcenter Environment Manager (TEM) to update the production
database with the custom template.

Previously, if further updates needed to be made to the custom template in the database (for example,
new LOV values need to be added), the developer first updated the custom template in the Business
Modeler IDE with the new LOV values; then the server administrator shut down the production server
and used TEM to install the template to update the production database. However, the recommendation
to shut down the production server each time prior to updating the custom template in the database
was too restrictive for administrators who wanted to update live data (for example, LOV values) on a
regular basis. Therefore, the live updates functionality was devised to allow administrators to update
nonschema data on running production servers.

Now, a Business Modeler IDE developer works on a template project, tests the changes on the test site,
and during the next system downtime, packages the changes and sends them to the server
administrator. In addition to the developer, there is a live data Business Modeler IDE administrator. This
administrator works on the live update project. During system downtime, this administrator collects the
changes (packages) from the developers and performs a TEM deployment of these changes to the
preproduction and production servers. When the server is running, this administrator works on the live
update project to add any necessary live updates.

4-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Single administrator versus multiple administrators in a live updates environment

In the single administrator environment, there is only one live updates administrator who is responsible
for distributing updates to all sites, both preproduction and production.

In the multiple administrator environment, there may be more than one live updates administrator per
site, and they share the responsibility of keeping their respective sites updated.

• Single Business Modeler IDE administrator of live updates


Use this process if you are a single administrator who makes live updates and distributes them to
servers. In this process, make your updates on a preproduction server before sending the updates to
production servers. This process is recommended in most situations.

• Control all updates with one administrator.

• Perform live updates in one environment.

• Prevalidate updates.

• Package the template and deploy to each site through Teamcenter Environment Manager (TEM).

Single administrator environment

• Multiple Business Modeler IDE administrators of live updates


Use this process if you have multiple administrators who make live updates and distribute them to
servers. In this process, there is no preproduction server.

• Perform live updates with multiple administrators.

• Clients at each site update live data.

Business Modeler IDE PLM00071 11.2 4-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Multiple administrators environment

Live updates for a single administrator

Live update process: single administrator

Follow this process when you are a single administrator who performs live updates to a production
server.

1. In the developer environment, ensure that a template is enabled for live updates and deploy it
to the server. A custom template is enabled for live updates when the Enable Live Updates?
check box is selected on the template project.

2. In Teamcenter, configure the Live Update preference to select the data model elements to
update on the server.

3. In the live updates administrator environment, install the Business Modeler IDE client on a
machine with 2 GB RAM.

4. Create a live update project by choosing File→New→New Live Update Project.

5. Make changes to data in the template and perform live updates on the preproduction and
production servers by clicking BMIDE on the menu bar and choosing Deploy Template or Live
Update→Deployment Page.

6. If other sites also require the data updates you have created, such as vendors or partners, you can
package the template and send it to each site so the updates can be installed using Teamcenter
Environment Manager (TEM).

4-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Enable a template for live updates and deploy it

7. In the developer environment, incorporate the latest live updates from the production site by
running the Incorporate Latest Live Update Changes wizard.

Enable a template for live updates and deploy it

You must create a Business Modeler IDE template project and install it to the server before you create a
live updates project. The Business Modeler IDE template project holds the schema data such as business
objects and classes that can only be installed to a production server in a template using Teamcenter
Environment Manager (TEM); the live updates project contains the nonschema elements such as LOVs
and rules that can be installed to a production server using live update.

1. Create the Business Modeler IDE template project.


Choose File→New→New Business Modeler IDE Template Project.

2. Enable the Business Modeler IDE template project for live updates.

a. Right-click the Business Modeler IDE template project, choose Properties, and choose
Teamcenter→BMIDE.

b. In the BMIDE dialog box, select the Enable Live Updates? check box.
This specifies that the Business Modeler IDE template project can have a live updates project
created in conjunction with it. This option must be selected to enable the creation of a live
updates project.

Note:
This check box is selected by default when you create a new template project.

c. Click OK.

Business Modeler IDE PLM00071 11.2 4-27


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Note:
If you want to distribute this template later to a site that you do not want to be able to
receive live updates, clear the Enable Live Updates? check box. For example, to distribute
this template to a supplier who should not receive live updates, provide this template with
the box cleared. You may also have some servers in your company that should not receive
live updates, and in these situations, you can clear this box and then install the template to
those servers.

3. Install the Business Modeler IDE template project to the server.

• Test server
If you are installing to a test server only, choose BMIDE→Deploy Template on the menu bar.

• Production server
Package the template and install it using Teamcenter Environment Manager (TEM).

Configure the Live Update preference

Use the Live Update preference to select the data model elements to enable for live update.

1. In the My Teamcenter application in the rich client, choose Edit→Options and select Live Update
in the left pane. (You can also choose Edit→Options→Search and search for the Live Update
preference.)

4-28 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Install the Business Modeler IDE client for the live updates administrator

2. To select the data elements to allow for live update, move them from the Available list on the left
to the Selected for Live Updates list on the right.

3. Click Apply.

4. If you have a four-tier environment, recycle servers in all server manager pools to ensure each
warm server receives the latest preference settings. For example, in the .NET server manager
administrative interface or the Teamcenter Management Console, click the Restart Warm Servers
button.

When you perform a live update, only the selected data model elements are updated on the server.

Note:
When incorporating live updates from a production site, before you extract the latest live updates,
it is a good practice to first block anyone from making any more live updates to ensure you get the
latest. Do this by clearing the Allow Live Updates? check box in the Live Update preference
dialog box in the rich client at the production site. After you finish incorporating the updates,
select the Allow Live Updates? check box again.
When you select the Allow Live Updates? check box, it sets the BMIDE_ALLOW_LIVE_UPDATES
preference to true.

Install the Business Modeler IDE client for the live updates administrator

The Business Modeler IDE must be installed for the live updates administrator on a machine with a
minimum of 2 GB of RAM. This is to accommodate incorporating live data changes. If there is less than 2
GB of RAM, performance when incorporating live data changes is degraded significantly, or the
incorporation may not complete at all.

Business Modeler IDE PLM00071 11.2 4-29


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

1. Install the Business Modeler IDE on a machine with a minimum of 2 GB of RAM.

2. Allocate memory to the Business Modeler IDE using the Xmx setting in the
BusinessModelerIDE.ini file.

Caution:
Because Java standards require that no more than 25 percent of total RAM be allocated to
virtual memory, if the amount allocated to the Business Modeler IDE is higher than 25
percent of total RAM, memory disk swapping occurs when incorporating live data changes,
severely impairing system performance.

Create a live update project

A live update project is a project that manages live data in an already-installed custom template on the
server. A live update data project holds only data to be deployed to a running production server. Create
one live update project for each custom template enabled to receive live updates on the server.

1. Ensure that a template is installed on the server that is enabled to receive live data updates.

2. Choose File→New→New Live Update Project.

3. Perform the following steps in the Teamcenter Login dialog box to connect to the server for
templates:

a. Click the arrow in the Server Profile box to select the profile to use to connect to the server.

b. In the User ID box, type the administrator user name authorized for server access.

c. In the Password box, type the administrator password for server access.

d. In the Group box, type the group name of the administrator user (optional).

e. In the Role box, type the role name of the administrator user (optional).

4-30 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Perform live updates

f. Click Connect.
The Business Modeler IDE client connects to the server.

g. If there is only one template on the server that is enabled for live updates, the Next button is
unavailable. Click Finish.

h. If there are multiple templates on the server enabled for live updates, click Next.
Click the arrow in the Template Name box to select the template to use for live updates.
Click Finish.

The project is created and named template-name_live_update.

Note:
If a live update project with the same name already exists, a number is appended to the
name of the new live update project (for example, template-name_live_update1).

Perform live updates

After you create a live update project, you can revise data, such as lists of values (LOVs), and use the
Deploy Template feature to distribute the updates to a preproduction server. A preproduction server is
a Teamcenter server that has an exact copy of the templates that the production sites have. Use this
server to test a live update before deploying the live update to the production servers.

After testing, you can use the Deployment Page to deploy live updates to production servers. Only use
this if you are working in a single administrator environment.

Note:
If you are working in a multiple administrator environment with many people creating live
updates for distribution to multiple servers, you must package updates into templates for
distribution and run the Incorporate Latest Live Update Changes wizard.

1. Create data in the live update project.

Note:
Typically, administrators create lists of values (LOVs) in a live update project, but many other
kinds of data can be created.
You cannot create schema elements such as business objects or properties in the live update
project. Those objects have disabled buttons so that you cannot create or change those
objects.

2. Revise data, such as lists of values (LOVs).

3. Deploy to a preproduction server for testing.

Business Modeler IDE PLM00071 11.2 4-31


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

a. Right-click the live update project and choose Deploy Template, or choose BMIDE→Deploy
Template on the menu bar.

b. Type the password, click the Connect button, and when a connection is established, click
Finish.

Note:
The system checks if the live update project is synchronized with the server. If there is
data on the server that is not in the live update project, the Synchronize wizard runs,
allowing you to resolve the conflicts.

c. See the links to the logs in the Console view to verify the success of the update.

d. To verify the live update, log on to the preproduction server and confirm that you can create
instances of your newly revised data model.

4. Deploy to production servers.

a. After you finish testing and are ready to deploy to the production servers, choose
BMIDE→Live Update→Deployment Page or right-click the live update project and choose
Open Deployment Page.

4-32 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Package a live update project for installation to other sites

b. Click the Deploy button to deploy the template to production servers.

c. To verify the live update, log on to a production server and confirm that you can create
instances of your newly revised data model.

Note:
To see the data changes, end users must log off and log on again and wait for servers
to cycle through the changes.

Package a live update project for installation to other sites

If other sites also require the live updates you have created, such as vendors or partners, you can
package the template and send it to the administrators of each site. Administrators install the template
to their sites using the Update the Database (Perform Live Updates - System downtime not
required) option in Teamcenter Environment Manager (TEM).

Note:
You can also live update a template using the tem command line utility, for example:

tem -update -live -templates=template-name-1,template-name-2 -path=location-of-template-files


-pass=password

1. Package the template

a. Choose BMIDE→Package Template Extensions.

b. Click the arrow in the Project box to select the live update project to package.

Business Modeler IDE PLM00071 11.2 4-33


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

c. Click Finish.
The packaged files are saved in the \output\packaging\live_update folder. Packaged files are
placed in timestamped folders to keep track of packages. The most recent package is in the
top folder.

2. Copy the template-name_template_live_update.zip file from the packaging directory on your


Business Modeler IDE client to a directory that is accessible by the administrators at other sites.

4-34 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Package a live update project for installation to other sites

Note:
By default, packaged template files are located in the Business Modeler IDE workspace
directory in the output\packaging folder under the project. To find the workspace location,
choose File→Switch Workspace. For example, on a Windows system, they are saved by
default to:.

install-location\bmide\workspace\version\project\output\packaging\live_update

3. Administrators at other sites perform the live update by installing the live updates using TEM. In
this scenario, TEM has already been used to install the template that the live updates are intended
for.

a. Start Teamcenter Environment Manager (TEM).

b. In the Maintenance panel, select Configuration Manager and click Next.

c. In the Configuration Maintenance panel, select Perform maintenance on an existing


configuration and click Next.

d. The Configuration Selection panel displays the installed configuration. Click Next.

e. In the Feature Maintenance panel, under the Teamcenter Foundation section, select
Update the Database (Perform Live Updates Only – System downtime not required). This
updates the database with live updates that contain only nonschema data such as LOVs and
rules.

f. Click Next

Business Modeler IDE PLM00071 11.2 4-35


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

g. In the Teamcenter Administrative User panel, type your user name and password to log on
to the server. Click Next.
The Update Database panel displays currently installed templates.

h. Click the Browse button to navigate to the directory where the packaged template files are
located. Select the updated template-name_template_live_update.zip file.

i. Select the template in the table to receive live updates and click Next.

j. In the Confirmation panel, click Start.


The updates are installed.

Note:
The system checks if the live update project is synchronized with the server. If there is
data on the server that is not in the live update project, the update fails. You must
synchronize the data model from the Business Modeler IDE, repackage, and attempt
the update once more.
If installation of the live updates fails, check the message in the TEM panel. Installation
may have failed because the server you are attempting to install to does not have the
Live Update preference set to accept live changes. In this case, you must ask the
administrator of that production server to change the preference to accept the live
updates.

k. To verify the installation of the revised template, log on to the production server and confirm
that you can create instances of your newly revised data model.

4-36 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Incorporate latest live updates

Note:
To see the live data changes, end users must log off and log on again, and wait for
servers to cycle through the changes.

Incorporate latest live updates

At the next system downtime, you must incorporate all of the latest updates from the production
environment into your standard template project. Run the Incorporate Latest Live Update Changes
wizard to either update directly from the production server or update from a template file obtained from
the production server using the package_live_updates utility.

1. Choose BMIDE→Live Update→Incorporate Latest Live Update Changes. Click Next.

2. Perform the following steps in the Incorporate Latest Live Update Changes dialog box:

a. Click the arrow in the Project box to select the standard project into which you want to
incorporate the live updates.

b. Under Database Site, select the mode to provide the data model:

• Teamcenter Server
Select if you want to incorporate all the custom live updates data model on a server into
your project.
This option accesses the server directly to obtain the templates from the server.

• Template Package
Select if you want to incorporate all the custom live updates data model from a template
file into your project. Use this option if you cannot access the server directly.

Business Modeler IDE PLM00071 11.2 4-37


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Note:
Use the package_live_updates utility to generate the template package file from the
server, for example:

package_live_updates -u=jsmith -p=jsmithpassword -g=dba


-template=testproject -dir=d:\scratch

This packages all data model in the template, including all the live updates in the
template.

c. Click Next.

d. Depending on your selection, perform one of the following in the Source Model dialog box:

• If you selected Teamcenter Server, in the dialog box, type your user name and password
and click Connect to log on to the server.

• If you selected Template Package, click the Browse button to the right of the Live Update
Zip box to locate the packaged template's ZIP file.

e. Click Next.
The system checks if the live update project is synchronized with the server. If there is data on
the server that is not in the live update project, the Merge Data Model wizard runs, allowing
you to resolve the conflicts.

4-38 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Incorporate latest live updates

Caution:
Be patient. The incorporation may take some time.
To improve performance, Siemens PLM Software recommends your machine have a
minimum of 2 GB RAM to allow for other processes, with a minimum of 1 GB RAM
allocated to the Business Modeler IDE.

3. In the Merge Data Model dialog box, resolve any conflicts that the merge compare identified
between the data model in your target project and in the source.

Note:
Because there are many different scenarios you may encounter when performing a merge,
samples are provided in the Merge Samples wizard. For tutorials, choose
BMIDE→Tools→Merge Samples.

4. Click Finish.
The merged data model is saved into your project.

Business Modeler IDE PLM00071 11.2 4-39


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Note:
If multiple database sites are merged into your project, verify them by viewing the
Incorporated Database Site Information dialog box on the project properties. Right-click
the project, choose Properties, and in the left navigation pane, choose
Teamcenter→Incorporated Database Site Information.
The Incorporated Database Site Information dialog box displays the IDs, names, and the
deploy consistency stamp for the merged sites. (To see a site’s ID, use the Organization
application in the rich client.)

5. Once you incorporate live update changes, you must perform a full model update.

a. Package your template by choosing BMIDE→Package Template Extensions.

b. Start Teamcenter Environment Manager (TEM).

Note:
You can also live update a template using the tem command line utility, for example:

tem -update -live -templates=template-name-1,template-name-2


-path=location-of-template-files
-pass=password

c. In the Maintenance panel, select Configuration Manager and click Next.

d. In the Configuration Maintenance panel, select Perform maintenance on an existing


configuration and click Next.

e. The Configuration Selection panel displays the installed configuration. Click Next.

f. In the Feature Maintenance panel, under the Teamcenter Foundation section, select
Update the Database (Full Model - System downtime required). This updates the database
with the full data model in the standard (non live update) template.

4-40 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Incorporate latest live updates

g. Click Next

h. In the Teamcenter Administrative User panel, type your user name and password to log on
to the server. Click Next.
The Update Database panel displays currently installed templates.

i. Click the Browse button to navigate to the directory where the packaged template files are
located. Select the updated feature XML file.

j. Click Next.

Business Modeler IDE PLM00071 11.2 4-41


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

k. In the Confirm Selections panel, click Next.


The template is installed.

Note:
TEM verifies that your template package contains the latest live updates that were
performed on the production environment. If the template package does not contain
the updates, TEM blocks the update and advises you on the actions to take. This is to
protect you from inadvertently deleting the administrator updates.

Live updates for multiple administrators

Live update process: multiple administrators

Follow this process when you are one of many administrators who perform live updates to a production
server.

1. Set up the multiple administrator environment.

2. Synchronize data in the live updates project with data on the server.

3. Incorporate the latest live updates from the production site by running the
package_live_updates utility and provide the updates to the developer environment.

4-42 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Set up the multiple administrator environment

Set up the multiple administrator environment

Just as for a single administrator environment, in a multiple administrator environment, ensure that a
Business Modeler IDE client is installed for each administrator and have each administrator create a live
update project.

1. Ensure that the custom template installed on the server is enabled to receive live updates.

2. Ensure that the Live Update preference is configured.

3. Install the Business Modeler IDE client for each live updates administrator on a machine with a
minimum of 2 GB of RAM.

4. Have each administrator create a live update project.


During creation of the live update project, the latest live update configuration is downloaded from
the server to the administrator’s new live update project.

Synchronize data in a multiple administrator environment

Each administrator’s Business Modeler IDE must be synchronized to ensure that the administrator is
viewing an accurate display of the configurations in the system.

For example, administrator 1 adds a Steel value to a materials LOV and deploys his changes, and
administrator 2 adds an Aluminum value to the same LOV. When administrator 2 tries to deploy the
template, the Business Modeler IDE automatically synchronizes the project and downloads the latest
model from the database and displays a comparison to the configurations in the project.

Perform a synchronization when the system shows an out-of-synchronization error message when you
deploy live updates using the Business Modeler IDE or TEM.

1. When you receive an out-of-synchronization message, select the project to be synchronized and
choose BMIDE→Live Update→Synchronize with Server or click the Synchronize button on
the toolbar.
The Merge Data Model wizard displays the differences between your Business Modeler IDE and the
database.

2. Review the changes and resolve any conflicts that the merge compare identified between the data
model in your target project and in the source. To automatically perform the merge, click the Auto
Merge button.

Note:
Because there are many different scenarios you may encounter when performing a merge,
samples are provided in the Merge Samples wizard. For tutorials, choose
BMIDE→Tools→Merge Samples.

Business Modeler IDE PLM00071 11.2 4-43


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Incorporate the latest live updates from the production sites using the
package_live_updates utility

At the next system downtime, you must incorporate all of the latest live updates from the production
environment into the developer environment. Use the package_live_updates utility to generate the
template package file from each administrator’s server site. If you do not do this, Teamcenter
Environment Manager (TEM) prevents you from making a system update to each of the sites that you
omitted from the latest live updates.

1. At each site, run the package_live_updates utility, for example:

package_live_updates -u=jsmith -p=jsmithpassword -g=dba


-template=testproject -dir=d:\scratch

This packages all data model in the template on the server, including all the live updates in the
template.

2. Incorporate changes from each resulting packaged template one by one, using the Incorporate
Latest Live Update Changes wizard. Select the Live Update Zip option to select the packaged
template file.

Live updates reference

Data elements that can be updated live

The following table lists the elements that can be used in live updates. To select the elements to allow
for live updates, use the Live Update preference.

Display name Internal name Description

Alias ID Rule TcAliasIdRule Stores part numbers and other


attribute information for similar
parts.

Alternate ID Rule TcAlternateIdRule Stores information about part


numbers and attributes of the
same part from different
perspectives. They allow different
user communities to identify and
display an item or item revision
according to their own rules
rather than by the rules of the
user who created the object.

4-44 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Data elements that can be updated live

Display name Internal name Description

Application Extension TcAppExtensionPoint Allows for the configuration of


Point applications using a decision
table. This extension point
defines the table, inputs, and
outputs that customers can
configure against it.

Application Extension TcAppExtensionRule Determines when an application


Rule extension point is used, and
defines inputs and outputs.

Business Context TcBusinessContext Defines the user groups for


whom a rule applies.

Business Object TcTypeConstant Provides default values to


Constant business objects. Because these
constants are attached to
business objects, they are
inherited and can be overridden
in the hierarchy.

Business Object TcTypeConstantAttach Provides default values to


Constant Value Override business objects. Because these
constants are attached to
business objects, they are
inherited and can be overridden
in the hierarchy. An override
changes the value that you set in
your template.

Change TcChange Represents an alteration to


requirements.

Condition Condition Defines conditional statements


that resolve to true or false based
on the evaluation of an
expression.

Deep Copy Rule TcDeepCopyRule Defines whether relational type


objects can be copied as an
object, copied as a reference, or
not copied when the user

Business Modeler IDE PLM00071 11.2 4-45


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Display name Internal name Description

performs a save as or revise


operation.

Dispatcher Service DispatcherServiceConfig Defines the visualization file


Config format that a dataset file is
translated into.

Display Rule TcTypeDisplayRule Determines the members of the


organization who can view a
business object in the create
menus in the Teamcenter user
interface.

EDA Derived Data EDADerivedDataConfig Configures information that is


derived from an ECAD design
such as derived items and
datasets. For example, a
schematic drawing can be
automatically generated from the
schematic design and saved
along with the schematic item.

Event Type EventType Designates a type of action that


occurs to an object, for example,
when an item is checked out.
Teamcenter records audit logs
when certain events occur on
certain types of objects.

Event Type Mapping EventTypeMapping Connects an event to a business


object type. In other words, the
event mapping declares that you
want to receive an audit log for a
certain event on a certain type of
object.

Functionality Functionality Creates categories of model data.


For example, functionality is used
to create categories for
verification rules.

Global Constant TcGlobalConstant Provides consistent definitions


that can be used throughout the

4-46 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Data elements that can be updated live

Display name Internal name Description

system. These constants have


only one value, either the default
value or the value you set.

Global Constant Value TcGlobalConstantAttach Provides consistent definitions


Override that can be used throughout the
system. These constants have
only one value, either the default
value or the value you set. An
override changes the value that
you set in your template.

GRM Rule TcGRMRule Limits which objects can be


pasted to other objects. Generic
Relationship Management rules
(GRMs) are defined using
relationships.

Icon IconElement Specifies the icon file used for a


business object type.

ID Context TcIdContext Defines when you use unique


item IDs. ID contexts are used
when you create alias IDs or
alternate IDs.

IRDC IRDC Defines how item revisions are


handled. IRDCs standardize item
revision behavior at specific times
in the life cycle, such as during
item creation, checkin, checkout,
save as, and revise.

Localization Localization Defines localized display names


for business objects, properties,
legacy change, view, status, LOV
values and descriptions, ID
context, occurrence type, and
note.

LOV TcLOV Defines pick lists of values


accessed by end users from a
menu at the end of a data field.

Business Modeler IDE PLM00071 11.2 4-47


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Display name Internal name Description

Lists of values (LOVs) ensure


consistent data entries in the rich
client.

LOV attachment TcLOVAttach Associates a list of values with a


property on a business object.

Naming Rule TcNamingRule Defines the naming conventions


for the string property value in
different type objects.

Naming Rule TcNamingRuleAttach Attaches the naming rule or


Attachments revision rule to a property on a
business object so the rule can
take effect.

Occurrence Type TcPSOccurrenceType Determines how items occur in a


product structure. An occurrence
consists of one component in an
assembly including its relative
position with respect to its parent
assembly. Occurrence types are
representations of the
PSOccurrence business object.

Print Configuration PrintConfiguration Defines batch print settings.


When you batch print an object
such as an item revision, all the
documents associated with that
object are printed.

Property Constant TcPropertyConstant Provides default values to


business object properties.
Because these constants are
attached to properties, they are
inherited and can be overridden
in the hierarchy.

Property Constant Value TcPropertyConstantAttach Provides default values to


Override business object properties.
Because these constants are
attached to properties, they are
inherited and can be overridden

4-48 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Data elements that can be updated live

Display name Internal name Description

in the hierarchy. An override


changes the value that you set in
your template.

Property Renderer PropertyRenderer Provides instructions for how to


display a property value. Because
these constants are attached to
properties, they are inherited and
can be overridden in the
hierarchy.

Revision Naming Rule TcRevNamingRule Defines the naming convention


and sequence for a revision
property.

Status TcStatus Applies status to an object after it


goes through a workflow. Typical
statuses are Pending and
Approved.

Storage Media TcStorageMedia Defines a storage device category


such as a hard disk or optical
device. It is used by third-party
content-storage systems.

System Stamp SystemStampConfiguration Defines the system stamp (such


Configuration as date or watermarks) on
documents in batch printing.

Teamcenter Component Teamcenter Component Specifies objects that can be used


to create categories of model
data. For example, Teamcenter
Component objects are used to
create categories for verification
rules.

Tool TcTool Represents a software


application, such as Microsoft
Word or Adobe Acrobat.
Associate a tool with a type of
dataset so you can launch the
dataset file from Teamcenter.

Business Modeler IDE PLM00071 11.2 4-49


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Display name Internal name Description

Unit of Measure TcUnitOfMeasure Defines a measurement category


(for example, inches, millimeters,
and so on). Create a unit of
measure (UOM) when you need a
new measurement for users.

Verification Rule VerificationRule Configures conditions to be used


with specific applications.

View Type TcViewType Controls the name of a product


structure view object. A view
type is a BOM view revision (BVR)
category. The product structure
view types work with the item
and item revision business
objects to maintain product
structure information.

Following are the elements that should never be used in live updates:

BusinessObjectInterface
ExternalDataType
Library
MetaEnum
MetaExternalException
Operation
OperationAttach
OperationInputType
OperationTemplate
PrimitiveDataType
PropertyOperation
Release
ServiceInterface
ServiceLibrary
Struct
TcAppInterface
TcApplication
TcAttribute
TcAttributeAttach
TcClass
TcCompoundPropertyRule
TcDataset
TcDatasetReferenceAttach
TcDatasetToolActionAttach

4-50 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Synchronize data model

TcDatasetToolAttach
TcExtension
TcExtensionAttach
TcForm
TcIntDataCapture
TcItemElement
TcLink
TcNoteType
TcObjectTypeAttach
TcOperation
TcOperationAttach
TcPropertyAttach
TcPropertyRule
TcRelationProperty
TcRuntimeProperty
TcRuntimeType
TcStandardType
TcStructureContext
TcUserExitGroup
TcValidationData
TcViewTypeAttach
TemplateDataType
Typedef

Synchronize data model

Synchronize the data model to ensure your live update project and dependent templates have the most
up-to-date data model.

1. Select the project to be synchronized and choose BMIDE→Live Update→Synchronize with


Server, or click the Synchronize button on the toolbar.
The Teamcenter Login dialog box is displayed.

2. In the Project box, select the live update project you want to synchronize.

3. Type the password in the Password box.

4. Click Connect.
The connection to the server is established.

5. Click Finish.
The data model is synchronized.

6. If there are changes to the custom template, the Merge wizard is shown based on the live update
synchronization preference settings to help resolve merge conflicts:

Business Modeler IDE PLM00071 11.2 4-51


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

• If the preference is set to Always show Merge Tool during synchronization (the default), the
Merge wizard is shown to help reconcile the conflicts.

• If the preference is set to Show Merge Tool only for conflicts that need my resolution, if there
are no change conflicts, all elements of the data model are automerged, and the Merge wizard is
not shown. If there are change conflicts, all other elements except for the change conflict
elements are automerged, and the Merge wizard is shown.

Set data model merge and compare preferences

To ensure that your live update project has all the latest custom live updates elements, choose
BMIDE→Live Update→Incorporate Latest Live Update Changes to run the Incorporate Latest Live
Update Changes wizard. You can also select the project to be synchronized and choose BMIDE→Live
Update→Synchronize with Server or click the Synchronize button on the main toolbar. The
Incorporate Latest Live Update Changes wizard displays differences between your live update project
and what is in the database.

Perform the following steps to set preferences for the Incorporate Latest Live Update Changes wizard:

1. Choose Window→Preferences.

2. In the Preferences dialog box, choose Teamcenter→Data Model Merge / Compare Tool.

3. Select Automatic Merge to control the automatic merging of the data model when the
Incorporate Latest Live Update Changes wizard is launched. If the check box is selected, all
differences except for the change conflict differences are automatically merged when the wizard
runs. If the check box is cleared, no merges are done when the wizard is launched.

4-52 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Make live updates visible to end users

4. In the Color Picker pane, select the following options:

a. User action required


Displays this color when the user must manually perform a merge action. The default color is
red.

b. No user action required


Displays this color when the user does not need to perform a merge action. The default color
is green.

c. Merged
Displays this color when a merge action has been performed. The default color is blue.

5. In the Live Update Synchronization pane, select the following options:

a. Always show Merge Tool during synchronization


Displays the Merge wizard during synchronization even if the tool can automatically reconcile
all data model differences without user intervention. This option allows you to inspect the
incoming changes made by other users to the live update data in the database. In this mode,
you must merge each element. This is the default selection.

Note:
The only exception is when a synchronization occurs but there are no elements to be
merged. In this case, the Merge wizard is not shown, but a message states that there
are no differences to be merged. You must click on the OK button in this dialog box so
that the database site information can be saved.

b. Show Merge Tool only for conflicts that need my resolution


Automatically reconciles all data model differences without user intervention. If any change
conflict differences are found, the Incorporate Latest Live Update Changes wizard is launched
so you can address the conflicts. If there are no change conflict differences, the Incorporate
Latest Live Update Changes wizard is not displayed and the Business Modeler IDE
automatically synchronizes all data model differences. This option allows you to let the
Business Modeler IDE take care of any merges, letting you focus on any merge conflicts where
you must make a decision.

Make live updates visible to end users

After live updates have been installed on a production server, the updates are visible to end users who
log on after the update. However, users logged on when the update is made must log off and log on
again to ensure that the servers cycle through the changes.

When each user logs on, a server is started and assigned to the client. During startup, the types,
properties, and LOVs in the database are built into a cache for performance reasons. Each server has its
own cache. When a user updates an LOV to the database, each client still sees the original LOVs and

Business Modeler IDE PLM00071 11.2 4-53


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

rules because server caches are not updated. Administrators ask users to log off and log on again to see
the changes so that a new cache is built.

In four-tier environments, administrators can use the server manager to restart servers at off-peak
hours to ensure all live update changes are reflected in servers.

On Java EE consoles, a system administrator can facilitate warm server refresh. (This is not available
on .NET.)

1. Launch the Teamcenter Management Console.

2. Under Server Manager, select the pool, click Config, and click Pool Config.

3. In the Process Warm box, type 0 and click the Submit button.

This clears unassigned warm servers.

4. In the Process Target box, type the time and number of assigned servers, for example, 0700 3,
1700 2 and click the Submit button.

5. Wait for the manager to remove the warm servers and restore the Process Warm and Process
Target boxes to desired values.

Package live updates in the database

Run the package_live_updates utility to package data model for a template that resides on the server.
The template package file that is created includes all the live updates in the template. This is similar to
packaging a template within the Business Modeler IDE, but this utility is run on the Teamcenter server.
This utility can only be run on a template that is enabled for live updates deployment.

For example:

4-54 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Study the merge samples

package_live_updates -u=user-id -p=password -g=group


-template=template-name -dir=directory

After running this utility, you can merge the live updates that the template contains into a template on
your system by running the merge wizard.

Study the merge samples

To become familiar with merge scenarios, study the merge samples. Choose BMIDE→Tools→Merge
Samples.

Key features of the merge tool are:

• Automerge
Click the Auto Merge button to let the tool merge all changes for you.

Business Modeler IDE PLM00071 11.2 4-55


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Merged (changed) elements display a light-blue background for easy identification.

4-56 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure FMS to connect to multiple sites

• Stepping
Click the forward and backward arrows to step through each change.

• Filtering
To see only the rows where there are differences, click the Display Equal Rows button so that it is not
selected. This is a toggle button. When it is not selected, only rows with different values are shown.
When it is selected, all rows are shown, including all those with equal values.

Configure FMS to connect to multiple sites

If you deploy to multiple sites using the Deployment Page, you must configure FMS to point to the
different sites.

1. In this example, set up the Business Modeler IDE to use site A, for which you have created a live
update project. Using the Deployment Page, you want to deploy to site B and site C.

2. For site B, open the TC_ROOT\fsc\fmsmaster*.xml file. The file has entries for the fsc id values
(which include the host and port) and the enterpriseid value. Note these values, for example:

<fscgroup id="mygroup">
<fsc id="FSC_MYHOST_usermywork" address="http://MYHOST:4544"

Business Modeler IDE PLM00071 11.2 4-57


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

ismaster="true">
<volume id="00f34da72a9e826b7aa8" enterpriseid="-2106885464"
root="d:\Siemens\myworkshop\volume1" priority="0" />
<transientvolume id="63ae660c47df33be2d024a346fe4512c"
enterpriseid="-2106885464"
root="C:\\Temp\\transientVolume_mywork" />
</fsc>
<clientmap subnet="127.0.0.1" mask="0.0.0.0">
<assignedfsc fscid="FSC_MYHOST_usermywork" priority="0" />
</clientmap>
</fscgroup>

3. Launch Teamcenter Environment Manager (TEM) for site A and in the Feature Maintenance panel
under FMS Server Cache, select Modify FMS Master Imports and click Next.

4. On the Ext. Sites page, click the Add button and add the information for site B (the site ID, the FSC
ID, and the host and port that you noted in the previous step). Keep the priority set at 0.

5. Complete the process and restart the FSC service for site A.

6. Repeat the steps for site C:

a. Open the fmsmaster*.xml file for site C.

b. Obtain the enterprise ID, the FSC ID, the host and port values.

c. Launch TEM on site A and add site C.

d. Restart the FSC for site A.

Merge samples

To access merge samples, choose BMIDE→Tools→Merge Samples.

Browse through the list of available samples to learn how to use the merge tool. Note that these are only
samples. Clicking the Finish button has no effect on your data model.

Tips for working with template projects

Closing and opening projects

The IDE supports multiple projects and multiple data models. Each project uses additional memory. To
optimize performance, you may want to have only one project open at a time. To close a project, right-
click the project and choose Close Project. When a project is closed, it displays a closed folder symbol
and the data model is removed from the views.

4-58 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Deleting projects

To reopen a project, right-click the project and choose Open Project. This reloads the data model and
makes it accessible in the various views. You can also reload the data model for a project by right-
clicking a project and choosing Reload Data Model.

Deleting projects

To stop working with a project, Siemens PLM Software recommends that you close the project by right-
clicking it and choosing Close Project.

However, if you want to remove the project altogether, Siemens PLM Software strongly recommends
you back up the project files first to ensure they are archived. A project contains the master definitions
for any data model created with the project, and if you delete a project, those master definitions are
gone for good.

After you archive the project files, you can delete the project. Right-click the project and choose Delete.
If you need to use an archived project again, you can import it.

View Business Modeler IDE template project properties

You can view and change project properties, such as the template display name and the location of
generated code.

1. Right-click the project and choose Properties.

2. Choose Teamcenter→BMIDE in the left pane. The BMIDE dialog box allows you to set the general
properties of the project.

a. In the Template display name box, you can change the name your template displays in
Teamcenter Environment Manager when this template is installed on a production server.

b. In the Prefix box, you can change the naming prefix for new objects created in the
template.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

Caution:
Do not change the prefix in this box without considering the consequences. Changing
the prefix adds the new prefix to the names of all objects created in the future, but it
does not change prefixes already placed on objects in the template. This can result in
two different prefixes on objects in the same template.

c. The GUID box shows the globally unique identifier (GUID) automatically assigned to this
project. You cannot change this value.

Business Modeler IDE PLM00071 11.2 4-59


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

d. Select the Enable Live Updates? check box to specify that the Business Modeler IDE template
project can have a live updates project created in conjunction with it. This option must be
selected to enable the creation of a live updates project.

e. Select the Make Description Mandatory? check box to make the Description box required
when creating new data model elements in the Business Modeler IDE.

f. In the Template description box, you can change the description of the template that
appears in Teamcenter Environment Manager.

g. In the Dependent templates directory box, you can change the directory where the base
templates are read from. These are the templates on top of which you are adding your custom
template.

Note:
When you upgrade the Business Modeler IDE to a new version, you can select an
existing project and use this box to point to the directory where the new model files are
installed.

h. In the Dependent Templates pane, you can choose the templates used to provide the data
model for the project.

4-60 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
View Business Modeler IDE template project properties

3. Choose Teamcenter→Build Configuration in the left pane. The Build Configuration dialog box is
used to set up C++ code generation. You only need to enter this information if you plan to write
code.

a. Click the Browse button to the right of the Teamcenter Installation box to select the location
where the Teamcenter server is installed, for example, install_location\Siemens
\Teamcenterversion.

b. Click the Browse button to the right of the Compiler Home box to select the location where
your C++ compiler is located. For example, if your platform is Windows and you are using
Microsoft Visual Studio, browse to compiler-install-path\VC\bin.
For information about supported C++ compilers, see the hardware and software
certifications page on GTAC.

Note:
If you use Windows on a 64-bit machine and intend to use Microsoft Visual Studio for
compiling, ensure that the x64 Compilers and Tools option is installed to Visual Studio.
You may also want to add a call to the vcvarsall.bat file in the bmide.bat file and add
x64 to the end of the vcvarsall.bat command. The bmide.bat file runs the Business
Modeler IDE. Place the call before the PATH statement, for example:

call "C:\apps\MVS10\VC\vcvarsall.bat" x64


set PATH=%JDK_HOME%\bin;%JRE_HOME%\bin;TC_ROOT\lib;%FMS_HOME%
\
bin;%FMS_HOME%\lib;%PATH%;

Replace TC_ROOT with the installed location of Teamcenter.

c. You may add additional compiler or link options for your environment. Use the Restore button
to restore all defaults

Business Modeler IDE PLM00071 11.2 4-61


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

4. Choose Teamcenter→Build Configuration→Service Bindings in the left pane. The Service


Bindings dialog box is used to set the kinds of client binding files to create when you generate
services code. Services are used by system administrators to connect their company's applications
to Teamcenter. Client binding files are used to connect the client to the Teamcenter server and are
written in the language of the client, for example, C++, Java, or .NET.

a. In the Service library client bindings section, select one or more of the check boxes for the
type of client applications that you want to expose these service operations to.

b. Click the Browse button to the right of the Teamcenter Services client kit home box to
select the location where the service oriented architecture files have been extracted from the
soa_client.zip file, for example, install_location\soa_client.

c. If you want to create .NET bindings, click the Browse button to the right of the .NET MSBuild
location box to select the location where Microsoft .NET is installed.

d. If you selected Create Java client bindings with RAC’s TCComponent Client Data Model,
click the Browse button to the right of the Rich Client plug-in folder box to select the
location where the rich client is installed.

5. Choose Teamcenter→Code Generation in the left pane. Use the Code Generation dialog box to
change the location where generated code is placed.

4-62 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
View Business Modeler IDE template project properties

a. The Namespace box represents the predetermined namespace for all generated code.
Namespaces allow for grouping code under a name to prevent name collisions. Collisions
result when different libraries may use the same class names for different classes. Each
template can specify a namespace associated with the C++ classes and with data types
created in the template.
For example, the custom classes for the Widget template can specify Widget as the
namespace for its classes. This allows both the Foundation and Widget templates to have a
class called Item by using their different namespaces as the differentiator.

b. Click the Browse button to the right of the Base Path box to change the location where the
generated code is placed.

c. Select the Folders check box if you want to change names of the folders to contain generated
code.
In the Source Folder box, type the name of the folder to contain the source files where you
write business logic. The default is src\server.

d. The Dispatch Library Name box displays the name of the directory where generated files are
placed. The default is template-namedispatch.

e. The Copyright box displays the copyright text placed into each generated file.

f. Select the Enable Deprecation Policy check box to allow for removal of obsolete objects from
the project. Deprecation means announcing that something is no longer supported and that it
will be removed in a future product release.

g. Click the arrow in the Number of Allowed Releases before Deletion box to select how many
releases before objects can be deleted from the project.

h. Click OK.

Business Modeler IDE PLM00071 11.2 4-63


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

If you changed any templates to be read by the project, the IDE reads in the data model from
the template XML files. If there are any errors, they are displayed in the Console view.

Caution:
Resolve all errors before using the Business Modeler IDE. Otherwise, you may risk
extending corrupted data.

6. Choose Teamcenter→Incorporated Database Site Information in the left pane. Use this dialog
box to see the site name, operational deploy consistency stamp, and date updated for each site you
have incorporated in live update. If you have multiple database sites to track, the project properties
page shows the consistency stamp and date updated information for each site. This page helps you
remember the sites that you have incorporated or failed to incorporate.
Clicking the Update Data Model From Site runs the Incorporate Latest Live Update Changes
wizard.
Whenever an administrator performs a live update on a database, the production database’s data
model is not synchronized with the development environment data model. At the next system
downtime, if you package and deploy from the development environment to the production
environment, the update is blocked because that your packaged template does not contain the
latest operational updates.
To ensure that you always have the latest operational data updates, wait until all operational data
updates have been performed at the production site. Then incorporate the latest through one of
the two options (directly from the server or through a package file). When you deploy from your
development environment, Teamcenter Environment Manager (TEM) validates that your template
includes the latest updates. This is done through consistency stamp tracking.
For each live update, a new consistency stamp (CS) is updated in the production database. When
you use the Incorporate Latest Operational Data Changes wizard from the development Business
Modeler IDE to incorporate the operational data updates from the production database, the wizard
also takes a snapshot of the consistency stamp and stores it with the Business Modeler IDE
template in the development environment. For each site you incorporate, you can see the site
name, operational deploy consistency stamp, and date updated on the Incorporated Database
Site Information dialog box.
You can compare the consistency stamp in the Business Modeler IDE to the consistency stamp in
the database site by extracting a report using a command prompt at the database site:

bmide_manage_templates -u=username -p=password -g=dba -option=list

4-64 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
View Business Modeler IDE template project properties

7. Choose Teamcenter→Project Backup in the left pane. Use the Project Backup dialog box to set
how project data is saved in the system.

a. Select the Enable backup to Local File System check box to save the backup files to your
computer at Business Modeler IDE shutdown or project close.

b. Select the Enable backup to Teamcenter Database check box to save the backed-up data in
a Fnd0BMIDEProjectBackup dataset when you perform a live update or an installation using
Teamcenter Environment Manager (TEM).

c. Select the Include output folder contents check box to back up the contents of your project’s
output folder.

Business Modeler IDE PLM00071 11.2 4-65


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Add a template to a Business Modeler IDE project

Because templates on a server and the Business Modeler IDE must match, whenever you add a template
to the server, you must add the same template to the Business Modeler IDE. If you want to add another
template to your Business Modeler IDE project, you must add it using Teamcenter Environment Manager
(TEM).

1. Start Teamcenter Environment Manager (TEM).

2. In the Maintenance panel, select Configuration Manager and click Next.

3. In the Configuration Maintenance panel, select Perform maintenance on an existing


configuration and click Next.

4. In the Configuration panel, select the configuration from which the corporate server was installed.
Click Next.

5. In the Feature Maintenance panel, under the Business Modeler IDE section, select Add/Update
Templates for working within the Business Modeler IDE Client.

4-66 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a template to a Business Modeler IDE project

6. Click Next.
The Business Modeler IDE Client panel displays templates currently installed to the Business
Modeler IDE.

7. In the Business Modeler IDE Client panel, click the Add button to select standard Teamcenter
templates.

Business Modeler IDE PLM00071 11.2 4-67


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Tip:
To select your own templates (for example, from a vendor) click the Browse button and
locate the directory where the template files are located. (For example, the standard Siemens
PLM Software templates are located in the installation source in the tc directory.)

Click Next.

8. In the Confirmation panel, click Next.


The new templates are installed to the Business Modeler IDE templates folder.

9. To add the new templates to your project, perform the following steps in the Business Modeler IDE:

a. Right-click the project and choose Properties.


The Properties dialog box appears.

b. Choose Teamcenter→BMIDE in the left pane.

c. In the Dependent Templates pane, select the new templates.

d. Click OK.

4-68 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Edit the template feature file

Edit the template feature file

Each template has a feature file that contains information about the template. You can edit this feature
file to change how the feature is displayed in the Teamcenter Environment Manager (TEM) Features
panel.

1. Install the template using TEM.


By default, the new template is displayed as a feature in the Features panel under the Extensions
group.

2. To change the text that is displayed when you point your mouse arrow over the feature name (in
the example, My Feature), edit the TextID node in your template's
nameBundlelanguage_country.xml file, for example:

<TextID name="template-name.description" text="This is my new


feature."/>
</IDMap>

3. To add a new group under the Extensions group to hold the new feature:

a. Navigate to where TEM is installed: install-location\install\install.

Business Modeler IDE PLM00071 11.2 4-69


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

b. Copy an existing group_name.xml file and rename it, for example, group_mygroup.xml.

c. Edit the new group file to create a new group name, for example:

<group>
<name>My Group</name>
<group>package</group>
<bundle>TcBundle.xml</bundle>
</group>

This results in the following grouping in the Features panel:

Extensions
My Group
My Feature

Push a template to the reference directory

You can create a template and copy it into the template reference directory so that you can build
another project on top of it. This is useful when you work on two or more templates simultaneously that
have dependencies on each other.

The reference directory is where templates are stored that you build your projects on top of, and is
located at install-location\bmide\templates. You point to the reference directory when you first create a
project.

1. Choose BMIDE→Tools→Push Template to Reference Directory.


Click Next.
The Push Template wizard runs.

2. In the Push Template dialog box, perform the following steps:

a. Click the arrow in the Project box to choose the project to want to generate the template files
for.

b. Select the Use default location check box if you want to generate the template files in the
default reference directory.
Clear the Use default location check box if you want to create the template files in another
directory, and click the Browse button to the right of the Target folder box to choose the
directory.

c. Click Finish.
The template files are created in the indicated directory.

3. Right-click the project you want to work on and choose Reload Data Model. This reloads all data
model elements from the project source and the templates in the reference directory. Check the
console for any conflicts and resolve them.

4-70 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Templates overview

Now you can create a project that builds on top of this new template.

Templates reference

Templates overview

A template is a container that holds all of the Business Modeler IDE data model definitions for a specific
customer, site, industry, or application. A template data model is comprised of schema, business objects,
business rules, and configuration definitions.

Teamcenter has a base template called foundation that contains all of the core definitions to run the
default Teamcenter corporate server installation. The foundation template is required at a minimum
when installing Teamcenter. Additional templates with their own data model can be installed on top of
the foundation template to create a more robust system. In effect, all of the definitions in each installed
template are combined to give the customer the net result of all data model extensions in one system
(for example, all classes, attributes, business objects, business rules, LOVs, and so on).

A template can have dependencies. Each new template must declare at a minimum that it is dependent
on the foundation template, and can also declare additional dependencies on other templates. If a
template is dependent on other templates, TEM ensures during the installation of the template that all
other dependent templates are installed before your template is added to the database.

Creating a template project

Templates are created through the Business Modeler IDE client. A template is managed via a project in
the Business Modeler IDE. A project is an Eclipse term that means a top-level directory in the user’s
workspace. A workspace is the directory that the Business Modeler IDE uses to manage all resources.
From the Business Modeler IDE client user point of view, a template project is a directory that contains
all of the resources and source code related to building and deploying the template project.

Because the Business Modeler IDE workspace can manage more than one project at a time, the Business
Modeler IDE can manage more than one template project at a time. This means that two or more
independent data models can managed and displayed simultaneously by the Business Modeler IDE.
Typically, a user of the Business Modeler IDE client may only work with one template at a time. However,
some field services users or internal developers may want to work on multiple templates.

To create a new template project, choose File→New→New Business Modeler IDE Template Project.

When creating a new template project, name each of the following:

• Template name
This is the name of the template. The name must be a globally unique name that identifies the
template. The name must consist of letters or digits and must be all lowercase. This name can be a
total of 180 character length. When coming up with a template name, you should choose a
descriptive name.

Business Modeler IDE PLM00071 11.2 4-71


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

• Template display name


This is the displayable name of the template. This name is displayed to the users of TEM when picking
templates to install. The name can consist of characters, digits, and spaces, and can use a mixture of
uppercase and lowercase letters. The name should be globally unique so as to identify your template
from others in TEM.

• Template description
This is the description that appears in Teamcenter Environment Manager for this template.

Aligning Siemens PLM Software template development and customer


template development

In past versions of Engineering Process Management, customers and Siemens PLM Software
development provided data model definitions using different processes and tools. Starting with
Teamcenter 2007, both customers and Siemens PLM Software development are aligned by using the
Business Modeler IDE to create new data model definitions. By using the Business Modeler IDE, both
groups can create data model extensions and create templates. In addition, they can leverage
productivity enhancements and validation tools to ensure that templates are adding extensions within
acceptable limits and can upgrade safely from release to release.

Adding extensions to the template

After a template project it created, you can extend the data model and business rules by creating new
definitions using the Business Modeler IDE. Your data model extensions are saved in the template
project.

One of the benefits of using the Business Modeler IDE is the strict validation that it performs on the
extensions in your template.

• After the Business Modeler IDE first loads the dependent extensions, each of your template extension
definitions is loaded and validated against the existing model. If any validation errors occur, they are
displayed in the Console view in the Business Modeler IDE.

• You can also load and validate your model using the Reload Data Model menu command (available
in most views within the Business Modeler IDE).

This validation tool becomes very important whenever you add a template dependency, manually edit a
source file during a SCM merge from another user, add a new version of the dependent templates, or
upgrade to the next version. Whenever any of these conditions occur, right-click a Business Modeler IDE
project view and choose the Reload Data Model command to reload your model and have it validated.
If no errors occur, you can be sure that your template can install correctly to a server.

Synchronize all data directories with the latest templates

If your Teamcenter environment has more than one data directory installation referring to the same
Teamcenter database, you must synchronize all data directories with the templates. This ensures the

4-72 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Overview of files in a template project

clips rules file, the PLM XML schema file, and .des files are all regenerated in the data directories any
time a template is installed or updated in the database.

For example, if you have a Teamcenter database installed with a single data directory, and you create
additional data directories to connect to the same database, any future template installation or update
to the database should ensure all data directories are synchronized.

Follow these steps for every data directory installation any time a template is installed or updated in the
database from any of the multiple data directory installations. In this example, the data directories are
data1 and data2. Your templates in the database were changed in data1, and you must synchronize
data2.

1. Launch Teamcenter Environment Manager in maintenance mode.

2. Select the configuration where you created the data2 directory.

3. If you made a template installation from data1, do the same in data2 by selecting Add/Remove
features. Because the template was already installed from a different data directory, data1, the
template installation from data2 directory does not update the database but only the files in the
data2 directory.

4. If you made a template update from data1, do the same in data2 by selecting Rebuild/Update the
database. Because the template was already updated in the database from a different data
directory, data1, the template update from data2 directory does not update the database but only
the files in the data2 directory.

5. If you have additional data directories, repeat steps 1 to 4.

Files in a template project

Overview of files in a template project

After you create the Business Modeler IDE template project, you see the following file structure. Notice
that many of the files include the template name embedded in the name of the file.

Business Modeler IDE PLM00071 11.2 4-73


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Template project directory

The project directory is the top-level directory for the template. The Business Modeler IDE expects this
structure to exist so that it can manage the template project correctly.

The template project directory and all of its contents should be managed in a source control
management system (SCM). This is recommended because the template project is treated as source
code. An SCM is the best way to manage source code, especially when two or more users are making
concurrent changes. An SCM provides robust tools that integrate with the Business Modeler IDE for
handling file merges, graphical file differences, and syncing to the latest code checked in from other
users.

Project extensions directory

The extensions directory contains three types of files: source files, the dependency file, and the master
file.

• Source files
Source files are XML files that contain the template extensions to the data model and business rules.
The definitions can be saved into any source file. The Business Modeler IDE can load definitions in any
order.

4-74 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Project install directory

The user of the Business Modeler IDE can determine the number of source files, the file names, and
structure. Subdirectories can also be created under the extensions directory to suit the needs of the
template developers.
If developers use an SCM and two or more of them change a file in their own SCM branch, they must
manually merge the XML changes. It is suggested that more source files are better than one.
Developers should spread out their definitions into different files based on functionality or business
objects, or any developer defined organization. Spreading out definitions makes it easier to manage
file changes and avoid merge conflicts with files if there is more than one developer working on a
template.

• dependency.xml
The dependency.xml file contains the following:

• Name of the template.

• Names of the dependent templates.

• Custom prefixes designated for the project.

• Display name of the template.

• GUID of the template.

The optional flag indicates if the template is optional for Teamcenter. Only the foundation template is
required (optional=false). All other templates are optional (optional=true).

• master.xml
The master.xml file is a specialized XML file. This file contains the master include list of all XML
source definition files for your template project.
The order of the files does not matter because the Business Modeler IDE can load definitions in any
order. However, the Business Modeler IDE loads faster if the definitions are in order of dependency.
For example, if Class2 is parented under Class1, Class1 should be defined before Class2.

Project install directory

The install directory contains all the files that support install and upgrade of the template within TEM.

• Feature file
A feature file is used to present your template as a choice in TEM for install and upgrade. All templates
must be installed through a feature file. A feature file declares the name of your template, a localized
description, its dependencies, and the zip files that go with the template. The feature file also
contains the commands necessary to get your template installed or upgraded.

• Bundle file
The bundle file is used to provide localizable strings for your TEM feature file. Typically this file
includes the description for your template feature.

Business Modeler IDE PLM00071 11.2 4-75


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

• Installation script
The installation file is required for each template feature. The installation file contains a set of ordered
commands that installs your template into a Teamcenter server.

• Upgrade scripts
The upgrade files assist TEM with upgrading your template. Each template can provide upgrade
scripts, but they are not required. They are only required if you have additional objects to be installed
beyond what is managed inside your template (for example, process templates). If you do need an
upgrade script, a separate script must be provided for each version of upgrade that is supported.

Output directory

The output directory is a directory where files are generated from the template source code. Typically
the files in this directory do not need to be placed under control of an SCM because they would be
potentially different for each user.

• deploy directory
When the deploy wizard is used, the Business Modeler IDE consolidates all of the individual sources
files into a template and places the template and dependency files in this directory before it sends it
to the server for processing.

• merges directory
This directory contains data on data merged into the project from the database during live updates.

• packaging directory
The packaging directory is used by the Package Template Extensions wizard. The wizard places the
template into a package that is then used by TEM to install or upgrade the template on a server.

• reports
This directory contains generated reports.

• tcplmxml directory
This directory is used by Global Multi-site to generate the TC XML file based on the model in the
Business Modeler IDE.

• upgrade
This directory contains files related to upgrading the template project to the most recent version of
the Business Modeler IDE.

.project file

This file is used by the Business Modeler IDE and contains specific information about the type of
template project the directory contains. Without this file, the Business Modeler IDE cannot recognize this
directory as a template project directory.

4-76 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
ProjectInfo.xml file

ProjectInfo.xml file

The ProjectInfo.xml file contains additional project information, such as settings used for building and
compiling. To see the project information that is placed in this file, right-click the project and choose
Properties, and then choose Teamcenter in the left pane of the Properties dialog box.

Templates installation reference

Templates installation process

Install the initial template

To successfully use the Business Modeler IDE, you must understand how to install templates to the
Business Modeler IDE and the server. The key thing to remember is that the Business Modeler IDE and
the server are completely separate, and if you install a template to the server, you must separately install
the same template to the Business Modeler IDE.

When you use Teamcenter Environment Manager (TEM) to initially install a server and the Business
Modeler IDE, you must install the same templates to both. The templates on each must match (see the
figure below).

Initial template installation

1. Run the Teamcenter Environment Manager and proceed to the Features panel.

Business Modeler IDE PLM00071 11.2 4-77


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

2. Under Base Install, select Teamcenter Foundation and Business Modeler IDE 2-tier or Business
Modeler IDE 4-tier.

3. Under Extensions, select other templates as needed.

4. Click Next.

5. In the Business Modeler IDE Client panel, select the Teamcenter Foundation template and the
same templates that are installed to the server.

6. After you install the Business Modeler IDE, run the Business Modeler IDE and create a project by
selecting File→New→New Business Modeler IDE Template Project.
When you create the project, in the Dependent Templates pane, select the same templates that
are installed on the server.

Install a subsequent template

After you initially install templates to a server and the Business Modeler IDE, you can subsequently go
back and add templates (see the following figure). Because the templates on a server and the Business
Modeler IDE must match, when you install a new template to an existing server, you must install the
same template to the Business Modeler IDE.

Subsequent template installation

1. Perform the following steps to install a new template to the server (test or production):

a. Run the Teamcenter Environment Manager and proceed to the Feature Maintenance panel.

4-78 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Live update a template

b. Select Add/Remove Features and click Next.

c. In the Features panel, select the template, or click Browse to locate the template.

Note:
Standard Teamcenter templates are located on the Teamcenter software distribution
image in the tc folder.

2. Perform the following steps to install a new template to the Business Modeler IDE:

a. Run the Teamcenter Environment Manager and proceed to the Feature Maintenance panel.

b. Select Add/Update Templates for working within the Business Modeler IDE Client and
click Next.

c. In the Business Modeler IDE Client panel, click Add to add a standard Teamcenter template,
or click Browse to locate a custom template.

d. Perform the following steps in the Business Modeler IDE to add the new template to your
project:

A. Right-click the project and choose Properties.

B. Choose Teamcenter→BMIDE in the left pane.

C. In the Dependent Templates pane, select the new template.

Live update a template

To send your template to a Teamcenter server for testing purposes, choose BMIDE→Deploy Template
on the menu bar. This is also known as live update. You can also use live update to send operational
data (such as LOVs) to a production server.

Live update a template to a test server

Business Modeler IDE PLM00071 11.2 4-79


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Install a template to a production server

To install your template to a Teamcenter production server, package it using the Business Modeler IDE
and install it using the Teamcenter Environment Manager (see the following figure).

Install a packaged template to a production server

1. In the Business Modeler IDE choose BMIDE→Package Template Extensions.


The packaged template is saved to:

project\output\packaging

2. Copy the template files to a directory that is accessible by the production server.

3. In Teamcenter Environment Manager on the production server, proceed to the Feature


Maintenance panel.

4. Select Add/Remove Features and click Next.

5. In the Features panel, click Browse to locate the template in your project workspace.
The template is added to the Features panel under the Extensions group.

6. In the Features panel, choose the new feature in the Extensions group.

Behind the scenes of the Foundation template installation

To install the Foundation template, you should start the TEM wizard and select Create a new
installation of this product. In the Solutions panel, select Corporate Server and continue with the
remaining configuration pages.

After you click the final OK button, the TEM wizard installs all selected features. Remember that each
packaged feature consists of the following files on the installation source:

install\modules\feature_base.xml
install\lang\en\TcBundle_language-code_country-code.xml
tc\foundation_template.zip

4-80 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Behind the scenes of the Foundation template installation

tc\foundation _install.zip

Note:
The Foundation feature file is called feature_base.xml.

When the administrative user selects the Corporate Server option, TEM does the following:

1. Copies the feature file to the TC_ROOT\install\module directory.

2. Copies the bundle file to the TC_ROOT\install\install\lang\lang directory

3. Unzips the contents of the foundation_template.zip file to the TC_ROOT\install\foundation


directory.

4. Unzips the contents of the foundation_install.zip to the TC_ROOT\install\foundation directory.

5. Creates a TC_ROOT\model directory.

6. Creates a TC_DATA\model\baselines directory.

7. TEM executes the <pre-install> and <install> sections of the Foundation feature file, which does
the following:

a. Copies the foundation_template.xml and foundation_dependency.xml files from the


TC_ROOT/install/foundation directory to TC_DATA/model directory.

b. Copies the foundation_tcbaseline.xml file from the TC_ROOT\install\foundation directory to


the TC_DATA/model/baselines directory.

c. Adds the Foundation template to the TC_DATA\model\master.xml file.

d. Creates an empty TC_DATA\model\model_backup.xml file.

e. Consolidates all definitions in the templates listed in the master.xml file to a TC_DATA\model
\model.xml file.

f. Executes a compare tool which loads the model.xml and model_backup.xml files into a Java
model, compares the two models, and writes a delta.xml file that contains the differences
between the two models.

Business Modeler IDE PLM00071 11.2 4-81


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Note:
At the first installation, the model.xml file contains the Foundation template
extensions, and the model_backup.xml file contains no definitions. But for subsequent
installations, the model_backup.xml file represents the current state and the
model.xml file represents the expected state after installation. Therefore, the
differences between the two files would be all of the Foundation template definitions.

g. Executes the populate_new_db.default script, which reads the delta.xml file to populate the
database.

Installing optional templates

You can select more than one optional template to install simultaneously through TEM, or you can
choose to install one template at a time. Either way the process is the same. This example uses the tcae
template.

The tcae template is bundled as follows on the installation source:

install\modules\feature_tcae.xml
install\lang\language-code\tcaeBundle_language-code_country-code.xml
tc\tcae_template.zip
tc\tcae _install.zip

When you select the Teamcenter Automotive Edition option, TEM does the following:

1. Copies the feature file to the TC_ROOT\install\module directory.

2. Copies the bundle file to the TC_ROOT\install\install\lang\lang directory.

3. Unzips the contents of the tcae_template.zip to the TC_ROOT\install\tcae directory.

4. Unzips the contents of the tcae_install.zip to the TC_ROOT\install\tcae directory.

5. TEM executes the <pre-install> and <install> sections of the selected feature file, which does the
following:

a. Copies the template-name_template.xml file and the template-name_dependency.xml file


from the TC_ROOT\install\template-name directory to the TC_DATA\model directory.

b. Copies the template-name_tcbaseline.xml file from the TC_ROOT\install\template-name


directory to the TC_DATA\model\baselines directory.

c. Adds the template-name to the TC_DATA\model\master.xml file.

d. Deletes the existing TC_DATA\model\model_backup.xml file.

4-82 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Installing custom templates

e. Renames the existing TC_DATA\model\model.xml file to TC_DATA\model\model_backup.xml.

f. Consolidates all definitions in the templates listed in the master.xml file to a TC_DATA\model
\model.xml file.

g. Executes a compare tool that loads the model.xml and model_backup.xml files into a Java
model, compares the two models, and writes a delta.xml file that contains the differences
between the two models.

Note:
The model.xml file contains the foundation and tcae template extensions, and the
model_backup.xml file contains the Foundation definitions. Therefore the differences
between the two files would be all of the tcae template definitions.

h. Execute the install_template-name.default script, which synchronizes the data model in the
database with the differences in the delta.xml file.

When complete, the TC_DATA directory contains the files shown in the following figure.

Installing custom templates

The process for installing a custom template is the same as installing Siemens PLM Software optional
templates but with one exception. The packaging wizard puts all four components of the package in the
same location, whereas the Teamcenter installation source places these files in different locations. In
this case the TEM wizard knows that all four files are located together and copies them into the TC_ROOT
directory accordingly:

Business Modeler IDE PLM00071 11.2 4-83


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

feature_template-name.xml
template-nameBundle_language-code_country-code .xml
template-name_template.zip
template-name_install.zip

Upgrading from release to release

TEM can upgrade any template that is already installed in Teamcenter. Upgrade means synchronizing
the data model definitions in a server to the latest template definitions in the new release. When a user
initiates an upgrade through TEM, TEM upgrades all previously installed templates at one time. Any
templates that the user wants to add in addition to the ones that already exist in the database must be
added after the upgrade is completed.

TEM automatically determines the templates that must be upgraded and preselects them in the TEM
features panel. The autoselected features are checked but disabled so that the user can not unselect
them. TEM has two provisions for ensuring that it selects the correct template features:

• Teamcenter 2007
If your feature template was installed in Teamcenter 2007, TEM required that all features must have
their own globally unique ID (GUID). When TEM installs a feature, it tracks the GUID for each feature.
Later, during an upgrade, TEM matches the installed GUIDs and finds the corresponding features and
forces them to be upgraded.

• Before Teamcenter 2007


If your feature was installed before Teamcenter 2007 (and before template features existed), there
were no GUIDs in use by TEM. In this case, TEM determines if your template was previously installed
by using the template_match tags in your feature file.

The following example describes how TEM upgrades both the Foundation and tcae templates.

The Foundation and tcae templates are packaged on the installation source as follows:

• Foundation

install\modules\feature_base.xml
install\lang\en\TcBundle_language-code_country-code.xml
tc\foundation_template.zip
tc\foundation _install.zip

• tcae

install\modules\feature_tcae.xml
install\lang\language-code\tcaeBundle_language-code_country-code.xml
tc\tcae_template.zip
tc\tcae _install.zip

When the administrative user upgrades a Teamcenter installation, TEM does the following:

4-84 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Upgrading from release to release

1. For each selected template, TEM performs the following:

a. Copies the feature_template-name.xml file to the TC_ROOT\install\module directory.

b. Copies the template-nameBundle_language-code_country-code.xml file to the TC_ROOT


\install\install\lang\lang directory.

c. Unzips the contents of the template-name_template.zip to the TC_ROOT\install\template-


name directory.

d. Unzips the contents of the template-name_install.zip to the TC_ROOT\install\template-name


directory.

2. Creates a new TC_DATA directory.

3. Creates a new TC_DATA\model directory.

4. Creates a new TC_DATA\model\baselines directory.

5. For each template feature selected, TEM performs the following:

a. Copies the template-name_template.xml and the template-name_dependency.xml file from


the TC_ROOT\install\template-name directory to TC_DATA\model directory.

b. Copies the template-name_tcbaseline.xml from the TC_ROOT\install\template-name


directory to TC_DATA\model\baselines directory.

c. Adds the template-name to the TC_DATA\model\master.xml file.

6. Consolidates all definitions in the templates listed in the master.xml file to a TC_DATA\model
\model.xml file.

7. TEM executes the upgrade_runner utility, which does the following:

a. For each template listed in the master.xml file, it consolidates all template-
name_tcbaseline.xml files into a single TC_DATA\model\baslines\model_tcbaseline.xml.

b. For each template listed in the master.xml, it executes any utilities in the SECTION: Pre
Schema Additions portion of the corresponding upgrade_template-name_version.default
file.

c. If the upgrade is from Teamcenter 2007, the upgrade_runner utility:

A. Extracts the current data model (found in the Schema mode: Classes and Attributes
section) from the database into a file called model_backup.xml.

Business Modeler IDE PLM00071 11.2 4-85


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

B. Executes a compare tool in schema mode which loads the model.xml and
model_backup.xml files into a Java model, compares only the classes and attributes of
the two models, and writes a delta.xml file that contains the differences between the
two models.

Note:
The model.xml file contains the new release versions of the Foundation and tcae
templates. The model_backup.xml file contains the last released version of the
two templates. Therefore the differences between the two files would be all of the
new schema additions, changes, and deletions.

d. The SECTION: Post Schema Additions section does the following:

A. Executes the business_model_updater utility using the delta.xml file to add any new
schema definitions (classes or attributes).

B. For each template listed in the master.xml, it executes any utilities in the SECTION: Post
Schema Additions section of the corresponding upgrade_ template-
name_version.default file.

e. The SECTION: Post Schema Changes section does the following:

A. Executes the business_model_updater utility using the delta.xml file to change any
schema definitions (classes or attributes).

B. For each template listed in the master.xml, it executes any utilities in the SECTION: Post
Schema Changes section of the corresponding upgrade_template-
name_version.default file.

f. If the upgrade is from Teamcenter 2007, it:

A. Extracts the current data model (that is, the all object definitions in the full model) from
the database into the model_backup.xml file.

B. Executes a compare tool in full mode that loads the model.xml and model_backup.xml
files into a Java model, compares all objects in the two models, and writes a delta.xml
file that contains the differences between the two models.

Note:
The model.xml file contains the new release versions of the Foundation and tcae
templates. The model_backup.xml file contains the last released version of the
two templates. Therefore the differences between the two files would be all of the
new object definition additions, changes, and deletions.

g. The SECTION: Post Non-Schema Additions section does the following:

4-86 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
About the upgrade_runner utility

A. Executes the business_model_updater utility using the delta.xml file to add any new
non-schema definitions (types, LOVs, business rules, tools, status, and so on).

B. For each template listed in the master.xml file, executes any utilities in the SECTION:
Post Non-Schema Additions section of the corresponding upgrade_template-
name_version.default file.

h. The SECTION: Post Non-Schema Changes section does the following:

A. Executes the business_model_updater utility using the delta.xml file to change any
non-schema definitions (types, LOVs, business rules, tools, status, and so on).

B. For each template listed in the master.xml file, executes any utilities in the SECTION:
Post Non-Schema Changes section of the corresponding upgrade_template-
name_version.default file.

i. The SECTION: Post Non-Schema Deletions section does the following:

A. Executes the business_model_updater utility using the delta.xml file to delete any
non-schema definitions (types, LOVs, business rules, tools, status, and so on).

B. For each template listed in the master.xml file, executes any utilities in the SECTION:
Post Non-Schema Deletions section of the corresponding upgrade_template-
name_version.default file.

j. The SECTION: Post Schema Deletions section does the following:

A. Executes the business_model_updater utility using the delta.xml file to delete any
schema definitions (classes or attributes).

B. For each template listed in the master.xml file, executes any utilities in the SECTION:
Post Schema Deletions section of the corresponding upgrade_template-
name_version.default file.

About the upgrade_runner utility

During the previous steps the upgrade_runner utility gives each template an opportunity to hook in
optional utilities to create additional data or migrate data. The runner checks each upgrade_ template-
name_version.default file to see if it has any utilities in the appropriate section. Seven sections are
provided so that each template can add data or migrate data at specific segments in the upgrade.

About baseline files

The Business Modeler IDE XML template functionality was introduced in Teamcenter 2007. The Business
Modeler IDE XML templates contain an exact XML specification of all Business Modeler IDE related
definitions that should be installed into a database. Before this time, there were no XML definitions, and
all data model objects were loaded by utilities and PLM XML files.

Business Modeler IDE PLM00071 11.2 4-87


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

As of Teamcenter 2007, the new XML template definitions are used, and Teamcenter can upgrade by
comparing the latest XML templates to a file that contains the extracted data model definitions from the
database. Computing the differences between these two files tells the upgrade what to do to
synchronize the data model in the database. This strategy works in any upgrade beginning in
Teamcenter 2007.

However, this algorithm does not work if you do not have the latest definitions for all definitions in the
database, including the custom definitions. For example, if a customer defines new C1 and C2 classes,
these two classes appear in the extracted XML file, but they do not exist in the template files. When the
differences are computed, the C1 and C2 classes appear in the delta.xml in the <delete> section, and
the business_model_updater utility tries to delete them. This results in the deletion of custom defined
objects that should not be deleted. They must be preserved.

To preserve the customer-defined definitions, these custom definitions must be placed into their own
XML template and must be included as a part of the latest template definitions during the upgrade. This
alleviates the issue of deleting unknown elements. However, this cannot happen until the upgrade is
completed.

As an alternative, there is another solution that applies to any upgrade that upgrades a Teamcenter
product prior to XML templates (that is, Engineering Process Management 9.1.3, 2005, or 2005 SR1).
These upgrades combine the former method of upgrading using utilities and the new XML template file
method. When the Business Modeler IDE replaced the former Business Modeler and utilities way of
upgrading with XML, Siemens PLM Software stated that all customers should stop using business
modeler related utilities on an upgrade once we release Teamcenter 2007. At that point, the Business
Modeler IDE team took snapshots of the foundation template data model and any optional solutions and
called them template-name_tcbaseline.xml and packaged them with each template bundle. When an
upgrade from 9.1.3, 2005, or 2005 SR1 to the latest version is initiated, each upgrade script first calls all
the utilities first, which effectively brings the data model up to date from the former version to Business
Modeler IDE 2007. Next the latest release template files are compared to the baseline files (a snapshot
of the Business Modeler IDE 2007 data model) and the computed differences are used by the
business_model_updater to upgrade the database definitions from the Business Modeler IDE 2007
point to the latest release.

Note:
As of Teamcenter 10.1, you can no longer upgrade from Engineering Process Management.

The baseline files are required for upgrade until all customers have been converted to XML templates.
Once this is done, the baseline files can be discarded and all upgrades must strictly use the comparison
of extracted model to the latest release model to compute the upgrade.

Therefore any add-on solution that existed before Teamcenter 2007 requires a template-
name_tcbaseline.xml file.

Template match tags

Teamcenter Environment Manager (TEM) uses template match tags to determine which templates are
required for upgrade. The results of the match are shown in the Upgrade Database Features panel.

4-88 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Template match tags

These tags are only used by TEM to match templates that were available in Engineering Process
Management. Therefore, new templates introduced only for Teamcenter architecture do not have
template match tags. If you plan to use your Business Modeler IDE template to upgrade other
Engineering Process Management databases, read on. Otherwise, you may skip this topic.

Note:
As of Teamcenter 10.1, you can no longer upgrade from Engineering Process Management.

The Upgrade Database Features TEM panel shows a list of all templates that were available in the
Engineering Process Management time frame. Each template provides two or three template match
tags. Each tag tells TEM to search in the database for a specific data model definition that should be in
the database if the template data model had been installed in Engineering Process Management. If all
template match tags are found, the template is a match in the database and the template is marked for
upgrade. If any of the template tags are not matched, the template is not marked for upgrade. Typically
the template match tags are used to look for a class or type definition because these are the most
common extensions in any given template. However, other data model definitions can be used as long
as they are unique to your template and are not also defined in another template.

Warning:
Do not attempt to edit template match tags in another template. These tags are selected for a
specific reason by the owners of the template. If you believe that you have installed a template
into Engineering Process Management that TEM is not matching, contact GTAC for assistance.
Altering the tags causes issues with the upgrade and extraction of custom data model definitions
to the Business Modeler IDE.

Not only are template match tags used by all of the templates delivered by Siemens PLM Software and
our partners, the template match tags can also be used by customers. The following is a list of reasons
why you should use template match tags. If any of these scenarios apply to you, continue reading.
Otherwise, you may skip this topic.

• You upgrade any database from Engineering Process Management to Teamcenter architecture to
extract a custom Business Modeler IDE template. Then you use the package wizard to build a template
feature, and you intend to use this packaged template to upgrade other database sites from
Engineering Process Management to Teamcenter architecture.

• You are developing data model customizations for an add-on solution to Teamcenter (for example, a
third party developer). You have customers who still use Engineering Process Management and they
need to upgrade to Teamcenter architecture.

If you need to create template match tags, create a minimum of two or three if possible. The template
match tags are placed in the feature.xml file for your template. If you are assured that your data model
definitions are unique to your add-on solution, you can assume that TEM uses the template_match tags
to match your template and not a template that belongs to someone else.

Because a template defines data model definitions, only use template match tags to match those data
model definitions that should exist in an Engineering Process Management database that has your

Business Modeler IDE PLM00071 11.2 4-89


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

solution installed. Do not match something that was optional, because all the template match tags must
match for TEM to match the template. For example, if you gave your customer the option to install a
class, LOV, or naming rule, you cannot assume that all databases have that class, LOV, or naming rule.
Therefore, these optional elements are not candidates for a template match tag. Additionally, do not try
to match instances of data model classes. For example, do not try to match an item ID, form name, or
dataset name entered by a user; you can only match a data model definition.

Good candidates for template match tags are those data model definitions that were added by your
solution and existed in all supported Engineering Process Management versions (V913, V10, V10 SR1).
Examples include:

Class name
Type name
Dataset type name
LOV name
Naming rule name
GRM rule
Tool name
View type

All data model definitions, when loaded into a database, are stored as an instance of a class. For
example, every class that is added to a database is stored as an instance of the POM_class class (in
addition to the fact that it also adds its own table in the database). Each type that is added to a database
is stored as an instance of the ImanType class. Therefore, when you build template match tags, you
want to see if the database table for classes (POM_class) has a class by a given name or if the data table
for types (ImanType) has a type by a given name.

Template match tags require the following:

• Class name that stores the data model definition (database table)

• Attribute name that stores the name of the definition (database table column)

• Value of the attribute

Template match tags are written to the feature.xml file in the following format. Note that there are no
spaces directly before or after the comma; however, it is okay to have a space within the value field if
the value has a space in it. Also, each template match tag increments the property name value
(template_match1, template_match2, template_match3, template_matchN).

<property name="template_match_1" value="ClassName,AttributeName,value"/>


<property name="template_match_2" value="ClassName,AttributeName,value"/>
<property name="template_match_3" value="ClassName,AttributeName,value"/>

If your template added two classes, the template match tags look like the following:

4-90 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Template match tags

<property name="template_match_1" value="POM_class,name,ClassA"/>


<property name="template_match_2" value="POM_class,name,ClassB"/>

In this example, the first field is POM_class; this is the name of a database class (database table) that
stores Teamcenter class definitions. The second field name is the attribute name (database table
column) of the POM_class (table) that stores the name of the class. ClassA and ClassB are Teamcenter
class names and each of these two values should be found as a value of one of the instances of the
specified database table and column.

In the following example, if your template added TypeA and TypeB types, the template match tags look
like the following:

<property name="template_match_1" value="ImanType,type_name,TypeA"/>


<property name="template_match_2" value="ImanType,type_name,TypeB"/>

ImanType is the database class that holds type definitions, and type_name is the attribute name
(database table column) that stores the type names. TypeA and TypeB types are two values that should
be found in this table and column.

Following are other examples:

• Datasets
To match dataset type definitions DatasetName1 and DatasetName2, use the following format:

<property name="template_match_1"
value="WorkspaceObject,object_name,DatasetName1"/>
<property name="template_match_2"
value="WorkspaceObject,object_name,DatasetName2"/>

These two match tags use the WorkspaceObject class and object_name attribute to match because
the dataset type definitions are stored in the Dataset class which is a subclass of the
WorkspaceObject class. The dataset name is an attribute that is defined on the WorkspaceObject
class (not defined on the Dataset class). Because these template match tags use a SQL query to find
the match, specify the exact table that has the instance. Therefore, use WorkspaceObject class for
the first field.

• Tools
To match Tool definitions, use the following format:

<property name="template_match_1"
value="WorkspaceObject,object_name,Tool1"/>
<property name="template_match_2"
value="WorkspaceObject,object_name,Tool2"/>

As in the case of Dataset type definitions, Tool objects are stored in the Tool class that is a subclass of
the WorkspaceObject class. The tool’s name is stored in the object_name attribute that is defined on
the WorkspaceObject class. Therefore, use the WorkspaceObject value in the first field.

Business Modeler IDE PLM00071 11.2 4-91


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

• LOVs
To match LOV names, use the following format:

<property name="template_match_1" value="ListOfValues,lov_name,LOV 1"/>


<property name="template_match_2" value="ListOfValues,lov_name,LOV 2"/>
<property name="template_match_3" value="ListOfValues,lov_name,LOV 3"/>

The LOV definitions are stored in the ListOfValues class using the lov_name attribute. Each of the
value fields has a space in the LOV name, which is allowed if the value has a space in it. Many type
names, LOV names, and other data model elements can have spaces.

• View types
To match view type definitions, use the following format:

<property name="template_match_1" value="PSViewType,name,View Name 1"/>


<property name="template_match_2" value="PSViewType,name,View Name 2"/>

The view type definitions are stored in the PSViewType class using the name attribute.

You can also use a combination of classes and types or other data model objects:

<property name="template_match_1" value="POM_class,name,ClassA"/>


<property name="template_match_2" value="ImanType,type_name,TypeB"/>
<property name="template_match_3" value="ListOfValues,lov_name,LOV1"/>

By default, your feature file does not include any template match tags; therefore, you must add them.
They also must be added in the proper section of your feature.xml file. To add them, launch the
Business Modeler IDE and go to the Project Files\insall folder. Find and double-click your
feature_template_name.xml file. This opens the file in an editor. Find the section in the file that has the
following line:

<property name="template-file" value="${template-name}_template.xml"/>

Add your template match tags immediately after it.

Behind the scenes of a template update

Once a custom template has been installed through TEM, it can be updated at any time using the TEM
maintenance mode. For example, a customer creates their own template with data model definitions.
After they finish developing and testing their extension definitions, they install their template using TEM
into a production server. After some time passes, additional requirements are processed and they add
additional extensions to the template and want to put this updated template into production. The TEM
maintenance mode can be used to update an existing template in this case.

When a template is updated, TEM does the following:

4-92 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Behind the scenes of the template packaging process

1. Unzips the template-name_template.zip and template-name_install.zip files to the corresponding


locations in the TC_ROOT\install directory.

2. Copies the template-name_template.xml and template-name_dependency.xml files from the


TC_ROOT\install\template-name directory to TC_DATA\model directory.

3. Copies the template-name_tcbaseline.xml from the TC_ROOT\install\template-name directory to


TC_DATA\model\baselines directory.

4. Deletes the existing TC_DATA\model\model_backup.xml file.

5. Extracts the full data model from the database and writes into a new TC_DATA\model
\model_backup.xml file.

6. Consolidates all definitions in the templates listed in the master.xml file to a TC_DATA\model
\model.xml file.

7. Executes a compare tool which loads the model.xml and model_backup.xml files into a Java
model, compares the two models, and writes a delta.xml file that contains the differences
between the two models.

Note:
The model.xml file contains the latest template extensions and the model_backup.xml file
contains the previous definitions from the database. Therefore, the differences between the
two files would be the differences between the two older customer template and the latest
customer template.

8. Executes the business_model_updater to load the definitions in the delta.xml file which
synchronizes the database to the latest template definitions.

Behind the scenes of the template packaging process

After you populate the template with extensions, you can package the template so that it can be
installed to a server. Packaging refers to the bundling of the components in the template project. The
template is packaged into a format that TEM recognizes so that TEM can install the template into the
server, or for usage with the Business Modeler IDE client as a reference template.

Use the packaging wizard if you want to do one of the following:

• Use TEM to install or upgrade the template into a test or production server.

• Distribute the template to other sites or customers who want to share your extensions.

To launch the package wizard, choose BMIDE→Package Template Extensions.

Business Modeler IDE PLM00071 11.2 4-93


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

When you package a template, the packaging wizard does the following:

1. Prompts the user to save any unsaved changes to all source files in the extensions directory.

2. Updates the feature file with the rtserver feature if there are any generated C++ classes or services
artifacts.

3. Copies the feature_template-name.xml and template-nameBundle_language-code_country-


code.xml files to the project\output\packaging directory.

4. Creates a project\output\packaging\template-name_template.zip using the following process:

a. Creates a new file called template-name_template.xml. This file is generated by reading the
contents of each source file listed in the project\extensions\master.xml file and appending to
the new template-name_template.xml file.

b. The project\extensions\dependency.xml file is copied to a new file called project\output


\packaging\template-name_dependency.xml.

c. If a template-name_tcbaseline.xml file exists, it is copied to the project\output\packaging


directory.

5. Creates a project\output\packaging\template-name_install.zip using the following process:

a. Copies the project\install\install_template-name files into the ZIP file.

b. Copies all of the project\install\upgrade_template-name_version files into the ZIP file.

c. Copies any other data files in the project\install directory to the ZIP file.

When the packaging wizard is complete, the following four files are located in the project\output
\packaging directory:

• feature_template-name.xml
This file contains the information necessary for TEM to recognize the template and how to handle the
template for install and upgrade.

• template-nameBundle_language-code_country-code.xml
This file contains the localized text for the feature file so that TEM can display the feature description
in the localized version.

• template-name_template.zip
This ZIP file contains the template definitions (template-name_template.xml), dependency file
(template-name_dependency.xml), and the optional baseline file (template-name_tcbaseline.xml).

• template-name_install.zip
This ZIP file contains all the support files for installing and upgrading your template:

4-94 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Behind the scenes of live update

install_template-name.xml
upgrade_template-name_v913.xml
upgrade_template-name_v1000.xml
upgrade_template-name_v1001.xml
upgrade_template-name_v2007.xml
Any data files.

Once the template package is created, the four bundled files must be transported to the server so that
the TEM wizard can locate and install the templates. You can copy the bundled files to the server or burn
to a CD-ROM and transport the CD-ROM contents to the server.

If you have any custom utilities that are called in the installation or upgrade scripts, ensure that the
appropriate platform binaries for these utilities are placed into the TC_ROOT\bin directory before using
TEM to install or upgrade the template.

Behind the scenes of live update

Live update enables a Business Modeler IDE user to deploy data model extensions directly from the
Business Modeler IDE to a running Teamcenter server. You can run live update by choosing
BMIDE→Deploy Template. In most instances, live update is appropriate for test servers where a
Business Modeler IDE user is developing and testing extensions before putting them into production.
However, you can also deploy some types of data directly to a production server.

Live update has the advantage of not requiring a packaged template and can deploy through a two-tier
or four-tier environment. A disadvantage of live update is that it does not execute the extra utilities
listed in your install_template-name.default file or upgrade_template-name_version.default file.
Therefore, if you need Teamcenter to process the upgrade or installation utilities, you must package
your template and install it through TEM. If you are only making data model changes to the template
and want to deploy them quickly to test the changes, you can use live update. Another disadvantage of
live update is that only the session that makes the changes can see the changes. All other users of the
test server must log off and back on to see the data model changes.

The Deploy wizard does the following:

1. Consolidates all XML files listed in the master.xml into a single project\output\packaging
\template_name_template.xml file.

2. Copies the project\extensions\dependency.xml file to project\output\packaging\template-


name_dependency.xml file

3. Creates an SOA (services-oriented architecture) connection to the specified server using the login
credentials, and sends the template-name_template.xml and template-name_dependency.xml to
the server using FMS.

4. The SOA service writes the files to the TC_DATA\model directory.

Business Modeler IDE PLM00071 11.2 4-95


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

5. The SOA service adds the template name to the TC_DATA\model\master.xml file if it is not already
included.

6. Deletes the existing TC_DATA\model\model_backup.xml file.

7. Renames the TC_DATA\model\model.xml file to TC_DATA\model\model_backup.xml.

8. Consolidates all definitions in the templates listed in the master.xml file to a TC_DATA\model
\model.xml file.

9. Executes a compare tool which loads the model.xml and model_backup.xml files into a Java
model, compares the two models, and writes a delta.xml file that contains the differences
between the two models.

Note:
The model.xml file contains the latest template extensions and the model_backup.xml file
contains the previous definitions from the database. Therefore, the differences between the
two files are the differences between the two older customer template and the latest
customer template.

10. Lists all executed actions in a log file. If any elements listed in the delta.xml file fail to execute, the
failed elements are also listed in the log file.

11. Extracts the data model contents of the database to the TC_DATA\model\model.xml file so that the
next live update is able to compute the differences against a file that reflects the accurate contents
of the database. This step is executed only if there are unprocessed elements in the delta file.

12. Sends the log file back through the SOA service and places it in the project\output\packaging
directory, and names the file with a timestamp.

Template artifacts

Feature file

Feature file description

The feature file is used for the following purposes:

• A feature file is required by TEM so that you can present your template as a choice in TEM to be
installed into the corporate server.

• If a customer chooses your template for the corporate server, the extensions in your template are
combined with the other choices of the user and added to the corporate server database.

4-96 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Feature file naming convention

• When you choose your template for the corporate server, also choose to install your template as a
reference template when using the Business Modeler IDE to extend your own template. That way a
customer can see all the extensions provided in your template and add their own.

• A feature file is also used by TEM for upgrade.

• A feature file ensures that your template is chosen for upgrade if it was previously installed into the
database.

• If you provide extensions from a previous release, ensure that your template is selected during
upgrade. Once a template is installed, it must always persist in future releases. You can keep
providing updates, but it can never be removed.

• The TEM wizard needs to ensure that you select all previously installed templates during upgrade. The
feature file helps this in one of two ways:

• GUIDs
A GUID is a global unique ID which identifies your template with unique ID from other templates.
TEM started using GUIDs in Teamcenter 2007. Once your template (feature) is assigned a GUID,
you keep the same GUID for the lifetime of your template. When TEM installs features, it keeps
track of the GUIDs installed. When the user upgrades to the next release, TEM ensures that the
same features are picked during the upgrade by matching the GUIDs from the installation with the
feature files.

• Template match
This option is provided to those features that were installed prior to GUIDs (pre-Teamcenter 2007).
If you provided data model extensions to Teamcenter that a user installed prior to Teamcenter
2007, either through TEM features or through a manual install steps, then TEM needs a way to
automatically force you to select your feature if it was previously installed. The feature file allows
you to provide template_match elements that look for specific data model definitions in the
database that only could have come from your template. If the data matches, then TEM forces you
to pick your template during install.

• A feature file contains a list of the dependent feature templates that should be installed before your
template can be installed.

Feature file naming convention

The feature file must be named as follows: feature_template-name.xml where template-name is your
template name. All characters should be lowercase.

Following are examples of feature file names:

feature_tcae.xml
feature_gmo.xml
feature_mytemplate.xml

Business Modeler IDE PLM00071 11.2 4-97


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

The Business Modeler IDE application creates this default feature file for a given template when the
project is created.

Sample feature file

<?xml version="1.0" encoding="UTF-8"?>


<!-- Document : feature_template-name.xml
Description: This XML is used by TEM to install or upgrade the "template-name"
solution.-->
<feature>
<name value="template-name"/>
<property name="feature_name" value="template-name"/>
<group value="package"/>
<guid value="049B06807BDA0239E0A054B39495661A"/>
<bundle value="${feature_name}Bundle.xml"/>
<description value="${feature_name}.description"/>
<include file="dataModelDependency.xml"/>
<relation/>
<feature>
<!-- Feature: Data Model -->
<name value="Data Model"/>
<property name="feature_id" value="datamodel"/>
<property name="bmide_optional" value="false"/>
<property name="template_name" value="${feature_name}"/>
<property name="template_file" value="${template_name}_template.xml"/>
<removable value="false"/>
<root value="true"/>
<bundle value="${template_name}Bundle.xml"/>
<description value="${template_name}.description"/>
<guid value="1D388F052C95BE2EFCC70355B229BA03"/>
<include file="coreDataModel.xml"/>
<include file="generatePlmxmlSchema.xml"/>
</feature>
</feature>

Feature file header section

The following example shows header information and contains a description comment about the
purpose of the feature file:

<?xml version="1.0" encoding="UTF-8"?>

<!--
Document : feature_<template_name>.xml
Description: This XML is used by TEM to install or upgrade the <template_name>
solution.
-->

Feature section

The feature section contains the following. (The following list is presented in alphabetical order.)

• The bundle value tag indicates the localization file that should be used with the feature to provide
the display name for the feature in TEM panels. All bundle files are named with the following format

4-98 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Feature section

template_nameBundle.xml. This tag uses a ${template_name} variable to determine the bundle


name, so there is no need to edit this tag. Never change this value.

<bundle value="${template_name}Bundle.xml"/>

• The relation/depends name tag specifies the data model features that your template is dependent
on. This ensures that the dependent templates are installed prior to your feature if the user selects
your template. By default all templates are dependent on the Foundation template at a minimum, so
the Foundation template is implicitly specified (by including the dataModelDependency.xml file).
You must add an additional <depends> tag for each dependent template. The name key should
specify the template name, and the value should specify the GUID. The GUID can be obtained by
looking in the dependency files for each template. If you are dependent on another template that also
has its own dependencies, you need not specify all dependencies. You only need to provide your
template's dependencies. TEM takes care of the rest.

<depends name=”foundation” value="8C061DD51E13E0CB9DC4687B1A3348BE"/>

Never change this value.

• The description value tag indicates which key in the bundle.xml file to use for getting the feature’s
description. Never change this value.

<description value="template.description"/>

• The feature tag specifies the subfeatures under a feature.

• The group value tag indicates that your feature should appear in TEM under the Extensions option.
This is the option where all template features appear. If you have suboptions for a feature, you must
create a group_name.xml. The group name and the parent group name must be specified.

<group value="package"/>

For example, you have a solution called solution1 that has template1, template2 and template3
options. solution1 is a high-level group name and not installable template by itself. The
group_solution.xml file must be created with the following entries:

<group>
<name>solution-display-name</name>
<parent>foundation</parent>
</group>

In feature_template1.xml, feature_template2.xml, and feature_template3.xml, the group tag is:

<group value=”solution”/>

This solution appears as follows in TEM:

Business Modeler IDE PLM00071 11.2 4-99


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Corporate Server
Solution1
Template1
Template2
Template3

• The guid tag specifies the GUID for your feature (template). If a unique GUID has not been assigned,
then you should get one assigned from the TEM team and update the value. A GUID is automatically
created by the Business Modeler IDE application and assigned to the feature file when the project is
created.

<guid value="C0E54180924C29FE0B89C9D3CDCC7A17"/>

• The include tag allows you to include XML content in a separate file within a feature XML. There are
no file name restrictions. This also reduces the feature file size by taking the common elements and
keeping them in separate files.

• The property name="feature_id" tag specifies the subfeature type. This tag is used by TEM to
determine the subfeature type. For example, "datamodel" represents a datamodel (template) feature,
"rtserver" represents a run-time server component, and "rac" represents a rich client add-on
component.

• The property name="template_name" tag specifies the template name. This tag is used by TEM to
determine which feature files contain templates.

<property name=”template_name” value=”template-name”/>

• The removable value tag indicates whether TEM lets you remove this feature. By default no template
feature can be allowed to be removed since it would be difficult to remove all instances of each
extension. Therefore, all template features can never be removed.

<removable value="false"/>

Never change this value.

• The root value tag indicates that the user who installs the feature must have administrative privileges
on the machine. This tag is only used by Windows. Because the feature is used on all platforms, it
should always be provided. Because each feature can potentially make changes to services, this tag
should always be set to true.

<root value="true"/>

Never change this value.

• The template_match tag provides the data model object to match for template matching. This is
required for any template feature that may have been installed prior to Teamcenter 2007. A feature
can provide as many template_match tags as needed to appropriately match your feature with the
database. For example, it may not be sufficient to try to match only one data model object.

4-100 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Files section

<property name=”template_match_1” value=”ImanType,type_name, ALIAS_PROJECT”/>


<property name=”template_match_2” value=”Tool,object_name, AUTOSTUDIO_TOOL”/>

The match works by providing a class, attribute, and value. TEM queries for the class and attribute
pair, and if it finds that one of the rows matches the value you provided, there is a match on this tag.
Examples:

template_match_1
template_match_2
template_match_3

Edit these tags as needed.

Files section

The files section of the feature file (in the coreDataModel.xml file) provides two commands to unzip a
ZIP file provided with the feature. The command gives the location of the ZIP files with respect to
TC_CDROM. Each ZIP file should be zipped specifically so that when unzipped, the file contents end up in
the correct locations in TC_ROOT. The relative path of the files in the ZIP file is with respect to TC_ROOT.
For customer templates, the Business Modeler IDE zips these files accordingly. For Siemens PLM
Software templates, these ZIP files are placed into an installation kit to accomplish the same things. Do
not edit this section.

<files>
<code>
<unzip file="tc/${template_name}_template.zip"/>
<unzip file="tc/${template_name}_install.zip"/>
</code>

</files>

Install section

<preinstall>

</preinstall>

<install>

<gui>
<panel class="com.teamcenter.install.tceng.base.gui.AdminUserPanel"
factory="acquirePanel"/>

</gui>

<code>
<tcexec cmd="bmide_pretemplateinstall${script_ext}" parms="-u=${adminUser.user}
-p=${adminUser.password} -g=dba -templates=${template_name}"/>
<condition property="template_installed" value="true" else="false">
<checktemplate value="${template_name}"/>
</condition>
<tcexec script="${tcroot.path}/install/${template_name}/install_$
{template_name}.default"

Business Modeler IDE PLM00071 11.2 4-101


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

whenfalse="${template_installed}"/>
<tcexec cmd="business_model_updater" parms="-u=${adminUser.user}
-p=${adminUser.password} -g=dba -mode=upgrade -update=types
-file=${tcroot.path}/install/${template_name}/${template_file}"
whentrue="${template_installed}"/>

</code>

</install>

The preinstall and install sections (in the coreDataModel.xml file) are called by TEM during the first
installation of your template. The install section commands take care of copying your zipped template
files to the TC_DATA\model directory, and then ensures that the correct tools are run to add your
template extensions to the data model. The template_installed condition is used by TEM to see if the
template is already installed in the database. The TEM installer installs the template only if it is not
already installed. If the template is already installed, business_model_updater is run to install any types
in the database to populate the .des files. This may be when installing an alternate TC_DATA to an
existing database.

There is no need to edit these sections. The empty preinstall section is provided as a placeholder in case
it is needed in the future.

Update section

<preupgrade>

</preupgrade>

<upgrade>

</upgrade>

The preupgrade and upgrade sections are called by TEM during the upgrade of your template. The
preupgrade and upgrade sections are placeholders for any commands needed for upgrading. Currently
these sections are empty. TEM knows that if your feature is a template feature, it automatically runs the
appropriate upgrade runner script utility provided by the Business Modeler IDE. The upgrade runner calls
sections in your upgrade script (depending upon the version of the upgrade).

There is no need to change or remove the sections. There are provided in case they are needed for
future needs.

Bundle file

Bundle file description

A bundle file is used to provide localized text to TEM. This file contains your feature’s description that are
displayed in the various TEM panels where the user can select your template.

4-102 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Bundle file naming convention

Your bundle should contain a text name template.description that corresponds to the feature file. The
feature file is looking for the localized description of your feature in the bundle file by the name of
template.description. Ensure that have corresponding entries in both the feature file and bundle file.

<description value="$(template_name).description"/>

In the bundle file, be sure to update the comments section and the TextID to reflect your template:

<TextID name="template_name.description" text=" Installs the XX Solution application."/>

Bundle file naming convention

The bundle file must be named template-nameBundle_language-code_country-code.xml. Replace


template-name with your template name. Only the B in Bundle should be upper case; all other
characters must be lowercase.

Examples:

tcaeBundle_en_US.xml
gmoBundle_en_US.xml
mytemplateBundle_en_US.xml

If you follow this format, your bundle file automatically gets picked up by the feature.xml file entry that
declares the bundle file based on your template name.

Sample bundle file

<?xml version="1.0" encoding="UTF-8"?>

<!--
bcprt
This software and related documentation are proprietary to UGS Corp.
COPYRIGHT 2006 UGS CORP. ALL RIGHTS RESERVED
ecprt
-->

<!--
Document : template_nameBundle.xml
Description: Localized text for template_name template feature
-->

<IDMap>
<TextID name="template_name.description" text="Installs the XX Solution
application."/>

</IDMap

Business Modeler IDE PLM00071 11.2 4-103


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Installation file

Installation file description

Every template must have an installation script. This script is run by TEM when your template feature is
selected by the user to install into a Teamcenter corporate server. This install script has very specific
content and ordering of commands to get your Business Modeler IDE extensions installed into the
database. This order and content cannot be changed.

The installation script is separated into sections labeled with the # SECTION: comment and the name of
the section. TEM must install the template’s data model extensions in a specific order, therefore these
sections must be kept in the order that they are given and this order and the content should never be
changed.

The solid and dotted lines that separate the sections are intentional and should not be changed. The
solid lines indicate the sections that contain utilities that the templates cannot alter. These are required
so that the Business Modeler IDE utilities can install the template data model. The dotted line sections
are areas where the template can add additional utilities to support the installation of the template. For
example, you may want to load process template objects.

To add any utilities, only add them in the appropriate (dotted) sections. Be sure to carefully read each
section so that you can determine the correct placement of your utility with respect to the installation of
the pieces of the data model.

SECTION Type Description

SECTION: Open for adding utilities Adds utilities that are required after the schema
Utilities has been updated with the latest classes and
attributes.

SECTION: Open for adding utilities Adds utilities that are required after the non-
Utilities - Post schema data model objects have been updated
BMIDE (that is, business objects, LOVs, business rules,
extension points, and so on).

Installation file naming convention

The installation script must be named install_template-name.default. Replace template-name with


your template name. All characters should be lowercase. You must ensure that you follow this naming
convention; otherwise your script does not run.

Examples:

install_tcae.default
install_gmo.default

4-104 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Sample install file

install_mytemplate.default

Sample install file

# install_test.default:
#
#
#
# This script installs the Data Model for test solution.
# _____________________________________________________________________________
#

# ..............................................................................
# SECTION: Utilites
# ..............................................................................
# Use this section if your solution needs to install any workflow templates,
# transfer modes, or any other data that must be installed before the BMIDE tools
install
# Business Objects (Items, Datasets, Forms, Item Element, App Interface,
IntDataCapture),
# Business Rules, LOVs, Change Objects, Validation Data, Tools.
# ..............................................................................
#<pre-non-schema-add>

<pre-non-schema-add>

# ..............................................................................
# SECTION: Utilities - Post BMIDE
# ..............................................................................
# Use this section if your solution needs to install any solution objects
# that must be installed after the BMIDE tools install
# Business Objects (Items, Datasets, Forms, Item Element, App Interface,
IntDataCapture),
# Business Rules, LOVs, Change Objects, Validation Data, Tools.
# ..............................................................................
#
<post-non-schema-add>

<post-non-schema-add>

Upgrade file

Upgrade file description

The upgrade is used to synchronize the data model extensions and any other related data objects to the
latest release. If you have your template packaged in a feature, then TEM automatically knows how to
upgrade your Business Modeler IDE definitions to the latest release.

In addition to the Business Modeler IDE data model in your template, you may have additional data that
needs to be added during your upgrade. You can do this in an upgrade script. An upgrade script is not
required if you have no additional things to add during an upgrade. However to be consistent with the

Business Modeler IDE PLM00071 11.2 4-105


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

other templates, you should provide an upgrade script even if it has no special commands in it. That way
you can add things quickly later if needed.

This upgrade script has very specific content and ordering of sections to get your objects installed into
the database. This order and content cannot be changed.

The upgrade script is separated into sections labeled with the # SECTION: comment and the name of the
section. TEM needs to upgrade the template’s data model extensions in a specific order. Therefore, these
sections must be kept in the order that they are given, and this order and the content should never be
changed.

Each section in the upgrade script is separated using dotted lines. As in the install script, this means that
each of these sections is editable by the solution and you can add specific utilities in these sections.
Because all sections are separated with dotted lines, this means that all sections can have utilities added.

Each section has two parts; the comments follow:

#..............................................................................
# SECTION: Pre Schema Additions
#..............................................................................
# Use this section to add any commands that should migrate data before the
# the BMIDE tools have added the new classes and attributes.
#..............................................................................

The tags are as follows:

< pre-schema-add >

</ pre-schema-add >

Whenever you add utilities, the utilities must go between the specific opening and closing tags. Any
commands outside these tags are not executed.

Also, do not alter the tags in any way. The TEM upgrade runner is looking specifically for these tags and
does not recognize any new ones or tags by another name or spelling.

SECTION Type Description

SECTION: Pre Open for adding utilities Adds any commands that should migrate data
Schema before the Business Modeler IDE tools have
Additions added the new classes and attributes.

SECTION: Post Open for adding utilities Adds any commands that should migrate data
Schema after the Business Modeler IDE tools have added
Additions the new classes and attributes, but before the
Business Modeler IDE tools modify or delete any
existing classes and attributes.

4-106 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Upgrade file naming convention

SECTION Type Description

SECTION: Post Open for adding utilities Adds any commands that should migrate data
Schema after the Business Modeler IDE tools have
Changes changed any existing classes and attributes, but
before they delete any existing classes and
attributes, and before they add, change, or
delete non-schema objects. Use this section if
your template needs to install any workflow
templates, transfer modes, or any other data that
must be installed before the Business Modeler
IDE tools install data model objects.

SECTION: Post Open for adding utilities Adds any commands that should migrate data
Non-Schema after the Business Modeler IDE tools have added
Additions data model objects.

SECTION: Post Open for adding utilities Adds any commands that should migrate data
Non-Schema after the Business Modeler IDE tools have
Changes changed any existing data model objects.

SECTION: Post Open for adding utilities Adds any commands that should migrate data
Non-Schema after the Business Modeler IDE tools have deleted
Deletions any existing data model objects.

SECTION: Post Open for adding utilities Adds any commands that should migrate data
Schema after the Business Modeler IDE tools have added,
Deletions changed, or deleted data model objects.

Upgrade file naming convention

The upgrade script must be named upgrade_template-name_version.default. Replace template-name


with your template name and version with the appropriate version of Teamcenter. All characters should
be lowercase. You must ensure that you follow this naming convention. The TEM upgrade utility expects
the script to be named this way, otherwise your script will not run correctly.

If you do need an upgrade script, you must provide a separate upgrade script for each version of
Teamcenter that you support. This is because the TEM wizard does not know what version of the
product you are upgrading from and only executes the appropriate script that matches that release.

The version tag should be replaced with one of the versions in the table. Do not make up a version
name. These names are provided by TEM as the officially supported versions. No other versions work. If
you do not see a version that you require, please contact your Siemens PLM Software representative for
the correct version string.

Business Modeler IDE PLM00071 11.2 4-107


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

Sample upgrade file

# upgrade_<solnname>_<version>.default:
#
# This software and related documentation are proprietary to UGS Corp.
# COPYRIGHT 2007 UGS CORP. ALL RIGHTS RESERVED
#
#
#______________________________________________________________________________
# Steps for upgrading <solnname> from Teamcenter <version> to latest Teamcenter release
#______________________________________________________________________________
#..............................................................................
# SECTION: Pre Schema Additions
#..............................................................................
# Use this section to add any commands that should migrate data before
# the BMIDE tools have added the new classes and attributes.
#..............................................................................

<pre-schema-add>

</pre-schema-add>
#..............................................................................
# SECTION: Post Schema Additions
#..............................................................................
# Use this section to add any commands that should migrate data after
# the BMIDE tools have added the new classes and attributes, but before
# the BMIDE tools modify or delete any existing classes and attributes.
#..............................................................................

<post-schema-add>

</post-schema-add>
#..............................................................................
# SECTION: Post Schema Changes
#..............................................................................
# Use this section to add any commands that should migrate data after the
# the BMIDE tools have changed any existing classes and attributes,
# but before the BMIDE tools deletes any existing classes and attributes
# and before the BMIDE adds, changes, or deletes non-schema objects.
#
# Use this section if your solution needs to install any Workflow templates,
# Transfer Modes, or any other data that must be installed before the BMIDE tools
install
# Business Objects (Items, Datasets, Forms, Item Element, App Interface,
IntDataCapture),
# Business Rules, LOVs, Change Objects, Validation Data, Tools.
#..............................................................................

<post-schema-change>

</post-schema-change>
#..............................................................................
# SECTION: Post Non-Schema Additions
#..............................................................................
# Use this section to add any commands that should migrate data after the
# the BMIDE tools have added the Business Objects, Business Rules, LOVs,
# Change objects, Validation Data, Tools, etc.
#..............................................................................

<post-non-schema-add>

4-108 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Sample upgrade file

</post-non-schema-add>
#..............................................................................
# SECTION: Post Non-Schema Changes
#..............................................................................
# Use this section to add any commands that should migrate data after the
# the BMIDE tools have changed any existing Business Objects, Business Rules, LOVs,
# Change objects, Validation Data, Tools, etc.
#..............................................................................

<post-non-schema-change>

</post-non-schema-change>
#..............................................................................
# SECTION: Post Non-Schema Deletions
#..............................................................................
# Use this section to add any commands that should migrate data after the
# the BMIDE tools have deleted any existing Business Objects, Business Rules, LOVs,
# Change objects, Validation Data, Tools, etc.
#..............................................................................

<post-non-schema-delete>

</post-non-schema-delete>
#..............................................................................
# SECTION: Post Schema Deletions
#..............................................................................
# Use this section to add any commands that should migrate data after the
# the BMIDE tools have added/changed/deleted Business Objects, Business Rules, LOVs,
# Change objects, Validation Data, Tools, etc.
#..............................................................................

<post-schema-delete>

</post-schema-delete>

Business Modeler IDE PLM00071 11.2 4-109


© 2019 Siemens Product Lifecycle Management Software, Inc.
4. Creating, deploying, and packaging templates

4-110 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent
objects in Teamcenter
Add a new model element ──────────────────────────────── 5-1
Business Modeler IDE administration tasks ───────────────────── 5-2
Business objects ────────────────────────────────────── 5-3
Create business objects ───────────────────────────────────── 5-3
Business object icons ───────────────────────────────────── 5-43
Using the Operation Descriptor tab ───────────────────────────── 5-54
Business object constants ────────────────────────────────── 5-66
Change the name of custom business objects ───────────────────── 5-108
Convert secondary business objects to primary ───────────────────── 5-117
TC_WorkContext business object reference ─────────────────────── 5-119
Classes ─────────────────────────────────────────── 5-120
Introduction to creating classes ────────────────────────────── 5-120
Add a new class ──────────────────────────────────────── 5-121
Class attributes ──────────────────────────────────────── 5-124
Properties ───────────────────────────────────────── 5-133
Introduction to properties ───────────────────────────────── 5-133
Properties table ──────────────────────────────────────── 5-134
Hide properties on a form business object ──────────────────────── 5-136
Add properties to a custom form business object ──────────────────── 5-137
Available actions on properties ────────────────────────────── 5-138
Attach an object to a typed reference property ───────────────────── 5-138
Add properties ──────────────────────────────────────── 5-140
Property constants ────────────────────────────────────── 5-171
Compound properties ──────────────────────────────────── 5-190
Controlling how properties are displayed in the user interface by using property
formatters ────────────────────────────────────── 5-193
Lists of values ────────────────────────────────────── 5-217
Introduction to lists of values (LOVs) ─────────────────────────── 5-217
Create classic lists of values ──────────────────────────────── 5-218
Batch LOVs ─────────────────────────────────────────── 5-224
Dynamic LOVs ───────────────────────────────────────── 5-232
Attach an LOV to a property ──────────────────────────────── 5-258
Add values to an existing classic LOV ─────────────────────────── 5-261
Create a filter LOV ────────────────────────────────────── 5-261
Create a cascading LOV ─────────────────────────────────── 5-263
Create an interdependent LOV ─────────────────────────────── 5-265
Interdependent LOV attachment problems ─────────────────────── 5-268
Attaching LOVs with conditions ────────────────────────────── 5-268
Display LOVs based on a project ────────────────────────────── 5-273
LOV types ─────────────────────────────────────────── 5-277
LOV value types ──────────────────────────────────────── 5-279
LOV usage types ─────────────────────────────────────── 5-280
Balanced/unbalanced LOVs ───────────────────────────────── 5-280

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Creating options ──────────────────────────────────── 5-281
About the Options folder ────────────────────────────────── 5-281
Add an ID context ────────────────────────────────────── 5-281
Note types ─────────────────────────────────────────── 5-282
Add an occurrence type ─────────────────────────────────── 5-284
View types ─────────────────────────────────────────── 5-285
Add a status type ─────────────────────────────────────── 5-287
Add a storage media option ──────────────────────────────── 5-290
Add a tool ─────────────────────────────────────────── 5-291
Unit of measure types ──────────────────────────────────── 5-293
Client UI configuration ──────────────────────────────── 5-295
Introduction to client UI configuration ────────────────────────── 5-295
Create a new client for use in a client UI configuration ──────────────── 5-297
Create a new client scope ────────────────────────────────── 5-298
Create a new command collection ──────────────────────────── 5-300
Create a new command for use in a client UI configuration ───────────── 5-302
Create a new icon for use in a client UI configuration ───────────────── 5-304
Document management ─────────────────────────────── 5-305
Using the Business Modeler IDE to configure document management ─────── 5-305
Create an item revision definition configuration (IRDC) ──────────────── 5-306
Create a dispatcher service configuration ──────────────────────── 5-319
Create a print configuration ──────────────────────────────── 5-326
Create a system stamp configuration ─────────────────────────── 5-330
Import a sample document management template file ──────────────── 5-333
Configure PDF markup for the Acrobat/Reader Plugin ───────────────── 5-336
Linked Data Framework ──────────────────────────────── 5-338
Introduction to Linked Data Framework ───────────────────────── 5-338
Create a new service catalog ──────────────────────────────── 5-339
Create a new Linked Data Framework service ────────────────────── 5-341
Create a Linked Data Framework service operation ────────────────── 5-343
Working with applications ────────────────────────────── 5-347
Teamcenter Component objects ────────────────────────── 5-348
What are Teamcenter Component objects? ─────────────────────── 5-348
Create a Teamcenter Component object ───────────────────────── 5-349
Create a verification rule ────────────────────────────────── 5-353
Global constants ──────────────────────────────────── 5-354
Introduction to global constants ────────────────────────────── 5-354
Create a global constant ────────────────────────────────── 5-355
Change the value of a global constant ────────────────────────── 5-357
Global constants reference ───────────────────────────────── 5-359
Managing the data model ────────────────────────────── 5-379
Find objects in the Business Modeler IDE ───────────────────────── 5-379
Open objects in the Business Modeler IDE ──────────────────────── 5-379
Delete objects in the Business Modeler IDE ─────────────────────── 5-379
Modifying objects in the Business Modeler IDE ───────────────────── 5-380
Deprecating objects in the Business Modeler IDE ──────────────────── 5-380
Naming objects in the Business Modeler IDE ────────────────────── 5-381
Reloading the data model ────────────────────────────────── 5-382

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Import and export the data model ──────────────────────────── 5-382
Data model reports ───────────────────────────────────── 5-397
Graphically represent the data model in the UML editor ─────────────── 5-409

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent
objects in Teamcenter
Add a new model element
The Add New Model Element wizard allows you to create custom model elements.

1. On the menu bar, choose BMIDE→New Model Element.

2. Select the model element you want to create and click Next.
The creation wizard for the selected model element runs.

Business Modeler IDE PLM00071 11.2 5-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Business Modeler IDE administration tasks


The Business Modeler IDE is intended for business analysts who are responsible for tailoring Teamcenter
for use at their companies. Users of the IDE must have a thorough understanding of how to perform
end-user tasks with Teamcenter and have some knowledge of the data model items used in Teamcenter.

Use the IDE to create:

Data model
objects Description

Business objects The fundamental objects used to model business data. Create business
objects to represent product parts, documents, change processes, and so
on. Business objects were formerly known as types in Engineering
Process Management.

Classes The persistent representations of business objects in the database.


A class is the logical data model and maps the storage of a business
object to the database. Every class has a business object by the same
name. A class can have attributes defined on it. Every attribute defined
on the class results as a property on the business object. Classes support
inheritance. Any attribute defined on a parent class is inherited by its
children.

Properties Item characteristics, such as name, number, description, and so on.


Properties are attached to business objects. All children of a business
object inherit their parents' properties.

Lists of values Pick lists of values. They are commonly accessed by Teamcenter users
(LOVs) from a menu at the end of a data entry box.

Business rules Directives that govern how objects are handled, including how they are
named, what actions can be undertaken on them, and so on. Creating
rules is also known as business modeling.

Constants Configuration points within the data model. They provide consistent
definitions that can be used throughout the system.

Options Miscellaneous objects such as change objects, units of measure, notes,


and so on.

Code generation Objects used for software development, and include data types, libraries,
objects releases, and services. These are used when you want to write C++ code.

5-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to creating business objects

After you create these new data model objects, you can deploy them to a test server. And after you
verify the new data model on the test server, you can package it for installation to a production server.

Business objects

Create business objects

Introduction to creating business objects

To create a new business object in the BMIDE view of the Business Modeler IDE, right-click a business
object in the Business Objects folder and choose New Business Object. The Business Objects folder is
used for working with business objects, the fundamental objects that model business data. You can
create business objects and add properties to them. You can also add operations or business rules to
business objects.

The most common business objects you create are children of the Item, Form, and Dataset business
objects. The process for creating business objects is the same for most kinds of business objects.

Tip:
When you create a new business object, it is often exposed in the dialog boxes accessed from the
File→New menu in the My Teamcenter application in the rich client. To find where to add the
business object in the Business Modeler IDE tree of business objects, search in the tree for the
objects shown in these File→New menu dialog boxes. You can also create business objects in the
My Teamcenter application by choosing File→New→Other.

Where classes are the logical data model, business objects are the objects that the user works with in
the clients. Typically, most business objects have a storage class that helps map the attributes to the
database. However, run-time business objects do not have any persistent storage and therefore do not
have storage classes.

Business objects get their properties from two locations. Any attribute defined on the storage class is
derived as a propriety on the business object. These properties are called persistent properties.
Additional properties such as compound properties, relation properties, and run-time properties can be
defined directly on the business object.

Business objects also support inheritance. Any compound property, relation property, and run-time
property defined on a parent business object is inherited by its children.

Business objects can also have behavior attached to them in the form of operations and business rules.
Operations and rules defined on parent business objects are also inherited by the children. Typical
business rules include GRM rules, deep copy rules, naming rules, revision naming rules, LOVs, business
object constants, property constants, IRDCs, business object display rules, propagation rules, and
extension rules.

Business Modeler IDE PLM00071 11.2 5-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Process for adding a new business object

When you add a new business object using the Business Modeler IDE, you select a parent business
object under which to create it. The child business object inherits the properties and behaviors of the
parent.

You can add a primary or secondary business object. A primary business object has the same name as its
associated storage class. A secondary business object uses the storage class of its parent business
object. When you add a primary business object, a corresponding class is created to hold data for the
primary business object.

The following steps are the generic procedure for adding a new business object, whether primary or
secondary:

1. In the Business Objects folder, browse to a business object under which you want to create the
new object. To search for a business object, you can click the Find button at the top of the view.

2. Right-click the business object you want to use as the parent and choose New Business Object.
The New Business Object wizard runs.

There are several other ways to launch the New Business Object wizard:

• To create children of the Item or Dataset business objects, choose BMIDE→New Model
Element. You cannot create any other type of business object with the New Model Element
wizard.

• Right-click a business object displayed in the UML Editor and choose Add Business Object.

• Drag Business Object from the UML Editor palette into the UML editor.

5-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Process for adding a new business object

When you choose this method, the New Business Object wizard allows you to select the type of
business object to create, for example, Item, Form, and so on.

3. Fill in the dialog boxes presented by the New Business Object wizard. For example, name the
business object and indicate its parent.
The wizard can present different dialog boxes depending on the parent business object selected.
See subsequent topics about adding business object types that have different dialog boxes.

Business Modeler IDE PLM00071 11.2 5-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
a. Select Create Primary Business Object to add a new class that stores the data for the
new business object. Clear this option to set the storage class as the same used by the
parent business object.
A primary business object has its own storage class. A secondary business object uses
the storage class of its parent business object. You can change a secondary business
object to a primary business object one by right-clicking the secondary business object
and choosing Convert to primary.

b. Select Is Abstract? if instances of the business object will not be created in user
interfaces such as the rich client. For example, you may want to select this if the
business object is intended as a folder for child business objects.

c. The Store as lightweight object check box indicates if the object is stored in its own
database table outside of the POM_object database table. This improves performance
of POM object handling. Initially only a limited number of internal classes may be stored
as lightweight objects. This check box is read-only.

4. Click Finish.
The new business object appears in the Business Objects folder. A c on the business object symbol
indicates that it is a custom business object.
If you create a primary business object, the corresponding class appears in the Classes view in the
Advanced perspective.

5. To add the business object to your Favorites folder, right-click the business object and choose Add
to Favorites.
If you create a child of the Item or Document business object, you can find the master, revision,
and revision master business objects that were also created. Click the Find button at the top of
the BMIDE view and search for the new business object name.

6. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

7. After you create a business object, you can deploy your changes to the test server. Choose
BMIDE→Deploy Template on the menu bar, or select the project and click the Deploy Template
button on the main toolbar.

8. After deployment, test your new business object in the Teamcenter rich client by creating an
instance of it.
For example, if you created a new business object as a child of the Item business object, in the My
Teamcenter application, choose File→New→Item. (You can also create business objects in the
Teamcenter rich client by choosing File→New→Other.)

5-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Common business objects you can subclass

Your new business object appears in the New Item dialog box. Choose your new business object
and create an instance of it.

Note:
• If you select the Is Abstract? check box during creation of the new business object, you
cannot create an instance of the business object.

• Not all children of the Item business object appear in the File→New→Other menu. For
example, ADSPart, ADSDesign, and ADSDrawing and their subtypes appear in other
menus.

Note:
You can create your own custom icon to assign to the new business object.

Common business objects you can subclass

You can subclass from specific business objects in the data model to get the behavior you want in
Teamcenter.

To create a new business object, right-click a business object in the Business Objects folder of the
Business Modeler IDE and choose New Business Object. (When you create a new primary business
object, a class of the same name is created that stores the business object information.)

There are many business objects listed in the Business Objects folder. Following are some of the most
commonly subclassed business objects in the Foundation template, shown in their tree structure.

Note:
Not all objects you want to create are business objects. Use the Extensions\Options folder in the
Business Modeler IDE to create the following: contexts, note types, occurrence types, view types,
status, storage media, tools, or units of measure.

POM_object
Represents storage classes in the database.

ImanRelation
Represents relationships between objects.

POM_application_object
Represents Teamcenter application classes in the database.

WorkspaceObject
Holds the objects that can be displayed in the end-user workspace.

Business Modeler IDE PLM00071 11.2 5-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

AppearanceGroup
Persists occurrence groups.

Dataset
Represents file types.

Folder
Organizes groups of objects.

Form
Displays properties.

GeneralDesignElement
Models a connectable interface of a product.

GeneralDesignElementLink
Models connectivity between one or more general design element (GDE)
objects. This object serves the same functional purpose as a
PSConnection business object except that it is not revisable.

Item
Represents parts and documents.
When you create a new subclass of the Item business object or one of its children,
the following are automatically created: ItemMaster, ItemMasterS, ItemRevision,
ItemRevisionMaster, ItemRevMasterS. The same types of master forms are also
created for all the children of the Item business object.

Architecture
Represents product structures.

GPA
Represents a generic physical architecture type.

Design
Represents designs.

Document
Represents documents.

Specification
Represents a collection of requirements specifications.

RequirementSpec
Represents a requirements specification.

Drawing
Represents part drawings.

5-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Common business objects you can subclass

MEOP
Represents a measurement operation being done at a station in a plant. It
aggregates all the inspection features that are measured at that operation.

Part
Represents parts.

PSConnection
Models connectivity between one or more general design element (GDE)
objects.

Schedule
Represents a group of planned tasks that must be performed to complete a
project.

ScheduleTask
Represents a planned task that must be completed to make progress in the
schedule.

SpecElement
Represents an individual requirement specification element.

Paragraph
Represents a requirements paragraph.

Requirement
Represents a specific requirement.

ItemRevision
Represents a revision of an Item business object.

Design Revision
Represents a revision of a Design business object.

DocumentRevision
Represents a revision of a Document business object.

Drawing Revision
Represents a revision of a Drawing business object.

MEOPRevision
Represents a revision of an MEOP business object.

Part Revision
Represents a revision of a Part business object.

ScheduleRevision

Business Modeler IDE PLM00071 11.2 5-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Represents a revision of a Schedule business object.

ScheduleTaskRevision
Represents a revision of a ScheduleTask business object.

ReleaseStatus
Represents the status of a release.

Item business objects

Introduction to item business objects

Items are the fundamental object used to model data in Teamcenter. They are commonly used to
identify an element of a product (component, assembly, end item) or other data such as procurement
specification, test procedure, standard part, shop tooling, change, and so on.

Data modeled using the Item business object is generally revision controlled data and all revisions of the
information must be maintained, tracked, and recoverable. Data must also be modeled using the
Teamcenter concept of item if you want to build a structure of the items such as a bill of material (BOM)
for items that represent a product.

In the initial setup for Teamcenter, two types of items are provided:

• Item
Generally used for data that represents an element of a product that is CAD defined and for which
product structure (BOM) data is maintained in the system.

• Document
Generally used for all other data that is considered revision controlled but not necessarily considered
as a product or is not defined using CAD applications.

Create an Item business object

Item is the most common business object under which you create a new business object. Use the Item
business object or its children when you want to create business objects to represent product parts.
When you create a business object using Item (or one of its children) as the parent, in addition to the
new business object, you also create an item master form, an item revision, and an item revision master
form.

Note:
When you create a child of the Item business object, a child ItemRevision business object is
created automatically. You cannot create a child of the ItemRevision object directly.

1. Choose one of these methods:

5-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an Item business object

• On the menu bar, choose BMIDE→New Model Element, type Item in the Wizards box, and
click Next.

• Click the Find button at the top of the BMIDE view, search for the Item business object,
right-click it, and choose New Business Object.

2. In the Business Object dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A5_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. The Parent box displays the business object you already selected as the parent business
object.

e. In the Description box, type a description for the new business object.

f. Select Create Primary Business Object to make a new class that stores the data for the new
business object. Clear this option to set the storage class as the same used by the parent
business object.

g. Select Is Abstract? if instances of the business object will not be created in user interfaces
such as the rich client. For example, you may want to select this if the business object is
intended as a folder for child business objects.

h. Click the Add button to the right of the Properties table to add a property to the business
object.
The New Property wizard runs.

i. Click Next.

Business Modeler IDE PLM00071 11.2 5-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

3. The Business Object dialog box displays the name of the revision to be created in the Name box,
and displays the parent of the revision in the Parent box. You cannot change these values.

a. In the Display Name box, type the name of the item revision as you want it to appear in the
user interface.

b. In the Description box, type a description for the new business object revision.

c. Click the Add button to the right of the Properties table to add a property to the revision
business object.

5-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an Item business object

d. Click Finish.
The new business object appears in the Business Objects folder. A c on the business object
symbol indicates that it is a custom business object.
When you create a custom item business object, the following business objects are also
created: custom-itemMaster, custom-itemMasterS, custom-itemRevision, custom-
itemRevisionMaster, and custom-itemRevMasterS. To find the master, revision, and revision
master that you created, click the Find button at the top of the BMIDE view and search for the
new business object name, for example, A5_MyItem.

Business Modeler IDE PLM00071 11.2 5-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
The Master form holds properties for the item, and the RevisionMaster form holds
properties for the item revision. For style sheets used on the form display, type
inheritance is not allowed. A style sheet registered on a parent form display is not used
for its subtypes, and different properties are shown on the custom RevisionMaster
form than are shown on the RevisionMaster form of the parent business object. If you
want to show the same properties on the custom RevisionMaster as on the parent
RevisionMaster, you must create a new style sheet for the custom form display.

4. Perform additional steps to configure the new item business object type:

• Configure the properties that appear in the new item dialog box when an end user creates
an instance of the item business object.
For example, to make the Configuration Item check box appear in the New Item wizard, open
the item business object type, click the Operation Descriptor tab, click the CreateInput tab, and
select the is_configuration_item property. On the Property Constants tab, select the Visible
property constant.

• Set business object constants for the new item business object type.
For example, to allow checkout of a new item when it is created, set the
Fnd0AllowCheckOutOnCreate business object constant to true.

5. To save the changes to the data model, choose BMIDE→Save Data Model on the menu bar, or
click the Save Data Model button on the main toolbar.

5-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Basic item data model

6. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

7. After deployment, test your new business object in the Teamcenter rich client by creating an
instance of it.
For example, in the My Teamcenter application, choose File→New→Item. (You can also create
business objects in the Teamcenter rich client by choosing File→New→Other.) Your new business
object appears in the New Item dialog box. Choose your new business object and create an
instance of it.

Note:
If you select the Is Abstract? check box during creation of the new business object, you
cannot create an instance of the business object.

Tip:
You can create your own custom icon to assign to the new business object.

Basic item data model

An item in Teamcenter is a structure of related objects. The basic structure of any item consists of the
following minimum objects:

Item
ItemMaster (Form business object)
ItemMasterS
ItemRevision
ItemRevisionMaster (Form business object)
ItemRevMasterS

Business Modeler IDE PLM00071 11.2 5-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Item
Collects data that is globally applicable to all revisions of the item. You typically add custom attributes
directly to the custom item business object.

• ItemMaster (Form)
A form object that is often used to extend the stored property data for an item to include data unique
to the customer.

• ItemMasterS
The storage object for the item master form.

• ItemRevision
Collects data that is applicable to a single revision of the item.

• ItemRevisionMaster (Form business object)


A form object that is often used to extend the stored property data for an ItemRevision object to
include data unique to the customer.

• ItemRevMasterS
The storage object for the item revision master form.

Extending item business objects

The Business Modeler IDE can be used to define more Item business objects in addition to those
provided with base Teamcenter.

Reasons for extending the Item business objects are:

• Having more types of Item business objects may be a useful approach of categorizing data making it
easier for users to find data and understand the differences between different kinds of data stored in
the system.

• Different rules for naming conventions, deep copy rules, and so on, can be configured for one type of
Item business object compared to another type.

• Default process model association for one type of Item business object versus another is easier to
implement.

• Different designs for the Item Master and ItemRevision Master forms may be desired. Each type of
Item business object can have unique and different master form definitions.

In the following example, a new type of Item business object (EndItem) has been defined so that the
customer can define customer specific attribute data that Teamcenter stores for this type of data.

EndItem
EndItem Master (Form business object)

5-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to form business objects

EndItem Revision
EndItem Revision Master (Form business object)

Form business objects

Introduction to form business objects

Form business objects manage underlying product information and control how this information is
displayed to users.

There are two basic ways to manage product information using form business objects: store product
information in a form definition class in the database, or store product information as a text file in a
Teamcenter volume. You can display a form to users as a simple list of properties, or you can use a form
definition file to create a custom form.

By default, forms are displayed as a simple list of properties. The form is similar to the Properties dialog
box. However, you can only use this technique if you are storing your information in a form definition
class in the database. Otherwise, it is not possible to determine which properties to list.

Create a form business object

Use the Form business object or its children to create a form to hold attributes. All Item business objects
have a form associated with them, but these are typically created when you use the New Business
Object wizard to create a new Item business object. Use the following procedure to create additional
Form business objects to use with your Item and ItemRevision business objects.

1. Click the Find button at the top of the BMIDE view and search for the Form business object.

2. In the Business Objects folder, right-click the Form business object or one of its children and
choose New Business Object.
The Create New Form Business Object wizard runs.

3. In the Create New Form Business Object dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. The Parent box displays the business object you already selected as the parent business
object.

Business Modeler IDE PLM00071 11.2 5-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

e. In the Description box, type a description for the new business object.

f. Choose one of the following in the Storage Class pane:

• Click Use new class to create a new storage class to store the attributes.
In the Class Name box, type the name for the new form storage class. Click the Browse
button to the right of the Parent Name box if you want to select a different class to be the
parent of the new form storage class.

• Click Use existing class to use an existing class to store the attributes.
Click the Browse button to the right of the Class Name box if you want to select a different
class to be the form storage class.

g. Click the Add button to the right of the Properties table to add a property to the business
object.
The New Property wizard runs.

h. Click Finish.
The new business object appears in the Business Objects folder. A c on the business object
icon indicates that it is a custom business object.

5-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Hide master forms

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

6. After deployment, test your new business object in the Teamcenter rich client by creating an
instance of it.
For example, in the My Teamcenter application, choose File→New→Form. (You can also create
business objects in the Teamcenter rich client by choosing File→New→Other.) In the New Form
dialog box, choose the new form business object from the list of available forms. Create the
instance of the form and click OK.

Hide master forms

When item or item revisions are created, master forms are automatically created and attached. You may
not want to include a master form with items or item revisions. In this case, perform the following
procedure to hide master forms for an item or item revision or its subtype:

1. Open the Item or ItemRevision business object or one of its children.

2. Click the Operation Descriptor tab.

3. On the CreateInput tab, select the IMAN_master_form property (for item business objects) or the
IMAN_master_form_rev property (for item revision business objects).

4. Click the Edit button.

5. Clear the Visible check box.

This procedure hides the master form from the creation dialog box but creates the master form in the
background. To hide the master form from appearing elsewhere in the user interface, edit the business-
object_DefaultChildProperties preference to remove the IMAN_master_form or
IMAN_master_form_rev properties.

If any of the properties on the master form are mandatory, or if they need to be edited by the user, you
can use the Business Modeler IDE to create a compound property on the corresponding Item or
ItemRevision business object that points to the attribute on the master form.

Business Modeler IDE PLM00071 11.2 5-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
The ItemCreation.NoMasterForm and ItemCreation.NoRevMasterForm preferences are
obsolete as of Teamcenter 8.2. These NoMasterForm preferences allowed users to define a list of
types that do not automatically create Item Master forms. While Item business objects can be
created without master forms, some applications such as Multi-Site and CAD-BOM Alignment
depend on the Item business objects having master forms and do not correctly interpret the Item
object without a master form. If you are currently using these preferences, Siemens PLM Software
strongly recommends that you deconfigure them and hide the master forms using this procedure.

End-user form creation

End users create forms in the Teamcenter rich client using one of the following methods:

• Choose File→New→Form. This is used to create a stand-alone form object in a container (like a
folder) or a form associated with an existing item or item revision object. End users select the type of
form they are creating from the list of form types on the New Form dialog box.

• Choose File→New→Item. When an item is created, at least two form objects are also created: the
item master and item revision master.

• Choose File→New→Change. When change objects are created, additional forms may be
automatically created for the change revision object. How many forms and of what type are set when
you create new change objects.

• Use a workflow handler. Form objects may be created automatically during a workflow process by
using the EPM-create-form action handler.

To view a form in the Teamcenter rich client, select the form object and click the Viewer tab.

Threshold properties must exist on the new Form storage classes

If the standard form business object has any threshold properties and you change the form storage class
on that standard form type, the form type does not include the threshold properties. This causes
exceptions in the Business Modeler IDE, loader, comparator, and so on.

A threshold property is property on a form that is derived from its form storage class. The property has
one of the following: LOV attachment, naming rule attachment, property business modeler operation,
extension attachment, and so on. A property is referred to as a threshold property if it has required
functionality connected to it such as business rules, list of values, or extension rules.

When business rules, lists of values, and so on, are defined on a property by the owner of a Business
Modeler IDE template, they are assumed to be present on the property and there may even be code
logic that assumes the functionality is present on the property. If a subsequent customer switches the
form storage class and chooses a class with a different set of attributes, the original threshold properties
are not available on the Form business object. This creates problems where threshold properties
become invalid or are dangling.

5-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Changing the form storage class

If the customer has a Form type with threshold properties and later switches the Form storage class on
that form type and generates the custom template, loading of the custom template in the Business
Modeler IDE client fails and throws one of the following model errors:

The Form Storage Class on the form type form-name cannot be changed to
the class new-form-storage-class unless the class has the following threshold
properties: threshold-properties Add the missing properties from the original
form storage class to this new form storage class.

The Form Storage Class cannot be removed from the form type form_name
because the form requires the following threshold properties: threshold-
properties. Either set this form to point to the original form storage
class or use a new class that adds the threshold properties from the
original form storage class.

If either of the two errors occur in your Business Modeler IDE, you must manually add the missing
threshold properties to the new form storage class in the custom template. The property definition must
be identical to the original property definition. This must be performed manually by editing the XML
source files in your template to add the missing threshold property to your form storage class. After you
complete the edit, save the file, close it, and perform a Reload Data Model action in the Business
Modeler IDE. This reloads the XML and performs the validation to ensure there are no errors.

If after adding the missing threshold properties, you do not want to see these attributes on this form
business object, set the Visible property constant to False on the form property that corresponds to the
attribute.

Changing the form storage class

Switching the storage class of a Form business object is no longer allowed.

As of Teamcenter 2007.1 MP5, you can no longer switch the storage class of a Form business object.

In previous versions, you could switch the storage class of a Form business object if the existing storage
class did not meet your requirements, which led to dangling data model objects. For example, if a
template contained a Form business object with business rules and a list of values configured on the
form properties and the dependent template switched storage classes, the business rules and list of
values attachments from the parent template became invalid and the database contained dangling data
model objects.

Perform the following steps to resolve the issue:

1. Define a new property on the Form business object with the Business Modeler IDE.

2. If the existing form properties are not useful, hide them by setting the Visible property constant to
false on the form property that corresponds to the attribute.

Business Modeler IDE PLM00071 11.2 5-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note that if you use the Business Modeler IDE Deploy wizard to commit this visibility change to the
server, the server must be reset to see these changes in the clients.

Dataset business objects

Introduction to dataset business objects

Datasets are objects used to manage file data associated with external software applications. They
typically consist of a single application data file or logical groupings of application data files. There are
numerous types of datasets predefined in Teamcenter. However, your site may need to add more types
to be able to manage your site’s specific application data files and the viewing/editing software
applications associated with these files.

Create a dataset business object

Use the Dataset business object to represent a file from a specific software application. For example,
files created in Microsoft Word are represented by the MSWord dataset object, text files are represented
by the Text dataset object, and so on.

You can associate a tool with each dataset type so that the appropriate software application launches
when you open a file in Teamcenter.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Dataset in the Wizards box, and
click Next.

• Click the Find button at the top of the BMIDE view, search for the Dataset business object,
right-click it, and choose New Business Object.

2. In the Business Objects folder, right-click the Dataset business object and choose New Business
Object.
The New Dataset wizard runs.

3. In the Dataset dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. In the Parent box, Dataset is already selected as the parent business object.

5-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a dataset business object

e. In the Description box, type a description of the new business object.

f. Select Create Primary Business Object to make a new class that stores the data for the new
business object. Clear this option to set the storage class as the same used by the parent
business object (in this case, the Dataset class).

g. Select Is Abstract? if instances of the business object will not be created in user interfaces
such as the rich client. For example, you may want to select this if the business object is
intended as a folder for child business objects.

h. To the right of the Tools for Edit pane, click the Add button to select the software application
to launch when the dataset is selected in Teamcenter. If the tool does not exist, you must
create one using the Tool option.

i. To the right of the Tools for View pane, click the Add button to select the software
application to be used to view the dataset files. If the desired tool does not exist, you must
create one using the Tool option.

j. Click Next if you want to add references and parameters to the dataset. Otherwise, click
Finish to complete the dataset creation.

4. If you clicked Next, the References table appears. Click the Add button to the right of the
References table to add file name references to associate with the dataset.

Business Modeler IDE PLM00071 11.2 5-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

The Add Dataset Reference wizard runs. Perform the following steps in the Dataset Reference
dialog box:

a. For Reference, type a unique name for this file reference.

b. For File Type, enter the file name extension (for example, txt, pdf, doc, and so on).

c. For Format, choose whether the files are binary, object, or text.

d. Click Finish.

5. Click Finish in the New Dataset wizard to complete the dataset creation, or if you want to change
the action taken when the dataset is launched, click Next.

6. If you clicked Next, the Tool Action table appears. Click the Add button to the right of the Tool
Action table to modify the action that a software application takes when a dataset is launched.
The Dataset Tool Action Definition wizard runs. Perform the following steps:

a. Click the Browse button to the right of the Tools box to select the tool you previously chose to
use for viewing or editing this dataset. (The only available tool is the one you previously
selected.

b. Click the arrow in the Operations box to choose the operation to use with the dataset (for
example, Open, OpenUsing, Print, PrintUsing, or Send).
The OpenUsing operation allows the user to select the tool to use for opening the dataset,
and the PrintUsing operation allows the user to select the tool to use to print the dataset.

c. To set the file name extensions to associate with the action, click the Add button to the right
of the References table.
The Add Reference wizard runs. In the Reference dialog box, click the arrow in the Select the
Reference Name box to choose the file name reference for this tool action. Select the Export
check box to export the dataset out of the database.

5-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a dataset business object

d. To add parameters to be passed with the action, click the Add button to the right of the
Parameters box.
The Add Parameter wizard runs. Select a parameter and click Finish.

e. Click Finish in the Dataset Tool Action Definition dialog box.

f. Click Finish in the New Dataset dialog box.

7. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

8. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

9. After deployment, test your new business object in the Teamcenter rich client by creating an
instance of it.
For example, in the My Teamcenter application, choose File→New→Dataset. Click the More...
button and choose the new dataset business object from the list of available ones.

Note:
To make the custom dataset appear on the list of available dataset types, open the
TYPE_DISPLAY_RULES_list_types_of_subclasses preference and add Dataset to it.

Business Modeler IDE PLM00071 11.2 5-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

You can also create an instance of the custom dataset in the Teamcenter rich client by choosing
File→New→Other.

Named references

Named references are files attached to a dataset object. A single dataset object may have one or more
named references. To view the named references of a dataset from the Teamcenter rich client, in My
Teamcenter, select the dataset and choose View→Named References, or right-click the dataset and
choose Named References.

Named references are not to be confused with dataset references, which are the kind of applications
associated with a dataset type.

Dataset creation process in the Teamcenter rich client

When a new dataset is created in the Teamcenter rich client, initially there are no named references for
the dataset or physical files stored on a Teamcenter volume. When a Teamcenter rich client user opens
the new dataset, the following chain of events takes place:

1. If the user has write access to the dataset object, an implicit (automatic) checkout occurs. Thereby
the user maintains exclusive write access to the data during the modification session.

2. What happens next is not directly visible to the user:

a. Teamcenter creates a temporary operating system (OS) directory.

b. Because initially there is no file associated with the dataset, Teamcenter creates a 0-size file
and exports the file to the temporary OS directory. The format of the file (binary/text) and the
extension of the file are as defined in the references part of the dataset business object
definition.

c. Teamcenter executes the OS software application associated with the dataset tool definition
and passes the file to the application as a parameter.

3. The user sees the following:

a. The OS software application executes with the 0-size file loaded.

b. The user modifies the file using the OS software application.

c. When a modified file is saved (without terminating the application), the modified file is
written back to the temporary OS directory overwriting the initial exported 0-sized file. Each
save performed (without terminating the application) continues to overwrite the file in the
temporary directory without updating the data file stored in Teamcenter.

d. The user terminates the OS software application.

5-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure the tools used to view and open datasets

4. What happens next is not directly visible to the user:

a. Teamcenter senses that the application process has terminated and checks the temporary OS
directory to see if the file it originally exported there has been changed or if new files have
been added to the directory.

b. If there are changed or new files, Teamcenter Imports these files back to Teamcenter and
creates the next version of the dataset object.

c. The implicit checkout on the dataset object is reversed (implicit checkin). If the dataset is
opened again, the same process is repeated with the exception that the current file for the
dataset is exported instead of a 0-size file.

Configure the tools used to view and open datasets

In the Teamcenter rich client, you can select a dataset, and choose File→Open With to choose the tool
to open the dataset or choose File→View With to choose the tool to view the dataset.

By default, a set of tools are assigned to each kind of dataset. These tools are initially set up when the
dataset business object type is created.

If you want to be able to use a different tool to open or view a dataset, you can add it to the set of
available tools for that dataset type. For example, if you want to use Microsoft Word to open text
datasets, you can add it to the tool set. Using this example, perform the following steps:

1. Perform the following steps in the Business Modeler IDE:

a. Set the program executable for the tool:

A. Open the Extensions\Options\Tool folders and double-click the tool.


For this example, double-click the MSWord tool.

B. In the new view, click the New Tool Type tab. In the Shell/Symbol box, set the
executable.
For this example, set the executable as winword.exe.

b. Set the tool to be used to view and open the dataset:

A. In the Business Objects folder, locate the dataset business object to which you want to
add the tool, and double-click the dataset. The dataset opens in a new view.
For this example, double-click the Text dataset business object.

B. In the new view, click the Dataset Properties tab.


Click the Add button (next to the Tools for Edit table and the Tools for View table).
Choose the tool to be used for editing and viewing the dataset.
For this example, choose the MSWord tool.

Business Modeler IDE PLM00071 11.2 5-27


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

C. Click the ToolActions tab.

i. Click the Add button to the right of the Tool Action table. The Dataset Tool Action
Definition dialog box displays.

ii. In the Dataset Tool Action Definition dialog box, click the Browse button to the
right of the Tools box and choose the tool to be used to open the dataset. For this
example, choose the MSWord tool.

iii. Click the arrow in the Operations box and choose the Open action.

iv. Repeat the steps above for OpenUsing.

v. Click Finish.

c. Save the data model.


Choose BMIDE→Save Data Model.

d. Deploy the revised data model.


To deploy to a test server, choose BMIDE→Deploy Template on the menu bar.
To package into a template that can be installed to a production server, choose
BMIDE→Package Template Extensions.

2. Perform the following steps to set up the MIME types so that the tool can be used to open the
dataset.

• Windows systems:
Perform one of the following. Either method sets the MIME type:

• Create new action for the file type:

a. In the Windows Control Panel, choose Default Programs→Associate a file type or


protocol with a program.

b. From the list of file extensions, select the file type. (For this example, select .txt.)

c. Click the Change Program button.

d. In the Open with dialog box, click the Browse button to locate the program executable.
For this example, locate the winword.exe file.

e. Click OK.

• Modify the dataset preferences using the My Teamcenter application in the rich client:

5-28 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure dataset file upload security

a. Choose Edit→Options.

b. In the left pane of the Options dialog box, select Dataset.

c. Click the arrow in the Dataset Type box and select the dataset. (For this example, select
Text.)

d. In the Default Tool box, select the tool. (For this example, select MSWord.)

e. Select the Use MIME Type to Search Application for Default Tool check box.

f. Click OK.

• Linux systems:
Change the mailcap file to specify the action, MIME type, and the associated application to be
launched:

MIME TYPE;Action;Tool:Path

For example:

text/plain;\
view:Notepad:/usr/openwin/bin/xedit

Note:
Many applications can support the same MIME type. You can define a number of tools with
the same MIME type, but actually launch different applications.
Tool definitions affect Teamcenter rich client datasets only. The thin client uses MIME type
associations in an FMS configuration file that are independent of the tool definitions but
generally compatible. If a script is identified in the tool definition for the dataset type, and if
that script is found, it is launched. For those tools without scripts, on Windows clients, the file
extension defined in the Windows registry is used, and the registered applications can be
seen from the Windows Control Panel by choosing Default Programs→Associate a file type
or protocol with a program. On Linux clients, a Teamcenter supplied .mailcap file is used
that contains mappings between the MIME type and the application name. If the MIME type
of the tool is not specified in the .mailcap file, the application does not get launched.
The .mailcap file can be easily inspected to determine the mappings.

Configure dataset file upload security

Dataset business objects are configured to accept certain file types for upload. For example, the PDF
dataset accepts *.pdf files, and the HTML dataset accepts *.htm or *.html files. This is configured on
the References tab in the Business Modeler IDE.

Business Modeler IDE PLM00071 11.2 5-29


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

However, some datasets are configured to accept any file type (*.* or *). This poses a security risk,
because executable files could be uploaded that can contain viruses and malware.

You can strengthen security by allowing an administrator to prevent datasets from accepting any file
type. This is accomplished with the Fnd0DatasetFileExtensionRestrict business object constant. The
administrator can set this constant on a dataset and list the file types to block, for example, executables
such as .exe, .bat, and .cmd.

You can also use the following business object constants to restrict files from being uploaded based on
file name length, characters, or patterns:

Fnd0DatasetFileNameCharRestrict
Fnd0DatasetFileNameMaxLen
Fnd0DatasetFileNameMinLen
Fnd0DatasetFileNamePatternRestrict

To change the value of a business object constant on a dataset business object, open the dataset
business object, click the Dataset Properties tab, and scroll down to the Business Object Constants
table. Select the business object constant and click the Edit button.

Relation business objects

Introduction to relation business objects

To see the available relations that can be used to relate source and target objects, in the rich client My
Teamcenter application, copy a source object, select a target object, and choose Edit→Paste Special.

5-30 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a relation business object

Following are some common types of relation business objects. These are all children of the
ImanRelation business object.

• Specification relations
The IMAN_specification business object defines this relation. Specification relations are detailed
methods, designs, processes, and procedures used to satisfy requirements. A specification
relationship can only be established with an item revision, not an item. Although requirements may
remain fairly constant for a product (item), actual manufacturing methods, designs, processes, and
procedures may change drastically from model to model (item revisions).

• Requirement relations
The IMAN_requirement business object defines this relation. Requirement relations are criteria that
must be satisfied by this item or item revision. However, requirements often do not specify how this
criteria should be satisfied. For example, a requirements relation may specify maximum weight for an
item revision but not how to construct it. Extend the business object to create your own specification
relations.

• Manifestation relations
The IMAN_manifestation business object defines this relation. Manifestation relations are
nondefining snapshots of a particular aspect of an item or item revision at a particular moment in
time. For example, numerically controlled (NC) program files are a common manifestation. Consider
that they represent one aspect of an item revision (that is, machining information) and that this
information is only accurate as long as the item revision does not change. If the item revision does
change, the NC program files may no longer be accurate and may need to be re-created.

• Reference relations
The IMAN_reference business object defines this relation. Reference relations describe a general
nondefining relationship of a workspace object to an item or item revision. This relation type can be
thought of as a miscellaneous relation type. Typical examples of reference relations are white papers,
field reports, trade articles, customer letters, lab notes, and so on.

Tip:
• The business_object_default_relation preference specifies the default relation that is created
when an object is pasted under an instance of the business object.

• If you want to create your own kind of relation business object, extend the ImanRelation
business object.

Create a relation business object

Items in Teamcenter are related to one another using relation business objects, which are children of the
ImanRelation business object. You can create your own relation business objects as children under this
business object.

1. To create a new relation business object, right-click the ImanRelation business object or one of its
children and choose New Business Object.

Business Modeler IDE PLM00071 11.2 5-31


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

2. To make properties required or visible on the new relation business object, open the business
object and click the Operation Descriptor tab.

3. Make the new relation business object appear on the target business object.

a. Open the target business object (for example, ItemRevision).

b. Click the Properties tab and click the Add button to the right of the properties table.

c. Choose Relation as the property type, click the Browse button to the right of the Relation
Business Object box, and select the new relation business object.

Identifier business objects

Create an identifier business object

Identifier business objects contain attributes, such as supplier name, address, and cost, which are used
with alias ID rules and alternate ID rules.

1. Click the Find button at the top of the BMIDE view. Type Identifier in the search box and click
OK.
The Identifier business object is selected in the Business Objects folder.

2. In the Business Objects folder, right-click the Identifier business object and choose New Business
Object.
The New Identifier wizard runs.

3. In the Identifier dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

5-32 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an identifier business object

b. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically
affixed to the name to designate the object as belonging to your organization, for example,
A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. In the Parent box, Identifier is already selected as the parent business object.

e. In the Description box, type a description of the new identifier.

f. Select Create Primary Business Object to make a new class that stores the data for the new
business object. Clear this option to set the storage class as the same used by the parent
business object (in this case, the Identifier class).

g. Select Is Abstract? if instances of the business object will not be created in user interfaces
such as the rich client. For example, you may want to select this if the business object is
intended as a folder for child business objects.

h. Click the Add button to the right of the Properties table to add a property to the business
object.
The New Property wizard runs.
For instructions about how to fill in the Persistent Property dialog box, see Add a persistent
property.

i. Click Next.

4. Create a supplemental Identifier business object, which is comparable to a revision. In the


Identifier dialog box, enter the following information:

a. The value in the Name box defaults to the name of the master identifier with Rev added to
the end.

b. In the Parent box, Identifier is already selected as the parent business object.

c. In the Description box, type a description of the new identifier revision.

d. Click the Add button to the right of the Properties table if you want to add properties to the
new business object.
For instructions about how to add properties see Add a persistent property.

e. Click Finish.
The master and supplemental Identifier business object are created.

Business Modeler IDE PLM00071 11.2 5-33


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

6. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

Identifier business objects can only be used in the context of alias ID rules and alternate ID rules.

Alias identifiers

Alias identifiers are used to store part numbers and other attribute information for similar parts and they
can be associated with many items or item revisions.

Alias identifiers allow you to store information about external entities. For example, parts can be stored
according to their internal naming conventions and also according to the naming conventions of other
companies, such as suppliers. You can also use alias IDs to maintain a cross reference of the relationship
between other manufacturer's part numbers and your own.

In this scenario, each supplier is considered a separate context or a single context called suppliers and
can be created. You then create an identifier business object and associated attributes, such as supplier
name, address, and cost. Contexts are defined by your administrator and you assign them when you
create an alias ID.

Assign an alias identifier in the rich client by choosing File→New→ID.

Alternate identifiers

Alternate identifiers store information about part numbers and attributes of the same part from
different perspectives. They allow different user communities to identify and display an item or item
revision according to their own rules rather than by the rules of the user who created the object.

Assigning alternate identifiers to a part at different stages of development and production allows you to
maintain a history of the life cycle of the part.

The alternate identifier functionality is enabled by creating identifier business objects, accessed by users
of the rich client from the Revise, New Item, and Save As dialog boxes or by choosing File→New→ID.

Create a run-time business object

Business objects can be either persistent or run-time business objects. Persistent business objects are
stored in the database in their associated storage class. The run-time business objects are not stored in
the database but are calculated at run time.

Run-time objects (children of the RuntimeBusinessObject object) function much like standard business
objects. Although run-time business objects are not persisted in the database as business objects, you

5-34 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a run-time business object

can add properties to the run-time business objects, and those properties can be made visible in the user
interface.

You can create custom run-time business object types in the Business Modeler IDE on the
RuntimeBusinessObject business object.

Warning:
Although the Business Modeler IDE allows you to create run-time business objects on the children
of the RuntimeBusinessObject business object, you should not create custom run-time business
objects at this level. Only create custom business objects directly on the RuntimeBusinessObject
business itself.

Note:
You can also create custom run-time business objects using the TCTYPE_create_objects() ITK
interface method and the DatamanagementService::createObjects Teamcenter Services
operation method.

1. Click the Find button at the top of the BMIDE view and search for the RuntimeBusinessObject
business object.

2. Right-click the RuntimeBusinessObject business object and choose New Runtime Business
Object.

3. Perform the following steps in the Runtime Business Object dialog box:

a. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A5_.

b. In the Display Name box, type the name as you want it to appear in the user interface.

c. Select Is Abstract? if instances of the business object will not be created in user interfaces
such as the rich client.

d. In the Description box, type a description for the new business object.

e. Click Finish.
The custom run-time business object is created.

4. To save the changes to the data model, choose BMIDE→Save Data Model on the menu bar, or
click the Save Data Model button on the main toolbar.

5. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

Business Modeler IDE PLM00071 11.2 5-35


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

6. After creating custom run-time business object types, you can perform the following:

• Add properties to the custom run-time business objects. In this way, you can create an object
that is only persisted in the session to store some information used by a customization or
external application.

• Add properties to the Operation Descriptor tab to allow the properties to be displayed when
creating instantiations of the custom run-time business objects.

• Override some operations on the custom run-time business objects, such as finalizeCreateInput
and validateCreateInput.

Create an application interface business object

Children of the AppInterface business object are used to transfer data between Teamcenter and an
external application. A new entry for each application interface type is added to the Tools→Send Data
To dialog box in the rich client applications that support application interfaces. The Application
Interface Viewer allows you to control data exchanges between Teamcenter and an external
application.

1. Click the Find button at the top of the BMIDE view. Type AppInterface in the search box and
click OK.
The AppInterface business object is selected in the Business Objects folder.

2. In the Business Objects folder, right-click the AppInterface business object or one of its children
and choose New Business Object.
The New Application Interface wizard runs.

3. In the Application Interface dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. The Parent box defaults to the already-selected parent business object.

e. In the Description box, type a description of the new business object.

f. Click the arrow in the Available Tool box to select the application interface to share data with.

5-36 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an application interface business object

g. Click the Browse button to the right of the Transfer Mode for Import XML box. The
Teamcenter Repository Connection wizard prompts you to log on to a server to look up its
available transfer modes. Select the transfer mode to use when importing objects into your
database for this application interface.

h. Click the Browse button to the right of the Transfer Mode for Export XML box to select the
transfer mode to use when exporting objects from your database for this application
interface.

i. Select the Is Logical Incremental Change Required check box if you need to create an
incremental change object for this application interface. This object documents the
differences between the two states of a product structure.

j. Select Create Primary Business Object to make a new class that stores the data for the new
business object. Clear this option to set the storage class as the same used by the parent
business object (for example, the AppInterface class).

k. Select Is Abstract? if instances of the business object will not be created in user interfaces
such as the rich client. For example, you may want to select this if the business object is
intended as a folder for child business objects.

l. Click Next.

4. In the Application Interface dialog box, enter the following information:

a. Click the Add button to the right of the View List pane to choose the view objects that can be
configured by the external application.
For instructions about how to add your own view objects, see Add a view type.

b. Click the Add button to the right of the Object List pane to choose the business objects that
can be sent to the external application.

c. Click Finish.
The new business object appears in the Business Objects folder. A c on the business object
symbol indicates that it is a custom business object.

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

6. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

7. After deployment, test your new business object in the Teamcenter rich client.
In My Teamcenter, select a dataset and choose Tools→Export→Objects. In the Export dialog box,
click the AppInterface button, and then click the New Application Interface button to the

Business Modeler IDE PLM00071 11.2 5-37


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

right of the Application Interface box. Select your new application interface business object on
the left of the New Application Interface dialog box and click OK to create an instance of it.

Create an intermediate data capture business object

An IntermediateDataCapture business object holds data from other sources. An intermediate data
capture (IDC) can hold structure contexts or collaboration contexts, BOM lines, or occurrence groups.
When you create an IDC business object, specify a transfer mode for importing and exporting objects
into the database. IntermediateDataCapture is a child of the AppInterface business object.

1. Click the Find button at the top of the BMIDE view. Type IntermediateDataCapture in the
search box and click OK.
The IntermediateDataCapture business object is selected in the Business Objects folder.

2. In the Business Objects folder, right-click the IntermediateDataCapture business object and
choose New Business Object.
The New Intermediate Data Capture wizard runs.

3. In the Intermediate Data Capture dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. In the Parent box, IntermediateDataCapture is already selected as the parent business


object.

e. In the Description box, type a description of the new business object.

f. Click the Browse button to the right of the Transfer Mode for XML box. You are prompted to
log on to a test server to look up its available transfer modes. Select the transfer mode to use
for capturing data and exporting it to your database.

g. Select Is Abstract? if instances of the business object will not be created in user interfaces
such as the rich client. For example, you may want to select this if the business object is
intended as a folder for child business objects.

h. Click Finish.
The new IntermediateDataCapture object appears in the tree of business objects.

5-38 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a structure context business object

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

6. After deployment, test your new business object in the Teamcenter rich client by creating an
instance of it.
For example, in the My Teamcenter application, create a collaboration context by choosing
File→New→Collaboration Context. Then select the collaboration context object you created and
choose Tools→Intermediate Data Capture. Select your new intermediate data capture business
object on the left of the New Intermediate Data Capture dialog box, select the Open on create
check box and click OK.
The new collaboration context is opened in the Multi-Structure Manager page with the IDC transfer
mode applied.

Create a structure context business object

A StructureContext business object is a BOM or assembly structure contained in a collaboration


context. The structure context can contain occurrence groups, items, and item revisions.

1. Click the Find button at the top of the BMIDE view. Type StructureContext in the search box
and click OK.
The StructureContext business object is selected in the Business Objects folder.

2. In the Business Objects folder, right-click the StructureContext business object or one of its
children and choose New Business Object.
The New Structure Context wizard runs.

3. In the Structure Context dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. The Parent box defaults to the already-selected parent business object.

e. In the Description box, type a description of the new business object.

Business Modeler IDE PLM00071 11.2 5-39


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

f. Select the Composition? check box if the structure context is also a composition. A
composition is a special kind of structure context that contains components added from other
structure contexts.

g. Select Create Primary Business Object to make a new class that stores the data for the new
business object. Clear this option to set the storage class as the same used by the parent
business object.

h. Select Is Abstract? if instances of the business object will not be created in user interfaces
such as the rich client. For example, you may want to select this if the business object is
intended as a folder for child business objects.

i. Click Finish.
The new business object appears in the tree of business objects.

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

6. After deployment, test your new business object in the Teamcenter rich client by creating an
instance of it.
For example, in the My Teamcenter application, choose File→New→Structure Context. Choose
the new business object from the list of available ones. Create an instance of the object and click
OK.

Create a general design element business object

A GeneralDesignElement (GDE) business object, also known as an item element, is used to model any
non-physical feature, such as electrical connections, weld points, mating relationships, and so on. You
can manage, release, and instantiate item elements in a product structure. The GeneralDesignElement
business object is a child of the Form business object.

1. Click the Find button at the top of the BMIDE view. Type GeneralDesignElement in the search
box and click OK.
The GeneralDesignElement business object is selected in the Business Objects folder.

2. In the Business Objects folder, right-click the GeneralDesignElement business object and choose
New Business Object.
The New Item Element wizard runs.

3. In the Item Element dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

5-40 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a general design element business object

b. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. The Parent box defaults to the already-selected parent business object.

e. In the Description box, type a description of the new business object.

f. In the Maximum Instances per Interface box, enter the maximum number of occurrences
allowed for this GDE. You can enter any positive integer, 0, or -1 (infinite).

g. Select Create Primary Business Object to make a new class that stores the data for the new
business object. Clear this option to set the storage class as the same used by the parent
business object.

Note:
If this check box is selected, the resulting GeneralDesignElement (GDE) business
object is not listed under the File→New→Item Element menu in the Teamcenter rich
client.

h. Select Is Abstract? if instances of the business object will not be created in user interfaces
such as the rich client. For example, you may want to select this if the business object is
intended as a folder for child business objects.

i. Click the Add button to the right of the Attributes table to add attributes to the business
object.

j. Click the Add button to the right of the View List to choose the views to associate with this
GDE.

k. Click Finish.
The new GeneralDesignElement object appears in the tree of business objects.

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

6. After deployment, test your new business object in the Teamcenter rich client by creating an
instance of it.

Business Modeler IDE PLM00071 11.2 5-41


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

For example, in the My Teamcenter application choose File→New→Item Element. Click the
More... button and choose the new business object from the list of available ones. Create an
instance and click OK.

Create a general design element link business object

A GeneralDesignElementLink business object is a type of nonrevisable electromechanical connection.


It is also known as a GDELink object, and it is used to model connectivity in an electrical device within
wire harness modeling.

1. Click the Find button at the top of the BMIDE view. Type GeneralDesignElementLink in the
search box and click OK.
The GeneralDesignElementLink business object is selected in the Business Objects folder.

2. In the Business Objects folder, right-click the GeneralDesignElementLink business object or one
of its children and choose New Business Object.

3. In the Create dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new business object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. The Parent box defaults to the already-selected parent business object.

e. In the Description box, type a description for the new business object.

f. Enter the following information in the Storage Class pane:

A. Click Use new class to create a new storage class to store the properties and attributes.
To choose an existing class as the form storage class, click the Use existing class button
and click Browse.

B. In the Class Name box, type the name you want for the form storage class.

C. If you previously chose the Use new class button, in the Parent Name box, select the
class you want to be the parent of new form storage class.

g. If you want to add a property to the form storage class, click the Add button on the right side
of the Properties dialog box.

5-42 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add or change a business object icon

The New Property wizard runs. After the attribute is added, you can change values as desired
by clicking cells in the attribute table.

h. Click Finish.
The new business object appears in the business objects tree. A c on the business object
symbol indicates that it is a custom business object.

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

6. After deployment, test your new business object in the Teamcenter rich client by creating an
instance of it.
For example, in the My Teamcenter application choose File→New→Connection→Non Revisable.
Click the More... button and choose the new business object from the list of available ones. Create
the instance and click OK.

Business object icons

Add or change a business object icon

Among the first configuration tasks you undertake is to create a new business object type. The second
task is usually to define the icon to place on that new business object type. You can use the Fnd0Icon
business object constant to define the icons to place on business objects. These icon definitions are
placed on the server and used by the rich client.

To change business object icons in the thin client, place the icons in the staging_location
\webapp_root\typeicons directory.

You can change the default icon for an existing business object or add an icon to a newly created
business object. You can also decorate the icon with images to designate the business object’s state (for
example, status, remote, checked out, process, and so on).

To illustrate this functionality, the following procedure describes how to add an icon to a custom
business object type and how to overlay images onto the icon. In the example:

• An icon of a pencil represents a custom business object type:

• When an instance of the business object is checked out, an X is placed on the icon:

• When an instance of the business object is checked in, a check mark is placed on the icon:

Business Modeler IDE PLM00071 11.2 5-43


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

1. Create the icons.


Use a graphics editing tool to create a primary icon to represent the business object. Make the icon
16x16 pixels in size, and give the image a transparent background.
If you want to add decorations to designate the business object’s state, also create these as 16x16
pixel-sized icons with transparent backgrounds. These decoration images are overlaid onto the
business object icons.

Note:
The recommended size for icons on business objects is 16x16 pixels. Icons become distorted
when they are much larger than 16x16 pixels.

2. Add the icons to your Business Modeler IDE project.


In the Project Files folder, right-click the icons folder and choose Add Icon.

For this example, following are the icons in the icons folder:

5-44 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add or change a business object icon

Image File name Description

A5_pencil_16.png Primary icon that represents the


business object

A5_checkmark_16.png Overlay icon decoration that shows


that the business object is checked
in

A5_xmark_16.png Overlay icon decoration that shows


that the business object is checked
out

3. Specify the primary icon to represent a business object.

a. Open the business object for which you want to add or change the primary icon.

b. On the Main tab in the Business Object Constants table, select the Fnd0Icon business object
constant and choose the Edit button.

c. In the Modify Business Object Constant dialog box, click the Browse button to the right of
the Icon box and select the primary icon you want to represent the business object.
The icon appears in the Fnd0Icon business object constant row of the table.

Business Modeler IDE PLM00071 11.2 5-45


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

d. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save
Data Model button on the main toolbar.
At this point, you can deploy your project template to a test server or package your project
template for installation to a production server, and the icon displays on all instances of the
specified business object in the rich client. However, if you want to overlay decorations onto
the primary icon, you must also create a property renderer file to render the overlays on the
primary icon.

4. Create a property renderer to associate icons with properties.


In this step, you define images to appear depending on the properties on the business object. For
example, you can overlay an image on the primary icon if the checked_out property resolves to
the Y value.

a. Create the property renderer.

A. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Property Renderer in
the Wizards box, and click Next.

• Open the Extensions folder, right-click the Property Renderers folder and choose
New Property Renderer.

The New Property Renderer wizard runs.

B. In the Name box, type a name for the renderer, and in the Description box, type the
purpose of the renderer.

C. In the Render Definition box, type a well-formed XML definition for the rendering. For
example, to place overlay icons on the primary icon that designate when a business
object is checked out, use a definition similar to the following:

<?xml version="1.0" encoding="UTF-8"?>


<icons Version="1.0">
<primaryIcon source="A5_pencil_16.png"/>
<overlayIcon source="checked_out"
mapName="CheckedOutMap" />
<propertyMap name="CheckedOutMap">
<item key="Y" value="A5_xmark_16.png"/>
<item key="N" value="A5_checkmark_16.png"/>
<item key=" " value="A5_checkmark_16.png" />
</propertyMap>
</icons>

D. Click Finish.

b. Attach the property renderer to the business object.

5-46 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add or change a business object icon

A. To the right of the Property Renderer Attachments box, click the Attach button.
You can also attach the property renderer on the business object by using the Property
Renderer Attachments box on the Properties tab of the business object.

B. Click the Browse button to the right of the Property box to select the business object
that is assigned the primary icon, and select the object_string property.

Note:
For any subtypes of WorkspaceObject types, only renderers that are attached to
the object_string property are effective. If you attach a property renderer to any
other property of any subtype of the WorkspaceObject business object, it is
ignored and has no effect as to how the icon is rendered.
The rich client processes the property renderers only on properties that have been
identified as the toString() properties for a given business object type. By default
for all WorkspaceObject business objects, the toString() property is the
object_string property. For non-WorkspaceObject business objects, there is no
default toString() property, and the assigned toString() property varies from type
to type. For example, the toString() property for the BOMLine business object is
the bl_formatted_title property.
However, you can set the toString() property for any business object type through
a customization. For example, for non-WorkspaceObject business objects, you can
identify which property is the toString() property for a given type. Then when you
attach the renderer to that property, it is honored by the rich client.

C. Click the Browse button to the right of the Condition box to select the condition to
specify when the renderer should be used.
For the purposes of the example, to add an overly icon, choose the isTrue condition.

D. Click Finish.

c. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save
Data Model button on the main toolbar.

Business Modeler IDE PLM00071 11.2 5-47


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

5. Deploy the icons to a server in one of two ways:

• Deploy to a test server using the Deploy Template wizard.

• Package the template using the Package Template Extensions wizard and deploy to a
production server using Teamcenter Environment Manager (TEM).

When you deploy or package the template, the icons are placed in a project_icons.zip file.

5-48 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add or change a business object icon

When icons are deployed to a server, the zipped template icon files are placed in the TC_DATA
\model\icons directory, and the manage_icon_files utility is used internally to upload the icons
into Fnd0IconResource dataset instances in the database. To search for these datasets using the
rich client, search for the Icon Resource Dataset type.

6. View the icons in the rich client.

a. Create an instance of the business object in the rich client.


For example, in the My Teamcenter application in the rich client, choose File→New→Item
and choose the custom business object in the example. Note the new icon on the business
object.

Business Modeler IDE PLM00071 11.2 5-49


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

b. If any overlays are placed on the icon, change the state of the business object instance to view
them.
For example, when the custom business object is checked in, a check mark appears on the
icon. And when the custom business object is checked out, an X appears on the icon.

Render definition examples

Render definitions are XML definitions for icon rendering contained in property renderers.

Render definitions must contain well-formed XML using the following elements:

• Icons
Represents the root element icons and is the outer container element that maintains a sequence of
the propertyMap, primaryIcon, and overlayIcon elements. It also contains a version attribute to
support versioning of the XML.

• overlayIcon
Represents the icon that is overlayed on top of a base primary icon. The overlay icon should be
transparent so not to obscure the primary icon. This element contains a string source attribute. The
overlay icon can be limited to a specific primary icon (placed as a child element) of the primary icon,
or it can be independent of the primary icon thus applying to any primary icon. If the visibleWhen
expression is used with an overlay icon, the overlay icon is rendered only if the visibleWhen
expression evaluates to true.

• primaryIcon
Represents the base icon. It contains a string source attribute that refers to the dataset name
containing the icon, either directly or indirectly through the propertyMap element. This element can
contain a visibleWhen clause as well as overlayIcon elements that are tied to this specific primary
icon. Only one primary icon may be visible for a given type. If multiple primary icon visibleWhen
expressions evaluate to true, an error occurs.
This element can contain the following elements:

• source
Contains a string source attribute that refers to the dataset name containing the icon. This can be
done directly (for example, <primaryIcon source="A5_icon.png"/>), or indirectly using the
propertyMap element or the name of a property (for example, <primaryIcon
source="a5_MyProperty"/>), or by pointing to the Fnd0Icon business object constant (for
example, <primaryIcon source="Fnd0Icon"/>).

• visibleWhen
Specifies when icons are visible. This element is valid for both the primaryIcon element and
overlayIcon element. The expression it contains is passed to the Eclipse expression engine for

5-50 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Render definition examples

evaluation. All cached properties for the given component, as well as metadata about the type such
as type constants, are used as context for the expression to evaluate. For more information about
the core Eclipse expressions used to evaluate the visibleWhen element, see the following URL:

http://wiki.eclipse.org/Command_Core_Expressions

You can use the currentTcComponent variable to access the TCComponent method, as shown in
this example from the Fnd0sm_scheduletask_icon property renderer:

<visibleWhen>
<with variable="currentTcComponent">
<test property="com.teamcenter.rac.kernel.TCComponent.property"
value="1" args="task_type" />
</with>
</visibleWhen>

You can use a Boolean property to evaluate a renderer to resolve to true or false. In the following
example, is_configuration_item is a Boolean property:

<icons Version="1.0">
<primaryIcon source="Fnd0sm_schedule_16.png" >
<overlayIcon source="greenball.png">
<visibleWhen>
<with variable="currentTcComponent">
<test property="com.teamcenter.rac.kernel.TCComponent.property"
args="is_configuration_item" value="True" />
</with>
</visibleWhen>
</overlayIcon>
</primaryIcon>
</icons>

• propertyMap
Maps property values to icon dataset names.

Note:
Array properties are not supported in render definitions.

Following are examples of render definitions:

• In this example, different overlay icons are placed on the primary icon depending on a property value:

<?xml version="1.0" encoding="UTF-8"?>


<icons Version="1.0">
<propertyMap name="checkoutMap">
<item key="Y" value="A5_small_green_dot"/>
<item key="N" value="A5_small_red_dot"/>
<item key=" " value="A5_small_blue_dot"/>
</propertyMap>

<primaryIcon source="A5_Requirement.png">

Business Modeler IDE PLM00071 11.2 5-51


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

<overlayIcon source="checked_out" mapName="checkoutMap"/>


</primaryIcon>
</icons>

• In this example, the overlay icons are visible only when a property has a certain value:

<?xml version="1.0" encoding="UTF-8"?>


<icons Version="1.0">
<propertyMap name="CheckedOutMap">
<item key="Y" value="A5_small_green_dot.png"/>
<item key="N" value="A5_small_red_dot.png"/>
<item key=" " value="A5_small_blue_dot.png" />
</propertyMap>
<primaryIcon source="A5_draw.png"/>
<overlayIcon source="checked_out" mapName="CheckedOutMap" >
<visibleWhen>
<with variable="current_desc">
<equals value="overlay" />
</with>
</visibleWhen>
</overlayIcon>
</icons>

• In this example, the overlay icon is visible when a property condition is met:

<?xml version="1.0" encoding="UTF-8"?>


<icons Version="1.0">
<propertyMap name="checkoutMap">
<item key=" " value=""/>
<item key="Y" value="small_red_dot"/>
<item key="N" value=""/>
</propertyMap>

<primaryIcon source="A5_Email.png"/>
<overlayIcon source="checked_out" mapName="checkoutMap">
<visibleWhen>
<with variable="is_modifiable">
<not>
<equals value="Y"/>
</not>
</with>
</visibleWhen>
</overlayIcon>
</icons>

• In this example, the overlay icon is visible when multiple property conditions are met:

<?xml version="1.0" encoding="UTF-8"?>


<icons Version="1.0">
<propertyMap name="IsCheckoutableMap">
<item key="Y" value="A5_small_blue_dot.png" />
</propertyMap>

<propertyMap name="checkoutMap">
<item key=" " value="A5_small_red_dot.png"/>
<item key="Y" value="A5_small_green_dot.png"/>

5-52 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Render definition examples

<item key="N" value="A5_small_red_dot.png"/>


</propertyMap>

<primaryIcon source="A5_CompanyAlt.png">
<visibleWhen>
<with variable="item_revision">
<not>
<equals value="1" />
</not>
</with>
</visibleWhen>
</primaryIcon>
<primaryIcon source="A5_Company.png" />
<overlayIcon source="checked_out" mapName="checkoutMap">
<visibleWhen>
<with variable="checked_out">
<not>
<equals value="N"/>
</not>
</with>
</visibleWhen>
</overlayIcon>
<overlayIcon source="fnd0IsCheckoutable" mapName="IsCheckoutableMap">
<visibleWhen>
<with variable="IsCheckoutable" >
<equals value="Y" />
</with>
</visibleWhen>
</overlayIcon>
</icons>

• In this example, different overlay icons are visible depending on the IP classification of the object:

<?xml version="1.0" encoding="UTF-8"?>


<icons Version="1.0">
<propertyMap name="ip_classificationMap">
<item key="Public" value="EMR8_green_overlay_16.png"/>
<item key="Internal Use" value="EMR8_blue_overlay_16.png"/>
<item key="Confidential" value="EMR8_yellow_overlay_16.png"/>
<item key="Development" value="EMR8_purple_overlay_16.png"/>
<item key="Restricted" value="EMR8_red_overlay_16.png"/>
</propertyMap>
<primaryIcon source="Fnd0Icon"/>
<overlayIcon source="ip_classification" mapName="ip_classificationMap" />
</icons>

• The following example shows a visibleWhen tag used in conjunction with a propertyMap tag. Note
that the value match used is Y, which is the value returned from the server for the checked_out
property:

<?xml version="1.0" encoding="UTF-8"?>


<icons Version="1.0">
<propertyMap name="YourMap">
<item key="N" value=""/>
<item key="Y" value="small_red_dot.png "/>
<item key=" " value=""/>
</propertyMap>

Business Modeler IDE PLM00071 11.2 5-53


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

<primaryIcon source="small_green_dot.png"/>
<overlayIcon source="checked_out" mapName="YourMap">
<visibleWhen>
<with variable="currentTcComponent">
<test property="com.teamcenter.rac.kernel.TCComponent.property"
args="checked_out" value="Y"/>
</with>
</visibleWhen>
</overlayIcon>
</icons>

Using the Operation Descriptor tab

Manage create and save as operations on business objects

You can make properties visible and required in create and save as dialog boxes in the rich client or thin
client. Use the CreateInput and SaveAsInput operations on the Operation Descriptor tab for business
objects.

For example, if certain properties are selected as visible and required for the CreateInput and
SaveAsInput operations on the Operation Descriptor tab for the Item business object, when a My
Teamcenter user chooses File→New→Item or File→Save As on an item, these properties are visible
and required in the create and save as dialog boxes.

Manage business objects for the CreateInput operation

You can make properties visible and required in creation dialog boxes in the rich client or thin client by
using the CreateInput operation on the Operation Descriptor tab for business objects. For example, if
certain properties are selected as visible and required for the CreateInput operation on the Operation
Descriptor tab for the Item business object, when a My Teamcenter user chooses File→New→Item to
create a new Item object, these properties are visible and required in the creation dialog boxes. (You can
also create business objects in the Teamcenter rich client by choosing File→New→Other).

To display custom properties in the end-user interface, you can also use XML rendering style sheets.

Because Item business objects and their children have master and revision master form business
objects, you can also use this method to make properties visible or required for these forms on the
creation dialog boxes.

Note:
Use the Fnd0EnableUsageOfDialog business object constant to enable use of generic creation
dialog boxes in the rich client.

1. Right-click the business object for which you want to make the change, choose Open, click the
Operation Descriptor tab in the resulting view, and in the Operation box, select CreateInput.

2. If there is a property in the table for which you want to change its visible or required behavior,
select the property in the table and click the Edit button.

5-54 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Manage business objects for the CreateInput operation

In the OperationInput Property dialog box, select the Required or Visible check boxes and click
Finish.

3. If there is a property you want to add to the list of visible and required properties on the business
object, click the Add button to the right of the table.
The New OperationInput Property wizard runs.

4. In the OperationInputProperty dialog box, select one of the two options to add a property:

• Add Property from Business Object.


Select this option to add an existing property. Click Next and perform the following steps:

a. Click the Browse button to the right of the Property Name box to select an existing
property.

Note:
Configuring compound properties for the CreateInput operation on the Operation
Descriptor tab is not supported by server processing. Therefore, compound
properties are excluded from the browse list in the New OperationInput Property
wizard.

b. Select Required to make the property required for entry in the creation dialog box. The
property on the creation dialog box displays a red asterisk indicating that the user is
required to fill it in.
Select Visible to make the property display in the creation dialog box.

c. Under Usage, select one of the following:

• None
Select if the property is not a relation or reference property that references a secondary
object.

• Type
Select if this is a property associated with a secondary object that is to be created from
the value in the CompoundObjectType box.

• Constant
Select if this is a property associated with a secondary object that is to be created from
the value entered in the CompoundObjectConstant box.

d. The CompoundObjectType box is displayed if you selected Type. This is the type of
secondary object that is to be created.
Click the Browse button to the right to select the secondary business object.

e. The CompoundObjectConstant box is displayed if you selected Constant. This is the name
of the business object constant associated with the primary object that is created. The

Business Modeler IDE PLM00071 11.2 5-55


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

value of this constant indicates the type of secondary object to be created. Click the
Browse button to the right to select the business object constant.

f. In the Description box, type a description of this property.

g. Click Finish.

• Define and add a new Runtime Property from Business Object


Select this option to create a new run-time property. The run-time property is only associated
with the CreateInput operation and not with the source business object. This can be used in
cases where certain information required for creation must be specified, but there is no
associated source property for it. An example is when some information required for creation
needs to be specified in the create dialog box, but there is no associated property for it on the
primary object. Another example is when a secondary object needs to be created, but there is no
corresponding relation or reference property on the primary object.
The process for creating a run-time property here is similar to creating a run-time property
using the Add button on the Properties tab.

a. Click Next.

b. In the Name box, type a name for the new run-time property.

c. In the Display Name box, type the name to display in the end-user interface.

d. In the Attribute Type box, select the storage type for the attribute, for example, String.
Choose from the following attribute types:

• Boolean
Allows two choices to the user (True or False).

• Character

5-56 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Manage business objects for the CreateInput operation

A single character, such as A, B, Z.

• Date
A calendar date. A form using this format displays a shortcut date selector.

Tip:
For the date attribute type, the earliest date supported is January 2, 1900.

• Double
An 8-byte decimal number from the range 1.7E to 308.

• Integer
An integer without decimals from 1 to 999999999.

• String
A string of characters.

• TypedReference
Points to a Teamcenter class.

• UntypedReference
Points to any class of data.

• ExternalReference
Points to data outside of Teamcenter.

e. If the attribute is a string attribute, in the String Length box, type the byte length of the
attribute.
For Western languages, one character requires one byte. For example, a field with a string
length of 128 can accommodate 128 characters of a Western language. However, for
multibyte languages such as Chinese, Japanese, and Korean, one character requires two
bytes. Therefore, a field with a string length of 128 can accommodate only 64 characters.

f. If you selected TypedReference as the attribute type, in the Reference Business Object
box, select the class.

g. In the Description box, type a description of the run-time property.

h. Select the Required check box to make the property required in the end-user interface
and the Visible check box to make the property visible in the end-user interface.

i. In the Array Keys section, select the properties that apply:

• Array?
Specifies that the attribute is an array of the data of the data type (for example, string).

Business Modeler IDE PLM00071 11.2 5-57


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Unlimited
Indicates that there is no limit on the number of array elements used for the attribute.

• MaxLength
Specifies the maximum number of array elements allowed for the attribute.

j. Click Finish.

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

6. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

7. After deployment, test to ensure the property is visible or required when you create an instance of
the object in the Teamcenter rich client.
For example, if you made a property required for the CreateInput operation on the Item business
object, when a My Teamcenter user chooses File→New→Item to create a new Item object, the
property is required in a creation dialog box. Required properties are marked with a red asterisk (*).
(You can also create business objects in the Teamcenter rich client by choosing
File→New→Other.)

5-58 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Manage business objects for the SaveAsInput operation

Manage business objects for the SaveAsInput operation

You can make properties visible and required in save as dialog boxes in the rich client or thin client by
using the SaveAsInput operation on the Operation Descriptor tab for business objects. For example, if
certain properties are selected as visible and required for the SaveAsInput operation on the Operation
Descriptor tab for the Item business object, when a My Teamcenter user selects an item object and
chooses File→Save As, these properties are visible and required in the save as dialog boxes.

Note:
Use the Fnd0EnableUsageOfDialog business object constant to enable use of generic Save As
dialog boxes in the rich client.
If you set this constant to false for a business object type, it displays the legacy Save As dialog
box. When performing a save as action in the rich client or thin client for a business object type
that uses the legacy dialog box, choose File→Save As (Legacy) rather than File→Save As.

1. In the Business Objects folder, right-click the business object for which you want to make the
change and choose Open. Click the Operation Descriptor tab in the resulting view, and in the
Operation box, select SaveAsInput.

2. If there is a property in the table for which you want to change its visible or required behavior,
select the property in the table and click the Edit button.
In the OperationInput Property dialog box, select the Required or Visible check boxes and click
Finish.

3. If there is a property you want to add to the list of visible and required properties on the business
object, click the Add button to the right of the table.
The New OperationInput Property wizard runs.

4. In the OperationInputProperty dialog box, select one of the two options to add a property:

• Add Property from Business Object.


Select this option to add an existing property. Click Next and perform the following steps:

a. Click the Browse button to the right of the Property Name box to select an existing
property.

Note:
Configuring compound properties for the SaveAsInput operation on the Operation
Descriptor tab is not supported by server processing. Therefore, compound
properties are excluded from the browse list in the New OperationInput Property
wizard.

b. Select the following behaviors for the property:

Business Modeler IDE PLM00071 11.2 5-59


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Required
Makes the property required for entry in the save as dialog box. The property on the save
as dialog box displays a red asterisk indicating that the user is required to fill it in.

• CopyFromOriginal
Copies the value of the property from the original object.

• Visible
Displays the property in the creation dialog box.

c. In the Description box, type a description of this property.

d. Click Finish.

• Define and add a new Runtime Property from Business Object


Select this option to create a new run-time property. The run-time property is only associated
with the SaveAsInput operation and not with the source business object. This can be used in
cases where certain information required for saving must be specified, but there is no associated
source property for it. An example is when some information required for saving needs to be
specified in the save as dialog box, but there is no associated property for it on the primary
object.
The process for creating a run-time property here is similar to creating a run-time property
using the Add button on the Properties tab.

a. Click Next.

b. In the Name box, type a name for the new run-time property.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. In the Attribute Type box, select the storage type for the attribute, for example, String.
Choose from the following attribute types:

5-60 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Manage business objects for the SaveAsInput operation

• Boolean
Allows two choices to the user (True or False).

• Character
A single character, such as A, B, Z.

• Date
A calendar date. A form using this format displays a shortcut date selector.

Tip:
For the date attribute type, the earliest date supported is January 2, 1900.

• Double
An 8-byte decimal number from the range 1.7E to 308.

• Integer
An integer without decimals from 1 to 999999999.

• String
A string of characters.

• TypedReference
Points to a Teamcenter class.

• UntypedReference
Points to any class of data.

• ExternalReference
Points to data outside of Teamcenter.

e. If the attribute is a string attribute, in the String Length box, type the byte length of the
attribute.
For Western languages, one character requires one byte. For example, a field with a string
length of 128 can accommodate 128 characters of a Western language. However, for
multibyte languages such as Chinese, Japanese, and Korean, one character requires two
bytes. Therefore, a field with a string length of 128 can accommodate only 64 characters.

f. If you selected TypedReference as the attribute type, in the Reference Business Object
box, select the class.

g. In the Description box, type a description of the run-time property.

h. Select the Required check box to make the property required in the end-user interface,
and the Visible check box to make the property visible in the end-user interface.

Business Modeler IDE PLM00071 11.2 5-61


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

i. In the Array Keys section, select the properties that apply:

• Array?
Specifies that the attribute is an array of the data of the data type (for example, string).

• Unlimited
Indicates that there is no limit on the number of array elements used for the attribute.

• MaxLength
Specifies the maximum number of array elements allowed for the attribute.

j. Click Finish.

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

6. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

7. After deployment, test to ensure the property is visible or required when you perform a Save
Asoperation on an instance of the object in the Teamcenter rich client.
For example, if you made a property required for the Save As operation on the Item business
object, when a My Teamcenter user selects an item and chooses File→Save As, the property is
required in the resulting dialog box. Required properties are marked with a red asterisk (*).

5-62 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure file attachment for item creation

Configure file attachment for item creation

When you create items in Teamcenter, the new item wizard displays dialog boxes allowing you to define
aspects of the new item. You can define the dataset types that can be attached to the new item as well
as their default relation.

Tip:
By default, IRDCs allow only one type of dataset to be attached during item creation. If you use
IRDCs and want to enable another dataset type, you must follow this procedure to enable it. First
add the new dataset type on the IRDC Dataset Criteria Info tab of the IRDC. Then perform the
following procedure to enable attachment of the dataset type.

In the following example, by default only the MSWordX file type can be attached to a new document
revision. Follow the example to enable MSWord types to be added also.

1. Open the business object to which you want to enable another dataset type (for example,
DocumentRevision ) and click the OperationDescriptor tab.

Business Modeler IDE PLM00071 11.2 5-63


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

2. Click the Add button and select Add a Property from Business Object. Click Next.

3. Click the Browse button in the Property Name box and select the relationship property you want
to use, for example, IMAN_specification.
Under Usage, select Type and click the Browse button in the CompoundObjectType box to select
the type of dataset you want to attach at creation time, for example, MSWord.
Click Finish.

5-64 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure file attachment for item creation

4. Save and deploy the template.

5. Perform the following steps to verify that the changes work:

a. Choose File→New→Item, select Document in the New Item dialog box, and click Next.

b. Assign the ID and give the document a name. Click Next.

c. Click Next until you get to the DocumentRevision dialog box.

Note:
If this were an IRDC, you may need to select the type of document. For example, if you
use the prefixDocumentRevisionSampleFSIRDC sample, click the arrow in the
Document Subject box and select Functional Specification.

d. Click Next until you get to the Enter Attach Files Information dialog box.

e. Click the Browse and select a file of the type that you enabled, for example, a MSWord
dataset. Notice how it is attached with the specification relationship that you set up.

Business Modeler IDE PLM00071 11.2 5-65


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

f. Click Finish.

g. Verify that the document revision is created successfully and the dataset is attached to the
newly created document revision with the correct relationship.

Business object constants

Introduction to business object constants

Business object constants provide default values to business objects. Because these constants are
attached to business objects, they are inherited and can be overridden in the hierarchy.

You can define a constant to have a specific scope so that it is available only on certain business objects.
This ensures that server API can retrieve the value properly on just those business objects. When you
create a new constant, you must also add the code on the server to return the constant's value to the
caller, so the caller can branch the business logic based on the returned value.

You can create business object constants for a number of situations. Some examples are:

• Set the display name of a Workspace business object or one of its children.

• Set the maximum number of allowed revisions for an item.

• Define the icon to be used for the business object in the user interface.

For example, create a business object constant to show an icon for Microsoft Word datasets. It can be
called IconName and have a scope of MSWord, a data type of String, and a default value of
MSIcon.png. Then a My Teamcenter application developer can link the
MSWord.IconName=MSIcon.png value so that the icon is displayed for Microsoft Word datasets in My
Teamcenter.

5-66 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a business object constant

The server side code can use the following published ITK to retrieve a business object constant value:

int CONSTANTS_get_type_constant_value (
const char* constant_name, /* <I> */
const char* type_name, /* <I> */
char** value /* <OF> */
);

Create a business object constant

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Business Object Constants in
the Wizards box, and click Next.

• Open the Extensions\Constants folders, right-click the Business Object Constants folder, and
choose New Business Object Constants.

The New Business Object Constants wizard runs.

2. Perform the following steps in the Create Business Object Constant dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new constant in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Description box, type an explanation of how the constant is to be used.

d. Click the Add button to the right of the Scope box.


The Define Scope wizard runs.

A. Click the Browse button to the right of the Business Object Scope box to choose the
business object to apply the constant to. Remember that business object constants are
inherited by sub-business objects. A scope of * means that the constant applies to all
business objects.

B. You can keep adding business objects by clicking the Add button to the right of the
Scope box.

C. Click Finish.

e. Click the arrow in the Data Type box to choose one of the following:

• Boolean

Business Modeler IDE PLM00071 11.2 5-67


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Allows two choices to the user (True or False).

• String
Indicates that the value is a text string.

• List
Contains a list of values.

f. If you selected the List data type, a Values table appears. Click the Add button to the right of
the Values table to add values to the list:

A. In the Value box, type a value for the list.

B. Select Secured to prevent the selected value from being overridden by another
template.

C. Click Finish.

g. In the Default Value box, enter the initial value of the constant. Entry differs depending on
the data type you previously chose:

• If you selected the String data type, type in the default value.

• If you selected the Boolean data type, click the arrow to select True or False for the default
value.

• If you selected the List data type, click Browse to select a value from the available ones on
the list.

Note:
If the selected default value is marked as Secured, this value cannot be overridden by
any other template.

h. Use the following check boxes to enable the constant for live updates:

• Allow Live Updates?


Select this box to indicate that the default value of the constant can be changed by a live
update.

• Allow Live Updates to the Constant Override?


Select this box to indicate that if the default value is already overridden, the overridden
value still can be changed by a live update.

i. Click Finish.
The new constant appears under the Business Object Constants folder.

5-68 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Change the value of a business object constant

Note:
You can also see the constant on the business object it is applied to. Right-click the
business object and choose Open. The constant appears in the Business Object
Constants table on the Main tab.
To modify the value of the constant, select the constant on the Business Object
Constants table and click the Edit button.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

5. To verify the constant on the server, run the gettypeconstantvalue utility. This utility tests the
value of the business object constant on a particular business object in the database. The utility
accepts the name of a business object constant and business object, and outputs the value of the
constant if present.

Change the value of a business object constant

Business object constants provide default values to business objects. Because these constants are
attached to business objects, they are inherited and can be overridden in the hierarchy. You can typically
change the value of a business object constant for a business object or any of its children.

1. In the Business Objects folder, right-click the business object and choose Open.
The constant appears in the Business Object Constants table on the Main tab.

2. In the Business Object Constants table, select the constant that you want to change and click the
Edit button.
The Modify Business Object Constant dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-69


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

3. Change the value in the Value box. How you change it depends on the type of value:

• Boolean
Select the check box to the right of the Value label to set the value to true or clear the check
box to set the value to false.

• List
Click the arrow in the Value box to select from a list of available values.

• String
Type a new value in the Value box.

Note:
Valid values are dependent on the business object constant. For valid values, view the
description of the constant. To see the description of the constant, in the Extensions folder,
open the Constants\Business Object Constants folders and select the constant. The
constant details, including a description of the constant, appear in the Business Object
Constant editor.

4. Select the Allow Modification in Custom templates check box to allow the constant
attachment value to be changed by a custom template.

5. Select the Allow Override in Sub-business Objects check box to allow the constant attach
value to be overriddden by child business objects.

6. Click Finish.
The new value for the constant displays in the Value column of the Business Objects Constants
table.

5-70 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Tip:
If you want to set the value back to its previous value, click the Reset button. This reloads the
data model, because all children of a parent business object inherit the parent constants, and
resetting the value on a parent business object also resets the value on all the children.

7. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.
The new constant is saved in the active extension file.

Business object constants reference

Business object constants provide default values to business objects. Because these constants are
attached to business objects, they are inherited and can be overridden in the hierarchy.

To see the constants set for a specific business object and its children, right-click the business object in
the Business Objects folder, choose Open, and view the Business Object Constants table on the Main
tab.

To change the value of business object constant, select the constant in the table, click Edit, and change
the value in the Value box.

Tip:
If you want to set the value back to its previous value, click the Reset button to the right of the
Business Objects Constants table. This reloads the data model, because all children of a parent
business object inherit the parent constants, and resetting the value on a parent business object
also resets the value on all the children.

Following are the available business object constants:

• Adc0AssociateWithChangeNotice
Associates an item revision type with a change notice during creation and revision. The business
objects for which the value of this constant is true are associated to the change notice specified by
the Ads0current_change_notice attribute on the TC_UserContext business object. This constant is
placed on the ItemRevision business object and its children. The default value is false. Select the
Value check box to toggle the value between true and false.
This constant is provided by the adschangemanagement template file.

• AttributesNotCpdFwdIDReviseAlter
Specifies the attributes not to copy forward during revision of alternate identifiers. This constant is
placed on Identifier business objects and their children. This constant is used by the
setIdentifierProperties extension.
In the Value box, type the attributes that you do not want to be copied forward. Separate the
attributes by commas, for example:

Business Modeler IDE PLM00071 11.2 5-71


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

archive_date,archive_info

To verify the change works properly, in the My Teamcenter application in the rich client, select an
alternate ID item and choose File→Revise. Check the revised item to verify that the desired attributes
were not copied forward.
This constant is provided by the foundation template file.

• AttributesNotCpdFwdIDSaveasAlter
Specifies the attributes not to copy forward when performing a save as operation on alternate
identifiers. This constant is placed on Identifier business objects and their children. This constant is
used by the setIdentifierProperties extension.
In the Value box, type the attributes that you do not want to be copied forward when the Save As
operation is run on an alternate ID. Separate the attributes by commas, for example:

archive_date,archive_info

To verify the change works properly, in the My Teamcenter application in the rich client, select an
alternate ID item and choose File→Save As. Check the newly saved item to verify that the desired
attributes were not copied forward.
This constant is provided by the foundation template file.

• AutoAssignOwningOrg
Allows the owning organization for an object to be set automatically when the object is created. The
owning organization is set as the organization corresponding to the login group of the user. This
constant is placed on WorkspaceObject business objects and their children. Select the Value check
box to toggle the value between true and false.
This constant is provided by the adsfoundation template file.

• AutoCopyRel
Finds the latest revision of the related objects when an item revision is revised, and creates a relation
to the new revision. This constant is placed on ItemRevision business objects and their children.
In the Value box, type an entry to set how relations are copied. The format for the constant is a
comma-separated list of string values specifying the relation name (TC_Is_Represented_By), the
related business object name, and the direction to expand the relation (either LookLeft or
LookRight).
For example, to configure the system to automatically relate to the latest revision of a part when a
design is revised for a design revision, set this constant to:

TC_Is_Represented_By,Part Revision,LookLeft

This constant is provided by the foundation template file.

Note:
This constant is now deprecated in favor of the RelateToLatest action on deep copy rules.

• AutoRevise

5-72 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Finds the latest revision of a related object when an item revision is revised, revises it, and creates the
relation to the new revision. This constant is placed on ItemRevision business objects and their
children.
Type an entry in the Value box to set how revisions are made. The format for the constant is a
comma-separated list of string values specifying the relation name (TC_Is_Represented_By), the
related business object name, and the direction to expand the relation (either LookLeft or
LookRight).
For example, to configure the system to automatically revise a mature design when a part is revised
for a part revision, set this constant to:

TC_Is_Represented_By,Design Revision,LookRight

To configure the system to automatically revise a mature part when a design is revised for a design
revision, set this constant to:

TC_Is_Represented_By,Part Revision,LookLeft

If the related latest revision is not mature, the relation is created without revising the other side.
This constant is provided by the foundation template file.

Note:
This constant is now deprecated in favor of the ReviseAndRelateToLatest action on deep copy
rules.

• BaselineCheckNXBVRSync
Enables checks for NX data synchronization when baselining. Set the constant to true to enable the
check. This constant is placed on the ItemRevision business object and its children. The default value
is false. Select the Value check box to change the value between true and false.
This constant is provided by the foundation template file.

• BatchPrintProviderName
Defines the provider name for batch printing. This constant is placed on Item, ItemRevision, and
Dataset business objects and their children. If these business objects are selected for a print
configuration, this constant specifies the name of the provider in the print configuration. The default
value is SIEMENS.
This constant is provided by the foundation template file.

• BatchPrintServiceName
Defines the service name for batch printing. This constant is placed on Item, ItemRevision, and
Dataset business objects and their children. If these business objects are selected for a print
configuration, this constant specifies the name of the service in the print configuration. The default
value is batchprint.
This constant is provided by the foundation template file.

• BidPackageLineItemCustAttrs
Contains the line item custom attributes form to be associated with a bid package line item. When an
end user in the Teamcenter rich client creates a new vendor management bid package, he can add

Business Modeler IDE PLM00071 11.2 5-73


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

line items to the bid. The form holds custom attributes to bid package line items. This constant is
placed on BidPackageLineItem business objects and their children.
Type an entry in the Value box to set the form to use for line item custom attributes. By default, no
value is set for this constant, and no form is assigned.
This constant is provided by the vendormanagement template file.

• Cba0MandatoryFieldsProxyObjects
Holds the list of mandatory fields in a string required to search proxy objects. The attribute names
must be the internal names. Use the : delimiter for AND. This constant is placed on the
CbaPersistentProxy business object and its children.
This constant is provided by the cba template file.

• Ccd0ExportOptions
Specifies a form business object to be used for CCDM data export. This constant is placed on the
Ccd0ParmFile business object and its children. The default value is NULL. Type a value in the Value
box to add a form business object type.
If form business object types are placed in this constant, when an end user will selects a project from
the Software Parameter Management application and chooses Tools→Export→Software
Parameters, the Export File Type Options dialog box shows the values exported from the form type.
This constant is provided by the ccdm template file. This constant is used by Embedded Software
Solutions.

• Ccd0FileTypeExchangeSupported
Specifies the actions that can be taken on a business object for CCDM data import or export. This
constant is placed on the Ccd0ParmFile business object and its children. The default values are
Export, Import, None, and Both. The default value set on the Ccd0ParmFile business object is None.
To select another value, choose it in the Value box on the business object.
This constant is provided by the ccdm template file. This constant is used by Embedded Software
Solutions.

• Ccd0ImportOptions
Specifies a form business object to be used for CCDM data import. This constant is placed on the
Ccd0ParmFile business object and its children. The default value is NULL. Type a value in the Value
box to add a form business object type. This constant is used by Embedded Software Solutions.
If form business object types are placed in this constant, when an end user will selects a project from
the Software Parameter Management application and chooses Tools→Import→Software
Parameters, the Import File Type Options dialog box shows the values exported from the form type.
This constant is provided by the ccdm template file.

• Cfg0DefaultValueType
Specifies the type of option value to be used by family objects in product configurations. This
constant is placed on the Cfg0AbsFamily business object and its children. The default value is empty.
Type a value in the Value box to set the type of option value.
This constant is provided by the cfg0configurator template file.

• Cfg0ThreadType

5-74 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Specifies the type of thread used by objects of instantiable revision types in product configurations.
This constant is placed on the cfg0AbsConfiguratorWSO business object and its children. The default
value is empty. Type a value in the Value box to define the thread.
This constant is provided by the cfg0configurator template file.

• Cls0DelegateForAccessCheck
Delegates Classification objects access checks to either their owning node or their classified objects.
This constant is placed on the Cls business object and its children. The default value is Classified
object.
This constant is provided by the classification template file.

• Cls0ReferenceNodeMasterType
Specifies the subtypes of hierarchy nodes that can be added as a master node to the reference nodes.
Group nodes cannot be set as master nodes because they do not have class attributes. This constant is
placed on the Cls0ReferenceNode business object and its children. The default value is
Cls0MasterNode.
This constant is provided by the classification template file.

• Cm0AnalystAssignableCondition
Specifies the condition to use to determine if the analyst user is assignable. This constant is placed on
the ChangeItemRevision business object and its children. The default value is the
isAnalystAssignable condition, which determines if the analyst user is assignable. Type a value in the
Value box to change the condition to use.
This constant is provided by the cm template file.

• Cm0AuditsItemCreCondition
Specifies the condition used to check the status of the configuration audit before creation of an
Audits Items relation. This constant is placed on the Cm0GnReviewRevision business object and its
children. The default value is the Cm0isCm0AuditsItemCreatable condition, which determines if the
configuration audit is open. Type a value in the Value box to change the condition to use.
This constant is provided by the cm template file.

• Cm0HasContractCreCondition
Specifies the condition used to check the status of the configuration audit before creation of a Has
Contract relation. This constant is placed on the Cm0GnReviewRevision business object and its
children. The default value is the Cm0isCm0HasContractCreatable condition, which determines if
the configuration audit is open. Type a value in the Value box to change the condition to use.
This constant is provided by the cm template file.

• Cm0IncorporatesCreCondition
Specifies the condition used to create a Cm0Incorporates relation on the business object. This
constant is placed on the ChangeItemRevision business object and its children. The default value is
the Cm0isCm0IncorporatesCreatable condition, which determines if the Cm0Incorporates relation
is creatable. Type a value in the Value box to change the condition to use.
This constant is provided by the cm template file.

• Cm0RaisesActionItemsCreCondition

Business Modeler IDE PLM00071 11.2 5-75


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Specifies the condition used to check if the closure status of the configuration audit is open and the
Audits Item relationship is established before creation of the Raises Action Item relation. This
constant is placed on the Cm0GnReviewRevision business object and its children. The default value
is the Cm0isCm0RaisesActionItemsCreatable condition, which determines if the configuration audit
is open. Type a value in the Value box to change the condition to use.
This constant is provided by the cm template file.

• Cm0RequestorAssignableCondition
Specifies the condition to use to determine if the requestor user is assignable. This constant is placed
on the ChangeItemRevision business object and its children. The default value is the
isRequestorAssignable condition, which determines if the requestor user is assignable. Type a value
in the Value box to change the condition to use.
This constant is provided by the cm template file.

• CMHasImpactedItemCreCondition
Specifies the condition used to create a CMHasImpactedItem relation on the business object. This
constant is placed on the ChangeItemRevision and ScheduleTask business objects and their
children. The default value is the isCMHasImpactedItemCreatable condition, which determines if
the CMHasImpactedItem relation is creatable. Type a value in the Value box to change the condition
to use.
This constant is provided by the foundation template file.

• CMHasProblemItemCreCondition
Specifies the condition used to create a CMHasProblemItem relation on the business object. This
constant is placed on the ChangeItemRevision and ScheduleTask business objects and their
children. The default value is the isCMHasProblemItemCreatable condition, which determines if the
CMHasProblemItem relation is creatable. Type a value in the Value box to change the condition to
use.
This constant is provided by the cm template file.

• CMHasSolutionItemCreCondition
Specifies the condition used to create a CMHasSolutionItem relation on the business object. This
constant is placed on the ChangeItemRevision and ScheduleTask business objects and their
children. The default value is the isCMHasSolutionItemCreatable condition, which determines if the
CMHasSolutionItem relation is creatable. Type a value in the Value box to change the condition to
use.
This constant is provided by the cm template file.

• CMHasWorkBreakdownCreCondition
Specifies the condition to use to create a CMHasWorkBreakdown relation on the business object.
This constant is placed on the ChangeItemRevision business object and its children. The default
value is the Cm0isCMHasWorkBreakdownCreatable condition, which determines if the
CMHasWorkBreakdown relation is creatable. Type a value in the Value box to change the condition
to use.
This constant is provided by the cm template file.

• CMImplementsCreCondition

5-76 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Specifies the condition to use to create a CMImplements relation on the business object. This
constant is placed on the ChangeItemRevision business object and its children. The default value is
the isCMImplementsCreatable condition, which determines if the CMImplements relation is
creatable. Type a value in the Value box to change the condition to use.
This constant is provided by the cm template file.

• CMReferencesCreCondition
Specifies the condition used to create a CMReferences relation on the business object. This constant
is placed on the ChangeItemRevision and ScheduleTask business objects and their children. The
default value is the isCMReferencesCreatable condition, which determines if the CMReferences
relation is creatable. Type a value in the Value box to change the condition to use.
This constant is provided by the cm template file.

• CompanyRelationType
Specifies the relation type to be used for relating vendor and company objects. This constant is placed
on the Part business object and its children. The default value is TC_vendor_part_rel.
This constant is provided by the vendormanagement template file.

• Cpd0AllowedDesignItemTypes
Specifies a list of item business objects allowed to be instanced into a collaborative design by a design
element. The default value is empty. If this list is empty, any item business object type is allowed for
the source object. This constant is placed on the Cpd0DesignElement business object and its
children.
This constant is provided by the cpd template file.
This is one of a number of business object constants used to configure 4th Generation Design
(4GD) behavior.

• Cpd0AllowedPartitionSchemeTypes
Specifies allowed partition scheme types. Partition memberships for the design element type can be
created only when the partition type is an allowed partition type for the partition scheme type
specified in the comma-separated list. This constant is only applicable for reuse and subordinate
design element types. If the value of this constant is empty, reuse and subordinate design elements
are unassigned members. This constant is placed on the Cpd0DesignElement business object and its
children. It has no default value. Type in the Value box to add a comma-separated string list of
partition scheme types.
This constant is provided by the cpd template file.
This is one of a number of business object constants used to configure 4th Generation Design
(4GD) behavior.

• Cpd0AttachToItemRevision
Determines whether a mapped form is attached to an item revision when a design feature is copied to
a manufacturing bill of materials (MBOM). This constant is placed on the Cpd0DesignFeature
business object and its children. The default value is true. If the value is set to false, the form is
attached to the item instead of the item revision. Select the Value check box to toggle the value
between true and false.
This constant is provided by the cpd template file.

• Cpd0DefaultBOMViewPreference

Business Modeler IDE PLM00071 11.2 5-77


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Specifies the name of the preference for the default BOM view. Valid preference names are the
PSE_default_view_type or TC_NX_View_Type preference. This constant is placed on the
Cpd0DesignItemInstance business object and its children. The default value is
PSE_default_view_type. Type a value in the Value box to change it to a valid preference.
This constant is provided by the cpd template file.
This is one of a number of business object constants used to configure 4th Generation Design
(4GD) behavior.

• Cpd0DefaultDERevRule
Specifies the default revision rule to use when creating reuse Cpd0DesignElement business objects
in the model. The default value is empty. This constant is placed on the Mdl0ApplicationModel
business object and its children.
This constant is provided by the cpd template file.
This is one of a number of business object constants used to configure 4th Generation Design
(4GD) behavior.

• Cpd0DefaultSubsetRevRule
Specifies the default revision rule to use when creating reuse Cpd0DesignSubsetElement business
objects in the model. The default value is empty. This constant is placed on the Cpd0WorksetModel
business object and its children.
This constant is provided by the cpd template file.
This is one of a number of business object constants used to configure 4th Generation Design
(4GD) behavior.

• Cpd0DeleteControlledObjects
Flags whether or not to delete the objects controlled by the design control element (through control
model relation) when the design control element is being deleted. Controlled objects are deleted
when this is set to true (default). This constant is placed on the Cpd0DesignControlElement business
object and its children. The default value is true. Select the Value check box to toggle the value
between true and false.
This constant is provided by the cpd template file.

• Cpd0FrozenByStatusList
Specifies a list of status names that indicate which statuses should be interpreted as preventing
further change to an item revision or design element. This constant is used by item realization to
assess if a reuse or subordinate design element can be checked in or not. The default value is empty.
If the list is empty, all status values are considered to freeze the object. This constant is placed on the
Cpd0DesignItemInstance business object and its children.
This constant is provided by the cpd template file.
This is one of a number of business object constants used to configure 4th Generation Design
(4GD) behavior.

• Cpd0ItemRlzCarryFwdSourceEffExpr
Specifies the default effectivity carryover option for item realization. This sets the check box for
synchronization effectivity in the item realization dialog box. This value is honored for realization
creation only and not for update. This constant is placed on the Mdl0ApplicationModel business
object and its children. The default value is 2. Type a value in the Value box to change the value.

5-78 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the cpd template file.


This is one of a number of business object constants used to configure 4th Generation Design
(4GD) behavior.

• Cpd0ItemRlzCarryFwdSourceVarExpr
Specifies the default variant carryover option for item realization. This sets the check box for
synchronization variant expressions in the item realization dialog box. This value is honored only for
realization create and not for update. This constant is placed on the Mdl0ApplicationModel business
object and its children. The default value is 2. Type a value in the Value box to change the value.

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the cpd template file.


This is one of a number of business object constants used to configure 4th Generation Design
(4GD) behavior.

• Cpd0ItemTypeForDesignFeature
Maps a design feature business object to an item business object in the BOM line. This constant
is placed on the Cpd0DesignFeature business object and its children. The default value is
PSConnection. To change the value, type the name of another item business object in the Value box.

Business Modeler IDE PLM00071 11.2 5-79


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

This constant is provided by the cpd template file.

• Cpd0ItemTypeToSubordinateDEType
Specifies the subordinate design element type to be created during item realization creation or
update. If a subordinate design element is already created for its corresponding product structure
occurrence in that realization, the design element type is not changed during update. This constant is
placed on the Item business object and its children. There is no default value. To set the value, type a
design element type name in the Value box.
This constant is provided by the cpd template file.
This is one of a number of business object constants used to configure 4th Generation Design
(4GD) behavior.

• CreateInput
Specifies the business object to use for item creation input when an end user in the Teamcenter rich
client or thin client creates a new item. This constant is placed on all business objects. To see the
properties to use for input, open the Operation Descriptor tab on the business object, and in the
Operation box, select CreateInput.
Type an entry in the Value box to set the business object to use for create input. This constant is
provided by the foundation template file.

• Ctm0ContMgmtPublishProviderName
Defines the Dispatcher provider name used for Content Management publishing. The default value
is SIEMENS. This constant is placed on the DC_PublicationRevision and DC_TopicRevision business
objects and their children.
Type an entry in the Value box to change the provider name. The provider name is shown when
generating files using the Dispatcher.
This constant is provided by the contmgmtbase template file.

• Ctm0ContMgmtPublishServiceName
Defines the Dispatcher service name used for Content Management publishing. The default value
is contmgmtpublish. This constant is placed on the DC_PublicationRevision and DC_TopicRevision
business objects and their children.
Type an entry in the Value box to change the provider name. The provider name is shown when
generating files using the Dispatcher.
This constant is provided by the contmgmtbase template file.

• DisplayName
Specifies the name displayed for an object instance. This constant applies to all WorkspaceObject,
RevisionAnchor, and Fnd0AuditLog business objects and their children.
In the Value box, type the properties you want to display using this format: $property +. The default is
$object_name for workspace objects, but additional properties are added depending on the type of
business object. For example, the default value for item revisions is $item_id + "/" +
$item_revision_id + ";" + $sequence_id + "-" + $object_name.
Characters are added to the display name with quotation marks. For example, in the item revision
display name, the "/", ";" and "-" characters are added. These characters aid readability of the displayed
name, for example: 000298/A;1-Bolt. Imagine how difficult it would be to read a display name
without the separators: 000298A1Bolt. However, if the value of an attribute is empty, the preceding

5-80 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

separator character is not displayed. For example, if there is no value for the object_name attribute,
the item revision is displayed without the "-" character: 000298/A;1.
As of Teamcenter 8.1, this constant replaced the mechanism for Display Name that is exposed in
Edit→Options.
This constant is provided by the foundation template file.
Related business object constants are MultiFieldKey and ShowIdenticalItemIdAndName.

• EnableEmptyBits
Enables cells for empty bits in the ParmDefBitDef business object user interface. This constant is
placed on the ParmDefBitDefRevision business object and its children. The default value is true.
Select the Value check box to toggle the value between true and false.
This constant is provided by the ccdm template file.

• Fnd04GDObjectSelectionCriteria
Defines the selection criteria of the 4GD class. If a particular subclass of the POM object has a value,
the object of this subclass is supported as a root object for the Multi-Site Collaboration utilities. This
constant is placed on the POM_object business object and its children. It has no default value. Type a
value in the Value box to add the class to use.
This constant is provided by the foundation template file.

• Fnd0AdminCandidateKey
Administration data candidate keys are IDs assigned to administration data objects to ensure their
uniqueness in the database. Much like multifield keys, administration candidate keys are composed
of a combination of the object properties.
The candidate key constant can be defined only for primary business objects. This constant is placed
on the POM_object business object and its children. The default value is empty.
To create a candidate key ID definition, open any business object that is a child of the POM_Object
business object, select the Fnd0AdminCandidateKey constant in the Business Object Constants
table, and click the Edit button to the right of the table. In the Administration Candidate Key
Wizard, select properties or methods to create a new key definition.
This constant is provided by the foundation template file.

• Fnd0AllowCheckOutOnCreate
Determines if a newly created business object is checked out as soon as it is created. The default value
is false. This constant is placed on the WorkspaceObject business object and its children. Select the
Value check box to change the value between true and false. (An error results during the creation of
an object if this constant is false, and the fnd0checkOutOnCreate property is set to be visible on the
CreateInput operation of the Operation Descriptor tab.)
This constant is provided by the foundation template file.

• Fnd0AllowDigitalSignature
Allows the selected business object to have a digital signature applied. To place a digital signature on
an object, the end user of the rich client selects an instance of the business object and chooses
File→PKI sign. When an object is signed, the signer approves the values of the object properties that
are defined in the Fnd0DigitalSignatureAttributes business object constant.
This constant is placed on the WorkspaceObject business object and its children. The default value is
false. Select the Value check box to change the value between true and false.
This constant is provided by the foundation template file.

Business Modeler IDE PLM00071 11.2 5-81


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Fnd0AllowedTaskLocation
Specifies the valid level at which a schedule task can appear. This constant is placed on the
ScheduleTask business object and its children. The default value is Any. Click the arrow in the Value
box to select from the following available values: Any, TopLevelOnly, NotTopLevel, or
LeafLevelOnly.
This constant is provided by the foundation template file.

• Fnd0AllowReviseOperation
Indicates whether the revise operation is allowed for a given revisable business object type. This
constant does not make that type revisable, it merely indicates to the system that revise is allowed for
a given revisable type. This constant only can be set on revisable types, and it has no effect on
business object types that are not defined as revisable within the system.
The default value is true. Select the Value check box to change the value between true and false.
This constant is set to true on the ItemRevision and Identifer business objects and their children in
the Foundation template, and on the Mdl0ConditionalElement business object in the 4th Generation
Design (4GD) template.
This constant is provided by the foundation template file.

Note:
This business object constant is disabled in Teamcenter 10.1 and will be enabled in a future
version.

• Fnd0ArchiveLocation
Specifies the audit log archive location (for example, c:\archive). System administrators use Audit
Manager to create audit logs that track what information has changed and who has changed the
information.
The value of this business object constant is used by the audit_purge utility, which archives audit logs
in TC XML format. The value of the archive location is obtained from the Fnd0ArchiveLocation
business object constant only if the archive location is not set in the utility by the -archive_location
argument.
This constant is placed on the Fnd0AuditLog business object and its children. The default value is
NULL. Type a value in the Value box to change its value.
This constant is provided by the foundation template file.

• Fnd0AssociatedBOMLine
Registers a BOM line business object against an item type so that each time the item type is opened in
any PS occurrence structure editor, the registered BOM line business object is instantiated. This
constant is placed on the ItemRevision business object and its children.
The business objects available in the constant are the following children of the BOMLine business
object:

ImanItemLine
Fnd0BuildingBlockBOMLine
Fnd0DesignReqBOMLine
Fnd0FunctionalBOMLine
Fnd0LogicalBOMLine
Fnd0ModelReqBOMLine

5-82 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Fnd0RequirementBOMLine
Fnd0ValidationReqBOMLine

The default BOM line business object instantiated is ImanItemLine. To select another of the BOM line
business objects to instantiate, open the ItemRevision business object or one of its children, and in
the Business Object Constants table, select the Fnd0AssociatedBOMLine constant and click the
Edit button to select one of the other available BOM line classes.
This constant is provided by the foundation template file.

• Fnd0AttachCustomNoteToMultiItems
Allows you to attach a custom note item or revision to multiple different items or item revisions,
when its value is set to true. This constant is placed on the Fnd0CustomNote business object and its
children. The default value is true.
Select the Value check box to change the value between true and false.
This constant is provided by the foundation template file.

• Fnd0AuditRecordAccessLevel
Controls the depth of record access checking on the primary and secondary object in an audit record.
This constant is placed on the Fnd0WorkflowAudit business object and its children. The default value
is 1. Click the arrow in the Value box to select from the following available values:

• 1
Checks the workflow audit record based on the read access to the objects referred by the
fnd0Object property (primary object) and the fnd0SecondaryObject property (secondary object).
If the primary and secondary objects are deleted, read access to the audit record is provided to the
administrator user.

• 2
Checks the workflow audit record based on the read access to all attachments for that workflow.
Access to primary object is not evaluated. If any of the secondary objects are deleted, read access is
provided to administrator users only.

This constant is provided by the foundation template file.

• Fnd0CFilterVariantExpressionType
Defines a business object type to use as the expression object in product configurations. This constant
is placed on the POM_object business object and its children. The default value is
Fnd0VariantExpression. Type a value in the Value box to use another business object type.
This constant is provided by the foundation template file.

• Fnd0CheckoutOptions
Contains the name of the closure option set to be used to determine additional objects for revisable
checkout actions. This constant is placed on the WorkspaceObject business object and its children.
There is no default value. To set a value, type a value in the Value box that corresponds to the name
of a closure option set.
This constant is provided by the foundation template file.

• Fnd0DatasetFileExtensionRestrict

Business Modeler IDE PLM00071 11.2 5-83


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Specifies the file extensions that are disallowed when a new named reference is added to the dataset.
This is to protect the system from accepting file types such as executables that commonly carry
viruses and malware. This constant is placed on the Dataset business object and its children. The
default value is exe|com|pif|bat|scr|app|pl|sh|csh|bsh|ksh|dll|so|o|jar|tar|zip|7z. To add more file
extensions, type values in the Value box separated by |.
This constant is provided by the foundation template file.

• Fnd0DatasetFileNameCharRestrict
Specifies the characters that are disallowed when a new named reference is added to the dataset.
This constant is placed on the Dataset business object and its children. The default value is empty. To
add characters, type values in the Value box separated by |, for example, #|&|;|6.
This constant is provided by the foundation template file.

• Fnd0DatasetFileNameMaxLen
Specifies the maximum length of a file name for a new named reference added to the dataset. This
constant is placed on the Dataset business object and its children. The default value is 132. Type a
value in the Value box to change the maximum file name length.
This constant is provided by the foundation template file.

• Fnd0DatasetFileNameMinLen
Specifies the minimum length of a file name for a new named reference added to the dataset. This
constant is placed on the Dataset business object and its children. The default value is 0. Type a
numerical value in the Value box to set a different minimum file name length.
This constant is provided by the foundation template file.

• Fnd0DatasetFileNamePatternRestrict
Specifies the character patterns that are disallowed when a new named reference is added to the
dataset. This constant is placed on the Dataset business object and its children. The default value is
empty. To add patterns, type values in the Value box separated by |, for example, abc*|*a123|
xyz*375.
This constant is provided by the foundation template file.

• Fnd0DefaultViewPrecision
Specifies the precision of the BOM view used by the business object. This constant is placed on the
Item business object and its children.
Click the arrow in the Value box to select one of the following:

• Precise
Specifies a precise BOM view.

• Imprecise
Specifies an imprecise BOM view.

• Based on Site Preference


Specifies that the precision of BOM views is set by the TC_BOM_Precision_Preference preference.

This constant is provided by the foundation template file.

5-84 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

• Fnd0DeferredSaveForCreate
Specifies that when a business object is created, saving the newly created business object is deferred
until all the related business objects are created. Deferred save is currently supported for Item,
ItemRevision, Form, and Dataset business object types. This constant is placed on the POM_object
business object and its children. The default value is false.
This constant is provided by the foundation template file.

• Fnd0DigitalSignatureAttributes
Specifies a list of properties to be approved when a business object instance has a digital signature
applied. To apply a digital signature to the object, the end user of the rich client selects an instance of
the business object and chooses File→PKI sign. (The business object type must have the
Fnd0AllowDigitalSignature business object constant set to true before instances of it can have a
digital signature applied.) When an object is given a digital signature, the signer is officially approving
the values of the object properties. This constant is provided by the foundation template file.
To list the properties to be used for digital signature, type a value in the Value box using this format:

{property1,property2,...propertyN}

For example, if you are creating this constant on the Item business object, and you want to use the
item_id and object_desc properties for the digital signature, type the following in the Value box:

{item_id,object_desc}

Note:
This constant can hold a maximum of 2000 characters to allow for multiple configuration
versions.

When an object has a digital signature applied, the properties set in this constant are generated into a
digital signature message in the following format:

=,puid=Object1UID,property1=value1,property2=value2,propertyN=valueN...,puid=Object2UID,..
.

If you later determine that you want a different set of properties to be used for the digital signature,
you can add those to the definition as a second version within their own brackets, for example:

{item_id,object_desc}{item_id, owning_group,
owning_site,revision_number}

Warning:
Do not remove the previous version of the properties from the constant, because there may
already be objects that have digital signatures applied using that version. Removing the
previous version can invalidate the previously generated signatures.

Following are the properties that cannot be used with this constant:

Business Modeler IDE PLM00071 11.2 5-85


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

acl_bits
active_seq
actual_finish_date
archive_date
archive_info
backup_date
checked_out
checked_out_date
checked_out_user
CMClosure
CMDisposition
CMMaturity
complete_percent
creation_date
date_released
fnd0state
last_mod_date
last_mod_user
last_sync_date
lsd
owning_group
owning_site
owning_user
process_stage
process_stage_list
process_status_list
proj_assign_mod_date
project_ids
project_list
projects_list
release_status_list

• Fnd0DigitalSignatureChildObjects
Contains a list of relation or reference properties used to retrieve child objects for digital signature.
This constant works in conjunction with the Fnd0DigitalSignatureAttributes constant.
Type a value in the Value box to list the properties, for example:

{IMAN_master_form,IMAN_specification}

Similar to the Fnd0DigitalSignatureAttributes constant, this constant supports multiple versions. Its
configuration version must be synchronized with the version of the Fnd0DigitalSignatureAttributes
constant. If there are two versions of properties on the Fnd0DigitalSignatureAttributes constant,
there must be two versions on the Fnd0DigitalSignatureChildObjects constant.
This constant is provided by the foundation template file.

• Fnd0EnableAssignProjects
Enables the Assign to Projects pane in the creation dialog box when end users create objects. A value
of false set by a COTS template can be overridden by a custom template. This constant is placed on

5-86 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

the WorkspaceObjectCreI and WorkspaceObjectSvAI business objects and their children. The
default value is false. To change the value between true and false, select the Value check box.
This constant is provided by the foundation template file.

• Fnd0EnableIceCarryOver
Determines the item types to be considered for incremental change element (ICE) carryover. When
moving, copying, or assigning a BOM line from one location to another, both the source business
object and the target business object must have this constant set to true for the incremental change
elements to be carried forward.
This constant is placed on the Item business object and its children, and the default value is false. On
the MEProcess business object and its children, the default value is true. To change the value
between true and false, select the Value check box.
This constant is provided by the foundation template file.
The Fnd0AttrIcesToExclude property constant determines the attributes that should be excluded
from incremental change element (ICE) carryover.

• Fnd0EnableSubmitToWorkflow
Enables the Submit to Workflow pane in the creation dialog box when end users create objects. A
value of false set by a COTS template can be overridden. This constant is placed on the
WorkspaceObjectCreI and WorkspaceObjectSvAI business objects and their children. The default
value is false. To change the value between true and false, select the Value check box.
This constant is provided by the foundation template file.

• Fnd0EnableUsageOfDialog
Enables the usage of generic creation or save as dialog boxes in the rich client when performing a
creation or save as action on a custom business object. The scope of this constant is the CreateInput
and SaveAsInput business object constants. Set this constant to true to enable the usage of dialog
boxes. A value of false set by a COTS template may not be overridden.

Warning:
If you set the value to false for a business object, it cannot be re-enabled for that business
object or its child business objects by a dependent template.

To set this constant, open the business object for which you want to enable or disable usage of the
dialog boxes, select the Operation Descriptor tab, select the operation descriptor (for example,
CreateInput or SaveAsInput), select the Business Object Constants tab, and change the value on
the Fnd0EnableUsageOfDialog business object constant.

• Fnd0GenerateDSNameWithoutExt
Specifies whether to include the file extension when generating a dataset. When creating an item or
item revision under IRDC control, the source dataset is copied from the DMTemplate template. The
dataset name is generated with the named reference file extension. If this constant is set to true, the
dataset name does not have the file extension. This constant is placed on the ItemRevision business
object and its children. The default value is false. Select the Value check box to change the value
between true and false.
This constant is provided by the foundation template file.

Business Modeler IDE PLM00071 11.2 5-87


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Fnd0Icon
Specifies the icon file used for a business object type. This constant is placed on the
BusinessObject business object and its children. The default value is empty. Click the Browse button
to the right of the Icon box to select the image file.
This constant is provided by the foundation template file.

• Fnd0IdGenerator
Specifies the business object type for which ID generation rules can be created. The default value is
Item.
This constant is provided by the foundation template file.

• Fnd0IncludeMarkupsWithSignedFile
Specifies whether or not to include markups in the digitally signed file. This constant is placed on
the Dataset business object and its children. The default value is DoNotIncludeMarkups. The other
available values are IncludeOfficialMarkups and DoNotIncludeMarkups. Select a value in the Value
box to change the include markups setting.
This constant is provided by the foundation template file.

• Fnd0IsCheckoutable
Specifies whether instances of a particular business object type can be checked out. When this
constant is set to true for a business object type, you can check out instances. (That is, double-
clicking an instance of the business object either checks it out and opens the object instance for
editing, or opens it with a dialog box requiring the end user to click a Check-Out and Edit button to
check out the instance.) This behavior was formerly defined by the TC_UI_ExcludeTypesForCheckout
preference, which is now obsolete.
This constant is placed on the WorkspaceObject business object and its children. The default value is
true. Select the Value check box to change the value between true and false.
This constant is provided by the foundation template file.

• Fnd0MarkupControlObject
Indicates if a workspace object is a markup control object. For example, if a change item business
object is to be used as a markup control object, the change item Fnd0MarkupControlObject business
object constant should be set to true.
This constant is placed on the WorkspaceObject business object and its children. The default value is
false. Select the Value check box to change the value between true and false.
This constant is provided by the foundation template file.

• Fnd0MarkupControlObjRels
Specifies the relations used to navigate to the related Item/ItemRev/Dataset to mark up datasets.
Each relation is separated by a comma. For example, if a change item is a markup control object, and
its Fnd0MarkupControlObjRels business class constant contains the
CMHasImpactedItem,CMHasProblemItem relations, from the control object (change item), the
gathering markup process looks for related items from the two mentioned relations and looks for
related markups.
This constant is placed on the WorkspaceObject business object and its children. The default value is
blank. In the Value box, type the relations separated by commas, for example,
CMHasImpactedItem,CMHasProblemItem.
This constant is provided by the foundation template file.

5-88 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

• Fnd0MasterAttrExMappings
Allows override so the derived business objects and classes can store their own master attribute
mappings. This constant is placed on the Dataset business object and its children. By default, there is
no value set to this constant.
This constant is provided by the foundation template file.

• Fnd0ObjectIDToAudit
Specifies the property that holds the object ID for the business object type. The object ID property is
different for different business object types. For example, on the Item business object type, the value
for this constant is item_id, and on the ADA_License business object type, the value is id, and so on.
When an audit log is written for an instance of the business object, the property in this constant is
used to obtain the object ID for the audit log (and is written to the fnd0ObjectID property on the
AuditLog business object). For custom objects that have their own property for the object ID, change
this constant to the property that holds the object ID so that the ID of the business object is captured
when the audit log is written.
This constant is placed on the POM_object business object and its children. There is no default value.
Type a value in the Value box to assign an object ID.
This constant is provided by the foundation template file.

• Fnd0ObjectNameToAudit
Specifies the property that holds the object name for the business object type. The object name
property is different for different business object types. For example, on the Workspace business
object type, the value for this constant is object_name, and on the User business object type, the
value is user_name, and so on. When an audit log is written for an instance of the business object,
the property in this constant is used to obtain the object name for the audit log (and is written to the
name property on the AuditLog business object). For custom objects that have their own property for
the object name, change this constant to the property that holds the object name so that the name of
the business object is captured when the audit log is written.
This constant is placed on the POM_object business object and its children. There is no default value.
Type a value in the Value box to assign an object name.
This constant is provided by the foundation template file.

• Fnd0ObjectRevIDToAudit
Specifies the property that holds the revision ID for the business object type. The revision ID property
is different for different business object types. For example, on the ItemRevision business object
type, the value for this constant is item_revision_id. When an audit log is written for an instance of
the business object, the property in this constant is used to obtain the object revision ID for the audit
log. For custom objects that have their own property for the revision ID, change this constant to the
property that holds the ID so that the revision ID of the business object is captured when the audit log
is written.
This constant is placed on the POM_object business object and its children. There is no default value.
Type a value in the Value box to assign an object revision ID.
This constant is provided by the foundation template file.

• Fnd0OBJIOSuppportedType
Specifies that legacy object import and export processing is supported if the value is set to true. This
constant is placed on the POM_object business object and its children. The default value is true.
Select the Value check box to toggle the value between true and false.

Business Modeler IDE PLM00071 11.2 5-89


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

This constant is provided by the foundation template file.

• Fnd0ParticipantEligibility
Identifies the group and role criteria for assigning a dynamic participant. This constant is placed on
the Participant business object and its children. The default value is null. Type a value in the Value
box to set the group and role using the format group::role. When a user is assigned to that participant
business object type, the user’s group role is matched against the value defined in this constant. If it
does not match, the user is not be allowed to be assigned to that participant.
This constant is provided by the foundation template file.

• Fnd0PreventTraceLinkDelete
Prevents users from deleting trace links between baselined objects when the primary or secondary
objects of the trace link are released.
This constant is placed on the FND_TraceLink business object and its children. The default value is
Both. To change the value, open the FND_TraceLink business object, and on the Business Object
Constants table, select the Fnd0PreventTraceLinkDelete constant and click the Edit button.
Following are the available values:

• None
Always allows trace link deletion even if any end of the trace link is baselined.

• Both
Prevents trace link deletion and the user receives an error message only if both the ends of trace
link are baselined.

• Primary
Prevents trace link deletion and the user receives an error message if the primary end of trace link
is baselined.

• Secondary
Prevents trace link deletion and the user receives an error message if the secondary end of trace
link is baselined.

This constant is provided by the foundation template file.

Note:
This constant only prevents users from deleting trace links from the released revision and not
from its occurrence. This means that users are still able to delete trace links on occurrences on
the baselined structure.

• Fnd0ReferenceTypeDocx
Defines the dataset Microsoft Word reference type for FullText dataset business objects. This constant
is placed on the FullText business object and its children. The default value is word. Type a value in
the Value box to define the Word reference type. To see all the references for the FullText business
object, open the business object and click the References tab.
This constant is provided by the foundation template file.

5-90 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

• Fnd0ReferenceTypeObject
Defines the dataset object reference type for FullText dataset business objects. This constant is
placed on the FullText business object and its children. The default value is propsync. Type a value in
the Value box to define the Word reference type. To see all the references for the FullText business
object, open the business object and click the References tab.
This constant is provided by the foundation template file.

• Fnd0ReferenceTypeXML
Defines the dataset XML reference type for FullText dataset business objects. This constant is placed
on the FullText business object and its children. The default value is MSWordXPart. Type a value in
the Value box to define the Word reference type. To see all the references for the FullText business
object, open the business object and click the References tab.
This constant is provided by the foundation template file.

• Fnd0RetentionPeriod
Specifies the retention period of audit log archives in days (for example, 90). System administrators
use Audit Manager to create audit logs that track what information has changed and who has
changed the information.
The value of this business object constant is used by the audit_purge utility, which archives audit logs
in TC XML format. The value of the archive retention period is obtained from the
Fnd0RetentionPeriod business object constant only if the archive retention period is not set in the
utility by the -retention_period argument.
This constant is placed on the Fnd0AuditLog business object and its children. The default value is
NULL. Type a value in the Value box to change its value.
This constant is provided by the foundation template file.

• Fnd0RuntimeTraceProperty
Determines whether to calculate the defining object’s property. This constant is placed on business
objects. The default value is false. Select the Value check box to change the value between true and
false.
This constant is provided by the foundation template file.

• Fnd0ShowRelationUIWhenNoAddlAttr
Displays the Properties on Relation dialog box when the value is set to true, even if there are no
visible additional attributes on the relation business object. The default value is false. Select the
Value check box to change the value between true and false.
This constant is provided by the foundation template file.

• Fnd0ShowTimeForDateProperty
Controls whether the time box is displayed when editing a date property. Set to true to add the date
box. The default value is false. Select the Value check box to change the value between true and
false.
This constant is provided by the foundation template file.

• Fnd0UseInstanceAttrExMappings
Specifies an optional persistent property on Dataset business objects. This property is a string array
with a string length limit of 2048 and unlimited array length. This constant is placed on the Dataset

Business Modeler IDE PLM00071 11.2 5-91


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

business object and its children. The default value is true. Select the Value check box to change the
value between true and false.
This constant is provided by the foundation template file.

• Fnd0WhereUsed
Enables the where-used search for the given business object type. This constant is placed on the
WorkspaceObject business object and its children. The default value is false. Select the Value check
box to toggle the value between true and false.
This constant is provided by the foundation template file.

• GMOCOPYDSNAME
Enables the GMO_user_copied_dataset_name extension. This constant is placed on the Dataset
business object and its children. The default value is true. Select the Value check box to toggle
the value between true and false.
This constant is provided by the gmo template file.

• IsMRONeutralType
Specifies whether the business object is considered a neutral item. This constant is placed on Item
business objects and their children. The default value is false.
Select the Value check box to change the value between true and false.
This constant is provided by the mrocore template file.

• ItemRevision
Specifies the revision business object type to use with the corresponding item. This is an
automatically assigned value that cannot be changed. When an end user creates an item, an item
revision of the type specified by this constant is created and attached to the item. This constant is
placed on Item business objects and their children.
This constant is provided by the foundation template file.

• MasterForm
Sets the form to store the properties for the Item and ItemRevision business objects. This is an
automatically assigned value that cannot be changed. This constant is placed on Item and
ItemRevision business objects and their children. Form business objects hold properties for other
business objects. When an end user in the Teamcenter rich client or thin client looks at the properties
of an object, they are looking at the properties stored on a form.
The Value box shows a different value depending on the business object you opened. For example,
for the Item business object, the Value box is set to the Item Master form business object, and for
the ItemRevision business object, the Value box is set to the ItemRevision Master form business
object.
This constant is provided by the foundation template file.

• MaturityStatuses
Sets the workflow status that must be met for an item be considered mature. Typically, when the
development of a revision is complete, it becomes mature, and the system assigns it a status to
denote maturity. By default, the value is set to the TCM Released status on WorkspaceObject
business objects. This constant is placed on WorkspaceObject business objects and their children.

5-92 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

This constant replaces the item-revision-business-objects_Maturity_Level preferences. If you


previously used custom preferences that fit this pattern, you must now migrate the preferences to
business objects.
Type an entry in the Value box to set the status to use for maturity. By default the Value box is set to
the TCM Released status. If you want to use another status for maturity, type it in the Value box.
Only valid statuses can be used.
This constant is provided by the foundation template file.

• MaxAllowedWorkRevsForItemCopyRev
Sets the number of working revisions that can be made of an item revision. This constant is placed on
ItemRevision business objects and their children. This constant is used by the checkLatestReleased
extension when it is attached to the ITEM_copy_rev operation as a precondition on ItemRevision
business objects.
In the Value box, type the number of revisions allowed for the item revision, for example, 3. By
default, the value of the constant is -1, meaning that there is no limit on the number of revisions that
can be made of the item revision. This value cannot be 0.
To verify the change works properly, in the My Teamcenter application in the rich client, select an
item revision and choose File→Revise. Ensure that you can only revise the item revision the number
set by the constant. For example, if the value of the constant is 3, make sure you can only revise the
item revision three times.
This constant is provided by the foundation template file.

• MaxAllowedWorkRevsForItemCreate
Sets the number of working revisions that can be made of an item revision. This constant is used by
the checkLatestReleased extension. This constant is applicable only to items created through code. It
does not control the number of revisions on items created from the Teamcenter user interface. This
constant is placed on the ItemRevision business object and its children.
In the Value box, type the number of revisions allowed for the item revision, for example, 3. By
default, the value of the constant is -1, meaning that there is no limit on the number of revisions that
can be made of the item revision. This value cannot be 0.
This constant is provided by the foundation template file.

• MaxAllowedWorkRevsItemCpRevExist
Sets the number of working item revisions that are allowed when you use the Save As operation to
copy another item revision to the original item. This constant is placed on ItemRevision business
objects and their children. This constant is used by the checkLatestReleased extension when it is
attached to the ITEM_create_rev_to_existing operation as a precondition on ItemRevision business
objects. This functionality works when the Allow_copy_as_Revision preference is set to true.
Before you can use this constant, set the Allow_copy_as_Revision preference to true. In the rich
client, choose Edit→Options, select Search at the bottom of the Options dialog box, locate the
Allow_copy_as_Revision preference and set it to true.
By default, the value of the constant is -1, meaning there is no limit on the number of revisions under
an item. In the Value box, type the number of item revisions allowed for the item revision, for
example, 3. This value cannot be 0.
To verify the change works properly, in the My Teamcenter application in the rich client, select an
item revision you want to copy under another item, choose File→Save As, and in the Save As dialog
box, in the Item ID box, type the ID of the item you want to copy to, and in the Revision ID box, type
the revision you want to assign (for example, B).

Business Modeler IDE PLM00071 11.2 5-93


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Repeat this for as many times as you set the value of the constant. For example, if you set the
constant as 3, ensure that you can only copy the item three times.
This constant is provided by the foundation template file.

• Mdl0AllowedContentTypes
Contains a list of the allowed content business object types for 4GD. This constant is placed on the
POM_object business object and its children. The default value is
Mdl0ModelElement,Mdl0ModelArtifact.
This constant is provided by the appmodel template file.

• Mdl0ClosureInitialValue
Specifies the initial closure value for new baseline revisions. This constant is placed on the
Mdl0BaselineRevision business object and its children. The default value is Open. Type a value in the
Value box to change the closure value.
This constant is provided by the appmodel template file.

• Mdl0M2MCarryFwdSourceEffExpr
Specifies the default effectivity carryover options for a model-to-model clone. Based on these values,
the carryover option can be enabled or disabled. This constant is placed on the
Mdl0ApplicationModel business object and its children. The default value is 0. Type a value in the
Value box to change the option.
This constant is provided by the appmodel template file.

• Mdl0M2MCarryFwdSourceVariantExpr
Specifies the default variant carryover options for a model-to-model clone. Based on these values the
carryover option can be enabled or disabled. This constant is placed on the Mdl0ApplicationModel
business object and its children. The default value is 0. Type a value in the Value box to change the
option.
This constant is provided by the appmodel template file.

• Mdl0M2MCopyReuseAndAllSubordinates
Automatically copies the corresponding list of subordinates when reusing a design model element.
This constant is placed on the Mdl0ApplicationModel business object and its children. The default
value is true. Select the Value check box to toggle the value between true and false.
This constant is provided by the appmodel template file.

• Mdl0M2MTOS
Specifies the name of the transfer option set to be used to scope the model content for the clone,
instantiation, and realization model-to-model operations. This constant is placed on the
Mdl0ApplicationModel business object and its children. The default value is empty. Type a transfer
option set name in the Value box.
This constant is provided by the appmodel template file.

• Mdl0M2MValidSource
Specifies whether or not the business object can be a source for model-to-model clone, instantiation,
or realization. This constant is placed on the Mdl0ApplicationModel business object and its children.
The default value is true. Select the Value check box to toggle the value between true and false.

5-94 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

This constant is provided by the appmodel template file.

• Mdl0NotFrozenByStatusList
Lists release statuses for which further changes to an item revision or design element are permitted.
The default value is empty. If the constant has no value, it indicates that any status is considered to
freeze the object. Type a comma-separated list of release statuses in the Value box to provide the
statuses. This constant is placed on the Mdl0ApplicationModel business object and its children.
This constant is provided by the appmodel template file.

• Mdl0PromoteToHistoryTOS
Defines the transfer option set used to promote an Mdl0ApplicationModel object to history. This
constant is placed on the Mdl0ApplicationModel business object and its children. The default value
is mdl0PromoteToHistoryTransferOptionSet. Type a value in the Value box to change to a different
transfer option set.
This constant is provided by the appmodel template file.

• Mem0ValidMemoryBlockTypes
Specifies the valid subclass for creation of a memory block. This constant is placed on the
Mem0MemoryBlock business object and its children. The default value is Ccd0ParmMemBlock.
This constant is provided by the ccdm template file.

• Mem0ValidMemoryLayoutRevTypes
Specifies the valid subclass for creation of a Mem0MemoryLayoutRevision business object for
memory blocks. This constant is placed on the Mem0MemoryLayoutRevision business object and
its children. The default value is Ccd0MemoryLayoutRevision.
This constant is provided by the ccdm template file.

• Mem0ValidMemoryRecordTypes
Specifies the valid subclass for creation of Mem0MemoryRecord business object. This constant is
placed on the Mem0MemoryRecord business object and its children. The default value is
Ccd0ParmMemRecord.
This constant is provided by the cmtmes template file.

• Mes0LOVBusinessObjectName
Defines the name of the list of values (LOV) business object that is associated with this data
collection definition (DCD) class. Classes that extend this class can override this value to associate
the DCD with a specific LOV. This constant is placed on the Mes0MELOVDCDForm business object
and its children.
This constant is provided by the cmtmes template file.

• Mfg0OperationLD
Specifies the type of form to be used to represent the logical designator of an operation in Enterprise
BOP. The constant applies to the MEOP business object and its children. The default value is
MELDDefaultForm. If empty, logical designators are not created for operations. To change the value,
in the Value box, type the name of the form business object to use (must be a child of the
MELDBaseForm business object).
This constant is provided by the foundation template file.

Business Modeler IDE PLM00071 11.2 5-95


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Mfg0ProcessLD
Specifies the type of form to be used to represent the logical designator of a process in Enterprise
BOP. The constant applies to the MEProcess business object. The default value is MELDDefaultForm.
If empty, logical designators are not created for processes. To change the value, in the Value box, type
the name of the form business object to use (must be a child of the MELDBaseForm business object).
This constant is provided by the foundation template file.

• Mfg0ProcessPartitionLD
Specifies the type of form to be used to represent the logical designator of a process partition in
Enterprise BOP. The constant applies to the MEProcessPartition business object. The default value is
MELDDefaultForm. If empty, logical designators are not created for process partitions. To change the
value, in the Value box, type the name of the form business object to use (must be a child of the
MELDBaseForm business object).
This constant is provided by the foundation template file.

• Mfg0RelationsToOpen
Defines the business object type that is used to establish the relationship when opening collaboration
contexts in Manufacturing Process Planner. This constant is placed on the CCObject business object
and its children. The default value is IMAN_CCContext. To change the value, type the name of a
relation business object in the Value box. The business object type must be a child of the
ImanRelation business object.
This constant is provided by the foundation template file.

• Mfg0TimeSysCategoryInitVal
Sets the initial value of the time_system_category property on the MEActivity business object. This
constant is placed on the MEActivity business object and its children. The default value is NA. To
change the value, type a new value in the Value box.
This constant is provided by the foundation template file.

• Mim0NonConformanceWorkflow
Defines the name of the workflow to be initiated when a new shop floor issue is created. This
constant is placed on the Mim0ShopFlrIssueRevision business object and its children. The default
value is issue lifecycle. Type a value in the Value box to use a different workflow.
This constant is provided by the mesissuemgmt template file.

• MultiFieldKey
Defines the unique key ID of a Teamcenter object using properties.
Multifield keys are IDs assigned to each object to ensure their uniqueness in the database. The
multifield key is composed of a combination of the object’s properties. Prior to Teamcenter 10, the
value of the item_id property was assumed to be an object’s ID. Now administrators use the
MultiFieldKey business object constant to assign the key definitions to different business object
types. When the template is installed to the server, all the instances of those business object types get
that key definition. (The key is not visible to the end user but identifies the object in the database.)
To create a key ID definition, open any business object that is a child of the POM_Object business
object, select the MultiFieldKey constant in the Business Object Constants table, and click the Edit
button to the right of the table. In the New Multi Field Key dialog box, select properties in the
Available Properties list to create a new key definition, or select Select Existing Key to choose from
a list of key definitions already deployed to the database.

5-96 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

This constant is provided by the foundation template file.


Related business object constants are DisplayName and ShowIdenticalItemIdAndName.

• ObjectUnloadable
As objects are created and used, they are loaded into the POM cache and the object cache. To
conserve memory, objects are automatically unloaded on a regular basis. This constant specifies if an
object is excluded from automatic unloading. All objects that have this business constant set to true
are not unloaded for the entire session. This constant is placed on POM_object business objects and
their children.
The default value is true. The value of this constant is automatically assigned and cannot be changed.
This constant is provided by the foundation template file.

• ParticipantAllowMultipleAssignee
Specifies whether multiple assignee participants are allowed in a workflow task. This constant is
placed on Participant business objects and their children. By default, the value is set to true.
Select the Value check box to toggle the value between true and false. For example, for the
ProposedResponsibleParty business object, the value for the constant is false, meaning that only
one instance of the participant can be associated with an object. For the ProposedReviewer business
object, the value is true, meaning that multiple instances of the participant can be associated with an
object.
This constant is provided by the foundation template file.

• ParticipantHandlerKeyword
Specifies the business object being used by a workflow participant handler. For example, the
CHANGE_ADMIN1 keyword represents the ChangeAdmin1 business object. This constant is placed
on ParticipantHandlerKeyword business objects and their children.
Type a value in the Value box to represent the business object that this constant is placed on. For
example, if you open the MyParticipant business object, you may want to set the value on this
constant as MY_PARTICIPANT. This keyword is passed to a workflow handler for processing.
This constant is provided by the foundation template file.

• ParticipantUsedOnObjectTypes
Used in workflow processing to provide the list of item revision business objects the participant can
be specified on. The value for the constant is a comma-separated list of allowable item revision
business objects. Participants in workflows are the individuals to whom work is routed and are
represented in the data model by the Participant business object and its children. This constant is
placed on Participant business objects and their children.
Type an entry in the Value box to set the kind of item revision business object to be used. Only valid
item revision business objects can be used. (You can enter a comma-separated list of item revision
business object types). This value is passed to a workflow handler for processing.
For example, for the ProposedReponsibleParty business object, the value of the constant is
ItemRevision, meaning that the participant is specified in ItemRevision business objects and its
children.
This constant is provided by the foundation template file.

• PhysicalPartTypeForCreate

Business Modeler IDE PLM00071 11.2 5-97


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Represents the physical representation for the neutral design Item. The default value for this constant
is PhysicalPart. Type an entry in the Value box to set the kind of business object to be used. Only
valid business objects can be used.
This constant is provided by the mrocore template file.

• Ptn0AttchDataCloneDefaultOption
Sets the default for copying the attached partition data from the source model to the target model
during cloning. This constant is placed on the Ptn0PartitionScheme business object and its children.
The default value is false. Select the Value check box to toggle the value between true and false.
This constant is provided by the partition template file.

• Ptn0AttchDataRlzDefaultOption
Sets the default for copying the attached partition data from source model to target model during
realization. This constant is placed on the Ptn0PartitionScheme business object and its children. The
default value is false. Select the Value check box to toggle the value between true and false.
This constant is provided by the partition template file.

• Ptn0AttrGrpsCloneDefaultOption
Sets the default value for displaying the Copy attribute group(s) option during the clone operation.
This constant is placed on the Mdl0ApplicationModel business object and its children. The default
value is 2. Type a value in the Value box to change the value.

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the partition template file.

• Ptn0AttrGrpsRlzDefaultOption
Sets the default value for displaying the Copy attribute group(s) option during realization. This
constant is placed on the Ptn0PartitionTemplateModel business object and its children. The default
value is 2. Type a value in the Value box to change the value.

5-98 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the partition template file.

• Ptn0COOnCreateCloneDefaultOption
Sets the default value for displaying the Check-out On Create option during the clone operation. This
constant is placed on the Mdl0ApplicationModel business object and its children. The default value
is 2. Type a value in the Value box to change the value.

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the partition template file.

• Ptn0CpyRlzRefsCloneDefaultOption
Controls whether to show the Copy Realization References option during the clone operation. This
constant is placed on the Mdl0ApplicationModel business object and its children. The default value
is 2. Type a value in the Value box to change the value.

Business Modeler IDE PLM00071 11.2 5-99


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the partition template file.

• Ptn0ExcLocPtnCloneDefaultOption
Controls whether to show the Exclude Local Partitions option during the clone operation. This
constant is placed on the Mdl0ApplicationModel business object and its children. The default value
is 0. Type a value in the Value box to change the value.

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the partition template file.

• Ptn0GenerateNewPartitionID
Defines if new partition IDs must be generated automatically for cloned and realized partitions in the
scheme. This constant is placed on the Ptn0PartitionScheme business object and its children. The
default value is false. Select the Value check box to toggle the value between true and false.
This constant is provided by the partition template file.

• Ptn0InclChildCloneDefaultOption

5-100 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Sets the include child option during cloning. This constant is placed on the Mdl0ApplicationModel
business object and its children. The default value is 2. Type a value in the Value box to change the
value.

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the partition template file.

• Ptn0IncludeChildRlzDefaultOption
Sets the default value for the display of the Include Child Partitions check box during realization.
This constant is placed on the Ptn0PartitionTemplateModel business object and its children. The
default value is 2. Type a value in the Value box to change the value.

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the partition template file.

• Ptn0IsOwningMemberships
Specifies the membership life cycle mode for supported partition business object types. This constant
is placed on the Ptn0Partition business object and its children. The default value is false. The false
value means that membership objects are owned by members. The true value means that

Business Modeler IDE PLM00071 11.2 5-101


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

membership objects are owned by the partition. Select the Value check box to toggle the value
between true and false.
This constant is provided by the partition template file.
The value of this constant depends on the business object it is placed on, as shown in the following
table.

Children of Ptn0Partition Value of Ptn0IsOwningMemberships constant

Ptn0Design false

Ptn0Functional false

Ptn0Mgf true

Ptn0Partition false

Ptn0System false

Ptn0Zone true

• Ptn0IsStatic
Specifies the content persistence mode for supported partition business object types. This constant is
placed on the Ptn0Partition business object and its children. The default value is false. The false
value means that members are determined by the partition’s recipe. The true value means that
members are defined by persistent membership objects. Select the Value check box to toggle the
value between true and false.
This constant is provided by the partition template file.
The value of this constant depends on the business object it is placed on, as shown in the following
table.

Children of Ptn0Partition Value of Ptn0IsStatic constant

Ptn0Design true

Ptn0Functional true

Ptn0Mgf true

Ptn0Partition false

5-102 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Children of Ptn0Partition Value of Ptn0IsStatic constant

Ptn0System true

Ptn0Zone false

• Ptn0NonUpdatableAttrGrpsFrmSrc
Defines the types of attribute groups that can be locally modified and not updatable during the
update from template action. This constant is placed on the Ptn0PartitionScheme business object
and its children. There is no default value.
This constant is provided by the partition template file.

• Ptn0PrimaryPartitionScheme
Indicates the default value of the partition scheme type that is created with the application model.
This constant is placed on the Mdl0ApplicationModel business object and its children. There is no
default value.
This constant is provided by the partition template file.

• Ptn0RolldownPropertiesToChildren
Represents properties of a partition that must be rolled down to child partitions. This constant is
placed on the Ptn0PartitionScheme business object and its children. There is no default value. In the
Value box, type properties separated by commas.
This constant is provided by the partition template file.

• Ptn0SchemeAllowedTypes
Lists the partition types for the partition scheme. This constant is placed on the
Ptn0PartitionScheme business object and its children.
This constant is provided by the partition template file.

• Ptn0VariantExpCloneDefaultOption
Sets the default value for display of the Apply Variant data option during the clone operation. This
constant is placed on the Mdl0ApplicationModel business object and its children. The default value
is 2. Type a value in the Value box to change the value.

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

Business Modeler IDE PLM00071 11.2 5-103


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Value Resolves to

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the partition template file.

• Ptn0VariantExprsRlzDefaultOption
Sets the default value for display of the Apply Variant data option during realization. This constant is
placed on the Ptn0PartitionTemplateModel business object and its children. The default value is 2.
Type a value in the Value box to change the value.

Value Resolves to

0 Invisible and not selected

1 Invisible and selected

2 Visible and not selected

3 Visible and selected

4 Visible and selected and disabled

This constant is provided by the partition template file.

• RenderProviderName
Sets the translation service provider name used when item revisions are translated based on the item
revision definition configuration (IRDC) setting. This constant is placed on ItemRevision business
objects and their children. Type an entry in the Value box for the provider name. The default value is
SIEMENS.
This constant is provided by the foundation template file.

• RenderTSServiceName
Sets the translation service name used to translate item revisions based on the item revision
definition configuration (IRDC) setting. This constant is placed on ItemRevision business objects
and their children. Type an entry in the Value box to set the translation service name. The default
value is RenderMgtTranslator.
This constant is provided by the foundation template file.

• ReviseInput

5-104 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Specifies the business object to use for revision creation when an end user in the Teamcenter rich
client or thin client creates a new item. This constant is placed on all business objects.
This constant is provided by the foundation template file.

• Rlz0CarryfwdEndItemEffectivity
Determines whether to optionally carry forward end item effectivity subexpression (if any) along with
rest of the expression from source object during item realization in 4GD. This constant is placed on
the Mdl0ApplicationModel business object and its children. The default value is false. Select the
Value check box to toggle the value between true and false.

• Rlz0InstantiationPropertySet
Specifies the property set name that has to be used by the update instantiation operation. This
constant is placed on the Mdl0ApplicationModel business object and its children. The default value
is RLZ0M2MInstantiationComparePS. Type a value in the Value box to to change to another
property set name.
This constant is provided by the realization template file.

• Rlz0RealizationAttrMapping
Specifies how attributes of the BOMLine business object are mapped to attributes of a design
element for realization in 4GD. This constant is placed on the BOMLine business object and its
children. There is no default value. Type the value in this format:

BOMLine_property:relation_type::DesignElement_target_type:target_property;

For example:

AIE_OCC_ID:Mdl0AttachAttrGroup::Cpd0AGAttrMapping:intAttr;
AIE_OCC_NAME:Mdl0AttachAttrGroup::Cpd0MAGAttrMapping:stringAttr;
UG_NAME:Cpd0DesignElement:object_name

The value specifies:

• The AIE_OCC_ID property of the BOMLine business is mapped to the intAttr property of the
Cpd0AGAttrMapping business object with the Mdl0AttachAttrGroup relationship.

• The AIE_OCC_NAME of the BOMLine business object is mapped to the StringAttr property of the
Cpd0MagAttrMapping business object with the Mdl0AttachAttrGroup relation.

• The UG_NAME property of the BOMLine business object is mapped to the object_name property
of the Cpd0DesignElement business object.

This constant is provided by the realization template file.

• Rlz0RealizationPropertySet
Specifies the property set name that has to be used by the update realization operation. This constant
is placed on the Mdl0ApplicationModel business object and its children. The default value is
RLZ0M2MRealizationComparePS. Type a value in the Value box to change to another property set
name.

Business Modeler IDE PLM00071 11.2 5-105


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

This constant is provided by the realization template file.

• Rlz0RealizeRemoteObjects
Determines whether to allow remote objects (stubs) from a source assembly to be copied into the
target model during realization in 4GD. This constant is placed on the Mdl0ApplicationModel
business object and its children. The default value is false. Select the Value check box to toggle the
value between true and false.
This constant is provided by the realization template file.

• SaveAsInput
Stores the Save As object input for every business object type. This constant is placed on all business
objects. This constant is used in deep copy rules.
The association between a business object and its corresponding SaveAsInput type definition is
through this constant. For example, the value of the constant attached to the Item business object is
ItemSaveAsI. The property definitions required for SaveAs are defined in the ItemSaveAsI value.
This constant is provided by the foundation template file.

• ShowIdenticalItemIdAndName
Determines whether both the item ID and name are displayed when they are identical for an item.
The default display name for item business objects is item_id+object_name. If the values of these
two properties are identical, and this business object constant is set to false (default), object_name
is dropped from the displayed string. When set to true, both identical values are shown. Select the
Value check box to toggle the value between true and false.
This constant is provided by the foundation template file.
Related business object constants are DisplayName and MultiFieldKey.

• SRP0ActDiscrepancyCreCondition
Determines which condition to evaluate when creating a service discrepancy for a requested activity.
This constant is placed on the SRP0RqstActivityRevision business object and its children. The default
value is SRP0IsActivityDiscrepancyCreatable.
This constant is provided by the servicerequest template file.

• SRP0DelgatesToCreCondition
Determines which condition to evaluate when delegating a service request. This constant is placed
on the SRP0PrSrvRequestRevision business object and its children. The default value is
SRP0IsDelegatesToCreatable.
This constant is provided by the servicerequest template file.

• SRP0IncludesActivityCreCondition
Determines which condition to evaluate when creating the SRP0IncludesActivity relation between a
requested activity and a primary service request. This constant is placed on the
SRP0PrSrvRequestRevision business object and its children. The default value is
SRP0IsIncludesActivityCreatable.
This constant is provided by the servicerequest template file.

• SRP0MROProductCreCondition

5-106 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business object constants reference

Determines which condition to evaluate when creating the SRP0MROProduct relation between the
product physical part and a service request. This constant is placed on the SRP0SrvRequestRevision
business object and its children. The default value is SRP0IsMROProductCreatable.
This constant is provided by the servicerequest template file.

• SRP0PerformsCreCondition
Determines which condition to evaluate when creating the SRP0Performs relation between a
requested activity and a service request. This constant is placed on the SRP0SrvRequestRevision
business object and its children. The default value is SRP0IsPerformsCreatable.
This constant is provided by the servicerequest template file.

• SRP0SupervisorAssignableCond
Determines which condition to evaluate when assigning a supervisor for Service Request Manager.
This constant is placed on the SRP0GnSrvRequestRevision business object and its children. The
default value is SRP0IsSupervisorAssignable.
This constant is provided by the servicerequest template file.

• TimeAnalysisForm
Sets the time analysis form for the corresponding operation or process. This constant is placed on
MEOP and MEProcess business objects and their children. By default, the value is set to true. Select
the Value check box to toggle the value between true and false.
This constant is provided by the foundation template file.

• TypeFindNumberValidation
Configures the find number validation for item business objects and their children. It has three
settings:

• Enabled
Sets a unique find number.

• Disabled
Does not set a unique find number.

• BasedOnSitePreference
Sets a unique find number based on the PS_Find_Number_Validation preference.

The default is BasedOnSitePreference. To change the value, click the arrow in the Value box.
This constant is provided by the foundation template file.

• ValidateReUseInGroups
Checks if the ParmDef business objects are carried forward when adding a parameter definition.
This constant is placed on the ParmGrpDef business object and its children. The default value is true.
This constant is provided by the ccdm template file.

Business Modeler IDE PLM00071 11.2 5-107


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Change the name of custom business objects

Rename a business object

You can rename a custom business object by right-clicking it in the Business Objects folder and
choosing Rename. After you rename the business object, run the change_type_name utility to change
the name of the business object in the database.

The Rename menu is not enabled on custom ItemRevision business objects because changing the
custom Item business object also changes the custom ItemRevision and master forms associated with
it.

Note:

Before you upgrade to the most recent version of Teamcenter, you can use the Type Analysis Tool
to analyze the database to ensure there are no name collisions between your custom business
objects and COTS business objects in the new version of Teamcenter. If you find any custom
business object naming conflicts, you can use this Rename menu command to change the name
of custom business objects. You can obtain the Type Analysis Tool from GTAC by searching for
TypeAnalysisTool in the Miscellaneous Files search box at the following URL. You must have a
WebKey account to access this page.

https://download.industrysoftware.automation.siemens.com/

Warning:
Before renaming business objects, read all the documentation for changing the name of custom
business objects. You can damage your database if you do not perform all the manual steps in
the documentation.

1. In the Business Objects folder, right-click the custom business object you want to rename and
choose Rename.
The Rename Object wizard runs.

2. Click Next.

3. In the New Name box, type the new name for the business object in the database.
When you name a new data model object, a prefix from the template is automatically affixed to
the name to designate the object as belonging to your organization, for example, A4_.

4. In the Associated Objects box, type the new name for each associated business object (for
example, part revision, part master, and so on). Use the same naming prefix you used for the main
business object.

5. Click Finish.

5-108 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Type name collisions

The renamed business object displays in the Business Objects folder. (There is no need to live
update.)

6. Run the change_type_name utility to change the name of the business object in the database.
For example, to run the utility in dry run mode, enter the following command on a single line:

change_type_name -u=username -p=password -g=dba


-old_type=oldItem -new_type=newItem -dry

This runs the utility in dry run mode to estimate of how much data would be altered if the old
business object is renamed.

Type name collisions

You can extend the Teamcenter architecture with your own custom classes and types. Each of these
names must be unique to the system. Typically, when you create a new class or type, you are using the
user interface that validates that the new name is unique. However, it only validates the new name
against all known classes or types installed in the system at that time. It does not validate the new name
against future classes and types that are to be added by Teamcenter product development. When future
classes and types are added with the same names as the custom classes and types, a collision occurs.
However, the Teamcenter data model requires every class and business object type to be uniquely
named.

The Type Analysis Tool is a stand-alone tool that can inspect a Teamcenter database and search for
business object (type) name collisions. A type name collision is an issue that blocks a Teamcenter
database from being upgraded to a later patch level or version. If a Teamcenter database is operated
with a type name collision, data corruption may result. Therefore, if a Teamcenter database has a type
collision, the upgrade must be prevented until the collision can be fixed.

To determine if you have a type collision, use the TypeAnalysisTool program. You can obtain the
TypeAnalysisTool program from GTAC by searching for TypeAnalysisTool in the Miscellaneous Files
search box at the following URL. You must have a WebKey account to access this page.

https://download.industrysoftware.automation.siemens.com/

Once the type collisions have been identified, you can use the change_type_name utility to rename the
colliding types.

In addition to the type name change, there may also be data referencing the type. For example, there
probably are instances of the type and business rules, list of values, extension points, closure rules,
saved queries, and so on, that use the type. Perform additional steps to make changes for these
instances.

When to run the change_type_name utility

Before you upgrade your Teamcenter database, run the TypeAnalysisTool program (available on GTAC)
to detect any business object (type) conflicts. If any name collisions have been identified, run the

Business Modeler IDE PLM00071 11.2 5-109


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

change_type_name utility to fix the collisions before beginning the upgrade process. If this is not done,
the upgrade may fail.

To identify whether there are any type name collisions, run the TypeAnalysisTool program. If no
conflicts are found, there is no need to run the change_type_name utility. If, however, some name
clashes are identified, you perform the following steps for each name clash identified:

1. Review the steps in Run the change_type_name utility.

2. Run the change_type_name utility in dry run mode by specifying the -dry command line option.
The log file lists all objects that would be modified and the approximate time it would take to
complete.

3. Run the change_type_name utility to update the type and associated data.

4. Perform the manual steps to be made after running the utility as described in Run the
change_type_name utility.

5. Rerun the utility in dry run mode. You should see from the log file that there no remaining objects
to be modified.

6. Verify that you can successfully log on to Teamcenter.

Note:
Run the change_type_name utility for each conflicting type that is determined by the
TypeAnalysisTool program. If a problem exists in a particular area of functionality after running
the utility, rerun the utility to change the type information on any objects that may have been
missed.

Objects changed by the change_type_name utility

The change_type_name utility changes the following types of data:

Type name
Class name for a primary type
Type name on workspace objects such as items and datasets.
Property rules
Compound properties
Naming rule attachments
Deep copy rules
Business Modeler operations
Extensions
Constants and their attachments
Lists of values
AM rules
Workflow handlers

5-110 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Tasks to perform before running the change_type_name utility

Saved queries
Property finder formatter used for reports
Multi-Site objects (stubs and import/export records)
Mapped properties
Filters
Closure rules

The utility does not change the following data that uses the type name:

Preferences
Data residing outside the database like text server files, rich client property files, and so on
Custom code using the old type
Dataset description files (.des) in the TC_DATA\gs_info directory.

Tasks to perform before running the change_type_name utility

There are a number of tasks that must be performed before you run the change_type_name utility to
ensure integrity of your data. Review these steps carefully and perform them in order.

1. Back up your database. The utility makes changes directly to the database tables, and making a
backup ensures that you can restore the database should problems arise.

2. Ensure that database statistics are up-to-date if you are running Oracle.

3. Add indexes. The utility may need to make changes to POM_stub objects. The table for this class
can be very large, so you should add two indexes to improve performance. Run the following
commands:

install -add_index infodba infodba dba pippom_stub_type 0 POM_stub object_type

install -add_index infodba infodba dba pippom_stub_class 0 POM_stub object_class

These commands can take a long time to run depending on the size of your database. Allow
enough time to create these indexes before you run the utility. These operations may also consume
database resources such as temporary tablespaces. Ensure that your database is correctly
configured to allow the creation of indexes on a large table.

4. Schedule a time to run the utility and to make the required changes. The utility requires exclusive
access to the database to prevent data corruption from occurring. Scalability tests have shown that
the utility can modify between 2,000 and 4,000 instances per second depending on database size
and hardware resources. To modify a large number of instances, allocate enough time for the
operation to complete.

5. Ensure that the UNDO tablespace is either sized appropriately or can grow as required. If changes
are being made to a large number of instances then the database may require a large UNDO
tablespace.

Business Modeler IDE PLM00071 11.2 5-111


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Run the change_type_name utility

Run the change_type_name utility from a Teamcenter command prompt.

The utility should be run from an appropriately configured Teamcenter environment. The
change_type_name utility available as part of a full Teamcenter installation, and is located in the
TC_ROOT\bin directory.

Run the command for both Windows and UNIX in a Teamcenter shell, for example:

change_type_name -u=infodba -p=secret -g=dba -old_type=oldItem -new_type=newItem -dry

This runs the utility in dry run mode to estimate how much data would be altered if the rename occurs.

When the utility is run, a log file is created in a location pointed to by the TC_TMP_DIR environment
variable. If the variable is not set then this log file is written to the temporary directory. The location of
the log file is also written to the console when the utility is run. The log file contains information about
the inputs to the utility, the instructions that were processed, the number of instances that were
changed, and timing information. The dry run mode shows the number of instances that would be
modified and the approximate time it would take for those modifications.

Tasks to perform after running the change_type_name utility

There are a number of tasks that must be performed after you run the change_type_name utility to
ensure integrity of your data. Review these steps carefully and perform them in order.

Not all the following steps need to be done. Choose the steps that apply. For example, if you do not have
any preferences that use the old business object type, you do not execute the step to modify
preferences.

1. Modify preferences.
Any preferences using the old type name at any level site, group, role, and user must be changed.
Preferences are in the database. The administrator can use the preferences_manager utility to
export site, group, role, and user preferences. Replace each occurrence of the old type with the
new type. Then import the XML code to the database using the OVERRIDE option.
The administrator can use preferences_manager utility to export and import other group, role,
and user preferences using the -target=group-name/role-name/user-name option available with
the import and export mode.

2. Modify text server files.


Change the old type names in all of the XML files in the TC_MSG_ROOT directory for your language
to the new type names.

3. Modify rich client property files.


The default properties files, with a .properties extension, are located in the various
com.teamcenter.rac.component.jar files in the TC_ROOT\portal\plugins directory. You may have

5-112 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Tasks to perform after running the change_type_name utility

overridden the default file by creating a _user.properties file and wrapping it in an Eclipse plug-in
or modified the .properties file in the JAR file.
Locate the .properties file that contains the conflicting type and modify it to the new type.
Examples:

• If you include your custom type to be displayed in the Teamcenter viewer, make an entry under
the DatasetViewer.TYPES section of the following file:

com.teamcenter.rac.common\com\teamcenter\rac\common
\tcviewer\tcviewer.properties

• If you create an icon for your custom type, make an entry in the following file:

com.teamcenter.rac.common\com\teamcenter\rac\common
\common.properties

4. Modify server code.

• ITK utilities
Search for the old type name in all of the custom header and custom source files. After you
change each occurrence to the new type name, compile and link your code.

• Workflow handlers
Search for the old type name in all of the custom header and custom source files and change
each occurrence to the new type name. Once completed, compile and link your code.

Note:
Workflow handler arguments in the database are modified by the utility per the
instructions in the configuration file. If any of the handler argument patterns are not
present in the configuration file, they are not modified. In such a case, you must change
the type name manually using the Workflow Designer application in the Teamcenter rich
client or by adding instructions to the configuration file for the EPMHandler class. If you
have already run the utility once, you can rerun it with the new instructions in the
configuration file.

• User exits
Search for the conflict custom type name in all of source files under user exit modules and
change each occurrence to the new type name. Compile and link the library.

• Extensions
Search for the conflict custom type name in all of the custom XML code and source files. Change
each occurrence to the new type name. Compile and link.

5. Modify rich client code.


Search for the conflict custom type name in all of the custom Java source files under the rich client.
Change each occurrence to the new type name. Compile and rebundle the package:

Business Modeler IDE PLM00071 11.2 5-113


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

a. Locate and change the conflict custom type name in all of the Java source files. Compile the
files to create new class files.

b. Use the jar xvf command to extract the customized .jar file to any directory to which you have
access, for example, D:\CustFiles. This creates a directory structure similar to d:\CustFiles
\com\teamcente\rac\.

c. Copy the new class file to replace the old one under the d:\CustFiles directory.

d. In the d:\CustFiles directory, re-create a JAR file of the customization using the jar cfv
command.

6. Modify thin client customizations.


Search for the conflict custom type name in all of the customized ImanScript/TcScript files. These
scripts are located under the TC_HTDOCS directory, and include the files suffixed with the
following names: .xml, .isx, .is, and .svg. Change each occurrence to the new type name in these
script files, and save the changes.

7. Modify the installation and upgrade scripts.


Replace the old type name with the new type name in any custom written installation or upgrade
scripts.

8. Modify attribute mapping.


You can modify the conflict type name in the customized attribute mappings by exporting the
attribute mappings to a file, changing the conflict type name, and importing the file back into
Teamcenter.

a. Open a Teamcenter command prompt.

b. Change to the bin directory within TC_ROOT, the installed location of Teamcenter.

c. Run the export_attr_mappings command to output the mappings to a file, for example:

export_attr_mappings -u=infodba -p=infodba -file=mapping_output_filename

d. Edit the mappings file to change the conflicting type name.

e. Import the edited mapping file back into Teamcenter by running the import_attr_mappings
command, for example:

import_attr_mappings -u=infodba -p=infodba -file=mapping_output_filename

9. Modify dataset .des files.


This step is required only if the type being modified is a dataset type or a tool type.

5-114 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configuration file for the change_type_name utility

• Dataset
Rename the .des file in the gs_info directory. For example, if the dataset type name is being
changed from MyDatasetType to MyNewDatasetType, rename the mydatasettype.des file in
the gs_info directory to mynewdatasettype.des.

• Tool type
Replace the tool type name string in all the .des files to the new tool type name. For example, if
the name of a tool is MyTool and it is changed to MyNewTool, replace all occurrences of
MyTool in all .des files in the gs_info directory to MyNewTool.

Note:
When both the dataset type and the tool type name are changed, follow both steps. If there
are multiple TC_DATA\IMAN_DATA directories, make the change for one and copy the
changed .des files to the other TC_DATA\IMAN_DATA directory.

10. Make the same changes at all sites that exchange data.
By default, the utility does not modify all matching objects in the system. This includes those that
belong to a different site and stubs representing remote objects. For all sites exchanging data to
remain consistent, it is important that the same changes are made at all sites at the same time. Do
not run automatic synchronization utilities such as IDSM and data_share while sites are being
modified.

11. Modify Business Modeler IDE templates.


When you rename a type name in the Teamcenter database, you also must update any Business
Modeler IDE template source files that reference the type name.
If the type collision occurred because of an upgrade to a new version of Teamcenter, follow the
instructions in the Business Modeler IDE Best Practices Guide about how to upgrade from
Teamcenter to the next version of Teamcenter. The guide can be found on GTAC at http://
support.ugs.com/. Click Documentation, then Teamcenter, and then look for the guide.
However, you may want to rename a type that is not involved with a collision. For example, you
may want to rename a type name because you do not like the original name. Or you may want to
rename the type because you think it may at some point be involved in a collision or because you
want to add a prefix to the type name. In any of these cases, you can use the Business Modeler IDE
client to rename the type by right-clicking a business object and choosing Rename. This feature
should not be used in conjunction with a type name collision because it can only be used when the
entire data model is loaded without any validation errors.

Configuration file for the change_type_name utility

The change_type_name utility processes instructions from a configuration file. This file is in XML
format. There are many categories based on the Teamcenter schema classes. Each category can have
several instructions.

There are two instructions types:

• TC_PROCESS_TYPE_BULK

Business Modeler IDE PLM00071 11.2 5-115


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Processes a bulk update of data. This is mainly used for types that are likely to have a large number of
instances in the database, for example, Workspace objects.

• TC_PROCESS_TYPE_INSTANCE
Processes individual type instances. This is used for types that are unlikely to have a large number of
instances in the database.

You can add your own instructions for your type if the COTS instructions are not sufficient. For example,
you have an embedded string that does not get processed by the COTS instructions, such as a type
named MyType with a string attribute named MyAttribute, or a type name embedded in the attribute
such as This*is*MyType*entry.

Following is an example of the instruction in the configuration file:

<ProcessInstruction type="TC_PROCESS_TYPE_INSTANCE" class=" MyType"


attribute="MyAttribute"
prefix="*" suffix="*"/>

Note:
If the log file shows the following message, it means that the instruction was not processed:

Processing instruction:
[TC_PROCESS_TYPE_INSTANCE:POM_catia_mfg_userdata:Dataset_Type::]

NOTE: Instruction will not be processed.


Class [POM_catia_mfg_userdata] does not exist.

This can be due to two reasons:

• The class or attribute does not exist in the version the utility is run against. If this is the case,
you can safely ignore this message.

• If you have changed the configuration file, you may have entered a wrong class name. You
must correct the class name in the configuration file.

If, by design, the MyAttribute attribute can contain only a dataset type, place the instruction in the
DatasetType category. If the MyAttribute attribute can contain any type, place the instruction in the
most general category, for example, POM_object.

Rerun the change_type_name utility

If you have successfully run the change_type_name utility once and find some objects are not changed
because an entry for it did not exist in the configuration file, the utility must be rerun. If some
functionality does not work after running the utility, it may be that data pertaining to that functionality
did not change.

5-116 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Convert secondary business objects to primary

For example, you already changed a type name from MYOLDTYPE to MYNEWTYPE. Revert the type
name only, add the new instructions, and rerun the utility.

1. Create a configuration file, for example, myconfiguration.xml, containing the following:

<?xml version="1.0" encoding="UTF-8"?>


<Categories>
<Category categoryName="POMObjectType" className="POM_object">
<!-- ImanType - This should be the last instruction -->
<ProcessInstruction type="TC_PROCESS_TYPE_INSTANCE" class="ImanType"
attribute="type_name"/>
</Category>
</Categories>

2. Run the utility.

change_type_name -u=username -p=password -g=group -old_type=MYNEWTYPE


-new_type=MYOLDTYPE -config=myconfiguration.xml

This step reverts the type name only. You must supply the newly created configuration file using
the -config option on the utility.

3. Add the required instructions to the new configuration file, myconfiguration.xml. Refer to the
COTS TC_DATA\change_type_name_config.xml configuration file for examples.

Note:
The instruction to change the type should be the last instruction in the configuration file.

4. Run the utility.

change_type_name -u=username -p=password -g=group -old_type=MYOLDTYPE


-new_type=MYNEWTYPE -config=myconfiguration.xml

This executes the new instructions and finally changes the old type to the new type. You must
supply the newly created configuration file using the -config option on the utility.

Convert secondary business objects to primary

When you create a new business object, the Create Primary Business Object check box is selected by
default in the creation dialog box. This creates a primary business object with its own storage class. If
you clear this option when you create a new business object, you create a secondary business object,
one that uses the storage class of its parent business object.

In older versions of Teamcenter, many business objects were secondary business objects, and many
have been changed to primary business objects. But some COTS business object types, such as datasets,
are still secondary business objects, and there are no plans to change them to primary business objects.

Business Modeler IDE PLM00071 11.2 5-117


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Secondary business objects result in more traversal of the database to access attribute information, and
thus can cause performance issues. To remedy this for a particular custom secondary business object
type, you can change it to a primary business object by right-clicking the custom secondary business
object in the Business Objects folder and choosing Convert to primary.

The conversion results in improved performance for Item-Master Form model, and allows you to add
properties to the newly converted primary business object. However, you are under no obligation to
convert secondary business objects to primary business objects, and there is no risk if you do not
convert secondary business objects. You must convert your custom secondary business objects to
primary business objects only if you need to add properties directly to the custom secondary business
objects.

Note:
When a secondary Item business object is converted to a primary business object, its secondary
ItemRevision business object is autoconverted to a primary business object as well. However,
master form business objects are not autoconverted.

1. Verify that the business object is secondary.


Right-click the business object in the Business Objects folder, choose Open, and look at the
Storage Class box in the Main tab. If the storage class has the same name as the business object,
the business object is primary. If it has a different name, it is secondary.

2. Right-click the secondary business object in the Business Objects folder and choose Convert to
primary.

Note:
The Convert to primary context-sensitive menu command is available only if the selected
business object satisfies the following conditions:

• The selected object is a secondary business object and a custom business object.
• The parent of the selected object is a primary business object.
• The selected object is not derived under the ItemRevision hierarchy.

3. After performing the conversion, the change does not appear immediately in the Storage Class
box of the business object editor. First, close the business object editor by right-clicking its tab and
choosing Close or Close All. Then right-click the business object in the Business Objects folder
and choose Open. The new storage class is displayed in the Storage Class box.

4. Run the business_model_updater utility with the -update=convert_to_primary flag to migrate


the converted business objects to the database, for example:

business_model_updater -u=username -p=password -g=group


-update=convert_to_primary -mode=upgrade
-file=file-name -log=log-file-name

5-118 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
TC_WorkContext business object reference

Replace file-name with the name of the active extension file that contains the data model
definition for the converted business objects, such as the default.xml file.
If the number of the instances to be migrated is large, it may take a long time for the command to
run. Teamcenter performs the following in the migration:

• Migrates all instances of the converted business objects and their children.

• Creates a new storage class for each converted business object.

• Updates the definitions of the converted business objects to point to their new storage classes.

5. Run the generate_metadata_cache utility to regenerate the cache. If you do not regenerate the
cache, you can have inconsistent shared memory cache.

6. Package the template and install it using Teamcenter Environment Manager (TEM).

TC_WorkContext business object reference

The TC_WorkContext business object is used to define and assign a custom method of setting a work
context. The custom method is invoked whenever a work context is set as the current work context. A
user in My Teamcenter can create a work context object by choosing File→New→Work Context. A user
can assign a work context by selecting an item, item revision, or workflow task and choosing
Tools→Assign Work Context.

To see the operations for the TC_WorkContext business object, open it, click the Operations tab, and
select the Property Operations folder. The following table shows valid operations for the
TC_WorkContext business object.

Business object Property Operation Extension point

TC_WorkContext allow_subgroups PROP_ask_value_logical BaseAction

TC_WorkContext allow_subgroups PROP_set_value_logical BaseAction

TC_WorkContext group PROP_ask_value_tag BaseAction

TC_WorkContext group PROP_set_value_tag BaseAction

TC_WorkContext project PROP_ask_value_tag BaseAction

TC_WorkContext project PROP_set_value_tag BaseAction

TC_WorkContext role PROP_ask_value_tag BaseAction

Business Modeler IDE PLM00071 11.2 5-119


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Business object Property Operation Extension point

TC_WorkContext role PROP_set_value_tag BaseAction

TC_WorkContext setting_modifiable PROP_ask_value_logical BaseAction

TC_WorkContext setting_modifiable PROP_set_value_logical BaseAction

TC_WorkContext user PROP_ask_value_tag BaseAction

TC_WorkContext user PROP_set_value_tag BaseAction

TC_WorkContext workcontext_desc PROP_ask_value_string BaseAction

TC_WorkContext workcontext_desc PROP_set_value_string BaseAction

TC_WorkContext workcontext_name PROP_ask_value_string BaseAction

TC_WorkContext workcontext_name PROP_set_value_string BaseAction

Classes

Introduction to creating classes

In the Advanced perspective, the Classes view is used for working with classes, the persistent
representations of the data model schema.

A class is the logical data model and maps the storage of a business object to the database. Every class
has a business object by the same name. A class can have attributes defined on it. Every attribute
defined on the class results as a property on the business object. Classes support inheritance. Any
attribute defined on a parent class is inherited by its children.

The most commonly used classes under which you create new child classes include:

• POM_object
Represents storage classes in the database.

• POM_application_object
Represents Teamcenter application classes in the database.

• WorkspaceObject
Represents commonly used classes, such as Item and Document, in the database.

5-120 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a new class

When you add a class, a matching primary business object is automatically generated. A primary
business object has the same name as its associated storage class. (A secondary business object uses the
storage class of its parent business object.)

You can only create new subclasses for the following classes by creating primary business objects:
AppInterface, Dataset, Form, Item, and ItemRevision, and StructureContext. If you right-click any of
these classes or their children and choose New Class, the following message is displayed:

Cannot subclass class-name directly.


Use the Business Object Wizard to create a new Primary Business Object.

You cannot subclass these classes or their children directly in the Classes view. To subclass them, create
new business objects under the corresponding business objects of the same name in the Business
Objects view of the Advanced perspective; the new subclasses are created automatically. For example,
to create a MyItemRevision class, right-click the ItemRevision business object in the Business Objects
view and choose New Business Object; the MyItemRevision class is automatically created and appears
in the Classes view.

Add a new class

1. Access the Advanced perspective by choosing Window→Open Perspective→Other→Advanced.

2. Click the Classes tab.

3. In the Classes view, select the project in which you want to create a new class.

4. Right-click the project and choose Organize→Set active extension file. Select the file where you
want to save the data model changes.

5. Browse to a class under which you want to create the new class. To search for a class, you can click
the Find Class button at the top of the view.

6. Right-click the class and choose New Class. The New Class wizard runs.
There are other ways to launch the New Class wizard:

• Drag a class from the Class view into the UML editor.

• Drag Class from the UML editor palette into the UML editor.

Business Modeler IDE PLM00071 11.2 5-121


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

7. In the Class dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name of the class as you want it to appear in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. The Parent box displays the already-selected parent class.

d. Select the Exportable? check box if the class can be exported using PLM XML.

e. Select the Uninheritable? check box if the class cannot have children classes.

f. Select the Uninstantiable? check box if instances of the class will not be created in user
interfaces such as the rich client. For example, you may want to select this if the class is
intended as a folder for child classes.

g. The Store as lightweight object check box indicates if the object is stored in its own database
table outside of the POM_object database table. This improves performance of POM object
handling. Initially only a limited number of internal classes may be stored as lightweight
objects. This check box is read-only.

h. Click the arrow in the Application Name box to choose the application that can be used to
add or edit attributes on the class.

5-122 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a new class

Available applications appear in the Applications folder in the Extensions view. You cannot
configure applications, but you may need to look at them in the Extensions view to
understand which classes you cannot edit with ITK code.

i. Click the Add button if you want to add an attribute to the class.

j. Click Finish.
The new class is created, as well as the corresponding primary business object.

8. The new class appears in the Classes view. A c on the class symbol indicates that it is a custom
class. To see the corresponding new business object, open the Business Objects view.
To bookmark the class, right-click the class and choose Bookmarks→Add Bookmark. To access the
class later, click the arrow in the Bookmarks button at the top of the Classes view.

9. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

10. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project click the Deploy Template button on the main toolbar.

11. To verify your changes, look for the attributes on the new class that are inherited by a business
object. Perform the following steps:

a. In the Business Modeler IDE, create a new business object that uses the new class as the
parent for the form storage class.

Business Modeler IDE PLM00071 11.2 5-123


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

b. Save the changes by choosing BMIDE→Save Data Model.

c. Deploy to the test server again.

d. In the Teamcenter rich client, create an instance of the new business object. Open the
instance and select its master or revision form. In the Viewer tab, you should see the new
attributes you created on the new class.

Class attributes

Introduction to attributes

Attributes are class characteristics, such as name, number, description, and so on. An attribute is a
persistent information tag assigned to all objects in the same class. The attributes of the class appear
in a table when you right-click a class in the Classes view of the Advanced perspective and choose
Open.

Attributes are of a defined data type, for example, integer, string, and so on. An attribute contains either
a value (if the attribute is an integer, string, date, or logical data type), or it can contain a reference to
another class if the attribute is a typed reference or untyped reference. For example, the object_name
attribute contains a value because it is a string attribute; it can have a value such as 000001/A. The
last_mod_user attribute contains a reference, because it is a typed reference attribute; its value points
to a user's name.

Attributes can contain one value (scalar) or contain many values (array). An example of a scalar attribute
is the last_mod_user attribute, because it contains a single value, the user name. An example of an
array attribute is the project_list attribute, because is contains a list of projects, for example, Car05,
Car06, Car08.

The user interface shows a display name for the attribute via properties. For example, the object_desc
property displays as Description in the user interface. To be proficient with attributes, you need to know
both the internal name of the attribute and its display name. You can change the settings in the rich
client to display the internal name of an attribute in the UI. Log on to the rich client as an administrator,
choose Edit→Options, and in the left pane of the Options dialog box, choose Options→General→UI.
In the right pane, click the Sys Admin tab and select Real Property Name. To verify the change, select
an item in the rich client and choose View→Properties.

Add or change attributes on classes

Attributes are item characteristics, such as name, number, description, and so on. You can add or modify
attributes on custom classes, and some COTS classes.

1. Access the Advanced perspective by choosing Window→Open Perspective→Other→Advanced.

2. Click the Classes tab to display the Classes view.

5-124 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add or change attributes on classes

3. Select the project in which you want to save the attribute extensions. Right-click the project and
choose Organize→Set active extension file. Select the file where you want to save the data
model changes.

4. Browse to the custom class for which you want to manage attributes. To search for a custom class,
you can click the Find Class button at the top of the view and select Custom on the Find Class
dialog box.

5. Right-click the custom class and choose Open. A view displays the class details and attributes.

6. To add an attribute, click the Add button to the right of the Attributes table.

7. Perform the following steps in the Class Attribute dialog box:

a. In the Name box, type the attribute name as you want it to appear in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, a4_.
Class attributes begin with a lowercase letter.

b. In the Description box, type a description of the new attribute.

c. In the Attribute Type box, select the storage type for the attribute:

• Boolean
Allows two choices to the user (True or False).

Business Modeler IDE PLM00071 11.2 5-125


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Character
A single character, such as A, B, Z.

• Date
A calendar date. A form using this format displays a date selector.

Tip:
For the date attribute type, the earliest date supported is January 2, 1900.

• Double
An 8-byte decimal number from the range 1.7E to 308.

• ExternalReference
Points to data outside of Teamcenter.

• Integer
An integer without decimals from 1 to 999999999.

• LongString
A string of unlimited length.

• String
A string of characters.

• TypedReference
Points to a Teamcenter class.

• UntypedReference
Points to any class of data.

d. If the attribute is a string attribute, in the String Length box, type the byte length of the
attribute.
For Western languages, one character requires one byte. For example, a field with a string
length of 128 can accommodate 128 characters of a Western language. However, for
multibyte languages such as Chinese, Japanese, and Korean, one character requires two
bytes. Therefore, a field with a string length of 128 can accommodate only 64 characters.

e. If you selected TypedReference as the attribute type, in the Reference Class box, select the
class where the attribute is stored.

f. Select Set Initial Value to NULL? if you want the default value to be a null value.
For Boolean properties, this means that neither true or false are selected.

g. If you did not select Set Initial Value to NULL, in the Initial Value box, type the value to
populate the attribute.

5-126 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add or change attributes on classes

h. In the Lower Bound box, type the lower numerical limit for a numerical or alphanumerical
attribute.

i. In the Upper Bound box, type the upper numerical limit for a numerical or alphanumerical
attribute.

j. In the Array Keys section, check the properties that apply:

• Array?
Specifies that the attribute is a string array.

• Unlimited
Indicates that there is no limit on the number of characters used for the attribute.

• MaxLength
Specifies the maximum number of characters allowed for the attribute.

k. In the Keys section, check the properties that apply:

• Transient?
Does not persist the attribute in the database.

• Nulls Allowed?
Allows an empty value for the attribute.

• Unique?
Specifies that the attribute value cannot be duplicated.

• Candidate Key?
Specifies that when exporting an object, send this attribute and rely on the receiving site to
look up this string in the local database. This is typically used for system administration
defined classes such as unit of measure where a local administrator may want to control
what units exist on the site.

• Export As String?
Specifies that when exporting an object, export this attribute as a string.

• Follow on Export?
Exports the referenced object when the attribute is exported.

• No Backpointer?
Does not record attribute in the POM backpointer table.
Each time a forward pointer is created for attribute, an inverse record is stored in the POM
backpointer table. Therefore, the backpointer table keeps a record of where-referenced
attributes, and is used for where-referenced calls and for a check on delete that things are
not referenced.

Business Modeler IDE PLM00071 11.2 5-127


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

To help system optimization, you may want to use the No Backpointer key for those
attributes that are unlikely ever to be deleted (such as owning-user, owning-group, or
dataset-type). Choosing the No Backpointer key saves the POM system from having to
check every reference column in the table whenever a where-referenced or delete action is
called.

• Public Read?
Grants everyone read access to the attribute.

• Public Write?
Grants everyone write privileges on the attribute.

l. When done making changes, click Finish.


The new attribute appears in the properties table and is marked with a c indicating it is a
custom attribute.

8. To change values on the new attribute, click the Edit button. You can only change values on your
custom attributes. You cannot change values on COTS (commercial off-the-shelf) attributes.
To add another attribute, click the Add button. To remove an attribute, click the Remove button.

5-128 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Class attributes table

Note:
There is no limit on the number of attributes you can add to a class when you use an Oracle
or SQL database. However, there is a limit using DB2 due to the fact that a row has to be in
one block with a 32K limit; so the number of attributes allowed depends on the total all of
the attribute sizes. As a rule, do not use over 100 attributes of any type.

9. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the toolbar.

10. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project click the Deploy Template button on the main toolbar.

11. After deployment, test your changed attributes in the Teamcenter rich client.
For example, if you changed attributes on a custom subclass of the Item class, in the My
Teamcenter application, select a business object that inherits from that custom class and view its
attributes in the Viewer tab.

Class attributes table

The attributes of the class appear in a table when you right-click a class in the Classes view in the
Advanced perspective and choose Open.

Column Description

Attribute Name Displays the property name for the attribute.

Storage Type Displays the storage type of the attribute:

• Character
A single character, such as A, B, Z.

• Date
A calendar date. A form using this format displays a date selector.

Tip:
For the date attribute type, the earliest date supported is
January 2, 1900.

• Double
An 8-byte decimal number from the range 1.7E to 308.

Business Modeler IDE PLM00071 11.2 5-129


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Column Description

• ExternalReference
Points to data outside of Teamcenter.

• Integer
An integer without decimals from 1 to 999999999.

• Logical
A Boolean value of True or False.

• LongString
A string of unlimited length.

Note:
LongString attributes cannot be used in queries.

• Short
An integer number without decimals from 1 to 9999.

Note:
This storage type is deprecated. Although you can no
longer create properties of this type, already-existing
properties of this storage type are still supported.

• String
A string of characters.

• TypedReference
Points to a Teamcenter class.

• UntypedReference
Points to any class of data.

Reference Class Displays the reference class for the attribute (for typed reference
classes).

Inherited Indicates if the attribute is inherited from a parent class.

Source Class Lists the parent class that provides the attribute.

5-130 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Class attributes table

Column Description

COTS Indicates whether the attribute is a standard (COTS) or custom


attribute. COTS means consumer off-the-shelf, or from a dependent
template.

Template The template in which the attribute is defined.

Initial Value Lists the initial value of the attribute on a creation window in the
Teamcenter user interface. You can change this value if desired.

Lower Bound The lower numerical limit for a numerical or alphanumerical


attribute.

Upper Bound The upper numerical limit for a numerical or alphanumerical


attribute.

Array Specifies that the attribute is an array.

Array Length Indicates the length of the array elements.

Public Write Grants everyone write privileges on the attribute.

Public Read Grants everyone read access to the attribute.

Nulls Allowed Allows an empty value for the attribute.

Unique Specifies that the attribute value cannot be duplicated.

Candidate Key Specifies that when exporting an object, send this attribute and rely
on the receiving site to look up this string in the local database. This
is typically used for system administration defined classes such as
unit of measure where a local administrator may want to control
what units exist on the site.

Transient Does not persist the attribute in the database.

Follow on Export Exports the referenced object when the attribute is exported.

Export As String Specifies that when exporting an object, export this attribute as a
string.

No Backpointer Does not record the attribute in the POM backpointer table.

Business Modeler IDE PLM00071 11.2 5-131


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Column Description

Each time a forward pointer is created for attribute, an inverse


record is stored in the POM backpointer table. Therefore, the
backpointer table keeps a record of where-referenced attributes,
and is used for where-referenced calls and for a check on delete that
things are not referenced.
To help system optimization, you may want to use the No
Backpointer key for those attributes that are unlikely ever to be
deleted (such as owning-user, owning-group, or dataset-type).
Choosing the No Backpointer key saves the POM system from
having to check every reference column in the table whenever a
where-referenced or delete action is called.

Classes that cannot have new attributes

You can add or modify attributes on custom classes, and some COTS classes.

You cannot add attributes to the following COTS classes:

AM_ACE
AM_ACL
AM_named_tag
AM_privileges
AM_tree
BMOperation
BusinessRule
DatasetType
EffectivityMode
ExtensionPoint
ExtensionDescriptor
Extension
Group
GroupMember
GroupSecurityNamedTag
ImanType
NameField
NameRule
POM_accessor
POM_application
POM_attribute
POM_class
POM_data_manager
POM_dd
POM_group
POM_imc

5-132 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to properties

POM_member
POM_object
pom_session
POM_site_config
POM_system_class
POM_stub
POM_user
PropertyBMOperation
Role
RoleInSchedule
TypeBMOperation
TC_Preferences
User

Properties

Introduction to properties

Properties contain information such as name, number, description, and so on. A business object derives
its properties from its persistent storage class. In addition to the properties that are derived from the
persistent storage class, business objects can also have additional properties such as run-time
properties, compound properties, and relation properties.

Following are some are some common tasks you perform when working with properties:

• To create properties on a business object, click the Properties tab and then click the Add button.

Business Modeler IDE PLM00071 11.2 5-133


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• To change the display name of properties, select a property on the Properties tab and click the
Localization tab.

• To display custom properties in the end-user interface, you can use XML rendering style sheets.

• To define which properties display on creation dialog boxes, use the Operation Descriptor tab.

Properties table

When you right-click a business object, choose Open, and click the Properties tab in the resulting view,
the properties of the business object appear in a table.

Column Description

Property Name Displays the name for the property (attribute).

Type Indicates the type of property:

• Attribute
A simple value (for example, integer, string, or date). The value is
stored in the database as an attribute and mapped to the property.

• Compound
A property displayed from one type as if it were the property of
that type, though it actually resides on another type. Though run-
time properties can be used to display such a property, they
require custom coding to do so. Compound properties allow you to
create such properties without custom coding.

• Reference
A reference to another object. The reference is stored in the
database as a reference attribute and mapped to the property.

• Relation
A reference to secondary objects of an ImanRelation business
object. The reference is stored in the database as a relation type
and is derived from that ImanRelation business object.

• Runtime
A property that is defined at run time and attached to types. Run-
time properties do not map directly to persistent attributes,
references, or relations. Instead, run-time properties derive data
from one or more pieces of system information (for example, date
and time) that are not stored in the Teamcenter database. Run-

5-134 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Properties table

Column Description

time properties can also be used to display a property of one type


as if it were a property of another type.

Storage Type Indicates how the property is stored:

• Character
A single character, such as A, B, Z.

• Date
A calendar date. A form using this format displays a date selector.

Tip:
For the date attribute type, the earliest date supported is
January 2, 1900.

• Double
A double-precision floating point decimal number (an 8-byte
decimal number from the range 1.7E to 308).

• ExternalReference
Points to data outside of Teamcenter.

• Integer
An integer without decimals from 1 to 999999999.

• Logical
A Boolean value of True or False.

• LongString
A string of unlimited length.

Note:
• Prior to Teamcenter 2007.1, the Note type was used for
unlimited strings. Use the LongString type instead.

• LongString properties cannot be used in queries.

• Short
An integer number without decimals from 1 to 9999.

Business Modeler IDE PLM00071 11.2 5-135


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Column Description

Note:
This storage type is deprecated. Although you can no longer
create properties of this type, already-existing properties of
this storage type are still supported.

• String
A string of characters.

• TypedReference
Points to a Teamcenter class.

• UntypedReference
Points to any class of data.

Inherited Indicates if the property is inherited from a parent business object.

Source Lists the parent business object or class that provides the property.

COTS Indicates whether the property is a standard (COTS) or custom


property. COTS means commercial off-the-shelf.

Referenced Type Displays the typed reference pointing to a Teamcenter class.

Array Specifies that the property is an array of the data of the data type (for
example, string).

Template The template that provides the attribute.

Hide properties on a form business object

Forms in the Teamcenter rich client hold additional information about items. If you do not want a
property on a form to be visible to end users, you can hide the property by overriding its Visible property
constant. You can do this for properties on the Form business object and its children.

1. Open the Business Objects folder.

2. Browse to the child of the Form business object that has the property you want to hide. To search
for a form business object, you can click the Find button at the top of the view.

5-136 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add properties to a custom form business object

3. Right-click the form business object, choose Open, and click the Properties tab in the resulting
view.
The properties of the form appear in a table.

4. In the Properties table, select the property you want to hide.

5. In the Property Constants table, select Visible.

6. Click the Edit button to the right of the Property Constants table.
The system displays the Modify Property Constant dialog box.

7. Click Value to clear the box and click Finish.

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

9. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

10. After deployment, test to ensure the property is hidden in the Teamcenter rich client. Open the
form and verify that the property is now hidden.

Add properties to a custom form business object

Forms in the Teamcenter rich client use properties to hold additional information about items. You can
add additional properties to custom forms that you create.

1. Open the Business Objects folder.

2. Browse to a custom form. All custom forms are children of the Form business object. To search for
the business object, you can click the Find button at the top of the view.

3. Right-click the custom form business object, choose Open, and click the Properties tab in the
resulting view.
The properties of the form appear in a table.

4. Click the Add button to the right of the Properties table to add properties.

5. After you add a new property, select the property and ensure that its Enabled and Visible property
constants are set to true. This ensures that the property is enabled for use in the user interface.

6. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

Business Modeler IDE PLM00071 11.2 5-137


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

7. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

8. After deployment, test to ensure the property is visible on the form. For example, in the
Teamcenter rich client, create an instance of the form by choosing File→New→Form. Open the
form instance and verify that the new property is visible on the form.

Available actions on properties

When you right-click a business object, choose Open, and click the Properties tab in the resulting view,
the properties of the business object appear in a table.

You can right-click a property in the table and choose one of the following from the shortcut menu:

• Organize by Inheritance
Alphabetically sorts the Source column that shows where the property originates.

• Select Filters
Excludes or includes properties on the table.

Attach an object to a typed reference property

If there is a typed reference property defined on a business object, changing the referenced business
object for that property is not supported. In earlier versions of Business Modeler IDE, you could change
the referenced business object, but the database was not updated after deployment. Beginning in
Teamcenter 10.1, you cannot change the referenced business object for typed reference properties from
the Business Modeler IDE.

For example, a Business Modeler IDE user creates a typed reference property in a business object (for
example, Item) that refers to another business object (for example, Form) and deploys the template.
Then the user changes the referenced business object of this property from Form to Dataset in a
version of Business Modeler IDE prior to Teamcenter 10.1 and updates the template using Teamcenter
Environment Manager (TEM). TEM reports the update as successful. However, the changes are not
reflected in the database because it is not supported. If the user attempts to attach any dataset type
object to the changed property, the rich client does not allow it because it is still expecting instances of
the Form type.

Because the Business Modeler IDE blocks changing the referenced business object for the typed
reference property, the user cannot revert the property to its original state.

You can work around this problem. Assume that a typed reference property (for example, a2_myProp)
on the Item business object refers to the Dataset business object as shown in the following XML
example:

<TcAttribute attributeName="a2_myProp" description=""


attributeType="POM_typed_reference" maxStringLength="0" isArray="false"
followOnExport="false" isNullsAllowed="true" isUnique="false"

5-138 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Attach an object to a typed reference property

isPublicRead="true" isPublicWrite="true" isCandidateKey="false" isTransient="false"


exportAsString="false" noBackpointer="false" typedRefClassName="Dataset"/>

Note:
This example is for a persistent property (TcAttribute). Similar steps can be used for a run-time
property (TcProperty).

If, in the rich client, an Item instance has the a2_myProp property, but the property does not accept a
Dataset business object, follow these steps to correct the issue:

1. Open the Teamcenter command prompt.

2. Execute the following command to extract the model from database:

business_model_extractor -u=admin-user-name -p=password -g=dba -mode=all


-outfile=path-to-XML-file

path-to-XML-file can be C:\temp_model.xml or any path to the file where the output of the
extractor should be written.

3. Search for the a2_myProp property in the generated XML file, for example:

<TcAttribute attributeName="a2_myProp"

4. Locate the type property in model, for example:

<TcAttribute attributeName="a2_myProp" attributeType="POM_typed_reference"


typedRefClassName="Form"/>

5. Note that the value of the typedRefClassName attribute is Form.

6. Locate the a2_myProp property in the extension file of your template project (for example, the
default.xml file). The file looks similar to the following:

<TcAttribute attributeName="a2_myProp" description=""


attributeType="POM_typed_reference" maxStringLength="0" isArray="false"
followOnExport="false" isNullsAllowed="true" isUnique="false" isPublicRead="true"
isPublicWrite="true" isCandidateKey="false" isTransient="false"
exportAsString="false" noBackpointer="false" typedRefClassName="Dataset"/>

7. Update the value of the typedRefClassName attribute for this property (for example, from Dataset
to Form).

8. Save the extension file and reload the data model.

9. Correct the model errors, if any.

Business Modeler IDE PLM00071 11.2 5-139


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

10. Save, package, and update your template using TEM.

Add properties

Overview of how to add properties

Properties contain information such as name, number, description, and so on. A business object derives
its persistent properties from the attributes on its persistent storage class. Business objects can also have
additional properties such as run-time properties, compound properties, and relation properties.

You can add the following kinds of properties:

• Persistent

• Run-time

• Compound

• Relation

• Table

To add properties, right-click a custom business object in the Business Objects folder, choose Open,
click the Properties tab in the resulting view, and click the Add button to the right of the properties
table.

The New Property wizard guides you through the process.

5-140 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a persistent property

Caution:
After you add a property, to be able to use the property in the user interface you must change
characteristics of the property by using the following property constants:

• Enabled
Enables the new property in the user interface, if the property is writable. (This constant cannot
be set to true for read-only properties.)
Select the new property on the properties table, and in the Property Constants table, select
Enabled and set it to true.

• Modifiable
Makes the new property writable.
If you want your new property to be writable rather than read-only, change the Modifiable
constant on the property from Read to Write.

• Visible
Makes the new property visible in the user interface.
Select the new property on the properties table, and on the Property Constants table, select
Visible and set it to true.

To display custom properties in the end-user interface, you must use XML rendering style
sheets.

Add a persistent property

Persistent properties are essentially attributes that are inherited by business objects. Adding a persistent
property to a business object is the same process as adding attributes to classes.

You can add persistent properties to COTS and custom business objects.

Note:
To display custom properties in the end-user interface, you must use XML rendering style
sheets.

1. If you want to add an operation to the property, set the active library for the property. In the
Extensions folder, open the Code Generation\Libraries folders, right-click the library and choose
Organize→Set as active Library. A green arrow in the library symbol indicates it is the active
library.

2. Open the Business Objects folder.

Business Modeler IDE PLM00071 11.2 5-141


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

3. Browse to the business object to which you want to add the property. To search for a business
object, you can click the Find button at the top of the view.

4. Right-click the business object, choose Open, and click the Properties tab in the resulting view.
The properties of the business object appear in a table.

5. Click the Add button to the right of the properties table.


The Business Modeler IDE runs the New Property wizard.

6. Under Property Types select Persistent. Click Next.


The Persistent Property dialog box is displayed.

7. Perform the following steps in the Persistent Property dialog box:

a. In the Name box, type the property name as you want it to appear in the database. The name
cannot contain spaces.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, a4_. The
prefix for properties begins with a lowercase letter.

b. In the Display Name box, type the name as you want it to appear in the user interface.

c. In the Description box, type a description of the persistent property.

5-142 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a persistent property

d. In the Attribute Type box, select the storage type for the attribute, for example, String.
Choose from the following attribute types:

• Boolean
Allows two choices to the user (True or False).

• Character
A single character, such as A, B, Z.

• Date
A calendar date. A form using this format displays a shortcut date selector.

Tip:
For the date attribute type, the earliest date supported is January 2, 1900.

• Double
An 8-byte decimal number from the range 1.7E to 308.

• ExternalReference
Points to data outside of Teamcenter.

• Integer
An integer without decimals.

• LongString
A string of unlimited length.

Note:
Prior to Teamcenter 2007.1, the Note type was used for unlimited strings. Use the
LongString type instead.

• String
A string of characters.

• TypedReference
Points to a Teamcenter class.

• UntypedReference
Points to any class of data.

e. If the attribute is a string attribute, in the String Length box, type the byte length of the
attribute.
For Western languages, one character requires one byte. For example, a field with a string
length of 128 can accommodate 128 characters of a Western language. However, for

Business Modeler IDE PLM00071 11.2 5-143


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

multibyte languages such as Chinese, Japanese, and Korean, one character requires two
bytes. Therefore, a field with a string length of 128 can accommodate only 64 characters.

f. If you selected TypedReference as the attribute type, in the Reference Business Object box
select the class where the attribute is stored.

g. Select the Set Initial Value to Null check box if you do not want a beginning value on the
property.
For Boolean properties, this means that neither true or false are selected.

h. In the Initial Value box, type the value to populate the attribute.

i. In the Lower Bound box, type the lower numerical limit for a numerical or alphanumerical
attribute.

j. In the Upper Bound box, type the upper numerical limit for a numerical or alphanumerical
attribute.

k. In the Array Keys section, check the properties that apply:

• Array?
Specifies that the attribute is an array of the data of the data type (for example, string).

• Unlimited
Indicates that there is no limit on the number of array elements used for the attribute.

• MaxLength
Specifies the maximum number of array elements allowed for the attribute.

l. In the Keys section, check the properties that apply:

• Transient?
Does not persist the attribute in the database.

• Nulls Allowed?
Allows an empty value for the attribute.
You cannot clear the Nulls Allowed? check box and also leave the Set Initial Value to
NULL? check box cleared. If you do, the system automatically defines a CreateInput
operation on the Operation Descriptor tab of the business object.

• Unique?
Specifies that the attribute value cannot be duplicated.

• Candidate Key?
Specifies that when exporting an object, send this attribute and rely on the receiving site to
look up this string in the local database. This is typically used for system administration

5-144 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a persistent property

defined classes such as unit of measure where a local administrator may want to control
what units exist on his site.

• Export As String?
Specifies that when exporting an object, export this attribute as a string.

• Follow on Export?
For typed and untyped references, exports the referenced object when the attribute is
exported.

• No Backpointer?
Does not record the attribute in the POM backpointer table.
Each time a forward pointer is created for an attribute, an inverse record is stored in the
POM backpointer table. Therefore, the backpointer table keeps a record of where-
referenced attributes and is used for where-referenced calls and for a check that things are
not referenced when an item is deleted.
To help system optimization, you may want to use the No Backpointer key for those
attributes that are unlikely ever to be deleted (such as owning-user, owning-group, or
dataset-type). Selecting the No Backpointer key saves the POM system from having to
check every reference column in the table whenever a where-referenced or delete action is
called.

• Public Read?
Grants everyone read access to the attribute.

• Public Write?
Grants everyone write privileges on the attribute.

m. In the Descriptor Options section, select the options that apply:

• Show this property during creation of a Business Object


Adds this property to the dialog box displayed when creating the business object on which
the property resides.

• Show this property during the Save As operation of a Business Object


Adds this property to the dialog box displayed when performing a Save As operation on the
business object on which the property resides.

If these boxes are checked, the property appears on the Operation Descriptor tab.

Business Modeler IDE PLM00071 11.2 5-145


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
The Descriptor Options section does not appear when adding properties to the Form
business object or one of its children. Properties added to forms are automatically added
to the Operation Descriptor tab. You cannot delete these properties from the
Operation Descriptor tab, but you can modify them using the Visible and Required
property constants.

n. Click Next.
The Business Modeler IDE displays the Property Operation dialog box. A property operation is
a function on a property. You can publish getter and setter methods on the operation. The
following procedure is the same as you can perform when you select a custom property on
the Operations tab and click Add.

8. If you want to publish getter and setter methods on the property, in the Property Operation dialog
box, select the Getter check box to enable getting the value of the property, and select Setter
check box to enable setting the value of the property. Select the following check boxes that apply:

• Overridable?
Allows child business objects to override this method.

• Published?
Generates the getter or setter method.

• PreCondition?
Places limits before an action.

• PreAction?
Executes code before an action.

• PostAction?
Executes code after an action.

When done making changes, click Finish.


The new property appears in the properties table and is marked with a c indicating it is a custom
property.

5-146 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a persistent property

9. After you add a property, change characteristics of the property by using property constants.

a. On the Properties tab, select the new property in the properties table.

b. In the Property Constants table, select the constant you want to change and click the Edit
button.

In addition to making properties enabled, you can use constants to make properties modifiable,
exportable, required, a stub property, visible, or to set the initial value.

10. To add another attribute, click the Add button. To remove an attribute, click the Remove button.

11. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

12. If you created a property operation, generate code.


In the Business Objects folder, right-click the business object to which you added the property
operation and choose Generate Code→C++ classes.

13. If you generated code, write an implementation in the generated business_objectImpl.cxx file.

14. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

Business Modeler IDE PLM00071 11.2 5-147


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

15. After deployment, test your new property in the Teamcenter rich client.
For example, if you added a property on a custom child of the Form class, in the My Teamcenter
application, select an instance of that custom form business object and view its properties in the
Viewer tab.

Note:
There are many ways to add new properties to the rich client or thin client user interface.
The easiest way is to add the properties using XMLRenderingStylesheet datasets.

Add a run-time property

Adding a run-time property to a custom business object is similar to adding a persistent property, except
that Teamcenter controls the behavior of the property at run time before displaying it to the user.
Essentially, the displayed value of the property is derived each time the property is displayed. Run-time
properties derive data from one or more pieces of system information (for example, date or time) that
are not stored in the Teamcenter database.

1. Open the Business Objects folder.

2. Browse to the custom business object to which you want to add the property. To search for a
business object, you can click the Find button at the top of the view.

3. Right-click the custom business object, choose Open, and click the Properties tab in the resulting
view.
The properties of the business object appear in a table.

4. Click the Add button to the right of the properties table.


The Business Modeler IDE runs the New Property wizard.

5. Under Property Types, select Runtime. Click Next.

6. Perform the following steps in the Runtime Property dialog box:

a. In the Name box, type the property name as you want it to appear in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, a4_. The
prefix for properties begins with a lowercase letter.

b. In the Display Name box, type the name as you want it to appear in the user interface.

c. In the Attribute Type box, select the storage type for the attribute, for example, String.
Choose from the following attribute types:

• Boolean
Allows two choices to the user (True or False).

5-148 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a run-time property

• Character
A single character, such as A, B, Z.

• Date
A calendar date. A form using this format displays a shortcut date selector.

Tip:
For the date attribute type, the earliest date supported is January 2, 1900.

• Double
An 8-byte decimal number from the range 1.7E to 308.

• ExternalReference
Points to data outside of Teamcenter.

• Integer
An integer without decimals from 1 to 999999999.

• String
A string of characters.

• TypedReference
Points to a Teamcenter class.

• UntypedReference
Points to any class of data.

d. If the attribute is a string attribute, in the String Length box, type the byte length of the
attribute.
For Western languages, one character requires one byte. For example, a field with a string
length of 128 can accommodate 128 characters of a Western language. However, for
multibyte languages such as Chinese, Japanese, and Korean, one character requires two
bytes. Therefore, a field with a string length of 128 can accommodate only 64 characters.

e. If you selected TypedReference as the attribute type, in the Reference Business Object box
select the class where the attribute is stored.

f. In the Description box, type a description of the run-time property.

g. In the Array Keys section, check the properties that apply:

• Array?
Specifies that the attribute is an array of the data of the data type (for example, string).

• Unlimited
Indicates that there is no limit on the number of array elements used for the attribute.

Business Modeler IDE PLM00071 11.2 5-149


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• MaxLength
Specifies the maximum number of array elements allowed for the attribute.

h. In the Descriptor Options section, select the options that apply:

• Show this property during creation of a Business Object


Adds this property to the dialog box displayed when creating the business object on which
the property resides.

• Show this property during the Save As operation of a Business Object


Adds this property to the dialog box displayed when performing a Save As operation on the
business object on which the property resides.

If these boxes are checked, the property appears on the Operation Descriptor tab.

Note:
The Descriptor Options section does not appear when adding properties to the Form
business object or one of its children. Properties added to forms are automatically added
to the Operation Descriptor tab. You cannot delete these properties from the
Operation Descriptor tab, but you can modify them using the Visible and Required
property constants.

i. Click Next.
The Business Modeler IDE displays the Runtime Property Operation dialog box. A property
operation is a function on a property. You can publish getter and setter methods on the
operation. The following steps are the same as when you select a custom property on the
Operations tab and click Add.

7. In the Property Operation dialog box, select the Getter check box to enable getting the value of
the property, and select the Setter check box to enable setting the value of the property. Select the
following check boxes that apply:

• Overridable?
Allows child business objects to override this method.

• Published?
Generates the getter or setter method.

• PreCondition?
Places limits before an action.

• PreAction?
Executes code before an action.

• PostAction?
Executes code after an action.

5-150 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a compound property

Click Finish.
The new property appears in the properties table and is marked with a c indicating it is a custom
property.

8. After you add a property, change characteristics of the property by using property constants.

a. On the Properties tab, select the new property in the properties table.

b. In the Property Constants table, select the constant you want to change and click the Edit
button.

In addition to making properties enabled, you can use constants to make properties modifiable,
visible, exportable, required, a stub property, visible, or to set the initial value.

9. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

10. If you created a property operation, generate code.


In the Business Objects folder, right-click the business object to which you added the property
operation and choose Generate Code→C++ classes.

11. If you generated code, write an implementation in the generated business_objectImpl.cxx file.

12. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

13. After deployment, test your new properties in the Teamcenter rich client.
For example, if you added properties on a custom child of the Form business object, in the My
Teamcenter application, select an instance of that form business object and view its properties in
the Viewer tab.

Note:
There are many ways to add new properties to the rich client or thin client user interface.
The easiest way is to add the properties using XMLRenderingStylesheet datasets.

Add a compound property

A compound property is a property on a business object that can be displayed as a property on another
business object. A compound property creates the path that the property follows to display the source
business object property on the target business object. For example, you can use a compound property
to display a custom property from a form on a business object. A compound property uses Relation and
Reference properties to traverse from the source to the destination object.

Business Modeler IDE PLM00071 11.2 5-151


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
• You can add compound properties to COTS and custom business objects.

• Use the BOMLineAbsOccCompProperties global constant to add a compound property to a


BOM line.

1. In the Business Objects folder, browse to the business object to which you want to add the
compound property. To search for a business object, you can click the Find button at the top of
the view. Right-click the business object, choose Open, and click the Properties tab in the resulting
view.
The business object properties appear in a table.

2. Click the Add button to the right of the properties table.


The Business Modeler IDE runs the New Property wizard.

3. Under Property Types, select Compound. Click Next.

4. Perform the following steps in the Compound Property Page dialog box:

a. In the Name box, type the name you want to assign to the new compound property. The
name should match the format of other properties (that is, all lowercase with underscores
separating words).
The Path pane displays the target business object to which you add the new compound
property.

Tip:
Label the property as a compound property so you can tell at a glance that it originates
from another property.

b. In the Display Name box, type the name as you want it to appear in the user interface.

Tip:
Enter the display name so it is identical to the display name on the originating property.
If you enter a different display name, the end user would be confused to see different
display names for the same property when it is displayed on different business object
instances.

c. In the Description box, type a description of the compound property.

d. Select the ReadOnly check box if you do not want users to be able to change the compound
property value on instances of the business object in Teamcenter.

5-152 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a compound property

e. Click the Add Segment button.


The Add Compound Property Segment wizard runs, displaying the Choose a property
message.

5. Perform the following steps in the Compound Property Segment dialog box:

a. Select the property on the target business object to hold the compound property, such as
items_tag. Use the Reference, Relation, and Runtime check boxes to filter out the type of
properties to display.

Note:
If you have added a relation business object to the ImanRelation business object, it
does not appear in this list until you add the new business object as a relation property.
To add the relation business object as a relation property, go back to the Properties tab,
click the Add button to the right of the property table, select the Relation check box on
the Property Definition dialog box and click Next, and on the Relation Property dialog
box click the Browse button to the right of the Relation Business Object box and
choose the relation business object. Now you can go back and add this new relation
property as a segment on the compound property.

b. Click Next.
The Compound Property Segment dialog box displays the Choose a business object
message.

c. Select the business object that is the source for the property.

Business Modeler IDE PLM00071 11.2 5-153


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

d. Click Finish.
The Compound Property Page dialog box appears, showing the compound property path
thus far.

Note:
To add more segments to the compound property, click the last segment in the Path
pane and click Add Segment. To replace a segment, select the segment and click
Replace Segment.

6. To add the last segment, click the Add Final Segment button.
The Add Compound Property Segment wizard runs, displaying the message Choose a property.
Perform the following steps in the Compound Property Segment dialog box:

a. Select the property you want to use for the final segment of the compound property.

b. Click Finish.
The Compound Property Page dialog box appears, showing the compound property path.

5-154 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a compound property

7. When you are done adding segments in the Compound Property Page dialog box, click Finish.
The new compound property appears in the property table.

8. After you add a property, change characteristics of the property by using property constants.

a. On the Properties tab, select the new property in the properties table.

b. In the Property Constants table, select the constant you want to change and click the Edit
button.

In addition to making properties enabled, you can use constants to make properties modifiable,
exportable, required, a stub property, visible, or to set the initial value.

9. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

10. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

11. After deployment, verify your new compound property on the business object by looking at the
business object's properties page in the Teamcenter rich client. You should see the same property
on both the source and the target objects.

Business Modeler IDE PLM00071 11.2 5-155


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
There are many ways to add new properties to the rich client or thin client user interface.
The easiest way is to add the properties using XMLRenderingStylesheet datasets.

Add a relation property

Relation properties are properties that define the relationship between objects. For example, a dataset
can be attached to a custom item revision with relations such as a specification, requirement, or
reference. You can also create your own custom relation business objects.

Note:
The relation property takes the place of the <relation_type>_relation_primary preference, which
was formerly used to set the primary object types for each ImanRelation business object. If you
are upgrading from a previous version of Teamcenter to Teamcenter 11.2, you must manually
create the relation properties that were formerly defined in the
<relation_type>_relation_primary preference.

1. In the Business Objects folder, right-click the custom business object to which you want to add the
property, choose Open, and click the Properties tab in the resulting view.
The properties of the business object appear in a table.

2. Click the Add button to the right of the properties table.


The Business Modeler IDE runs the New Property wizard.

3. Under Property Types, select Relation. Click Next.

4. Perform the following steps in the Relation Property dialog box:

a. Click the Browse button to the right of the Relation Business Object box and select the
relation business object you want to use, for example, IMAN_specification. The available
business objects are children of the ImanRelation business object.

b. In the Description box, type a description of the new relation property.

c. Select Show this property during creation of a Business Object to add this property to the
dialog box displayed when creating the business object on which the property resides. This
also adds the property to the Operation Descriptor tab.
For information about the .

d. Click Finish.
The new relation property is added to the property table.

5. After you add a property, change characteristics of the property by using property constants.

5-156 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a relation property

a. On the Properties tab, select the new property in the properties table.

b. In the Property Constants table, select the constant you want to change and click the Edit
button.

In addition to making properties enabled, you can use constants to make properties modifiable,
exportable, required, a stub property, visible, or to set the initial value.

6. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

7. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

8. After deployment, test your new property in the Teamcenter rich client.
For example, if you added a relation property to a custom child of the ItemRevision business
object, in the My Teamcenter application, select an instance of that kind of item revision and
attach a dataset to it using the new relation property by using the Edit→Copy and Edit→Paste...
option.

Business Modeler IDE PLM00071 11.2 5-157


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
If you want to make attached objects of the relation property display under the target business
object, you must modify the <Type_Name>_DefaultChildProperties preference to include your
new relation property. For example, if you added a relation property to the ItemRevision business
object, include the new relation property in the ItemRevision_DefaultChildProperties
preference.
To set the relation property as a default paste relation, you must add it to the business-object-
name_default_relation preference. For example, add it to the ItemRevision_default_relation
preference. To change preferences, in the rich client, choose Edit→Options, and click the Search
link at the bottom of the Options dialog box.
The NoChildrenAllowed registry entry in the com.teamcenter.rac.common
\common.properties file controls which type shows children below it (that is, supports
expansion). If you want to see relations for any of the following types, you must override the
registry entry and remove the type for which you want to show relations. By default, this registry
entry prevents showing relations for the following types:

NoChildrenAllowed=com.teamcenter.rac.kernel.TCComponentForm,
com.teamcenter.rac.kernel.TCComponentBOMView,
com.teamcenter.rac.kernel.TCComponentQuery,
com.teamcenter.rac.kernel.TCComponentProcess,
com.teamcenter.rac.kernel.TCComponentReleaseStatus,
com.teamcenter.rac.kernel.TCComponentRevisionRule,
com.teamcenter.rac.kernel.TCComponentSite,
com.teamcenter.rac.kernel.TCComponentPerson,
com.teamcenter.rac.kernel.TCComponentUser,
com.teamcenter.rac.kernel.TCComponentGroupMember,
com.teamcenter.rac.kernel.TCCcomponentListOfValues,
com.teamcenter.rac.kernel.TCComponentReportDesign,
com.teamcenter.rac.kernel.TCComponentAssemblyArrangement,
com.teamcenter.rac.kernel.TCComponentReportDefinition

Add a table property

You can add a table property to a business object that displays properties in a table format. Each column
in the table is defined as a property. You can include persistent and run-time properties in such a table
but not compound or relation properties. However, you can attach lists of values (LOVs) to properties in
a table as well as use property constants. A table property can only be displayed on the Summary tab of
the business object. To display the table, you must add the property to the summary XML rendering
style sheet of the business object.

Suppose you want to display the paint colors that are available for use with a custom item revision. The
table may appear like this in the rich client:

5-158 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a table property

Using this as an example, perform the following steps to add the table property:

1. In the Business Objects folder, locate the business object to which you want to add the property.

2. Right-click the business object, choose Open, and click the Properties tab in the resulting view.
The properties of the business object are displayed in a table.

3. Click the Add button to the right.


The Business Modeler IDE runs the New Property wizard.

4. Under Property Types, select Table.

5. Click Next.
The Table Property dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-159


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

6. Perform the following steps in the Table Property dialog box:

a. In the Name box, type the property name as you want it to appear in the database. The name
cannot contain spaces.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, a4_. The
prefix for properties begins with a lowercase letter.

b. In the Display Name box, type the name as you want it to appear in the user interface.

c. In the Description box, type a description of the property.

d. To the right of the Table Row Business Object box, you can click Browse to use an existing
table row type, or click New to create a new table row type. For our example, click the New
button in the Table Row Business Object box.
The New Business Object dialog box is displayed.

5-160 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a table property

e. Perform the following steps in the New Business Object dialog box:

A. In the Name box, type the property name as you want it to appear in the database. The
name cannot contain spaces.
When you name a new data model object, a prefix from the template is automatically
affixed to the name to designate the object as belonging to your organization, for
example, a4_. The prefix for properties begins with a lowercase letter.

B. In the Display Name box, type the name as you want it to appear in the user interface.

C. To the right of the Parent box, click the Browse button to select another parent type if
needed for the type of row data you want to use.

D. In the Description box, type a description of the property.

E. Click the Add button to add properties to appear on the table row. This is the same as
adding persistent properties.

F. Review the entries.


Following is the business object for our example.

Business Modeler IDE PLM00071 11.2 5-161


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

G. Click Finish.
The completed dialog box is displayed.

H. Click Finish in the Table Property dialog box.


The new table property is displayed on the business object.

5-162 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a table property

I. Open the table row business object to see the properties that are displayed in the row. At
this point, you can select properties to attach LOVs or to change property constants
values.
In our example, attach the Make Buy classic LOV to the z5_MakeBuy property. This
allows the end user to indicate whether it is necessary to make or buy the paint color.

7. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

8. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

9. After deployment, test your new table property in the Teamcenter rich client by adding the table
property to the Summary tab of the business object that holds the table property:

a. Create a custom summary style sheet for the business object that holds the table property.

b. Add the table row properties to the custom summary style sheet.
For our example, add the following text to the style sheet and click Apply:

Business Modeler IDE PLM00071 11.2 5-163


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

<section titleKey="tc_xrt_PaintColors">
<objectSet source="z5_PaintColorsTable.Z5_PaintColorsTableRow"
defaultdisplay="tableDisplay"
sortby="z5_ColorName" sortdirection="ascending">
<tableDisplay>
<property name="z5_ColorName"/>
<property name="z5_RValue"/>
<property name="z5_GValue"/>
<property name="z5_BValue"/>
<property name="z5_MakeBuy"/>
</tableDisplay>
<command renderingHint="commandbutton"
commandId="com.teamcenter.rac.common.AddReference"/>
<command renderingHint="commandbutton"
commandId="com.teamcenter.rac.deleteReference"/>
<parameter name="localSelection" value="true"/>
</objectSet>
</section>

Note that the objectSet source is defined as the table-property.table-row-business-object (for


example, z5_PaintColorsTable.Z5_PaintColorsTableRow).
The style sheet looks like the following:

10. To display the tab title correctly, place the localized value of the table title (for example,
"tc_xrt_PaintColors") in the following file and restart your system for the change to take effect:

TC_ROOT\lang\textserver\lang_locale\tc_xrt_text_locale.xml

11. Select the business object that contains the table property. For our example, select the custom item
revision and click the Summary tab.
The table property is displayed in the Summary tab.

5-164 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a name-value property

In our example, click the Add New button to add a new table row, or select a table row and click
the Delete button to remove a row. (You must check out the object to enable the Add New and
Delete buttons.)

Tip:
Check out the object to enable the Add New button and Delete button. After the object is
checked out, double-click a row to edit its properties.

Add a name-value property

Name-value properties display name-value pairs in a tabular format to represent ad hoc characteristics
not defined in the persistent properties for the business object.

End users can add, edit, or remove rows of names and values in the table. Each row in the table is
unique by name and can contain different kinds of primitive data, such as Boolean, date, double,
integer, and string. In other words, a name-value property table can show rows of heterogeneous data.
(In a table property, the type of data in each row is of the same type.) A name-value property can only
be displayed on the Summary tab of the business object. To display the table, you must add the
property to the summary XML rendering style sheet of the business object.

Suppose you want to display the performance specifications for a sports car. The table may appear like
this in the rich client:

Business Modeler IDE PLM00071 11.2 5-165


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Caution:
Name-value properties only exist in the scope of a specific object and are not meant to substitute
for a persistent property in any way. The following chart shows the known limitations of name-
value properties.

Persistent
properties Name-value properties

Scope Global Local to object

Inheritable Yes No

Supports default Yes No


values

Supports upper and Yes No


lower bound

Supports property Yes No


constants

Supports compound Yes No


properties

Supports localization Yes No

1. In the Business Objects folder, locate the business object to which you want to add the property.

2. Right-click the business object, choose Open, and click the Properties tab in the resulting view.

The properties of the business object are displayed in a table.

3. Click the Add button to the right.

The Business Modeler IDE runs the New Property wizard.

4. Under Property Types, select Name-Value.

5-166 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a name-value property

5. Click Next.

The Name-Value Property dialog box is displayed.

6. Perform the following steps in the Name-Value Property dialog box:

a. In the Name box, type the property name as you want it to appear in the database. The name
cannot contain spaces.

When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, a4_. The
prefix for properties begins with a lowercase letter.

b. In the Display Name box, type the name as you want it to appear in the user interface.

Business Modeler IDE PLM00071 11.2 5-167


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

c. In the Description box, type a description of the property.

d. Click Finish.

The completed dialog box is displayed.

7. Click Finish in the Name-Value Property dialog box.

The new name-value property is displayed on the business object.

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

9. Deploy your changes to a test server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

10. After deployment, test your new name-value property in the Teamcenter rich client by adding the
name-value property to the Summary tab of the business object that holds the name-value
property:

5-168 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a name-value property

a. Create a custom summary style sheet for the business object that holds the name-value
property.

b. Add the name-value property to the custom summary style sheet.

For our example, add the following text to the style sheet and click Apply:

<section title="tc_xrt_VehiclePerformanceSpecifications">
<objectSet source="b6_VehiclePerformanceSpecs.Fnd0NameValue"
defaultdisplay="tableDisplay"
sortby=" fnd0Name" sortdirection="ascending">
<tableDisplay>
<property name="fnd0Name"/>
<property name="fnd0Value"/>
</tableDisplay>
<command renderingHint="commandbutton"
commandId="com.teamcenter.rac.common.AddReference"/>
<command renderingHint="commandbutton"
commandId="com.teamcenter.rac.deleteReference"/>
<parameter name="localSelection" value="true"/>
</objectSet>
</section>

Note that the objectSet source is defined as the name-value-property.Fnd0NameValue (for


example, b6_VehiclePerformanceSpecs.Fnd0NameValue). Fnd0NameValue is the business
object that defines the table, and the fnd0Name and fnd0Value properties define the
columns on the table.

The style sheet looks like the following:

c. To display the tab title correctly, place the localized value of the table title (for example,
"tc_xrt_VehiclePerformanceSpecifications") in the following file and restart your system for
the change to take effect:

TC_ROOT\lang\textserver\lang_locale\tc_xrt_text_locale.xml

Business Modeler IDE PLM00071 11.2 5-169


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

d. Select the business object that contains the name-value property. For our example, select the
custom item and click the Summary tab.

The name-value property is displayed in the Summary tab.

e. Check out the object to enable the Add New button and Delete button.

f. Click the Add New button to add a new table row.

The Name-Value Type dialog box is displayed.

g. Select the type of data to add. For example, to add data whose values are whole numbers,
select Integer.

h. Type a new name in the Name box and type a value in the Value box.

5-170 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Setting property behavior with property constants

Tip:
If names of that data type (for example, integer) have already been entered for this
property, you can click the arrow in the Name box to select from a list.

i. Continue to enter names and values to the table. You can enter any of the available data types
to the table: Boolean, date, double, integer, or string. When done, click Finish.

The name-value data is displayed in the table.

j. Check in the object to commit the name-value data to the database. When the object is
checked in, the Add New button and Delete button are unavailable.

Property constants

Setting property behavior with property constants

You can change the characteristics of properties by using property constants.

Use property constants to make properties enabled, modifiable, exportable, required, a stub property,
visible, or set the initial value. You can even create your own property constants.

1. In the Business Objects folder, locate the business object that has the property whose
characteristics you want to change.

Business Modeler IDE PLM00071 11.2 5-171


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

2. Right-click the business object, choose Open, and click the Properties tab in the resulting view.
The properties of the business object appear in a table.

3. In the Properties table, select the property whose properties you want to change.

4. On the Property Constants tab, select the property constant whose value you want to change for
the property.

5. Click the Edit button.


The system displays the Modify Property Constant dialog box.

6. Type an entry in the Value box, or select a value using the dropdown menu, or select the check
box. Valid values are dependent on the property constant.

7. Click Finish.
The new value displays in the Value column on the Property Constants table.

Note:
If you want to set the value back to its previous value, click the Reset button. This resets the
value and reloads the data model.

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

Create a property constant

Property constants provide default values to business object properties. Because these constants are
attached to properties, they are inherited and can be overridden in the hierarchy.

You can define a property constant to have a specific scope so that it is available only on certain
properties on certain business objects. This ensures that server API can retrieve the value properly on
just those properties. You can also define a property constant to be available on all business objects or
properties by using an asterisk (*) when you set the scope. In this way, you can set the scope to be as
wide or narrow as you want.

You can create property constants for a number of situations. Some examples are:

• Set whether the property is required.

• Set the initial value of the property.

When you create a new constant, you must also add the code on the server to return the constant's
value to the caller, so the caller can branch the business logic based on the returned value. The server
side code can use the following published ITK to retrieve a property constant value:

5-172 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a property constant

int CONSTANTS_get_property_constant_value(
const char* constant_name, /* <I> */
const char* type_name, /* <I> */
const char* property_name, /* <I> */
char** value /* <OF> */
);

Once a constant is set, it can be overridden by another template. The rule is that the last template that
gets installed determines the constant value that is used.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Property Constants in the
Wizards box, and click Next.

• Open the Extensions\Constants folders, right-click the Property Constants folder, and choose
New Property Constants.

The New Property Constants wizard runs.

2. Perform the following steps in the Create Property Constant dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new constant in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Description box, type an explanation of how the constant is to be used.

d. Click the Add button to the right of the Scope box.


Perform the following steps in the Business Object and Property Scope dialog box:

A. Click the Browse button to the right of the Business Object Scope box and choose the
business object to apply the constant to. Remember that property constants are
inherited by children business objects. If you want the constant to apply to all business
objects, type an asterisk (*).

B. Click the Browse button to the right of the Property Scope box and choose the property
to apply the constant to. If you want the constant to apply to all properties, type an
asterisk (*).

C. Click Finish.
The business object and property appear in the Scope box separated by a period (.). An
asterisk indicates the constant applies to all business objects or properties. For example:

• *.*

Business Modeler IDE PLM00071 11.2 5-173


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

The constant can be applied to all properties on all business objects.

• *.object_desc
The constant can be applied to the object_desc property on all business objects

• Item.*
The constant can be applied to all properties on the Item business object.

• Item.object_des
The constant can be applied only to the object_desc property on the Item business
object and its children.

e. If desired, click the Add button to the right of the Scope box to narrow the scope further.

f. Click the arrow in the Data Type box to select one of the following:

• Boolean
Allows two choices to the user (True or False).

• String
Indicates that the value is a text string.

• List
Contains a list of values.

g. If you selected the List data type, a Values table appears. Click the Add button to add values
to the list:

A. In the Value box, type a value for the list.

B. Select Secured to prevent the selected value from being overridden by another
template.

C. Click Finish.

h. In the Default Value box, enter the initial value of the constant. Entry differs depending on
the data type you previously chose:

• If you selected the String data type, type in the default value.

• If you selected the Boolean data type, click the arrow to select True or False for the default
value.

• If you selected the List data type, click Browse to select a value from the available ones on
the list.

5-174 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Change the value of a custom property constant

Note:
If the selected default value is marked as Secured then this value cannot be overridden
by any other template.

i. Use the following check boxes to enable the constant for live updates:

• Allow Live Updates?


Select this check box to specify that the constant definition itself can be updated live.

• Allow Live Updates to the Constant Override?


Select this check box to specify that the constant attachment (override) can be updated.
The constant attachment contains the value set for the constant.

In a live updates environment, you can deploy changes for custom constants, but you cannot
deploy changes for COTS constants.

j. Click Finish.
The new constant appears under the Property Constants folder.

Note:
You can also see the property constant on the business object it is applied to. Right-click
the business object, choose Open, and click the Properties tab. The constant appears
on the Property Constants tab.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

5. To verify the constant on the server, run the getpropertyconstantvalue utility. This utility helps
test the value of a property constant on a particular business object and property in the database.
The utility accepts the name of a property constant, business object, and property, and outputs the
value of the constant if present.

Change the value of a custom property constant

Property constants provide default values to business object properties. Because these constants are
attached to properties, they are inherited and can be overridden in the hierarchy. You can change the
value of a custom property constant and the properties it applies to (its properties scope).

1. In the Extensions folder, open the Constants\Property Constants folders.

Business Modeler IDE PLM00071 11.2 5-175


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

2. Right-click the custom property constant and choose Open. (You can only change custom property
constants.)
The Property Constant editor displays the constant.

3. To change the properties that the custom constant applies to, click the Add or Remove buttons to
the right of the Property Scope box.

4. Use the Default Value box to change the value of the constant. How you change the value
depends on its type:

• String
Type a new value.

• Boolean
Click the arrow in the Default Value box to select True or False.

• List
Click the Browse button to the right of the Default Value box to select another value from the
list. Click the Add and Remove buttons to the right of the Default Value box to add values to
the list, or to remove values.

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.
The constant change is saved in the active extension file.

Property constants reference

Ccd0TypeRefInitCols property constant

The Ccd0TypeRefInitCols property constant specifies the initial number of columns on a table
definition. It is placed on the tableDefinition property of the ParmDefRevision business object and its
children. Its default value is 1.

This constant is provided by the ccdm template file. This constant is used by Embedded Software
Solutions.

Ccd0TypeRefInitRows property constant

The Ccd0TypeRefInitRows property constant specifies the initial number of rows on a table definition. It
is placed on the tableDefinition property of the ParmDefRevision business object and its children. Its
default value is 1.

This constant is provided by the ccdm template file. This constant is used by Embedded Software
Solutions.

5-176 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Ccd0TypeRefInitValue property constant

Ccd0TypeRefInitValue property constant

The Ccd0TypeRefInitValue property constant specifies the initial table cell value of the initialValues,
maxValues, and minValues properties on the children of the ParmDefRevision business object.

This constant is provided by the ccdm template file. This constant is used by Embedded Software
Solutions.

ComplexProperty property constant

ComplexProperty property constants allow you to specify a combination of properties and constant
strings to assign a value to a selected property. Complex properties are derived from one or more
properties depending on the pattern of the constant, for example:

$prop1+"string literal"+$prop2

The ComplexProperty property constant applies only to the following business objects: Item,
ItemRevision, Alias, Identifier, Dataset, and Form. In addition, source properties and the destination
property must belong to the same object.

Note:
If complex properties are derived from run-time properties, the properties are updated only when
the object is explicitly saved.

ComplexProperty property constants apply only to string properties and are stored as preferences.

Use the following pattern to define the description of an item as a combination of the ItemId and
ItemName properties combined with a string literal:

$item_id+"//"+$object_name

Note:
If a ComplexProperty property constant and an initial value constant are defined for the same
object property, the complex property constant takes precedence over the initial value constant.

CopyFromOriginal property constant

The CopyFromOriginal property constant specifies whether the property is copied from the original
property in the user interface when a deep copy rule is run. Valid values for the constant are true and
false. The default value is true.

Business Modeler IDE PLM00071 11.2 5-177


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Enabled property constant

The Enabled property constant controls how the value of the property can be modified. Valid values for
the Enabled constant are true and false. Set this constant to true to allow the property to be modified
in the user interface, or set to false to indicate that the property can only be modified using ITK.

By default, the Enabled property constant value is displayed as false, but it actually obtains its value
from the Modifiable property constant. The Enabled property constant is actually set to true or false
only if you manually set it. To set it to true, select the property in the table on the Properties tab and
select the Enabled property constant, then click the Edit button and select the Value check box. This
puts a check mark in the Overridden column of the constant, indicating that this overrides the default
setting. If you now clear this check box, the value changes back to false, and a check mark appears in
the Overridden column indicating that the constant is actively set to false.

Note:
This constant cannot be set to true for read-only properties. In addition, if this constant is set to
false, users cannot modify the values through the Teamcenter rich client and thin client
interfaces; however, the property values can be modified using the ITK interface according to the
Modifiable property constant configuration.

The following table shows the property types and value types for which the Enabled property constant
is applicable.

Property type Value type Applicable Not applicable

Compound Basic data types (int, char, X


string)

Typed and untyped reference X

Typed and untyped relation X

Attribute Basic data types (int, char, X


string)

Typed and untyped reference X

Typed and untyped relation X

Reference Basic data types (int, char, X


string)

Typed and untyped reference X

5-178 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Exportable property constant

Property type Value type Applicable Not applicable

Typed and untyped relation X

Relation Basic data types (int, char, X


string)

Typed and untyped reference X

Typed and untyped relation X

Runtime Basic data types (int, char, X


string)

Typed and untyped reference X

Typed and untyped relation X

Exportable property constant

The Exportable property constant defines if a business object property can be exported using PLM
XML. You can set whether export is optional, required, or prohibited.

Fnd0AttrIcesToExclude property constant

The Fnd0AttrIcesToExclude property constant determines the attributes on the occurrence that should
be excluded from incremental change element (ICE) carryover. By default, the excluded properties
are the bl_plmxml_abs_xform (absolute transformation matrix) property and the bl_sequence_no
(sequence number) property on the BOMLine business object and its children.

Incremental change allows you to track changes to occurrence attributes, attachments, and the addition
or removal of occurrences from a parent BOM view revision (BVR). If the user copies or cuts structure
lines, and then pastes them to another location or within the same structure under an incremental
change context, the incremental change elements (ICEs) associated with the source lines are
propagated to the target location, except for those specified in this property constant.

To add a property for exclusion, open the business object holding the property and on the Properties
tab select the property and set the Fnd0AttrIcesToExclude property constant to true.

The Fnd0EnableIceCarryOver business object constant determines the item types to be considered for
ICE carryover.

Business Modeler IDE PLM00071 11.2 5-179


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Fnd0EnableTimeForDateProperty property constant

The Fnd0EnableTimeForDateProperty property constant specifies whether a date property displays the
time. The default value is false. Set it to true to display the time. A value of false set by a COTS template
may be overridden. This constant is supported in the rich client and Client for Office with HTML style
sheet rendering.

Fnd0InheritFrom property constant

The Fnd0InheritFrom property constant is used to inherit the value of a property from another business
object when business objects are automatically created using the automateAndLink extension. Set this
property constant with the following format:

business-object-name.property-name

For example, suppose that you want to allow users to create a design in Teamcenter (Design is source
business object) and have a corresponding part created automatically at the same time (Part is the
target business object). You also want the target business object to inherit some of the property values
from the source business object, such as the object name and description. You can use the
Fnd0InheritFrom property constant on the target business object to inherit the property values from
the source business object when the automateAndLink extension is executed.

In this example, open the Part (target) business object, select the object_name property, and set the
value of the Fnd0InheritFrom property constant to Design.object_name.

Fnd0IsFormattable property constant

The Fnd0IsFormattable property constant allows a property formatter to be attached to a property


when the constant is set to true. When the constant is set to false, a property formatter cannot be
attached to the property.

By default value of this property constant is true. If you do not want the property to have a property
formatter attachment, set the property constant value to false. This restricts the formatting that can be
done on the property.

Fnd0PropagationGroup property constant

The Fnd0PropagationGroup property constant is used to flag the security data properties to be
propagated from one business object type to another using propagation rules.

To use the Fnd0PropagationGroup property constant:

1. Open a business object from which you want to propagate select a security data property (for
example, ItemRevision).

2. On the Properties tab, select a property you want to propagate to another business object type (for
example, project_list).

5-180 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Fnd0PropagationGroup property constant

The properties that can be propagated include project properties (such as project_list and
owning_project), ADA license properties (such as license_list), and classification properties (such
as gov_classification, ip_classification, and itar_classification).

3. Select the Fnd0PropagationGroup property constant.

4. Click the Edit button.

5. In the Modify Property Constant dialog box, click the arrow in the Value box to select the
property group to place the property into:

• No Group
Does not propagate any properties.

• Security Group I
Specifies a group of properties whose values must be merged into a master list (merge
propagation style). By default, this group contains the license_list and project_list properties.

• Security Group II
Specifies a group of properties whose values must be filled in (overwrite propagation style). By
default, this group contains the owning_project property.

• Security Group III


Specifies a group of properties whose values must be placed in order of precedence (order
propagation style). By default, this group contains the ip_classification and gov_classification
properties.

Tip:
The list of property groups that is displayed is defined in the Fnd0PropertyGroupNames list
of values (LOV). You can create your own property group to add to this list.

6. Click Finish.
The property is added to the property group.

7. To obtain a list of all the properties that have been placed into the property groups using the
Fnd0PropagationGroup property constant, run the Property Group Usage report by choosing
BMIDE→Reports→Property Group Usage.

8. Create a propagation rule that propagates the properties placed in the property group from a
source business object type (for example, ItemRevision) to a destination business object type. To
create a propagation rule, choose BMIDE→Editors→Propagation Rules Editor and click the Add
button to the right of the rules table.

Business Modeler IDE PLM00071 11.2 5-181


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Fnd0RichText property constant

The Fnd0RichText property constant specifies whether the text of a LongString storage type property
can be formatted with rich text in an XML rendering style sheet. The default value is false. The value of
the constant may be changed to true by selecting the Value check box. This property constant can
be applied to LongString properties only. The rich text is exposed only in Active Workspace where users
can use rich text formatting tools in edit mode for the selected text box.

Following is the process to use this property constant:

1. In the Business Modeler IDE, set the Fnd0RichText property constant on a custom property of
LongString type.

2. Add the custom long string property to an Active Workspace style sheet, for example,
Awp0ItemRevSummary.

5-182 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Fnd0TrimZeroes property constant

Note:
Do not add the custom long string property to a rich client style sheet. If you do, only HTML
tags are displayed in the property.

3. When you run the Active Workspace with the custom long string property added to a style sheet,
the property allows you to use rich text editing tools.

Fnd0TrimZeroes property constant

The Fnd0TrimZeroes property constant specifies whether the trailing zeroes in the decimal value must
be trimmed during display in clients. It applies only to double and float properties. Trailing zeros are
trimmed if the constant is set to true. The default value is false. The value of the constant can be
overwritten at any double or float property.

The following examples illustrate how the decimal values are displayed in clients based on the property
constant value. In these examples, the MyProp property is a double-precision type property attached to
the Item business object.

Business Modeler IDE PLM00071 11.2 5-183


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• No trailing zeroes
In this example, the property value has no trailing zeroes.
If the property constant is not overwritten on the property, the default value of false is used. In this
case, you see the full precision of the property in the user interface:

MyProp value in database: 0.123456781234567

MyProp value in user interface: 0.123456781234567

If the property constant is overridden on this property to true (to trim trailing zeroes in the user
interface), but there are no trailing zeros, all digits are shown in the user interface:

MyProp value in database: 0.123456781234567

MyProp value in user interface: 0.123456781234567

• Trailing zeroes
In this example, the property value has trailing zeroes.
If the constant is not overridden on this property, the default value of false is used (not to remove
trailing zeros in the user interface). In this case, you still see the full precision of the property in the
user interface, even if it has trailing zeros.

MyProp value in database: 0.120000000000000

MyProp value in user interface: 0.120000000000000

However, if the property constant is overridden on this property to true, trailing zeros are removed in
the user interface, and you see only two decimal points:

MyProp value in database: 0.120000000000000

MyProp value in user interface: 0.12

Fnd0UserSettingProperty property constant

The Fnd0UserSettingProperty property constant defines the properties that appear on the Session tab
of the User Settings dialog box in Teamcenter clients.

To see the User Settings dialog box in the rich client, choose Edit→User Setting.

5-184 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Fnd0UserSettingProperty property constant

By default, the Fnd0UserSettingProperty property constant is set to true for the following properties
on the UserSession business object. Notice how these properties are displayed on the User Settings
dialog box:

fnd0groupmember
fnd0LocalVolume
fnd0LocationCode
project
volume
workcontext

If you have a custom user settings dialog box that you want to add a new property to, follow this
process:

1. Add the new runtime property to the UserSession business object.

2. Select the new property on the Properties tab of the UserSession business object. On the
Property Constants tab, select the Fnd0UserSettingsProperty property constant and change its
value to true.

3. Create a dynamic LOV to retrieve the values for the new property.
For examples, see the following dynamic LOVs:

Fnd0GroupMember
Fnd0ImanVolume
Fnd0LocationCode
Fnd0Organization
Fnd0Project
Fnd0WorkContext

Alternately, you can add an implementation to the Fnd0UserSettingsLovImmpl.cxx file to obtain


all the available values for the new property.

Business Modeler IDE PLM00071 11.2 5-185


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

4. Attach the dynamic LOV to the new property.

InitialValue property constant

The InitialValue property constant allows you to specify the initial value to be assigned to a property
when the corresponding object is created. The InitialValue property constant applies to all children of
the WorkspaceObject business object. When entering initial values as variable length arrays (VLAs), the
initial values must be separated by commas.

Note:
The initial value applies only when the property for which it is defined is empty or null.

Initial values are prepopulated in the Name and Description boxes in the New Item, Revise, New
Form, New Dataset, and New Folder dialog boxes in the Teamcenter rich client.

Note:
If an InitialValue property constant and a ComplexProperty property constant are defined for the
same object property, the ComplexProperty property constant takes precedence over the
InitialValue property constant.

The following table shows the property types and value types for which the InitialValue property
constant is applicable.

Property type Value type Applicable Not applicable

Compound Basic data types (int, char, X


string)

Typed and untyped reference NULLTAG only, if


NULL values are
allowed for this
property.

Typed and untyped relation X

Attribute Basic data types (int, char, X


string)

Typed and untyped reference X

Typed and untyped relation X

5-186 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Localizable property constant

Property type Value type Applicable Not applicable

Reference Typed and untyped reference x

Relation Typed and untyped relation X

Runtime Basic data types (int, char, X


string)

Typed and untyped reference NULLTAG only, if


NULL values are
allowed for this
property

Typed and untyped relation X

Localizable property constant

The Localizable property constant defines whether the Localization button is placed on a property in
the rich client or the thin client. The Localization button allows administrators to enter localized text for
the property's values. Valid values for this constant are true and false. The default value is false.

Modifiable property constant

The Modifiable property constant allows you to place restrictions on the modifiability of an object
property. The following restrictions can be applied:

• Read
Allows users to view the value of the property but does not allow them to modify the value.

• Write
Allows users to modify the value of the property if they have write access to the object to which the
property belongs.

• Write Only If Null


Allows users to modify the property only if the existing value is null, or empty.

Business Modeler IDE PLM00071 11.2 5-187


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
Whenever you add a property with a Write Only If Null value for the Modifiable property
constant, you must add the includeIsModifiable="true" flag to the desired property in the
object property policy. This makes the property’s modifiable state available for use by
Teamcenter Services. (The reason that Write Only If NulI values are not made available for use
to Teamcenter Services by default is due to performance issues.)
For example, make the following change in the TC_DATA\soa\policies\RACBase.xml property
policy file for the property in question:

<ObjectType name="WorkspaceObject">
<Property name="object_string" includeIsModifiable="true" />
</ObjectType>

Required property constant

The Required property constant allows you to specify whether a value must be entered for a specific
object property. Valid values for the required constant are true and false. The Required property
constant applies only to the following object business objects: Item, ItemRevision, Alias, Identifier,
Dataset, and Form.

You can also use the Operation Descriptor tab on business objects to make a property required in
creation dialog boxes.

The following table shows the property types and value types for which the Required property constant
is applicable.

Property Property type Applicable Not applicable


type

Compound Basic data types (int, char, string) X

Typed and untyped reference X

Typed and untyped relation X

Attribute Basic data types (int, char, string) X

Typed and untyped reference X

Typed and untyped relation X

Reference Typed and untyped reference X

5-188 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
StubProperty property constant

Property Property type Applicable Not applicable


type

Relation Typed and untyped relation X

Runtime Basic data types (int, char, string) X

Typed and untyped relation X

StubProperty property constant

Indicates if the property must be exported if objects are exported as stubs. This property constant is
available on all properties on all business objects.

Visible property constant

The Visible property constant allows you to specify whether a specific object property is visible in the
interface. For example, you can add run-time properties for internal purposes and set the Visible
property constant to false to hide them from users. Valid values for the Visible property constant are
true and false.

Note:
Visibility constants can only be applied to properties with a presentation name set to a non-NULL
or nonempty value. Properties for which the display name is set to NULL are not displayed in the
interface, and this behavior cannot be overridden using property constants.

The following table shows the property types and value types for which the Visible property constant is
applicable.

Property Value type Applicable Not applicable


type

Compound Basic data types (int, char, string) X

Typed and untyped reference X

Typed and untyped relation X

Attribute Basic data types (int, char, string) X

Typed and untyped reference X

Business Modeler IDE PLM00071 11.2 5-189


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Property Value type Applicable Not applicable


type

Typed and untyped relation X

Reference Typed and untyped reference X

Relation Typed and untyped relation X

Runtime Basic data types (int, char, string) X

Typed and untyped reference X

Typed and untyped relation X

Compound properties

Introduction to compound properties

A compound property is a property that can be displayed on one object (the display object) although it is
defined and resides on a different object (the source object).

The display object and source object are related by one or more Teamcenter relations and reference
properties. The relationship between the display object and source object can be a reference relation, a
GRM relation, or a combination of the two. Compound properties behave as a property of the display
object type. Compound property rules can be inherited by children of the source business object.

Each Teamcenter business object has a set of predefined properties and associated properties.
Depending on the business and process requirements of your company, properties may need to be
defined for the business objects. Run-time properties functionality allows you to add new properties to
business objects; however, adding and registering new properties using this method requires writing
custom code.

Compound properties allow you to add new properties to business objects without writing custom code
and without using run-time properties.

Note:
Although compound properties provide an alternative to run-time properties for adding new
properties to business objects, they are not a replacement for the run-time properties
functionality.

5-190 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Compound property characteristics

Compound property characteristics

A compound property on an object displays the following characteristics:

• Default SET and ASK methods.

• The property inherits access rules from the source object.

• The protection (read/write permissions) of a compound property on the display object is the same as
that of the source object. You can modify the protection of the compound property from the display
object.

• If the source property is modifiable, the compound property is also modifiable. However, if a
ReadOnly flag is set on the compound property, the compound property is a nonmodifiable property
even if the source property is modifiable.

• The compound property appears disabled on the display object if the property on the source object is
not modifiable.

• The name of a compound property and the UI display name can be different from the property name
and property UI display name on the source object.

• The value type of a compound property is the same as that of its source property. For example, if the
value type of the source property is PROP_string, the value type of the compound property is also
PROP_string.

• If the source property is a variable length array (VLA) the compound property is also a VLA.

• If a list of values (LOV) is attached to the source property, the same LOV is attached to the compound
property.

• If the user does not have write privileges to the object on which the compound property exists, the
compound property is not modifiable.

• If the user does not have write privileges to the object on which the source property exists, the user
cannot modify the value of the compound property.

• To obtain the values of the compound property, the system traverses the object hierarchy specified in
the compound property. If the system fails to reach the source property while traversing the object
hierarchy, the value of the compound property cannot be retrieved and an error message is displayed.
The value is displayed as a blank box in the Teamcenter rich client.

Modify legacy compound properties

Some of the compound properties created prior to Engineering Process Management 9.1.2.8 are no
longer supported because they do not have the proper structure of business_object.property in their
path. These compound properties must be modified to have the proper structure.

Business Modeler IDE PLM00071 11.2 5-191


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Compound properties were formerly created and maintained by the Business Modeler application in
Engineering Process Management, and are now maintained in the Business Modeler IDE in Teamcenter.
The current run-time model assumes that the last token in the object hierarchy is the source property,
and the business object in the last token is the source type. If a customer has the compound properties
defined prior to Engineering Process Management 9.1.2.8 that have reference properties in the object
hierarchy (path to source), the Business Modeler IDE loads those compound properties and displays a
warning to replace the object hierarchy.

Perform the following steps to correct the problem:

1. In the Business Objects folder, double-click a business object that has legacy compound
properties.

2. Click the Properties tab.

3. Find a legacy compound property.


You can locate compound properties because are identified by Compound in the Type column of
the table.

4. Select a legacy compound property on the Properties tab and choose Edit.
The Modify Property wizard runs.

5. A warning message appears stating that the property is not structured properly. Select the segment
that is incorrect and click the Replace Segment button. Because incorrectly structured compound
properties are missing the business object in the path, select the correct business object to place on
the segment.

6. When you are done fixing the segments, click Finish.

Set a compound property on a BOM line

If you want to set a compound property on a BOM line object in Structure Manager that displays an in-
context value or incremental change value, you must use the BOMLineAbsOccCompProperties global
constant. You can also create a compound property directly on a BOM line object, but it does not display
the value of in-context edits (that is, the absolute occurrence value) or incremental change edits of the
source property.

1. Set a value on the BOMLineAbsOccCompProperties global constant to create a compound


property for use on a BOM line, for example:

FORM::IMAN_specification::BVRSyncInfo::PROPERTY::BVRSyncInfo::
last_sync_date::Absocc Last Sync Date

This sample compound property displays the value of the last_sync_date property; Absocc Last
Sync Date is the display name of the property.

2. Save the data model and deploy to the rich client.

5-192 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to property formatters

3. To verify the compound property, perform the following steps in the rich client:

a. Create a simple structure and send it to Structure Manager.

b. Right-click the top line and select Set In Context.

c. Click the Show/Hide Data Panel button in the toolbar.

d. Select the child object in the structure and choose File→New→Form. Do this in context
mode because the expectation is to display it only when the parent is loaded.
The form is created as an attachment to item revision with the specification relation. The
Context Line column in the Attachments tab of the data pane shows the context of the
created form.

e. Open the form and edit the attribute values.

f. In Structure Manager, right-click the column headers, choose Insert Columns, and select the
property you added using the global constant. The display name is the last item in the
constant, for example, Absocc Last Sync Date.
The column is added, and the value for that property is displayed in the column.

Controlling how properties are displayed in the user interface by using


property formatters

Introduction to property formatters

Property formatters are display definitions that dictate how properties are shown in the user interface.
For example, the internal database value for a property may be 25.693850392, but the property
formatter attached to the property specifies showing only two decimal spaces, so the property value
displays as 25.69. The value in the database is still the same. Only the value in the user interface is
displayed in a more usable way.

As of Teamcenter 11.2, property formatters specify the display of properties in the Active Workspace.
Other clients will support property formatters in later versions of Teamcenter.

You can attach property formatters to COTS or custom properties. Property formatters can be applied to
Boolean (true/false), double (decimal space), integer (numerical), and string (alphanumeric text)
properties.

Create a new property formatter

A number of property formatters are supplied in the Business Modeler IDE, so in many cases, you may
find the format you want already supplied. But if needed, you can create your own property formatters
and attach them to properties.

1. Choose one of these methods:

Business Modeler IDE PLM00071 11.2 5-193


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• On the menu bar, choose BMIDE→New Model Element, type Property Formatter in the
Wizards box, and click Next.

• Open the Extensions folder, right-click the Property Formatters folder, and choose New
Property Formatter.

The New Property Formatter dialog box is displayed.

2. In the Name box, type the name you want to assign to the new property formatter in the database.
Make the name descriptive of its behavior so that others can tell at a glance the format it specifies.
When you name a new data model object, a prefix from the template is automatically affixed to the
name to designate the object as belonging to your organization, for example, A4_.

3. In the Description box, state the purpose of the property formatter.

4. In the Data Type box, select the property type that the formatter can be used for:

• Boolean
Allows two choices to the user (for example, True or False).

• Double
Specifies a double-precision, floating-point decimal number (sometimes called a real).

5-194 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new property formatter

• Integer
Specifies a whole number without decimals.

• String
Specifies a string of characters.

5. The Standard Configuration pane changes depending on the choice made in the Data Type box:

• Boolean

In the True Value box, type a value if the Boolean choice resolves to true in the database, for
example, True, Yes, On, Open, 1, and so on.
In the False Value box, type a value if the Boolean choice resolves to false in the database, for
example, False, No, Off, Closed, 0, and so on.

• Double

In the Decimal Precision box, type the number of decimal places to display in the user interface.
You can also click the arrows in the box to increment the number.
Select the Use 1000-Separator(,) if you want the system to insert a comma (,) at every
thousandth place. For example, the commas are placed as follows: 1,000.00, 10,000.00,
100,000.00, 100,000,000.00 and so on.

• Integer

Select the Use 1000-Separator(,) if you want the system to insert a comma (,) at every
thousandth place. For example, the commas are placed as follows: 1,000.00, 10,000.00,
100,000.00, 100,000,000.00 and so on.

• String

Business Modeler IDE PLM00071 11.2 5-195


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Click the arrow in the Format as box to select the data type format to format the display as
Double, Integer, or String.

6. Click the Advanced Configuration button and type in the Format Definition box to manually
specify the format of the property display. You can also click the arrow in the Format Definition
box to select from a list of formats.

7. In the Example pane, type a sample value in the Actual Value box to see how the property is
formatted. The Formatted Value box shows the property as it is displayed with the property
formatter rules applied. In this way, you can modify the property formatter to yield the desired
display style.

8. Click Finish.
The property formatter is added to the list of available formatters.

9. To activate the property formatter in the user interface, you must attach it to a property on a
business object.

Attach a property formatter

Attach a property formatter to a property

To display a property with a particular format in the Active Workspace user interface, you must attach a
property formatter to it. For example, if you want to restrict a property to display only two decimal
places rather than 10, attach a property formatter to the property that specifies only to display two
decimal places.

You can attach property formatters to COTS or custom properties. Property formatters can be applied to
Boolean (true/false), double (decimal space), integer (numerical), and string (alphanumeric text)
properties. A number of property formatters are supplied in the Business Modeler IDE, so in many cases,
you may find the format you want already supplied. But if needed, you can create your own property
formatters and attach them to properties.

Note:
The Fnd0IsFormattable property constant allows a property formatter to be attached to a
property when the constant is set to true.

Choose one of these methods:

• Attach a property formatter from a property

5-196 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Attach a property formatter from a property

• Attach a property formatter from the formatter

Attach a property formatter from a property

1. Open a business object and select the property on the Properties tab.

2. Click the Property Formatter Attachments tab.

3. Click the Attach button.


The Attach Property Formatter dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-197


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

4. Click the Browse button in the Property Formatter box to select the property formatter that you
want to use to format the selected property.
The only property formatters available are those that match the data type of the property. For
example, if the property is a double data type property, only double property formatters are shown.

5. Click the Browse button in the Condition box to select a conditional state when the formatter
applies. Selecting isTrue means that the property is always formatted using the property formatter.

6. Select the Override check box to override attachment of the parent business object. Override
can be set only with the isTrue condition.

7. Click Finish.
The attachment is displayed on the Property Formatter Attachments tab.
You can attach multiple property formatters with different conditions to a single property. For
example, you may want a particular property formatter to used when one condition is met, and
another to be used when another condition is met. In this case, you attach multiple formatters to
the property, each with its own condition set on the formatter.

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

9. Deploy your changes to the test server to verify the behavior. Choose BMIDE→Deploy Template
on the menu bar, or select the project and click the Deploy Template button on the main
toolbar.

10. After deployment, test your newly attached property formatter in Active Workspace by creating an
instance of the business object and checking the display of the property in the user interface.
For example, if you attached a property formatter to a double property on an item revision that
limits display to two decimal places, check out the item revision and type a number that extends
more than two decimal spaces. Check in the item revision and observe the display of the value on

5-198 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Attach a property formatter from the formatter

the property. It should display only two decimal spaces despite having more decimal spaces stored
in the database.

Attach a property formatter from the formatter

1. In the BMIDE view, open the Extensions and Property Formatters folders.

2. Open the property formatter you want to attach to a property and click the Property Formatter
Attachments tab.

3. Click the Attach button.


The Attach Property dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-199


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

4. Click the Browse button to the right of the Property box to select the property to attach the
property formatter to.
The only properties available are those that match the data type of the formatter. For example, if
the formatter is for double data properties, only double data type properties are shown in the list.

5. Click the Browse button in the Condition box to select a conditional state when the formatter
applies. Selecting isTrue means that the property is always formatted using the property formatter.

6. Select the Override check box to override attachment of the parent business object. Override
can be set only with the isTrue condition.

7. Click Finish.
The attachment is displayed on the Property Formatter Attachments tab.
You can attach multiple property formatters with different conditions to a single property. For
example, you may want a particular property formatter to used when one condition is met and
another to be used when another condition is met. In this case, you attach multiple formatters to
the property, each with its own condition set on the formatter.

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

9. Deploy your changes to the test server to verify the behavior. Choose BMIDE→Deploy Template
on the menu bar, or select the project and click the Deploy Template button on the main
toolbar.

10. After deployment, test your newly attached property formatter in Active Workspace by creating an
instance of the business object and checking the display of the property in the user interface.
For example, if you attached a property formatter to a double property on an item revision that
limits display to two decimal places, check out the item revision and type a number that extends
more than two decimal spaces. Check in the item revision and observe the display of the value on

5-200 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Boolean property formatter definition

the property. It should display only two decimal spaces despite having more decimal spaces stored
in the database.

Property formatter definition examples

Boolean property formatter definition

The Boolean property formatter allows two choices to the user (for example, True or False).

Pattern definition

true-value;false-value

Pattern details

Y;

True value pattern False value pattern

Pattern examples

You can type any representative string for the Boolean values.

Values are entered to the True Value and False Value boxes when creating a Boolean property
formatter.

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

Y; tY
r

Business Modeler IDE PLM00071 11.2 5-201


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

u
e

Yes;No tY
re
us
e

1;0 t1
r
u
e

True;False tT
rr
uu
ee

T;F tT
r
u
e

Right;Wrong fW
ar
lo
sn
eg

Good;Bad fB
aa
ld

5-202 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Double property formatter definition

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

s
e

OK;Not OK fN
ao
lt
sO
eK

Double property formatter definition

The double property formatter specifies a double-precision, floating-point decimal number (sometimes
called a real).

Pattern definition

positive;negative;zero

Pattern details

#,##0.###; (#,##0.###);"Nil"

Business Modeler IDE PLM00071 11.2 5-203


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Positive value pattern NZ


ee
gr
ao
tv
ia
vl
eu
ve
ap
la
ut
et
pe
ar
tn
t
e
r
n

#,##0.### ("
#N
,i
#l
#"
0
.
#
#
#
)

Pattern characters

Character Description

0 Prints a digit. For example, if the value is 8.9, and it is to be displayed


as 8.90, enter the format as #.00 in the Format Definition box.

# Prints a digit. Zero is not printed. For example, if the custom format is
#.##, and the value is 8.9, the value 8.9 is displayed.

. Decimal separator.

, Digit grouping character.

5-204 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Double property formatter definition

Character Description

; Pattern separator.

"" Pre-fix and post-fix string.

Pattern examples

Following are examples that you can type in the Format Definition box when creating a double
property formatter.

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

#,##0.### .0
5.
65
6

#,##0.### --
11
2,
32
43
.4
5.
65
6

#,###.000 --
11
2,
32
43
.4
5.
65

Business Modeler IDE PLM00071 11.2 5-205


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

6
0

#,##0.###;(#,##0.###) -(
11
2,
32
43
.4
5.
65
6
)

#,##0;#,##0 --
11
2,
32
43
.4
5
6

#,###.###;(#);"Nil" -(
11
22
33
44
.)
5
6

#,##0.###;(#);"Nil" 0N
i
l

5-206 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Double property formatter definition

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

#.### " dia." 11


00
..
22
33
d
i
a
.

"~ " #.### " ft." 1~


01
.0
2.
32
3
f
t
.

"[" #.### "]" 1[


01
.0
2.
32
3
]

"$" #.## " ea." 1$


01
.0
2.
52
5
e

Business Modeler IDE PLM00071 11.2 5-207


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

a
.

##.## " GHz" 55


44
..
77
66
G
H
z

Integer property formatter definition

The integer property formatter specifies a whole number without decimals. Following are examples
that you can type in the Format Definition box when creating an integer property formatter.

Pattern definition

positive;negative;zero

Pattern details

#,##0; (#,##0); "Nil"

5-208 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Integer property formatter definition

Positive value pattern NZ


ee
gr
ao
tv
ia
vl
eu
ve
ap
la
ut
et
pe
ar
tn
t
e
r
n

#,##0 ("
#N
,i
#l
#"
0
)

Pattern characters

Character Description

0 Prints a digit. For example, if the value is 12, and it is to be displayed


as 012, enter the format as 000 in the Format Definition box.

# Prints a digit. Zero is not printed. For example, if the custom format is
###, and the value is 12, the value 12 is displayed.

, Digit grouping character.

; Pattern separator.

"" Pre-fix and post-fix string.

Pattern examples

Following are examples that you can type in the Format Definition box when creating an integer
property formatter.

Business Modeler IDE PLM00071 11.2 5-209


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

#,##0 --
11
2,
32
43
4

#,### --
11
2,
32
43
4

#,##0;(#,##0) -(
11
2,
32
43
4
)

"$" #,### -$
1-
21
3,
42
3
4

#,##0;(#);"Nil" 0N
i
l

5-210 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
String property formatter definition

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

#,##0;(#) 00

# " MB" 11
00
22
44
M
B

String property formatter definition

The string property formatter specifies a string of characters. Following are examples that you can type
in the Format Definition box when creating a string property formatter.

Pattern definition

{d:Positive; Negative; Zero}{i:Positive; Negative; Zero}{s:String}

Pattern details

{d:#,##0.##; (#,##0.##);"-"}{s: "pre " @ " post"}

Business Modeler IDE PLM00071 11.2 5-211


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Double pattern IS
nt
tr
ei
gn
eg
rp
pa
at
tt
te
er
rn
n

Positive value pattern NZPNZS


eeoeet
grsgrr
aoiaoi
tvttvn
iaiiag
vlvvlv
eueeua
vevvel
apaapu
lallae
utuutp
eteeta
peppet
araart
tnttne
t tt r
eeen
r rr
nnn

#,##0.## (" "


#- p
," r
# e
# "
0 @
. "
# p
# o
) s
t
"

5-212 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
String property formatter definition

Pattern characters

Character Description

0 Prints a digit. For example, if the value is 12, and it is to be displayed


as 012, enter the format as 000 in the Format Definition box. This
character is applicable for positive, negative, and zero value patterns.

# Prints a digit. Zero is not printed. For example, if the custom format is
###, and the value is 12, the value 12 is displayed. This character is
applicable for positive, negative, and zero value patterns.

{d: } Double pattern specifier.

{i: } Integer pattern specifier.

{s: } String pattern specifier.

@ Placeholder for actual string value. This character is applicable for


string value patterns.

. Decimal separator. This character is applicable for positive, negative,


and zero value patterns.

, Digit grouping character. This character is applicable for positive,


negative, and zero value patterns.

; Pattern separator.

"" Pre-fix and post-fix string.

Pattern examples

Following are examples that you can type in the Format Definition box when creating a string property
formatter.

Business Modeler IDE PLM00071 11.2 5-213


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

{d:#,##0.##;(#,##0.##)} 11
2,
32
43
.4
5.
65
76

{d:#,##0.##;(#,##0.##)} -(
11
2,
32
43
.4
5.
65
76
)

{d:#,##0.##;(#,##0.##);"Nil"} 0N
i
l

{d:#,##0.##;(#,##0.##);"Nil"}{s: @ } 00
00
00
00
11
88
//
AA

{s:"$ " @ } 1$
01

5-214 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
String property formatter definition

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

00
00
0
{d:#,##0}{s:"$ " @ } 11
0,
00
00
0

{d:#,##0.##;(#)} -(
11
22
33
44
.)
6
7
3
8

{d:# " Dia";# " Dia";” 0 Dia”} 11


00
00
00
.D
2i
4a

{d:#;#;"NIL"}{s: @ " KB"} 44


xx
22
55
66

Business Modeler IDE PLM00071 11.2 5-215


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

K
B

{d:#;#;"NIL"}{s: @ " KB"} 11


00
00
00
.
2
4

{d:#,##0.## " ft/sec"} 11


0,
00
00
.0
2.
32
43
5f
t
/
s
e
c

{d: "$ " #,###.00 } 1$


01
0,
00
00
00
0,
.0
20

5-216 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to lists of values (LOVs)

Pattern RF
eo
ar
lm
va
at
lt
ue
ed
v
a
l
u
e

00
0.
02
00
0
0

{d: # " GT/s"} 55


G
T
/
s

Lists of values

Introduction to lists of values (LOVs)

Lists of values (LOVs) are pick lists of data entry items. They are commonly accessed by Teamcenter
users when they click an arrow in a data entry box.

The LOV folder in the Extensions folder is used for working with LOVs. There are three main types of
lists of values:

• Batch
Store the LOV values in the Teamcenter database rather than storing them in the template.

Business Modeler IDE PLM00071 11.2 5-217


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Classic
Store the LOV values in the template.

• Dynamic
Read the LOV values dynamically by querying the database.

After you create a list of values, you must attach it to a property on a business object.

Create classic lists of values

Lists of values (LOVs) are lists on property boxes in the user interface. Classic lists of values (LOVs) store
the LOV values in the template.

1. Start the Business Modeler IDE.

2. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Classic LOV in the Wizards box,
and click Next.

• Open the Extensions\LOV folders, right-click the Classic LOV folder, and choose New Classic
LOV.

The New Classic LOV wizard runs.

5-218 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create classic lists of values

3. Enter the following information in the Classic LOV dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new LOV in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Description box, state the purpose of the LOV.

Note:
To hide the description for a particular list of values, use the List of Values preference in
the rich client (accessible from the Edit→Options menu) or the Show LOV descriptions
preference in the thin client (accessible from the Edit→Options→Advanced menu).

d. Click the Browse button to the right of the Type box to select the type of LOV you want to
create. You can also press Alt-C or start typing to see a list of suggestions The types are all
children of the ListOfValues business object.

Business Modeler IDE PLM00071 11.2 5-219


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• ListOfValuesChar
Single character. Only alphabetic characters can be used (for example, A-Z). You cannot use
any other kinds of characters (numbers, punctuation, and so on).

• ListOfValuesDate
Date and time in the format used at your site.

• ListOfValuesDouble
Double-precision, floating-point decimal number (sometimes called a real).

• ListOfValuesExternalCharExtent
Single character in the database.

• ListOfValuesExternalDateExtent
Date and time in the database.

• ListOfValuesExternalDoubleExtent
Double-precision, floating-point decimal number in the database.

• ListOfValuesExternalIntExtent
Whole number in the database.

• ListOfValuesExternalStringExtent
A string in the database.

• ListOfValuesFilter
Reference to another nonfiltered LOV with the capability to filter the referenced LOV's
values.

• ListOfValuesInteger
Whole number.

• ListOfValuesIntegerExtentSite
A site name in the database. Valid values are all existing instances of the selected site.

• ListOfValuesIpClassification
An intellectual property classification.

• ListOfValuesString
String of characters.

• ListOfValuesStringExtent
A string of characters in the database. Valid values are all existing instances of strings.

5-220 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create classic lists of values

• ListOfValuesStringExtentGrName
A group name in the database. Valid values are all existing instances of group names.

• ListOfValuesStringExtentPubrType
Workspace object in the database. Valid values are all existing workspace object types.

• ListOfValuesStringExtentStatus
Status in the database. Valid values are all existing release status names.

• ListOfValuesStringExtentUserId
A user ID in the database. Valid values are all existing instances of the active user_id
attribute in the POM_user class.

• ListOfValuesStringExtentUsName
A user name in the database. Valid values are all existing instances of the active
user_name attribute in the POM_user class.

• ListOfValuesStringExtentWSOClass
Workspace object class in the database. Valid values are all existing instances of the
WorkspaceObject class.

Note:
You cannot create a string LOV using the ListOfValuesStringExtentWSOClass LOV
type. If you use this type and attempt to add LOV values, the Add button is disabled.
If you want to get all instances of a class, define a reference property and use the
ListOfValuesTagExtent type LOV.

• ListOfValuesTagExtent
Reference to a unique tag in the database.

• ListOfValuesTagRDVSearchRevRule
Repeatable Digital Validation (RDV) tag.

Warning:
• When you select an LOV data type, ensure that the LOV values entered adhere to the
standard for that data type. For example, if you choose a double primitive data type,
and the data you enter is more than the capacity of that data type, the data may be
truncated or rounded per IEEE standards of double data types. Data type standards
are established by the Institute of Electrical and Electronics Engineers (IEEE).
If you do not adhere to the capacity of the double data type, there may be a
deployment issue for processing other elements like localization and sub-LOV
attachments that are tied to the LOV values.

• Entries containing Extent must match an existing value in the database.

Business Modeler IDE PLM00071 11.2 5-221


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

e. In the Usage section, click one of the following buttons:

• Exhaustive
Indicates that the list contains all possible choices.

• Suggestive
Specifies that the list contains suggested choices. The user can enter their own value if they
want.

• Range
Indicates that the list falls within a range of numeric values.

f. The Reference box appears if you selected string, tag, or tag extent types. Click the Browse
button to the right of the Reference box to select the class and attribute to use for the LOV
values. You can use this to obtain values for the LOV from a class attribute, such as item_id.
You can also press Alt+C or start typing to see a list of suggestions.

Note:
If a class attribute is specified for a string usage or tag LOVs, click the Load button in the
lower right of the dialog box to obtain values from the database and populate the table
with items from the attribute. The Teamcenter Repository Connection wizard prompts
you to log on to a server to look up its available attribute values.
If a class attribute is specified for a tag extent, the actual values of the LOV are
computed at run time when the user attaches this LOV to a property. For example, if the
class name is Item and the attribute name is object_name, while attaching this LOV to
a property, the values are dynamically generated by getting the object names of items
in the database.

g. To create cascading LOVs, select the Show Cascading View check box. Click the Add Sub
LOV button to add existing LOVs to the list.

h. Click the Add button to the right of the LOV Values table.
The Add LOV Value wizard runs.

i. Perform the following steps in the Create dialog box:

A. In the Value box, type the value of the LOV.

Caution:
Special characters are limited to those supported by the ASCII character set only.
Copy and pasting characters from Microsoft Word into Business Modeler IDE boxes
is an unsupported operation.

5-222 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create classic lists of values

B. In the Value Display Name box, type the value name as you want it to appear in the
user interface.

C. In the Description box, type a brief description of the LOV value.

Note:
Although the Condition box is disabled, you can still apply conditions to LOVs.

D. Click Apply or Finish.


The value is added to the LOV Values table.

j. Change the LOVs as desired by using the Remove, Edit, Move Up, Move Down, and Clear
buttons.
If you used the Reference box, click the Load button to look up values on the server.
If you chose the Range usage, fill in the high and low values for the range in the Upper and
Lower boxes.

Note:
Reordering of LOV values is supported. Prior to Teamcenter 8.3, you could reorder the
LOV values in the Business Modeler IDE, but the order was not stored in the database.
Beginning in Teamcenter 8.3, the LOV values can be reordered in the template, and the
new order is stored in the database and displayed in the Teamcenter clients that use the
LOV.
The LOV values cannot be reordered in filter LOVs, extent types of LOVs, or tag extent
types of LOVs.

k. If you want to change the display text for the LOV values in different language locales, click
the Localization button.

l. Click Finish.
The new LOV appears in the Classic LOV folder.

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

To display the LOV in the Teamcenter rich client or thin client user interface, you must attach it to a
property on a business object.

Business Modeler IDE PLM00071 11.2 5-223


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Batch LOVs

Create batch lists of values

Defining a batch list of values (LOV) allows you to directly update the LOV values in the Teamcenter
database rather than storing them in the template. You can use the bmide_manage_batch_lovs utility
to update the values for externally managed LOVs from XML files.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Batch LOV in the Wizards box,
and click Next.

• Open the Extensions\LOV folders, right-click the Batch LOV folder, and choose New Batch LOV.

The New Batch LOV wizard runs.

2. Enter the following information in the Batch LOV dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new LOV in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Description box, state the purpose of the LOV.

5-224 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create batch lists of values

Note:
To allow the description to be displayed for a particular list of values, use the List of
Values preference in the rich client (accessible from the Edit→Options menu) or the
Show LOV descriptions preference in the thin client (accessible from the
Edit→Options→Advanced menu).

d. Click the Browse button to the right of the Type box to select the LOV business object for the
LOV you want to create. You can also press Alt-C or start typing to see a list of suggestions.
The business objects are all children of the ListOfValues business object.

• ListOfValuesChar
Single character. Only alphabetic characters can be used (for example, A-Z). You cannot use
any other kinds of characters (numbers, punctuation, and so on).

• ListOfValuesDate
Date and time in the format used at your site.

• ListOfValuesDouble
Double-precision, floating-point decimal number (sometimes called a real).

• ListOfValuesInteger
Whole number.

• ListOfValuesString
String of characters.

Note:
The ability to store LOV values in the database as batch LOVs is available only on the
following LOV types: ListOfValuesChar, ListOfValuesDate, ListofValuesDouble,
ListOfValuesInteger, and ListOfValuesString.

e. In the Usage section, click one of the following buttons:

• Exhaustive
Indicates that the list contains all possible choices.

• Suggestive
Specifies that the list contains suggested choices. The user can enter their own value if they
want.

f. Click Finish.
The new batch LOV appears in the Batch LOV folder.
Note also that the project is reloaded when you create the batch LOV and that a message like
the following is displayed in the Console view:

Business Modeler IDE PLM00071 11.2 5-225


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

-----------------------------------------------------------------
--
Loading project: "batch_lov_test_project"...
Project "batch_lov_test_project" load completed on
Tue Nov 29 10:05:37 CST 2011.

-----------------------------------------------------------------
--
Sample data and localization files for your LOV: B5_TestLOV,
that
can be used as input to bmide_manage_batch_lovs utility, can be
found at {1}
D:\apps\Siemens\Teamcenter9\bmide\workspace\9000.1.0\
batch_lov_test_project\output\Samples\LOVS\B5_TestLOV

g. Open the new batch LOV.


Note that in the LOV Value Management box of the new batch LOV that the Supply values
directly to Teamcenter database using "bmide_manage_batch_lovs" command line
utility is selected.

3. In the Project Files folder, open the \output\Samples\LOVS folders to see the sample LOV file.

If you want to use the sample file to try out managing batch LOVs, perform the steps as directed in
the sample file:

5-226 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Convert an LOV managed in a template (classic LOV) to an externally managed LOV (batch LOV)

a. Ensure that the LOV has been deployed to the Teamcenter server.

b. Modify the sample file by replacing the commented code with your values.

c. Modify the localization files in the lang folder by replacing the commented code with your
values.

d. Run the bmide_manage_batch_lovs utility, for example:

bmide_manage_batch_lovs -u=username -p=password -g=group


-option=update -file=project\output\Samples\LOVS\B5_TestLOV
\B5_TestLOV.xml.

4. Package the template in the Business Modeler IDE and deploy it using Teamcenter Environment
Manager (TEM) after shutting down the system.

5. Extract LOV values from the external ERP system and place the values in an XML file and
accompanying localization XML file. (You can also manually maintain the XML files without using
an ERP system.) The XML files should confirm to the batch utility schema.
For sample XML files, see the TC_ROOT\bmide\client\samples\externallymanagedlovs directory.

6. Run the bmide_manage_batch_lovs utility to update the externally managed LOVs in the
database with the values in the XML files, for example:

bmide_manage_batch_lovs -u=username -p=password -g=dba


-option=update -file=BatchLOV_LOV1.xml

The XML file containing the LOV localizations must be stored in a lang subdirectory.

7. After the update of externally managed LOVs, if you are using client cache at your site, you must
run the generate_client_meta_cache utility with the generate lovs command to update the LOV
cache stored on the server, for example:

generate_client_meta_cache generate lovs -u=username -p=password -g=dba

Convert an LOV managed in a template (classic LOV) to an externally managed LOV (batch
LOV)

Values for classic LOVs are stored in a template, which can then be deployed to a server. But you can also
externally manage LOV values in batch LOVs and use the bmide_manage_batch_lovs utility to update
the batch LOVs in the database.

1. Open an LOV that is managed in a template (classic LOV).

2. In the LOV Value Management box of the LOV, select Supply values directly to Teamcenter
database using “bmide_manage_batch_lovs” command line utility.

Business Modeler IDE PLM00071 11.2 5-227


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

The following dialog box appears.

3. Click OK.
The LOV is moved from the Classic LOV folder to the Batch LOV folder.
The LOV values, sub-LOV attachments, and localizations are saved in an XML file.

4. In the Project Files folder, open the \output\LOVs_converted_to_batch\date-and-time folders to


find the XML file. An XML file containing localizations for the LOV is created in a lang subfolder.
If you convert multiple LOVs, separate XML files are created for each LOV.

5-228 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Convert an externally managed LOV (batch LOV) to an LOV managed in a template (classic LOV)

5. Choose BMIDE→Save Data Model, then BMIDE→Package Template Extensions, and install the
template to the server. This deletes all the LOV values, localizations, and sub-LOV attachments in
the database for the LOVs that were converted.

6. Run the bmide_manage_batch_lovs utility to update the values in the XML files to the database,
for example:

bmide_manage_batch_lovs -u=username -p=password -g=dba


-option=update -file=A5_test_LOV.xml

7. Now that the LOV values are stored in the database, you can manage the values though the
bmide_manage_batch_lovs utility.

Convert an externally managed LOV (batch LOV) to an LOV managed in a template (classic
LOV)

Externally managed LOVs (batch LOVs) can be converted to LOVs managed in a template (classic LOVs).

1. Open an LOV that is externally managed (batch LOV).

2. In the LOV Value Management box of the LOV, select Enter values using BMIDE and store
values in my template.

The following dialog box appears.

Business Modeler IDE PLM00071 11.2 5-229


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

3. Click OK in the dialog box.


The LOV is moved from the Batch LOV folder to the Classic LOV folder.
The Add button in the user interface is enabled to allow you to add values to the LOV.

4. Add values to the LOV.

Note:
Because the LOV values for this LOV are still in the database, you can extract them using the
bmide_manage_batch_lovs utility. To extract LOV values, sub-LOV attachments, and
localizations for specific LOVs in the database, enter a command like the following on a single
line, for example:

bmide_manage_batch_lovs -u=username -p=password -g=dba


-option=extract -lovs=BatchLOV_LOV1,BatchLOV_LOV2
-file=BatchLOV_extracted.xml

You can then use the extracted values as the basis for new values to enter in the template-
managed LOV.

5. Choose BMIDE→Save Data Model, then BMIDE→Package Template Extensions, and install the
template to the server. After updating the template to the server, these changed LOVs are not
available for extraction or update using the bmide_manage_batch_lovs utility.

Considerations for externally managing LOVs (batch LOVs)

Instead of managing LOVs in a template with classic LOVs, you can manage batch LOVs externally
through the use of the bmide_manage_batch_lovs utility.

The following cases are supported:

5-230 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Considerations for externally managing LOVs (batch LOVs)

• You can only use the following types of LOVs:

ListOfValuesString
ListOfValuesInteger
ListOfValuesDouble
ListOfValuesDate
ListOfValuesChar

• You can only use the Exhaustive and Suggestive LOV usages. (You cannot use the Range usage.)

• You can attach an externally managed LOV as a sub-LOV to a LOV that is managed in a Business
Modeler IDE template. This can be done using the Business Modeler IDE but not using
bmide_manage_batch_lovs utility.

• An externally managed LOV can have sub-LOVs that are either managed in a Business Modeler IDE
template or externally managed. This can be done only through the bmide_manage_batch_lovs
utility but not using the Business Modeler IDE.

The following cases are not supported:

• When a ListOfValuesString type LOV is externally managed, referencing a property of another class is
not allowed because the LOV values are updated through the utility.

• You cannot convert an LOV that you do not own in your template. For example, COTS LOVs cannot be
converted to externally managed LOVs, and vice versa.

• Interdependent LOV attachments are not supported on externally managed LOVs.

• In a cascading LOV, the intermediate LOV cannot be converted to an externally managed LOV.

Lov1
Lov2
Lov3

In this example, Lov1, Lov2 and Lov3 are LOVs managed in the Business Modeler IDE. Here, Lov1 and
Lov3 can be converted to externally managed LOVs, but Lov2 cannot be converted to an externally
managed LOV.

• In the case of an LOV with sub-LOV attachments, when a user has also attached a description to
another property from the interdependent LOV attachment wizard, the value-description attachment
is for level 0 values. In Teamcenter clients, the LOV structure that is displayed only allows users to
select values and descriptions for top-level values.

• An LOV cannot be converted to an externally managed LOV if its value is referenced in any other
element like a verification rule or note type

Business Modeler IDE PLM00071 11.2 5-231


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• An LOV cannot be converted to an externally managed LOV if it is used as a based-on LOV in a filter
LOV.

Dynamic LOVs

Introduction to dynamic LOVs

Lists of values (LOVs) are lists on property boxes in the user interface. Dynamic LOVs show a list of
values obtained dynamically by querying the database.

For example, if you want a list of values of all aluminum widgets in the database that have a blue glossy
finish, you can create a dynamic LOV to query the database for them. Or if you want a list of values of all
the members of the widget development project, you can create a dynamic list of values to find them.
Dynamic lists of values are not static but change as the data in the database changes. They allow end
users to select from lists composed of data that is active in the database.

Prior to Teamcenter 10.1, you had to write code to do the querying when creating a dynamic LOV in the
Business Modeler IDE. Now you can create a query as part of the dynamic LOV definition. This makes it
much easier to create queries, because no coding knowledge is required. You can query for product data
from objects such as items, parts, and datasets, or query for administrative data from categories such as
users, groups, and roles. You can also filter the LOV values from the queries and import LOV values from
an external system using TC XML.

The following sample dynamic LOV queries for all items belonging to a certain project.

5-232 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create dynamic lists of values

When you attach the dynamic LOV to a property and install the template to the server, the query results
are displayed in the end-user interface as a list of values.

Create dynamic lists of values

Dynamic lists of values (LOVs) show a list of values obtained dynamically by querying the database. You
can query for product data from objects such as items, parts, and datasets, or query for administrative
data from categories such as users, groups, and roles. For example, you could create a list of values that
queries for all items supplied by a particular vendor, or all users in a certain group.

1. Choose one of these methods:

Business Modeler IDE PLM00071 11.2 5-233


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• On the menu bar, choose BMIDE→New Model Element, type Dynamic LOV in the Wizards box,
and click Next.

• Open the Extensions\LOV folders, right-click the Dynamic LOV folder, and choose New
Dynamic LOV.

The New Dynamic LOV wizard runs.

2. Perform the following steps in the New Dynamic LOV dialog box:

a. In the Name box, type the name you want to assign to the new LOV in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

b. In the Description box, state the purpose of the LOV.

5-234 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create dynamic lists of values

Note:
To hide the description for a particular list of values, use the List of Values preference in
the rich client (accessible from the Edit→Options menu) or the Show LOV descriptions
preference in the thin client (accessible from the Edit→Options→Advanced menu).

c. Click the arrow in the Data Type box to select the data type of the LOV values:

• String
String of ASCII characters.

• Integer
Whole number.

• Date
Date and time in the format used at your site.

Tip:
For the date attribute type, the earliest date supported is January 2, 1900.

• Double
Double-precision floating point decimal number (sometimes called a real).

• Tag
Reference to a unique tag in the database (for example, item ID).

d. In the Usage section, click one of the following buttons:

• Exhaustive
Indicates that the list contains all possible choices.

• Suggestive
Specifies that the list contains suggested choices. The user can enter their own value if they
want.

e. The Type box defaults to the Fnd0ListOfValuesDynamic business object, which is the
business object used to define dynamic lists of values.

f. Click the Browse button to the right of the Query Type box to select the first business object
type to query. You can also press Alt+C or start typing to see a list of suggestions.
For example, if you want to query for properties on item business objects, select Item. If you
want to query for system users, select User.

g. Click the Add button to the right of the Query Criteria table to select the attributes to include
in the query.

Business Modeler IDE PLM00071 11.2 5-235


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

A. Select one of the Filter options:

• Attributes and References


Displays attributes, typed references, untyped references, and relations on the query
class.

• Referenced By
Displays typed and untyped references on a relation. When you select this and then
select an attribute in the table below, you must click Next to select the referenced
attribute.

B. Select an attribute in the table.

C. Click Finish.

D. After you add an attribute to the Query Criteria table, add the following to complete the
criteria:

i. Click the arrow in the Operator box to select the operator to evaluate the attribute.

5-236 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create dynamic lists of values

Operator Description

= Equal to

> Greater than

< Less than

!= Not equal to

>= Greater than or equal to

<= Less than or equal to

IS_NULL Empty

IS_NOT_NULL Not empty

ii. In the Value box, type the value against which the selected attribute has to be
evaluated.

iii. If you add another attribute to the table, AND automatically is added to the first
column to indicate that this next criteria attribute to be added to the query. Click
the arrow in the cell containing AND to change it to OR if desired.

h. Click the Browse button to the right of the LOV Value Attribute box to select the property to
be used as the value of the LOV displayed in the end-user interface. You can also press Alt+C
or start typing to see a list of suggestions.
The property only can be a simple attribute and not a reference attribute, and it must be the
same property type as in the Data Type box.

i. Click the Browse button to the right of the LOV Description Attribute box to select the
property to be used as the description of the LOV displayed in the end-user interface. You can
also press Alt+C or start typing to see a list of suggestions.

j. Click the Add button to the right of the Filter Attributes box to add properties to view as
columns in the list of values table in the end-user interface. These provide more information
about each value to help the end user. Also, the end user can click the column headings to
sort (filter) the lists of values.
These properties cannot be reference or relation properties.

Business Modeler IDE PLM00071 11.2 5-237


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

k. Click the Test button to send the query to the database and view the returned results. The
results of the query are displayed as the LOV table that appears in the end-user interface.

l. Click Finish to complete the new dynamic list of values.

5-238 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Considerations for creating dynamic LOVs

3. Attach the new dynamic LOV to a property.


When an end user clicks the arrow on the property in the user interface, the LOV table displays the
query results.

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. To deploy your changes to the server, choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

6. After you complete this work, the LOV value and description pairs are displayed on the business
object property in the Teamcenter rich client UI.

Note:
Add the name of a dynamic LOV to the LOVLookupSupport global constant to display the text of
the dynamic LOV in different languages or to search for the text in the dynamic LOV.
The LOVLookupSupport global constant looks into the following methods to do the necessary
mapping from display-to-internal or internal-to-display values:

LOV_ask_num_of_values_msg
LOV_ask_values_msg
LOV_ask_disp_values_msg

Considerations for creating dynamic LOVs

Following are considerations to keep in mind when you create dynamic lists of values:

• If the business object in the Query Type box is revisable (like ItemRevision), the values for all queried
instances are displayed in separate rows when you click the Test button. If you want only the values
from the latest revision to be displayed, you must add the following line in the Query Criteria table:

AND query-type.active_seq != 0

• If the properties in the LOV Value Attribute, LOV Description Attribute, or Filter Attributes boxes
are variable length arrays (VLAs), all the values for the properties in the queried instances are
displayed in separate rows when you click the Test button. In addition, the results are not sortable if
you click the column header; the results are displayed unsorted as they are retrieved from the server.

• If the property in the LOV Description Attribute box is a variable length array (VLA), when you
attempt to create an interdependent LOV using that dynamic LOV, the Attach Description button in
the Interdependent LOV dialog box is disabled. Attaching a description in interdependent LOVs is not
supported for VLA properties.

Business Modeler IDE PLM00071 11.2 5-239


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• If a variable length array (VLA) property is selected as an LOV value, all the values from the array of
the selected instance are displayed. If any of the values from the array are invalid per the query
condition, and that value is selected in the rich client, a error message is displayed, for example:

The Value "80.5" is not valid for the property "a2AttachDouble" of type "Double".

• When you create a dynamic LOV and select a date attribute in the Query Criteria table, if you use the
= operator to find items with a particular date, you do not get the expected results when you click the
Test button. That is because hours and minutes are saved on date attributes, and you must enter the
exact hour and minute to query data attributes using the = operator. Instead, use the >= or the <=
operators.
Also keep in mind that the Business Modeler IDE displays date and time in Greenwich Mean Time
(GMT), and the rich client displays the date and time in the end user’s local time. As a result, there can
be a mismatch between the date attribute values displayed in the Business Modeler IDE and those
retrieved from the database.

Examples of dynamic LOVs

Dynamic LOV example 1

This dynamic LOV example queries for all instances of a custom Part business object owned by the
Engineering group.

To perform this query, first use the owning_group type reference property on the custom Part business
object (for example, A5_MyPart), and then navigate to the Group business object and form a query on
the name property.

1. To create a dynamic LOV, right-click the Dynamic LOV folder and choose New Dynamic LOV.
The New Dynamic LOV dialog box is displayed.

5-240 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Dynamic LOV example 1

2. In the Query Type box, select the custom Part business object (for example, A5_MyPart).

3. Click the Add button to the right of the Query Criteria box.

4. In the Query Clause Attribute dialog box, select the owning_group property and click Next.

Business Modeler IDE PLM00071 11.2 5-241


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

5. In the next Query Clause Attribute dialog box, click the Browse button to the right of the
Referenced Type box and select the Group business object. Then select the name property from
the table. Click Finish.

5-242 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Dynamic LOV example 1

6. In the Value column of the Query Criteria table, type Engineering. The query now looks like this:

A5_MyPart->owning_group(Group).name = Engineering

7. Add properties to define the columns that appear on the LOV table in the end-user interface.
Following is a suggestion for the properties to include.

Box Properties

LOV Value Attribute object_name

LOV Description Attribute object_desc

Filter Attributes item_id


object_type
last_mod_date

The dynamic LOV looks like the following figure.

Business Modeler IDE PLM00071 11.2 5-243


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

8. Click the Test button.


The results of the query are displayed. This table shows the LOV values as they appear in the end-
user interface.

5-244 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Dynamic LOV example 2

Dynamic LOV example 2

This dynamic LOV example shows all datasets related with the Rendering relation to an instance of the
custom A5_MyPart business object named Engine.

To perform this query, choose the query type as Dataset, traverse to the A5_MyPart business object
using the IMAN_Rendering relation, and set the obect_name value as Engine.

1. In the Query Type box, select the Dataset business object.

2. Click the Add button to the right of the Query Criteria box.

3. In the Query Clause Attribute dialog box, select Referenced By. Then in the Referenced By Type
box, select the A5_MyPart business object and select IMAN_Rendering in the table. Click Next.

4. In the next Query Clause Attribute dialog box, select the object_name property in the table. Click
Finish.

Business Modeler IDE PLM00071 11.2 5-245


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

5. In the Value column of the Query Criteria table, type Engine. The query now looks like this:

Dataset<-IMAN_Rendering(A5_MyPart).object_name = Engine

6. Add properties to define the columns that appear on the LOV table in the end-user interface.
Following is a suggestion for the properties to include.

Box Properties

LOV Value Attribute object_name

LOV Description Attribute object_desc

The dynamic LOV looks like the following figure.

5-246 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Dynamic LOV example 2

7. Click the Test button.


The results of the query are displayed. This table shows the LOV values as they appear in the end-
user interface.

Business Modeler IDE PLM00071 11.2 5-247


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Dynamic LOV example 3

This dynamic LOV example shows all datasets related with the Rendering relation to A5_MyPart
business object instances owned by the Engineering group.

This query is similar to Example 2. Instead of a simple attribute on the A5_MyPart business object, use
the owning_group property to traverse to the Group business object on which you define the name
value as Engineering.

1. In the Query Type box, select the Dataset business object.

2. Click the Add button to the right of the Query Criteria box.

3. In the Query Clause Attribute dialog box, select Referenced By. Then in the Referenced By Type
box select the A5_MyPart business object and select IMAN_Rendering in the table. Click Next.

4. In the next Query Clause Attribute dialog box, select the owning_group property and click Next.

5-248 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Dynamic LOV example 3

5. In the next Query Clause Attribute dialog box, click the Browse button to the right of the
Referenced Type box and select the Group business object. Then select the name property from
the table. Click Finish.

Business Modeler IDE PLM00071 11.2 5-249


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

6. In the Value column of the Query Criteria table, type Engine. The query now looks like this:

Dataset<-IMAN_Rendering(A5_MyPart)->owning_group(Group).name =
Engineering

7. Add properties to define the columns that appear on the LOV table in the end-user interface.
Following is a suggestion for the properties to include.

Box Properties

LOV Value Attribute object_name

LOV Description Attribute object_desc

The dynamic LOV looks like the following figure.

5-250 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Dynamic LOV example 3

8. Click the Test button.


The results of the query are displayed. This table shows the LOV values as they appear in the end-
user interface.

Business Modeler IDE PLM00071 11.2 5-251


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Dynamic LOV example using external data

Sometimes you may have instances of objects stored in a system other than Teamcenter, and you want
to make the properties of those objects available for queries in dynamic lists of values. To solve this
problem, you can use TC XML to import the properties information for these objects into lists of values.

This method uses the Administrative List Of Values (Fnd0AdminLOVValue) business object in
Teamcenter to hold the lists of values. By default, this business object type has the following properties:

fnd0lov_category
fnd0lov_description
fnd0lov_value

You can also extend this business object with your own custom properties.

Tip:
Rather than importing lists of values, you can also create instances of the Fnd0AdminLOVValue
business object in clients by choosing File→New→Other and selecting Administrative List Of
Values. You can also use Teamcenter services to create Fnd0AdminLOVValue objects using your
own client application.

Perform the following steps to configure and perform the import:

1. To import instances of the Fnd0AdminLOVValue business object, create a new XML file using the
following sample TC XML file.
For example, you would like to store LOV values for a Colors LOV and a Materials LOV. The Colors
LOV contains values Red, Green, and Blue. The Materials LOV contains values Aluminum,
Copper, and Zinc.
In the following TC XML example, the fnd0lov_* properties are used to hold LOV data. Each entry
uses the same object_name, which is the name of the list of values that the values belong to.

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>


<TCXML xmlns="http://www.tcxml.org/Schemas/TCXMLSchema" format="high_level">

<Fnd0AdminLOVValue creation_date="2013-01-18T05:32:47Z" date_released=""


ead_paragraph="" elemId="id1"
fnd0lov_value="Red"
fnd0lov_description="This is the color red"
fnd0lov_category="ColorsLOV"
gov_classification="" ip_classification="" last_mod_date="2013-01-18T05:32:47Z"
license_list="" object_desc=""
object_name="colorslov_red" owning_group="#id14" owning_organization=""
owning_project="" owning_site="#id16" owning_user="#id18" project_list=""
release_status_list="" revision_number="0">
<GSIdentity elemId="id2" label="B1J9Wu4Q6oxYUD"/>
</Fnd0AdminLOVValue>

<Fnd0AdminLOVValue creation_date="2013-01-18T05:32:47Z" date_released=""

5-252 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Dynamic LOV example using external data

ead_paragraph="" elemId="id3"
fnd0lov_value="Green"
fnd0lov_description="This is the color green"
fnd0lov_category="ColorsLOV"
gov_classification="" ip_classification=""
last_mod_date="2013-01-18T05:32:47Z" license_list="" object_desc=""
object_name="colorslov_green" owning_group="#id14" owning_organization=""
owning_project="" owning_site="#id16" owning_user="id18" project_list=""
release_status_list="" revision_number="0">
<GSIdentity elemId="id4" label="B1J9Wu4Q6oxYUE"/>
</Fnd0AdminLOVValue>

<Fnd0AdminLOVValue creation_date="2013-01-18T05:32:47Z" date_released=""


ead_paragraph="" elemId="id5"
fnd0lov_value="Blue"
fnd0lov_description="This is the color blue"
fnd0lov_category="ColorsLOV"
gov_classification="" ip_classification=""
last_mod_date="2013-01-18T05:32:47Z" license_list="" object_desc=""
object_name="colorslov_blue" owning_group="#id14" owning_organization=""
owning_project="" owning_site="#id16" owning_user="id18" project_list=""
release_status_list="" revision_number="0">
<GSIdentity elemId="id6" label="A1J9Wu4Q6oxYUF"/>
</Fnd0AdminLOVValue>

<Fnd0AdminLOVValue creation_date="2013-01-18T05:32:47Z" date_released=""


ead_paragraph="" elemId="id7"
fnd0lov_value="Aluminum"
fnd0lov_description="This is aluminum material"
fnd0lov_category="MaterialsLOV"
gov_classification="" ip_classification="" last_mod_date="2013-01-18T05:32:47Z"
license_list="" object_desc="" object_name="materialslov_aluminum"
owning_group="#id14"
owning_organization="" owning_project="" owning_site="#id16" owning_user="id18"
project_list="" release_status_list="" revision_number="0">
<GSIdentity elemId="id8" label="A1J9Wu4Q6oxYUG"/>
</Fnd0AdminLOVValue>

<Fnd0AdminLOVValue creation_date="2013-01-18T05:32:47Z" date_released=""


ead_paragraph="" elemId="id9"
fnd0lov_value="Copper"
fnd0lov_description="This is copper material"
fnd0lov_category="MaterialsLOV"
gov_classification="" ip_classification="" last_mod_date="2013-01-18T05:32:47Z"
license_list="" object_desc="" object_name="materialslov_copper"
owning_group="#id14"
owning_organization="" owning_project="" owning_site="#id16" owning_user="#id18"
project_list="" release_status_list="" revision_number="0">
<GSIdentity elemId="id10" label="A1J9Wu4Q6oxYUH"/>
</Fnd0AdminLOVValue>

<Fnd0AdminLOVValue creation_date="2013-01-18T05:32:47Z" date_released=""


ead_paragraph="" elemId="id11"
fnd0lov_value="Zinc"
fnd0lov_description="This is zinc material"
fnd0lov_category="MaterialsLOV"
gov_classification="" ip_classification=""

Business Modeler IDE PLM00071 11.2 5-253


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

last_mod_date="2013-01-18T05:32:47Z" license_list="" object_desc=""


object_name="materialslov_zinc" owning_group="#id14" owning_organization=""
owning_project="" owning_site="#id16" owning_user="#id18" project_list=""
release_status_list="" revision_number="0">
<GSIdentity elemId="id12" label="A1J9Wu4Q6oxYUI"/>
</Fnd0AdminLOVValue>

<Group elemId="id13" list_of_role="#id18" name="dba" object_full_name="dba"


owning_site="#id16" transient_island_id="1">
<GSIdentity elemId="id14" label="AcZBPS6IYtcuYD"/>
</Group>
<POM_imc elemId="id15" owning_site="#id16" site_id="-2049080462"
transient_island_id="0">
<GSIdentity elemId="id16" label="w9TBPSppYtcuYD"/>
</POM_imc>
<User elemId="id17" owning_site="#id16" transient_island_id="1" user_id="infodba">
<GSIdentity elemId="id18" label="AkVBPS6IYtcuYD"/>
</User>
<Role creation_date="2013-01-18T05:32:47Z" elemId="id19"
last_mod_date="2013-01-18T05:32:47Z" owning_group="#id14" owning_site="#id16"
owning_user="#id18" role_name="DBA" transient_island_id="0">
<GSIdentity elemId="id20" label="AYaBPS6IYtcuYD"/>
</Role>

<Header author="infodba" date="2013-02-26" elemId="id21"


originatingSite="-2049080462"
targetSite="-2046041493" time="15:55:18"
version="Teamcenter P10000.1.0.20130206.00">
<TransferFormula elemId="id22">
<TransferMode elemId="id23" gov_classification="" ip_classification=""
license_list=""
object_name="TIEExportDefaultTM"
owning_site="id16" project_list=""/>
<Reason elemId="id24"></Reason>
</TransferFormula>
<TraverseRootRefs>#id1 #id3 #id5 #id7 #id9 #id11</TraverseRootRefs>
</Header>
</TCXML>

Note:
In the preceding XML file, the value of the elemId attribute (for example, elemId="id1234")
and the label attribute (for example, label="abcd") should be unique throughout the file
(The GSID.label parameter holds the UID of the object. If the external system cannot provide
valid UIDs, you can provide a unique string for the label. This enables the TC XML import to
generate UIDs as part of the import.)
The value of the site_id, originatingSite, and targetSite attributes must be updated
according to the current database. The value of the site attributes is the value of the site_id
attribute of the POM_imc class. (Use the site_util utility with the -f=list argument to obtain
the ID of the database.)

2. Import the custom XML file to Teamcenter using the tcxml_import utility, for example:

tcxml_import -u=admin-username -p=admin-password -g=dba


-file=custom-XML-file

5-254 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Dynamic LOV example using external data

The following message is displayed:

Executing high level mode import

3. To verify that the objects are imported to Teamcenter, in the rich client, use the Admin – List of
Values saved search, which searches for Fnd0AdminLOVValue business object instances.

Using that saved query and providing the Category as ColorsLOV displays all the imported
instances of the Fnd0AdminLOVValue business object instances matching that category.

4. Now that instances of the Fnd0AdminLOVValue business object are created in Teamcenter, you
can use the Fnd0AdminLOVValue business object as part of your dynamic LOV definition.

a. Create the dynamic list of values using the Fnd0AdminLOVValue business object in the
Query Type box.
For example, the following figure shows a dynamic list of values that uses the instances of the
Fnd0AdminLOVValue business object imported to the database using TC XML. (Notice how
the query criteria asks for a Fnd0AdminLOVValue instance having the
fnd0lov_category="Plastic" value.)

Business Modeler IDE PLM00071 11.2 5-255


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Click the Test button to see the imported list of values.

b. Attach the dynamic list of values to a property and deploy it.


In the following example, the dynamic LOV is attached to a property named Material.

5-256 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Dynamic LOV example using external data

5. Property value of the instances imported to the database in the previous step can also be updated
through the tcxml_import utility:

a. In the rich client, open PLM XML/TC XML Export Import Administration and configure it as
shown:

b. After creating the new forceUpdate option in the TIEImportOptionSetDefault transfer


option set, run the following command to update the values in the database:

tcxml_import -u=admin-username -p=admin-password -g=dba


-optionset=TIEImportOptionSetDefault –file=modified-XML-file-path

Business Modeler IDE PLM00071 11.2 5-257


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Tip:
If you add your own custom properties on the Fnd0AdminLOVValue business object,
you must add these properties to the TC_ROOT\data\defaultTcxmlScopeRules.xml file
in the TIEExportDefaultPS property set, similar to how the fnd0lov_category,
fnd0lov_value, and fnd0lov_description properties are added.
Execute the tcxml_import utility as follows:

tcxml_import -u=admin-username -p=admin-password -g=dba


-scope_rules -scope_rules_mode=overwrite –file=defaultTcxmlScopeRules.xml

The following message is displayed:

Executing high level mode import

Thereafter, you can run the tcxml_import utility to load instances specified in your TC
XML file.

Attach an LOV to a property

To display an LOV in the user interface, you must attach it to a property on a business object. For
example, if you want to use an LOV to list possible descriptions for an item, attach the LOV to the
object_desc property of the Item business object.

Note:
• To attach an LOV to a property on a form business object, attach the LOV to the same property
on the form’s storage business object. The form’s storage business object serves as the storage
class for the properties. For example, if you create a custom form named A5_MyForm, attach
the LOV to the same property on the A5_MyFormStorage business object. Unless you do this,
the LOV is not attached to the property and does not display in the end-user interface.

• Attaching lists of values to the properties of the ListofValues business object or to any of its
children business objects is not supported. If you have attached lists of values to the properties
of the ListofValues business object or to any of its children business objects in your custom
template, you must delete the attachments prior to using the custom template in the upgrade
process.

1. Expand the Extensions folder until you see the LOV folder is displayed.

2. In the Batch LOV, Classic LOV, or Dynamic LOV folder, right-click the LOV you want to attach and
choose Open. The LOV details appear in a new view.

3. Scroll to the bottom of the view to the LOV Attachments table.

5-258 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Attach an LOV to a property

4. Click the Attach button under the LOV Attachments heading.


The Property Attachment dialog box is displayed.

5. Perform the following steps in the Property Attachment dialog box:

a. Click the Browse button to the right of the Property box and choose the property to which
you want to attach the LOV.

b. Click the Browse button to the right of the Condition box if you want the value to be
available only if a certain condition applies. If you select isTrue as the condition, the value
always applies.

Business Modeler IDE PLM00071 11.2 5-259


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
Only those conditions appear that have valid signatures. For LOV attachments, the valid
condition signature is as follows:

condition-name(UserSession)

c. Select the Override check box if you want to override attachment of the parent business
object. Override can be set only with isTrue condition.

d. Click Finish.
The LOV is attached to the property on all the business objects that use that property. The
business objects and properties appear in the Property Attachments table for the LOV.

6. Click the Attach button to attach the LOV to another property.


Click the Detach button to detach the LOV from a business object.
Click the Edit button to attach an LOV value description and sub-LOV values to a cascading LOV.
This is known as an interdependent LOV.

7. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

8. To see the LOV attachment on the business object property, right-click the business object, choose
Open, click the Properties tab, and locate the property on the properties table.
The LOV attachment appears in the LOV column.

9. After you attach the LOV, you can deploy your changes to the server. Choose BMIDE→Deploy
Template on the menu bar, or select the project and click the Deploy Template button on the
main toolbar.

5-260 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add values to an existing classic LOV

10. After deployment, test your newly attached LOV in the Teamcenter rich client by creating an
instance of the business object and clicking the arrow in the property box where the LOV is
attached.
The list of values appears.
For example, if you attached an LOV to the object_desc property of the Item business object, in
the My Teamcenter application, choose File→New→Item to create an instance of the Item
business object. After you have created the business object, notice that in the Summary or Viewer
tab that the Description box has an arrow. When you click the arrow in the Description box, your
new list of values appears.

Add values to an existing classic LOV

1. In the Extensions folder, open the LOV folder.

2. In the Classic LOV folder, right-click an LOV and choose Open.

3. In the LOV editor, click the Add button to the right of the value table.

Caution:
Special characters are limited to those supported by the ASCII character set only. Copy and
pasting characters from Microsoft Word into Business Modeler IDE boxes is an unsupported
operation.

Note:
Reordering of LOV values is supported. Prior to Teamcenter 8.3, you could reorder the LOV values
in the Business Modeler IDE, but the order was not stored in the database. Beginning in
Teamcenter 8.3, the LOV values can be reordered in the template, and the new order is stored in
the database and displayed in the Teamcenter clients that use the LOV. The LOV values cannot be
reordered in filter LOVs, extent types of LOVs, or tag extent types of LOVs.

Create a filter LOV

You can create a list of values (LOV) based on another LOV by using the Filter LOV type.

1. Right-click the LOV→Classic LOV folder and choose New Classic LOV.
The New Classic LOV wizard runs.

2. In the Name box, type the name you want to assign to the new LOV.

3. In the Type box, select ListOfValuesFilter.

4. Click the Browse button to the right of the Based on LOV box to choose the LOV you want to base
the filter LOV on.
The Find LOV dialog box appears.

Business Modeler IDE PLM00071 11.2 5-261


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

5. Perform the following steps in the Find LOV dialog box:

a. Select the LOV you want to base the new LOV on.
The values for the LOV display in the Preview Values pane.

Note:
If no values display, you cannot select values to filter on.

b. Click OK.
The values of the original LOV are displayed in the LOV Values table.

6. Select the Direct Dependency check box if you want all the new LOV values to be derived directly
from the original LOV.

7. In the Show box, select All to show all the values of the original LOV or Selected to show only
selected values.

8. In the LOV Values pane, select only the values you want to use.

Note:
If you had previously selected Direct Dependency, it is cleared when you clear any values in
the LOV Values pane.

5-262 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a cascading LOV

9. Click Finish.
The new LOV appears in the Classic LOV folder.

10. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.
To display the LOV in the Teamcenter rich client or thin client user interface, you must attach it to
a property on a business object.

Create a cascading LOV

A cascading LOV (also known as a hierarchical LOV) is an LOV whose values have their own sub-LOVs, for
example, a list of states that each contain a list of cities.

1. Create a main classic LOV to hold the sub-LOVs. Then create sub-LOVs that can be used under the
main LOV. For example, create an LOV that contains a list of states, and then create an LOV for each
state that contains a list of cities.

2. Right-click the main LOV in the Classic LOV folder, choose Open, and select the Show Cascading
View check box on the LOV. Cascading LOVs do not appear unless you select the Show Cascading
View check box.

Business Modeler IDE PLM00071 11.2 5-263


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

3. Select a value in the main LOV and choose Add Sub LOV.
In the LOV Selection dialog box, choose the sub-LOV for that value.
For example, in a States LOV, select the California value and add the California Cities sub-LOV.
Then select the Florida value and add the Florida Cities sub-LOV.
After you add the sub-LOVs, they appear in a cascade format in the main LOV.

4. Attach the main LOV to a property by scrolling down to the LOV Attachments table and choosing
Attach.
For example, attach the main LOV to the Item Master business object on the user_data_1
property. Then when you create an Item in the Teamcenter rich client, the cascading LOV appears
in the User Data 1 box in the second dialog box of the New Item wizard.

Note:
If you want to create an interdependent attachment so that the user is prompted to enter
values for each level in the cascading LOV, select the attachment in the LOV Attachments
table and choose Edit.

5-264 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an interdependent LOV

Create an interdependent LOV

You can create an interdependent attachment so that the user is prompted to enter values for each level
in a cascading LOV.

1. Create a cascading LOV.

2. Right-click the cascading LOV in the Classic LOV folder, choose Open, and select the Show
Cascading View check box on the LOV. Cascading LOVs do not appear unless you select the Show
Cascading View check box.

3. Ensure that the cascading LOV is attached to a property in the LOV Attachments table.

Business Modeler IDE PLM00071 11.2 5-265


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

4. Select the attachment in the LOV Attachments table and choose Edit.
The Interdependent LOV dialog box appears.

5. Perform the following steps in the Interdependent LOV dialog box:

a. Select the property and click Attach to attach additional properties to it. (To remove
properties, click Detach)
You are building a tree in the table that represents each level of the cascading LOV. For
example, if you have a cascading LOV of states that contains cities sub-LOVs, you can use this
so that the end user selects the state and then is prompted to select the city.
For example, to create this states and cities example, attach the states LOV to the Item
Master business object on the user_data_1 property. Select the user_data_1 attachment in
the LOV Attachments table and choose Edit. In the Interdependent LOV dialog box, select
user_data_1 and attach user_data_2 to it. The states LOV values are automatically attached
to the user_data_1 property, and the cities sub-LOVs are automatically attached to
user_data_2 property.

Note:
The interdependent LOVs must be balanced to work. If you set up an LOV that is
interdependent, each branch must have an LOV attached. If you add an attachment to
one level, all in that level must have one. Otherwise, the Attach button is not available.

b. To add a property to describe the attachment, click Attach Description. (Click Detach
Description to remove a description.)
This adds the description of the LOV to the value displayed to the user.

c. Click Finish.

5-266 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an interdependent LOV

6. After you save the data model and deploy it to the server, you can test the interdependent LOV.
For example, if you used the states and cities example, test it in My Teamcenter:

a. Choose File→New→Item and click Next on the New Item wizard.

b. Assign a name and number to the item and click Next.

c. In the Define additional item information dialog box, click the button next to the User Data
1 box to select the state, and click the button next to the User Data 2 box to select the city.

d. Click Finish.

e. Open the form on the new item. You should see the User Data 1 and User Data 2 boxes. If
you want to change the values in these boxes, click the Check-Out and Edit button.

Business Modeler IDE PLM00071 11.2 5-267


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Interdependent LOV attachment problems

The following use case is not supported if the template contains multiple interdependent LOV
attachments. Suppose there are multiple interdependent LOV attachments defined in the following way:

Property1
Property2
Property3
Property4

If you interchange Property2 and Property4 and attempt to deploy the template or install it using
Teamcenter Environment Manager (TEM), the interdependent LOV does not work.

To fix the problem, perform the following:

1. Delete the attachments of Property2 and Property4.

2. Deploy the template.

3. Add the attachments at the required places.

4. Deploy the template.

The FND10001: MULTIPLE_INTERDEPENDENT_LOV_ATTACHMENT_ERROR error message results from a


similar problem.

Attaching LOVs with conditions

Beginning with Teamcenter 9.0, the Condition box is disabled when you create LOVs or sub-LOVs, and
the ability to place conditions directly on LOVs or sub-LOVs is deprecated. This change improves
performance because evaluating every condition directly on the LOV or sub-LOV slowed down
processing.

Note:
If you already configured LOVs using conditions on LOV and sub-LOV values, they continue to work
in Teamcenter 9.0. You can migrate those LOV definitions to the newer method using LOV
attachment.

Rather than applying conditions directly to LOVs, you can apply the conditions when attaching the LOVs
to properties. The following examples demonstrate how to apply conditions with LOV and sub-LOV
attachments:

• Example 1: Use conditions on LOVs


In this example, you want to display different LOV values based on whether a user logs on to
Teamcenter as a member of certain programs.

5-268 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Attaching LOVs with conditions

If the end user logs on as a member of the Program A program, you want to show the Green and Red
values for the color property on the MyCarObject business object. But if the user logs on as a
member of the Program B program, you want to show the Gold and Silver values on the same
property.
Prior to Teamcenter 9.0, you could have set conditions directly on the LOV values to determine which
value displayed based on the program. Now, you must set conditions on the LOV attachments.

1. Create the classic LOVs.

a. Create a MyColorLOV1 LOV and add Green and Red values.

Note:
When you add LOV values, all values default to the isTrue condition; you cannot
change the condition.

b. Create a MyColorLOV2 LOV with Gold and Silver values.

2. Create the conditions.

a. Create an isUserBelongToProgramA condition with an isUserBelongToProgramA


(UserSession o) signature and an o.project_name = "Program A" expression.

b. Create an isUserBelongToProgramB condition with an isUserBelongToProgramB


(UserSession o) signature and an o.project_name = "Program B" expression .

3. Attach the LOVs.

a. Attach the MyColorLOV1 LOV to the color property on the MyCarObject business object
with the isUserBelongToProgramA condition.

b. Attach the MyColorLOV2 LOV to the color property on the MyCarObject business object
with the isUserBelongToProgramB condition.

Business Modeler IDE PLM00071 11.2 5-269


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

4. Verify the behavior.

a. Log on to Teamcenter as a member of the Program A program and check the LOV for the
color property on an instance of the MyCarObject business object. Because the
isUserBelongToProgramA condition is satisfied, the MyColorLOV1 LOV is applied and the
Green and Red values are displayed.

b. Log on to Teamcenter as a member of the ProgramB program and check the LOV for the
color property on an instance of the MyCarObject business object. Because the
isUserBelongToProgramB condition is satisfied, the MyColorLOV2 LOV is applied and the
Gold and Silver values are displayed.

Note:
This example is similar to applying conditions based on which project an object belongs to.

• Example 2: Use conditions on sub-LOVs


In this example, you want to display different LOV values based on whether a user logs on to
Teamcenter as a member of certain groups.
Your corporation is operating sales and R&D operations in India and the United States. In India, sales
operations are based in Mumbai and Chennai, and R&D operations are based in Pune and Hyderabad.
In the United States, sales operations are based in Boston and Chicago, and R&D operations are based
in Cincinnati and Los Angeles.
When a user logs on as a member of the sales group and creates an instance of the CostItem business
object and clicks the cost_center property, you want the cities with sales operations to be displayed.
When a user logs on as a member of the R&D group and clicks the same property, you want the cities
with R&D operations to be displayed.

5-270 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Attaching LOVs with conditions

Prior to Teamcenter 9.0, you could have set conditions directly on the sub-LOV values to determine
which value displayed based on group membership. Now, you must set conditions on the LOV
attachments.

1. Create a CostItem business object with a cost_center string property.

2. Create the classic LOVs.

a. Create the sales group LOVs.

A. Create a CostcenterSales LOV and add India and US values.

Note:
When you add LOV values, all values default to the isTrue condition; you cannot
change the condition.

B. Create an IndiaSalesCities LOV and add Mumbai and Chennai values.

C. Add the IndiaSalesCities sub-LOV to the India value of the CostcenterSales LOV.

D. Create a USSalesCities LOV and add Boston and Chicago values.

E. Add the USSalesCities LOV to the US value of the CostcenterSales LOV.

F. Verify that the CostcenterSales LOV structure is as follows:

India
IndiaSalesCities
Mumbai
Chennai
US
USSalesCities
Boston
Chicago

b. Create the R&D group LOVs.

A. Create a CostcenterR&D LOV and add India and US values.

Note:
To avoid duplicate data entries, you could also create a filter LOV based on
another LOV where all countries are defined.

B. Create an IndiaR&DCities LOV and add Pune and Hyderabad values.

Business Modeler IDE PLM00071 11.2 5-271


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

C. Add the IndiaR&DCities sub-LOV to the India value of the CostcenterR&D LOV.

D. Create a USR&DCities LOV and add Cincinnati and Los Angeles values.

E. Add the USR&DCities LOV to the US value of the CostcenterR&D LOV.

F. Verify that the CostcenterR&D LOV structure is as follows:

India
IndiaR&DCities
Pune
Hyderabad
US
USR&DCities
Cincinnati
Los Angeles

3. Create the conditions.

a. Create an isSalesUser condition with an isSalesUser (UserSession o) signature and an


o.group_name = "SalesGroup" expression.

b. Create an isR&DUser condition with an isR&DUser (UserSession o) signature and an


o.group_name = "R&DGroup" condition.

4. Attach the LOVs.

a. Attach the CostcenterSales LOV to the cost_center property of the CostItem business
object using the isSalesUser condition.

b. Attach the CostcenterR&D LOV to the cost_center property of the CostItem business
object using the isR&DUser condition.

5. Verify the behavior.

a. Log on as a member of the SalesGroup group and check the LOV shown for the
cost_center property on an instance of the CostItem business object. Because the
isSalesUser condition is satisfied, the CostcenterSales LOV is applied, and the LOV is
displayed as a cascading LOV with the following values:

India
Mumbai
Chennai
US
Boston
Chicago

5-272 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Using conditions to display LOVs based on a project

b. Log on as a member of the R&DGroup group and check the LOV shown for the cost_center
property on an instance of the CostItem business object. Because the isR&DUser condition
is satisfied, the CostcenterR&D LOV is applied, and the LOV is displayed as a cascading LOV
with following values:

India
Pune
Hyderabad
US
Cincinnati
Los Angeles

Display LOVs based on a project

Using conditions to display LOVs based on a project

Administrators can set up Teamcenter to display different lists of values (LOVs) on an object's property
depending on the project the object is assigned to.

Administrators use the Business Modeler IDE to create conditions that define which list of values to
display for a project. The conditions are limited to using the following project properties in their
definitions: owning_project, project_list, owning_user, and owning_group.

Project LOV scenarios

Following are scenarios you may encounter when creating conditions to display LOVs:

• Scenario 1: An object is assigned to only one project at a time.


Mutually exclusive conditions are designed so that each time an object is assigned to only one project,
one LOV is selected for display. In this use case, define one condition per project.
For example, define isProjectA, isProjectB, IsProjectC conditions as mutually exclusive conditions.
Assuming that these conditions use the project_list property, they can be designed as follows. For
example, the isProjectA condition can have the following signature:

isProjectA(WorkspaceObject o, UserSession u )

The condition has the following expression:

((o!=null AND o.fnd0IsShadowObjectForEdit () = true) AND


Function::INLIST("ProjectA", o.project_list, "project_name")) OR
((o=null OR o.fnd0IsShadowObjectForEdit () = false) AND u.project_name="ProjectA")

Create one condition for each project following this pattern.

Business Modeler IDE PLM00071 11.2 5-273


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
In this scenario, if the isTrue condition is attached in addition to the project-based conditions,
the isTrue condition is used if none of the project-based conditions evaluate to true.

• Scenario 2: An object is assigned to more than one project.


If an object is assigned to more than one project, and the conditions are designed as in the previous
use case, the system may display an LOV randomly from one of the projects. One solution is to create
conditions by grouping. Assuming that conditions use the project_list property, you can create a
group condition for each possible combination of projects that an object could belong to. For
example, the projectGroup1 condition could group ProjectA project and ProjectB project:

((o!=null AND o.fnd0IsShadowObjectForEdit () = true) AND


( Function::INLIST("ProjectA", o.project_list, "project_name")OR
Function::INLIST("ProjectB", o.project_list, "project_name"))) OR
((o=null OR o.fnd0IsShadowObjectForEdit () = false) AND
( u.project_name="ProjectA" OR u.project_name="ProjectB" ))

Or simply:

u.fnd0isInProjListORSessionProject(o,"ProjectA")
OR u.fnd0isInProjListORSessionProject(o,"ProjectB")

Then create two LOVs such that either the ProjectA project or the ProjectB project is assigned to
display the LOV. This ensures predictable LOV display.

• Scenario 3: Display LOVs based on owning project.


Another way to deal with the situation of an object that is assigned to more than one project is to use
the owning_project property instead of the project_list property. Because an object can only be
owned by one project at a time, the condition resolves to display only the LOV from the owning
project. For example, if an object is assigned to both ProjectA and ProjectB, but is only owned by one
of them, create an isOwningProjectA condition and an isOwningProjectB condition to check for the
owning project instead of the project list. For example, for the isOwningProjectA condition, use the
following signature:

isProjectA(WorkspaceObject o, UserSession u )

The condition has the following expression:

(o!=null AND o.fnd0IsShadowObjectForEdit () = true) AND o.owning_project


!= null AND o.owning_project.project_name = "ProjectA" OR u.project_name = "ProjectA"

Or:

u. fnd0isOwningORSessionProject(o, “ProjectA”)

5-274 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Project LOV use case

Project LOV use case

In this use case, if an item is assigned to project A, the Color property shows one set of colors to choose
from in the LOV; if the item is assigned to project B, the Color property shows another set of colors.

1. Create a custom business object and property.

a. Create a child of the Item business object, for example, B5_MyPart.

Note:
Replace B5_ with your project’s unique naming prefix. For all the objects you create for
this example (properties, LOVs, and conditions) replace B5_ with your project’s unique
naming prefix.

b. Add a property to designate the object’s colors, for example, b5_MyColors.

2. Create classic LOVs.

a. Create an LOV to hold color values, for example, B5_Colors1.


Add the following colors:

Red
Blue

b. Create another LOV to hold color values, for example, B5_Colors2.


Add the following colors:

Green
Yellow

3. Create project-based conditions.

• B5_isProjectA
This condition is evaluated to the True value when working with an object in Teamcenter whose
project_list property has a project named ProjectA.
Signature:

B5_isProjectA ( WorkspaceObject o , UserSession u)

Expression:

((o!=null AND o.fnd0IsShadowObjectForEdit () = true) AND


Function::INLIST("ProjectA", o.project_list, "project_name")) OR
((o=null OR o.fnd0IsShadowObjectForEdit () = false) AND
u.project_name="ProjectA")

Business Modeler IDE PLM00071 11.2 5-275


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

This expression says that if the workspace object exists (o!=null), and the projectA project
exists, the condition is true.

• B5_isProjectB
This condition is evaluated to the True value when working with an object in Teamcenter whose
project_list property has a project named ProjectB.
Signature:

B5_isProjectB ( WorkspaceObject o , UserSession u)

Expression:

((o!=null AND o.fnd0IsShadowObjectForEdit () = true) AND


Function::INLIST("ProjectB", o.project_list, "project_name")) OR
((o=null OR o.fnd0IsShadowObjectForEdit () = false) AND
u.project_name="ProjectB")

This expression says that if the workspace object exists (o!=null), and the projectB project
exists, the condition is true.

4. Attach the LOVs to the property

a. Attach B5_Colors1 LOV to the b5_MyColors property and specify the condition as
B5_isProjectA.
This means that when a B5_MyPart object is assigned to the ProjectA project, the
b5_MyColors property displays the values on the B5_Colors1 LOV.

b. Attach B5_Colors2 LOV to the b5_MyColors property and specify the condition as
B5_isProjectB.
This means that when a B5_MyPart object is assigned to the ProjectB project, the
b5_MyColors property displays the values on the B5_Colors2 LOV.

5. Test in the rich client.

a. Deploy the template from the Business Modeler IDE to the server.

b. Create a project whose name is ProjectA and another whose name is ProjectB.

c. Create an instance of the B5_MyPart business object.

d. Set the project on the business object instance to ProjectA by right-clicking the object and
choosing Project→Assign.
On the b5_MyColors property, the available values are Red and Blue.

5-276 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
LOV types

e. Unassign ProjectA by right-clicking the object and choosing Project→Remove.

f. Set the project on the business object instance to ProjectB by right-clicking the object and
choosing Project→Assign.
On the b5_MyColors property, the available values are Green and Yellow.

Note:
If you view a compound property created from a property with a project-based
conditional LOV attachment, the incorrect LOV may initially appear on the compound
property. Manually refresh the object to see the correct LOV displayed on the compound
property.

LOV types

An LOV type restricts LOV values to certain LOV value options. For example, if an LOV type is
ListOfValuesInteger, you can enter only integer values in the LOV.

When you create an LOV, use the Type box to select the type. The following table describes the general
types of LOV.

Business Modeler IDE PLM00071 11.2 5-277


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

General LOV types Description

type Users can load the values from the database or enter
custom values.
The value type is the type selected. The value type can
only be attached to a type attribute.
For example, the type selected is String. This LOV type can
only be attached to a string attribute of a class. If a user
adds custom values, only String values can be added.

typeExtent Values are loaded from the database after setting the
reference class and reference attribute. Values contain all
instances of the class attribute.
Users cannot enter custom values.
For example, the LOV type is ListOfValuesStringExtent. If
the reference class is POM_user and the reference
attribute is user_name, the values of the LOV are all the
existing user names listed in the database.
Or, for example, if the LOV type is ListOfValuesTagExtent,
the values are loaded from the database after setting the
reference class and reference attribute. Values contain all
the instances of the class attribute.

5-278 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
LOV value types

Note:
When you create a list of values (LOV) with the Tag type in the Business Modeler IDE, it is stored in
the Business Modeler IDE template and references as a UID value in a particular database. If you
install the template in another database, the LOV breaks. To avoid this, the Tag type is no longer
supported.
Use one of the following workarounds:

• Use a Tag Extent type.

1. Create an LOV with the Tag Extent type in the Business Modeler IDE.

2. Set the reference class and reference attribute.


This queries the object value at run time and loads the values. The values contain all
instances of the class attribute. You cannot enter custom values.

The disadvantage of this workaround is it displays all the values at run time, and you cannot
manipulate the list.

• Use a new LOV type.

1. Create a new LOV type.

2. Write supporting methods on the server side that query for a set of values from the
database.
Because the Tag type is obsolete, you cannot create a filter LOV on the Tag type.

LOV value types

There are six valid value types used to construct LOVs. Each LOV can contain only one of these value
types (that is, value types cannot be mixed in the same LOV).

Value Definition

Integer Whole number.

Double Double-precision floating point decimal number (sometimes called


a real).

Char Single ASCII character.

String String of ASCII characters.

Business Modeler IDE PLM00071 11.2 5-279


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Value Definition

Date Date and time in the format used at your site.

Tip:
For the date attribute type, the earliest date supported is
January 2, 1900.

Reference Reference to a list of unique tags in the database (for example, item
ID).

LOV usage types

Each LOV must also be assigned one of three usage types.

Usage Definition

Exhaustive Used to define all allowable entries. A user is prevented from


specifying a value that is not contained in an exhaustive LOV.

Suggestive Used to provide a suggested list of allowable values. For example, a


suggestion LOV could be used to list commonly used description
strings. Because description boxes typically accept any user-defined
string, the user can select one of the suggested description strings
from the LOV or enter another user-defined string.

Range Used to provide the user with a constrained subset of allowable


entries. For example, a range LOV could be used to construct a
small consecutive list of serial numbers. A user is prevented from
specifying a value not contained within a range LOV.

Balanced/unbalanced LOVs

Parent-child relationships can be created between LOV values. The relationships can be balanced or
unbalanced. Balance is important while creating LOV wizards.

In a balanced LOV, each level of the LOV displays a related set of values. For example, the first levels of
the LOV show state values, all second levels show city values, and all third levels show zip values. This is
a balanced LOV.

5-280 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
About the Options folder

In an unbalanced LOV, each level of the LOV does not have related set of values. For example, the first
level shows related values (states). In one set, the second level shows city and in another set, the
second level shows zip. This is an unbalanced LOV.

Creating options

About the Options folder

The Options folder in the Extensions folder is for working with options. Whereas business objects
represent parts, documents, and other design objects, options represent configurations for business
objects. For example, a change item tracks a change to a business object, a status item designates the
status of a business object in a workflow, a view item holds structure information for a business object,
and so on.

Add an ID context

An ID context defines when you use unique item IDs. ID contexts are used when you create alias or
alternate IDs.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type ID Context in the Wizards box,
and click Next.

• Open the Extensions\Options folders, right-click the ID Context folder, and choose New ID
Context.

The New ID Context wizard runs.

2. Perform the following steps in the ID Context dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new ID context object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. In the Description box, type a description of the new ID context object.

e. Click Finish.

Business Modeler IDE PLM00071 11.2 5-281


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

Now that you have created the ID context, you can create an alias or alternate ID rule to use it.

Note types

Introduction to note types

A note type is an object associated with a product structure occurrence in a Structure Manager bill of
material (BOM). Note types support list of values, but the LOV must be of type String.

Users can specify a value for any note type that has been defined for the site. The occurrence note
objects that are defined are listed in the Structure Manager Columns, BOMLine Properties, and Notes
Editor dialog boxes. The user can use any of these dialogs to enter a value for a particular occurrence.

The initial list of note types shown are standard note types supplied with the system that are required
for Teamcenter manufacturing process management and for synchronizing object attributes from NX.
These should not be deleted.

Add a note type

A note type is an object associated with a product structure occurrence in a Structure Manager bill of
materials (BOM).

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Note Type in the Wizards box,
and click Next.

• Open the Extensions\Options folders, right-click the List of Note Types folder, and choose New
Note Type.

The New Note Type wizard runs.

2. Perform the following steps in the Note Type dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new note object in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

5-282 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a note type

Note:
When you type the name of a new note type, do not use a period (.) in the name. The
note type does not function property if a period is placed in the name.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. In the Description box, type a description of the new note object.

e. Select the Attach Value List check box if you want to attach a value to the note from a list of
values (LOV).
LOV and Default Value boxes are displayed.

A. Click the Browse button to the right of the LOV box to locate the list of values to attach
to the note.

Note:
The LOV must be a String type because notes are string types.

B. Click the Browse button to the right of the Default Value box to choose the default
value from the list of values that you want to attach to the note.

f. Click Finish.
The new note object appears under the List of Note Types folder.
In addition, a new property with the same name as the new note appears on the BOMLine
run-time business object. If you specified an LOV with the note, the new property
automatically has the LOV attached to it.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project click the Deploy Template button on the main toolbar.

5. After deployment, test your note in the Teamcenter rich client by viewing BOMLine properties in
Structure Manager:

a. In the My Teamcenter application, right-click any item or item revision and choose Send
To→Structure Manager.

b. In the Structure Manager application, right-click the item and choose Properties.

c. Scroll to the bottom of the Properties dialog box and click Show empty properties.
All the BOMLine properties appear. Your new note appears near the bottom of the dialog box.

Business Modeler IDE PLM00071 11.2 5-283


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

You can add an instance of your new note to any child item in the Structure Manager application.
Select the child item, choose View→Notes, click the arrow in the Create box and choose your new
note option.

Add an occurrence type

An occurrence type is used to distinguish how items occur in a product structure. An occurrence
consists of one component in an assembly including its relative position with respect to its parent
assembly. Occurrence types are representations of the PSOccurrence business object.

Note:
You cannot create properties on the PSOccurrence business object.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Occurrence Type in the Wizards
box, and click Next.

• Open the Extensions\Options folders, right-click the List of Occurrence Types folder, and
choose New Occurrence Type.

The New Occurrence Type wizard runs.

2. Perform the following steps in the Occurrence Type dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new occurrence type object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. In the Description box, type a description of the new occurrence type object.

e. Click Finish.
The new occurrence appears under the List of Occurrence Types folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

5-284 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to view types

5. After deployment, test your new change in the Teamcenter rich client:

a. In the My Teamcenter application, right-click an item with subitems and choose Send
to→Structure Manager.
The item displays in the Structure Manager.

b. In the Structure Manager application, right-click a column heading, choose Insert Column(s),
and add the Occurrence Type column.

c. Click in the cell below the Occurrence Type column.


An arrow is displayed. Click the arrow in the cell to see your new occurrence type listed
among the available types.

d. Select your new occurrence type. Doing this declares that the occurrence is of this type.

View types

Introduction to view types

A view type is a definition that controls the name of a product structure view object. The view object
works with an Item and Item Revision business object to maintain product structure information in
Teamcenter.

Keep in mind the following:

• View type display names


The view property on the ItemRevision business object should have the same display name value as
that of the view type display name.
View type names that are used for creating run-time properties on item revisions derive their display
name from the view type objects. Therefore, to maintain consistency, the display name of view types
that are ItemRevision properties should have the same display name as that of view types in the
Business Modeler IDE. The item revision properties dealing with view types should show the same
display names that are seen for PSView types in Structure Manager.

• Multiple view types


Consider a site that uses Structure Manager primarily for modeling engineering data. If transitioning
to multiple views, this site should consider renaming views to something that are more meaningful in
the context of multiple views that appropriately describe the legacy product structure data.
In this case, engineering may be a good choice. This allows another view such as shipping to be
defined. From that point forward, different groups and users could use the most appropriate view to
model their data.

• View type preferences


In the Teamcenter rich client Edit→Options→Product Structure menu, you can examine the default
view object, which is set for Structure Manager with the PSE_default_view_type preference. Initially,
this preference is set to the following:

Business Modeler IDE PLM00071 11.2 5-285


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

PSE_default_view_type=view

If you rename or add view types, this preference may need to be changed to another value. To change
preferences, choose Edit→Options and click Search at the bottom left of the dialog box.

The default configuration is a single PSView object defined for the entire site called view.

Add a view type

A view type is a BOM view revision (BVR) category. View types control the name of a product structure
view object. The product structure view types work with the item and item revision business objects to
maintain product structure information.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type View Type in the Wizards box,
and click Next.

• Open the Extensions\Options folders, right-click the List of View Types folder, and choose New
View Type.

The New View Type wizard runs.

2. Perform the following steps in the View Type dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new view type in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. In the Description box, type a description of the new view object.

e. Click Finish.
The new view type appears under the List of View Types folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

5. After deployment, test your new view type in the Teamcenter rich client.

5-286 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a status type

For example, in the My Teamcenter application, select an item or item revision and choose
File→New→BOM View Revision. In the New BOMView Revision dialog box, click the More...
button in the lower left and select the new view object from the list of available view objects.
Create an instance of the new view object and click OK.

Add a status type

A status type is applied to an object after it goes through a workflow. Typical status types are Pending
and Approved. You can add your own status type by right-clicking the Status folder in the Extensions
folder and choosing New Status.

Note:
• Do not subclass the ReleaseStatus business object to create new status types.

• Schedule Manager statuses are set using the Status Types LOV.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Status in the Wizards box, and
click Next.

• Open the Extensions\Options folders, right-click the Status folder, and choose New Status.

The New Status wizard runs.

2. Right-click the Status folder and choose New Status.


The New Status wizard runs.

3. Perform the following steps in the Status dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new status object in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name as you want it to appear in the user interface.

d. In the Description box, type a description of the new status object.

e. Click Finish.
The new status object appears under the Status folder.

Business Modeler IDE PLM00071 11.2 5-287


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

6. After deployment, test your new status in the Teamcenter rich client:

a. See the new status in Workflow Designer:

A. In the Workflow Designer application, choose File→New Root Template.

B. In the New Root Template dialog box, click the arrow in the Based on Root Template
box, select TCM Release Process, and click OK.
The new process appears.

C. In the upper left pane, select Add Status Task (TCM Released).

D. In the lower left pane, click the Display the Task Attributes Panel button.

E. In the Attributes dialog box, click the arrow in the Release Status box.
Your new status appears in the list.

F. Select your new status and close the Attributes dialog box.

G. In the Name box in the lower-left pane, change Add Status Task (TCM Released) to
something that describes your new status, for example, Add Status Task (My Released).

5-288 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a status type

b. See the new status in the Modify Revision Rule dialog box:

A. In Structure Manager, choose Tools→Revision Rule→Modify Current.

B. In the Modify Revision Rule dialog box, click Working in the lower left corner and select
Status.

C. Click the button to the right of the Status box.

D. Search for the new status.

Business Modeler IDE PLM00071 11.2 5-289


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Add a storage media option

A storage media is a storage device category such as a hard disk or optical device. It is used by third-
party content-storage systems.

Storage media devices are used for archiving, restoring, importing, and exporting objects. Teamcenter
supports content storage, hard disk, and 4mm digital audio tape (DAT) storage media. It does not
support 1/4-inch cartridge tape. Use content storage media for integration with third-party content
storage systems such as EMC Centera. The integration is implemented via neutral APIs. Hard disks can be
locally or NFS-mounted. DAT devices must be locally mounted. Remote DAT devices are not supported.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Storage Media in the Wizards
box, and click Next.

• Open the Extensions\Options folders, right-click the Storage Media folder, and choose New
Storage Media.

The New Storage Media wizard runs.

2. Perform the following steps in the Storage Media dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new storage media object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. Click the arrow in the Media Type box and choose one of the following:

• Disk
Stores data on a hard disk.

• Tape
Stores data on magnetic tape.

d. In the Logical Device box, type the logical name to assign to the device.

e. In the Description box, type a description of the new storage media object.

f. Click Finish.
The new storage media object appears under the Storage Media folder.

5-290 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a tool

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

Add a tool

A tool represents a software application, such as Microsoft Word or Adobe Acrobat. You associate a tool
with a type of dataset so you can launch the dataset file from Teamcenter.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Tool in the Wizards box, and click
Next.

• Open the Extensions\Options folders, right-click the Tool folder, and choose New Tool.

The New Tool wizard runs.

2. Perform the following steps in the Tool dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new tool object in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the MIME/TYPE box, enter the kind of application association. For example, for Acrobat,
type application/acrobat, or for Microsoft Word, type application/msword.
This setting is not required by Windows systems, because Windows systems use the file
extension to determine the MIME type.

d. In the Shell/Symbol box, type the full path and program name to be run in a shell. For
example, for Microsoft Word, type $TC_BIN/msword.

e. In the Vendor Name box, type the name of the application vendor. For example, Adobe is the
vendor for Acrobat, and Microsoft is the vendor for Word.

f. In the Revision box, type the version number of the application, for example, 6.0, 2014, or
something similar.

g. Click the calendar button to the right of the Release Date box to enter the release date of the
application.

Business Modeler IDE PLM00071 11.2 5-291


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

h. In the Description box, type a description of the new tool object.

i. Click Next.

3. Perform the following steps on the New Tool Input/Output dialog box:

a. Click the Add button to the right of the Input pane to add the type of data the tool accepts,
for example, ASCII or Binary.

b. Click the Add button to the right of the Output pane to add the type of data the tool outputs,
for example, ASCII or Binary.

c. Click Next.

4. Perform the following steps in the New Tool Markup Information Page dialog box to define view
and markup capabilities:

a. In the Mac Launch Command box, type the command to launch the tool in the Macintosh
operating system, for example, sample.app.

b. In the Win Launch Command box, type the command to launch the tool in the Windows
operating system, for example, sample.exe.

c. Select the Download Required? check box to indicate that the application launcher must
download any files before launching the application.

d. Select the Callback Required? check box to enable callback through the application launcher
for a non-Teamcenter application.

e. Select the View Capable? check box to indicate whether the defined application can view
files.

f. Select the Markup Capable? check box to indicate whether the defined application can
perform markups.

g. Select the Embed Application? check box to indicate the defined application is an embedded
rich client tool. For these tools, the Shell/Symbol box contains the command to launch the
embedded tool.

h. Select the VVI Required? check box to indicate that the defined application accepts Velocity
Vector Imaging (VVI).

i. Select the Digital Signature Capable? check box to indicate whether the defined application
can do digital signing.

5-292 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to units of measure

Note:
The Digital Signature capability is currently not used.

j. Click Finish.
The new tool object appears under the Tool folder.

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

Now the new tool is available for use in a dataset. When you create a new dataset business object in
the Business Modeler IDE, you can select the new tool in the Tools for Edit or Tools for View boxes.

Unit of measure types

Introduction to units of measure

A unit of measure is a measurement category (for example, inches, millimeters, and so on).

By default, Item business objects have no units of measure (UOMs). This implies that item quantities are
expressed in terms of each or pieces. In other words, they refer to a discrete number of component
parts. Additional units of measure may be needed to define an accurate bill of materials (BOM).

Units of measure (UOMs) are created so that Item and Item Revision business objects can be expressed
in standardized units (for example, inches, millimeters, and so on) across an entire Teamcenter site.
When a user chooses the selector in the unit of measure box of either the New Item or Properties
dialog boxes in the Teamcenter rich client, the user is restricted to entering one of the predefined
values.

In Structure Manager, if no specific quantity value is associated with Items, the default quantity is each
(one component). Also in Structure Manager, if UOM is anything other than null, the component does
not open in NX.

Add a unit of measure

A unit of measure is a measurement category (for example, inches, millimeters, and so on). Create a
unit of measure (UOM) when you need a new measurement for users.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Unit of Measure in the Wizards
box, and click Next.

• Open the Extensions\Options folders, right-click the Unit of Measure folder, and choose New
Unit of Measure.

Business Modeler IDE PLM00071 11.2 5-293


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

The New Unit of Measure wizard runs.

2. Perform the following steps in the Unit of Measure dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new unit of measure in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Symbol box, enter the unit (for example, in for inches, oz for ounces, and so on).
You can also paste symbols into the Symbol box from editors that support symbols. For
example, on Windows platforms, insert a symbol in a Word document and then copy and
paste it into the Symbol box. On Linux platforms, you can copy and paste symbols from
OpenOffice.

Note:
You can also enter special characters using key combinations. First set the
LC_ALL=en_US.ISO8859-1 and LANG=C environment variables. Then consult the
documentation for your platform for the key combinations you can use.

• Windows
Enter special characters by using the Alt key with a number to insert symbols from
the Windows Character Map:

http://office.microsoft.com/en-us/help/HA101675391033.aspx
#CharacterMap

http://www.forlang.wsu.edu/help/keyboards.asp

• Linux
You can produce characters by pressing the AltGr key in combination with other keys:

http://wiki.linuxquestions.org/wiki/Accented_Characters

d. In the Description box, type a description of the new unit of measure.

e. Click Finish.
The new unit of measure appears under the Unit of Measure folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5-294 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to client UI configuration

4. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

5. After deployment, test your new unit of measure in the Teamcenter rich client. The new unit of
measure is now available when you create a new item or item revision.
For example, in the My Teamcenter application, choose File→New→Item. In the New Item dialog
box, click the arrow in the Unit of Measure box.
Your new unit of measure appears in the list.

Client UI configuration

Introduction to client UI configuration

The Client UI Configuration folder allows administrators to create elements that appear in client user
interfaces.

Note:
Beginning with Active Workspace 3.0, if you install the Active Workspace template (aws2) to the
Business Modeler IDE, the Active Workspace client UI configuration elements appear in the
subfolders beneath the Client UI Configuration folder.

The Client UI Configuration folder contains the following subfolders:

Business Modeler IDE PLM00071 11.2 5-295


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Clients
Defines the client, for example:

Active Workspace
Rich client
Thin client

• Client Scopes
Defines a location within a client, for example, the search results sublocation in Active Workspace or
My Teamcenter in the rich client. The visibility of commands is configurable based on the location,
sublocation, and toolbar.

• Command Collections
Defines groupings of commands. For example, the following are command groupings for Active
Workspace:

Global commands
One-step commands
Tools and information area commands
Navigation commands

• Commands
Defines the commands that appear in the user interface, for example:

Create
Open
Start edit
Save edit
Perform task

Note:
The linking of a command to a user action is done in client code.

• Icons
Defines icons used for commands in the user interface.

The following figure shows an example of a scope (see 2) and command collections (1, 3, 4, 5) for
Active Workspace.

5-296 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new client for use in a client UI configuration

1 Global commands

2 Location scope

3 One-step commands

4 Tools and information commands

5 Navigation commands

Create a new client for use in a client UI configuration

A client is an interface that connects to the Teamcenter server. Active Workspace and the rich client are
two examples of clients. To define a new client for which you want to create UI elements, use the
Clients folder under the Client UI Configuration folder.

1. Right-click the Clients folder and choose New Client.

The New Client dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-297


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

2. In the Name box, type a name for the new client.

When you name a new data model object, a prefix from the template is automatically affixed to the
name to designate the object as belonging to your organization, for example, A5_.

3. In the Abbreviation box, type a name for the client that can be used when you create client
scopes.

4. Click Finish.

The new client definition is displayed in the Clients folder.

Create a new client scope

A client scope defines a specific location within the client user interface. An example of a scope is the
search results sublocation found in Active Workspace or the rich client. To define a new location within a
client, use the Client Scopes folder under the Client UI Configuration folder.

1. Right-click the Client Scopes folder and choose New Client Scope.

The New Client Scope dialog box is displayed.

5-298 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new client scope

2. In the Name box, type a name for the new scope.

When you name a new data model object, a prefix from the template is automatically affixed to the
name to designate the object as belonging to your organization, for example, A5_.

3. In the Display Name box, type a name for the scope as you want it to appear in the client user
interface.

4. In the Description box, describe what area of the user interface the scope defines.

5. Click the Browse button in the Client box to select the client for which the scope applies, for
example, Active Workspace.

6. Click the Browse button in the Hosting Client box to select a client.

7. Click Finish.

The new scope is displayed in the Client Scopes folder.

8. To attach a command collection to the scope, open the scope and click the Attach button in the
Command Collection Attachments section.

Business Modeler IDE PLM00071 11.2 5-299


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Create a new command collection

A command collection is a group of commands that appear in the user interface. For example,
command collections for Active Workspace include navigation commands and information area
commands. To define groups of commands, use the Command Collections folder under the Client UI
Configuration folder.

1. Right-click the Command Collections folder and choose New Command Collection.

The New Command Collection dialog box is displayed.

5-300 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new command collection

2. In the Name box, type a name for the new collection.

When you name a new data model object, a prefix from the template is automatically affixed to the
name to designate the object as belonging to your organization, for example, A5_.

3. In the Display Name box, type a name for the collection as you want it to appear in the client user
interface.

4. In the Description box, describe the purpose of the collection.

5. Click the Browse button in the Rendering Hint box to select the rendering hint to be used to
render the display of the collection in the end-user interface.

6. Click Finish.

The new collection is displayed in the Command Collections folder.

7. To attach a command to the collection, open the collection and click the Attach Command button
in the Command Attachments section. You can also attach a command collection to a collection
by using the Attach Command Collection button. This allows you to reuse a collection in another
collection.

Business Modeler IDE PLM00071 11.2 5-301


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Create a new command for use in a client UI configuration

Commands are buttons or menu items in the user interface that users can click to perform an action
such as Create, Open, or Edit. Use the Commands folder under the Client UI Configuration folder to
define the commands that appear in the user interface.

Note:
The linking of a command to a user action is done in client code.

The general process for creating a command is as follows:

1. Create an icon for a command.

2. Create the command and add the icon to the command.

3. Attach the command to a command collection.

4. Attach the command collection to a client scope.

5-302 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new command for use in a client UI configuration

Perform the following steps to create a command:

1. Right-click the Commands folder and choose New Command.

The New Command dialog box is displayed.

2. In the Name box, type a name for the new command.

When you name a new data model object, a prefix from the template is automatically affixed to the
name to designate the object as belonging to your organization, for example, A5_.

3. In the Display Name box, type a name for the command as you want it to appear in the client user
interface.

4. In the Description box, describe how the command functions.

5. Click the Browse button in the Selection Mode box to select one of the following:

• Multiple
Indicates that multiple objects can be selected in the user interface for use with this command.

• Single
Indicates that only one object at a time can be selected in the user interface for use with this
command.

6. In the Tool Tip box, type the text you want to appear in the tooltip when the end user hovers the
cursor over the command.

7. Click the Browse button in the Icon box to select the icon to represent the command in the user
interface.

Business Modeler IDE PLM00071 11.2 5-303


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

8. Select the User Input Required check box if the command requires the user to enter
information to accomplish the command. This enables the launching of a separate UI element for
this purpose. When this box is left empty, no additional input is required from the end user and the
command runs when the corresponding button or menu item is clicked.

9. Click Finish.

The new command is displayed in the Commands folder.

10. To attach a command to a collection, open the command and click the Attach button in the
Command Attachments section. You can also attach a command to a collection by opening the
collection and attaching it there.

Create a new icon for use in a client UI configuration

Icons are used for commands displayed in the user interface. Use the Icons folder under the Client UI
Configuration folder to define icons.

5-304 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Using the Business Modeler IDE to configure document management

1. Right-click the Icons folder and choose New Command Icon.

The New Command Icon dialog box is displayed.

2. In the Name box, type a name for the new icon.

When you name a new data model object, a prefix from the template is automatically affixed to the
name to designate the object as belonging to your organization, for example, A5_.

3. In the Description box, describe how this icon is to be used in the client user interface.

4. Click the Browse button in the Icon File box to select the graphic file to be used for the icon. Icon
files must be in .svg format.

Note:
Because icon sizing and standards differ for different clients, you must create separate icons
for each client, even if the command to which the icon is assigned is the same. Where the
icon is applied is determined by the scope the command collection belongs to.

5. Click Finish.

The new icon is displayed in the Icons folder.

Document management

Using the Business Modeler IDE to configure document management

Document management lets end users manage documents in Teamcenter, including the capability to
render view-only versions, manage markups, and define print configurations and system stamp
configurations.

Business Modeler IDE PLM00071 11.2 5-305


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
To use PDF markup capabilities, you must create a tool for markup.

The Document Management folder in the Extensions folder of the Business Modeler IDE allows an
administrator to create the following objects that are used for document management:

• Item revision definition configurations (IRDCs)


IRDCs define how item revisions are handled. IRDCs standardize item revision behavior at specific
times in the lifecycle, such as at item creation, checkin, checkout, view/markup, save as, and revise.

• Dispatcher service configurations


A dispatcher service configuration is an object that defines the visualization file format that a
dataset file is translated into. For example, it may specify that Microsoft Word documents are
translated into PDF files.

• Print configurations
A print configuration is an object that defines batch print settings.

• System stamp configurations


A system stamp configuration is an object that defines the system stamp on documents when batch
printing or document rendering of a PDF output file, when using the previewservice translator.

Teamcenter does not provide COTS dispatcher service configurations or IRDCs, but you can import a
sample document management template file that contains examples.

Create an item revision definition configuration (IRDC)

An item revision definition configuration (IRDC) defines how the item revision’s related datasets type
should behave and control how document management processes affect item revisions behavior in your
document management system. IRDCs:

• Define the create template and the export template.

• Define source and derived dataset types for an item revision.

• Define naming conventions for datasets.

• Define checkin and render action behaviors.

• Manage deep copy rules.

• Control markup.

5-306 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an item revision definition configuration (IRDC)

IRDCs standardize item revision behavior at specific times in the life cycle, such as at item creation,
checkin, checkout, save as, and revise. Create an IRDC for those item revision business objects for which
you want standardized behavior.

You can import a sample template file that contains example IRDCs.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type IRDC in the Wizards box, and
click Next.

• Open the Extensions\Document Management folders, right-click the IRDC folder, and choose
New IRDC.

The New IRDC wizard runs.

2. Perform the following steps in the IRDC Base Criteria Page dialog box to create the IRDC object:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new IRDC in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Description box, type a description of the new IRDC.

Business Modeler IDE PLM00071 11.2 5-307


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

d. Click the Browse button to the right of the Applies to Business Object box to select the item
revision business object for which you are creating the IRDC. You can only select children of
the ItemRevision business object.

e. Click the Browse button to the right of the Condition box to select the condition when this
IRDC applies. If the IRDC applies to all objects of a type, use the isTrue condition. You can also
create your own conditions.

Note:
Only those conditions appear that have valid signatures. For IRDCs, the valid condition
signatures are as follows:

condition-name(ItemRevision)
condition-name(ItemRevision, UserSession)

f. If you want to assign a create template, click the Browse button to the right of the Create
Template box to select the document management template to provide initial source datasets
for the item revision when it is created. The Teamcenter Repository Connection wizard
prompts you to log on to a server to look up the available templates.

Note:
• You can import sample create templates (DMTemplate objects) to the server.

• To make more create templates, in the rich client My Teamcenter application, choose
File→New→Item, and in the New Item dialog box, select DMTemplate. (The
DMTemplate revision and the attached datasets must be released so that they
display in the Business Modeler IDE when you click the Browse button to the right of
the Create Template box.)

g. Click the Browse button to the right of the Specification Export Template box to select the
template to be used when the item revision specification document is exported.

Note:
To create more specification export templates, in the rich client My Teamcenter
application, choose File→New→Item, and in the New Item dialog box, choose
SpecTemplate.

h. Click the Browse button to the right of the Object Export Template box to select the
template to be used when the item revision is exported.

5-308 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an item revision definition configuration (IRDC)

Note:
To create more object export templates, in the rich client My Teamcenter application,
choose File→New→Item, and in the New Item dialog box, choose ObjectTemplate.

i. Click Next.
The IRDC Dataset Criteria Page dialog box is displayed.

3. Perform the following steps in the IRDC Dataset Criteria Page dialog box to specify the source and
derived dataset types for translation for this item revision. For example, you may want Microsoft
Word document datasets to get translated into PDFs.
You can also set up the translation for datasets by creating dispatcher service configuration
objects. (You may need to create corresponding dispatcher services.)

a. Click the Add button to the right of the Source Dataset table to select the source dataset
type.
The Select Source Dataset Type dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-309


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
Source datasets can be copied from the create template or attached during creation in
the rich client.

b. Perform the following steps in the Select Source Dataset Type dialog box:

A. Click the Browse button to the right of the Source Dataset box to select the source
dataset business object. Only children of the Dataset business object are displayed.

B. Click the Browse button to the right of the Item Revision Relation box to select the
relationship the source dataset has to the item revision. (The default is TC_Attaches.)

C. Click Finish.

D. Add as many dataset types as need to be defined for the IRDC. The order of the source
datasets is used to resolve the dataset type for attaching files.

Note:
Any dataset type like Text that allows any file extension should be the last type
defined in the source dataset list. If it is the first in the list, all the source datasets
after it would be ignored when automatically selecting a type for a file extension.

c. Click the Add button to the right of the Derived Dataset table to select the derived dataset to
translate into when translation is performed.
The Select Derived Dataset Type dialog box is displayed.

5-310 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an item revision definition configuration (IRDC)

Note:
The document management system typically generates derived files from the source
data. (However, it can also use other files attached to an item revision at checkin.) The
system determines the derived dataset types that are possible and if they are required
from the derived dataset information in the IRDC. It then determines from the
dispatcher service configuration objects what types of input can be rendered into the
optional or required output.
Consequently, you enter two types of information for derived data types for the IRDC:

• Derived dataset types that are possible. The document management system attempts
to generate or locate all the derived dataset types specified.

• Derived dataset types that are not possible. If the required derived dataset cannot be
generated or located, checkin cannot proceed.

d. Perform the following steps in the Select Derived Dataset Type dialog box:

A. Click the Browse button to the right of the Derived Dataset box to select the derived
dataset to translate into. Only children of the Dataset business object are displayed. The
derived datasets must be those that the system can generate using the dispatcher
service configuration objects.

B. Click the Browse button to the right of the Item Revision Relation box to select the
relationship the derived dataset has to the item revision. (The default relation is
TC_Attaches.)

C. Select the Required check box to require that the derived dataset be generated. (If the
required derived dataset cannot be generated or located, checkin cannot proceed.)

D. Click Finish.

Business Modeler IDE PLM00071 11.2 5-311


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

e. Click Next.
The IRDC Dataset Naming Page dialog box is displayed.

4. Perform the following steps in the IRDC Dataset Naming Page dialog box to specify how the
dataset is named. The name is built using the rows in the sequence in the table. When the
document management system creates a new source data file, it concatenates the entries made in
this table (text and specified portions of all the selected attributes) to create the new file name and
then adds the file extension that is appropriate for the dataset type.

a. Click the Add button to the right of the Source Dataset Naming Rule table to specify a row
for the dataset name.
Perform the following steps in the Add Source Dataset Naming Rule dialog box:

A. In the Text for Name box, type text to use in the name of the dataset. This box specifies
the text to be used in creating the name of the dataset. This field is optional.

B. Click the arrow in the Attribute for Name box to select the item revision property to use
as part of the dataset name. This box specifies an attribute of the item revision to be
used in creating the name of the dataset. (Partial attribute values can be used by
entering the starting character position in the attribute in the Starting Character box of
the table and the total number of characters to use in the Number of Characters box.)

5-312 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an item revision definition configuration (IRDC)

C. In the Starting Character box, type a number to specify the starting character position
in the attribute selected for file naming (for example, 1).

D. In the Number of Characters box, type a number to specify the number of characters to
use from the attribute selected for naming (for example, 50).

E. Click Finish. Repeat for each attribute to be used in building the dataset name.

b. Click the Add button to the right of the Derived Dataset Naming Rule table to specify the
row for the dataset name when the dataset is translated into a derived file.
Perform the following steps in the Add Derived Dataset Naming Rule dialog box. (The
meaning of the common fields are similar to those in the Source Dataset Naming Rule
table.)

A. In the Text for Name box, type text to use in the name of the dataset.

B. Click the arrow in the Attribute for Name box to select the property to use as part of the
dataset name.

C. In the Starting Character box, type a number to specify the starting character position
in the attribute selected for file naming.

D. In the Number of Characters box, type a number to specify the number of characters to
use from the attribute selected for naming.

E. Click the Browse button to the right of the Derived Dataset box to select the type of
business object. Different derived dataset types can be given different names.

F. Click Finish.

c. Click Next.
The IRDC Checkin Page dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-313


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

5. Perform the following steps in the IRDC Checkin Page dialog box to specify what happens when
the item revision is checked in:

a. Click the arrow in the Derived Visualization Files to Checkin box to support client side
creation of derived files that are already in the directory with the source files:

• Same File Name


Attaches and checks in the derived files only if they have the same name as the source
dataset.

• Any File Name


Attaches and checks in the derived files no matter what names they have.

• None
Does not attach and check in any derived files.

Note:
Because all first level subdirectories are searched for derived files unless this value is
none, source files that reside in a top-level directory such as C:\ or D:\ lead to poor
checkin performance if the Same File Name or Any File Name are selected. The
source files should be put in a specific directory without any subdirectories before
performing checkin.

b. Click the arrow in the Create Derived Visualization Data box to translate the dataset on
checkin:

• Required

5-314 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an item revision definition configuration (IRDC)

Creates derived files at checkin. If the required derived file cannot be generated or located,
checkin cannot proceed.

• Optional
Creates derived files if possible, but if not, continues to check in the source dataset.

• No
Does not create derived files at checkin. They may be created by the lifecycle process or by
manual actions later

c. By default, the system translates one dataset type to the derived dataset based upon the sort
order field of the dispatcher service configuration objects. If other source datasets need to be
translated, the Special Render Control Table can be used to define what gets translated.
Click the Add button to the right of the Special Render Control Table to define controls for
file translation.
The Render Control wizard is displayed.

Perform the following steps in the Render Control Wizard Page dialog box:

A. Click the Browse button to the right of the Derived Dataset box to select the derived
dataset type to apply the controls to. Only children of the Dataset business object are
displayed.

B. Click the Browse button to the right of the Input Dataset box to select the source
dataset type to translate. Only children of the Dataset business object are displayed.

C. Click the Browse button to the right of the Item Revision Relation box to select the
relationship that the item revision has to the input source dataset. (The listed business
objects are children of the ImanRelation business object.)

D. Click the arrow in the When to Translate box to choose when to translate file
attachments into visualization files:

Business Modeler IDE PLM00071 11.2 5-315


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Always
Always translate into derived dataset files.

• If First
Translate if the source dataset is the first one found in the table for this derived
dataset type, because the rows are processed in order. For example, an item may have
an IRDC defined with both MSWord and MSExcel source files, but any particular item
may have only a MSWord or only an MSExcel file or both. If the table is defined with
MSWord to PDF in the first row and MSExcel to PDF in the second row, and both
rows are set as If First, an item with both files types would only get the MSWord type
translated; an item with only a MSWord setting would get the MSWord type
translated; and an item with only the MSExcel setting gets the MSExcel type
translated.

E. In the Input File Names box, type a name pattern for the files to be translated. This
restricts translation to files with specific file name patterns. For example, the pattern
*master* translates only those files with master in the file name.

F. Click the Browse button to the right of the Derived From Dataset Relation box to select
the relation that the derived dataset had to the source dataset. (The listed business
objects are children of the ImanRelation business object.) This is optional. If specified,
the system uses it to update the derived dataset instead of creating a new dataset during
subsequent render processes.

G. Click the arrow in the Delete On Translate? box and select No unless the input datasets
should be deleted after successful translation. This is actually provided when the checkin
search attaches files that are used for render only such as intermediate postscript files

H. Click Finish.

d. Click Next.
The IRDC Rules Page dialog box is displayed.

5-316 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an item revision definition configuration (IRDC)

6. Perform the following steps in the IRDC Rules Page dialog box to configure deep copy rules for the
item revision. Deep copy rules govern how item revisions are copied during save as and revise
operations.

a. Click the arrow in the Delete Data File? box to specify whether the file data attached to the
item revision should also be deleted when the item revision is deleted. Select Yes to delete
the datasets or No to leave it.

b. To create a deep copy rule, click the Add button to the right of the Deep Copy Rules table.

c. Click Next.
The Enter Markup Information dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-317


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

7. Perform the following steps in the Enter Markup Information dialog box to configure markup
rules for the document revision.

a. Click the Browse button to the right of the Markup Application box to select the tool to be
used for markup, for example, MS Word or PDF_Tool. This box is optional. If specified,
markup is limited to the specified tool for the item revision dataset file. This is to prevent
some users marking up with Lifecycle Visualization and other users marking up with Adobe
tools.

b. Click the Browse button to the right of the Markup Dataset box to select the dataset type to
use for markup. This field is optional. If specified, markup is limited to the specified dataset
types for the item revision dataset file. This is to prevent some users marking up the Word files
and other users marking up PDF files.

c. Select the Markup in Context of Change? check box to indicate whether the markup is
controlled in the context of a change. When the check box is selected, a user can only create
or update the markup if they have selected a change object.

d. Select the Make Markups Official? check box to indicate that all markups should be created
as official markups.

e. In the Markup ACL box, type the name of an access control list to grant access to markups
made on the document. This is to control if other users can see each other’s markups.

f. Click Finish.
The new IRDC appears in the IRDC folder.

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

9. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar. Restart the pool
manager to get the servers use the new configuration. Also restart the dispatcher client if it is
running and any clients.

Note:
After deployment of IRDC rules you may need to restart TAO services to ensure they are
available to new tcserver processes.

10. Verify that the IRDC works as designed in Teamcenter. In the rich client, create an instance of the
item revision business object for which you created an IRDC and confirm that it works properly.

a. In My Teamcenter, choose File→New, and in the resulting dialog box, select the item type
that the item revision is created for.

5-318 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a dispatcher service configuration

For example, if you created an IRDC for an item revision, choose File→New→Item and select
Item. When you create an instance of a business object, a revision object is created and
attached using the rules set up in the IRDC.

b. Verify that the IRDC works as designed.


For example, confirm that the correct dataset type was created and attached to the revision,
that the item revision was named according to the IRDC rules, and so on. In addition:

• Look at the property of the item revision object. The Item Revision Definition Configured?
box should be True. If it is not True, select the condition.

• Verify the DMTemplate revision and its datasets are released and use the same relation as
defined in the IRDC source dataset definition.

• Make sure the values being evaluated by the condition are entered on the revision object.

• Check if another IRDC also applies to the same business object.

Create a dispatcher service configuration

The document management system supports many types of conversions of one file format to another.

A dispatcher service configuration is an object that maps the input formats (source dataset type name)
to the output formats (derived dataset type name). It also identifies the available dispatcher services and
establishes the processing priorities (the order in which the dispatcher services occur when multiple
dataset types and dispatcher services are available for a specified derived dataset type). For example, it
may specify that Microsoft Word documents are translated into PDF files. These translations occur
automatically as the result of other document management processes (for example, checkin) or
interactively as the result of user requests (for example, by choosing Translation→Render Document
from My Teamcenter in the rich client).

Dispatcher service configurations are used by IRDCs. You can import a sample project that contains
example IRDCs and a dispatcher service configuration.

Note:
Before you can translate documents, you must have the Teamcenter dispatcher installed and
configured.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Dispatcher Service Config in the
Wizards box, and click Next.

• Open the Extensions\Document Management folders, right-click the Dispatcher Service


Config folder, and choose New Dispatcher Service Config.

Business Modeler IDE PLM00071 11.2 5-319


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

The New Dispatcher Service Config wizard runs.

2. Perform the following steps in the Dispatcher Service Config dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new service in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Description box, type a description of the new service.

d. Select the Service Available check box to make the service available for use. (If this check box
is cleared, it can indicate the service is not to be used temporarily, or the service is replaced by
a different service.)

e. In the Provider Name box, type the name of your organization as the provider of the service,
for example, Siemens.

f. In the Provider Display Name box, type the name of your organization as you want it to
display in the user interface, for example, Siemens PLM Software.

5-320 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a dispatcher service configuration

g. In the Service Name box, type the name of the translator you want to perform the
translation, for example, previewservice or pdfgenerator.

Note:
The previewservice translator requires Lifecycle Visualization Convert and Print. The
pdfgenerator requires Adobe LifeCycle PDF Generator ES.

h. In the Service Display Name box, type the name of the translation service as you want it to
display in the user interface, for example, MSWord to PDF.

i. Click the arrow in the Priority box to select the importance of this service configuration when
a queue of multiple configurations is awaiting execution by Teamcenter dispatcher. Select
Low, Medium, or High. Configurations with a high priority are executed first, while those
with a low priority are executed last.

j. In the Sort Order box, enter a number to assign the precedence for this dispatcher service
when multiple source dataset types are available to create a given output. The dispatcher
RenderMgtTranslator translator module uses the highest sort order number when multiple
service configurations are available. The lowest number entered in this box is considered to
have the lowest sort order.

Tip:
For a selected business object, the document management system normally renders
only one dataset type for a specified derived dataset type. It looks for the renderable
dataset type based on the sort order for translation of that dataset type into the
specified derived dataset type. Once it renders a derived dataset type, the system does
not use any other dataset type to render dataset types into the same derived dataset
type for the specified business object. This behavior can be overridden by using the
Special Render Control Table table in the IRDC Checkin Page dialog box when
creating an IRDC. To specify the source and derived dataset types for visualization
translation, use the IRDC Dataset Criteria Page dialog box when creating an IRDC.
The following table illustrates the effect of the sort order setting when Microsoft Office
dataset types are rendered. Assume that on the IRDC Dataset Criteria Page dialog box
that the Source Dataset table lists the MSWord, MSExcel and MSPowerPoint types,
and the Derived Dataset table lists the PDF type. There is no IRDC derived dataset
naming rule defined for this example, so the derived dataset name is based on the
source dataset named reference file name. In all examples, multiple renderable dataset
types are attached to the ItemRevision business object, and the output derived dataset
types are in PDF format.

Business Modeler IDE PLM00071 11.2 5-321


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Source dataset Sort order Derived dataset Comments


(input) (output)

MSWordA.doc MSWord = 3 MSWordA.doc.pdf Translate the


MSWordB.doc MSExcel = 2 MSWordB.doc001.pdf MSWord dataset type
MSWordC.doc MSPowerPoint = 1 MSWordC.doc002.pdf because MSWord is
the only attached
source dataset type.

MSExcelA.xls MSWord = 3 MSExcelA.xls.pdf Translate the


MSExcelB.xls MSExcel = 2 MSExcelB.xls001.pdf MSExcel dataset type
MSExcelC.xls MSPowerPoint = 1 MSExcelC.xls002.pdf because MSExcel is
the only attached
source dataset type.

MSWordA.doc MSWord = 3 MSWordA.doc.pdf Translate the


MSExcelA.xls MSExcel = 2 MSWord dataset type
MSPowerPointA.ppt PowerPoint = 1 because it has the
highest sort order.

MSWordA.doc MSWord = 2 MSExcelA.pdf Translate the


MSExcelA.xls MSExcel = 3 MSExcel dataset type
MSPowerPointA.ppt MSPowerPoint = 1 because it has the
highest sort order.

Note:
The derived dataset name is composed as follows:

source-dataset number.file-extension

source-dataset is the source dataset named reference file name including its extension,
number is a three-digit sequence starting at 001 (for multiple datasets, and file-
extension is the derived dataset type file type extension.
The IRDC Derived Dataset Naming Rule table can be used to specify the base name for
the derived dataset. However, the three-digit sequence and file extension are appended
to the base name.

k. If you want to pass arguments to the translator application that executes the translation, click
the Add button to the right of the Service Arguments table.
The Dispatcher Service Argument wizard runs.

5-322 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a dispatcher service configuration

l. Perform the following steps in the Dispatcher Service Argument Wizard Page dialog box:

A. In the Name box, type a name you want to assign to this service argument.

B. In the Key box, type the service argument. For example, if you want to pass a true or
false (logical) argument, type true or false. You can also type a number (integer) or text
(string).

C. Click the arrow in the Interface Type box to select the kind of value of the argument:

• Logical
A Boolean value of True or False.

• Integer
An integer without decimals from 1 to 999999999.

• String
A string of characters.

D. In the Default box, type the default value to use for the service argument. The key and
its default value are passed to the translator application as additional command line
arguments. For example, the thumbnail translation uses these values to pass the
thumbnail size to the previewservice translator for the prepare program.

E. Click Finish.
The argument is added to the Service Arguments table.

m. Click Next.
The Dispatcher Service Config Relation Page dialog box is displayed. Use this page to set up
the dataset type to be translated, and the type it is translated to.

Business Modeler IDE PLM00071 11.2 5-323


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

n. Perform the following steps in the Dispatcher Service Config Relation Page dialog box:

A. Click the Browse button to the right of the Source Dataset Type Name box to select the
input dataset type to be translated.
For example, if you want to translate a Word document, select MSWord.

B. Click the Browse button to the right of the Derived Dataset Type Name box to select
the output dataset type you want to translate into.
For example, if you want to translate into PDF, select PDF.

C. Click the Browse button to the right of the Source Dataset Named Reference box to
select the kind of named reference that the source dataset uses.
Datasets are often used to manage several different types of files. These files are the
named references of the dataset. Each dataset type uses a predefined set of named
references. For example, if your source dataset is an MSWord dataset type, select word
for the named reference.

D. Click the Browse button to the right of the Derived Dataset Name Reference box to
select the kind of named reference that the derived dataset uses.
For example, if the translated file type is PDF, select PDF_Reference.

E. Click the Browse button to the right of the Derived from Dataset Relation box to select
the relationship that the derived dataset has to the source dataset, for example,
TC_Derived. The source dataset is the primary object and the derived dataset is the
secondary object. This is optional. If it is not defined, each time the source dataset is
translated a new derived dataset may be created. If this relation is defined, it is used to
locate the existing derived dataset and update its named reference file.

F. Click the Browse button to the right of the Item Revision Relation box to select the
relationship that the derived dataset has to the source document revision, for example,
TC_Attaches. The source document revision is the primary object and the derived

5-324 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a dispatcher service configuration

dataset is the secondary object. This is optional, and TC_Attaches is the default relation.
The IRDC Derived Dataset table can specify the item revision relation that overrides this.

G. Click Finish.
The configuration appears in the Dispatcher Service Config folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

5. Verify that the new service is made available to Teamcenter and that it works properly:

a. Ensure that the translation capability (the dispatcher) is installed and configured for
Teamcenter, including document render.

b. Create an IRDC that uses the same source dataset type as the service configuration.
The IRDC must be set up to translate the source dataset type that attached to an item revision
(or its sub type) to a derived dataset type. After the item revision is submitted for render that
matches the defined IRDC (based on the IRDC’s condition) then the Document Management
Render Management Dispatcher Client looks up the dispatcher service for the given source
dataset. The client performs the translation of the source dataset file to the derived dataset
type (for example, from MSWord to PDF). If the derived dataset is created then, the Dispatcher
Service Configuration is setup correctly.

c. To further verify, perform the following steps:

A. In the My Teamcenter application in the rich client, select an item revision, or any sub-
type of item revision such as a document revision It must be under item revision
definition configuration (IRDC) control, and must use the source dataset type you set up
in the new service.

B. Choose Translation→Render Document.


The Render Document Selection dialog box is displayed.

C. For the Existing File option, select Preserve to keep the existing translated file or
Replace to replace it.

D. Click Finish to submit for render.


The translation request is created. Choose Translation→Request Administration
Console to see the translation request in the queue awaiting translation.

E. After the translation is complete, check the translated dataset to ensure it was translated
properly.

Business Modeler IDE PLM00071 11.2 5-325


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Create a print configuration

A print configuration is an object that defines batch print settings. When you batch print an object such
as an item revision, all the documents associated with that object are printed.

To batch print in My Teamcenter, select an object such as an item revision and choose
Translation→Batch Print.

Note:
To enable the Batch Print menu, you must have the Render Document for Rich Client feature
installed from TEM.

1. Ensure that Lifecycle Visualization is installed on the same machine as the Business Modeler IDE. In
the Features panel of Teamcenter Environment Manager (TEM), choose Extensions→Lifecycle
Visualization→Teamcenter Visualization (Stand-alone) for Rich Client.
This is required so that Lifecycle Visualization Print is installed, which enables you to select printers
in the Printer Name box later in the procedure.

2. Run the Business Modeler IDE.

3. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Print Configuration in the
Wizards box, and click Next.

• Open the Extensions\Document Management folders, right-click the Print Configuration


folder, and choose New Print Configuration.

The New Print Configuration wizard runs.

5-326 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a print configuration

4. Perform the following steps in the Create a Print Configuration object dialog box:

a. In the ID box, type the name you want to assign to the new print configuration object in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

b. In the Description box, type a description for the new print configuration object.

c. In the Provider Name box, type siemens as the provider of the service.

d. In the Provider Display Name box, type the name of your organization as you want it to
display in the user interface, for example, Siemens PLM Software.

e. In the Service Name box, type batchprint as the name to assign this print configuration.

f. In the Service Display Name box, type the name of the service as you want it to display in the
user interface, for example, Batch Print Service.

g. If you want to pass arguments to the application that executes the batch print, click the Add
button to the right of the Dispatcher Service Arguments table.
The Dispatcher Service Argument wizard is displayed.

Business Modeler IDE PLM00071 11.2 5-327


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Perform the following steps in the Dispatcher Service Argument Wizard Page dialog box:

A. In the Name box, type a name you want to assign to this service argument.

B. In the Key box, type the service argument. For example, if you want to pass a true or
false (logical) argument, type true or false. You can also type a number (integer) or text
(string).

C. Click the arrow in the Interface Type box to select the type of value of the argument:

• Logical
A Boolean value of True or False.

• Integer
An integer without decimals from 1 to 999999999.

• String
A string of characters.

D. In the Default box, type the default value to use for the service argument. The Key value
overrides the Default value.

E. Click Finish.
The argument is added to the Dispatcher Service Arguments table.

h. Click Next.
The Print Settings dialog box is displayed.

5-328 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a print configuration

5. Perform the following steps in the Print Settings dialog box:

a. Click the Browse button to the right of the Printer Name box to select the networked printer
where this print configuration will be printed.

Note:
To obtain available printer names, the Business Modeler IDE must be installed on the
same workstation as Lifecycle Visualization.
On Linux systems, define the printer in the vvcp.operating-system.cfg file, and click
the Browse button to the right of the Printer Name box to browse to the location of
this file.

b. Click the Add button to the right of the Paper Sizes table to select paper sizes to make
available for print batch jobs.

c. Click the Add button to the right of the Supported Datasets table to select the dataset types
that can be printed, such as MSWord and MSExcel.

d. Select the Stamps Supported check box to allow stamps on the printed documents such as
the date or a watermark. If object types are printed for which stamps are configured, stamps
are automatically placed on the printed documents.

Business Modeler IDE PLM00071 11.2 5-329


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

e. Click Finish.
The print configuration object is displayed in the Print Configuration folder.

f. Deploy the template from the Business Modeler IDE.

g. Restart the pool manager and restart the Teamcenter server

6. Test the batch print.

a. Ensure that document rendering is installed for the rich client. (The batch print menu action is
included with the render action.) In the Features panel of Teamcenter Environment Manager
(TEM), choose Extensions→Enterprise Knowledge Foundation→Dispatcher Client for Rich
Client and Render Document for Rich Client.

b. In My Teamcenter in the rich client, select an object with associated documents, such as an
item revision, and choose Translation→Batch Print.
Your print configuration is displayed in the Print Configuration menu. Click Finish to print
the documents.

c. To monitor printing, choose Translation→Administrator Console. Press Shift + F5 to refresh


the view.

Create a system stamp configuration

A system stamp configuration is an object that defines the system stamp (such as date or watermarks)
on documents in batch printing. A system stamp can consist of your user name, the date and time, and
other specified item revision attributes. User stamps can be appended to the system stamp.

Create a separate stamp configuration for each business object you want stamps on (for example,
ItemRevision, DocumentRevision, and so on). The stamp is applied whenever objects of these types
are batch printed, as long as the Stamps Supported check box is selected for the print configuration
of dataset types.

1. Run the Business Modeler IDE.

2. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type System Stamp Configuration in
the Wizards box, and click Next.

• Open the Extensions\Document Management folders, right-click the System Stamp


Configuration folder, and choose New System Stamp Configuration.

The New System Stamp Configuration wizard runs.

5-330 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a system stamp configuration

3. Perform the following steps in the Create a System Stamp Configuration object dialog box:

a. In the Name box, type the name you want to assign to the new system stamp configuration
object in the database. Because stamp configurations are associated with business object
types, you may want to name the configuration according to the business object, for example,
prefixItemRevisionStamp.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

b. In the Description box, type a description for the new system stamp configuration object.

c. Click the Browse button to the right of the Business Object box to select the business object
that this stamp applies to, for example, ItemRevision.

d. Click the Browse button to the right of the Condition box to select the condition when this
stamp is applicable, for example, isTrue.

e. The Applies To box shows Print as the time when this stamp is used (that is, when printing).

f. Select the Include User Name? check box to include the print requester's name at the end of
the system stamp on the printed documents.

g. Select the Include Date and Time? check box to include the date and time at the end of the
system stamp on the printed documents.

h. Click Next.

Business Modeler IDE PLM00071 11.2 5-331


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

The Stamp Information dialog box is displayed.

4. Perform the following steps in the Stamp Information dialog box:

a. Click the Add button to the right of the Properties table to include an object properties on the
printed documents.
The Property Prefix wizard runs.

Perform the following steps in the New Prefix Property dialog box.

A. (Optional) In the Prefix box, type a prefix, such as Document name:. This precedes the
properties.

B. Click the arrow in the Property box to select properties, such as its name
(object_name), description (object_desc), and so on.

5-332 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Import a sample document management template file

C. Click Finish.

b. In the User Stamp box, type text that you want to appear on the document, such as Internal
Distribution.

c. In the Watermark box, type text that you want to appear as a watermark beneath the text of
the document, such as Confidential.

d. Click the Browse button to the right of the MDS Template box to query the Teamcenter
database for metadata stamp templates. The MDS template specified in the System Stamp
Configuration Object controls how the stamp elements are applied during batch printing.

Note:
If no MDS template is selected, no system stamp or user stamp is applied to the printed
document.
The MDS template must be saved on the server as a DMTemplate object to be selected.

• You can import a sample DMTemplate object to the server.

• To make more DMTemplate objects, in the rich client My Teamcenter application,


choose File→New→Item, and in the New Item dialog box, select DMTemplate.
(The DMTemplate revision and the datasets attached to it must be in a released state
so that it displays in the Business Modeler IDE when you click the Browse button to
the right of the MDSTemplate box.)

e. Click Finish.
The stamp configuration is displayed in the System Stamp Configuration folder.

5. To test the stamp, run a batch print on the type of object for which the stamp is created, such as an
item revision. If the print configuration for the dataset type is enabled, the stamp is automatically
placed on the printed documents.

Import a sample document management template file

Teamcenter does not provide COTS dispatcher service configurations or IRDCs. But you can import a
sample template file that contains examples (docmgt_samples.xml). You can use these examples as the
basis for your dispatcher service configurations and IRDCs.

1. Install sample files (if not already done during standard installation).

a. Start Teamcenter Environment Manager (TEM).

Business Modeler IDE PLM00071 11.2 5-333


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

b. In the Maintenance panel, select Configuration Manager and click Next.

c. In the Configuration Maintenance panel, select Perform maintenance on an existing


configuration and click Next.

d. In the Configuration panel, select the configuration from which the corporate server was
installed. Click Next.

e. In the Feature Maintenance panel, under the Teamcenter section, select Add/Remove
Features. Click Next.

f. In the Features panel, under Server Enhancements, select Sample files.

g. Click Next.

h. In the Confirmation panel, click Start.


The sample docmgt_samples.xml file is placed at the following location:

server-install-location\sample\document_management

i. Copy the document_management folder to another location where it can be referenced by


the Business Modeler IDE.

Note:
See the readme file at the following location:

server-install-location\sample\document_management

2. Open the docmgt_samples.xml file and use search and replace to change the prefix of SAM9 on
the data model items to your own organization's prefix.

Note:
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

3. Import the docmgt_samples.xml sample file into the Business Modeler IDE.

a. Choose File→Import.
The Import wizard runs.

b. In the Select dialog box, choose Business Modeler IDE→Import template file. Click Next.

c. Click the arrow in the Project box to select the project you want to import the sample file into.

5-334 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Import a sample document management template file

d. Click the Browse button to the right of the Template file box and browse to the directory
where the docmgt_samples.xml file is located, and select the docmgt_samples.xml file.

e. Click the arrow in the Extension file box and choose the extension file you want to receive
the document management data model (for example, default.xml).

f. Click Finish.
The data model is imported from the docmgt_samples.xml file to the extension file in the
project.

4. In the Extensions folder, open the Document Management folder to see the samples in the
Dispatcher Service Config, IRDC, Print Configuration, and System Stamp Configuration folders.
The names of the samples each show your project’s naming prefix that you used to replace the
SAM9 prefix in the docmgt_samples.xml file.
You can use these as the basis for your own dispatcher service configurations and IRDCs.

5. Deploy your template to a test server.

Note:
After deployment of IRDC rules you may need to restart TAO services to ensure they are
available to new tcserver processes.

6. Perform the following steps to import the DMTemplates file using My Teamcenter in the rich
client:

a. Choose Tools→Import→From PLMXML.

b. Click the browse button (...) to the right of the Importing XML File box and select the
following file:

server-install-location\sample\document_management\
importdmtemplates\DMTemplates.xml

c. Leave the Transfer Mode Name set to the default value of ConfiguredDataImportDefault.

d. Click OK.

e. Perform the following steps to verify that the import worked:

Note:
Depending on the templates loaded on your system, you may be presented with other
options in this sequence of steps.

A. Choose File→New→Item, select Document in the New Item dialog box, and click Next.

Business Modeler IDE PLM00071 11.2 5-335


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

B. Assign the ID and give the document a name. Click Next.

C. Click Next until you get to the DocumentRevision dialog box.

D. In the Document Subject box, select Functional Specification.

E. Click Finish.

F. Verify that the document revision is created successfully and the correct sample
functional specification Word dataset is attached to the newly created document
revision.

G. Create another document and select the Software Design Document value in the
Document Subject box. Verify that the document revision is created successfully and
the correct sample software design document Word dataset is attached to the newly
created document revision.

Configure PDF markup for the Acrobat/Reader Plugin

To use Document Manager PDF markup capabilities with the Acrobat/Reader Plugin feature in
Teamcenter, you must enable the PDF_Tool tool type for markup.

1. Ensure that you have installed Adobe Acrobat or Adobe Reader.

2. In the Features panel of Teamcenter Environment Manager (TEM), install the


Extensions→Content and Document Management→Acrobat/Reader Plugin feature.

Note:
Acrobat/Reader Plugin works with Adobe Acrobat or Adobe Reader. Adobe Acrobat or Adobe
Reader must be installed before the plug-in.

3. In the Extensions folder of your custom template in the Business Modeler IDE, open the Options
\Tool folders and open the PDF_Tool tool.

4. In the PDF_Tool tool, click the Tool Markup Info tab and type the tool launch command in the Mac
Launch Command and Win Launch Command boxes:

• Mac Launch Command


Type the launch command on Macintosh systems. Type Adobe Reader.app to launch Adobe
Reader or Adobe Acrobat Pro.app to launch Adobe Acrobat Pro.

• Win Launch Command


Type the launch command on Windows systems. Type acrord32.exe to launch Adobe Reader
(default) or acrobat.exe to launch Adobe Acrobat.

5-336 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure PDF markup for the Acrobat/Reader Plugin

You can create additional PDF tools to launch different products. For example, if you want to use
the PDF_Tool tool to launch Adobe Reader, you can still create a separate tool to launch full
Acrobat.
You can also import a sample template file that contains a naming-prefixArobat_PDF tool.
To change the tools to use for viewing and markup, set the TCViewMarkupApplicationPref
preference, which is by default set to the PDF_Tool and MSWord tools.

5. On the Tool Markup Info tab, ensure the following check boxes are selected:

Download Required
Callback Enable
View Capable
Markup Capable

Note:
The Adobe digital signature capability is currently not used.

6. Save and deploy your custom template to Teamcenter.

7. To use markup in the Teamcenter rich client:

a. Create an item.

b. Create a PDF dataset under the item revision and import a PDF file.

c. Double-click the PDF, or select the PDF and choose File→View/Markup on the menu bar.
The PDF is opened in Adobe Acrobat or Adobe Reader in markup mode.

d. Add markups to the PDF in Adobe Acrobat or Adobe Reader.

Business Modeler IDE PLM00071 11.2 5-337


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

e. Save the PDF. The markups are saved with the file.

Linked Data Framework

Introduction to Linked Data Framework

The Linked Data Services folder in the Business Modeler IDE allows you to create objects needed to link
external life cycle collaboration tools (such as IBM RTC) to Teamcenter. You must first install the Linked
Data Services feature to use these objects.

The Linked Data Services feature uses the Linked Data Framework (LDF). This framework allows you to
create, retrieve, update, and delete data shared with external life cycle management systems. Linked
Data Framework is based on open technologies like Linked Data, Resource Description Framework (RDF),
and REpresentational State Transfer (REST). Using the Linked Data Services folder in the Business
Modeler IDE, you can create an application interface to be a Linked Data Framework consumer or
provider. A consumer consumes data from other applications while a provider provides data access to
other applications.

To set up Teamcenter as a Linked Data Framework provider, add the following components in the
Business Modeler IDE:

5-338 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new service catalog

• Service catalog
Specifies a domain for a protocol. A domain typically reflects specific functionality in Teamcenter, for
example, requirements management. The change management domain (Lis1CM) is available by
default.

• Linked Data Framework service


Specifies what functionality in a domain is available, for example, requirements management preview
functionality. If you create a Linked Data Framework service, you must perform additional
customizations.
The Linked Data Framework service can be of the following types:

• Factory service
Provides programmatic interfaces for using Linked Data Framework HTTP interfaces. The factory
services use the REST methods DELETE, GET, POST, and PUT.

• Delegated user interface (UI) service


Provides a UI-based service. The UI is rendered using Active Workspace. This service is defined with
a URI pointing to an Active Workspace UI designed for that service.

In the change management domain, the following functionality is available by default:

• Change request query capability (Lis1queryFactory service)


• Change request creation factory (Lis1creationFactory service)
• Change request creation dialog (Lis1createdialog service)
• Change request selection dialog (Lis1selectDialog service)

Create a new service catalog

The Linked Data Framework provider catalog typically reflects specific functionality in Teamcenter, and it
is referred to as a service catalog in the Business Modeler IDE Linked Data Framework registry. The
change management domain is provided in Linked Data Framework by the Lis0CM catalog. You can
create your own catalog to represent other areas of functionality in Teamcenter.

1. Open the Extensions\Linked Data Services folders, right-click an already-created protocol, and
choose New Service Catalog.
The New Service Catalog dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-339


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

2. Enter the following information in the Service Catalog dialog box:

a. In the Name box, type the name you want to assign to the new catalog.

b. In the Title box, type the display name to the new catalog.

c. In the Description box, state the purpose of the catalog.

d. In the Version box, type the protocol version supported by the catalog.

e. In the Namespace box, type the namespace path.

f. In the Namespace Prefix box, type the prefix you want to assign.

g. In the URL ID box, type the uniform resource identifier to form the URL for this resource.

h. In the Include Types table, select the list of business objects that the catalog supports.

i. In the Exclude Types table, select the list of business objects that the catalog does not
support.

j. Click Finish.
The new catalog appears under the selected protocol instance.

5-340 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new Linked Data Framework service

3. To save the changes to the data model, choose BMIDE→Save Data Model on the menu bar or click
the Save Data Model button on the main toolbar.

Create a new Linked Data Framework service

The Linked Data Framework services are used to create factory APIs that are used programmatically to
link to external applications. These services are defined for a given catalog. If you create a catalog, you
must create the services comprising the catalog.

1. Open the Extensions\Linked Data Services folders, right-click the already-created catalog, and
choose New LDF Service.
The New LDF Service dialog box is launched.

2. Enter the following information in the New LDF Service dialog box:

a. In the Name box, type the name you want to assign to the new service.

b. In the Title box, type the display name to the new service. This appears in the service catalog.

c. In the Description box, state the purpose of the service.

d. In the URL ID box, type the uniform resource identifier. This forms the URL for the resource.

e. Click the arrow in the Service Type box to select the kind of service type, either a business
object type, generic, or an instance type.

Business Modeler IDE PLM00071 11.2 5-341


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• BOType
Specifies that the service being defined is based on a business object type.

• Generic
Specifies that the service being defined does not apply to a specific business object type.

• Instance
Specifies services for update, delete, and preview for a specified business object instance.

f. Click the Browse button in the Resource Type box, and select the business object type, such
as ChangeItem.

g. Click one of the following buttons:

• Factory Interface
Creates the service factory. When you click Factory Interface, the following boxes are
populated:

• Resource Shape
Holds the URI required to get the resource shape (a data dictionary in RDF/JSON output
format) for a given business object type.

• Factory URI
Holds the URI for invoking this factory service.

• Delegate UI Service

5-342 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a Linked Data Framework service operation

Creates the service dialog box. Perform the following steps:

A. In the Delegated URI box, specify the delegated user interface URI for this service
implementation.

B. In the Hint Height box, specify the value for the height of the Delegated UI dialog
box in pixels.

C. In the Hint Width box, specify the value for the width of the Delegated UI dialog box
in pixels.

3. To save the changes to the data model, choose BMIDE→Save Data Model on the menu bar, or
click the Save Data Model button on the toolbar.

Create a Linked Data Framework service operation

For every service, you can associate four possible different REpresentational State Transfer (REST)
operation implementations: GET, POST, PUT, and DELETE.

1. Expand the Extensions\Linked Data Services folders.

2. Open the service factory to hold the new operation.

Business Modeler IDE PLM00071 11.2 5-343


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Tip:
You must create a service factory before you create a service operation.

3. Right-click the service factory in which you want to create the new operation, choose Open, and
click the Operations tab.

4. Click the Add button on the Operations tab.


The New Service Operation wizard is launched.

5-344 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a Linked Data Framework service operation

5. Perform the following steps in the Link Data Framework (LDF) Service Operation dialog box:

a. In the Name box, type a unique name for that operation.

b. In the Function name box, type the API you want to assign for executing the service
operation.

c. Click the arrow in the REST Action box to select the REST operation type: GET, PUT, POST, or
DELETE. Only one operation with the selected REST action can be active.

d. Click the Operation Description button to type a complete description of the functionality
exposed through the service operation.
The Description Editor is displayed.
Follow these best practices:

• Describe what this operation does. Explain more than simply stating the method name.

Business Modeler IDE PLM00071 11.2 5-345


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Make the description complete in its usefulness. Keep in mind the client application
developer while writing the content.

• Whenever appropriate, describe how each argument interrelates when this operation
completes.

• Use correct formatting with fixed and bold text where appropriate.

• Use correct Teamcenter terminology.

• Define acronyms before using them.

e. Click the Return Description button to type a complete description of what the service
operation returns. Follow these best practices:

• Describe what the output represents and provide high-level details of the output data. Do
not specify only the type of service data returned.

• Describe any partial errors returned.

• Specify returned objects that are created, updated, or deleted as part of service data.

• Use complete sentences.

• Use correct formatting with fixed and bold text where appropriate.

• Use correct Teamcenter terminology.

• Define acronyms before using them.

f. Click the Use Case button to describe how the user interacts with this operation to
accomplish the operation’s goal. Follow these best practices:

• Document when and why this operation can be consumed.

• Describe how operations interrelate to satisfy the use case (if there is interrelation between
operations).

• Use complete sentences.

• Specify all possible use cases.

• Use correct formatting with fixed and bold text where appropriate.

• Use correct Teamcenter terminology.

5-346 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Working with applications

• Define acronyms before using them.

g. Click the Library button to select the library where the API is defined, for example,
Lis0lisfmwrk.

h. Examine the contents of the preview pane.

i. Click Finish.
The new service operation displays on the Operations tab. To see the characteristics of the
operation, select it and click Operation Definition on the right side of the editor.

6. To save the changes to the data model, choose BMIDE→Save Data Model on the menu bar, or
click the Save Data Model button on the main toolbar.

Working with applications


The Applications folder in the Extensions folder is for working with applications, tools that manage
interaction with rich client applications.

Applications are used on classes to indicate what rich client application can add or edit attributes on that
class. To see the application that can be used for a class, open the class in the Classes view in the
Advanced perspective and look at the Application Name box. You cannot configure applications, but
you may need to look at them to understand which classes you can edit with ITK code.

The Applications folder contains the following:

• AM
This application applies to classes used by the Access Manager. The AM rule tree, ACLs, and some
supporting classes are stored in the database via POM. The application protection ensures that some
operations (such as write and delete) to instances of these classes must go via the published AM ITK
and cannot be circumvented by direct use of generic POM ITK.

• AUDITMGR
This application applies to classes used by Audit Manager.

• CFM
This application applies to classes used by the Configuration Management application.

• CMMV
This application applies to classes used by the Configuration Management and Multiple Views
application (in Engineering Process Management).

• EIM
This application applies to classes used by the Engineering Information Management application (in
Engineering Process Management).

Business Modeler IDE PLM00071 11.2 5-347


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• INFOMANAGEV200
This application is used for general core. It is not effectively utilized because ITK logon enables the
application, thus defeating the point of application protection.

• PMM
This application applies to classes used by Product Master Manager.

• POM
This application applies to classes used by the persistent object manager (POM). These classes
(POM_class, POM_attribute, and POM_application) are owned by POM so that direct access using
generic POM ITK is disallowed. The POM data dictionary is used to represent the class-to-database
mapping and general reflection.

• RLM
This application applies to classes used by the Workflow application.

• SCHMGTV100
This application is used to specify the classes used by the Schedule Manager application. Schedule
Manager is used for planning and tracking activities.

• USER
This application applies to classes used by the Organization application (POM_user, POM_group, and
POM_member classes). It is used to ensure changes to instances in these classes go via the supported
POM ITK (such as changes in user ID or deletion of a user or group) and not via the more general POM
ITK (such as POM_ask_attr_type or POM_delete_instances).

Teamcenter Component objects

What are Teamcenter Component objects?

Teamcenter Component objects are categories that represent Teamcenter modules that have specific
business purposes. Teamcenter Component objects represent Workflow, Structure Manager,
preferences, Business Modeler IDE, Query Builder, Project, Access Manager, Schedule Manager, and so
on. These objects also represent modules like Solid Edge, NX, Wiring Harness Design Tools Integration,
and MRO. Each extension (business object, property, LOV, extension rule, operation, GRM Rule, and so
on) in the Business Modeler IDE can be tagged with a Teamcenter Component name thus identifying
which category the extension belongs to. Therefore, Teamcenter Component objects offer a way to
identify all the extensions that belong in that category.

For some Business Modeler IDE templates such as MRO, all extensions in this template can easily be
tagged as belonging to the MRO component because this template supplies data model, behaviors, and
configurations for the MRO functionality. Many Business Modeler IDE templates fall into this category
where all extensions in the template are for a single business purpose.

However, for other templates such as the Foundation template, the extensions within this template map
to many different components: Workflow, preferences, Business Modeler IDE, and so on. Therefore,
when looking at the extensions in the Foundation template, you can easily see what component the

5-348 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a Teamcenter Component object

extension is assigned to and gain a better understanding of the area of Teamcenter that the extension
impacts. For example, if a set of LOVs are tagged with the Workflow component, you can easily discern
that changing these LOVs impacts Workflow.

Verification rules are used to specify a set of conditions to be used in an application. For example, the
BOM application needs a set of conditions that a user can select to grade a BOM. Verification rules are
used to provide these conditions. A user can create a verification rule, select the BOM grading
functionality, and specify the condition that should be provided. If multiple verification rules are
provided, the user is presented with the list of all available conditions that apply based on the
verification rules.

Use the Teamcenter Component folder and the Verification Rule editor to set up rules that use
conditions to evaluate how business objects are used in Teamcenter. Use the Teamcenter Component
folder in the Extensions folder to group business objects and conditions together that belong to the
same function. These functionality groupings can be used in Teamcenter to verify when certain business
objects are valid for use. Use the Verification Rule editor to specify when Teamcenter Component
objects can be used in Teamcenter. To access this editor, choose BMIDE→Editors→Verification Rules
Editor.

For example, an administrator can set up conditions, Teamcenter Component objects, and verification
rules in the Business Modeler IDE to be used in BOM grading. BOM grading is verifying items in BOMs.
Then BOM administrators can use the Structure Manager Tools→BOM Grading menu command in the
rich client to check parts to see if they are valid for use in selected BOMs. The Fnd0BOMGrading
Teamcenter Component object is used in BOM grading.

Create a Teamcenter Component object

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Teamcenter Component in the
Wizards box, and click Next.

• In the Extensions folder, right-click the Teamcenter Component folder and choose New
Teamcenter Component.

The New Teamcenter Component wizard runs.

Business Modeler IDE PLM00071 11.2 5-349


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

2. Perform the following steps in the Create Teamcenter Component dialog box:

a. In the Name box, type the name you want to assign to the new Teamcenter Component
object.

b. In the Description box, type a description for the new Teamcenter Component object.

c. Click Next.
The next dialog box in the wizard appears.

3. Perform the following steps in the next Create Teamcenter Component dialog box:

5-350 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a Teamcenter Component object

a. Select the Enable for Verification Rules check box to make the new Teamcenter
Component object available for use by verification rules.

Note:
To see the verification rules, choose BMIDE→Editors→Verification Rules Editor.

b. Click the Add button to the right of the Business Object Scope box to define the business
object scope list for the Teamcenter Component object.
The Business Object Scope dialog box is displayed.

A. In the Business Object Scope dialog box, click the Browse button to the right of the
Business Object Scope box to select the business objects to add to the list.

B. Click Finish to add the business object to the scope list.

c. Click the Add button to the right of the Supported Condition Signatures box to build the
condition signatures for the Teamcenter Component object.
The Custom Parameters dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-351


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

A. In the Custom Parameters dialog box, click the Add button to the right of the
Parameters table to add the parameters to evaluate for the condition.
The New Condition Parameter dialog box is displayed.

B. In the New Condition Parameter dialog box, click the Browse button to the right of the
Parameter type box to select the business object or user session to evaluate, and type
the parameter in the Parameter name box.

C. Click Finish in the New Condition Parameter dialog box and the Custom Parameters
dialog box.

d. Click the Browse button to the right of the Sub Group LOV box to select the appropriate list
of values (LOV) that is valid for the rule.

e. Click Finish.
The Teamcenter Component object is added under the Teamcenter Component folder.

5-352 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a verification rule

Create a verification rule

1. On the menu bar, choose BMIDE→Editors→Verification Rules Editor.


The Verification Rule editor is displayed.

2. Click the Add button to the right of the table.


The New Verification Rule wizard runs.

3. In the Verification Rule dialog box, click the Browse button to the right of the Teamcenter
Component box to select the Teamcenter Component object the rule is applied to.

Note:
To see a Teamcenter Component object in the list, the Enable for Verification Rule check
box must be selected on the Teamcenter Component object.

4. Click the Browse button to the right of the Applies to Business Object box to select the business
object that the verification rule applies to. The available business objects are those in the business
object scope of the Teamcenter Component object selected in step 3.

5. Click the Browse button to the right of the Context Filter box to select the context for when the
rule applies.

6. Click the Browse button to the right of the Condition Rule box to select the condition for the rule.

Business Modeler IDE PLM00071 11.2 5-353


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
The only conditions that are available are those with supported condition signatures or their
child types as defined in the selected Teamcenter Component object. The condition
signature order must match the selected Teamcenter Component object supported
signature order. If there is a selected applied business object, it must match the condition’s
first parameter or be a subtype of the first parameter.

7. Click the Browse button to the right of the Sub Group box to select the LOV value to use for the
rule

8. Click Finish.
The new verification rule is displayed on the Verification Rule table.

Global constants

Introduction to global constants

Global constants provide consistent definitions that can be used throughout the system. These
constants have only one value, either the default value or the value you set.

When you create a new constant, you must also add the code on the server to return the constant's
value to the caller, so the caller can branch the business logic based on the returned value.

You can create global constants for a number of situations. Some examples are:

• Set the folder names for the Home folder.

• Set how many seconds before the client application should time-out.

• Enable functionality.

For example, a global constant called ActiveWindows has a list of three possible choices, 1, 2, or 3, with
a default value of 1 in the Foundation template. Once a constant is set, it can be overridden by another
template. Another template can set the default value to 2, and yet another template can set it to 3. The
rule is that the last template to be installed determines the constant value that is used.

The server-side code can use the following published ITK to retrieve a global constant value:

int CONSTANTS_get_global_constant_value (
const char* constant_name, /* <I> */
char ** value /* <OF> */
);

5-354 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a global constant

Create a global constant

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Global Constants in the Wizards
box, and click Next.

• Open the Extensions\Constants folders, right-click the Global Constants folder, and choose
New Global Constants.

The New Global Constants wizard runs.

2. Perform the following steps in the Create Global Constant dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new constant in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Description box, type an explanation of how the constant is to be used.

d. Click the arrow in the Data Type box to select one of the following:

• Boolean
Allows two choices to the user (True or False).

• String
Indicates that the value is a text string.

Business Modeler IDE PLM00071 11.2 5-355


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• List
Contains a list of values.

e. If you selected the String data type, the Is Multi Valued? check box appears. Select this check
box if you want to enter multiple values for the constant.

f. If you selected the List data type, a Values table appears. Click the Add button to add values
to the list:

A. In the Value box, type a value for the list.

B. Select Secured to prevent the selected value from being overridden by another
template.

C. Click Finish.

g. In the Default Value box, enter the initial value of the constant. Entry differs depending on
the data type you previously chose:

• If you selected the String data type, type in the default value. If you also selected the Is
Multi Valued? check box, the Default Value box changes to a table with multiple rows that
you can use to enter values.

• If you selected the Boolean data type, click the arrow to select True or False for the default
value.

• If you selected the List data type, click Browse to select a value from the available ones on
the list.

h. Use the following check boxes to enable the constant for live updates:

• Allow Live Updates?


Select this check box to specify that the constant definition itself can be updated live.

• Allow Live Updates to the Constant Override?


Select this check box to specify that the constant attachment (override) can be updated.
The constant attachment contains the value set for the constant.

In a live updates environment, you can deploy changes for custom constants, but you cannot
deploy changes for COTS constants.

i. Click Finish.
The new constant appears under the Global Constants folder.

5-356 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Change the value of a global constant

Note:
You can also see the global constant by choosing BMIDE→Editors→Global Constants
Editor on the menu bar. To modify the value of the constant, select the constant on the
Global Constants table and click the Edit button.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

5. To verify the constant on the server, run the getglobalconstantvalue utility. This utility tests the
value of the constant in the database. The utility accepts the name of the global constant and
outputs the value of the constant if present.

Change the value of a global constant

Global constants provide consistent definitions that can be used throughout the system. These
constants have only one value, either the default value or the value you set.

1. On the menu bar, choose BMIDE→Editors→Global Constants Editor.


The Global Constants Editor is displayed.

2. Select the constant in the Global Constants table and click the Edit button.

Business Modeler IDE PLM00071 11.2 5-357


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

The Business Modeler IDE displays the Modify Global Constant dialog box.

3. In the Value box, enter a new value depending on the type of constant:

• Boolean
Click the Value check box for True, or unselect for False.

• List
Click the arrow at the end of the box to select a value.

• String
Type a new value.

Note:
Valid values are dependent on the global constant. For valid values, view the description of
the constant. To see the description of the constant, in the Extensions folder, open the
Constants\Global Constants folders and select the constant. The constant details, including
a description of the constant, appear in the Global Constants Editor.

4. Select the Allow Modification in Custom templates check box to allow the constant
attachment value to be changed by a custom template.

5. Click Finish.
The changed value displays in the Global Constants table. Note that a check mark appears in the
Overridden column and the name of your project displays in the Template column, indicating that
your project overrides the value of the constant.

6. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.
The constant change is saved in the active extension file.

5-358 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Global constants reference

Global constants reference

Global constants provide consistent definitions that can be used throughout the system. These
constants have only one value, either the default value or the value you set.

To change the value of a global constant, choose BMIDE→Editors→Global Constants Editor on the
menu bar, select the constant in the Global Constants table, and click the Edit button.

The changed value displays in the Global Constants table. A check mark appears in the Overridden
column and the name of your project appears in the Template column, indicating that your project
overrides the value of the constant.

• ADSAutoCreateTechdoc
Allows for automatic creation of an ADSTechDoc technical document object when an ADSPart,
ADSDesign, or ADSDrawing business object is created. This saves the user from having to create the
technical document object themselves.
Set the constant to true to enable the technical document autocreation, and to false to disable it.
This constant is provided by the adsfoundation template file.

• ADSAutoSelectTechdoc
Allows for automatic selection of an ADSTechDoc technical document object when an ADSPart,
ADSDesign, or ADSDrawing business object is created. If a technical document is found that has the
same number as the part, design, or drawing being created, it is selected and related to the new
object as a source document. This saves the user from having to select the technical document object
themselves.
Set the constant to true to enable the technical document auto selection, and to false to disable it.
This constant is provided by the adsfoundation template file.

• AIEDSConfiguredProperties
Adds dataset types. This task was formerly performed by the AIE_NX_master_ds_types preference,
AIE_ACAD_master_ds_types preference, and AIE_SE_master_ds_types preferences.
This constant is provided by the foundation template file.

• AutoCreatePartLogisticsForm
Determines if the Part Logistics Form is created automatically when the neutral item is created. The
default value is true.
This constant is provided by the mrocore template file.

• BOMLineAbsOccCompProperties
Adds a compound property to the BOM line. This constant allows you to create a compound
property to be used by a custom form attached to a BOM line using an absolute occurrence. This task
was formerly performed by the PSE_absocc_compound_properties preference. This constant is
provided by the foundation template file.
You must input values to the constant using the following formats:

• To attach a form to a BOM line:

Business Modeler IDE PLM00071 11.2 5-359


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

FORM::attachment-type::attached-object-type::PROPERTY::form-type::
property-name::property-display-name::UIFLOCK

For example:

FORM::IMAN_specification::BVRSyncInfo::PROPERTY::
BVRSyncInfo::last_sync_date::Absocc Last Sync Date

• To attach a dataset to a BOM line:

DATASET::attachment-type::attached-object-type::dataset-named-reference::
PROPERTY::form-type::property-name::property-display-name::UIFLOCK

For example:

DATASET::IMAN_specification::UGMASTER::BVRSYNCINFO::
PROPERTY::BVRSyncInfo::last_sync_date::
Absocc UGMASTER Last Sync Date

Note the following:

• The UIFLOCK value is optional, and prevents users from making changes to a compound property
value from Structure Manager.

• You can display a property of a form that is attached to a BOM line using the absocc absolute
occurrence, or a named reference of a dataset that is attached using the absocc absolute
occurrence.

• The following property types are supported:

Character
Date
Double
Integer
Logical
String

• BOMLineFormConfiguredProperties
Specifies custom item master forms whose properties are to be added as derived BOM line properties.
These properties appear in the user interface where BOM line properties are displayed, including
Structure Manager, Systems Engineering, and Manufacturing Process Planner, among others. This task
was formerly performed by the PSE_add_props_of_item_form_types preference. The default value
for this constant is Item Master.
This constant behaves similarly to other global constants that control derived BOM line properties. For
each, add your custom business object type to the constant, and the properties on the custom type
are added as bl_ properties on the BOMLine business object.

5-360 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Global constants reference

Constant Use

BOMLineFormConfiguredProperties Add properties from item master types.

BOMLineRevConfiguredProperties Add properties from item revision master


types.

Fnd0BOMLineItemConfigProps Add properties from item types.

Fnd0BOMLineRevConfigProps Add properties from item revision types.

To use this constant:

1. Open the Global Constants Editor and add a custom item master business object to this
constant.

2. Right-click the project and choose Reload Data Model.

3. Open the BOMLine business object and click the Properties tab.
In the Properties table, the properties from the custom business object are added with the
following naming convention:

bl_business-object-name_property-name

4. Select a new bl_ property, click the Edit button, and in the Display Name box, type the name
you want to use for this property when it appears in the user interface.

5. Choose BMIDE→Save Data Model on the menu bar.

6. Deploy the template to a test server.

7. Perform the following steps to verify the new properties in the user interface.

a. Run the rich client on the test server.

b. Send an item to an application that has a BOM table, such as Structure Manager.

c. Right-click a column heading in the BOM table and choose Insert Column(s).

d. In the Available Columns box, type bl_ to see all the new available properties to add as
columns on the table.

Business Modeler IDE PLM00071 11.2 5-361


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
You can use the BOM_Properties_For_Column_Selection preference to restrict the
properties that are displayed on a column by group or role.

This constant is provided by the foundation template file.

• BOMLineRevConfiguredProperties
Specifies custom item revision master forms whose properties are to be added as derived BOM line
properties. These properties appear in the user interface where BOM line properties are displayed,
including Structure Manager, Systems Engineering, and Manufacturing Process Planner, among
others. This task was formerly performed by the PSE_add_props_of_rev_form_types preference. The
default value for this constant is ItemRevision Master.
This constant behaves similarly to other global constants that control derived BOM line properties. For
each, add your custom business object type to the constant, and the properties on the custom type
are added as bl_ properties on the BOMLine business object.

Constant Use

BOMLineFormConfiguredProperties Add properties from item master types.

BOMLineRevConfiguredProperties Add properties from item revision master


types.

Fnd0BOMLineItemConfigProps Add properties from item types.

Fnd0BOMLineRevConfigProps Add properties from item revision types.

To use this constant:

1. Open the Global Constants Editor and add a custom item revision master business object to this
constant.

2. Right-click the project and choose Reload Data Model.

3. Open the BOMLine business object and click the Properties tab.
In the Properties table, the properties from the custom business object are added with the
following naming convention:

bl_business-object-name_property-name

4. Select a new bl_ property, click the Edit button, and in the Display Name box, type the name
you want to use for this property when it appears in the user interface.

5-362 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Global constants reference

5. Choose BMIDE→Save Data Model on the menu bar.

6. Deploy the template to a test server.

7. Perform the following steps to verify the new properties in the user interface.

a. Run the rich client on the test server.

b. Send an item to an application that has a BOM table, such as Structure Manager.

c. Right-click a column heading in the BOM table and choose Insert Column(s).

d. In the Available Columns box, type bl_ to see all the new available properties to add as
columns on the table.

Note:
You can use the BOM_Properties_For_Column_Selection preference to restrict the
properties that are displayed on a column by group or role.

This constant is provided by the foundation template file.

• Cdm0UseCurrentProjSchTemplates
Determines if all contract schedule templates need to be displayed for selection or only those
templates whose owning project matches the current project set in the session. The default value is
false, which means that all the schedule templates are displayed for user to select. If you want to
display only the schedule templates whose owning project matches the current project, set the
constant to true.
This constant is provided by the cdm0contractmanagement (Contract Data Management) template
file.

• CFGAtLnFormConfiguredProperties
Adds properties on the forms specified in the preference to the CfgAttachmentLine. The property
name has the format al_property-name. This task was formerly performed by the
Cfg_Att_add_props_of_form_types preference.
This constant is provided by the foundation template file.

• Cpd0DEPropertiesForMBOM
Determines the design element properties to be copied to a BOM line after adding it to a
manufacturing bill of materials (MBOM). The format for each property is:

design-element-property-name

This constant is provided by the cpd template file.

• Cpd0DEToBOMPropertyMapping

Business Modeler IDE PLM00071 11.2 5-363


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Determines a corresponding BOM line property for a given design element property. The format
for each property is:

design-element-class-type::design-element-property-name:bomline-property-name

This constant is provided by the cpd template file.

• Cpd0DFPropertiesForMBOM
Determines the design feature properties to be copied to a BOM line after adding it to a
manufacturing bill of materials (MBOM). The format for each property is:

feature-class-type::design-feature-property-name

This constant is provided by the cpd template file.

• Cpd0DFToBOMPropertyMapping
Determines a corresponding BOM line property for a given design feature property. The format
for each property is:

feature-class-type::design-feature-property-name:bomline-property-name

This constant is provided by the cpd template file.

• Cpd0FormPropertyMap
Lists the mapping of properties from a BOM configured form to the design element configured
attribute group. The format is:

bomline-property:form-property-name::design-element-property:
attribute-group-property-name

This constant is provided by the cpd template file.

• Cpd0TemplateDeployed
Identifies whether the CPD template is installed.
This constant is provided by the cpd template file.

• CreateDataWithNoActiveProgram
Allows project and program members to create objects in projects or programs in Teamcenter. Its
default setting is true. But if this constant is set to false, project or program members cannot create
objects unless the project or program is active and the project-level or program-level security is
turned on.
This constant is provided by the foundation template file.

5-364 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Global constants reference

Note:
• Use the restrictDataCreationToProgram extension rule to customize the default behavior of
the CreateDataWithNoActiveProgram global constant.

• Use the Fnd0CheckProgramContext extension rule to check if the user session program
context (the project/program set in the Edit→User Settings dialog box) is the same as the
object owning_project value. If not, then the following error message is displayed:

The Project context is not the same as the object owning


Project.
Please change the Project context using the "User Settings"
command.

• DefaultProjectSmartFolders
The value for this constant is the LOV name that holds the default smart folder hierarchy for a
project. The default value is the Default Project Smart Folders LOV.
This constant is provided by the pkgart template file.

• DeviationAuthorityType
Determines the Item business object that will be considered authority for deviation. The default value
is DeviationDoc.
This constant is provided by the mrocore template file.

• Erp0IMAN_view_type
Specifies the property name to show all available view types on the ERP data form. Users can select
the view type to export as part of ERP Connect Toolkit. The default value is IMAN_view_type.
This constant is provided by the erp template file.

• Erp0Sent_to_ERP
Specifies the property name to show transfer details on the ERP data form. The value of this constant
is a string property on the ERP data form in ERP Connect Toolkit and is filled with transfer details. The
default value is Sent_to_ERP.
This constant is provided by the erp template file.

• Fnd0AllowMultipleRevofCustomNote
Allows attaching multiple revisions of custom notes to Part or Document instances. The default value
is true.
This constant is provided by the foundation template file.

• Fnd0AllowMultipleRevofParamReq
Allows attaching multiple revisions of parametric requirements to Part or Document instances. The
default value is true.
This constant is provided by the foundation template file.

• Fnd0AllowSameParamReqMutipleTime

Business Modeler IDE PLM00071 11.2 5-365


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

If the value of this constant is true, it allows multiple attachments of a parametric requirement or
parametric requirement revision object to an item or revision using the parametric requirements lists
relation. The default value is false.
This constant is provided by the foundation template file.

• Fnd0AllowSuggestiveLocationCode
Determines if an end user is allowed to enter a location code that does not exist on any company
location when creating a new CompanyLocation business object. By default, the value of the
constant is true. If the value of this constant is true, and a user enters a new location code to the
Company Location box, the following message is displayed:

The Location Code entered does not exist on any Company Location.
Do you want to continue?

When the user clicks the Yes button, the new location code is saved.
If the value of the constant is false, the end user must select from the list of existing location codes. If
an end user enters a new location code, the following message is displayed:

The Location Code entered does not exist on any Company Location.
Please enter a valid Location Code.

This constant is provided by the foundation template file. This constant works in conjunction with the
Fnd0MaintainUniqueLocationCode global constant.

• Fnd0AutoGenNextIdPerItemType

Caution:
This constant is deprecated.

Assigns the next ID per item type. The default value is false, which means the next ID is
autogenerated for all item types.
This constant is provided by the foundation template file.
Previously, the ITEM_autogenerate_id preference allowed you to determine whether an initial ID was
automatically created when creating an item of the type specified in the preference. This preference
is deprecated as of Teamcenter 10.1.3.

• Fnd0BOMLineGenerator
Specifies the BOM lines to create. The default value is MEProcess. The Fnd0SkipBOMLineGenerator
global constant defines the BOM lines to skip.
This constant is provided by the foundation template file.

• Fnd0BOMLineItemConfigProps
Specifies custom items whose properties are to be added as derived BOM line properties. These
properties appear in the user interface where BOM line properties are displayed, including Structure
Manager, Systems Engineering, and Manufacturing Process Planner, among others. The default value
for this constant is Item.

5-366 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Global constants reference

This constant behaves similarly to other global constants that control derived BOM line properties. For
each, add your custom business object type to the constant, and the properties on the custom type
are added as bl_ properties on the BOMLine business object.

Constant Use

BOMLineFormConfiguredProperties Add properties from item master types.

BOMLineRevConfiguredProperties Add properties from item revision master


types.

Fnd0BOMLineItemConfigProps Add properties from item types.

Fnd0BOMLineRevConfigProps Add properties from item revision types.

To use this constant:

1. Open the Global Constants Editor and add a custom item business object to this constant.

2. Right-click the project and choose Reload Data Model.

3. Open the BOMLine business object and click the Properties tab.
In the Properties table, the properties from the custom business object are added with the
following naming convention:

bl_business-object-name_property-name

4. Select a new bl_ property, click the Edit button, and in the Display Name box, type the name
you want to use for this property when it appears in the user interface.

5. Choose BMIDE→Save Data Model on the menu bar.

6. Deploy the template to a test server.

7. Perform the following steps to verify the new properties in the user interface.

a. Run the rich client on the test server.

b. Send an item to an application that has a BOM table, such as Structure Manager.

c. Right-click a column heading in the BOM table and choose Insert Column(s).

Business Modeler IDE PLM00071 11.2 5-367


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

d. In the Available Columns box, type bl_ to see all the new available properties to add as
columns on the table.

Note:
You can use the BOM_Properties_For_Column_Selection preference to restrict the
properties that are displayed on a column by group or role.

This constant is provided by the foundation template file.

• Fnd0BOMLineRevConfigProps
Specifies custom item revisions whose properties are to be added as derived BOM line properties.
These properties appear in the user interface where BOM line properties are displayed, including
Structure Manager, Systems Engineering, and Manufacturing Process Planner, among others. The
default value for this constant is ItemRevision.
This constant behaves similarly to other global constants that control derived BOM line properties. For
each, add your custom business object type to the constant, and the properties on the custom type
are added as bl_ properties on the BOMLine business object.

Constant Use

BOMLineFormConfiguredProperties Add properties from item master types.

BOMLineRevConfiguredProperties Add properties from item revision master


types.

Fnd0BOMLineItemConfigProps Add properties from item types.

Fnd0BOMLineRevConfigProps Add properties from item revision types.

To use this constant:

1. Open the Global Constants Editor and add a custom item revision business object to this
constant.

2. Right-click the project and choose Reload Data Model.

3. Open the BOMLine business object and click the Properties tab.
In the Properties table, the properties from the custom business object are added with the
following naming convention:

bl_business-object-name_property-name

5-368 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Global constants reference

4. Select a new bl_ property, click the Edit button, and in the Display Name box, type the name
you want to use for this property when it appears in the user interface.

5. Choose BMIDE→Save Data Model on the menu bar.

6. Deploy the template to a test server.

7. Perform the following steps to verify the new properties in the user interface.

a. Run the rich client on the test server.

b. Send an item to an application that has a BOM table, such as Structure Manager.

c. Right-click a column heading in the BOM table and choose Insert Column(s).

d. In the Available Columns box, type bl_ to see all the new available properties to add as
columns on the table.

Note:
You can use the BOM_Properties_For_Column_Selection preference to restrict the
properties that are displayed on a column by group or role.

This constant is provided by the foundation template file.

• Fnd0BOMMarkupAllowed
Enables BOM markup when set to true. The default value is false.
This constant is provided by the foundation template file.

• Fnd0BOMMarkupSupported Properties
Defines the set of relative occurrence property edits that can be stored as markup changes.
This constant is provided by the foundation template file.

• Fnd0DisplayLocationCodeLOV
Determines if the Location Code box on the User Setting dialog should be a text box or display a list
of values (LOV) with CAGE codes. By default, the value is set to false, making it a text box. Set it to
true to have the box display a list of values.
This constant is provided by the foundation template file.

• Fnd0EnableMultiUnitConfiguration
Enables multi-unit configuration. Multi-unit configuration refers to a combination of multiple end
items and range of units for each end item used to configure product structure occurrences. To enable
the creation of multi-unit effectivities, the administrator must set the
Fnd0EnableMultiUnitConfiguration global constant to true at each site using the Business Modeler
IDE.
If this constant is set to false, users cannot access multi-unit configuration user interface capabilities
in Structure Manager. The default value is false.

Business Modeler IDE PLM00071 11.2 5-369


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

This constant is provided by the foundation template.

• Fnd0FilterEntriesForSignal
Defines the values to display in the Library box in the Class Details pane of Classification Admin. The
available values to enter for this constant are values in the Fnd0LibraryType LOV. The default value is
Signals, which is a value in the Fnd0LibraryType LOV. You can add values to the Fnd0LibraryType
LOV and then add the same values to this constant.
This constant is read when the end user clicks the Add Signals from Library icon in Structure
Manager or Systems Engineering and Requirements Management. This constant determines what
types of libraries to show when users search and add signals.
You can set this constant to your own type of library if you do not want to use the standard
Fnd0LibraryType LOV values. You can display more than just a library of signals. You can enter
multiple values, and libraries corresponding to each of the values is displayed.
This constant is provided by the foundation template file.

• Fnd0LocalizableExclusion
Specifies the list of properties that cannot be marked with the Localizable property constant. The
values are in the format business-object.property-name, for example, ItemRevision.ip_classification.
This constant is provided by the foundation template file.

• Fnd0LOVDisplayAsEnabled
Enables the display of translated text for LOVs. Displaying translated text impacts system
performance. This constant allows administrators to turn off the run-time display of LOV translated
text to improve performance. To turn off the run-time display of LOV translated (display as) text,
change the value of the constant to false. The default value is true.
This constant is provided by the foundation template file.

Note:
The TC_USE_LOV_SHARED_MEMORY environment variable can be used to manage loading
LOV display text into memory.

• Fnd0MaintainUniqueLocationCode
Maintains a unique location code for each company location. This is used when an end user creates a
new CompanyLocation business object and must enter a location code to the Company Location
box.
The default value is false. If the value is false, the system creates the new company location with the
entered location code. If the value is true, the system checks if there is any other company location
that exists with same location code, and if yes, the system displays the following message:

The Location Code already exists. Please choose different Location


Code.

This constant is provided by the foundation template file. This constant works in conjunction with the
Fnd0AllowSuggestiveLocationCode global constant.

• Fnd0MaxValOfHoursRecordedInDay

5-370 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Global constants reference

Defines the maximum number of hours that can be recorded for a user on any given day for license
use. The default value is 7.5. To change the value, type a new value for the hours in the Value box.
This constant is provided by the foundation template file.

• Fnd0MFKVariantGenUnqNamespace
Enables generating a unique namespace for items having similar item IDs for variant formulas in
classic variants. The default value is set to true to support multifield key data for classic variants. If
multifield key support is not required for variants data, this constant can be set to false.
The namespace is generated with the item ID followed by a running counter to represent that item
uniquely in the variant formula. For example, if you have two items with the same item ID as 011027,
variant options are defined as:

011027 - car , model = lx,zx,vx , namespace = 011027


011027 - engine , type = petrol, diesel , namespace = 011027_7

The variant formula using options on both the items is:

[011027]model = lx
[011027_7]type = petrol

The variant condition displays the object string as:

[011027-car]model = lx
[011027-engine]type = petrol

This constant is provided by the foundation template file.

• Fnd0MigratedPostActions
Contains the list of postactions that are automatically dispatched from the create message to the save
message. Postactions are added to this constant automatically when a project from an older version
of Teamcenter is imported and upgraded to the current data model. If you want to prevent a
postaction from being automatically dispatched, you can select it on the constant and click the
Remove button. You may need to remove postactions from this constant if you need to refactor
postactions on create operations.
This constant is provided by the foundation template file.

• Fnd0MultiFieldKeyExclusions
Excludes selected business object types from having their multifield keys definitions changed. The
business objects types that already that have the multifield key defined cannot be added to this
exclusion list. This constant prevents others from setting a multifield key by disabling the Edit button
on the MultiFieldKey business object constant. The default value is
Dataset,EPMTaskTemplate,ItemRevision,ListOfValues,StorageMedia.
This constant is provided by the foundation template file.

• Fnd0ParamReqDelimiter
Serves as a delimiter between the parametric values of a parametric requirement. The default value
is ,.
This constant is provided by the foundation template file.

Business Modeler IDE PLM00071 11.2 5-371


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Fnd0PropagateToSecondaryDataset
Indicates if the security data is propagated to the second level datasets. The default value is false.
When the value is set to true, this constant enables the propagation of security data and
propagation-enabled custom properties from the primary dataset to the related secondary datasets.
This constant is provided by the foundation template file.

• Fnd0PropertyValueDisplayLocales
Defines the language locales available for property values display names.
This constant is provided by the foundation template file.

• Fnd0PSEEnableQtyConversionUOM
Enables the edit quantity feature in the Structure Manager. Use this when you want to specify a
quantity for a structure line in a user-defined unit of measure. To enable the feature, set the value to
true. The default value is false.
You must specify the dataset containing the rule file in the Fnd0PSEQtyConversionDSName global
constant.
This constant is provided by the foundation template file.

• Fnd0PSEQtyConversionDSName
Specifies the dataset containing the XML rule file. Use this when you want to specify a quantity for a
structure line in a user-defined unit of measure in the Structure Manager. The default value is
ConversionTable.
To enable this feature, you must set the Fnd0PSEEnableQtyConversionUOM global constant to true.
This constant is provided by the foundation template file.

• Fnd0RelationsToSync
Defines the list of relations to sync for Multi-Site operations. The default value is VMRepresents.
This constant is provided by the foundation template file.

• Fnd0SecuredMultiFieldKey
Ensures that dependent templates do not change the MultiFieldKey business object constant on
specified business objects. If the administrators of a dependent template try to change the
MultiFieldKey business object constant, they cannot because the Edit button is disabled. (The Edit
button is still enabled on the current template.) There is no default value.
This constant is provided by the foundation template file.

• Fnd0SelectedLocales
Defines the language locales supported by the template. The locales are selected when a new
template project is created. To change the value, right-click the Project Files→extensions→lang
folder and choose Organize→Add localization files.
This constant is provided by the foundation template file.

• Fnd0SkipBOMLineGenerator
Defines the BOM lines for which to skip generation. The constant value has the format
object:bomline. The default value is Item:ImanItemLine. The Fnd0BOMLineGenerator global
constant specifies the BOM lines to create.
This constant is provided by the foundation template file.

5-372 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Global constants reference

• Fnd0VisPVGeoAsset

Note:
As of Teamcenter 10, this constant is obsolete and is replaced by the Vis_PV_Geometry_Asset
preference.

Specifies whether a 3D geometry asset should be created when product views are saved from the
rich client Lifecycle Viewer and the stand-alone viewer. The default value is OnWithMenus.
Following are the valid values:

• OffNoMenus
Specifies that no 3D geometry asset is created and that no user interface is visible to the user.

• OnNoMenus
Specifies that a 3D geometry asset is created silently every time a product view is saved using the
property settings on the client. No user interface is visible to the user.

• OnWithMenus
Specifies that the user interface is available in the Teamcenter integration preferences. The user
can select whether to create a 3D geometry asset and perform outline capture at the save time.

This constant is provided by the foundation template file.

• Fnd0VisPVImageCapture

Note:
As of Teamcenter 10, this constant is obsolete and is replaced by the Vis_PV_Image_Capture
preference.

Specifies whether image capture should be done with product view saves. The default value is
OnWithMenus. Following are the valid values:

• OffNoMenus
Specifies that no image capture is done, and no user interface is visible to the user.

• OnNoMenus
Specifies that an image capture is done silently every time a product view is saved using the
property settings on the client. No user interface is visible to the user.

• OnWithMenus
Specifies that user interface is available in the product view gallery. The user can select whether or
not to capture images, and whether to use a dialog at save time or the silent property settings.

This constant is provided by the foundation template file.

Business Modeler IDE PLM00071 11.2 5-373


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• JTContentFormIDProp
Defines the property on the JTContentForm business object that is used to provide the ID for JT hint
strings. The default value is jt_id.
This constant is provided by the foundation template file.
The JTContentBomLineProperties and JTContentHintPropertyPolicy preferences are used to
configure JT content hint forms.

• JTContentFormProps
Contains a comma-separated list of property names in the JTContentForm business object that are
used to create a JT hint string. The default value is
pmi,geometry,material_overrides,cad_attributes.
This constant is provided by the foundation template file.
The JTContentBomLineProperties and JTContentHintPropertyPolicy preferences are used to
configure JT content hint forms.

• JTContentFormType
Defines the class that holds the properties used to construct a JT hint string. The default value is
JTContentForm.
This constant is provided by the foundation template file.
The JTContentBomLineProperties and JTContentHintPropertyPolicy preferences are used to
configure JT content hint forms.

• KnowledgeBaseRefreshInterval
Specifies the time (in minutes) that will pass before a check is made for an updated knowledge base
file. This constant is used mainly to control how the system checks for changed conditions.
The default value is -1, meaning that a check for an updated knowledge base file is not performed
during evaluation of a condition. A value of 0 indicates that a check for an updated knowledge base
file is always performed during evaluation of a condition. A value greater than 0 (for example, 1, 2, 3,
and so on), means that a check will be performed after the minute interval specified by the value.
If live update is used to revise conditions, if users log off and log on again, changes to the condition
are reflected in the environment because a new tcserver instance is assigned.
This constant is provided by the foundation template file.

• LOVLookupSupport
Holds the names of dynamic LOVs for property display lookup or search support.
For property display lookup, if a dynamic LOV is attached to a property and is registered in this global
constant, the property display value code looks in the LOV to get the display value for the given
property scalar (internal value).
For search support, if a dynamic LOV is attached to a property and is registered in this global constant,
the search code looks in the LOV to get all internal values that match with display values. These
internal values are in turn passed to the main query to be searched.
This constant is provided by the foundation template file.

• Mat1GlobalUOM
Specifies the global unit of measure against which all others are scaled when assigning materials. The
default value is g (grams).
This constant is provided by the materialmgmt template file.

5-374 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Global constants reference

• Mdl0AutoAssignIDConstant
Specifies the autogenerated ID name format for business objects (and their children) used in 4th
Generation Design (4GD). When you create new 4GD business object instances, this global constant
defines the prefixes to be placed at the beginning of the instance name. Following are the default
prefixes defined by the constant:

PTN_ for Partition business objects


CD_ for Collaborative Design business objects
DCE_ for Design Control Element business objects
DF_ for Design Feature business objects
DE_ for Design Element business objects

These prefixes are defined using the following default values of the constant:

PtnPartition:ptn0partition_id:ptn0partition_id:true:PTN_
Cpd0CollaborativeDesign:mdl0model_id:mdl0model_id:true:CD_
Cpd0DesignControlElement:cpd0design_control_id:cpd0design_control_id:tr
ue:DCE_
Cpd0DesignFeature:cpd0design_feature_id:cpd0design_feature_id:true:DF_
Cpd0DesignModelElement:cpd0design_element_id:cpd0design_element_id:true
:DE_

The format of the constant values is:

business-object-name:business-object-property-name:create-input-property-name:
support-child-business-objects?:prefix

Where:

• business-object-name is the name of the business object.

• business-object-property-name is the property name of the ID.

• create-input-property-name is the property name of ID used for creation dialog box input. In most
cases, this value and the business-object-property-name value are the same. You can use a
different business object for this create input if needed.

• support-child-business-objects? value is true or false, and specifies whether the prefix is applied to
its child business objects.

• prefix is the prefix of the auto generated ID.

Only use this constant to change the value of prefix; you should not change other values. Multiple
entries for the same business object are not supported.
This constant is provided by the appmodel template file, and is used as part of 4th Generation Design
(4GD).

Business Modeler IDE PLM00071 11.2 5-375


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Mdl0AutoAssignIDSitePrefix
Specifies the prefix of IDs automatically assigned for a specific site. This constants works in
conjunctions with the Mdl0AutoAssignIDConstant global constant.
This constant is provided by the appmodel template file.

• Mfg0RequiredLibraries
Lists libraries that must be loaded dynamically for manufacturing support.
This constant is provided by the foundation template file.

• Mpd0CpdBomPartialMatchProperties
Specifies the list of design element and design feature properties used for partial match during an
accountability check operation. The default values are:

cpd0source_object
cpd0UG_ALTREP
cpd0UG_ENTITY_HANDLE
mdl0absolute_transform
mdl0revision_id

This constant is provided by the cmtcpd template file.

• Mpd0CpdBomPropagableProperties
Specifies the list of design element and design feature properties used for propagation after an
accountability check is performed. The default values are:

cpd0UG_ALTREP
cpd0UG_ENTITY_HANDLE
mdl0absolute_transform

This constant is provided by the cmtcpd template file.

• OperationInput
Defines the list of Operation Input types that appear in the Operation box on the Operation
Descriptor tab. The default values are CreateInput, SaveAsInput, and ReviseInput.
This constant is provided by the foundation template file.

• PartLogisticsFormNamePrefix
Specifies the prefix to add to the form name attribute when a part logistics form is automatically
created.
This constant is provided by the mrocore template file.

• PhysicalPartDefaultDisposition
Specifies the default disposition for the physical parts when generating an as-maintained structure.
The default value is In-Service.
This constant is provided by the mrocore template file.

5-376 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Global constants reference

Note:
Updating the PhysicalPartDefaultDisposition business object constant in the Business Modeler
IDE overrides values on existing physical parts that have never had their disposition changed.
Additionally, exporting a physical part to another site (CMS) may override the disposition if it
has never been changed and if the business object constant of the second site is different than
the originating site.

• ProjectSmartFolders
Filters data into project folders using a list of values (LOV). The filtered view of project data is
presented to users in the My Projects tab of My Teamcenter.
To use this constant, first create an LOV that uses TC_Project as a reference class and click the Load
button in the New LOV dialog box. This creates a list of projects. Then set the value of the constant to
the name of the project LOV.
Verify the new constant value. When smart folders are deployed to a server, they appear in the My
Projects tab in My Teamcenter. To access smart folders, click the My Projects link in the Quick Links
navigation bar of the rich client. The Projects Smart Folder Hierarchy pane is displayed in the My
Projects tab.
This constant is provided by the foundation template file.

• ProjectTopLevelSmartFolders
Filters data into top-level folders using a list of values (LOV). The filtered view of project data is
presented to users in the My Projects tab of My Teamcenter.
To use this constant, first create LOVs that represent each branch of the top-level hierarchy, such as
programs. Then create a top-level LOV that specifies each branch LOV as a value. Then set the value of
the constant as the name of the top-level LOV.
Verify the new constant value. When smart folders are deployed to a server, they appear in the My
Projects tab in My Teamcenter. To access smart folders, click the My Projects link in the Quick Links
navigation bar of the rich client. The Projects Smart Folder Hierarchy pane is displayed in the My
Projects tab.
This constant is provided by the foundation template file.

• Ptn0EnableActivationBehavior
Enables partition activation behavior. The default value is false.
This constant is provided by the partition template file.

• PublishedObjConfiguredProperties
In a Multi-Site environment, this constant specifies run-time properties of a given
PublishedObject, which represents a corresponding PublicationRecord in the ODS site database. If
not set, no extended attributes are assumed. This constant replaces the first property in a string with
the second property in the string The two properties are separated by a colon. This task was formerly
performed by the PUBLISHEDOBJECT_object_extended_attrs preference.
For example, the following setting specifies a custom extended PublicationRecord attribute named
pub_ext_string with the corresponding PublishedObject property named po_ext_string whose
property is the pub_ext_string:po_ext_string string property:

pub_ext_string:po_ext_string

Business Modeler IDE PLM00071 11.2 5-377


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

This constant is provided by the foundation template file.

• PublishedPropertiesMap
Maps business object properties to publication record attributes for Multi-Site Collaboration. For
example:

item_id:pubr_object_id
item_revision_id:pubr_object_rev_id
object_name:pubr_object_name
object_desc:pubr_object_desc

The framework must handle data exchange for multilanguage use. This includes string properties
having multiple values, one for each language. On the ODS server side, if there is localizable data to
be published, the system checks whether the publication record schema has any localizable
attributes. Based on the mapping specified in the PublishedPropertiesMap global constant, the
localizable data is set in the publication record using the AOM_UIF_set_localized_value_string()
AOM call.
This constant is provided by the foundation template file.

• ReuseAuthorizedDeviation
Specifies whether to copy the authorized deviation information to the duplicated physical structure
when physical parts are duplicated. The default value is false.
This constant is provided by the mrocore template file.

• SiteMasterLanguage
Defines the master language for the template. The default value is en_US. Valid values are a
language_locale code, for example, fr_FR for French, es_ES for Spanish, and so on.
This constant is provided by the foundation template file.

• StructureCloneTransferModes
Holds the transfer mode specific to a CAD integration. The default value for this constant is empty. An
administrator updates the value with the transfer mode that contains closure rules defining the CAD
dependency relations to be traversed.
This constant is provided by the foundation template file.

• TcSetOwningOrganization
Allows the owning organization for an object to be set automatically. The owning organization is set
as the organization corresponding to the logon group of the user. By default, this constant is set to
false.
This global constant works in conjunction with the AutoAssignOwningOrg business object constant,
which sets the business objects that are affected (by default, all children of the WorkspaceObject
business object).
This constant is provided by the adsfoundation template file.

• TxnElementApprovalReleaseStatus
Specifies the release status to set during the approval process. The default value is TCM Released.
This constant is provided by the transactionprocessing template file.

5-378 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Find objects in the Business Modeler IDE

• UsageAttributeName
Determines the attribute name from the PSOccurrence object that will be used for showing the usage
of a physical part. The default value is occurrence_name.
This constant is provided by the mrocore template file.

Managing the data model

Find objects in the Business Modeler IDE

To find objects, click the Find button at the top of a view, or the Browse button in a dialog box. In
the Find dialog box, you can choose to search for the custom objects you have created or the standard
COTS (commercial off-the-shelf) objects that ship with Teamcenter.

Use a wildcard * to find all instances of the object, or before and after a search string to find all
instances of the string.

Open objects in the Business Modeler IDE

1. Right-click the object.

2. Choose Open.
Details of the object appear in a new view. You can modify the object by entering new values.

Delete objects in the Business Modeler IDE

You can only delete the custom objects you have created. You cannot delete COTS (commercial-off-the-
shelf) objects, because they are standard objects provided by Teamcenter.

If the custom object you want to delete has children, you must delete the children first before you can
delete the parent. Also, when you delete an object that is referenced by other rules or objects in the
system, the Business Modeler IDE tells you which references to clean up first before you can delete the
selected object.

Caution:
You must use the rich client to delete all instances you created on your test server before you
delete the object in the Business Modeler IDE. If you delete a custom object before removing
instances of that object, errors can appear in the deployment log the next time you deploy. This is
because the instance is still in the database, although the object definition has been removed.

1. Right-click the custom object

2. Choose Delete.
The object is removed from the Business Modeler IDE.

Business Modeler IDE PLM00071 11.2 5-379


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
• If you attempt to delete some objects, the Deprecate Object wizard runs. This is because
some objects cannot be deleted outright until a certain number of releases have passed,
and instead can only be deprecated.

• When you delete a custom primary business object, the associated class is deleted. And
when you delete a custom class, the associated business object is deleted. However, if you
delete a custom secondary business object, the associated storage class is not deleted.

Modifying objects in the Business Modeler IDE

If you attempt to modify an object and you are unable to for some reason (such as another object
references it), the Modify object dialog box appears.

This can occur when working with conditions. The condition values that can be changed depend on
whether the condition is COTS and if it is marked as secure:

• If it is COTS and secure, nothing can be changed.

• If it is COTS and not secure, only the expression can be changed.

• If it is custom, you can select new input parameters to change the signature or type new expressions
in the Expression box. But if the condition is referred in any business rule (for example, naming rule
attachments, LOV attachments, and so on) then you cannot modify the signature unless its removed
from its references.

Deprecating objects in the Business Modeler IDE

Deprecation means that an object is going to be deleted in a future product release. When an object is
marked as deprecated, it cannot be deleted until a certain number of releases have passed since the
deprecation.

To deprecate an object, delete it; a deprecation dialog box appears asking if you want to deprecate the
object. You can only deprecate an object if the deprecation policy is set for the project, the object is
custom, and the object was created in an earlier version.

Your company has its own deprecation policy that states the number of releases that must pass after an
object's deprecation before the object can be deleted. To change the number of releases, as well as
whether a deprecation policy is set for the project, you must change the project properties. Right-click
the project, choose Properties, and choose Teamcenter→Code Generation in the left pane. Select the
Enable Deprecation Policy check box to allow for removal of obsolete objects from the project, and
click the arrow in the Number of Allowed Releases before Deletion box to select how many releases
before objects can be deleted from the project.

5-380 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Naming objects in the Business Modeler IDE

You can deprecate business object operations and property operations. To deprecate an operation,
on the Operations tab, select an operation that is from an earlier release, and choose the Deprecate
button.

You can also un-deprecate objects that have previously been un-deprecated. For example, to un-
deprecate an operation, select a deprecated operation on the Operations tab and click the
Undeprecate button.

Naming objects in the Business Modeler IDE

The Business Modeler IDE performs a validation at the time you create an object to ensure its name is
unique. You are not allowed to create duplicate objects with the same name. This includes objects
names that differ only in their case (uppercase or lowercase).

When you create new data model objects, Siemens PLM Software requires that you add a prefix to the
name to designate the objects as belonging to your organization. The prefix is set with the Prefix box
when you create a template project. Thereafter, whenever you create new objects in that project, the
same prefix is added to the name of all objects. For example, if the prefix is set as A4_ when the project
is created, when you create a new Item class, you could name it A4_Item. This prevents naming
collisions in future versions if you name an object the same as a Teamcenter object in a future release.
Siemens PLM Software requires that you apply this consistent naming convention to all your new data
model.

Use following conventions when choosing a prefix:

• Ensure the prefix contains two to four characters. Underscores are allowed.

• Place an uppercase letter in the first character position.

• Place a digit in character position two, three, or four.

• You can use digits 4-9. Do not use digits 0, 1, 2, or 3 because 0 and 1 are reserved for Siemens PLM
Software templates, and 2 and 3 are reserved for third-party template development.

Following are examples of acceptable prefixes:

A4
B5cd
F7_
X999

You can rename a business object by right-clicking it in the Business Objects folder and choosing
Rename.

Business Modeler IDE PLM00071 11.2 5-381


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Note:
• Although every effort has been made to ensure the aforementioned letters and numerals are
available for prefix naming use, some Siemens PLM Software released templates may already
have used prefixes you want to create. For example, the Industry Catalyst template uses the
Inn9 prefix. It is anticipated in the future that the Business Modeler IDE will prevent customers
from using the Inn9 prefix. If you have any concerns about the uniqueness of your naming
prefix, check with your Siemens PLM Software representative.

• For each class there is a database table with the same name. Each attribute on the class equates
to a column in a database table. Database tables must be uniquely named so that data can be
properly mapped from the application to the database. Database systems such as Oracle
convert all table names to uppercase. This means that the Teamcenter class spelled
ItemRevision is mapped to a table spelled ITEMREVISION in the database. Because all table
names are converted to uppercase, in Teamcenter you cannot define two class names that
differ only in casing, because both would result in the same table space name. Because every
class has a business object, business objects must also follow the same convention for
uniqueness.

• Business object (type) names and class names entered in the Business Modeler IDE while
performing data model extensions must be USASCII7 characters only. This prevents any
template installation, upgrade, or deployment issues. For any existing business object (type)
names or existing class names that do not follow the USASCII7 format, you can use the
change_type_name utility to rename the type name to a valid USASCII7 name.

Reloading the data model

You can reload the data model for a project by right-clicking a project and choosing Reload Data Model.
This reloads all data model elements from the source files.

Reload the data model if the dependent templates have been changed during use of the Business
Modeler IDE, or if you are using a source control management (SCM) system and source files have been
updated.

Import and export the data model

Import a Business Modeler IDE template package

A template package contains extensions to the data model that can be distributed for installation to a
production environment. You can import a packaged template into the Business Modeler IDE to create
a project. This is an effective method for recovering a project that may have become corrupted.

1. Choose File→Import.
The Import wizard runs.

5-382 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Import a Business Modeler IDE template package

2. In the Select dialog box, choose Business Modeler IDE→Import a Business Modeler IDE
Template Package.

3. Click Next.

Business Modeler IDE PLM00071 11.2 5-383


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

4. Perform the following steps in the Import Business Modeler IDE Template Package dialog box:

a. Click the Browse button to the right of the Package contents box to choose the folder that
contains the package. This can be a directory on a mapped drive or a directory on your
computer.

b. The name of the package appears in the Project name box. Change the name if you want to
create a new project based on the contents of the package.

c. Click the Browse button to the right of the Select active file box to select the extension file to
receive the imported template package data.

d. Type a description of the template in the Template description box.

e. Click the Browse button to the right of the Dependent templates directory box to choose
the directory where the dependent template XML files are stored. The templates directory is
created when you install the Business Modeler IDE.

f. Click Finish.
If a package from a previous version is being imported, a dialog asks if you want to migrate
the package to the current data model format.
The wizard imports the package and displays it in views.

5. Create extensions using the new project as you would a project you created yourself.

5-384 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Import a Business Modeler IDE template project

Import a Business Modeler IDE template project

A project stores all extensions made against the data model in XML files. You can import a project from
another Business Modeler IDE installation. Importing also migrates the template to the latest version of
the data model.

Note:
Two or more Business Modeler IDE installations cannot point to the same project unless they are
both using a source control management (SCM) system. Import the project only after you have
created a view in the SCM that contains the project to be imported.

1. Map a drive to the project directory on another computer, or copy the project directory to your own
computer.

2. Choose File→Import.
The Import wizard runs.

3. In the Select dialog box, choose Business Modeler IDE→Import a Business Modeler IDE
Template Project.

4. Click Next.

Business Modeler IDE PLM00071 11.2 5-385


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

5. Perform the following steps in the Import Business Modeler IDE Template Project dialog box:

a. Click the Browse button to the right of the Project contents box to choose the folder that
contains the project. This can be a directory on a mapped drive, or a directory you have
already copied to your computer.
The name of the project appears in the Project name box. This name cannot be changed
outside of the Business Modeler IDE. It must remain the same as the original project name. If
you do not, you may receive an error like the following:

C:\temp\bmideproject-2 overlaps the location of


another project: bmideproject-2

b. Click the arrow in the Select active file box to choose the extension file to make active after
the project is imported.
During normal extension work, you set the active file to hold the extensions.

c. In the Prefix box, type the naming prefix for the imported project.

5-386 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Import a backed-up project

d. Click the Browse button to the right of the Dependent templates directory box to choose
the directory where the dependent template XML files are stored. The templates directory is
created when you install the Business Modeler IDE.

e. Click the Browse button to the right of the Code Output Location directory and browse to
the location where you want the project output to be placed.

f. Click Finish.
If a project from previous release is being imported, a dialog asks if you want to migrate the
project to the current data model format.
The wizard imports the project and displays it in views.

6. Create extensions using the new project just as you would a project you created yourself.

Note:
The project files remain in the original location. A link is created from your workspace to the
project folder. Any new extension files created against this project are added to the original
location.

Import a backed-up project

You should regularly back up your project in the database to ensure against data loss. To back up your
project, right-click the project and choose Properties→Teamcenter→Project Backup.

To restore the project later, you can import it.

1. Choose File→Import.
The Import wizard runs.

2. In the Select dialog box, choose Business Modeler IDE→Import a project backed up in
Teamcenter database.

Business Modeler IDE PLM00071 11.2 5-387


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

3. Click Next.

4. In the Teamcenter Login dialog box, log on to the database server and click Next.
The following dialog box is displayed.

5. Click the arrow in the Project box to choose the backed-up project to import. Click Next.
The following dialog box is displayed.

5-388 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Import project preferences

6. Perform the following steps in the Import a Business Modeler IDE Template project from
database dialog box:

a. Click the Browse button to the right of the Project contents box to choose the workspace
location to import to.

b. Click the arrow in the Select active file box to choose the extension file to make active after
the project is imported.
During normal extension work, you set the active file to hold the extensions.

c. Click the Browse button to the right of the Dependent templates directory box to choose
the directory where the dependent template XML files are stored. The templates directory is
created when you install the Business Modeler IDE.

d. Click Finish.
The wizard imports the project and displays it in views.

Import project preferences

You can import the following characteristics from another project to your project:

• The contents of the Favorites folder

• Filter settings that hide COTS elements or folders

Business Modeler IDE PLM00071 11.2 5-389


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Before importing these preferences, you must first export them from the source project using the
Export project preferences wizard. Then you can import the resulting file.

1. Choose File→Import.
The Import wizard runs.

2. In the Select dialog box, choose Business Modeler IDE→Import project preferences.

3. Click Next.
The following dialog box is displayed.

4. Click the Browse button to the right of the Preference file box.

5-390 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Import a template file

5. Browse to the location of the preference file and select it, for example, project_preferences.xml.

6. Click Finish.
The file is imported and its preferences are added to your project.

Import a template file

You can import the contents of a template file into a Business Modeler IDE project. The data model
elements in the template file are written to an extension file.

This is useful when you want to import a template file to your project. You can also import an extension
file from one project template that you want to share with another project template.

1. Choose File→Import.
The Import wizard runs.

2. In the Select dialog box, choose Business Modeler IDE→Import template file.

3. Click Next.
The Import template file dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-391


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

4. Perform the following steps in the Import template file dialog box:

a. In the Project box, select the project into which you want to import the template file.

b. Click the Browse button to the right of the Template file box to choose the XML model file to
be imported, for example, a template XML file or an extension file.

Note:
This wizard does not migrate the file to the latest data model format. You must use a
template file that was created using the latest release XML format, or that has already
been migrated to this format.

c. Click the arrow in the Extension file box to choose the extension file in your project into
which the model elements are to be placed.
During normal extension work, you set the active file to hold extensions.

d. Click Finish.
The data model is imported into the extension file.

5. To verify the model is imported, browse for new data model objects in the Business Modeler IDE
views.
To see the data model in the extension file, access the Project Files folder, expand the extensions
folder, and double-click the extension file to open it in an editor view.

Caution:
Never manually edit the XML files; this may corrupt data.

Import a live update project

A live update data project holds only data to be deployed to a running production server. Create one
live update project for each custom template enabled to receive live updates on the server.

5-392 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Export project preferences

You can import an existing live update project into your workspace, or upgrade a live update project
from a previous Teamcenter version.

1. Choose File→Import.

2. In the Select dialog box, choose Business Modeler IDE→Upgrade/Import Live Update Project.
Click Next.

3. Click the arrow on the Installation box to select the Business Modeler IDE installation from which
you want to import live update projects.

Note:
The paths to the installations are stored in a .bmide file in the USER_HOME directory, for
example, C:\users\user-name.

4. Click Finish.

Export project preferences

You can export the following characteristics of your project to be used by another project:

• The content of the Favorites folder

• Filter settings that hide COTS elements or folders

Business Modeler IDE PLM00071 11.2 5-393


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

1. Choose File→Export.

2. In the Select dialog box, choose Business Modeler IDE→Export project preferences.

3. Click Next.
In the Select dialog box, choose Business Modeler IDE→Export project preferences.
The Export BMIDE project preferences dialog box is displayed.

4. Click the Browse button to the right of the Preference file box.

5. Browse to the location where you want to save the exported file, and in the File name box, type
the name you want the file to have, for example, project_preferences.xml. (Include the .xml
extension on the file name.)

6. Click Save.
The path and file name are displayed in the Preference file box.

5-394 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Export a TC XML schema file

7. Click Finish.
The export file is created in the location you specified.

You can import the project preferences file to another project.

Export a TC XML schema file

You can generate a TC XML schema file for your project from the Business Modeler IDE. Schema files
contain data model structure in a predefined file format (.xsd). The TC XML schema file is used when
you map data model from one PLM system to another (for example, Teamcenter Enterprise to
Teamcenter).

The TC XML schema is autogenerated at installation and upgrade, and the resulting TCXML.xsd file is
placed in the TC_DATA directory on the Teamcenter server.

Note:
This topic describes how to generate a Teamcenter schema file. To generate an Teamcenter
Enterprise schema file, use the Administration Editor. After generating the schema file, verify that
the structure of the resulting file is correct. For example, if some input items are missing, they are
replaced with change_me. Look for instances of change_me in the schema file and change them
as appropriate. If you do not, you may encounter errors when you use this file and attempt to
create a project or a factor using the Mapping Designer application.
Use the Dry Run for Export to Remote Site command in the Teamcenter Enterprise classic client
and thin client to generate a sample XML export file of the exportable objects based on the
Teamcenter Enterprise schema. This file can be used as a starting point for mapping Teamcenter
Enterprise objects to Teamcenter and vice versa.

1. Choose File→Export.

2. In the Select dialog box, choose Business Modeler IDE→Export TCXML Schema.

Business Modeler IDE PLM00071 11.2 5-395


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

3. Click Next.
The Export TCXML Schema dialog box is displayed.

4. Perform the following steps in the Export TCXML Schema dialog box:

a. Click the arrow in the Project box to select the project for which you want to generate the
schema file.

b. In the File Name box, type the name you want the schema file to have. (Include the .xsd
extension on the file name.)

c. Leave the Use default location check box selected if you want the file to be placed in your
workspace in the output\tcplmxml folder under your project.

5-396 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Run data model reports

If you want to change the folder where the file is created, clear the Use default location box,
and click the Browse button to the right of the Target folder box to choose the folder where
the file is to saved.

d. Click Finish.
The file is saved in the target folder.
By default, the TC XML file is saved to the output\tcplmxml folder under your project.

Note:
You can also locate the file in your workspace on your system. To find the workspace
location, in the Advanced perspective, choose File→Switch Workspace. For example,
on a Windows system, it is saved by default to:

install-location\bmide\workspace\
version\project\output\tcplmxml

Now you can use the schema file when mapping data model between Teamcenter Enterprise and
Teamcenter. Specify the schema file when you set up a mapping project.

Data model reports

Run data model reports

Create reports by choosing BMIDE→Reports.

The Reports dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-397


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

The output of the reports is in HTML format. To view HTML reports in the Business Modeler IDE, you
must have a web browser installed.

You can create the following kinds of reports:

• Compare Two Data Models


This report provides the data model differences between two data models. Often when working with
the Business Modeler IDE, you want to compare the data model between two models.
For example, you may be working in your Business Modeler IDE adding new elements to your
template. Some time may have passed since your last deploy and you want to know the differences
between the data model in your Business Modeler IDE and the data model that has been deployed to
a Teamcenter database.
Another scenario is that as an administrator you have two Teamcenter database sites, and you are not
certain if the data model is exactly the same in both sites or if there are differences. You may also
want to see the differences between Business Modeler IDE template projects within your Business
Modeler IDE client.
In all of these cases this report shows you the differences between the two data models.
This report gives you the ability to generate a report and choose the two data model input sources
that are used to generate the report. The input may come from any of the following sources:

• Data model of a Business Modeler IDE template project

• Data model from a consolidated model file (TC_DATA\model\model.xml)

• Data model deployed to a Teamcenter database

• Business Modeler IDE template package

Note:
You can also generate this report using the bmide_generate_compare_report utility.

• Condition Usage
This report provides the details of a condition and all model elements that use the condition. In the
Business Modeler IDE, users can create conditions and attach these conditions to various business
rules, LOVs, and so on, to define the behavior of Teamcenter. This report generates a single HTML
page report of the condition details and all of the model elements that refer to the condition. To
generate this report you select a template project and the condition.

Note:
You can also generate this report using the bmide_generate_condition_report utility.

• Create Operation Override Report

5-398 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Run data model reports

Note:
This report appears only after you upgrade a project to the latest data model.

This report provides the details of custom business objects where the create operations are
overridden. In the Business Modeler IDE, you can override the create operations on the business
objects. This report generates a single page HTML report of all the custom objects that are subtypes of
Item, ItemRevision, Dataset, Form, and Relation business objects that override the create
operations, such as the Create, SetPropertiesFromCreateInput, ValidateCreateInput,
FinalizeCreateInput, and CreatePost operations. Select a template project to run the report.

• Data Model
This report provides the details of a given category of model elements. Business Modeler IDE users
can define a number of model elements and store them in a Business Modeler IDE template. These
templates can be deployed to any Teamcenter database. You may be interested in generating a report
all LOVs or GRM rules, or a report that shows a combination of multiple model element categories
such as all deep copy rules and naming rules. A user can use the Business Modeler IDE client to
examine all of this information; however, this report offers an easier means to examine all elements
within a given category by generating this information into a single HTML page.
This report gives you the ability to generate a report like this and choose the data model input that is
used to generate the report. The input may come from any of the following sources:

• Data model of a Business Modeler IDE template project

• Data model from a consolidated model file (TC_DATA\model\model.xml file)

• Data model deployed to a Teamcenter database

• Business Modeler IDE template package

Because all of the elements are generated into a single file, this report has limitations. As the number
of categories and elements within a category grows, so does the resulting file size. In cases where you
want to generate a report of multiple categories try using the Data Model Documentation report.

Note:
You can also generate this report using the bmide_generate_datamodel_report utility.

• Data Model Documentation


This report generates a multiple HTML-paged report of all data model elements for all templates in
the data model. This report generates a comprehensive report of each element within the data
model. The report has links to view all elements within a category such as all LOVs, all naming rules,
or all business objects. Additional links are provided so that you can view all of the elements for any
Teamcenter template. A What's New section lists all the elements added, deleted, or changed since a
previous release. This report is useful when you need a complete picture of the data model and
interaction of various elements in the data model.

Business Modeler IDE PLM00071 11.2 5-399


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Due to the number of files generated for this report, report generation may take approximately 20
minutes.

Note:
You can also generate this report using the bmide_generate_datamodel_doc_report utility.
You can also obtain a report of the COTS data model in the Teamcenter Data Model Report
provided in the Teamcenter documentation distribution image. Expand the
DataModelReport.zip file to a local directory and open help\en_US\custom\DataModelReport
\index.html.

• Property Group Usage


This report generates a list of properties assigned to property groups used in propagation rules.
Propagation rules allow you to propagate data from one business object type to another.

Run a report comparing the data model from two different sources

1. Choose BMIDE→Reports.

2. Select Compare Two Data Models and click Next.


The Compare Models dialog box is displayed.

3. In the Input Data Model 1 box, select the source of the first data model to compare and click Next:

• Template Project

5-400 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Run a report comparing the data model from two different sources

• Teamcenter Server

• Template Package

• Model File

4. Locate the first data model to compare. The dialog box that appears next is dependent upon the
input source you selected:

• Template Project
Select the project and templates to include in the report.

• Teamcenter Server
Type the user name and password for server access and click Connect.

• Template Package
Browse for a template package.

• Model File
Select the TC_DATA\model\model.xml model file.

5. In the Input Data Model 2 box, select the source of the second data model to compare and click
Next:

6. As you had done earlier for the first data model, locate the second data model and click Next.
The Compare Two Data Model Options Page dialog box is displayed.

7. On the Compare Two Data Model Options Page, leave the Show Equal Attributes check box
clear if you want the report to show only differences between the data models, or select it if you
want the report to show all the elements that are the same between the two data models.
Click Next.
The Report File Selection dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-401


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

8. In the Report File Selection dialog box, select the project\output\reports folder as the location
where to write the report, and in the File Name box, type a name for the report.

9. Click Finish.

Run a condition usage report

1. Choose BMIDE→Reports.

2. Select Condition Usage and click Next.


The Condition Usage Report dialog box is displayed.

3. In the Condition Usage Report dialog box, select the condition to report, and the project it resides
in. Click Next.
The Report File Selection dialog box is displayed.

5-402 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Run a report on create operation overrides

4. In the Report File Selection dialog box, select the project\output\reports folder as the location
where to write the report, and in the File Name box, type a name for the report.

5. Click Finish.

Run a report on create operation overrides

1. Choose BMIDE→Reports.

2. Select Create Operation Override Report and click Next.


The Create Operation Override Report dialog box is displayed.

3. In the Project box, select the project on which you want to run the report and click Next.

4. In the Report File Selection dialog box, select the project\output\reports folder as the location
where to write the report, and in the File Name box, type a name for the report.

Business Modeler IDE PLM00071 11.2 5-403


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

5. Click Finish.

Run a report of individual types of data model

1. Choose BMIDE→Reports.

2. Select Data Model and click Next.


The Data Model Report dialog box is displayed.

3. In the Input Model Source box, select the source of the data model and click Next:

• Template Project

• Teamcenter Server

• Template Package

• Model File

4. The dialog box that appears next is dependent upon the input source you selected:

• Template Project
Select the project and templates to include in the report.

• Teamcenter Server

5-404 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Run a report of individual types of data model

Type the user name and password for server access and click Connect.

• Template Package
Browse for a template package.

• Model File
Select the TC_DATA\model\model.xml model file.

5. Click Next.
The Select Model Elements dialog box is displayed.

6. In the Select Model Elements dialog box, select the model elements you want to appear in the
report and click Next.
The Report File Selection dialog box is displayed.

Business Modeler IDE PLM00071 11.2 5-405


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

7. In the Report File Selection dialog box, select the project\output\reports folder as the location
where to write the report, and in the File Name box, type a name for the report.

8. Click Finish.

Run a report of all data model

1. Choose BMIDE→Reports.

2. Select Data Model Documentation and click Next.


The Data Model Documentation Report dialog box is displayed.

3. In the Project box, select the project on which you want to run the report.

5-406 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Run a property group usage report

4. Select the Generate “What’s New” section in the report? check box to include a section showing
the new data model added since previous versions of Teamcenter. Select the previous versions.

5. Click Next.
The Report Directory Selection dialog box is displayed.

6. Clear the Use default location box to specify where to save the report.

7. Click Finish.
The report is generated at the specified location.

Run a property group usage report

1. Choose BMIDE→Reports.

2. Select Property Group Usage and click Next.


The Property Group Usage dialog box is displayed.

3. Click the Browse button to the right of the Property Group box and select the property group on
which to run the report:
By default, there are three property groups for which you can run the report:

Business Modeler IDE PLM00071 11.2 5-407


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

• Security Group I
Specifies a group of properties whose values must be merged into a master list, such as
project_list and license_list.

• Security Group II
Specifies a group of properties whose values must be filled in, such as owning_project.

• Security Group III


Specifies a group of properties whose values must be placed in order of precedence, such as
gov_classification and ip_classification

The list of property groups is defined in the Fnd0PropertyGroupNames list of values (LOV). You
can create your own property group to add to this list.

Tip:
To flag properties to belong to a property group, select the property on the source business
object type and then select the Fnd0PropagationGroup property constant.

4. Click Next.
The Report File Selection dialog box is displayed.

5. In the Report File Selection dialog box, select the project\output\reports folder as the location
where to write the report, and in the File Name box, type a name for the report.

6. Click Finish.

5-408 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to the UML editor

The report is generated at the specified location and is displayed.

7. Examine the report to find the properties belonging to the selected property group. These are
properties that are propagated from one business object type to another using propagation rules.

Graphically represent the data model in the UML editor

Introduction to the UML editor

The UML editor allows you to graphically view and change the data model for business objects and
classes. You can do much of your data model extension work directly from the UML editor. UML (Unified
Modeling Language) is a commonly used method to graphically represent data models.

For more information about UML, see the following URL:

http://www.uml.org/

Note:
UML files only store the names and relative positions of the data model. The definitions of data
model created with the UML editor are not stored in the UML files. They are stored in the project's
template XML files.

Open a class or business object in the UML editor

1. Browse to the business object or class you want to work with. To search for a business object or
class, you can click the Find button at the top of the view.
Item is the most common business object or class with which you work.

2. Right-click the business object or class and choose Open In UML Editor.
The business object or class appears in the UML editor as a box. You can also drag other business
objects into the UML editor.

3. To learn the basics of the UML editor, perform the following steps:

a. Work with the shortcut menu.


Right-click the name of the business object or class that appears at the top of the box.
A shortcut menu appears.

Business Modeler IDE PLM00071 11.2 5-409


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

Try the following tasks:

• To learn how to display hierarchy, choose Show and choose Children, Parent, or
Inheritance to Root. If you are viewing a business object, also choose Show→Storage
Class to see the class where the business object data is stored. To filter out what is
displayed, choose Select Filters.

• To create a new business object or class, choose Add Business Object or Add Class.

• To undo actions, choose Undo.

• To see operations on a business object, choose Open Extension Rules.

• To see the relationships between business objects, drag business objects into the UML
editor, press the Ctrl or Shift key and click multiple business objects to select them, and
right-click and choose Show→Relations.

b. Work with the palette.


Click the arrow at the top of the Palette bar docked on the right of the UML editor. The palette
expands to display a series of buttons. Try the following tasks:

• To select individual business objects or classes, click the Select button.

• To select a group of business objects or classes, click the Marquee button and drag a
square around a grouping you want to select.

• To create a new business object or class, drag Class or Business Object into the UML
editor.

5-410 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new UML diagram

c. Work with the Outline view.


The Outline view displays a thumbnail of the UML editor with a gray box indicating what is
currently displayed.

• Drag the gray box across the Outline view to change what is displayed in the UML editor.

• Click in the UML editor and click the zoom control in the toolbar at the top of the window to
change the view from 100 percent to a different size.

d. View the UML file.


The data is saved in a file with a .tmd suffix as displayed on the tab at the top of the UML
editor. To open this .tmd file later and view it in the UML editor, access the Project Files folder
and double-click the .tmd file in the UML Diagrams folder. Saving the diagram does not save
the data model; you must choose BMIDE→Save Data Model.

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. After you make changes to the data model using the UML editor, you can deploy your changes to
the test server. Choose BMIDE→Deploy Template on the menu bar, or select the project and click
the Deploy Template button on the main toolbar.

Create a new UML diagram

1. Choose File→New→Other→Business Modeler IDE→Create a new Teamcenter UML diagram

Business Modeler IDE PLM00071 11.2 5-411


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

2. Click Next.
The New UML Diagram wizard runs.

3. Perform the following steps in the New UML Diagram dialog box:

a. Select the folder where you want to save the diagram, for example, UML Diagrams.

5-412 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new UML diagram

b. In the File name box, type the name you want to give to the diagram. The file has a .tmd file
suffix.

c. Click Finish.
The UML editor appears.

4. To work in the UML editor, drag and drop business objects or classes into the new diagram. Right-
click in the view and choose menu commands.
You can also create business objects or classes by dragging the Class or Business Object icons
from the UML editor palette into the editor.

5. To save the UML diagram, click the Save button on the main toolbar. The diagram is saved in a file
with a .tmd suffix as displayed on the tab at the top of the UML editor.
To open this .tmd file later and view it in the UML editor, access the Project Files folder and
double-click the .tmd file in the UML Diagrams folder.

Note:
Saving the diagram does not save the data model. To save the data model, choose
BMIDE→Save Data Model, or click the Save Data Model button on the main toolbar.

Business Modeler IDE PLM00071 11.2 5-413


© 2019 Siemens Product Lifecycle Management Software, Inc.
5. Creating data model objects to represent objects in Teamcenter

5-414 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules
Introduction to business rules ───────────────────────────── 6-1
Naming rules ──────────────────────────────────────── 6-1
Introduction to naming rules ───────────────────────────────── 6-1
Add a naming rule ──────────────────────────────────────── 6-2
Add a revision naming rule ────────────────────────────────── 6-6
Assign a baseline suffix naming rule ───────────────────────────── 6-9
Attach a naming rule to a property ────────────────────────────── 6-9
Attach naming rules with conditions ──────────────────────────── 6-13
Override a COTS naming rule ──────────────────────────────── 6-14
Naming rule patterns ───────────────────────────────────── 6-15
Naming rules reference ──────────────────────────────────── 6-23
Intelligent part numbering ─────────────────────────────── 6-31
Intelligent part numbering use case ──────────────────────────── 6-31
Introduction to intelligent part numbering ──────────────────────── 6-38
Create an ID generation rule ───────────────────────────────── 6-41
Map Smart Codes to ID generation rules ────────────────────────── 6-49
Business object display rules ───────────────────────────── 6-52
Add a business object display rule ───────────────────────────── 6-52
Business object display rules reference ─────────────────────────── 6-56
GRM rules ───────────────────────────────────────── 6-57
Introduction to GRM rules ────────────────────────────────── 6-57
Add a GRM rule ───────────────────────────────────────── 6-59
Generic Relationship Manager ──────────────────────────────── 6-64
Evaluation order for GRM rules ─────────────────────────────── 6-64
Impact of business object inheritance on GRM rules ─────────────────── 6-64
Maintain stable relation IDs ───────────────────────────────── 6-65
Deep copy rules ────────────────────────────────────── 6-66
Add a deep copy rule ───────────────────────────────────── 6-66
Understanding the impact of inheritance on deep copy rule behavior ──────── 6-71
Restrictions on the use of deep copy rules ───────────────────────── 6-74
Deep copy ITK ───────────────────────────────────────── 6-74
Deep copy rule conditions ────────────────────────────────── 6-75
Alternate ID rules ───────────────────────────────────── 6-82
Add an alternate ID rule ──────────────────────────────────── 6-82
Alternate ID rule example ────────────────────────────────── 6-86
Alternate ID rules characteristics ────────────────────────────── 6-88
Alias ID rules ──────────────────────────────────────── 6-89
Add an alias ID rule ────────────────────────────────────── 6-89
Alias ID rules reference ──────────────────────────────────── 6-91
Multifield keys ────────────────────────────────────── 6-92
Introduction to multifield keys ──────────────────────────────── 6-92
Creating multifield key definitions ───────────────────────────── 6-93
Multifield key domains ──────────────────────────────────── 6-96
Creating objects with the same item ID ────────────────────────── 6-97
Managing multifield keys ────────────────────────────────── 6-102

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Analyzing multifield keys ────────────────────────────────── 6-103
Configure the displayed name of business object instances ───────────── 6-106
Considerations for using multifield keys ───────────────────────── 6-109
Administration data candidate keys ──────────────────────── 6-111
Introduction to administration data candidate keys ────────────────── 6-111
Create administration data candidate keys ─────────────────────── 6-113
Conditions ──────────────────────────────────────── 6-115
Conditions overview ───────────────────────────────────── 6-115
Add a condition ──────────────────────────────────────── 6-116
Search conditions ────────────────────────────────────── 6-121
Condition examples ───────────────────────────────────── 6-122
Condition system ─────────────────────────────────────── 6-127
Application extensions ──────────────────────────────── 6-136
Introduction to application extensions ────────────────────────── 6-136
Add an application extension point ──────────────────────────── 6-137
Add an application extension rule ───────────────────────────── 6-141
Add a business context ─────────────────────────────────── 6-145
Sample application extension APIs ──────────────────────────── 6-146
Propagation rules ──────────────────────────────────── 6-151
Introduction to propagation rules ───────────────────────────── 6-151
Create a propagation rule ────────────────────────────────── 6-152
Propagation rule example ────────────────────────────────── 6-157
Considerations for propagation rules ─────────────────────────── 6-161

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules
Introduction to business rules
The system uses various rules, defined by a system administrator, for determining its behavior at a site.
Creating rules is also known as business behavior modeling.

When a business rule is set on the parent business object and sub-business object, then the business
rule set on the sub-business object is executed. When a business rule is not set on a business object, the
system searches up the hierarchy for a business rule set on any parent business objects. The first
business rule found is executed. For example, if a naming rule, deep copy rule, or property rule exists for
the business object, it is used; otherwise the system checks each of the business object's parents until
the rule is found or the top parent is reached.

Most business rules are set on business objects. You can create the following types of rules for business
objects:

• Naming rules
Set the name automatically assigned when a business object is created.

• Display rules
Limit the kind of objects that can be created by particular individuals.

• Generic Relationship Management (GRM) rules


Define the relationships between business objects.

• Deep copy rules


Define how objects belonging to item revisions can be copied.

• Alternate ID rules
Store information about the same part from different perspectives.

• Alias ID rules
Store part numbers and other attribute information for similar parts.

Naming rules

Introduction to naming rules

Naming rules define the data entry format for a business object property. Naming rules can be used to
name items, item revisions, datasets, forms, projects, and work contexts. They can also be used to name
any persistent string property. A naming rule consists of rule patterns and a counter. After you create a
naming rule, you must attach it to the business object property. You can also attach the naming rule to a
property on all business objects that use that property.

Business Modeler IDE PLM00071 11.2 6-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Example:
You can create a naming rule for an item ID that starts with CCC plus a six-digit number, so that it
generates numbers from CCC000001 to CCC999999.
First enter a pattern of "CCC". Then enter a second pattern of NNNNNN (for numbers) with an
initial value of CCC000001 and a maximum value of CCC999999. Then attach it to the item_id
property of the item business object you want.

Add a naming rule

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Naming Rules in the Wizards
box, and click Next.

• Open the Extensions\Rules folders, right-click the Naming Rules folder, and choose New
Naming Rules.

The New Naming Rules wizard runs.

2. Enter the following information in the Naming Rule dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new naming rule in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. Click the Add button to add a naming rule pattern in the Patterns pane.

6-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a naming rule

The Add Naming Rule Pattern wizard runs.

d. Perform the following steps in the Pattern dialog box:

A. In the Pattern box, type a naming pattern.


For example, if you want a three-digit number pattern running 001 to 999, type nnn. If
you want a two-character alphabetic pattern running from aa to zz, type aa, or if you
want AA to ZZ, type AA. If you want a mixture of letters and numbers, such as A001 to
Z999, you can mix the two, for example, Annn.

Note:
A naming rule consists of rule patterns and a counter. Before creating a naming
rule, you should be familiar with the pattern and counter formats.

Business Modeler IDE PLM00071 11.2 6-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Tip:
The following dynamic characters can be used in naming rule patterns:

• U
Uppercase dynamic character

• u
Lowercase dynamic character

• D
Mixed-case dynamic character

When you use a dynamic character in a pattern and select the Generate Counter
check box, corresponding characters typed in the Initial Value box are used in
all subsequent IDs. For example, if the pattern is UUU"-"NNNNN and you type
REQ-00000 in the Initial Value box, all IDs automatically generated using that
pattern begin with REQ (REQ-00000, REQ-00001, REQ-00002, and so on).
However, end users can override the default text in the client user interface. For
example, they can either click the Assign button, or they can replace the REQ in
the ID with some other text. Therefore, the pattern is dynamic, allowing it to be
changed by end users.

B. Click the Insert LOV buttons to add an LOV as part of the pattern.

C. Click the Insert Rule button to use an existing naming rule for the pattern.

D. In the Description box, type a brief description of the naming rule.

E. Select the Generate counters? check box if you want to add a counter to the naming
rule.

F. Select the Is Decrement? check box if the counter is to be reduced by the indicated
step amount rather than increased.

G. If you selected the Generate counters? check box, type characters in the Initial Value
box and the Maximum Value box that match the pattern.
For example, if you entered nnn for the pattern, type a three-digit number in the Initial
Value box and the Maximum Value box, such as 100 and 899. Or if you entered a
pattern of Annn, you could type A001 and Z999.

6-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a naming rule

H. In the Step box, type the number by which the generated counters are to be increased.
The default is 1, meaning that each additional number that is generated is to be
increased by one.

I. In the Offset box, type a number by which the generated counter is increased the first
time the rule is used. The default is 0, meaning there is no offset.

J. Click Finish.
The pattern appears in the Pattern pane of the Naming Rule dialog box.

Note:
By default, the first pattern in the list is used when automatically assigning IDs to
objects.
Additional patterns can be added to the list to allow end users a choice of rules to follow
when manually typing an ID. All the valid patterns are displayed in the end-user
interface to provide guidance to the end user.
You can even add a pattern to the list that allows the end user to type any ID desired, for
example, %^{1,128}.

e. Change the patterns as desired by using the Add, Edit, Remove, Copy, Move Up and Move
Down buttons.

f. Click Finish.
The naming rule is added to the Naming Rules folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

Business Modeler IDE PLM00071 11.2 6-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

To put the naming rule into effect, you must attach it to a property on a business object, such as an
item name.

Add a revision naming rule

A revision naming rule is a business rule that defines the naming convention and sequence for a revision
property. This functionality is required for the strict naming requirements needed for some industries. If
you have the Aerospace and Defense Foundation template installed, you may need to use this
functionality to conform to industry naming standards.

You must use valid combinations of initial, secondary, and supplemental format types for revision
naming rules.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Revision Naming Rules in the
Wizards box, and click Next.

• Open the Extensions\Rules folders, right-click the Revision Naming Rules folder, and choose
New Revision Naming Rules.

The New Revision Naming Rules wizard runs.

2. Enter the following information in the Revision Naming Rules dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new naming rule in the database.

6-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a revision naming rule

When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. Select the Exclude I, O, Q, S, X, Z ? check box to exclude these characters from use in the
rule. The characters are set in the TcRevisionSkipLetters LOV.

d. Click the arrow in the Initial Revision Type box to choose the kind of revision numbering
system to use at the beginning of the revision name scheme: Alphabetic (only alphabet
characters), Numeric (only numbers), or Alphanumeric (a mix of letters and numbers).

e. In the Initial Revision Start box, type the characters to start the revision naming scheme.
For example, if the desired revision numbering scheme is A001 to Z999, type A in this box.
The character must be in accordance with the initial revision type. For example, if the initial
revision type is alphabetic, you must type an alphabetic character.

f. In the Initial Revision Description box, type a description of the first portion of the revision
naming scheme.

g. Click the arrow in the Secondary Revision Type box to choose the kind of revision numbering
system to use next in the revision naming scheme: Alphabetic (only alphabet characters),
Numeric (only numbers), or Alphanumeric (a mix of letters and numbers). This must be a
different type than the initial revision type. For example, if the initial revision type is
alphabetic, the secondary revision type must be numeric.

h. In the Secondary Revision Start box, type the characters to continue the revision numbering.
For example, if the desired revision numbering scheme is A001 to Z999, type 001 in this box.
The character must be in accordance with the secondary revision type. For example, if the
secondary revision type is numeric, you must type a number.

i. In the Secondary Revision Description box, type a description of the next portion of the
revision naming scheme.

j. Click the arrow in the Supplemental Revision Type box to choose one of the following:

• NumericNoZeroFill
Assigns numbers with no zeroes, for example, 1, 2, 3, up to 9999.

• FixedTwoDigitsZeroFill
Assigns two-digit numbers using a zero fill-in, for example, 01, 02, 03, up to 99.

• FixedThreeDigitsZeroFill
Assigns three-digit numbers using a zero fill-in, for example, 001, 002, 003, up to 999.

• FixedFourDigitsZeroFill
Assigns four-digit numbers with a zero fill-in, for example, 0001, 0002, 0003, up to 9999

Business Modeler IDE PLM00071 11.2 6-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

• CurrentRevLetterNumericNoZeroFill
Assigns numbers to the current revision letter with no zeroes, for example, A1, A2, A3, up
to A99.

• CurrentRevLetterFixedOneDigit
Assigns single-digit numbers to the current revision letter, for example, A1, A2, A3, up to
A9.

• CurrentRevLetterFixedTwoDigitsZeroFill
Assigns two-digit numbers to the current revision letter, for example, A01, A02, A03, up to
A99.

• NextRevLetterNumericNoZeroFill
Assigns numbers to the next revision letter, for example, B1, B2, B3, up to B99.

• NextRevLetterNumericFixedOneDigit
Assigns single-digit numbers to the next revision letter, for example, B1, B2, B3, up to B9.

• NextRevLetterFixedTwoDigitsZeroFill
Assigns two-digit numbers to the next revision letter, for example, B01, B02, B03, up to
B99.

Note:
For the CurrentRevLetter and NextRevLetter types, the default supplemental revision
name starts with current or next revision letter, but you can type any letter (except the
ones controlled by the TcRevisionSkipLetters LOV).
Use the following preferences to prevent users from typing a letter for the revision:

• Treat_Curr_Rev_As_Any_Rev
Set to False to prevent users from changing the current revision letter.

• Treat_Next_Rev_As_Any_Rev
Set to False to prevent users from changing the next revision letter.

k. In the Supplemental Revision Description box, type a description of the supplemental


revision naming.

l. Click Finish.
The naming rule is added to the Revision Naming Rules folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

6-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Assign a baseline suffix naming rule

To put the naming rule into effect, you must attach it to a property on a business object, such as an
item name.

Assign a baseline suffix naming rule

A baseline is an interim version of a design for future reference. When you create a baseline, you can
assign a naming rule to it.

The Default Baseline Suffix Rule has the "."NNN pattern with an initial value of .001 and a maximum
value of .999. If you want to create your own baseline naming rule, you can define the rule using the
same pattern (and ensure you select the Generate Counters check box).

1. In the BMIDE view, browse to the ItemRevision business object or a child of the ItemRevision
business object. (Baseline suffix naming rules are only allowed for item revisions or children of
item revisions.) To search for a business object, you can click the Find button at the top of the
view.

2. Right-click the item revision business object and choose Open.


The details of the object appear on the Main tab in a new view.

3. To assign a naming rule to the item revision business object, click the Browse button to the right of
the Baseline Suffix box. Select a naming rule (such as Default Baseline Suffix Rule) and click OK.

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

6. After deployment, test your newly assigned baseline suffix naming rule in the Teamcenter rich
client by creating a baseline and checking the name that is generated.
To baseline an item, open an item revision in the Structure Manager and choose Tools→Baseline.

Attach a naming rule to a property

To put a naming rule into effect, you must attach it to a property of a business object. For example, if
you want to use a naming rule to define how Item business objects items are named, attach the naming
rule to the item_id property of the Item business object.

Prior to Teamcenter 11.2, naming rules could only be attached to a limited number of properties, such
as item_id and a few others. Now administrators can attach naming rules to any persistent string
properties. This allows organizations to enforce naming standards for many properties, not just a few.

Business Modeler IDE PLM00071 11.2 6-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Note:
• You cannot attach a naming rule to the object_name property of the Form business object or
its children.

• If you want to use the same naming pattern for two different business object types, Siemens
PLM Software recommends creating a separate naming rule for each type. This ensures that
each type has its own counter. If you attach the same naming rule to two different types, they
share the same counter. (Prior to Teamcenter 10.1, new counters were created per naming rule
attachment.)

The following procedure describes how to open the naming rule and add property attachments in the
Naming Rule Attachments table.

1. Open the Extensions\Rules\Naming Rules folders, right-click the naming rule you want to assign,
and choose Open.
The Naming Rule editor is displayed.

2. Click the Attach button to the right of the Naming Rule Attachments table.
The Naming Rule Attachment wizard runs.

3. Perform the following steps in the Property Selection for Naming Rule dialog box:

a. Click the Browse button to the right of the Property box to choose the business object and
property to which you want to attach the naming rule. You can also press Alt+C or start typing
to see a list of suggestions.

b. Click the arrow in the Case box to select the kind of user input allowed for the naming rule,
Mix for mixed case, Upper for uppercase, or Lower for lowercase.

6-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Attach a naming rule to a property

Note:
If a naming rule has uppercase characters in the pattern (for example, Ann), you must
choose Mix or Upper. If you choose Lower in this situation, the end user encounters an
error when the naming rule is generated in the client user interface. To correct the
problem, replace the A in the pattern with @, for example, @nn.

c. Click the Browse button to the right of the Condition box to select the condition that
determines when the naming rule is applied. If you select isTrue as the condition, the value
always applies.

Note:
Only those conditions appear that have valid signatures. For naming rules, the valid
condition signature is as follows:

condition-name(UserSession)

d. Select Override to override the existing naming rule attached to this property.

e. Click Finish.
The naming rule is attached to the property on the business object. The business objects and
properties display in the Naming Rule Attachments table.
To detach the naming rule from any particular property, select the business object in the table
and click the Detach button.

Business Modeler IDE PLM00071 11.2 6-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

4. When you attach a naming rule to a persistent string property, use the Operation Descriptor tab
to make the property both visible and required so that users are prompted to assign the naming
rule when creating the object.
For example, in the following figure, the custom property was set as visible so that the user is
prompted to assign a name.

Tip:
After creation, the Assign button and hint box are not displayed with the property.

6-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Attach naming rules with conditions

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

6. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

7. After deployment, test your newly attached naming rule in the Teamcenter rich client by creating
an instance of the business object.
For example, if you attached a naming rule to the item_id property on a custom item business
object, in the My Teamcenter application, try creating some items to see if the rule is applied. For
example, choose File→New→Item and choose the custom item as the type. When you click the
Assign button, your new naming rule pattern appears in the ID box.

Tip:
If a naming rule has any patterns that are not automatically assignable such as a regular
expression, nested rules, and so on, then the Assign button is not displayed.

Attach naming rules with conditions

You can use conditions to determine when naming rules are applied. When you attach the naming
rule, select the condition that determines when the naming rule should be used.

1. Open the business object with the property whose naming rule you want to set with a condition.

2. On the Properties tab, select the property for which you want to use the naming rule.

Business Modeler IDE PLM00071 11.2 6-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

3. Click the Add button to the right of the Naming Rule Attaches table.
The Attach Naming Rule wizard runs.

4. Click the Browse button to the right of the Property box to select the property.

5. Click Browse to the right of the Condition box to select the condition that determines when the
naming rule applies.

6. Select the Override check box to replace the existing naming rule attached to that property, if any.

7. Click Finish.
The condition when the naming rule applies is displayed in the Naming Rule Attachments table.

Override a COTS naming rule

You can override COTS naming rules with custom naming rules by selecting the Override button when
you attach the naming rule.

1. Open the business object with the property whose naming rule you want to override, for example,
Item.

2. On the Properties tab, select the property whose naming rule you want to override, for example,
item_id.

3. Click the Add button to the right of the Naming Rule Attaches table.
The Attach Naming Rule wizard runs.

4. Click Browse to the right of the Naming Rule box to select the new naming rule that you want to
override the COTS naming rule.

6-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Defining naming rule patterns

5. In the Condition box, ensure the istrue condition is selected if you are overriding using a custom
naming rule. The override can be used only with istrue condition while using a custom naming
rule.

6. Select the Override check box.


Selecting this button overrides the COTS naming rule.

7. Click Finish.

Naming rule patterns

Defining naming rule patterns

Naming rules are considered pattern variables. Naming rule patterns can be composed of literal strings
of characters, lists of patterns using lists of values (LOVs) as literal variables, and pattern variables
composed of existing naming rules.

Note:
Lists of values are literal variables and must be enclosed in double quotation marks (").

Each pattern can consist of combinations of the characters shown in the following table.

Business Modeler IDE PLM00071 11.2 6-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Character Pattern match

& Alphanumeric value.

X Uppercase alphanumeric value.

x Lowercase alphanumeric value.

N Numeric value.

n Numeric value.

@ Alphabetic value.

A Uppercase alphabetic value.

a Lowercase alphabetic value.

U Uppercase dynamic character

u Lowercase dynamic character

D Mixed case dynamic character

“string” String delimiters. For example, if you want the word Part to
appear in the naming rule, define it as "Part" in the naming rule
pattern.

? Any single character value.

\ Escape the next character to have a literal meaning.


This character is only required when using delimiters inside of
other delimiters, for example, “A\”Special\”Name”, which
matches [A “Special” Name].
If you do not use the back slash (\) it is not possible to include
delimiters as part of a name. The same is true of braces ({ })
and brackets ([ ]). For example, the pattern {RULE:Test\
$Now\{a\}${ROLE}}, applied to a user whose current role is
Designer, would look for the following definition:

Test$Now{a}Designer

6-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Defining naming rule patterns

Character Pattern match

${system-variable} Substitutes the value of a Teamcenter system variable.

Note:
System variables are normally used in double quotation
marks. However, it is possible that a preference value can
be a pattern rather than a literal.

The following values are valid for system variable:


GROUP User's current group.
ROLE User's current role.
USERID User's ID.
USERNAME User's name.
SITENAME Site name.
All:pref Specifies a preference variable.
GROUP:pref Specifies a group protection scope
preference variable.
ROLE:pref Specifies a role protection scope preference
variable.
SITE:pref Specifies a site protection scope preference
variable.
USER:pref Specifies a user protection scope preference.

{variable-type:variable-name} Literal variable delimiters {Type:Name}


Values in the list are treated as quoted strings. The following
values are valid for variable type:
LOV Lists of values
RULE NAME_Rules

[variable-type:pattern-name] Pattern variable delimiters [Type:Name]


Values in the list are treated as patterns. The following values
are valid for variable type:
LOV Lists of values
RULE NAME_Rules

Business Modeler IDE PLM00071 11.2 6-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Character Pattern match

Regular expressions Regular expressions are valid inputs to the patterns. The regular
expression delimiter % indicates that the rest of the pattern is a
regular expression. The regular expression delimiter allows
names to be validated, not generated, using standard regular
expressions. This delimiter cannot be used in a pattern that
automatically generates counters.
For example, the pattern for an item ID with two uppercase
alphabetic characters followed by one digit is AAn. However, if
the digit was not allowed to be zero, the following regular
expression can be used: AA%^[1-9]$.
You cannot use nonregular expression characters after the %
delimiter. If you attempt to do so, you receive an error when
you attempt to create the pattern.

Caution:
If you place the % expression before dynamic characters
(u, U, or D), an error is not thrown, for example:

%^[mejk]$DDD

Although an error is not thrown, it is still an invalid


expression.

The circumflex (^) at the beginning of the input constrains the


input to match an initial segment of a line. The dollar sign ($) at
the end of the input constrains the input to match a final
segment of a line. Therefore, the construction ^[1-9]$ means
that the expression must match the entire segment, not only
part of it.
The following values are valid regular expressions:
? 0 or 1
* 0 or more
+ 1 or more
. Any character
| Or (as in this OR that)
() Define a section, for later reference in short
form
[] Define a set, one of the enclosed characters

6-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Defining naming rule patterns

Character Pattern match

- Range

You must define sets of characters to represent the pattern of


your naming convention. Some simple examples follow:
[a-z0-9] One lowercase letter or number
[a-z0-9]+ One or more lowercase letters or numbers in
any order
[a-z]+[0-9]+ One or more lowercase letters followed by
one or more numbers
[a-hj-np-z] Any one lowercase letter except i and o
[mejx] Any one of the letters m, e, j, or x

Note:
The Teamcenter regular expression parser is based on
classic UNIX.
The use of shorthand forms \w and \d is not supported.
These metacharacters are regular expression extensions
used in scripting languages like Perl, PHP, and Python.
You can find more information about regular expressions
on the Internet by searching for the phrase regular
expression or regex.

To specify a special character as a literal character within a set,


you must use the escape character, which on Windows systems
is the backslash \ and on Linux systems is the slash /. For
example:
[a-z] One lowercase letter or number
[a\-z]+ One or more of the letters a or z, or the dash
character, on Windows systems

You can use quantifiers to allow specific numbers of characters.


Instead of using [0-9][0-9][0-9] to represent any three digits,
you can write the regular expression with a quantifier as [0-9]
{3}. For example:
{n,m} At least n and no more than m
{n,} At least n

Business Modeler IDE PLM00071 11.2 6-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Character Pattern match

{,m} May have 0, but no more than m


{m} Exactly m

Using literal variables in patterns

To illustrate the use of literal variables, assume that the naming convention for a particular type of
dataset requires a 3-character suffix, either ENG or MFG, followed by a 4-digit number ranging from
0000 to 9999.

To establish this pattern, a list of values (LOV) named Context is created containing the values ENG and
MFG. A naming rule is then created using the LOV and numeric characters. The pattern would appear as
follows:

{LOV:Context}nnnn

The naming rule is then attached to the name property of the dataset business object.

Note:
Literal variables cannot be used in patterns used to autogenerate counters.

Using counters with naming rules

The first pattern in the naming rule is used with counters. If there are more patterns, the client prompts
you to choose the pattern you want to use.

Any number of counters can be used in a pattern, for example nnn"."a. With counters activated for this
pattern, the Assign button allocates IDs as follows:

000.a
000.b
000.c
:
000.z

The right-side counter range completes first and then moves to the next range from the right, as
follows:

001.a
:
001.z
002.a

6-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Using system variables in patterns

:
002.z
003.a
:
003.z

Using system variables in patterns

System variables can be used in naming rule patterns to retrieve information from Teamcenter.
Examples are ${USERID}, ${SITENAME}, and ${GROUP}.

If the pattern contains a system variable inside quotation marks, for example, "${GROUP}-AD-"NNN, you
can select the Generate counters? check box when creating the naming rule.

When generating counters for the "${GROUP}-AD-"NNN example, the Initial Value and Maximum
Value boxes can contain values similar to the following:

Pattern "${GROUP}-AD-"NNN

Initial Value ${GROUP}-AD-111

Maximum Value ${GROUP}-AD-999

Another similar example is:

Pattern "AA-${GROUP}-BB-"NN

Initial Value AA-${GROUP}-BB-11

Maximum Value AA-${GROUP}-BB-99

Using dynamic characters in naming rule patterns

The following dynamic characters can be used in naming rule patterns:

• U
Uppercase dynamic character

• u
Lowercase dynamic character

• D
Mixed-case dynamic character

Business Modeler IDE PLM00071 11.2 6-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

When you use a dynamic character in a pattern and select the Generate Counter check box,
corresponding characters typed in the Initial Value box are used in all subsequent IDs. For example, if
the pattern is UUU“-”NNNNN and you type REQ-00000 in the Initial Value box, all IDs automatically
generated using that pattern begin with REQ (REQ-00000, REQ-00001, REQ-00002, and so on).

However, end users can override the default text in the client user interface. For example, they can
either click the Assign button, or they can replace the REQ in the ID with some other text. Therefore, the
pattern is dynamic, allowing it to be changed by end users.

6-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Impact of property inheritance on naming rule behavior

Naming rules reference

Impact of property inheritance on naming rule behavior

Properties that are added to a business object are automatically inherited by all sub-business objects of
the parent business object. Conversely, properties removed from a parent business object are
automatically removed from all sub-business objects. Because naming rules define valid patterns for the
values of properties associated with various object business objects, they too are subject to the
principles of inheritance.

Naming rules are evaluated as follows: If a naming rule exists for the business object, it is applied.
Otherwise, the hierarchy is ascended until a rule is located or the top-level parent is reached.

The following example assumes that for the Item class a business object, Document, exists. In addition,
a sub-business object of the Document business object, MyDoc, exists. Naming rules are applied to the
properties of these object classes/business objects/sub-business objects, as shown in the following table.

Business object Property Naming rule applied

Item item_id RuleA

name RuleB

item_revision_id None

Document item_revision_id RuleC

MyDoc name RuleD

With these rules established, rules are applied accordingly when a user performs the following actions:

• Creates a new item of the Item business object.


The item ID and name for the new Item are derived using naming rules RuleA and RuleB, which are
attached directly to the top-level Item business object.

• Creates a new item of the Document business object.


The item ID and name are derived using naming rules RuleA and RuleB, which are inherited from the
Item business object. The item revision ID is derived using naming rule RuleC, which is attached
directly to the Document business object.

• Creates a new item of the MyDoc business object.


The item ID is derived using naming rule RuleA, which is inherited from the Item business object. The
item revision ID is derived using naming rule RuleC, which is inherited from the Document item

Business Modeler IDE PLM00071 11.2 6-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

business object, and the name is derived using RuleD, which is attached directly to the MyDoc sub-
business object.

Applying naming rules to identifiers and identifier revisions

The Identifier class uses pairs of identifier-name and identifier-nameRev business objects. Alternate
identifiers of the identifier-name business object are item-level masters. Alternate identifiers of the
identifier-nameRev business object are revision levels supplements to the item-level master.

Naming rules on the ID property of a master identifier business object are automatically inherited by the
ID property of the supplemental revision-level identifier business object. Therefore, unless a separate
naming rule is defined for the revision-level identifier, the ID property of both the master and the
revision-level business object use the same naming rule, which results in the sequence counter for the
identifier revision-level IDs being increased each time a revision is created, as shown in the following
example:

CAAA00011-CORP1048 (Item)
CAAA00011 (Item Master)
ALT-AAA00009@Evaluat-Nozzle EVA (Identifier)
ALT-AAA00017@Evaluat-jojojo (Identifier)
CAAA00011/A-CORP1048 (Item Revision)
CAAA00011/A (Item Revision Master)
ALT-AAA00009/ALT-AAA00010@Evaluat-Nozzle EVA (IdentifierRev)
ALT-AAA00017/ALT-AAA00018@Evaluat-jojojo (IdentifierRev)

To prevent this behavior, you must define a separate revision naming rule on the ID property of
supplemental revision-level identifier business objects, as follows:

1. Define a naming rule, for example, MyRule1, that generates the counter and attach it to the ID
property of the identifier.

2. Define another naming rule, for example, MyRule2, that is identical to MyRule1 and attach it to
the ID property of the identifier revision.
The alternate ID is generated and the counter is incremented as follows:

000/000@Master-1
001/000@Master-1
002/000@Master-1
003/000@Master-1

Using conditions with naming rules

You can attach naming rules using conditions to determine when naming rules are applied. You can
attach multiple naming rules for the same property and business object. The naming rule attachment
whose condition evaluates to true first is selected.

6-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Using conditions with naming rules

There is a default condition isTrue which always evaluates to true. For a particular type and property,
the naming rule attachment with the isTrue condition is given the last priority. That is, if none of the
conditions for other naming rule attachments evaluates to true, the one with isTrue condition is picked.

Consider the following use case:

Business Property Naming rule Conditio Description


object n

MyItem item_id naming_rule isTrue Sets the default naming rule


1 for the property on the
business object.

MyItem item_id naming_rule isProject Checks if the Teamcenter


2 1 session current project is
Project1.

Item item_id naming_rule isProject Checks if the Teamcenter


3 2 session current project is
Project2.

The following scenarios can be applied to the use case:

• Scenario 1:

• The user’s current project in Teamcenter session is Project1.

• The naming_rule1 naming rule evaluates to true but is given last priority (that is, the server puts it
aside for time being and goes on to evaluate other attachments).

• The naming_rule2 naming rule also evaluates to true.

• The naming_rule2 naming rule is returned as the valid attachment for the MyItem/item_id
property.

• Scenario 2:

• The user’s current project is Project2.

• The naming_rule1 naming rule evaluates to true but is given last priority (that is, the server puts it
aside for time being and goes on to evaluate other attachments).

• The naming_rule2 naming rule evaluates to false.

Business Modeler IDE PLM00071 11.2 6-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

• The server has evaluated all the naming rule attachments for the given business object/property
combination. The server now has to make a decision:

■ Should it go to parent and see if the property exists on the parent, and if it exists, evaluate the
naming rule attachments on the parent business object/property combination?

■ Or should it use the naming rule attachment that has the isTrue condition?

• The Override check box helps in making this decision:

■ If the Override check box is not selected (false), the server goes to the parent, and if the
property exists on the parent, it evaluates the naming rule attachments on the parent business
object/property combination. In this case, the naming_rule3 naming rule evaluates to true and
is returned as the valid attachment for the MyItem/item_id property.

■ If the Override check box is selected (true), the naming rule attachment that has the isTrue
condition is used. In this case, naming_rule1 is returned as the valid attachment for the
MyItem/item_id property.

• Scenario 3:

• The user’s current project is Project3.

• The naming_rule1 naming rule evaluates to true but is given last priority (that is, the server puts it
aside for the time being and goes on to evaluate other attachments).

• The naming_rule2 naming rule evaluates to false.

• The server has evaluated all the naming rule attachments for the given business object/property
combination. The server has to now make a decision:

■ Should it go to the parent and see if the property exists on the parent, and if it exists, evaluate
the naming rule attachments on the parent business object/property combination?

■ Or should it use the naming rule attachment that has isTrue condition?

• The Override check box helps in making this decision:

■ If the Override check box is not selected (false), the server goes to parent, and if the property
exists on the parent, it evaluates the naming rule attachments on the parent business object/
property combination. In this case, none of the naming rules evaluate to true. So, the
naming_rule1 naming rule is returned as valid attachment for the MyItem/item_id property.

■ If the Override check box is selected (true), the naming rule attachment that has the isTrue
condition is used. In this case, the naming_rule1 naming rule is returned as the valid
attachment for the MyItem/item_id property.

6-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Impact of conditions on naming rule overrides

Impact of conditions on naming rule overrides

There are only two types of conditions allowed for naming rule attachments, IsTrue conditions and
session-based conditions. In evaluating naming rule attachments that use conditions, the session-
based condition takes precedence over the IsTrue condition.

At any level of the business object hierarchy, if any session-based condition evaluates to true, the
corresponding naming rule is used. If the Override check box is selected on a naming rule attachment
with an IsTrue condition, the parent traversal is stopped at that level and the first encountered naming
rule attachment with an IsTrue condition is used. Otherwise, naming rules at the parent business object
are evaluated in similar manner.

The following example shows how a naming rule is applied while creating an instance of a
MyCustomItem2 business object where the Override check box is selected on a naming rule
attachment with an IsTrue condition at the MyCustomItem business object. All session-based
conditions are evaluated to false so the traversal continues until the NR6 naming rule where the
override is set:

item.item_id : NR1.isTrue(): (override=true)


Item.item_id: NR2: IsSession2()
Item.item_id: NR3: IsSession3();
MyCustomItem.item_id: NR4:IsSession4()
MyCustomItem.item_id: NR5:IsSession5()
MyCustomItem.item_id: NR6:isTrue() (override = false )
MyCustomItem2.item_id: NR7:IsSession7()
MyCustomItem2.item_id: NR8:IsSession8()
MyCustomItem2.item_id: NR9:isTrue() (override = false )

When all the following session-based conditions are false, the naming rule attachment related to the
NR9 naming rule is returned for the MyCustomItem2 business object:

IsSession7 = false
IsSession5 = false
IsSession4 = false
IsSession3 = false
IsSession2 = false

Revision naming rules reference

A revision naming rule is a business rule that defines the naming convention and sequence for a revision
property.

The following table shows valid combinations of initial, secondary, and supplemental format types for
revision naming rules.

Business Modeler IDE PLM00071 11.2 6-27


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Initial Initial Secondary Secondary Supplement Supplement


format examples format examples al format al examples

Alphabetic A, B… None None


AA, AB…
AAA, AAB…

Alphabetic A, B… None Numeric 1, 2… 999


AA, AB… 01, 02… 999
AAA, AAB… 001, 002…
999

Alphabetic A, B… None Alphanumeri A1, A2…


AA, AB… c A01, A02…
AAA, AAB… AA1, AA2…

Alphabetic A, B… Numeric 1, 2… 999 None


AA, AB… 01, 02… 999
AAA, AAB… 001, 002…
999

Alphabetic A, B… Alphanumeri A1, A2… None


AA, AB… c A01, A02…
AAA, AAB… AA1, AA2…

Numeric 1, 2… 999 None None


01, 02… 999
001, 002…
999

Numeric 1, 2… 999 Alphabetic A, B… None


01, 02… 999 AA, AB…
001, 002… AAA, AAB…
999

Numeric 1, 2… 999 Alphabetic A, B… Alphanumeri A1, A2…


01, 02… 999 AA, AB… c A01, A02…
001, 002… AAA, AAB… AA1, AA2…
999

Numeric 1, 2… 999 Alphanumeri A1, A2… None


01, 02… 999 c A01, A02…
001, 002… AA1, AA2…
999

6-28 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Revision naming rules reference

Initial Initial Secondary Secondary Supplement Supplement


format examples format examples al format al examples

Alphanumeri A1, A2… None None


c A01, A02…
AA1, AA2…

Alphanumeri A1, A2… Alphabetic A, B… None


c A01, A02… AA, AB…
AA1, AA2… AAA, AAB…

Alphanumeri A1, A2… Alphabetic A, B… Numeric 1, 2… 999


c A01, A02… AA, AB… 01, 02… 999
AA1, AA2… AAA, AAB… 001, 002…
999

Alphanumeri A1, A2… Numeric 1, 2… 999 None


c A01, A02… 01, 02… 999
AA1, AA2… 001, 002…
999

The following table shows the supported formats of the supplemental revision types.

Supplemental revision format Current Example


released
revision

NumericNoZeroFill Any revision 1, 2, 3, up to 9999

FixedTwoDigitsZeroFill Any revision 01, 02, 03, up to 99

FixedThreeDigitsZeroFill Any revision 001, 002, 003, up to 999

FixedFourDigitsZeroFill Any revision 0001, 0002, 0003, up to 9999

CurrentRevLetterNumericNoZeroFill A A1, A2, A3, up to A99

1 Not applicable

A01 A02, A03 up to A99

CurrentRevLetterFixedOneDigit A A1, A2, A3, up to A9

Business Modeler IDE PLM00071 11.2 6-29


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Supplemental revision format Current Example


released
revision

1 Not applicable

A01 A02, A03 up to A99

CurrentRevLetterFixedTwoDigitsZeroFill A A01, A02, A03, up to A99

1 Not applicable

A01 A02, A03 up to A99

NextRevLetterNumericNoZeroFill A B1, B2, B3, up to B99

1 Not applicable

A01 A02, A03 up to A99

NextRevLetterNumericFixedOneDigit A B1, B2, B3, up to B9

1 Not applicable

A01 A02, A03 up to A99

NextRevLetterFixedTwoDigitsZeroFill A B01, B02, B03, up to B99

1 Not applicable

A01 A02, A03 up to A99

Note:
For those formats in the table whose current released revision is A01, if the current revision is
alphanumeric, that alphanumeric sequence is followed.

6-30 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Intelligent part numbering use case

Intelligent part numbering

Intelligent part numbering use case

This use case shows intelligent part numbering for a vehicle manufacturer.

The company has design centers and departments (such as Body Shop and Paint Shop) spread across
business units on several continents. The company has two product lines, Commercial Vehicles and
Passenger Vehicles. Because there are thousands of parts that are designed at various business unit
locations and departments, the company wants the item IDs of each part to convey the unit, product
line, and department, as well as whether the part was manufactured in-house or bought from a
supplier.

The intelligent part numbering system helps solve this problem for the company by providing a
configurable numbering system that can generate meaningful item IDs.

The company wants to represent the following properties in each item ID:

Unit/ProductLine/Department/CounterForMakeBuy

For example:

AMPVBS8001

Business Modeler IDE PLM00071 11.2 6-31


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

This ID shows that the item is for the American market (AM), is a passenger vehicle (PV), and is made by
the body shop department (BS). Because the item is made by the company rather than bought, a four-
digit incremental number is added from the business unit’s numbering system (8001). If the product is
bought, a five-digit decremented number is used, for example:

AMPVBS99999

6-32 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Intelligent part numbering use case

Following are the properties to be represented in the item ID.

Property LOV value LOV display values Counter range in item ID

Unit AP Asia Pacific 2000–4000

EU Europe 4001–6000

CH China 6001–8000

AM Americas 8001–9999

Product Line PV Passenger Vehicles (Not applicable.)

CV Commerical Vehicles (Not applicable.)

Department BS Body Shop (Not applicable.)

PS Paint Shop (Not applicable.)

Make/Buy Make Make (Represented by Unit


counter.)

Buy Buy 99999–90000 (decrement)

Perform the following steps to set up an ID generation rule for this example:

1. Create an ID generator business object and add properties for the unit, product line, department,
and make/buy.

2. Create a list of values (LOV) for each property (unit, product line, department, and make/buy) and
attach the LOVs to the properties. When you add the values, ensure that you type the abbreviated
value in the Value box. This is the value that is displayed in the generated ID.

Business Modeler IDE PLM00071 11.2 6-33


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

3. Create an ID generation rule that has a concatenation rule for each unit (AP, AM, CH, EU) and one
for the Buy value of the make/buy property.

4. Add the unit, product line, and department properties to each concatenation rule.

6-34 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Intelligent part numbering use case

5. Add a unique counter to each concatenation rule with the number range for that business unit.
(Each concatenation rule is identical except for the counter.)

6. Click the New button in the Condition box to create a condition to determine when to use the
concatenation rule. The conditions state that if the Make value is selected, generate a counter in
the number range set for the business unit. If instead the Buy value is selected, generate a counter
in the decrement number range.
The following table summarizes the counters and conditions for each concatenation rule.

Business Modeler IDE PLM00071 11.2 6-35


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Concatenation Counter Initial Maximum Condition


rule pattern value value

AP NNNN 2000 4000 o.a9_Unit="AP" and


o.a9_MakeBuy="Make"

EU NNNN 4001 6000 o.a9_Unit="EU" and


o.a9_MakeBuy="Make"

CH NNNN 6001 8000 o.a9_Unit="CH" and


o.a9_MakeBuy="Make"

AM NNNN 8001 9999 o.a9_Unit="AM" and


o.a9_MakeBuy="Make"

Buy NNNNN 99999 90000 o.a9_MakeBuy="Buy"

Tip:
For the Buy concatenation rule, the Is Decrement? check box is selected.

7. Create a custom item business object for which you want to generate item IDs.

8. Add the new ID generation rule to the item_id property on the custom item business object.

6-36 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Intelligent part numbering use case

9. Save your work by choosing BMIDE→Save Data Model, package the template by choosing
BMIDE→Package Template Extensions, and install the template using Teamcenter Environment
Manager (TEM).

10. Create the new item. For example, in the rich client, choose BMIDE→New→Item and choose the
custom item business object. When you get to the Id Generator for Part Numbers panel, select
the properties for the new item.

When you click Finish, the ID is generated.

Business Modeler IDE PLM00071 11.2 6-37


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Introduction to intelligent part numbering

Intelligent part numbering is a way to create more descriptive object names through ID generation rules.

An ID generation rule is a rule that generates an item ID with additional counters or property values
appended to it. It is very much like a naming rule. When an ID generation rule is attached to the item_id
property on an item business object, users of the rich client and thin client can use the New Item wizard
to generate an item ID using the specifications in the rule. Other users can then look at the item IDs to
quickly identify characteristics of the items.

An ID generation rule can be attached only to the Item business object and its subtypes and can only be
attached to the item_id property. An ID generation rule defined at an Item level is automatically
honored by its subtypes. To have a different ID generation rule for a subtype, you can override the ID
generation rule by creating an ID generation rule for a subtype, similar to how overriding naming rules
works.

To create an ID generation rule, an administrator uses the Business Modeler IDE to:

1. Create a custom run-time ID generator business object (as a child of the Fnd0BaseIdGenerator
business object).

2. Add properties to the ID generator business object that are to be used to generate the item ID.

6-38 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to intelligent part numbering

The properties on this business object are seen by the user in the New Item wizard when creating
the item.

3. Create an ID generation rule that points to the ID generator business object. An ID generation rule
is a collection of concatenation rules. The ID generation rule gets attached to the item type for
which ID generation is to be configured.

Business Modeler IDE PLM00071 11.2 6-39


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

4. Create concatenation rules that contain the properties on the ID generator business object. A
concatenation rule defines the structure of an item ID, that is, what properties of the ID generator
business object participate in creation of the item ID. It also specifies the sequence of
concatenation of property values when generating the item ID. Along with specifying the
properties that participate, it also allows you to add a counter to the item ID that gets generated.
The sequence of properties and counter defined is honored in the generated item ID.
Concatenation rules state the following:

• Properties on the ID generator business object to be concatenated into the ID

• An optional counter to generate the numbered portion of the item ID

• A condition for each concatenation rule that determines when the rule is used
This condition is in the context of the ID generator business object properties associated with the
concatenation rules. At run time, the system evaluates the conditions associated with each
concatenation rule, and if found true for the rule, that concatenation rule is used to generate the
item ID.
The condition uses the property value pair from the ID generator business object. At run time, if
the data entered by the user matches the property value pair as defined in this condition, the
concatenation rule is selected for generation of the item ID. It is the responsibility of the
administrator to ensure that the conditions are devised so that each condition definition is
unique. If two or more condition definitions are the same, at run time, any of the concatenation
rules are randomly picked up for ID generation. In the worst case scenario, you may have
instances of the same item type with different item ID formats. See an example that uses
multiple conditions to evaulate concatenation rules.

6-40 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an ID generation rule

5. To see how ID generation rules work in My Teamcenter in the rich client, choose File→New→Item.
If an administrator has applied an ID generation rule to that item type, a new ID generation panel is
made available to enter the property values. When you complete the panel, a new ID is generated
for the item that contains the property values.
Following is an example of the resulting concatenated item ID.

Create an ID generation rule

Perform the following steps to create a rule that generates an item ID with additional counters or
property values appended to it.

Before creating an ID generation rule, the administrator should be comfortable with creating the
following:

• Business objects

• Lists of values

• Conditions

• Naming rules

1. Create a child of the Fnd0BaseIdGenerator business object.

Business Modeler IDE PLM00071 11.2 6-41


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Tip:
The display name of the business object in this example is Generate ID. In addition to the
properties, this name appears in the rich client panel used to generate the item IDs. (See the
example in step 8.) Ensure that the display name reflects the task the end user performs.

2. Add properties to the custom ID generator business object whose values you want to be
concatenated onto the generated ID. Generally, add properties that use lists of values (LOVs).

6-42 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an ID generation rule

Tip:
These properties appear in the rich client panel used to generate the item IDs.

3. Create the ID generation rule.

a. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type ID Generation Rule in the
Wizards box, and click Next.

• Open the Extensions\Rules folders, right-click the ID Generation Rule folder, and choose
New ID Generation Rule.

The New ID Generation Rule wizard runs.

b. The Project box defaults to the already-selected project.

c. In the Name box, type the name you want to assign to the new ID generation rule in the
database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

d. Click the Browse button to the right of the ID Generator box to select the ID generator
business object you created previously.

e. Click the Add button to the right of the Concatenation Rules table to select the rules used to
concatenate counters and/or property values into an ID.
The Add Concatenation Rule dialog box is displayed.

Business Modeler IDE PLM00071 11.2 6-43


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

f. Click the Add Counter button if you want to add a counter pattern to the ID.
The Create a Pattern dialog box is displayed. This is the same dialog box used when you
create a naming rule.

Note:
Using dynamic characters in a pattern while defining a counter in a concatenation rule
is not supported.

g. Click the Add Property button if you want to add a property to be concatenated into the ID.
The available properties are the ones on the ID generator business object you created earlier.

Note:
Although adding a property and a counter are optional, you must add one or the other
(or both) to create a concatenation rule.

h. Click the Browse button to the right of the Condition box to add a condition that defines the
factors that must in place for the ID to be generated. You can also press Alt-C or start typing to
see a list of suggestions. If you select isTrue, the ID is always generated. If you want to create
a new condition, click the New button.

i. Click the Browse button to the right of the Naming Rule box if you want the item ID to be
validated. You can also press ALT+C or start typing to see a list of suggestions. This naming
rule is only used to validate the incoming item ID in case an item ID is passed for item
creation.

6-44 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an ID generation rule

Tip:
To configure the naming rule corresponding to this concatenation rule, you can define a
naming rule pattern with LOVs associated to properties defined in the concatenation
rule in the same sequence as the properties in concatenation rule. This ensures
generation and validation are always in sync.

Providing a naming rule along with a concatenation rule is not mandatory, but it is a best
practice to provide a meaningful naming rule along with each and every concatenation rule to
validate an incoming ID (either through being manually entered by the user in the client
item_id field or while importing bulk IDs). If the incoming ID is validated against any of the
configured naming rules within the ID generation rule, that ID is accepted. If the incoming ID
cannot not be validated in the absence of a naming rule within the concatenation rules, it
should be validated against the attached naming rule with the item_id property (if any
additional naming rule is attached to the Item type); otherwise, the item_id value is
accepted. If the incoming item_id value tests invalid against the naming rules configured
within concatenation rules, that item_id value should be considered for validation against the
attached naming rule with the item_id value (if any additional naming rule attachment is
available), otherwise the proper error message is displayed and the item ID is not generated.

j. Click Finish to complete the concatenation rule.

k. Click Finish in the ID Generation Rule dialog box to complete the rule.

Business Modeler IDE PLM00071 11.2 6-45


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

4. Attach the ID generation rule to the item_id property of an item business object as you would
attach a naming rule.

Note:
If both an ID generation rule and a naming rule are associated with an item business object,
the ID generation rule always takes precedence.

6-46 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an ID generation rule

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

6. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

7. (Optional) By default, the properties on the custom ID generator business object are displayed in
the item creation wizard without your having to modify style sheets. But If you want to change
how these properties display, you must create a custom style sheet for your custom business
object based on the ItemCreate.xml style sheet and edit the property display. For example, you
may want to place the properties in a different order or place them on the first item creation page.
Following is tagging that adds the properties in our example to the creation style sheet:

<section title=”IdGenerator Configuration” titleKey=”tc_xrt_IdGenInfo”>


<property name=”M5_MyIdGenerator:m5_CAE_BC_Geometry”/>
<property name=”M5_MyIdGenerator:m5_CAE_BC_Type”/>
<property name=”M5_MyIdGenerator:m5_CAE_Conn_Type”/>
</section>

8. To test the ID generation rule, create an item.

a. Run the rich client.

b. In My Teamcenter, choose File→New→ Item, and select the item business object type to
which you added the ID generation rule (for example, My Item). Click Next.

c. Name the item and click Next.

Business Modeler IDE PLM00071 11.2 6-47


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Note:
If you click the Assign button, an error is displayed because ID generation rules are
enabled for this business object type.

d. Enter values to the boxes on the ID generation page. These values become part of the item ID.

e. Click Finish.
The generated ID appears in the user interface.

6-48 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Map Smart Codes to ID generation rules

Map Smart Codes to ID generation rules

The ID generation functionality was formerly accomplished in Teamcenter Rapid Start using Smart
Codes. Smart Codes functionality worked only with the older Item Creation Wizard whereas ID
generation rules work only with New Item creation wizard. In addition, Smart Codes were used only in
the rich client, whereas ID generation rules are available in both the rich client and the thin client. As of
Teamcenter 11.2, Smart Codes are replaced by ID generation rules. If you want to use the Smart Codes
you have already developed, you must create new ID generation rules to match the Smart Codes.

Item IDs are created when a user makes selections from various sections in the New Item dialog box.
Smart Codes allowed you to preconfigure the label and contents of each section that made up the item
ID. This provided uniformity and ease-of-use in creating item IDs.

Smart Codes used a configuration file to define how to set up an item ID. The TC_ROOT\install\tcx\data
\EN\SmartCodes\tcx_sc_config.txt configuration file defined the order, dependency, and label for each
section in the item ID. To implement the Smart Codes settings in the configuration file, you first set the
TCX_Smart_Codes preference to true, edited the configuration file to the settings you wanted, and
then imported the configuration file into the database using the smartuibldr_configure utility.

To migrate Smart Codes to the newer ID generation rules, you must map each parameter of a Smart
Code element to a corresponding aspect of an ID generation rule. Following are two examples showing
mapping of Smart Code elements to ID generation rules. These are only examples. Your Smart Code
elements differ, and you must determine the best way to implement the Smart Code characteristics to
the new ID generation rule methodology.

• List of values (LOV) example


Following is an example of an element in the Smart Codes configuration file that defines an LOV.

ID: ITEM_UNIT
Action : DEFINE
Label : Unit
Choice : 1
Type : LOV
Repository : D@CNG_UNIT
Generate : COMBO
ReuseNumber : NONE
ForType : Item:Item.item_id

Using the example, you can map the parameters in the Smart Code element to a new ID generation
rule, as shown in the following table.

Business Modeler IDE PLM00071 11.2 6-49


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Corresponds to the following in the ID


Parameter Description generation rule

ID Specifies the unique ID for Corresponds to the property placed on a custom


this Smart Code element. ID generator business object, for example,
This typically adds a ITEM_UNIT.
property to the New Item
dialog box.

Action Specifies the action to take This parameter does not directly correspond to an
on this element. element in ID generation rules. In Smart Codes,
the permitted values are {CREATE|DEFINE|
MODIFY|DELETE}. For ID generation, all of these
actions are done from the Business Modeler IDE.
For example, the CREATE action corresponds to
adding a property to an ID generator business
object, and the DELETE action corresponds to
deleting a property.

Label Defines the element’s Corresponds to the display name of the property,
display label value. for example, Unit

Choice Defines what value is Corresponds to the default displayed value for a
displayed by default in the list of values (LOV) entry, for example, 1.
value box for this element.

Type Specifies the data source Corresponds to the type of property, for example,
type used for this element an LOV.
(for example, an LOV).

Repository Defines the data source for Corresponds to the name of the list of values, for
the specified type (for example, D2CNG_UNIT
example, the name of the
list of values).

Generate Defines how the element is Corresponds to the type of display, for example,
generated for display in the LOV. Style sheet configuration is required to
dialog box (for example, a change default appearance settings.
combo box).

ReuseNumber Defines counter This parameter is not supported in ID generation


generation. rules.

ForType Defines the ID property and Corresponds to the business object and property
item type for which the to which the ID generation rule is attached, for
element is used. example, the item_id property of the Item
business object.

• Counters example
Following is an example of an element in the Smart Codes configuration file that defines a counter.

6-50 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Map Smart Codes to ID generation rules

ID: ITEM_COUNTER_AP
Action : DEFINE
Label : Number
Type : NUMBER
Generate : ASSIGN
ReuseNumber : FALLBACK
CounterKey : ITEM_$LIST($Param.ITEM_UNIT;0)
Length : 4
FirstValue : 2001
LastValue : 4000
Select : $LIST($Param.ITEM_UNIT;0)==AP
Extends : ITEM_MAKEBUY

Using the example, you can map the parameters in the Smart Code element to a new ID generation
rule, as shown in the following table. In this example, only the parameters used to define the counter
are described.

Corresponds to the following in the ID


Parameter Description generation rule

Generate Defines how the element is Corresponds to creating the Assign button.
generated for display in the
dialog box (for example,
create an Assign button).

ReuseNumber Defines counter generation This parameter is not supported in ID generation


to increment the previous rules.
number.

CounterKey Defines the counter key to Corresponds to the counter definition in a


use. concatenation rule.

Length Defines the length of the Corresponds to the length of the pattern used for
field used for a counter. the counter in a concatenation rule.

FirstValue Defines the value to start Corresponds to the Initial Value box on the
the counter. pattern used for the counter in a concatenation
rule.

LastValue Defines the second value This parameter is not supported in ID generation
used for the counter. rules.

Following is the Create a pattern dialog box that you may use to create a counter for a concatenation
rule that matches the Smart Code element.

Business Modeler IDE PLM00071 11.2 6-51


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Business object display rules

Add a business object display rule

Business object display rules determine the members of the organization who cannot view a business
object type in menus in the Teamcenter user interface. The Display Rules editor displays the groups and
roles that are not allowed to see the selected type of business object in menus. This rule is primarily
used to hide business objects from creation (File→New) menus, thereby restricting those who can
create the business object type.

You can also use the Command Suppression application to suppress the display of menus and
commands for certain groups.

1. Select a business object for which you want to create a new display rule. To search for a business
object, you can click the Find button at the top of the BMIDE view. Display rules can be applied
to the following business objects and their children: Alias, Dataset, Folder, Form, Identifier, and
Item.
In the BMIDE view, right-click the relevant business object or one of its children, choose Open, and
click the Display Rules tab.

6-52 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a business object display rule

2. Click the Add button to the right of the Hide Business Object Rules table.
The Hide Display Rule wizard runs.

3. Perform the following steps in the Display Rule dialog box:

a. In the Accessor Name box, type the name of group or role for which you are writing the rule.
You can also click the Browse button to the right of the box to select the role or group.
The Teamcenter Repository Connection wizard prompts you to log on to a server to look up
the available groups and roles in the organization. Select the role or group in the Select
Organization dialog box.

Business Modeler IDE PLM00071 11.2 6-53


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

b. Click the arrow in the Accessor Type box to select the kind of accessor you are creating the
rule for (role, group, or organization). This box is already filled out if you made a selection in
the Select Organization dialog box.

c. In the Accessor Group box, type the name of the group. This box is already filled in if you
made a selection in the Select Organization dialog box.

d. Click the Browse button to the right of the Condition box to select the condition for which
this display rule runs. If you select isTrue as the condition, the rule always applies.

Note:
Only those conditions appear that have valid signatures. For business object display
rules, the valid condition signature is as follows:

condition-name(UserSession)

e. Select the Propagate to sub business objects check box if all children of the business object
inherit the display rule.

f. Click Finish.
The Hide Business Object Rules table displays the groups and roles that have the business
object hidden from them in the menus in Teamcenter rich client applications.

6-54 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a business object display rule

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. After you create a rule, you can deploy your changes to the server. Choose BMIDE→Deploy
Template on the menu bar, or select the project and click the Deploy Template button on the
main toolbar.

6. After deployment, test your new display rule in the Teamcenter rich client.
For example, if you created a display rule on a custom business object, log on to the My
Teamcenter application as a user in a group that has no display rule defined for that business
object type (and therefore has rights to view that business object type in menus). Choose
File→New→Item. You should be able to create new instances of the custom business object.

Business Modeler IDE PLM00071 11.2 6-55


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Then log on as a user in a group that has a display rule defined (and therefore does not have rights
to see the custom business object in menus). You should not be able to create instances of the
custom business object.

Business object display rules reference

Business object display rules suppress the display of business object types in the menus for certain
groups of users. This rule is primarily used to hide business objects from creation (File→New) menus,
thereby restricting those who can create the business object type.

6-56 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to GRM rules

The list of business objects on which you can create display rules is defined in the
TYPE_DISPLAY_RULES_list_of_primary_types preference and the
TYPE_DISPLAY_RULES_list_types_of_subclasses preference.

Note:
Although users cannot create objects associated with restricted object types, they can view them
and perform other operations, such as copying, modifying, or deleting the objects.

Business object display rules are subject to the principles of group hierarchy and inheritance. Rules
defined at the site level are inherited by all groups and roles within groups. Rules defined for a group are
inherited by all subgroups, but rules applied to a subgroup do not affect the parent groups or other
subgroups at the same level in the hierarchy (sibling groups). Rules applied to roles within groups apply
to all users with that role, but do not affect other roles in the same group.

In addition to being subject to the principles of group hierarchy and inheritance, business object display
rules are also subject to inheritance. Display rules set at the subobject level take precedence over rules
set at the business object level.

Note:
You can also use the Command Suppression application to suppress the display of menus and
commands for certain groups.

GRM rules

Introduction to GRM rules

A Generic Relationship Management (GRM) rule applies constraints on the relationship between two
business objects. When you create a GRM rule, you select the primary and secondary business objects
for the relationship, the relationship they have to one another, and the constraints to be applied.
Available relationships are children of the ImanRelation business object.

You can use Generic Relationship Management (GRM) rules to limit what objects can be pasted to other
objects. For example, if you do not want a certain type of object to have a specification relation to
another type, you can set the cardinality to 0 to deny pasting of one type of object to another with the
specification relation.

Business Modeler IDE PLM00071 11.2 6-57


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

When you create the GRM rule, the following constraints must be defined:

• Cardinality
Determines the number of allowed occurrences of the primary object in relation to the secondary
object, and of the secondary object in relation to the primary object.
When you create a GRM rule, type a number in the Primary Cardinality or Secondary Cardinality
boxes:

Number Action

-1 or * Allow an unlimited number of relationships.

0 Do now allow any relationships.

1, or 2, or 3, and so on Allow the specified number of relationships.

• Changeability
Specifies whether the relationship links between objects can be added, deleted, or otherwise
changed.

• Attachability
Specifies whether new relationship links can be made between objects.

• Detachability
Specifies whether the relationship links that exist between objects can be removed.

6-58 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a GRM rule

You can see the relations between business objects in the UML editor by right-clicking and choosing
Show→Relations.

Note:
The GRM rule applies for all children of the primary and secondary objects. For example, if the
ItemRevision business object is chosen as the primary object, and the DirectModel dataset is
chosen as the secondary object, all children of these objects that have the relationship inherit the
rule. Therefore, all instances of the children of ItemRevision that are related to all instances of
children of DirectModel, and use the relation specified by the rule, are subject to the constraints
defined by the rule. However, rules defined for a specific sub-business object take precedence over
the relation rules defined for a parent object.

Add a GRM rule

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type GRM Rule in the Wizards box,
and click Next.

• On the menu bar, choose BMIDE→Editors→GRM Rules Editor, and click the Add button to the
right of the table.

• Open a business object, click the GRM Rules tab, and click the Add button to the right of the
table.

The GRM Rule wizard runs.

2. Perform the following steps in the GRM Rule dialog box:

Business Modeler IDE PLM00071 11.2 6-59


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

a. Click the Browse button to the right of the Primary Object box to select the primary business
object in the relationship.

b. Click the Browse button to the right of the Secondary Object box to select the secondary
business object in the relationship.

c. Click the Browse button to the right of the Relation Object box to choose the relationship
between the primary and secondary business objects. These relations are children of the
ImanRelation business object.

d. In the Primary Cardinality box, type the number of primary objects that can be related to a
secondary object with the relationship. An asterisk (*) means an unlimited number. (-1 also
means an unlimited number.)

e. In the Secondary Cardinality box, type the number of secondary objects that can be related
to a primary object with the relationship. An asterisk (*) means an unlimited number. (-1 also
means an unlimited number.)

f. In the Changeability box, select Changeable if the relationships using this rule can be
deleted or otherwise changed, Add Only if only new relationships can be made between the
objects, or Frozen if relationships cannot be changed in any way.

g. In the Attachability box, select Unrestricted if all users can relate new objects using the rule,
or select WriteAccessReq if Access Manager rules should be used to evaluate if the
relationship creation is allowed.

Note:
When using access control lists (ACLs), the Attachability setting must be set to
Unrestricted or Write Access required on the parent object.

h. In the Detachability box, select Unrestricted if all users can remove the relationships
between objects using the rule, or select WriteAccessReq if Access Manager rules should be
used to evaluate if the relationship creation is allowed.
In the following example, the Item business object is restricted to having only one UGPART
attached with the IMAN_manifestation relation. If you attempt to attach another of that
type, the system displays an error.

6-60 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a GRM rule

i. Click Finish.
The rule is created and appears in the table on the GRM Rules editor.

Business Modeler IDE PLM00071 11.2 6-61


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

j. To search for existing GRM rules by primary object, secondary object, or relation, type strings
in the Primary, Secondary, or Relation boxes, or click the Browse buttons. The GRM rules
table displays the results of the search.
Use the Add, Edit, or Remove buttons to work with the GRM rules.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

5. After deployment, verify the new relationship rule in the Teamcenter rich client.
You can use the following example:

a. Create a GRM rule with the following characteristics:

Primary object: Item


Secondary object: UGPART
Relation object: IMAN_manifestation
Primary cardinality: 0 ... 1
Secondary cardinality: 0 ... 1
Changeability: Changeable
Attachability: Unrestricted
Detachability: Unrestricted

b. After you create a business object, deploy your changes to the test server. Choose
BMIDE→Deploy Template on the menu bar, or select the project and click the Deploy
Template button on the main toolbar.

c. To test the GRM rule, in the My Teamcenter application, perform the following steps to create
an item and put a UGPART dataset on it with the IMAN_manifestation relationship:

A. Create an Item business object by choosing File→New→Item and selecting the Item
type.

B. Create a UGPART dataset by choosing File→New→Dataset and choosing the UGPART


type.

C. Copy the UGPART dataset by selecting it and choosing Edit→Copy, select the Item
business object instance, choose Edit→Paste Special, and choose the Manifestations
relationship.

6-62 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a GRM rule

The UGPART dataset is pasted to the Item business object with the Manifestations
relationship. To see the relationship, select the Item business object and click the
Related Datasets tab.

d. Try to use the Edit→Paste Special operation to paste another UGPART dataset on the same
item with the Manifestations relationship. A paste error message states that you cannot do
this because it violates GRM rule constraints that allow only one UGPART object to be related.

e. Click the red X button in the lower right corner of the paste error dialog box.
The following error dialog box shows that the GRM rule is the reason that you cannot attach
another UGPART dataset to the Item business object with the Manifestations relationship.

Business Modeler IDE PLM00071 11.2 6-63


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Generic Relationship Manager

The Generic Relationship Manager (GRM) provides a general way in which two objects can be associated
via a relationship. For example, a dataset can be related to an item revision with the specification
relationship. You can navigate from object to object using attributes that are references, as well as using
GRM. References and GRM can be used in both directions. In some cases, GRMs are exposed as
properties.

The GRM module of the Integration Toolkit supports the concept of explicit relationships. With GRM, you
can define and enforce specific rules pertaining to relationships, as well as separate the maintenance of
relationships from the data itself.

Evaluation order for GRM rules

GRM rules are evaluated whenever a relation between a primary and secondary object is created,
modified, or deleted. The order in which GRM rules are evaluated for a given primary business object
(PType), relation business object (RType), and secondary business object (SType), is as follows:

1. Find a match for PType-RType-SType.

2. If not found, find a match for PType-GRM_match_All-SType.

3. If not found, repeat steps 1 and 2 for each super type of PType and SType.

4. If a GRM rule is found, apply the rule.

Impact of business object inheritance on GRM rules

GRM rules apply constraints on objects based on the relationship between primary and secondary
objects. The primary and secondary business object trees in the GRM rule interface allow you to
configure relation rules between primary and secondary objects at any level of the business object
hierarchy. For example, if the ItemRevision business object is chosen as the primary business object and
the DirectModel dataset business object is chosen as the secondary business object, all sub-business
objects of the ItemRevision and DirectModel business objects inherit the relation rule. Therefore, all
instances of the sub-business objects of the ItemRevision primary business object that are related to all
instances of the sub-business objects of the DirectModel secondary business object by the relation
business object specified by the rule are subject to the constraints defined by the rule.

Relation rules defined for a specific sub-business object take precedence over relation rules defined for a
parent business object. However, if a GRM rule on the parent business object is marked as Secured, you

6-64 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Maintain stable relation IDs

cannot override the rule by applying another GRM rule to it. To see if a GRM rule is secured, look at the
Secured column in the table on the GRM Rules tab.

Inheritance also applies to relationships. If there is a GRM rule having ItemRevision as primary,
DirectModel as secondary, with the Iman_specification relation, if you have a custom relation of
Iman_specification that is called my_specification, then the rule should be inherited by
my_specification relationship with the same primary and secondary.

Note:
GRM rules do not apply to folders. Whenever an object is pasted to a folder, there is no GRM
relation created. Rather, the folder object itself stores a reference to the objects that are in it.
Because anything pasted to a folder does not use GRM relations, GRM rules cannot be applied
when the folder is a primary object (that is, when an object is pasted to a folder).

Maintain stable relation IDs

The fnd0CopyStableId property on the ImanRelation business object and its children can be used as a
stable ID during revise and save as operations. When a relation is copied during a save as or revise
operation, this ID is also copied so that the ID is always the same on each relation between the source
object and the target object. When the primary, secondary, and relation objects are copied together, the
identifier on the relation is maintained and the application data is not required to be updated simply
because the objects have been copied.

This functionality can be used by integrations to Teamcenter such as the NX Integration to maintain a
record of the original relationships between the source and target objects before entering the
Teamcenter system.

There are additional properties on the relation object to determine when the primary and secondary
objects are not synchronized. Following is the complete list of properties used for stable relation IDs:

• fnd0CopyStableId
Holds a stable ID during revise and save as operations.

• fnd0CopyStableDate
Contains the date when stable ID originated. Its value is the last date when the secondary object was
synchronized to the primary object.

• fnd0IsPrimaryInSync
Tracks whether the primary object is in sync with the secondary object. This property uses the value of
the fnd0CopyStableDate property to determine if the objects are in sync.

• fnd0IsCsIdMigratedOnly
Tracks if the stable ID has been migrated. This property is set to true at upgrade when the value of the
fnd0CopyStableId property is set to null.

Business Modeler IDE PLM00071 11.2 6-65


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

This stable relation ID functionality was originally introduced in 4th Generation Design with the
Mdl0CopyStableRelation business object. This relation is used to track the Cpd0DesignElement object
that is connected with a Cpd0DesignFeature object. This previous method to track relations is
deprecated and replaced by the newer method.

Caution:
System administrators performing upgrades may need to create a new Oracle tablespace so that
the populate_copy_stable_id utility does not run into tablespace shortage issues during running
of upgrade scripts.

Deep copy rules

Add a deep copy rule

Deep copy rules define whether objects belonging to a business object instance can be copied when a
user performs a save as or revise operation on that instance. Deep copy rules can be applied to any
business object type and are inherited by children business object types. (Prior to Teamcenter 10, deep
copy rules could only be applied to item revision business objects.)

Note:
Although deep copy rules defined at a parent business object are inherited by the children, they
are not editable on the children. The Edit and Remove buttons are unavailable on the Deep Copy
Rules tab for the children business objects.

Perform the following steps to create a deep copy rule on a business object:

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Deep Copy Rule in the Wizards
box, and click Next.

• Open a business object, click the Deep Copy Rules tab, and click the Add button to the right of
the deep copy rules table.

The Add Deep Copy Rule wizard runs.

6-66 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a deep copy rule

2. Perform the following steps in the Add Deep Copy Rule dialog box:

a. The Target Business object displays the business object that the deep copy rule is applied to,
for example, ItemRevision.

b. Select the Target Primary? check box to indicate that the business object shown in the
Target Type box is the primary object of the relationship specified in the Relation Type box.
When the business object instance is revised or saved, the secondary objects are carried
forward and related using the relation in the Relation Type box.
Clear the Target Primary? check box to indicate that the business object shown in the
Target Type box is the secondary object of the relationship specified in the Relation Type
box. When the business object instance is revised or saved, the primary objects are carried
forward and related using the relation in the Relation Type box.

c. Click the arrow in the Operation Type box to select Save As or Revise as the operation to
invoke the copy action.

d. If you chose Save As, for Property Type, click the Relation button if you want to create the
deep copy relationship, or select the Reference button to define a deep copy rule between an
object and a referenced object through the reference property.

e. The next box changes depending on what you selected for property type:

• Relation
If you selected Relation as the property type, click the Browse button to the right of the
Relation box to select the relationship business object to use for the relationship between
the copied object and its business object instance. You can also press Alt-C or start typing to
see a list of suggestions.

Business Modeler IDE PLM00071 11.2 6-67


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Available relationships are children of the ImanRelation business object. Objects with a
relationship that matches the selected relationship are only copied from the source
business object instance to the destination business object instance. To match all
relationships, select Match All.

• Reference
If you selected Reference as the property type, click the Browse button to the right of the
Reference Property box to select the property. This is similar to defining deep copy rules
for relation properties except that you are defining a deep copy rule between an object and
a referenced object through the reference property. If the reference property is a typed
reference, the object on the other side is the type specified in the definition of the
reference property or any of its subtypes. The Browse button allows selecting this type or
its subtypes.
For example, the Item business object has a uom_tag reference property that is a typed
reference property to the UnitOfMeasure business object. When configuring a deep copy
rule for an Item business object, if the reference property is selected, you can configure the
deep copy rule on the uom_tag property and the UnitOfMeasure or any of its subtypes as
the secondary object.

f. Click the Browse button to the right of the Attached Business Object box if you want to
specify the business object type to be copied. You can also press Alt-C or start typing to see a
list of suggestions.
Select the MatchAll value if you want all objects to be copied forward no matter what type of
business object they are.

g. Click the Browse button to the right of the Condition box to select the condition for which
this deep copy rule runs. If you select isTrue as the condition, the deep copy rule always
applies.

Note:
Only those conditions appear that have valid signatures. For deep copy rules, the valid
condition signatures are as follows:

condition-name(DeepCopyRule,ItemRevision,POM_object)

condition-name(DeepCopyRule,ItemRevision,POM_object,
UserSession)

condition-name(DeepCopyRule,POM_object,POM_object)

condition-name(UserSession)

Any condition other than isTrue must use one of the following conventions:

• Uses three input business object parameters in this order: DeepCopyRule, ItemRevision
(or one of its children), POM_object (or one of its children).

6-68 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a deep copy rule

• Uses three input business object parameters in this order: DeepCopyRule, POM_object (or
one of its children), POM_object (or one of its children).

• Uses four input business object parameters in this order: DeepCopyRule, ItemRevision (or
one of its children), POM_object (or one of its children), UserSession.

• Uses the UserSession business object as its only input parameter.

h. In the Action box, choose the kind of copying to be allowed for the business object. The
options may differ depending on the type of target business object.

• CopyAsObject
Creates a new object of the same type as the related object and relates to the new revision.
Objects created by this method are totally independent of the source object. Therefore,
modifications to the new object are not reflected in the source object.

• CopyAsReference
Creates a new relation between the new revision and the related object. Therefore,
modifications performed on the copied object are propagated to the source object.

• CopyAsObjectOrReferenceNewCopy
Creates a new object of the same type as the related object and relates to the new revision
if the secondary object has not been copied or revised during the current operation. If a
new copy of the secondary object is produced during the current operation, it relates the
current primary object to the new copy of the secondary object.

• CopyAsReferenceOrReferenceNewCopy
Relates the current primary object to the original secondary object if the secondary object
has not been copied or revised during the current operation. If a new copy of the secondary
object is produced during the current operation, it relates the current primary object to the
new copy of the secondary object.

• NoCopy
Does nothing. Objects of the selected type and relation are not copied forward to the new
object during the save as or revise operation.

• RelateToLatest
Finds the latest revision of a related object and creates a relation to the new revision. You
can only use this with the Revise operation type.
This action replaces the AutoCopyRel business object constant, which is now deprecated.

• ReviseAndRelateToLatest
Finds the latest revision of a related object, revises it, and creates the relation to the new
revision. You can only use this with the Revise operation type.
This action replaces the AutoRevise business object constant, which is now deprecated.

• ReviseObject

Business Modeler IDE PLM00071 11.2 6-69


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Directs the system to revise the secondary object during processing. You can only use this
with the Revise operation type. This action is only shown for the Revise operation for
revisable types. Revisable types are the ItemRevision, Identifier, and
Mdl0ConditionalElement business objects, as well as their children.

• Select
Indicates that the object to be copied is to be selected by the client. This is similar to the
CopyAsReference action, but instead of the reference to original being implied, the end
user can select a reference to any object in the user interface.

Note:
To use this option, you must create a custom user interface or a server-side
customization. There is no support for this in the COTS user interface; if this option is
selected, the user interface does not automatically prompt for selection of an object.

• SystemCopy
Copies the objects at the system level. The deep copy rule whose copy action is
SystemCopy is configured to prevent you from adding a custom deep copy rule or
changing the corresponding deep copy rule. The corresponding copy is handled by the
system. If you want to add a deep copy rule with the SystemCopy action, you must add the
system handling code too.

i. Select the Required check box if you want to prevent users of the Teamcenter rich client from
overriding the rule at run time.

j. Select the Secured check box to prevent the deep copy rule from being modified or
overridden by another template.

k. Select the Copy Properties on Relation check box to specify that persistent properties on
relation objects need to be carried forward when the primary objects participating in relations
are revised or saved as new objects. If it is not selected, only the mandatory properties are
carried forward.

l. Click Finish.
The rule is created and appears in the table in the Deep Copy Rules editor.

6-70 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Understanding the impact of inheritance on deep copy rule behavior

m. You can perform these additional actions in the Deep Copy Rules editor:

• Select the Show Inherited Rules check box to display all rules inherited from parent
business objects.

• Select the Organize by Inheritance check box to sort the rules by parent business object
names.

• Use the Add, Edit, or Remove buttons to work with the deep copy rules.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

5. To verify the deep copy rule, open the My Teamcenter application in the Teamcenter rich client,
select a business object instance of the type for which you created the rule, and choose File→Save
As or File→Revise. Verify that the behavior works as expected.

Understanding the impact of inheritance on deep copy rule behavior

Deep copy rules defined for a parent business object are automatically inherited by all sub-business
objects of the parent business object. Conversely, deep copy rules removed from a parent business
object are automatically removed from all sub-business objects. In addition, inheritance is also based on

Business Modeler IDE PLM00071 11.2 6-71


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

relation type and object type. If there are multiple rules for a particular combination of target, relation,
and object, the first rule whose condition evaluates to true is applied.

Note:
Although deep copy rules defined at a parent business object are inherited by the children, they
are not editable at the child level. The Edit and Remove buttons are disabled on the Deep Copy
Rules tab for the child business objects.

Deep copy rules are evaluated as follows: If a deep copy rule exists for the business object, it is applied.
Otherwise, the hierarchy is ascended until a rule is located or the top-level parent is reached.

The following example assumes the existence of a hierarchy in which the MyDRevision business object
is a sub-business object of the MyDocRevision business object, which in turn is a sub-business object of
the DocumentRevision business object which is a child business object of the ItemRevision class.

Deep copy rules are applied to the Revise action of the object classes/business objects/sub-business
objects, as shown in the following table.

6-72 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Understanding the impact of inheritance on deep copy rule behavior

Class/business object/sub- Copy Deep copy rule


business object option applied

DocumentRevision CopyAsObject RuleA

CopyAsReference None

NoCopy RuleB

MyDocRevision CopyAsObject None

CopyAsReference RuleC

NoCopy None

MyDRevision CopyAsObject None

CopyAsReference None

NoCopy RuleD

With these rules established, a user performs the following actions and the rules are applied accordingly:

• Revises a document item of the DocumentRevision business object.


The related objects are copied forward as specified in the definition of RuleA, but the related objects
as specified in the definition of RuleB are not copied, as RuleB uses the Don't Copy option. Both rules
are defined for the DocumentRevision parent business object.

Note:
There are no inherited rules in this example.

• Revises a document item of the MyDocRevision business object.


The related objects are copied forward as specified in the definition of RuleA and RuleC, but the
related objects as specified in the definition of RuleB are not copied. RuleA and RuleB are inherited
from the DocumentRevision parent business object. RuleC is defined against the MyDocRevision
sub-business object.

• Revises a document item of the MyDRevision business object.


The related objects are copied forward as specified in the definitions of RuleA and RuleC, but the
related objects as specified in the definition of RuleD are not copied. RuleA and RuleC are inherited
from the DocumentRevision and MyDocRevision business objects, respectively. Although a NoCopy

Business Modeler IDE PLM00071 11.2 6-73


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

rule is defined for the DocumentRevision parent business object, it is not applied to this example,
because a NoCopy rule is defined explicitly for the MyDRevision sub-business object.

Restrictions on the use of deep copy rules

The following general restrictions apply to the use of deep copy rules:

• By default, objects attached to the source business object by the IMAN_reference relation use the
CopyAsReference action. They are also allowed to use the NoCopy and CopyAsObject actions.
Previous to Teamcenter 10, objects attached to the source business object instance by the
IMAN_reference relation could only use the CopyAsReference or NoCopy rules. Reference
attachments could not be copied forward as new objects.

• Once a rule is defined for a business object, it cannot be duplicated using other copy options. For
example, if a rule is defined to copy forward UGMASTER datasets attached to a specific source
business object by the IMAN_specification when the Save As operation is performed on the source
business object, you cannot define a rule on the same object business object/operation combination
to use a different copy option.

• Prior to Teamcenter 8, some of the deep copy rules applied during Revise and Save As operations of
an ItemRevision business object were hard coded. They are now exposed in the Foundation template
as explicit deep copy rules on the ItemRevision business object.

• When deep copy rules are applied, if the rule specifies the Copy As Object action and the object to be
copied is an ItemRevision object, the action performed is Copy As Reference.

• When you set deep copy rules, they do not have any effect on what happens to any associated
classification objects. When revising, copying, or using Save As, the behavior for classification objects
is set solely by the ICS_ico_action_after_saveas preference

Deep copy ITK

Beginning in Teamcenter 8, hard-coded deep copy rules were removed from the internal server code
and defined as explicit deep copy rules in the Foundation template. This affects the ITK behavior for the
Revise and Save As operations of ItemRevision business objects.

The ITK changes do not affect any existing customer code. You must be aware of the changes in the ITK
behavior for future custom code changes.

Prior to Teamcenter 8, some of the deep copy rules applied during the Revise and Save As operations of
an ItemRevision business object were hard coded. They are now exposed in the Foundation template as
explicit deep copy rules on the ItemRevision business object. This allows you to override the default
deep copy behavior.

Beginning at Teamcenter 8, a call to any one of the following ITK methods automatically invokes the
ITEM_perform_deepcopy ITK method:

6-74 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
checkOtherSideOneToMany

ITEM_copy_rev
ITEM_copy_item
ITEM_copy_item_with_masters
ITEM_copy_rev_with_master

This change is to ensure that you always perform a deep copy after an ItemRevision business object is
revised or saved.

If any old custom code (prior to Teamcenter 8) invokes the ITEM_perform_deepcopy ITK methods, the
custom code remains unaffected. This is because the ITEM_perform_deepcopy ITK method first checks
if the object is already revised or saved. If yes, the deep copied objects are returned without performing
deep copy again. If no, deep copy rules are applied.

Therefore, beginning in Teamcenter 8, there is no requirement for customer code to invoke the
ITEM_perform_deepcopy ITK method after a call to any one of these ITK methods.

Previously, the Save As operation on an Item object carried forward only certain relations of the
associated ItemRevision object. Beginning in Teamcenter 8, when a Save As operation is performed on
an Item object, the old relations of the associated ItemRevision object are carried forward based on the
deep copy rules in the database. Therefore, the deep copy rules in the database is the deciding factor for
copying relations even during save as operations on an Item object.

As of Teamcenter 8, there is one action that is still hard coded. If there exists a generic deep copy rule to
perform the Copy As Object action for all its related objects, and if the related other side object happens
to be an ItemRevision object, the system always performs the Copy As Reference action.

Deep copy rule conditions

checkOtherSideOneToMany

TEMPLATE

Foundation

SIGNATURE

(DeepCopyRule dr, ItemRevision target, POM_object otherSide)

• dr
The deep copy rule business object.

• target
The item revision on which the Revise or Save As operation is performed.

• otherSide
Any POM_object object related to the target.

Business Modeler IDE PLM00071 11.2 6-75


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

DESCRIPTION

This condition is to be used only in deep copy rule definitions.

The condition checks if the target and otherSide item revision object has a one-to-many relation.

For example, in the following figure, the target item revision Part1, Rev A is related using the
TC_Is_Represented_By relation to the otherSide item revision Dsg1, Rev A and Dsg2, Rev B.

The checkOtherSideOneToMany condition checks if the target item revision Part1, Rev A is related
multiple times to the same type of otherSide item revision. If yes, the condition returns true, otherwise
false. In the example, Part1, Rev A is related to two instances, Dsg1, Rev A and Dsgn2, Rev A of the
same otherSide item revision type. Therefore, the condition evaluates to true.

Note:
The target and otherSide is considered to have a one-to-many relation if the target item revision is
related to multiple instances of the specified otherSide type through the specified relation type.
In the following figure, Part1, Rev A is related to multiple instances of otherSide type Design
Revision using the TC_Is_Represented_By relation type. The multiple instances to which the
Part1, Rev A is related are Dsgn1, Rev A and Dsgn2, RevA.

SECURED

True. This condition is secured and cannot be edited by another template.

6-76 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
checkOtherSideOneToOne

checkOtherSideOneToOne

TEMPLATE

Foundation

SIGNATURE

(DeepCopyRule dr, ItemRevision target, POM_object otherSide)

• dr
The deep copy rule business object.

• target
The item revision on which the Revise or Save As operation is performed.

• otherSide
Any POM_object object related to the target.

DESCRIPTION

This condition is to be used only in deep copy rule definitions.

The condition checks if the target and otherSide item revision object has a one-to-one relation.

For example, in the following figure, the target item revision Part1, Rev A is related using the
TC_Is_Represented_By relation to the otherSide item revision Dsg1, Rev A.

Therefore, the checkOtherSideOneToOne condition checks if the otherSide item revision Dsg1, Rev A
has a one-to-one relation with the target Part1, Rev A. If the condition evaluates to true, then the
condition returns true, otherwise false. In the example, there is one-to-one relation between Part1, Rev
A and Dsg1, Rev A. Therefore, the condition evaluates to true.

Business Modeler IDE PLM00071 11.2 6-77


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Note:
The target and otherSide is considered to have a one-to-one relation if the target item revision is
related only to revisions having the same name and specified type as the otherSide object
through the specified relation type.
In the following figure, Part1, Rev A and Dsgn1, Rev A has a one-to-one relation.

An example of invalid one-to-one relation follows:


In the following figure, Part1, Rev A is related to two item revisions, Dsgn1, Rev A and Dsgn2,
Rev B of the same type, using the same TC_Is_Represented_By relation. This is not a valid one-to-
one relation.

SECURED

True. This condition is secured and cannot be edited by another template.

isOneToOneAndMature

TEMPLATE

Foundation

SIGNATURE

(DeepCopyRule dr, ItemRevision target, ItemRevision otherSide)

6-78 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
isOtherSideLatestMature

• dr
The deep copy rule business object.

• target
The item revision on which the Revise or Save As operation is performed.

• otherSide
Any ItemRevision object related to the target.

DESCRIPTION

This condition is to be used only in deep copy rule definitions.

The condition checks if the target and otherSide item revision object has a one-to-one relation and if
the otherSide latest item revision is mature.

For example, in the following figure, the target item revision Part1, Rev A is related using the
TC_Is_Represented_By relation to the otherSide item revision Dsg1, Rev A.

Therefore, the isOneToOneAndMature condition checks if the otherSide item revision Dsg1, Rev A has
a one-to-one relation with the target item revision Part1, Rev A and if the otherSide latest revision is
mature. If both the conditions evaluate to true, then the condition returns true, otherwise false. In the
example, there is one-to-one relation between Part1, Rev A and Dsg1, Rev A and also the latest revision
Dsg1, Rev B is mature. Therefore, the condition evaluates to true.

SECURED

True. This condition is secured and cannot be edited by another template.

isOtherSideLatestMature

TEMPLATE

Foundation

SIGNATURE

(DeepCopyRule dr, ItemRevision target, ItemRevision otherSide)

Business Modeler IDE PLM00071 11.2 6-79


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

• dr
The deep copy rule business object.

• target
The item revision on which the Revise or Save As operation is performed.

• otherSide
Any item revision object related to the target.

DESCRIPTION

This condition is to be used only in deep copy rule definitions. The condition checks if the otherSide
item revision object related to the target is mature or not.

For example, in the following figure, the target item revision (Part1, Rev A) is related using the
TC_Is_Represented_By relation to the otherSide item revision (Dsg1, Rev A).

This condition checks if the other side item revision (Dsg1, Rev A) contains a latest revision that is
mature. If yes, it returns true, otherwise, it returns false. In this example, the condition finds the latest
revision Dsg1, Rev B associated with the Dsg1 design to be mature. Therefore, the condition evaluates
to true.

Note:
An item revision is considered as mature if its status matches with one of the status values in the
MaturityStatuses attachment for the business object constant on that item revision type. For
example, if the constant attachment values for MaturityStatuses on the Design Revision
business object is Approved, Released and if the status of the Dsgn1, Rev B in the figure was set
to Approved, this item revision instance is considered mature.

SECURED

True. This condition is secured and cannot be edited by another template.

isOtherSideReplica

TEMPLATE

Foundation

6-80 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
isOtherSideReplica

SIGNATURE

(DeepCopyRule dr, POM_object target, POM_object otherSide)

• dr
The deep copy rule business object.

• target
The object on which the Revise or Save As operation is performed.

• otherSide
Any POM_object related to the target.

DESCRIPTION

This condition is to be used only in deep copy rule definitions. The condition checks the otherSide
object related to the target is locally created in the current site database or is replicated from another
site’s database.

For example, in the following figure, the target item revision (Item1,Rev A) is related by the
IMAN_specification relation to the otherSide text dataset (Text01).

This condition checks if the text dataset (Text01) is local to the database or was replicated from another
site’s database.

SECURED

True. This condition is secured and cannot be edited by another template.

Business Modeler IDE PLM00071 11.2 6-81


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Alternate ID rules

Add an alternate ID rule

Alternate identifiers store information (such as part numbers and attributes) about the same part from
different perspectives. They allow different types of users to display an item according to their own rules
rather than according to the rules of the user who created the object. Only Item business objects or its
children use alternate IDs. Alias IDs are similar to alternate IDs. Alias IDs store information for similar
parts.

Before creating an alternate ID rule, you must create Identifier business objects whose properties hold
information such as a supplier's address and cost data. You also need to create Id Context objects that
specify when the alternate ID is used, such as for a supplier or a department.

1. Right-click the Item business object or one of its children, choose Open, and click the Alternate ID
Rules tab.

2. Click the Add button to the right of the Master Alternate ID Rules table.
The New Alternate ID Rule wizard runs.

3. In the Alternate ID Rule dialog box, enter the following information:

a. The Project box defaults to the already-selected project.

b. Click the Browse button to the right of the Identifier Context box to choose the context
when the rule is to be applied. To create a new Id Context option, click the New button.

6-82 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an alternate ID rule

c. Click the Browse button to the right of the Identifier Type box to choose the Identifier or
IdentifierRev business object as the parent type for this rule. To create a new Identifier
business object, click the New button.

d. The Identifiable Type box defaults to the already-selected business object. This is the
business object that this rule applies to.

e. Use the Rule box to govern how many alternate parts can be used for the original one. This is
like a cardinality rule that is used for GRM rules.
Leave the Rule box empty if you want to allow more than one identifier object associated with
the identifiable type. However, if you only want to allow one, then enter a unique string.

f. In the Description box, type a description of the rule.

g. Click Next.
The dialog box appears for creating a supplement rule.

4. Create a supplemental alternate ID rule, which is comparable to a revision. In the AlternateId Rule
dialog box, enter the following:

a. The value in the Identifier Context box defaults to the identifier context of the master
alternate ID rule.

b. The value in the Identifier Type box defaults to the identifier type of the master alternate ID
rule.

c. The value in the Identifiable Type box defaults to the identifiable type of the master alternate
ID rule.

Business Modeler IDE PLM00071 11.2 6-83


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

d. In the Rule box, enter how many alternate parts can be used for the original one. Leave the
Rule box empty if you want to allow more than one identifier object associated with the
identifiable type. However, if you only want to allow one, then enter a unique string.

e. In the Description box, type a description of the supplemental rule.

f. Click Finish.
A master and supplemental rule are created.

5. You must attach a naming rule to the ID property of the business object type you used for the
identifier. If you do not, you receive an error when you create the alternate ID in the client.
For example, if you used the Identifier business object, you must attach a naming rule to the
idfr_id property.

6. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

7. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

8. After deployment, test your new alternate ID rule in the Teamcenter rich client:

6-84 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an alternate ID rule

a. In the My Teamcenter application, select an item you want to apply the rule to. This must be
the same kind of business object you applied the rule to in the Identifiable Type box.

b. Choose File→New→ID.
The New ID dialog box is displayed.

c. In the New ID dialog box, choose Create new alternate ID and click Next.
The dialog box displays for creating an alternate ID.

d. Click the arrow in the Select context box to choose the ID context you defined on the rule,
and click the arrow in the Select type box to select the identifier business object you defined
on the rule.

e. Click the Assign button to assign an ID to the identifier and the identifier revision.

Business Modeler IDE PLM00071 11.2 6-85


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

If you did not assign a naming rule to the identifier or identifier revision, you see the following
error. Ensure you attached a naming rule to the identifier business object as described earlier.

Alternate ID rule example

To create an alternate ID rule, right-click the Item business object or one of its children, choose Open,
click the Alternate ID Rules tab, and click the Add button to the right of the Master Alternate ID Rules
table.

To illustrate a rule for alternate creation, consider that you have two item business objects, PartDesign
and PartMfg; four identifier business objects, Identifier, IdentifierRev, MfgIdentifier, and
MfgIdentifierRev; and four contexts, Production Part, Temporary Part, Prototype Process, and
Production Process. To ensure that the design and manufacturing groups each have their own valid
combinations, you could define rules using the following combinations in the New Alternate ID Rule
wizard:

• Identifier Context: Production Part


Identifier Type: Identifier
Identifiable Type: PartDesign

• Identifier Context: Production Part


Identifier Type: IdentifierRev
Identifiable Type: PartDesign Revision

• Identifier Context: Temporary Part


Identifier Type:Identifier
Identifiable Type: PartDesign

• Identifier Context: Temporary Part


Identifier Type:IdentifierRev
Identifiable Type: PartDesign Revision

• Identifier Context: Prototype Process


Identifier Type: Identifier
Identifiable Type: PartMfg

• Identifier Context: Prototype Process


Identifier Type: IdentifierRev
Identifiable Type: PartMfg Revision

• Identifier Context: Production Process

6-86 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Alternate ID rule example

Identifier Type: MfgIdentifier


Identifiable Type: PartMfg

• Identifier Context: Production Process


Identifier Type: MfgIdentifierRev
Identifiable Type: PartMfg Revision

Note:
When defining rules for alternates, you must have a rule for the item business object and a rule for
the corresponding item revision business object. You cannot create alternate IDs unless both rules
are defined. The identifier business object for an item revision must be the name of the identifier
business object associated with the item appended with Rev.

All of the combinations listed previously are valid; however, they do not define cardinality or how many
of each identifier can exist for a given instance of an item. Without a cardinality rule, a PartDesign item
and item revision can have as many alternate IDs in the Production Part or Temporary Part contexts as
desired.

To allow items to have more than one part number in the Temporary Part or Production Part contexts,
but to limit item revisions to one alternate in those same contexts, you can define the following
cardinality rule:

• Identifier Context: Production Part


Identifier Type: Identifier
Identifiable Type: PartDesign
Rule: NULL

• Identifier Context: Production Part


Identifier Type: IdentifierRev
Identifiable Type: PartDesign Revision
Rule: OneProdPart

• Identifier Context: Temporary Part


Identifier Type: Identifier
Identifiable Type: PartDesign
Rule: NULL

• Identifier Context: Temporary Part


Identifier Type: IdentifierRev
Identifiable Type: PartDesign Revision
Rule: OneTempPart

Business Modeler IDE PLM00071 11.2 6-87


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Note:
The values OneProdPart and OneTempPart are user-defined keys. You can use any string, such as
the values A and B, to achieve the same results. Once the key value is not null, you can have only
one combination of IDContext/Identifier Type/Identifiable Type that exists for a given instance
of an identifiable.

These rule combinations allow a PartDesign item to have many part numbers in production and
temporary context, but restricts PartDesign Revision to only one part number in production and/or
temporary context.

The following combinations allow an item revision to have an alternate ID in either Production Part or
Temporary Part context but not in both contexts:

• Identifier Context: Production Part


Identifier Type: Identifier
Identifiable Type: PartDesign
Rule: NULL

• Identifier Context: Production Part


Identifier Type: IdentifierRev
Identifiable Type: PartDesign Revision
Rule: OneEngPart

• Identifier Context: Temporary Part


Identifier Type: Identifier
Identifiable Type: PartDesign
Rule: NULL

• Identifier Context: Temporary Part


Identifier Type: IdentifierRev
Identifiable Type: PartDesign Revision
Rule: OneEngPart

Note:
The value OneEngPart is a user-defined key. You can use any string, such as the values A, to
achieve the same results. Once the key value is not null, you can have only one combination of
IDContext/Identifier Type/Identifiable Type with the same key value that exists for a given
instance of an identifiable.

Alternate ID rules characteristics

When defining rules for alternates, you must have a rule for the item business object and a rule for the
corresponding item revision business object. You cannot create alternate IDs unless both rules are
defined.

6-88 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an alias ID rule

The identifier business object for an item revision must be the name of the identifier business object
associated with the item appended with Rev.

The Rule box allows the user to restrict the cardinality between the identifiable and the identifier. These
are the valid cases for the Rule box:

• If the Rule box is null for the given combination (ID context rule), the system allows more than one
identifier object of that identifier business object to be associated with the same identifiable object.
So, this is like cardinality N.

• If the Rule box has some string defined in it, and this string is unique across all ID context rules for the
given identifier and identifiable business objects, the system allows only one identifier object of that
identifier business object to be associated with the identifiable object. So, this is like cardinality 1.

• If the Rule box has some string defined in it, and this string is shared across some ID context rules for
the given identifier and identifiable business objects, the system allows only one identifier object of
one of the identifier business objects to be associated with the identifiable object. So this is like an OR
condition.

Alias ID rules

Add an alias ID rule

Alias identifiers store part numbers and other attribute information for similar parts. Alias IDs can be
associated with many items or item revisions. You can write an alias ID rule to define the context when
an alias ID can be applied to an item. You can also create alternate IDs to store information about the
same part from different perspectives.

Before creating an alias ID rule, you must create Identifier business objects whose properties hold
information such as a supplier's address and cost data. You also must create Id Context options that
specify when the alias ID is used, such as for a supplier or a department.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type AliasId Rule in the Wizards box,
and click Next.

• Open the Extensions\Rules folders, right-click the AliasId Rules folder, and choose New AliasId
Rule.

The New AliasId Rule wizard runs.

Business Modeler IDE PLM00071 11.2 6-89


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

2. Enter the following information in the AliasId Rule dialog box:

a. The Project box defaults to the already-selected project.

b. Click the Browse button to the right of the Identifier Context box to select the context when
the rule is to be applied.
Click the New button to create a new Id Context option.

c. Click the Browse button to the right of the Identifier Type box to select the Identifier or
IdentifierRev business object that holds the ID information in its properties.
Click the New button to create a new Identifier business object.

d. In the Description box, type a description of the rule.

e. Click Finish.
The new rule appears under the AliasId Rules folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

5. After deployment, test your new alias ID rule in the Teamcenter rich client:

a. In the My Teamcenter application, select an item you want to apply the rule to and choose
File→New→ID.
New Alias ID dialog box is displayed.

6-90 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Alias ID rules reference

b. In the New ID dialog box, choose Create new alias ID and click Next.

c. Click the arrow in the Select context box to choose the ID context you defined on the rule,
and click the arrow in the Select type box to select the identifier business object you defined
on the rule.

d. Type the ID and name and click Finish.

Alias ID rules reference

To create an alias ID rule, open the Extensions\Rules folders, right-click the AliasId Rules folder, and
choose New AliasId Rule.

Business Modeler IDE PLM00071 11.2 6-91


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

To illustrate a rule for alias creation, consider that you have two defined identifier business objects, ID1
and ID2; two defined contexts, C1 and C2; and four identifiable objects, Item1, Item2, ItemRevision1,
and ItemRevision2.

You can define two ID context rules that associate identifier business object ID1 with context C1 and
identifier business object ID2 with context C2. With these rules defined, you cannot create an alias using
identifier business object ID2 with context C1 or an alias using identifier business object ID1 with
context C2.

If you do not apply GRM rules, both business objects of alias identifiers, ID1 and ID2, can have an alias
relation to all four identifiable objects: Item1, Item2, ItemRevision1, and ItemRevision2. If, for
example, you want to restrict alias relationships between Item1 and ID1, you can use GRM rules to
define the appropriate constraint.

Multifield keys

Introduction to multifield keys

Multifield keys are identifiers assigned to each object to ensure their uniqueness in the database.
Administrators use the MultiFieldKey business object constant to assign the key definitions to different
business object types. Administrators can add multiple properties to define a key.

The multifield key is composed of a domain name and a combination of the object’s properties:

domain{properties}

For example, the default multifield key definition for Item business objects is Item{item_id}. Because
children business object types inherit the key definition from their parent, they belong to the same
domain as the parent business object.

You can configure multifield keys that allow end users to create multiple related items using the
same item ID. For example, suppose end users want to refer to a part and drawing using the same item
ID. Prior to Teamcenter 10, you could not do this because both part and drawing types are children of
the item type and are both considered items. However, now you can do this by setting up multifield key
definitions per domain or object type. For example, in the case of part and drawing, the administrator
could define the unique key for part business objects and their children as Part{item_id} and for
drawing business objects and their children as Drawing{item_id}. When these definitions are applied, it
results in a unique key identifier for each instance of an object type in the database, even though the
different object types can share the same item ID. (You could also provide a unique key by adding a
property in addition to the item_id property, such as object_type. However, if you want the
object_type property to appear in the item name, you must use the DisplayName business object
constant.)

In the following example, the value for the MultiFieldKey business object constant is changed from the
default setting of the item_id property to also include the object_type property:

6-92 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Creating multifield key definitions

Note:
The uniqueness of item revisions is not managed with multifield keys. Instead, the revision ID,
sequence ID, and item tag (UID of the item) are used.

Creating multifield key definitions

Create a business object’s unique key definition using the MultiFieldKey business object constant. The
key definition is inherited by the child business object types unless a different multifield key definition is
created for a child type.

1. Open any business object that is a child of the POM_Object business object. For example, open a
custom item business object.

2. Select the MultiFieldKey constant in the Business Object Constants table.


In the following example, note that the key definition for the Part business object is Item{item_id}.
That’s because the Part business object inherits the definition from its parent business object, and
therefore is in the Item business object domain.

Business Modeler IDE PLM00071 11.2 6-93


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

3. Click the Edit button to the right of the table.


The New Multi Field Key dialog box is displayed.

4. Create the multifield key:

• Create a new key


Select properties in the Available Properties box and click the Add button.
The added properties are displayed in the Selected Properties box.

6-94 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Creating multifield key definitions

Note:
The Available Properties box displays only the properties that are available on the
business object and are supported for multifield keys. Multifield keys are supported only
for properties with a single value string and reference type properties. Multivalued
properties are not supported.

• Use an existing key


Select Select Existing Key to choose from a list of key definitions in the project that are
applicable to the business object receiving the key. This list is empty if no keys are applicable to
the business object receiving the key.
Selecting an existing key means you are adding the business object type to the key domain,
which is a group of business object types that share the same key definition.

5. Click Finish.
The new key definition is displayed.
In the following example, the MultiFieldKey value for the Part business object has been changed
from the default definition of Item{item_id} to Part{item_id,object_type}. Because all the children
of the Part business object inherit this definition, it is a key domain for all part types.

Note:
One benefit of using the item_id property, but differentiating it by business object type
(domain), is that instances of different business object types (items, drawings, parts,
documents, and so on) can share the same item ID but have unique keys.

6. If you add properties to a business object multifield key definition, ensure that the same properties
are added to the creation dialog boxes for the business object type. Because these properties are
used to determine object uniqueness, the end user must enter values to the properties if they are
to contribute the object’s uniqueness. If the value of a property used for a multifield key is empty,
that property cannot contribute to the object’s uniqueness identification. You can make these
properties required on the creation dialog boxes, if desired.

Business Modeler IDE PLM00071 11.2 6-95


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

7. Once the keys are installed, keep in mind that they are not visible to the end user in the name of
the business object. If you want to use some of the properties in the multifield definition to define
how the name of the business object instances are displayed, configure the DisplayName
business object constant.

8. Deploy your custom template to the test server database by using Teamcenter Environment
Manager (TEM).

Caution:
You cannot use BMIDE→Deploy Template to deploy multifield keys to a test database.

9. To verify that the keys are property defined in the system, use the get_key_definition and
get_key_string utilities.
Before installing the new multifield key definitions to a production server, you must ensure they do
not cause key collisions resulting from identical keys. Analyze the key definitions by running the
mfk_update utility.

10. After verifying that the keys work as designed, you can deploy them a production server by
packaging the custom template and installing it using Teamcenter Environment Manager (TEM).
After deployment, the key is set for this business object type and is inherited by all its children
types, unless a separate key is set on a child type.

Multifield key domains

The multifield key is composed of a domain name and a combination of the object’s properties:

domain{properties}

For example, the default multifield key definition for Item business objects is Item{item_id}.

The key definition is inherited by the child business object types unless a different multifield key
definition is created for a child type. Because children business object types inherit the key definition
from their parent, they belong to the same domain as the parent business object. All business object
types with the same multifield definition constitute a domain. To make a business object a member of
an existing key domain, select an existing key when you change the MultiFieldKey business object
constant value on the business object. Establishing domains allows administrators to identify the object
types that have the same multifield key. This ensures a unique identifier across all the objects in the
domain.

Note:
Multifield key definitions can only be used if all properties in the definition are available on the
business objects. You can analyze key definitions using the mfk_update utility.

In the following example, a new key is defined on the Document business object, creating a new
domain. All children of the Document business object inherit the new key, and therefore belong to the

6-96 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Creating objects with the same item ID

new domain. Custom business objects also inherit the key from their parents. If you select an existing
key for a business object, the business object becomes a member of the existing key’s domain.

In the example, the RequirementSpec business object is moved to the Item domain because the
administrator wanted the item_id property value for requirements specifications to be unique among all
items rather than among all documents.

Creating objects with the same item ID

By using multifield key definitions, instances of different item business object types (such as items,
drawings, documents, parts, designs, and specifications) can use the same item ID. Prior to Teamcenter
10, you could not do this because children of the Item business object are also considered items.
However, now you can do this by setting up multifield key definitions per domain or object type.

For example, suppose you have a document and a drawing that both describe an item, and you want to
give the item, drawing, and document objects the same item ID number so that others can see at a
glance that they all describe different aspects of the same thing. Prior to Teamcenter 10, you could not
give two different items the same item_id value because the value of the item_id property was
assumed to be an object’s unique ID. But now using multifield keys, you can give different item types
the same item_id value by assigning different domains (business object types) to the key definitions.

In this example, you can use the Item business object’s default multifield key definition (Item{item_id}),
but change the multifield key definition for Drawing business objects to Drawing{item_id} and for
Document business objects to Document{item_id}.

Business Modeler IDE PLM00071 11.2 6-97


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

When the keys are installed to the Teamcenter database, end users are allowed to create instances of
these different object types with the same item ID because the key definitions each have a different
domain (Item, Drawing, and Document).

Note:
Another way you can use the same item ID is to add the object_type property to the key definition
used by all the business objects, for example, Item{item_id,object_type}. Whereas the domain
approach (for example, creating Drawing{item_id}) forces uniqueness of the item_id value across
the Drawing domain, if instead the object_type property is added at the Item domain (for
example Item{item_id,object_type}), the item_id property is unique only for each object type.
(Keep in mind that if you want the object_type property to display in the item name, you must
use the DisplayName business object constant.)
Similarly, if you have a situation where you want to allow different parts from different vendors to
use the same item ID, you can add the property for the vendor code or the CAGE code to the key
definition that already includes the item_id property.

1. Open the Drawing business object.

2. Select the MultiFieldKey constant in the Business Object Constants table.


In the following example, notice how the key definition for the Drawing business object is
Item{item_id}. That’s because the Drawing business object inherits the definition from its parent
business object, and therefore is in the Item business object domain.

3. Click the Edit button to the right of the table.


The New Multi Field Key dialog box is displayed.

6-98 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Creating objects with the same item ID

4. Click Finish.
This changes the multifield key definition for Drawing business objects from Item{item_id} to
Drawing{item_id}.

5. Repeat the same steps for the Document business object so that its key definition is changed to
Document{item_id}.

6. Package the template and install your custom template to the test server database by using
Teamcenter Environment Manager (TEM).

Business Modeler IDE PLM00071 11.2 6-99


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Caution:
You cannot use BMIDE→Deploy Template to deploy multifield keys to a test database.

7. To verify the behavior, create an item, drawing, and document that all have the same item ID:

a. In the rich client, choose File→New→Item, select Item from the list, and click Next.

b. Type the item ID number and do not click the Assign button.

c. Click Finish.

6-100 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Creating objects with the same item ID

d. Repeat the steps for the drawing and document types, making sure to type the same item ID
number for each.
When you are done, you have object instances of different business object types that each
have the same item ID.

The system allows you to do this because although the key definitions for the item, drawing,
and document business object types each use the item_id property, they each have a
different domain (Item, Drawing, and Document respectively). If you try to create two items
with the same item ID (or two documents or two drawings), the system displays an error.

e. To further test the behavior, search for the item ID that is used by multiple objects. A dialog
box appears allowing you to choose the desired object.
The following example shows searching in the rich client for an item ID used by multiple
objects.

Following example shows searching in the thin client for an item ID used by multiple objects.

Business Modeler IDE PLM00071 11.2 6-101


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Similar dialogs are presented in Structure Manager when searching for an item ID that is used
by multiple objects. For example, if you choose Edit→Add in Structure Manager and type an
item ID used by multiple objects, a selection dialog box is displayed.

Managing multifield keys

Use the following settings to manage multifield keys:

6-102 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Analyzing multifield keys

• Global constants

• Fnd0MultiFieldKeyExclusions
Excludes selected business object types from having their multifield keys definitions changed. The
business objects types that already that have the multifield key defined cannot be added to this
exclusion list. This constant prevents others from setting a multifield key by disabling the Edit
button on the MultiFieldKey business object constant.

• Fnd0SecuredMultiFieldKey
Ensures that dependent templates don’t change the MultiFieldKey business object constant on
specified business objects. If the administrator of a dependent template tries to change the
MultiFieldKey business object constant, the administrator cannot because the Edit button is
disabled. (The Edit button is still enabled on the current template.)

• Business object constants

• ShowIdenticalItemIdAndName
Ensures that when instances of Item business objects have identical item ID and name values, the
name value is dropped (when set to the default value of false). This is actually related to the
object’s display name and not its multifield key.
The default display name for business objects is comprised of the item_id+object_name properties
(as defined by the DisplayName business object constant). If the values of these two properties are
identical, the ShowIdenticalItemIDAndName business object constant drops object_name from
the displayed string (when set to its default of false). If you want to allow identical item ID and
name values to be displayed for an item instance, set the value to true.

• Preferences

• TC_MFK_DEFAULT_DOMAIN
Defines the domain used by the ITEM_find_item ITK function when the multifield key unique
identifier is not used.

Analyzing multifield keys

After you create multifield key definitions, you must ensure they do not cause key collisions resulting
from identical keys. Use the following utilities to analyze the multifield keys in the database:

• mfk_update
Updates multifield key definitions in the key table in the database. You can use this utility to indicate
whether a multifield key is deployable or not (that is, unique across objects in the domain, all
properties found and of the right type, and so on) or to rebuild all multifield key values in the system,
thereby guaranteeing correctness.
Normally, this utility is run by the system when upgrading so that business object instances on the
server are migrated to the new multifield key definitions. As an administrator, you can also run this
utility manually to evaluate proposed multifield key definitions in a template before installing the
template to the production server. This helps you avoid any potential key collisions during installation.
You can also use this utility to analyze the multifield key definitions on the server and if there are

Business Modeler IDE PLM00071 11.2 6-103


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

corrupt or inconsistent key definitions, you can also use this utility to rebuild the key table on the
database.
For example, to perform an analysis of proposed keys in a custom template:

mfk_update -u=infodba -p=infodba -g=dba


-check -file=C:\delta.xml -log=C:\mfk_check_template.log

To perform an analysis of the keys in the database:

mfk_update -u=infodba -p=infodba -g=dba -check


-log=C:\mfk_check_database.log

To rebuild the key table for all multifield key definitions in the database:

mfk_update -u=infodba -p=infodba -g=dba -rebuild


-log=C:\mfk_rebuild.log

Note:

Because keys are a string of concatenated property values, they can be quite large. To ensure
that you have enough space in the key table for long keys, you can set the
TC_MFK_INDEX_KEY_SIZE environment variable to specify the byte size limit of the index key
size when creating a key in POM_KEY table. The default value is 900.

• get_key_definition
Gets the multifield key definition for a business object type.
At a command prompt, type:

get_key_definition -class=business-object-name

The results are displayed as:

Key Definition for business-object-name is multifieldkey-definition

For example, typing:

get_key_definition -class=T5_MyItem

results in:

Key Definition for T5_MyItem is T5_MyItem{item_id,object_type}

• get_key_string
Gets the multifield key value of an item instance as a string containing property names and values.
This utility can be run on the Item business object or any of its children. Use the -item or -key
argument:

6-104 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Analyzing multifield keys

• -item
Finds the key values for the item. Type the command using the following format:

get_key_string -item=item-ID

The results are displayed as:

Item Type is business-object-name, Key String is


property1=property1-value,property2=property2-value,etc

For example, typing:

get_key_string -item=000016

results in:

Item Type is Item, Key String is item_id=000016

If other properties are added to the multifield key definition for an item business object, they are
displayed separated by commas. For example, if the item_id and object_type properties comprise
the multifield key for a custom item business object named T5_MyItem, the output of the
command is:

Item Type is T5_MyItem, Key String is


item_id=000016,object_type=T5_MyItem

• -key
Finds the business object type of the item. This is not a utility, but an argument used with utilities.
Follow this format to use the argument with a utility:

get_key_string -key=property=property-value

The results are displayed as:

Item Type is business-object-name, Key String is property=property-value

For example, typing:

get_key_string -key=item_id=000016

results in:

Item Type is Item, Key String is item_id=000016

Business Modeler IDE PLM00071 11.2 6-105


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Configure the displayed name of business object instances

Multifield keys are not visible to the end user and only identify object instances in the database. If you
want to select the properties to display item instance names in the user interface, use the DisplayName
business object constant. This constant provides the value used for the object_string property, which
displays names in the Object box on property dialog boxes and in other places in the user interface.

Note:
The DisplayName business object constant should not be confused with naming rules or the
localized display name of business objects.

1. Open any business object that is a child of the WorkspaceObject, RevisionAnchor, or


Fnd0AuditLog business object and select DisplayName on the Business Object Constants table.
For example, open the Item business object and select the DisplayName business object constant:

By default, the constant is set to $item_id+"-"+$object_name for Item business objects. This
displays the item name in the user interface.

You can also see the displayed name in the Object box (provided by the object_string property) on
dialog boxes and views.

6-106 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure the displayed name of business object instances

2. To change the constant, select the DisplayName constant in the Business Object Constants table
and click the Edit button to the right of the table.
The Modify Business Object Constant dialog box is displayed.

3. In the Value box, type the properties you want to display using this format:

+$property

For example, if you want to add the object_type property (which shows the name of the business
object type), add it as shown.

Business Modeler IDE PLM00071 11.2 6-107


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

4. Click Finish.
The new constant definition for this business object type is shown.

5. Deploy your custom template to the database.


To deploy to a production server, package the template and install it using Teamcenter
Environment Manager (TEM).
After deployment, the value set for the displayed name is used for this business object type and is
inherited by all children types, unless a separate displayed name is set on a child type.

Note:
The display name of the object is different than the key defined by the MultiFieldKey
business object constant. However, you can use the same properties for the display name
that you use for the key definition.

6. Verify the modified display name format in the user interface.


For example, view an item instance in the user interface:

6-108 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Considerations for using multifield keys

Also view the modified displayed name in the Object box (provided by the object_string property)
in dialog boxes and views.

Considerations for using multifield keys

Keep in mind the following when implementing multifield keys:

• Specifications
The Revise operation for specifications requires the Revision Id property (mdl0revision_id) to be
part of the multifield key for Specification objects. If the multifield key does not include the
mdl0revision_id property, the following error is returned:

The Multifield key for Specification objects does not include the Specification
Revision ID
(mdl0revision_id) property. As a result, creation of revisions is not supported.
If you would like to enable the "revise" operation for Specification objects,
please contact your administrator to add the Specification Revision ID
(mdl0revision_id) property to the Multifield key property for Specification objects.

Similarly for the Save As operation, the following error is returned if the multifield key does not
include the Specification Id property (lbr0SpecificationID) and the Specification Name property
(object_name):

The Multifield key for Specification objects does not include either the Specification
ID

Business Modeler IDE PLM00071 11.2 6-109


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

(lbr0SpecificationID) or Specification Name (object_name) properties.


As a result, the "saveAs" operation is not supported.
If you would like to enable the "saveAs" operation for Specification objects,
please contact your administrator to add the Specification ID (lbr0SpecificationID)
or Specification Name (object_name) properties to the Multifield key property
for Specification objects.

• Utilities
Arguments containing -*key* , such as -key, -itemkey, and -keyFileName, are used in some utilities.
These key arguments specify the multifield key ID of the item to act on, and provide an alternative to
the -item argument as a method to specify items.
However, to use the -*key* arguments, you must know the multifield key ID to enter. To obtain the
key ID for an item, use the get_key_string utility.

Teamcenter applications support the use of multifield keys. However, there are some considerations
that you must keep in mind:

• Classification
You can use the graphics builder feature in Classification if multifield key support is enabled.

• Dimensional Planning and Validation (DPV)


By default, DPV does not use multifield keys. This is to allow other features that do not support
multifield keys (such as GM Overlay) to be installed with DPV.
If you use DPV and want to use multifield keys, install the Dimensional Planning And Validation
Multi Field Key feature (dpm0mfk template). This feature contains the multifield key definitions for
DPV business objects.
Install this feature using Teamcenter Environment Manager (TEM). In the Features panel, open the
Extensions group and select Dimensional Planning And Validation Multi Field Key.

Note:
DPV must already be installed (that is, the Customization for eM-Server Integration feature
and Database Configuration for DPV must already have been selected). If you use GM Overlay,
you cannot install the Dimensional Planning And Validation Multi Field Key feature. GM
Overlay does not support multifield keys.

• Visualization
Most visualization features do not require any special configuration to work with multifield key data,
with the following exceptions:

• ClearanceDB
The managed product name must include the __PLM_ITEMREV_UID value for the item revision,
and the clearance.cfgproduct file must include the multifield key properties for the item.

• MDS stamping
The MetaDataStamp_template preference must specify the values of the multifield key properties
associated with the item containing the MDS_default_styles_template dataset.

• External CAD applications

6-110 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to administration data candidate keys

Teamcenter integrates with some external CAD applications that do not support multifield keys.
These CAD applications attempt to find items in Teamcenter using the item_id property only. To use
one or more of these nonmultifield key compliant CAD applications with custom multifield key
definitions, you must have a domain in Teamcenter with a multifield key that contains only the
item_id property. The domain must include all the business object classes used by the nonmultifield
key compliant CAD applications. The domain for the CAD application business objects is specified in
the TC_MFK_DEFAULT_DOMAIN preference.
When using an external nonmultifield key compliant CAD application, keep in mind the following:

• If no custom multifield key definitions are created, the external CAD application integration
functions properly because the item_id property is unique in the Teamcenter deployment.

• If custom multifield key definitions are created, a domain must be defined that includes all business
objects used by the CAD application integration. The multifield key definition for this domain must
be the item_id property only. The TC_MFK_DEFAULT_DOMAIN preference must be set to this
domain.

Note:
If no CAD integration data yet exists in Teamcenter, you can define a domain first, set the
preference to that domain, and then configure the CAD integration to create types that
belong only to the defined domain.

Administration data candidate keys

Introduction to administration data candidate keys

Administration data candidate keys are IDs assigned to administration data objects to ensure their
uniqueness in the database.

Administration data is data that is not maintained in templates that can be imported and exported
between sites (such as ACLs, preferences, organization objects, and the like). To import or export this
type of data, select Manage Administration Data in the Feature Maintenance panel of Teamcenter
Environment Manager (TEM).

Business Modeler IDE PLM00071 11.2 6-111


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

In TC XML export and import, a stable ID is used for business objects to identify the objects for the
purpose of re-import and update. Only if the already imported object can be identified uniquely is it
possible to re-execute a data transfer and correctly update the object. In Teamcenter, each business
object has a UID that serves as its stable indentification number. Upon replication to another site, this
UID is unique and stable, and the corresponding object can then be updated during repeated re-
replication of the original.

For administration data, this approach does not work because admininstration objects are usually
individually created at their respective owning sites and therefore have different UIDs to begin with. So,
if you relied on the UID as the stable identity, upon first-time import of such an administration object
from another site, you would not find any object with this UID at the local site and therefore assume no
such administration object existed. This would be incorrect because the same logical object may have
already been locally created with a different UID as these are assigned uniquely by Teamcenter upon
object creation.

The solution to this issue is the administration data candidate key, a stable identity definition for
administration objects. Such a stable identification number (SID) is a string composed of a sequence of
certain attributes of the administration object and possibly other related objects, such that the
combination of this string identifies the administration object uniquely. Take the example of a user ID.
There can only be one user with the given user ID at a given site. If you import this user to another site,
and a user with the same name already exists, they conflict. To resolve the issue, you must logically
identify the user at each site. Assigning an administration data candidate key to uniquely identify the
user from each site solves the problem.

Administrators use the Fnd0AdminCandidateKey business object constant to create administration


data candidate key definitions. Administrators create the keys for custom business objects that are
used to define administrative data.

6-112 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create administration data candidate keys

The keys can take the following forms:

• Simple candidate key


Uses one or more primitive type of attributes of the same class as the candidate key.
For example, the Role business object uses the role_name property as its candidate key.

• Compound candidate key


Uses a combination of primitive attributes and/or typed reference attributes of the administration
object pointing to other objects.
For example, the candidate key for the RoleInProject business object is group|role that is a
combination of the group and role typed referenced properties.

Create administration data candidate keys

Administration data candidate keys are IDs assigned to administration data objects to ensure their
uniqueness in the database. Much like multifield keys, administration candidate keys are composed of
a combination of the object properties.

The process to create an administration data candidate key is similar to creating a multifield key. You
must select the business object to which you want to assign the key and change the value of the
Fnd0AdminCandidateKey business object constant:

1. In the Business Objects folder, right-click the business object and choose Open.
The constant appears in the Business Object Constants table on the Main tab.

Business Modeler IDE PLM00071 11.2 6-113


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

2. Click the Edit button.


The Administration Data Candidate Key Wizard is displayed.

3. Click Next.
A dialog box is displayed that allows you to select properties to use for the key.

6-114 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Conditions overview

4. Select from the available properties and click the Add button to add them to the selected
properties list. Use the Move keys to determine their order.

Note:
The order of attributes selected to form a candidate key is important and cannot be altered
once the key has been deployed to production.

5. When you are satisfied with the properties, click Finish.


The value is added to the business object constant and is displayed in the Business Object
Constants table.

Conditions

Conditions overview

Conditions are conditional statements that resolve to true or false based on the evaluation of an
expression. A condition resolves to TRUE if the statement is valid or FALSE if it is not. Rules use
conditions to describe the types of objects to which the rules apply.

When a rule that uses a condition is run against an object, it is divided into two parts, an IF clause and a
THEN clause. The condition (IF clause) examines the object with Boolean logic, and the rule (THEN
clause) describes an action or access permission on the object.

Business Modeler IDE PLM00071 11.2 6-115


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

There are many kinds of rules that can run conditions, such as deep copy rules. For example, you can
create a deep copy rule that states if (condition) a document business object has a specification
relationship to an item revision, then (rule) that object is copied forward with the revised item revision.

The syntax for a condition is as follows:

condition-name(argument-list) := expression

In this syntax, everything to the left of the := symbol is the signature, and everything to the right is the
actual condition. (The := symbol does not appear on the Condition dialog box when you create a
condition.) Replace condition-name with the name of the condition, replace argument-list with the list
of objects to be supplied by the calling program, and replace expression with the condition statement.

Following is an example condition:

MyCondition( ItemRevision o) := o.color = red

In the signature (to the left of the := symbol), MyCondition is the name of the condition and
ItemRevision is the type of business object to run against. In the expression (to the right of the :=
symbol), o.color is the color attribute on the business object, and red is the condition to be met. This
condition says to examine the color attribute on all of the ItemRevision business objects and find those
that have the red value.

You have a great deal of flexibility when creating the expression of a condition. You can write
expressions that contain strings, logical statements, dates, tags, and even other conditions.

Add a condition

Conditions are conditional statements that resolve to true or false based on the evaluation of an
expression. Conditions can be used to evaluate objects or user sessions to deliver only certain results.
Conditions are never used by themselves but are only used by other objects such as rules, LOVs, or
IRDCs.

The condition engine utilizes the CLIPS (C Language Integrated Production System) external rules engine
to process condition data. Because of the CLIPS engine rules, condition expressions and the values for
the business object properties must be specified using the standard US7ASCII character set.

When you write a condition, you first choose the business objects against which you want to run the
condition (the signature) and then you write the statement to evaluate the business objects (the
expression).

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Condition in the Wizards box,
and click Next.

6-116 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a condition

• Open the Extensions\Rules folders, right-click the Conditions folder, and choose New
Condition.

The New Condition wizard runs.

2. Perform the following steps in the Condition dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the condition in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Description box, type a description of the condition.

d. Select Secured to prevent the condition expression from being modified or overridden by
another template.

e. Under Input parameters, select one of the following:

• Select the Business Object input parameter if you want the condition to be applied to a
business object. You can also select this option if you want to use only the UserSession
business object as a parameter.

• Select the Business Object and User Session input parameter if you want the condition to
be applied to a business object in the context of a user's work session (via the UserSession
object).

Business Modeler IDE PLM00071 11.2 6-117


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

• Select the Custom input parameter if you want to define a condition with two parameters
where one of the parameters is not a UserSession business object, or to define a condition
with three or more parameters.

f. Click the Browse button to the right of the Signature box. What displays depends on the kind
of input parameters what you selected earlier:

• Business Object or Business Object and User Session


Click the Browse button to the right of the Signature box to select the business object to
write the condition for.

Example:
Suppose you want to write a condition to evaluate item revision business objects for
a particular group of users. Select Business Object and User Session and then
browse for the ItemRevision business object. Notice that in the Signature box an o
parameter is assigned to the business object, and a u parameter is assigned to the
user session:

MyCondition ( ItemRevision o , UserSession u)

Later, when you write the condition's evaluation formula in the Expression box, you
use the o parameter to represent the business object and the u parameter to
represent the user session.

• Custom
Click the Browse button to the right of the Signature box. The Custom Parameters wizard
runs.

6-118 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a condition

Use this wizard to define a condition with two parameters where one of the parameters is
not a UserSession business object, or to define a condition with three or more parameters.
Perform the following steps in the Custom Parameters dialog box:

A. Click the Add button to the right of the Parameters table. The New Condition
Parameter wizard runs.

B. Click Browse to the right of the Parameter type box and choose the business object
to write the condition for.

C. In the Parameter Name box, type the name of the parameter to assign to the
business object.
You can type anything you want for the parameter name, as long as it does not have
spaces. Earlier you saw how by default the o parameter was chosen by the system to
represent a business object, and u to represent a user session. Now, type the
parameter name. For example, if you selected an ItemRevision business object, type
itemrev for the parameter name.

D. Click Finish.
The parameter appears in the Parameters table. Repeat to add as many parameters as
you want, and click Move Up or Move Down to change the order of the parameters in
the condition signature.

E. When you are done adding custom parameters, click Finish.


The custom parameters are added to the signature.

Business Modeler IDE PLM00071 11.2 6-119


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Example:
Notice how the business objects and your unique parameters are added to the
Signature box. For example, suppose you want to write a condition to evaluate the IDs
on item revision business objects. First you select an ItemRevision business object and
enter itemrev for the parameter, and then select an ItemIdRecord business object and
enter itemid for the parameter. The resulting Signature box would contain the
following:

MyConditionItemRevID ( ItemRevision itemrev , ItemIdRecord


itemid)

Later, when you write the condition evaluation formula in the Expression box, you use
the itemrev to represent the item revision business object and itemid to represent the
item ID record business object. You may end up with more options in the signature than
you use in the condition. Just because an object is defined in the signature does not
mean that it has to be used in the expression for that condition. The signature only
makes it available for use.

g. In the Expression box, type the condition statement you want to evaluate using the business
objects defined in the signature. You can write expressions that contain strings, logical
statements, dates, tags, and even other conditions.

Tip:
Use the following tips for writing an expression:

• For a selection of valid entries to choose from, place your cursor in the box and press
Ctrl + space bar to activate the content assistant.
The content assistant cannot be shown if the business object is an untyped reference
or untyped relation.

• Type a period after a business object parameter to choose from a list of properties or
operations on that business object. For example, type o. for a business object, u. for a
user session, or if you have a custom parameter, type the parameter followed by a
period (for example, itemrev.).

• The expression is validated as you type it in. If the expression is not valid, a message
displays at the top of the Condition dialog box. Your condition is valid if the Finish
button is available and no error message displays at the top of the dialog box.

• Condition expressions must use the standard US7ASCII character set.

6-120 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Search conditions

Example:
Suppose you want to write a condition to help find all item revisions whose names
begin with wheel. First, select the Business Object input parameter and click Browse
to the right of the Signature box and choose the ItemRevision business object. The
signature displays similar to the following:

MyConditionWheelName ( ItemRevision o)

Type the following in the Expression box:

o.object_name = "wheel*"

o is the parameter that represents the item revision, and object_name is the name
attribute on item revisions. This statement means to evaluate the object_name
attribute on all item revisions and find those that begin with wheel.

h. Click Finish.
The new condition appears under the Conditions folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Now that you have created the condition, it can be used by other objects. Conditions are never
used by themselves, but are only used by other objects. There are many kinds of objects that can
use conditions, such as business object display rules, deep copy rules, IRDCs, LOVs, and naming
rules, among others.

Search conditions

1. Right-click the Conditions folder and choose Find Conditions.


The Find Conditions wizard runs.

Business Modeler IDE PLM00071 11.2 6-121


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

2. Type the characters to search for. Use an asterisk * for wildcard searching.
The conditions that match the filtering appear in the table.

3. To open a condition, double-click it in the table.

Condition examples

Examples provide a good way to understand how to structure conditions. The examples below are for
discussion purposes only.

• Primitives

• String

isStringCondition1( Item o ) := Expression: "EqualString" =


"EqualString"
isStringCondition2( Item o ) := "UnequalString1" != "UnequalString2"

6-122 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Condition examples

Note:
Wild cards can be specified in strings using * and ? characters:

■ * matches 0 or more characters

■ ? matches one character

For example:

isCondition1( UserSession o ) := o.role_name = "Design*"


This condition evaluates to TRUE for all users who have roles like Designer or Design
Manager.
isCondition2( UserSession o ) := o.user_id = "?ary"
This condition evaluates to TRUE for all users who have user IDs like Mary or Gary.

• Character

isCharCondition1( Item o ) := 'a' = 'a'


isCharCondition2( Item o ) := 'a' != 'b'
isCharCondition3( Item o ) := 'a' < 'b'
isCharCondition4( Item o ) := 'a' <= 'a'
isCharCondition5( Item o ) := 'b' > 'a'
isCharCondition6( Item o ) := 'a' >= 'a'

• Integer

isIntCondition1( Item o ) := 1 = 1
isIntCondition2( Item o ) := 0 != 1
isIntCondition3( Item o ) := 0 < 1
isIntCondition4( Item o ) := 0 <= 1
isIntCondition5( Item o ) := 1 > 0
isIntCondition6( Item o ) := 1 >= 0

• Float

isFloatCondition1( Item o ) := 1.5 = 1.5


isFloatCondition2( Item o ) := 0.5 != 1.5
isFloatCondition3( Item o ) := 0.5 < 1.5
isFloatCondition4( Item o ) := 0.5 <= 1.5
isFloatCondition5( Item o ) := 1.5 > 0.5
isFloatCondition6( Item o ) := 1.5 >= 0.5

• Boolean

Business Modeler IDE PLM00071 11.2 6-123


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

isBoolCondition1( Item o ) := true


isBoolCondition2( Item o ) := false

• Date

isDateCondition1( Item o ) := o.creation_date = "01-Jan-2009 00:00"


isDateCondition2( Item o ) := o.creation_date != "29-Feb-2008 23:59"
isDateCondition3( Item o ) := o.creation_date < "01-Jan-2009 00:00"
isDateCondition4( Item o ) := o.creation_date <= "01-Jan-2009 00:00"
isDateCondition5( Item o ) := o.creation_date > "29-Feb-2008 23:59"
isDateCondition6( Item o ) := o.creation_date >= "29-Feb-2008 23:59"

The date literal has to be specified in the following format: "dd-MMM-yyyy HH:mm".

Date element Description

dd Two-digit date, for example, 31

MMM Three-character month in English only, for example, Jan

yyyy Four-digit year, for example, 2009

HH Two-digit hour specified in 24-hour format, for example, 23 for 11:00


p.m.

mm Two-digit minutes, for example, 59

• Properties on business objects

• Properties on any business object

isPropCondition1( MyItem o ) := o.color = "red"


isPropCondition2( MyItem m, YourItem y ) := m.color = y.color
isPropCondition3( MyItem m, YourItem y ) :=
m.owning_project.project_id = y.owning_project.project_id

• Properties on any business object when there are spaces in the property name

isCondition4( BOMLine bl1, BOMLine bl2 ) := bl1.`UG NAME` = bl2.`UG


NAME`

• Properties on UserSession

6-124 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Condition examples

isPropCondition5( MyItem o, UserSession u ) := o.owning_user =


u.user
isPropCondition6( MyItem o, UserSession u ) := o.owning_group =
u.group
isPropCondition7( MyItem o, UserSession u ) := o.owning_project =
u.project
isPropCondition8( MyItem o, UserSession u ) := u.user_id = "infodba"
isPropCondition9( MyItem o, UserSession u ) := u.group_name =
"Engineering"
isPropCondition10( MyItem o, UserSession u ) := u.project_name =
"Concept"
isPropCondition11( MyItem o, UserSession u ) := u.role_name = "DBA"

• Operations on business objects

isOperationCondition1( DeepCopyRule dr, ItemRevision target,


ItemRevision otherside ) :=
otherSide.items_tag.isLatestRevisionMature() = true
isOperationCondition2( DeepCopyRule dr, ItemRevision target,
POM_object otherside ) := otherSide.isReplica() = true
isOperationCondition3( DeepCopyRule dr, ItemRevision target,
ItemRevision otherside ) :=
target.checkUniqueItems( otherSide,dr.relation,dr.is_target_primary,1,
-1 ) = true

• Nested conditions

isNestCondition1( DeepCopyRule dr, ItemRevision target, ItemRevision


otherside ) :=
( Condition::checkOtherSideOneToOne( dr, target,otherside ) = true )
AND
( Condition::isOtherSideLatestMature( dr, target, otherside ) = true )

Note:
All nested conditions need to be prefixed with Condition::.

• INLIST

• Search for a tag in an array of typed/untyped references

isNextCondition1( WorkspaceObject o, UserSession u ) :=


Function::INLIST( u.project, o.project_list )

Business Modeler IDE PLM00071 11.2 6-125


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Note:
All INLIST conditions need to be prefixed with Function::.

• Search for a primitive in an array of typed/untyped references

isNestCondition2( WorkspaceObject o, UserSession u ) :=


Function::INLIST( u.project_name, o.project_list, "project_name" )

• String functions

• ToUpper

isToUpperCondition1( Item o, UserSession u ) :=


Function::ToUpper( u.role_name ) = "DBA"

Note:
All ToUpper conditions need to be prefixed with Function::.

• ToLower

isToLowerCondition1( Item o, UserSession u ) :=


Function::ToLower( u.user_id ) = "mgr"

Note:
All ToLower conditions need to be prefixed with Function::.

• Operators
Operators include !, !=, <, <=, =, >, >=, AND, NOT, and OR.
For an example that uses operators, see the Fnd0SMIsCompletePercentInProgress condition:

Fnd0SMIsCompletePercentInProgress (ScheduleTask task, Schedule sched,


UserSession session) =:
task.complete_percent<100 and ( (task.complete_percent> 0 and
task.fnd0state="not_started") or (task.complete_percent>=
0 and task.fnd0state="complete") ) and (task.task_type=0 or task.task_type=1
or task.task_type=4) and sched.is_template=false

• Lists of values (LOVs)


The ability to place conditions directly on LOVs or sub-LOVs is deprecated. Instead, you can apply
the conditions when attaching the LOVs to properties.

• Naming rules

• Deep copy rules

6-126 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Condition expressions

• IRDCs
For an example, see the Fnd0DMTemplateCondition condition:

Fnd0DMTemplateCondition (DMTemplateRevision 0) :=
o.ApplicationName="RM"

Condition system

Condition expressions

Expressions are of two kinds, unary and binary. Unary expressions evaluate to a logical value, true or
false. Binary expressions compare two values, and are comprised of a left expression (left operand) and
a right expression (right operand), with an operator in the middle (such as =).

Expressions follow this syntax:

• Simple unary expression

expression-value

• Simple binary expression

expression-value comparison-operator expression-value

• Complex binary expression


Both unary and binary expressions can be combined with other unary or binary expressions using the
AND/OR operators to form complex expressions.

( unary-expression-value | binary-expression-value )
[ ( AND | OR ) ( unary-expression-value | binary-expression-value ) ]

Expressions can contain the following:

• Primitive data types (string, character, integer, float, Boolean, date)


• Business objects
• Properties on business objects
• Operations on business objects
• User session object
• Nested conditions
• Functions such as INLIST, ToUpper, and ToLower
• Equality operators (=, !=)
• Relational operators (<, >, <=, >=)
• Logical operators (AND, OR)
• Unary operators (!)

Business Modeler IDE PLM00071 11.2 6-127


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Note:
Condition expressions must use the standard US7ASCII character set.

Condition calls

You can call conditions from within conditions. You must supply the name of the condition to call and
the object arguments to pass. Like other calls, condition calls have the following syntax:

condition-name(argument-list) := expression

Replace condition-name with the name of the condition you are creating, replace argument-list with the
list of objects to be supplied by the calling program, and replace expression with the condition
statement that calls the condition.

In the following example, the isCondition1 condition calls the checkOtherSideOneToOne and
isOtherSideLatestMature conditions:

isCondition1( DeepCopyRule dr, ItemRevision target, ItemRevision


otherside ) :=
( Condition::checkOtherSideOneToOne( dr, target,otherside ) = true )
AND
( Condition::isOtherSideLatestMature( dr, target, otherside ) = true )

Condition operators

Binary conditions are constructed of expressions on the left side of the condition (left operand)
compared to expressions on the right side (right operand). Binary conditions follow this syntax:

expression-value comparison-operator expression-value

The following Boolean operators are used to compare the left operand to the right operand.

Operator Description

! Not true (when used with a stand-alone operand)

!= Not equal to

< Less than

<= Less than or equal to

6-128 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Valid condition operands

Operator Description

= Equal to

> Greater than

>= Greater than or equal to

AND Both operands are evaluated to true

NOT The following operand is not true.

OR Either operand is evaluated to true

Note:
Mathematical operators like +, -, /, *, and % are not supported, nor are trigonometric functions like
sin, cos, tan, and so on.

Valid condition operands

The list of valid operand and operator combinations are shown in the following table. To check if a given
expression is valid, look up the left operand to see which operators and right operands are valid for it.

For example:

obj1.name != obj2.name

Both the left operand and the right operand are string properties. When you check the table, you see a
left operand string property can use the = or != operators when the right operand is a string property. So
the expression is valid.

When you create a condition, it is validated for syntax at creation time. The following table shows valid
operand and operator combinations.

Left operand Valid operators Valid right operands

String property =, != String property


String operation String operation
String literal String literal

Business Modeler IDE PLM00071 11.2 6-129


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Left operand Valid operators Valid right operands

ToUpper / ToLower

String literal =, !=, >, <, >=, <= Date attribute


Date operation

Numerical attribute =, !=, >, <, >=, <= Numerical attribute


Numerical operation Numerical operation
Numerical literal Numerical literal
Character literal Character literal
Character property Character property
Character operation Character operation

Logical attribute AND, OR, =, != Logical attribute


Logical operation Logical operation
Condition Logical literal
INLIST Condition
Logical literal (TRUE, true, INLIST
FALSE, or false)

Date attribute =, !=, >, <, >=, <= Date attribute


Date operation Date operation
String literal

Tag property =, != Tag property


Tag operation Tag operation
NULL value

NULL value =, != Tag property


Tag operation

ToUpper / ToLower =, != String property


String operation
String literal

Stand-alone ! Logical attribute


Logical operation
Condition
INLIST

6-130 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Condition operation rules

Condition operation rules

Not all operations defined on a business object can be used in a condition expression. Only an operation
that satisfies the following criteria shows up in the content assistant (press Ctrl + space bar) and can be
used in condition expressions:

• Returns an int

• Has exactly one output that is the last parameter in the operation

• Has input only parameters (except the last parameter)

• Does not have input/output parameters

• Uses one of the following parameter data types in a condition expression:

bool
char
date_t
double
float
int
long
std::string
tag_t

• Uses tag_t instead of Teamcenter::business-object as parameters in condition expressions

• Does not take vectors, maps, or any template data type as parameters

• Does not take SOA service objects as parameters

Because there is no provision to define variables in a condition expression, the actual return value on the
operation is ignored. Instead, the last output only parameter on the operation is treated as a return
value.

Valid condition signatures

Users can create their own conditions to use for LOVs, IRDCs, deep copy rules, and so on. Each of these
object types requires a different kind of condition with a specific signature, and the wizard for adding a
condition to an object only shows conditions that match the signature.

Following are the valid signatures for objects:

• Extension rules
LOV attachments
LOV values

Business Modeler IDE PLM00071 11.2 6-131


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Naming rules
Revision naming rules
Sub-LOVs
Business object display rules
The valid condition signature is:

condition-name(UserSession)

• Deep copy rules


The valid condition signatures are:

condition-name(DeepCopyRule,ItemRevision,POM_object)
condition-name(DeepCopyRule,ItemRevision,POM_object,UserSession)
condition-name(UserSession)

For the first two condition signatures, the second argument is the target business object used in the
deep copy rule (that is, ItemRevision), and the third argument is the object type used in the deep
copy rule (that is, POM_object).

• IRDC
The valid condition signatures are:

condition-name(ItemRevision)
condition-name(ItemRevision, UserSession)

Troubleshooting conditions evaluations

Perform the following checks to determine why a condition is not evaluating as expected:

1. Verify that the client system is refreshed.


Log off and log on to refresh the conditions in the system.
You can also use the KnowledgeBaseRefreshInterval global constant to automatically check for
new conditions by setting its value to 0.

2. Verify that the condition signature of the condition matches the condition signature supported by a
specific functionality.
For example, LOVs and naming rules functionality require that conditions take in only a
UserSession object as a condition parameter. If a condition has been created that takes in more
than a UserSession object as a parameter or some other business object, it never gets evaluated
for the LOV and naming rules functionality. Which conditions get evaluated depends on the
functionality that is leveraging the condition engine.

3. Verify that the condition is deployed correctly.

a. Run the business_model_extractor utility to verify if the condition has been deployed to the
database, for example:

6-132 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Troubleshooting conditions evaluations

business_model_extractor
-u=username -p=password -g=group
-mode=all
-outfile=dbextract_model.xml
-log=dbextract_model.log

b. Open the resulting output file (for example, dbextract_model.xml) and search for the
condition.

c. If you find the condition exists in the extracted model XML file and condition parameters and
condition expression are correct, proceed to the next troubleshooting step. Otherwise,
investigate why the condition did not get deployed; perhaps the deployment failed and the
failure was ignored and so the condition did not get deployed to the database.

4. Verify that the CLIPS rules file was generated correctly.

a. Launch the rich client.

b. Search for the CLIPS Rules dataset instance.

If you do not see a CLIPS Rules dataset instance, it means that something failed during
deployment and prevented the CLIPS Rules dataset from being instantiated. Try manually
regenerating it by executing the bmide_setupknowledgebase utility.

c. Right-click the CLIPS Rules dataset instance and choose Named References.

Business Modeler IDE PLM00071 11.2 6-133


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

d. Select the CLIPS_text named reference and click the Download button to export it.
If you are unable to export the CLIPS_text named reference, check if FMS and volumes are set
up correctly. These have to be set up correctly for the CLIPS rules file to get generated and
uploaded as named references. Once you fix FMS and volume related issues, try exporting the
CLIPS_text named reference again.

e. Open the exported CLIPS rules file (for example, rules_id.clp) in a text editor and search for
the condition.
If you find the condition exists in the CLIPS rules file and condition parameters and condition
expression seem correct, then the problem could be with the evaluation code. Otherwise, try
regenerating the CLIPS rules file manually by running the bmide_setupknowledgebase
utility to see if that resolves the issue.

bmide_setupknowledgebase
-u=user-name
-p=password -g=group
-regen=true
-log=bmide_setupknowledgebase.log

ITK APIs for conditions

The following ITK APIs are the only ones required for condition engine processing:

• CE_evaluate_condition
Evaluates the condition using the specified condition tag and condition parameters.

extern CE_API int CE_evaluate_condition(


const tag_t condition_tag, /**< (I) */
const int parm_count, /**< (I) */
const tag_t *parm_tags, /**< (I) */
logical *result /**< (O) */
);

For example:

// .... some code .... //


ifail = CE_evaluate_condition( condition_tag,

6-134 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
View condition engine service information

parmCount,
parmArray,
&local_result );
// .... some code .... //

Always pass in the NULLTAG value for the UserSession object parameter. The condition engine code
automatically retrieves the UserSessionobject.
The value of the tag of all objects represented in the condition signature (with the exception of the
UserSession object for which you pass in the NULLTAG parameter) must be provided in the order
they are defined in the condition signature. For example, given an ExampleCondition(Item o,
ItemRevision ir, UserSession u) condition signature, provide the actual tag of an Item object in the
first parameter, the actual tag of an ItemRevision object in the second parameter, and NULLTAG for
the third parameter. The parm_count number is three, and the parameters are loaded into the array
of tags in that order.
The CE_evaluate_condition API does not invoke the rules engine if the condition name is isTrue or
isFalse, so there is no need for callers to retrieve the condition name using the condition tag to check
if the condition name is isTrue or isFalse.

• CE_find_condition
Returns the condition tag for the specified condition name attribute value.

extern CE_API int CE_find_condition(


const char *condition_name, /**< (I) */
tag_t *condition_tag /**< (O) */
);

• CE_ask_condition
Returns the condition name attribute value for the specified condition tag.

extern CE_API int CE_ask_condition(


const tag_t condition_tag, /**< (I) */
char **condition_name /**< (OF) */
);

The return value is OF, so the output must be freed by SM_free.

View condition engine service information

Details regarding the condition engine service can be viewed in the Foundation template in the
Business Modeler IDE.

1. Open the Extensions\Code Generation\Services\TcSoaBusinessModeler folders.

2. Double-click the ConditionEngine object to view the details.

Following is the ConditionEngine service API:

Business Modeler IDE PLM00071 11.2 6-135


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Connection connection = SoaSession.getConnection();


ConditionEngineService conditionEngineService =
ConditionEngineService.getService( connection );
EvaluateConditionsResponse response = null;
try
{
ConditionInput[] inputs = new ConditionInput[2];

// true condition
ConditionInput conditionInput1 = new ConditionInput();
conditionInput1.conditionName = "isTrue";
inputs[0] = conditionInput1;

// false condition
ConditionInput conditionInput2 = new ConditionInput();
conditionInput2.conditionName = "isFalse";
inputs[1] = conditionInput2;

// evaluate conditions
response = conditionEngineService.evaluateConditions( inputs );

// process results
assertEquals( response.outputs[0].exitCode, 0 );
assertEquals( response.outputs[0].result, true );

assertEquals( response.outputs[1].exitCode, 0 );
assertEquals( response.outputs[1].result, false );
}
catch ( Exception e )
{
assertNull( e ); }

Application extensions

Introduction to application extensions

Application extensions allow for the configuration of applications using a decision table. This extension
point defines the table and the inputs and outputs that customers can configure against it.

Application extensions can be used to configure business logic on the server, a Teamcenter rich client
application (such as My Teamcenter), a Teamcenter thin client, or any application. You can use
application extensions for anything that calls an input and output, from user interface changes (icons,
colors, and so on) to actions. Application extensions use the rules based framework (RBF).

Adding an application extension can be a multi-step process. First you must add the application
extension point. Next, you can add a rule that governs when the extension point is applied. Finally, you
must ensure that you have the API in the code that calls the extension point.

The extension point ID and input arguments are passed in to the Teamcenter rich client or thin client
application. Therefore, you must work with an application developer to ensure that the ID and
arguments have the proper format to pass in to the application.

6-136 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an application extension point

Caution:
Application extension points are like a contract. Once they are defined, others can configure
application extension rules on them. Do not modify or delete application extension points after
they are created, because they may have been deployed, or application extension rules may have
been configured against them.

Add an application extension point

An application extension point allows for the configuration of applications using a decision table. This
extension point defines the table and the inputs and outputs that customers can configure against it.
You can use this decision item in a Teamcenter rich client application. After you create an application
extension point, you must create an application extension rule to govern when it is used.

1. Open the Extensions\Rules folders.

2. Right-click the Application Extension Points folder and choose New Application Extension Point.
The New Application Extension Point wizard runs.

3. Perform the following steps on the Application Extension Point dialog box:

a. The Project box defaults to the previously-selected project.

Business Modeler IDE PLM00071 11.2 6-137


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

b. In the ID box, type the ID you want to assign to the extension point. The ID must be all
lowercase and have no spaces. This ID is used by the extension rule, and is also passed in to
the Teamcenter rich client application.
For convenience, you may want to include the namespace where the application extension
point is used.

c. In the Name box, enter the name you want to assign to the new application extension point.

d. The Type box defaults to DecisionTable. The decision table lists the inputs and outputs of the
extension point.

e. In the Description box, enter a description of the application extension point.

f. Click Next.
Inputs and Outputs tables appear.

4. Click the Add button to the right of the Inputs table.


The Add Input dialog box is displayed.

6-138 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an application extension point

Perform the following steps on the Application Extension Point - Add Input dialog box:

a. In the Type box, select Primitive or Business Object as the type of extension point input.
Select Primitive if you want to use a data format for input (date, double, float, integer,
logical, or string). Select Business Object if you want to use properties for input. (You select
the properties later, when you create the rule.)

b. Click Browse to the right of the Type Name box to select a standard data type, either
Boolean, Date, Double, Float, Integer, or String.

c. If you previously selected a primitive, in the Column Name box, type the name you want for
the input column in the extension rule decision table. This column name appears when you
create the extension rule for this point.

d. If you previously selected a double, float, or integer primitive, select the Expression? check
box if the input accepts a condition expression (for example, True or False).

e. If you previously selected a primitive, and you want to use an LOV for the application
extension point, click the Browse button to the right the LOV Name box.

f. Click Finish.
The input appears on the Inputs table.

5. Click the Add button to the right of the Outputs table.


The Add Output dialog box is displayed.

Business Modeler IDE PLM00071 11.2 6-139


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Perform the following steps in the Add Output dialog box:

a. The Type box defaults to Primitive.

b. Click the Browse button to the right of the Type Name box to select a type (string, float, date,
and so on). Enter an asterisk (*) in the search dialog to see the available types.

c. In the Column Name box, type the name you want for the output column in the extension
rule decision table. This column name appears when you create the extension rule for this
point.

d. If you want to use an LOV for the extension point, click the Browse button to the right of the
LOV Name box

e. Click Finish.
The output appears in the Outputs table.

6. Continue adding inputs and outputs as desired by clicking the Add button to the right of the Inputs
and Outputs tables.

7. After you create inputs and outputs, click Finish.


The application extension point is created and appears in the Application Extension Points folder.

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

If you want to create a rule that defines when the application extension point is used, you can create an
application extension rule.

6-140 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an application extension rule

Add an application extension rule

An application extension rule determines when an application extension point is used, and defines
inputs and outputs. When the input is matched, the rule engine returns the output to the application
that called the extension point. Before you create an application extension rule, you must have already
created an application extension point.

1. Open the Extensions\Rules\Application Extension Points folders.

2. Right-click the application extension point against which you want to create the rule and choose
Open.
The rule appears in a new view.
It is helpful to have the extension point open so you can see the input and output details while you
create the rule.

3. Right-click the application extension point against which you want to create the rule and choose
Add→Application Extension Rule.
The New Application Extension Point Rule wizard runs.

4. Perform the following steps in the Application Extension Rule dialog box:

a. The Project box defaults to the project in which you want to create the new rule, and the ID
box contains the ID for the previously selected application extension point.

b. In the Name box, enter the name you want to assign to the new rule.

c. In the Description box, enter a description of the application extension rule.

Business Modeler IDE PLM00071 11.2 6-141


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

d. Click Next.
A decision table and a business contexts list appear.

5. The dialog box is different depending on whether you chose a primitive or a business object when
you created the extension point. If you chose a primitive for the input on the extension point,
proceed to step 6.
If you previously selected a business object for the extension point, a Config Inputs button appears
to the right of the Decision Table. Click the Config Inputs button.
The Select Input Column Names wizard runs.

Perform the following steps on the Input Column Names dialog box:

6-142 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an application extension rule

a. Click the Add button.


The Business Object Input Details dialog box appears.

b. Click the Browse button to the right of the Property Name box. Select a property to use for
input.

c. The Column Name box defaults to the property name. Change the name if you want.

d. Click the Browse button to the right of the LOV Name box if you want to use an LOV for the
input. The LOV type must match the property type. For example, if the property is a string
type, the LOV must also be a string type.

e. Click Finish in the Business Object Input Details dialog box.

f. Add more properties if you want by clicking the Add button.

g. Click Finish in the Input Column Names dialog box.

6. The decision table displays the input and output column names. For primitives (string, date, and so
on), these are created when you made the extension point. For business objects, these are created
when you selected the properties on the rule.
Click the Add button to the right of the Decision Table.
The Rules Detail dialog box is displayed.

Business Modeler IDE PLM00071 11.2 6-143


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Perform the following steps on the Rules Detail dialog box:

a. In the Inputs box, type the inputs for the point. (The inputs are different for every rule and
are provided by the application extension point that the rule is created against.)

b. In the Outputs box, type the outputs for the point. (Like the inputs, the outputs are different
for every rule and are provided by the application extension point that the rule is created
against.)

c. Click Finish.

7. If you want to define the user group or roles for whom the rule applies, click Add button to the
right of the BusinessContexts pane to add a business context.

8. After you create the rule, click Finish.


The application extension rule is created and appears below the application extension point in the
Application Extension Points folder.

9. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

10. Deploy your changes to the server. Choose BMIDE→Deploy Template on the menu bar, or select
the project and click the Deploy Template button on the main toolbar.

11. To verify the application extension rule on the server, run the execute_rbf_rules utility.
This utility validates the application extension rules that are deployed.

Adding an application extension is a three-step process. First you must add the application extension
point, and then you must add the rule that governs when the extension point is applied. Finally, you
must ensure that you have the API in the code that calls the extension point.

6-144 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a business context

Add a business context

A business context defines the user groups for whom a rule applies. For example, if you only want a rule
to apply to members of the project administration group, create a business context that identifies the
project administration group. Then apply that context to the appropriate rule. Business contexts can be
set for application extension rules.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Business Context in the Wizards
box, and click Next.

• Open the Extensions\Rules folders, right-click the Business Contexts folder, and choose New
Business Context.

The New Business Context wizard runs.

2. Perform the following steps in the Business Context dialog box:

a. The Project box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the business context in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Description box, type a description of the business context.

Business Modeler IDE PLM00071 11.2 6-145


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

d. Click the Add button to the right of the Accessor table to choose a group and role for the
business context.
The Teamcenter Repository Connection wizard prompts you to log on to a server to look up
its available groups and roles.

e. Select the group and role from the Accessor Selection dialog box.

f. Click Finish.
The new business context appears under the Business Contexts folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

Now that you have created the business context, it is available for use by other rules. Once the business
context is applied to a rule, that rule can only be invoked for the user groups identified in the business
context. Business contexts can be set for application extension rules.

Sample application extension APIs

About the sample application extension APIs

When you create an application extension point, you must ensure that you have the application
programming interface (API) in the code that calls the extension point. You can call a services-oriented
architecture (SOA) API, or an Integration Toolkit (ITK) API.

• SOA API
The services-oriented architecture (SOA) API evaluates and executes application extension rules
contained in the specified application extension point on the given input name-value pairs, and
returns the result of the execution in the output name-value pairs. The executeRbfRules operation is
used for this processing.

6-146 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
RBF_execute

• ITK API
The RBF_execute Integration Toolkit (ITK) API is called to evaluate input supplied against the contents
of the knowledge base using the rules engine for a specific application extension point (AEP)
definition. The output results are provided based on that same AEP definition for the calling routine to
continue to process. It is the responsibility of the calling routine to decide what processing occurs
based on the output received.

RBF_execute

This set of APIs can be used by an external developer to interact with the rules engine. The declarations
can be found in the rbf.h include file.

CONSTANT DEFINITIONS

#define RBF_VALUE_DATATYPE_STRING “STRING”;


#define RBF_VALUE_DATATYPE_BOOLEAN “BOOLEAN”;
#define RBF_VALUE_DATATYPE_INTEGER “INTEGER”;
#define RBF_VALUE_DATATYPE_DOUBLE “DOUBLE”;
#define RBF_VALUE_DATATYPE_FLOAT “FLOAT”;
#define RBF_VALUE_DATATYPE_DATE “DATE”;
#define RBF_VALUE_DATATYPE_TAG “TAG”;

Use these constant values as the dataType value in the following RBF_value structure.

DATA STRUCTURES

struct RBF_value
{
char *dataType;
char *stringValue;
logical booleanValue;
int integerValue;
double doubleValue;
float floatValue;
date_t dateValue;
tag_t tagValue;
RBF_value()
{
dataType = 0;
stringValue = 0;
booleanValue = false;
integerValue = 0;
doubleValue = 0;
floatValue = 0;
dateValue = NULLDATE;
tagValue = NULLTAG;
}
};

Business Modeler IDE PLM00071 11.2 6-147


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

struct RBF_name_value
{
char *name;
RBF_value value;
};

These data structures are used to pass input into and receive output from the RBF_execute ITK API call.
There are helper ITK APIs to help create, populate, and free the array of structures used as both input
and output to the RBF_execute ITK API:

• RBF_build_name_value_pairs(

int RBF_build_name_value_pairs(
const char *nvp_name, /* Input */
const char *nvp_data_type, /* Input */
const char *nvp_value, /* Input */
int *count, /* I/O */
RBF_name_value **values ) /* I/O (RBF_free_name_value) */

This ITK API builds the array of name/value pair structures for input into the RBF_execute ITK API. If
the values parameter is NULL, then the count and values are initialized with a new parameter. If the
values parameter is not NULL (already populated), then the count is incremented and values are
reallocated and a new parameter added. Call this ITK API (starting with a NULL values parameter) for
as many times as there are inputs defined for the application extension point ID that is going to be
used in the call to the RBF_execute ITK API call.
Note that the input nvp_value is always a character string. This ITK API converts that character string
to the appropriate data type (based on the input nvp_data_type value) for storage into the
appropriate value field in the RBF_value structure. For example, if the nvp_data_type is
RBF_VALUE_DATATYPE_TAG, then the input nvp_value should be a tag string.

• RBF_free_name_value

int RBF_free_name_value(
int *count, /* Input */
RBF_name_value **values ) /* I/O */

This ITK API frees the space allocated for an array of name/value pair structures. Call this ITK API for
both the input that was created for and the output that was returned from the RBF_execute ITK API
call.

SIGNATURE

int RBF_execute(
const char *id, /* Input */
int in_count, /* Input */
RBF_name_value *in_values, /* Input */
int *result_count, /* Output */
RBF_name_value **result_values ) /* Output (RBF_free_name_value) */

6-148 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
RBF_execute

This API first queries for the application extension point with the given ID. If one is found, the input
names are validated to make sure they align with what the application extension point expects. The
input (names and values) are then presented to the rules engine in a format understandable by the rules
engine. The output resulted from any matches found by the rules engine are returned as an array of
name-value pairs that are ready to be used by the client.

Input to this service includes an application extension point ID and a count/array of name-value pairs.

Output from this service is a count/array of name-value pairs.

EXAMPLE

int exampleTest( const char *inValue1,


const char *inValue2 )
{
int inCount = 0;
int ifail = ITK_ok;
int outCount = 0;
RBF_name_value *input_values = 0;
RBF_name_value *output_values = 0;
/* Build the first name/value pair input for the query
to the knowledge base */
ifail = RBF_build_name_value_pairs( “AEP-name-1”,
RBF_VALUE_DATATYPE_STRING,
inValue1,
&inCount,
&input_values );
/* Build the second name/value pair input for the query
to the knowledge base */
if ( ifail == ITK_ok )
{
ifail = RBF_build_name_value_pairs( “AEP-name-2”,
RBF_VALUE_DATATYPE_INTEGER,
inValue2,
&inCount,
&input_values );
}
/* Execute the query against the knowledge base */
if ( ifail == ITK_ok )
{
ifail = RBF_execute( “AEP-ID”,
inCount,
input_values,
&outCount,
&output_values );
}
/* Verify expected results for inValue(s) */
if ( ifail == ITK_ok )

Business Modeler IDE PLM00071 11.2 6-149


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

{
/*** Do whatever you need to with the results
found in outCount and output_values ***/
}
/* Free allocated storage */
RBF_free_name_value( inCount,
&input_values );
RBF_free_name_value( outCount,
&output_values );
return( ifail );
} /* End of exampleTest */

In the example, replace AEP-name-1, AEP-name-2, and AEP-ID with values from the application
extension point.

executeRbfRules

Provides the capability to evaluate and execute application extension rules on the server from a Java
client. This operation tells the rules engine to apply the set of application extension rules that belong to
the specified application extension point on the specified input name-value pairs and returns the result
of the execution in the output name-value pairs.

DATA STRUCTURES

struct RbfNameValue
{
std::string name;
RbfValue value;
};
* name: The "name" is a "string" that identifies the input or output column
* on the Application Extension Rule.
* value: The "value" is specified using an "RbfValue" struct.
struct RbfValue
{
std::string dataType;
std::string stringValue;
bool booleanValue;
int integerValue;
double doubleValue;
float floatValue;
Date dateValue;
Tag tagValue;
};
* dataType: indicates the type of data that the struct is holding for the
* specified input or output column on the Application Extension Rule.
* It will will have one of the following values -
* "STRING", "BOOLEAN", "INTEGER", "DOUBLE", "FLOAT", "DATE", "TAG".
* value: the value for the specified input or output column on the
* Application Extension Rule.
struct ExecuteRbfRulesResponse
{
std::vector < RbfNameValue > outputs;
Teamcenter::Soa::Server::ServiceData serviceData;
};

6-150 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to propagation rules

* outputs: Outputs are specified as name-value pairs using an "RbfNameValue" struct.


* serviceData: A "ServiceData" struct containing the status of the operation.

SIGNATURE

ExecuteRbfRulesResponse executeRbfRules( const std::string id,


const std::vector < RbfNameValue > &inputs );

DESCRIPTION

An application extension point defines and externalizes a place in the Teamcenter server where a
decision can be made.

An application extension rule is an occurrence of an application extension point that is configured based
on the constraints provided in the application extension point. Each rule defines a series of inputs and
outputs. When the input is matched by the rules engine that is running on the server, the rules engine
returns the output to the application that called the extension point to be evaluated.

The executeRbfRules() operation provides the capability to evaluate and execute application extension
rules on the server from a Java client. This operation tells the rules engine to apply the set of application
extension rules that belong to the specified application extension point on the specified input name-
value pairs, and returns the result of the execution in the output name-value pairs.

INPUT

The id value is unique application extension point ID. The inputs value is specified as name-value pairs
using an RbfNameValue structure.

OUTPUT

An ExecuteRbfRulesResponse structure containing outputs specified as name-value pairs using an


RbfNameValue structure and a ServiceData structure containing the status of the operation.

The ServiceData type is also a way of returning objects that are relevant to the service call (created,
deleted, updated, or queried objects) and handling errors. There are methods on ServiceData to
populate and retrieve the created, deleted, updated, and plain objects, as well as methods to populate
and retrieve the error stack.

Propagation rules

Introduction to propagation rules

A propagation rule is a rule that specifies to copy property values automatically from an instance of a
source business object type to an instance of a destination business object type using a relationship or a
property reference.

Business Modeler IDE PLM00071 11.2 6-151


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

For example, an item revision has a project assignment. A propagation rule can be defined to propagate
the project assignment automatically from the item revision to any dataset pasted to the item revision
when a certain operation occurs (at checkin, for example). You can also propagate any number of other
property values. You must simply create the rules to control what properties to propagate. You can also
propagate forward or backward through multiple levels in the product structure.

To create propagation rules, first use the Fnd0PropagationGroup property constant to select the
properties to be placed into property groups for propagation. Then choose
BMIDE→Editors→Propagation Rules Editor and click the Add button to the right of the propagation
table.

To obtain a list of all the properties that have been placed into the property groups, run the Property
Group Usage report by choosing BMIDE→Reports→Property Group Usage.

Note:
Previously, preferences were used to configure propagation of security data. Propagation rules
now replace these preferences:

ADA_allow_ip_classification_propagation
ADA_allow_license_propagaton
ADA_allow_gov_classification_propagation
TC_project propagate_from dataset

Create a propagation rule

A propagation rule copies property values from one object type to another object type using
relationships and property references when a certain operation occurs (for example, at checkin). If you
want to propagate property values across multiple levels in a product structure, you must create one
rule per level in the structure.

1. Use the Fnd0PropagationGroup property constant to select the properties to be placed into
property groups for propagation.
For example, to propagate the owning_project property from the ItemRevision business object
type to another business object type, select the property and then select the
Fnd0PropagationGroup property constant on the Property Constants tab to assign the property
to Security Group II.

6-152 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a propagation rule

By default, there are three COTS property groups to which you can add properties:

• Security Group I
Specifies a group of properties whose values must be merged into a master list (merge
propagation style), such as project_list and license_list.

• Security Group II
Specifies a group of properties whose values must be filled in (overwrite propagation style), such
as owning_project.

• Security Group III


Specifies a group of properties whose values must be placed in order of precedence (order
propagation style), such as gov_classification and ip_classification.

The list of property groups is defined in the Fnd0PropertyGroupNames list of values (LOV). You
can create your own property group to add to this list.

Business Modeler IDE PLM00071 11.2 6-153


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Tip:
To obtain a list of all the properties that have been placed into the property groups, run the
Property Group Usage report by choosing BMIDE→Reports→Property Group Usage.

2. After you add to property groups all the properties that you want to propagate, you are ready to
create the rules to define the propagation.
Choose BMIDE→Editors→Propagation Rules Editor.

The Propagation Rules editor is displayed.

3. Click the Add button to the right of the table.


The Add Propagation Rule dialog box is displayed.

6-154 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a propagation rule

4. Click the arrow in the Direction box to select the direction the propagation occurs:

• Forward
Represents that the relationship’s primary object is the source and the secondary object is the
destination or that the source object has a typed reference to the destination object.

• Reverse
Represents that the relationship’s secondary object is the source and the primary object is the
destination or that the destination object has a typed reference to the source object.

5. Click the Browse button to the right of the Source Business Object box to select the source
business object type to provide the data.

6. Click the arrow in the Operation box to select the operation when you want the data to be
propagated:

CheckIn
CheckOut
Create
Delete
Export
Import
Revise
Save
SaveAs
All

Business Modeler IDE PLM00071 11.2 6-155


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

All means that the data is propagated when any of the operations occurs.

7. Click the Relation button to locate destination business objects based on relationship, or click the
Reference button to locate destination business objects based on a property reference.

8. If you select the Relation button, click the Browse button to the right of the Relation box to select
the relationship used to locate destination business objects.
If you select the Reference button, click the Browse button to the right of the Reference box to
select the property used to locate destination business objects.

9. Click the Browse button to the right of the Destination Business Object box to select the business
object type to receive the data.
If you used the Reference box, the Destination box is automatically populated.

10. Click the Browse button to the right of the Propagation Group box to select the group of
properties to propagate (for example, No Group, Security Group I, Security Group II, or Security
Group III).

Tip:
The list of property groups that is displayed is defined in the Fnd0PropertyGroupNames list
of values (LOV). You can create your own property group to add to this list.
To flag properties to belong to a property group, select the property on the source business
object type and then select the Fnd0PropagationGroup property constant.
To obtain a list of all the properties that have been placed into the property groups, run the
Property Group Usage report by choosing BMIDE→Reports→Property Group Usage.

11. Click the Browse button to the right of the Action Condition box to select the condition that must
be met for the propagation to occur.
If the condition evaluates to true, the propagation occurs for the destination object.

12. Click the Browse button to the right of the Traversal Condition to select the condition that must
be met for the propagation to traverse to additional objects.
If the condition evaluates to true, the propagation occurs beyond the first target object and
traverses to the next object.

13. Click the arrow in the Propagation Style box to determine how to handle a property if it already
exists on the destination object:

• Merge
Adds the source property value to the destination property values when the property is a list of
values. If it is a nonlist property, the source value overwrites the destination value.

• Order
Keeps the property value with the most restrictive classification (for IP_ and ITAR_ properties
only).

6-156 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Propagation rule example

• Fill
Fills in the value on the destination property only if the property has no value. If the destination
property already has a value, it is not overwritten.

• Overwrite
Overwrites the destination property value with the source property value.

14. Select the Secured check box to prevent the propagation rule from being modified or
overridden by another template.

15. Select the Background check box to have the propagation performed in background mode in a
separate asynchronous server session.

16. Click Finish.


The new propagation rule is displayed in the Propagation Rules editor.

17. Use live update to deploy the propagation rules to a test server and verify their behavior.

Propagation rule example

Propagation rules allow you to propagate property values from one business object type to another.

The following example illustrates how a project assignment can be propagated from one business object
type to another using propagation rules. In the example, rules are created to propagate the project
assignment (Project A) on a Cpd0CollaborativeDesign business object type to other business object
types. There is one rule for each level that the data must traverse.

1. Create the propagation rules by choosing BMIDE→Editors→Propagation Rules Editor and clicking
the Add button to the right of the propagation rules table.
The following diagram shows the propagation rules used in this example.

Business Modeler IDE PLM00071 11.2 6-157


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

2. A user sets data on a business object type for which propagation rules are set. The user sets the
data on a Cpd0CollaborativeDesign business object type.

Setting the data

3. When an action is taken on that business object type that starts the propagation (for example, at
checkin), the data is propagated through the structure. The action is defined in the propagation
rules.

6-158 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Propagation rule example

Propagating the data

4. After propagation, you can view the propagated data on the business object instances.

Data after propagation

The following example shows how data can be further propagated to multiple levels, both forward and
backward through the structure. In this example, another project assignment (Project B) is propagated
from the Ptn0Partition business object type.

Business Modeler IDE PLM00071 11.2 6-159


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

Setting the data for the next level of propagation

In this example, the propagation rules propagate the data forward as well as backward through the
structure.

Propagating forward and backward through the structure

After the data is propagated by all the rules, the data is assigned to the appropriate business object
types.

6-160 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Considerations for propagation rules

Data after the final propagation

Considerations for propagation rules

• Propagation rules can be used to copy security data such as project assignments, ADA licenses, and
Classification properties (for example, ip_classification, gov_classification, and
itar_classification). Prior to Teamcenter 11.2, preferences were used to configure propagation of this
type of security data. Propagation rules now replace the older preferences-configured propagation
method.

• If a propagation rule is used to set a property value, the value can only be changed at the business
object type where it is set, not from the business object where it is inherited. Therefore, if end users
attempt to change values of properties, they can change only those values on source objects, not
those that are inherited by propagation. For example:

1. Assign an item to a project.

2. Attempt to remove the same project from the item revision.

3. The operation is not successful, and no error messages are displayed.

Business Modeler IDE PLM00071 11.2 6-161


© 2019 Siemens Product Lifecycle Management Software, Inc.
6. Creating business rules

6-162 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language
in the Business Modeler IDE
Localization process in the Business Modeler IDE ───────────────── 7-1
Setting language support ──────────────────────────────── 7-1
Introduction to setting language support ────────────────────────── 7-1
Set the languages the template supports ────────────────────────── 7-2
Change the languages the template supports ─────────────────────── 7-2
Set the master locale for the template ──────────────────────────── 7-3
Add a locale ──────────────────────────────────────────── 7-4
Setting display names ────────────────────────────────── 7-11
Introduction to setting display names ─────────────────────────── 7-11
Change display names for business objects and option types ───────────── 7-12
Set display names for properties ────────────────────────────── 7-15
Set display names for lists of values (LOVs) ──────────────────────── 7-16
Validating localizations ──────────────────────────────────── 7-17
Add the Localization button to properties ───────────────────── 7-19
Migrate a custom template to the newer language framework ──────── 7-21
Migrate property and relation names ──────────────────────── 7-21
Create a default localization ────────────────────────────── 7-25
Import localization files using the Business Modeler IDE ──────────── 7-25
Localization and live update ────────────────────────────── 7-26

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language
in the Business Modeler IDE
Localization process in the Business Modeler IDE
1. Set the languages that your template supports.

2. Set display names for custom objects or override the display names for COTS (standard) objects.

3. Add the Localization button to properties so that localization administrators can enter localized
text for the property values.

4. If you have an older custom template created prior to Teamcenter 8.2, migrate its older text
server files to the newer display name framework.

5. Use Teamcenter Environment Manager (TEM) to install your template to a test server to verify
the display names in the user interface, then install the template to a production server. When the
template is installed to a production server, the display name text appears in the user interface for
Teamcenter end users.

Caution:
Do not use live update to place localization changes on a production server. Doing so could
result in the following error:

Error Code: 515062 Error Message: Class referenced

Instead of using live update, always install localized templates using TEM.

Setting language support

Introduction to setting language support

You can set the languages that a template supports at the time you create a project in the Business
Modeler IDE, as well as by adding localization files to the project. Use the SiteMasterLanguage global
constant to set the master locale for the template. Use the Fnd0SelectedLocales global constant to
store the supported languages.

Note:
Translating text in a user interface is often called localization because it means translating text
into languages used in different locales around the world.

Business Modeler IDE PLM00071 11.2 7-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

Set the languages the template supports

In the Business Modeler IDE, you can set the languages that your template supports at the time you
create the template project.

1. Choose File→New→New Business Modeler IDE Template Project.

2. Click Next until you get to the Locales Selector dialog box. Use this dialog box to select the
languages your template supports. The displayed names of the data model you create in the
template are viewable in these languages in the Teamcenter end-user interface.

Caution:
Only select the locales your database supports.

Change the languages the template supports

In the Business Modeler IDE, the supported languages selected when the project is created are stored in
the Fnd0SelectedLocales global constant. To see this constant, choose BMIDE→Editors→Global
Constants Editor. To change the supported languages:

1. Open the Project Files\extensions folders, right-click the lang folder, and choose Organize→Add
localization files.
The Add Localization File dialog box is displayed.

2. Select the locales you want the template to support and click Finish.

7-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Set the master locale for the template

The Fnd0SelectedLocales global constant is updated.

Set the master locale for the template

In the Business Modeler IDE, use the SiteMasterLanguage global constant to set the master locale for
the template. When you install a template to a server with this global constant set to a certain language,
that language is the main language used for data input on the server.

Note:
• Use the TC_fts_enforce_master_language preference to specify the language used to index
unlocalized properties in cases where the SiteMasterLanguage global constant value should
not be used.

• When you click the Localization button in the Teamcenter client user interface, the resulting
Language Translations dialog box displays the master locale setting in the Master Locale box.

1. On the menu bar, choose BMIDE→Editors→Global Constants Editor.

2. Select the SiteMasterLanguage constant in the Global Constants table.

Note:
Use the TC_fts_enforce_master_language preference to specify the language used to index
unlocalized properties in cases where the SiteMasterLanguage global constant value should
not be used.

3. Click the Edit button.

4. Enter a new language code. The default value is en_US. Valid values are the following
language_locale codes:

• cs_CZ
Czech as spoken in the Czech Republic

• de_DE
German as spoken in Germany

• en_US
English as spoken in the United States

• es_ES
Spanish as spoken in Spain

• fr_FR
French as spoken in France

Business Modeler IDE PLM00071 11.2 7-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

• it_IT
Italian as spoken in Italy

• ja_JP
Japanese as spoken in Japan

• ko_KR
Korean as spoken in Korea

• pl_PL
Polish as spoken in Poland.

• pt_BR
Portuguese as spoken in Brazil.

• ru_RU
Russian as spoken in Russia

• zh_CN
Chinese as spoken in China

• zh_TW
Chinese as spoken in Taiwan

5. Click Finish.

Add a locale

If the language you want to use is not on the list of available locales offered by Teamcenter, you can add
a new locale using the Business Modeler IDE. For example, if you want to provide translations in
Swedish, you can add the sv_SE locale to your template and to the server database.

1. Add the new locale to your template.

a. In the Business Modeler IDE, open the Project Files\extensions folders, right-click the lang
folder, and choose Organize→Add localization files.
The Add Localization File dialog box is displayed.

7-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a locale

b. Select the Show Additional Locales check box.

c. Select the new locale you want to use. For example, if you want to use the Swedish locale,
select sv_SE - Swedish (Sweden).

d. Click Finish.
A message is displayed stating that Teamcenter does not support the locale by default and
that you must add support for the new locale to the server.
A new language_locale folder is created in the Project Files\extensions\lang folder. To see
the new file, right-click the view and choose Refresh.
The new locale is added to the list of available locales in the template, and is also added in the
Fnd0SelectedLocales global constant. To see the new locale in the constant, choose
BMIDE→Editors→Global Constants Editor.

e. Install the template to the server.

2. Add the new locale to server files.

a. Add the new locale to the textsrv_text.xml file.

A. Open the TC_ROOT\lang\textserver\no_translation\textsrv_text.xml file.

Note:
You can also use TC_MSG_ROOT in place of TC_ROOT\lang.

B. Determine the encoding that must be used for the new locale.

Business Modeler IDE PLM00071 11.2 7-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

For the example of Swedish, the textsrv_text.xml file makes it easier to determine the
encoding because it contains comments that show the encodings needed for Swedish
and some other languages. To see the comments, search for the word Swedish in the
file. The comments show that the following encodings must be used for Swedish:

ISO8859_1
ISO8859_4
ISO8859_15
NT_1254
UTF-8

Note:
Swedish is not listed in the comments for UTF-8 encoding because all locales
are supported in UTF-8.

To determine the encodings to use for your new locale, consult the following tables.

Encodings for Oracle databases

Encoding Oracle encoding name

ASCII us7ascii

BIG5 zht16big5

BIG5 zht16mswin950

EUC ja16euc

GB2312 zhs16cgb231280

GB2312 zhs16gbk

ISO8859_1 we8iso8859p1

ISO8859_2 ee8iso8859p2

ISO8859_4 nee8iso8859p4

ISO8859_5 cl8iso8859p5

7-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a locale

Encoding Oracle encoding name

ISO8859_6 ar8iso8859p6

ISO8859_7 el8iso8859p7

ISO8859_8 iw8iso8859p8

ISO8859_15 we8iso8859p15

KSC5601 ko16ksc5601

NT_852 ee8pc852

NT_862 iw8pc1507

NT_866 ru8pc866

NT_1250 ee8mswin1250

NT_1251 cl8mswin1251

NT_1252 we8mswin1252

NT_1253 el8mswin1253

NT_1254 tr8mswin1254

NT_1255 iw8mswin1255

NT_1256 ar8mswin1256

NT_1257 blt8mswin1257

SJIS ja16sjis

UTF-8 utf8

UTF-8 al32utf8

Business Modeler IDE PLM00071 11.2 7-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

Encodings for MS SQL databases

Encoding MS SQL encoding name

BIG5 Chinese_Taiwan_Stroke_BIN

BIG5 Chinese_PRC_BIN

KSC5601 Korean_Wansung_BIN

NT_1250 Croatian_BIN

NT_1250 Czech_BIN

NT_1250 Hungarian_BIN

NT_1251 Cyrillic_General_BIN

NT_1252 Latin1_General_BIN

NT_1253 Greek_BIN

NT_1254 Turkish_BIN

NT_1255 Hebrew_BIN

NT_1256 Arabic_BIN

NT_1257 Estonian_BIN

NT_1257 Latvian_BIN

NT_1257 Lithuanian_BIN

NT_1257 Polish_BIN

SJIS Japanese_BIN

For the Swedish example, the encoding possibilities are:

7-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a locale

Oracle database MS SQL database Windows UNIX Server


Server required
required machine
machine encoding
encoding

we8iso8859p1 latin1_general_bin NT_1252 ISO8859-1

nee8iso8859p4 - - ISO8859-4

we8iso8859p15 - - ISO8859-15

tr8mswin1254 turkish_bin NT_1254 -

utf8 / al32utf8 - - UTF-8

C. After you determine the proper encodings to use, add the new locale to the encodings
textsrv_text.xml file.
For example, if you want to add Swedish, add the sv_SE locale to the following encoding
lines in the file:

<key id="textsrv_dbEncodingName_ISO8859_1">ISO8859-1</key>
<key id="textsrv_encodingLocales_ISO8859_1">en_US;fr_FR;de_DE;it_IT;es_ES;sv_SE</key>
<key id="textsrv_dbEncodingName_ISO8859_4">ISO8859-4</key>
<key id="textsrv_encodingLocales_ISO8859_4">en_US;de_DE;sv_SE</key>
<key id="textsrv_dbEncodingName_ISO8859_15">ISO8859-15</key>
<key id="textsrv_encodingLocales_ISO8859_15">en_US;fr_FR;de_DE;it_IT;es_ES;sv_SE</key>
<key id="textsrv_dbEncodingName_NT_1254">NT-1254</key>
<key id="textsrv_encodingLocales_NT_1254">en_US;fr_FR;de_DE;it_IT;es_ES;sv_SE</key>
<key id="textsrv_dbEncodingName_UTF8">UTF-8</key>
<key
id="textsrv_encodingLocales_UTF8">cs_CZ;de_DE;en_US;es_ES;fr_FR;it_IT;ja_JP;ko_KR;ru_RU;zh_CN
;zh_TW;sv_SE</key>

b. Add the new locale to the TC_ROOT\lang\textserver\en_US\textsrv_text_locale.xml file to


ensure that the language display names appear when connecting to the rich client in English.
Add the following line:

<key id="textsrv_localeName_language_locale">language-description</key>

For the Swedish example, add the following line to the file:

<key id="textsrv_localeName_sv_SE">Swedish</key>

c. If you want all the server-supplied user interface text and messages to appear in the new
locale, copy the TC_ROOT\lang\textserver\en_US\ directory to a new locale directory and
translate all the files into the new language.

Business Modeler IDE PLM00071 11.2 7-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

For the Swedish example, copy the directory to a TC_ROOT\lang\textserver\sv_SE\ directory


and translate the contents of the files to Swedish.

d. If you are using shared memory, you must remove the shared memory backing store files
to ensure that all the modifications are considered when the pool manager and the middle
tier are restarted.
The TC_SHARED_MEMORY_DIR environment variable value specifies the directory where the
store backing files are stored.

e. If you updated the data in the text server file and you have enabled the rich client cache using
TEM, you must update the client cache by running the generate_client_meta_cache utility.

3. Verify the new locale in the rich client.

a. Add -nl language_location to the rich client startup script.


For the Swedish example, add -nl sv_SE to the script, for example:

TC_ROOT\portal\portal.bat -nl sv_SE

b. If you did not copy the TC_ROOT\lang\textserver\en_US\ directory to your new locale and
translate all the contents of the files to the new language, the following error message is
displayed:

Unable to connect with the requested locale language_location.


The application will exhibit mixed localizations because
Teamcenter server is running in English.
Details
The Teamcenter server does not have 'language_location'
localization files.

If you did create the new directory with translated content, this error message does not
appear.

c. To verify that the new locale is available for data input, click the Localization button to see
the new locale include in the list of available locales.
For example, in the Query Builder application, select a query in the Saved Queries pane and
click the Localization button. Click in the Locale cell to see the new locale listed.

d. To change the language for inputting text to the new locale, enter the new locale to the
TC_language_data_entry preference. To see these language preferences, choose
Edit→Options, click the Search at the bottom of the Options dialog box, and search for
preferences beginning with TC_language.

7-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to setting display names

Setting display names

Introduction to setting display names

You can use the Business Modeler IDE to define the name that displays for data model objects in
Teamcenter user interface clients. You can set the display name for your custom objects as well as
override display names on COTS (standard) Teamcenter objects.

For example, if you create a new part business object type named A5_Bolt, you can use the Display
Name box in the creation dialog box to set the display name as Bolt.

Then, to add the display name for the object in other languages, open the new business object type and
click the Add button to the right of the Localization table.

Business Modeler IDE PLM00071 11.2 7-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

Caution:
If you change the display name of an object in the master locale, you must also change the display
names for the object in all locales. If you do not, the status of display names in other locales is
marked as invalid.

Change display names for business objects and option types

In the Business Modeler IDE, when you create a custom data model object or option, type the value for
the display name in the Display Name box in the creation dialog box. This procedure describes how to
change the display name after it is set. The following procedure applies to all business objects, as well as
the following types listed in the Options folder: classic changes, ID contexts, note types, occurrence
types, statuses, and view types.

1. In the Business Modeler IDE, open a custom object or a COTS (standard) object.

2. Open the Localization tab.

7-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Change display names for business objects and option types

3. Select the text in the Localization table and click one of the buttons to the right of the table:

• Override
Changes the display name for a COTS object.

• Edit
Changes the display name for a custom object or an already overridden COTS object.

• Add
Adds a new display name.

• Remove
Removes the display name.

The Localization dialog box appears.

Business Modeler IDE PLM00071 11.2 7-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

4. Perform the following in the Localization dialog box:

a. In the Value Localization box, type the value for the display name.

b. Click the arrow in the Locale box to select the language locale where the text is to be used.
Any of the following locales may be listed, depending on the languages the template supports
as set in the Fnd0SelectedLocales global constant:

• cs_CZ
Czech as spoken in the Czech Republic

• de_DE
German as spoken in Germany

• en_US
English as spoken in the United States

• es_ES
Spanish as spoken in Spain

• fr_FR
French as spoken in France

• it_IT
Italian as spoken in Italy

• ja_JP
Japanese as spoken in Japan

• ko_KR
Korean as spoken in Korea

7-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Set display names for properties

• pl_PL
Polish as spoken in Poland.

• pt_BR
Portuguese as spoken in Brazil.

• ru_RU
Russian as spoken in Russia

• zh_CN
Chinese as spoken in China

• zh_TW
Chinese as spoken in Taiwan

c. In the Status box, select the status of the text change in the approval life cycle:

• Approved
The text change is approved for use.

• Invalid
The text change is not valid.

• Pending
The text change is pending approval.

• Review
The text change is in review.

Tip:
You can export text for translation based on its status using the l10n_import_export
utility.

d. Click Finish.

Set display names for properties

Properties display information about objects in Teamcenter, such as name, creation date, owner, and so
on. Using the Business Modeler IDE, you can define the name that displays for properties in the
Teamcenter user interface.

1. In the Business Modeler IDE, open a business object and click the Properties tab.

2. Select a string property in the table for which you want to change the display name, for example,
object_name.

Business Modeler IDE PLM00071 11.2 7-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

3. Click the Override, Edit, or Add buttons to the right of the Localization table to change the text.

Note:
To be proficient with properties, you need to know both the internal name of the property and its
display name. You can change the settings in the rich client to display the internal name of a
property in the user interface. Log on to the rich client as an administrator, choose Edit→Options,
and in the left pane of the Options dialog box, choose Options→General→UI. In the right pane,
click the Sys Admin tab and select Real Property Name. To verify the change, select an item in
the rich client and choose View→Properties.

Tip:
You can change how values for properties are displayed in the Active Workspace user interface by
using property formatters.

Set display names for lists of values (LOVs)

Lists of values (LOVs) are the pick lists displayed in Teamcenter when end users click an arrow in a data
entry box. Using the Business Modeler IDE, you can define the text that displays for string LOVs in the
Teamcenter user interface.

1. In the Business Modeler IDE, open the Extensions\LOV folders.

2. Open an LOV and select a value in the LOV table.

3. Click the Localization button to the right of the table.


The LOV Value Localization dialog box is displayed.
The Localization dialog box appears.

4. In the LOV Value Localization dialog box, click the Override, Edit, or Add button.
The Localization dialog box is displayed.

7-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Validating localizations

5. Perform the following in the Localization dialog box:

a. In the Value Localization box, type the value as you want it to display in the user interface.

b. Click the arrow in the Locale box to select the language locale where the text is used.

c. If a description was previously entered for the LOV value, in the Description Localization box,
type a description for the display text.

d. In the Status box, select the status of the text change in the approval life cycle.

e. Click Finish.

6. Click Finish in the LOV Value Localization dialog box.

Validating localizations

In Teamcenter 8.3, support was provided in the Business Modeler IDE to specify display names (localized
names) for several data model elements. For example, you could specify localized names for the
business object property name in several locales like English (en_US), German (de_DE), French (fr_FR),
Russian (ru_RU), and so on.

When users enter display names in the Business Modeler IDE they can use characters in the Display
Name field that are potentially not supported by the database encoding. This issue becomes apparent
only when the template is deployed to the database. For example, you support localizations only for the
English locale (en_US), and your database encoding is set to ISO-8859-1. In the Business Modeler IDE,
you create a new business object property and enter the Euro symbol (€) in its Display Name field. The
Business Modeler IDE does not complain about the Euro symbol in the display name for the business
object property and it allows you to package the template and deploy it to the database. But the
database deployment fails because the database encoding ISO-8859-1 does not support the Euro
symbol.

Beginning in Teamcenter 9, the display names (localizations) entered in the Business Modeler IDE are
validated to ensure that the characters used in the display names are valid for a given locale. The same
validations are done by the Business Modeler IDE parser whenever you open, reload, or import a
Business Modeler IDE project to the Business Modeler IDE client.

To achieve this validation, the Business Modeler IDE now installs the textsrv_text.xml file into the
TC_ROOT/lang/textserver/no_translation directory.

The textsrv_text.xml file contains encodings per locale that are used by the Business Modeler IDE client
to validate the display names. This file contains many XML entries, but the following sample code shows
how encodings are stored per locale:

<!-- SECTION DEFINING THE SMALLEST OR CUSTOM ENCODING FOR EACH


LOCALE: THIS IS USED FOR BMIDE LOCALIZATION VALIDATION -->
<key id="locale_validation_encoding_en_US">us-ascii</key>

Business Modeler IDE PLM00071 11.2 7-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

<key id="locale_validation_encoding_cs_CZ">iso-8859-2</key>
<key id="locale_validation_encoding_pl_PL">iso-8859-2</key>
<key id="locale_validation_encoding_de_DE">iso-8859-1</key>
<key id="locale_validation_encoding_es_ES">iso-8859-1</key>
<key id="locale_validation_encoding_fr_FR">iso-8859-1</key>
<key id="locale_validation_encoding_it_IT">iso-8859-1</key>
<key id="locale_validation_encoding_pt_BR">iso-8859-1</key>
<key id="locale_validation_encoding_ja_JP">shift_jis</key>
<key id="locale_validation_encoding_ko_KR">euc_kr</key>
<key id="locale_validation_encoding_ru_RU">iso-8859-5</key>
<key id="locale_validation_encoding_zh_CN">gb2312</key>
<key id="locale_validation_encoding_zh_TW">big5</key>

In the XML sample code, not only are the encodings stored per locale, they are available only for the
locales included with standard Teamcenter. Currently, each locale is set to its minimum encoding. For
example, the encoding for en_US is US-ASCII. This means if you enter display names (localizations) in
the Business Modeler IDE for en_US, the Business Modeler IDE validates that the characters entered in
the Display Name box are valid in the US-ASCII character set. The same logic applies to localizations
entered in other locales.

The encodings supplied in the textsrv_text.xml file are used only by the Business Modeler IDE client for
validations on localizations during the loading of a Business Modeler IDE project or when users enter
display names in the user interface. These encodings are not used during template deployment. When
you install your template to the database, the settings in the textsrv_text.xml file are not used. Instead,
the Business Modeler IDE deploy utilities use the encoding set for the database and the server host.

Encodings in the textsrv_text.xml file are the minimum encodings. You may use a larger encoding
because your database supports it. For example, you may want to use the Euro symbol in en_US files
because your database encoding is set to ISO-8859-15. In such cases, you can modify the entries in the
textsrv_txt.xml file and provide your larger encoding for each of the locales. For example, you change
the encoding for en_US as ISO-8859-15:

<key id="locale_validation_encoding_en_US">iso-8859-15</key>

You can change the encoding for each of the locales (shown in the previous code example) to use an
encoding that is supported in your database. The Business Modeler IDE then uses your custom encoding
to validate the localizations in the Business Modeler IDE client.

Teamcenter includes localizations only for a certain list of locales. For example, Teamcenter does not
include localization for the Romanian (ro_RO) locale. You may be supporting the Romanian locale and if
you want the Business Modeler IDE client to validate all localizations entered in the Romanian locale,
you must modify the textsrv_text.xml file and add an entry for this locale. For example, you can add
the following:

<key id="locale_validation_encoding_ro_RO">iso-8859-16</key>

7-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add the Localization button to properties

Add the Localization button to properties


The Localization button allows localization administrators to enter localized text for the property values.
To place the Localization button on properties in the rich client or the thin client, use the Business
Modeler IDE to set the Localizable property constant to true for those properties.

Note:
A system administrator must use the Organization application to add localization administrators to
a translator group to give them authorization to enter the localized text.

1. In the Business Modeler IDE, open a business object and click the Properties tab.

2. Select a string property in the table, for example, object_name.

3. In the Property Constants table, select the Localizable property constant.

4. Click the Edit button to the right of the Property Constants table.
The Modify Property Constant dialog box appears.

5. Click the arrow in the Value box to change the value to true.

6. Click Finish.

7. Package your template and install it using Teamcenter Environment Manager (TEM).

Business Modeler IDE PLM00071 11.2 7-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

8. Verify the Localization button appears on the property in the rich client.
For example, if you want to add the Localization button to the object_name property on the Item
business object, open an Item business object and click the More Properties link in the Summary
tab. The Localization button appears to the right of the Name box.

Note:
To remove the Localization button from this property, in the Business Modeler IDE, select the
Localizable property constant for the property and click the Reset button. Then deploy the
change.
If you add the Localization button to a property by setting the Localizable property constant
to true, and then later decide to remove the button by setting the constant to false, you
must run the l10n_purge_translations utility to remove translations that were entered using
the Localization button on that property. The utility must be run after the Business Modeler
IDE template is deployed. The utility may be run on a live database, but for maximum
efficiency, it is best to run the utility while other users are not logged on.
The l10n_purge_translations utility is necessary only if the Localizable constant on a
property is moved or deleted from one level, but still exists at another level of the hierarchy.
For example, if the Localizable property constant is set to false on a property on a business
object, and there are no sub-business objects that need to be set to true, the utility does not
need to be executed.

7-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Migrate a custom template to the newer language framework

Caution:
The Localization button appears when the property is displayed in the Properties dialog box,
Summary view, and Viewer view.
However, when a suggestive LOV is attached to a property and the end user enters a custom
entry in the rich client (which is allowed for suggestive LOVs), the Localization button is not
displayed. If translations are required for this custom entry, the custom entry must be added
as a value to the LOV in the Business Modeler IDE and translations must be added to the LOV.

9. To enter localized text, click the Localization button.


The Language Translations for Name dialog box is displayed.

10. Click the + button to add localization text.

Migrate a custom template to the newer language framework


If you have an older custom template created prior to Teamcenter 8.2, you must migrate the template to
the newer framework for language support using the following process:

1. After upgrading the older custom template to the newer data model, migrate the text for
properties and relations to the newer language framework.

2. Create a default set of localization files for the upgraded template project.

Migrate property and relation names


You can migrate the text for property and relation names from a project previous to Teamcenter 8.2 to
the new language framework. The Property Name and Relation Name Migration wizard reads the text
from the text server XML files and creates the display name for the custom property names and relation
names.

Business Modeler IDE PLM00071 11.2 7-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

Previous to Teamcenter 8.2, property and relation names text in different languages was stored in the
TC_ROOT\lang\textserver\language_locale directory in the user_property_names.xml and
system_property_names_locale.xml files. Beginning in Teamcenter 8.2, property and relation names
text can be stored in the database.

Note:
If a text server file defines an empty string as the display name, the migration routine sets the
Visible property constant to false to make the property invisible.

1. Upgrade the older custom template to the newer data model using one of the following methods:

• If your template project is not already in the workspace, import it into the new version of the
Business Modeler IDE by choosing File→Import→Business Modeler IDE→Import a Business
Modeler IDE Template Project.

• If your template project is already in the workspace, upgrade it to the new version of the
Business Modeler IDE by choosing BMIDE→Upgrade Tools→Re-run Template Project
Upgrade.

Note:
If no text server text was assigned to some custom objects in the upgraded template, now
that the template is upgraded, you can add display names to these custom objects manually
or use the Default Localization Creationwizard.

2. Select the upgraded project and choose BMIDE→Upgrade Tools→Property Name and Relation
Name Migration Wizard.
The Property Name and Relation Name Migration wizard runs.

7-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Migrate property and relation names

3. In the Property Name and Relation Name Migration dialog box, perform the following steps:

a. Ensure that the Project dialog box displays the selected upgraded project.

b. In the Migration Option area, click the Use raw text server files button.
(Click the other button only if you decide not to continue with the migration process. The
other button is titled I don't have any custom property names to be migrated or would like
to skip doing this migration at this point.)

c. Click the Browse button to the right of the Text server files location box and browse to the
directory for the text server files on the source (older) Teamcenter server, for example,
TC_ROOT\lang\textserver\. This value is also provided by the value of the TC_MSG_ROOT
environment variable.

Note:
The migration wizard takes only one location from which to migrate the localizations.
However, some users may have user-level, text server localizations in the
TC_USER_MSG_DIR directory. Therefore, if users have user-level, text-server
localizations in the TC_USER_MSG_DIR\language_locale\user_property_names.xml
file, before running the migration wizard, you must merge the contents of this file with
the one located in the TC_MSG_ROOT location. (Replace language_locale with the
value of the TC_language_default preference, for example, en_US.)

d. Click the arrow in the Locale box to choose the language you want to migrate.

Note:
After the migration for this locale is complete, repeat the migration for the other locales
if there are conflicts in other locales.

e. Click Next.
The next dialog box in the migration wizard is displayed.

Business Modeler IDE PLM00071 11.2 7-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

4. Perform the following in the next Property Name and Relation Name Migration dialog box:

a. Select the Check this box to start the precomputation for migration check box. This parses
the text server XML files and processes the keys.
If there are any conflicts after precomputation, they are displayed in the Localization
Conflicts table.
Conflicts may appear when comparing source (from the older version of Teamcenter) with
target (from the newer version of Teamcenter) because some text is updated between
Teamcenter versions.

b. If the Localization Conflicts table displays conflicts, select whether you want to use the
source or target localization text. You can click the All Source button to use all the text from
the older version of Teamcenter, or click the All Target button to use all the text from the
most recent version of Teamcenter, or click the Manual button to identify them one at a time
using the Select Target or Select Source buttons to the right of the table.
If there are no customized entries listed in the Localization Conflicts table, click the All
Target button.

c. When there are no conflicts, click the Finish button.

5. Open the Console view to see the path to the log file that contains the summary of the migration.

6. After the property names and relation names are migrated, run the Default Localization Creation
wizard to create the default display names.

7-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a default localization

Create a default localization


Run the Default Localization Creation wizard in the Business Modeler IDE to create a default set of
localization files for an upgraded project.

1. After upgrading a pre-Teamcenter 8.2 project to the newer localization framework, migrate the
text for property and relation names using the Property Name and Relation Name Migration
wizard.

2. Select the upgraded project and choose BMIDE→Upgrade Tools→Default Localization Creation
Wizard.
Click Next.
The Default Localization Creation wizard runs.

3. Click Finish.
This creates the necessary directory structure and the empty language files to store the display
names. The localization files are located in the Project Files\extensions\lang folder.

4. Open the Console view to see the path to the log file that contains the summary of the action.

Import localization files using the Business Modeler IDE


To extract user interface text in bulk to translate into different languages, you can export the text into
localization files using the l10n_import_export utility or the Tools→Localization→Export Translations
menu in the rich client.

After you enter translated text into these files, you can import them to your template using the Import
Localizations menu in the Business Modeler IDE:

1. In the Business Modeler IDE, choose File→Import.


The Import wizard runs.

Business Modeler IDE PLM00071 11.2 7-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

2. In the Select dialog box, choose Business Modeler IDE→Import Localizations.

3. Click Next.
The Import Localizations wizard is displayed.

4. Perform the following steps in the Import Localizations dialog box:

a. Click the arrow in the Project box to select the project to receive the localization files.

b. Click the Add button to the right of the Files to Import table to browse to the location of the
localization files.

c. Click Finish.

Localization and live update


Do not use live update to place localization changes on a production server. Doing so could result in the
following error:

Error Code: 515062 Error Message: Class referenced

This occurs because localization changes can contain changes to the schema, and schema changes
cannot be live updated to a production server. Instead of using live update, install localized templates
using Teamcenter Environment Manager (TEM).

This error occurs in a couple of notable situations. For example, if you want to add the Localization
button to a property, you must set the Localizable property constant to true. Usually setting a constant
value does not result in changes to any classes or attributes. In this instance, an additional hidden
attribute is created on the class used by the associated business object. A typical example that causes

7-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Localization and live update

the error is when you set the Localizable property constant to true on the object_desc or object_name
properties on the Item business object and then attempt to live update the change.

In addition, attaching an LOV to a property results in a hidden attribute being placed on the source
business object of the property. Just as for Localizable property changes, Siemens PLM Software does
not recommend using live update if the data model contains changes to LOV attachments.

Business Modeler IDE PLM00071 11.2 7-27


© 2019 Siemens Product Lifecycle Management Software, Inc.
7. Setting the displayed text and language in the Business Modeler IDE

7-28 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for
customization
Customization methods in the Business Modeler IDE ─────────────── 8-1
Set up a Business Modeler IDE project for coding ───────────────── 8-2
Data-model-based customizations ─────────────────────────── 8-3
Introduction to data-model-based customizations ───────────────────── 8-3
Coding process ────────────────────────────────────────── 8-3
Set up the coding environment ──────────────────────────────── 8-4
Create a release ───────────────────────────────────────── 8-5
Create a library ────────────────────────────────────────── 8-6
Data types ──────────────────────────────────────────── 8-8
Operations ─────────────────────────────────────────── 8-12
Boilerplate code ──────────────────────────────────────── 8-32
Implementation code ───────────────────────────────────── 8-37
Server code ─────────────────────────────────────────── 8-40
Services ─────────────────────────────────────────── 8-46
Process for creating services in the Business Modeler IDE ─────────────── 8-46
Add a service library ────────────────────────────────────── 8-46
Add a service ────────────────────────────────────────── 8-48
Service data types ─────────────────────────────────────── 8-49
Add a service operation ──────────────────────────────────── 8-57
Formatting text with the Description Editor dialog box ───────────────── 8-64
Generate service artifacts ────────────────────────────────── 8-65
Write a service operation implementation ───────────────────────── 8-66
ServiceData implementation ───────────────────────────────── 8-68
Partial errors implementation ──────────────────────────────── 8-69
Build server and client libraries ─────────────────────────────── 8-70
Teamcenter Services build output ───────────────────────────── 8-71
Extensions ───────────────────────────────────────── 8-73
Introduction to extensions ────────────────────────────────── 8-73
Define an extension ────────────────────────────────────── 8-76
Assign an extension ────────────────────────────────────── 8-79
Write extension code ───────────────────────────────────── 8-83
Extension example: Add a postaction on a folder business object ─────────── 8-84
Workflow extension example ──────────────────────────────── 8-88
About extension attachments ──────────────────────────────── 8-93
Add a predefined extension to a business object ───────────────────── 8-96
Working with user exits ──────────────────────────────────── 8-98
Extensions reference ───────────────────────────────────── 8-99
Operations reference ──────────────────────────────────── 8-100
Extension inheritance reference ────────────────────────────── 8-107
Implications of the autoAssignToProject extension on propagation rules ────── 8-107
How to develop an application ─────────────────────────── 8-109
Process for developing an application ────────────────────────── 8-109
Develop an application: define business objects ──────────────────── 8-110

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: define operations ──────────────────────── 8-115
Develop an application: define services ───────────────────────── 8-118
Develop an application: generate code ────────────────────────── 8-123
Develop an application: implement code ──────────────────────── 8-126
Develop an application: build libraries ────────────────────────── 8-131
Develop an application: package and install ─────────────────────── 8-134

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for
customization
Customization methods in the Business Modeler IDE
If your organization wants to extend the functionality of Teamcenter by writing C++ code, you can use
the Business Modeler IDE to write the code.

There are several ways to do customization:

• Data-model-based customization
Allows addition of custom C++ operations to business objects and the overriding of existing
operations on business objects. Customization typically involves this adding of new operations or the
overriding of existing operations.

• Teamcenter Services customization


Allows custom service-oriented architecture (SOA) service operations to be written to interact with
the Teamcenter rich client. (Write ITK to interact with the thin client.)
Teamcenter Services insulate the client tier from changes to server behavior and the low level data
model objects. These are less granular services that improve the performance of client
communication in a WAN environment.

• Extensions customization
Allows you to write a custom function or method for Teamcenter in C or C++ and attach the rules to
predefined hook points in Teamcenter (preconditions, preactions, and postactions). Also, existing
operations can be extended to these hook points.

The following figure shows the client-server interaction in Teamcenter. The business object interface
provides a C++ API that the rich client and thin client can interact with directly. Teamcenter Services and
Integration Toolkit (ITK) interfaces provide an additional layer of interaction, and remote clients typically
use these interfaces to interact with the server. The rich client typically invokes Teamcenter Services
interfaces, and the thin client interacts through the ITK interfaces. (All access and modification of data in
the database is done by the business object interface.)

Business Modeler IDE PLM00071 11.2 8-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Client-server interaction in Teamcenter

Set up a Business Modeler IDE project for coding


Code generation capabilities are initially set up when you install the Business Modeler IDE and create a
new project.

1. During installation of the Business Modeler IDE, you are asked to enter the location of a Java
Development Kit (JDK) on your system. After installation, verify that the location of the JDK is set in
the install-location\bmide\client\bmide.bat file, for example:

set JRE_HOME=C:\Program Files (x86)\Java\jre7


set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0
set JDK_HOME=C:\Program Files (x86)\Java\jdk1.7.0

2. In the Business Modeler IDE, choose File→New→Project.

3. In the New Project dialog box, choose Business Modeler IDE→New Business Modeler IDE
Template Project.

4. Fill in the Code Generation Information dialog box and the Build Configuration Information
dialog box.

8-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to data-model-based customizations

If you need to set up code generation for an existing project, modify the project's properties. Right-click
the project, choose Properties, and select Teamcenter→Code Generation.

Data-model-based customizations

Introduction to data-model-based customizations

The Teamcenter data model framework supports a single, coherent mechanism for developing new
functionality by defining business logic on business objects in the Impl class. This exposes the business
logic API in an object-oriented way (through interfaces).

Customization typically involves adding a new operation to a business object or overriding an


implementation of an existing operation on a business object.

Operations are Teamcenter functions, such as create, checkin, checkout, and so on. Operations can be
placed on business objects and properties. To see these operations, right-click a business object, choose
Open, and in the resulting editor, click the Operations tab.

Operations on a business object provide the interfaces for business logic. The implementation of the
business logic is done by functions or methods on the implementation class corresponding to the
business object. There are certain restrictions on operations. You cannot modify a COTS operation (that
is, noncustom operation). You cannot modify or delete a released operation; you can only deprecate it.

Coding process

Following is the general process for writing data-model-based customization code in the Business
Modeler IDE. The Code Generation folder under the Extensions folder is where you do most of this
work.

1. Set up the coding environment.

Business Modeler IDE PLM00071 11.2 8-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Set up code generation, and create the release, library, and data types you want to use.

2. Create an operation or override an operation.

3. Generate boilerplate code.


Generate boilerplate C++ code files in which you can write your code implementation for the
operation.

4. Write the implementation code.


Write your implementation of the operation in the generated template files.

5. Build server code.


Build the libraries containing server code.

6. Package and install.


Package your changes into a template and install the template to a server. (You cannot use live
update to distribute customizations to a server.)

Note:
The Business Modeler IDE packages the built C++ library as part of its template packaging.
The complete solution that includes the data model and the C++ run-time libraries are
packaged together.
The C++ API Reference documents APIs in C++ signatures.
To access the C++ API Reference, install the Teamcenter developer references when you
install Teamcenter online help, or go to the Global Technical Access Center (GTAC):

https://support.industrysoftware.automation.siemens.com/docs/teamcenter/

Set up the coding environment

Before you use the Business Modeler IDE to write C++ code, you must set up your coding environment.

1. Set up code generation.


Define where the generated code files are placed.

2. Create a release.
Define the software release that the generated code is used in.

3. Create a library.
Make a set of library files that will hold the generated code.

4. If needed, create external data types.


Create external data types to represent new kinds of data.

8-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a release

Create a release

Releases are distributions of software products. By default, Teamcenter releases are listed under the
Extensions\Code Generation\Releases folder so that you can create code against these releases. You
can specify the release against which code is created by right-clicking a release and choosing
Organize→Set as active release. The code you create after setting the release is then assigned to that
release. When you create some code objects, such as operations or services, you must specify a release.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Release in the Wizards box, and
click Next.

• In the Extensions folder, open the Code Generation folder, right-click the Releases folder, and
choose New Release.

The New Release wizard runs.

2. Perform the following steps in the Release dialog box:

a. The Project box displays the project to which this new release is added.

b. In the Name box, type the name you want to assign to the new release in the database.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, A4_.

c. In the Display Name box, type the name of the release as it will display in the Business
Modeler IDE.

d. In the Description box, type a description of the new release.

Business Modeler IDE PLM00071 11.2 8-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

e. Select Set as Current Release to select this new release as the active one to use for all data
model creation processes.
You can also set a release as active by right-clicking the release and choosing Organize→Set
as active Release. A green arrow in the release symbol indicates it is the active release.

f. Click the arrow in the Type box to choose whether this release is considered a major release, a
minor release (which is dependent on a major release), or a patch (to a minor or major
release).

g. In the Service Version box, type the version of the services you plan to create in the release
using format _YYYY_MM, for example, _2010_06. You must fill in this box if you plan to create
services for this release.

h. Click the Browse button to the right of the Prior Release box to choose the previous release.
If you are creating a minor release, choose the major release that this minor release follows. If
you are creating patch, choose either the major or minor release that the patch is applied to.

i. Click Finish.
The new release appears under the Releases folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

Create a library

A library is a collection of files that includes programs, helper code, and data. Open the Extensions
\Code Generation\Libraries folders. By default, Teamcenter libraries are listed under the Libraries
folder. You can create your own library that is dependent on Teamcenter libraries.

You can specify the library against which code is created by right-clicking a library and choosing
Organize→Set as active library. The code you create after setting the library is then assigned to that
library. When you create some code objects, such as business object or property operations, you must
specify a library.

1. Set the release the library is to be used for. Open the Extensions\Code Generation\Releases
folders, right-click the release, and choose Organize→Set as active Release. A green arrow in the
release symbol indicates it is the active release.

2. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Library in the Wizards box, and
click Next.

• In the Extensions folder, open the Code Generation folder, right-click the Library folder, and
choose New Library.

8-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a library

The New Library wizard runs.

3. Perform the following steps in the Library dialog box:

a. The Project box displays the project to which this new library is added.

b. Select the isThirdParty check box if the library is built outside of the Business Modeler IDE or
the library is provided by a third-party vendor.

c. In the Name box, type the name you want to assign to the new library, or if you selected the
isThirdParty check box, click the Browse button to specify the third-party library file.

d. In the Description box, type a description of the new library.

e. Select the Set as Active Library check box to select this new library as the one to use for all
data model creation processes.
You can also set a library as active by right-clicking the library in the Libraries folders and
choosing Organize→Set as active Library. A green arrow in the library symbol indicates it is
the active library.

f. Click the Add button to the right of the Dependent On pane to select the libraries this new
library is dependent on. This box is disabled if you are using a third-party library file.

g. Click Finish.
The new library appears under the Library folder.

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

Business Modeler IDE PLM00071 11.2 8-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Data types

Introduction to data types

In software programming, a data type is a definition for a specific type of data and the operations that
can be performed on that data. For example, if some code has the char data type applied to it, it is
character text and can contain only characters. Or if some code has the int data type applied, it is
integer type code and can contain only numbers. You use data types as the return type when you create
business object operations. To work with data types, open the Extensions\Code Generation\Data
Types folders.

You can work with the following kinds of data types:

• External data type


Custom data types that you can import into Teamcenter, such as date.

• Primitive data type


Standard data types such as Boolean, character, double, float, and integer.

• Template data type


Data types that are open-ended and allow generic programming.

Add an external data type

External data types are standard data types, as well as custom defined data types that can be imported
into the Business Modeler IDE. You can use external data types as the return type when you create
business object operations. To access the external data types, open the Extensions\Code Generation
\Data Types\External Data Type folders.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type External Data Type in the
Wizards box, and click Next.

• Open the Extensions\Code Generation\Data Types folders, right-click the External Data Type
folder, and choose New External Data Type.

The New External Data Type wizard runs.

8-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an external data type

2. Perform the following steps in the External Data Type dialog box:

a. The Project box displays the project to which this new data type is added.

b. In the Name box, type the name you want to assign to the new data type.

c. In the Namespace box, type a namespace for the type. Namespaces allow for grouping code
under a name to prevent name collisions.

d. In the Description box, type a description of the new external data type.

e. In the Declaration Header box, type the header file declaring the external data type. The
header should provide how the header file should be included in code, for example:

path/custom-data-type.hxx

f. Click Finish.
The new data type appears under the External Data Type folder.

3. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

4. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

The new data type is now available for use by operations.

Business Modeler IDE PLM00071 11.2 8-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

External data types reference

External data types are standard data types, as well as custom defined data types that can be imported
into the Business Modeler IDE, such as date. You can use an external data type as the parameter type
when you create a business object operation or service operation.

To access the external data types, open the Extensions\Code Generation\Data Types\External Data
Type folders. Following are the standard external data types:

• date_t
Structure to represent a date.

• std::string
String from the standard namespace.

• std::vector<bool>
Boolean (true or false) vector.

• std::vector<char>
Character vector.

• std::vector<date_t>
Date vector.

• std::vector<double>
Double vector.

• std::vector<int>
Integer (number) vector.

• std::vector<long>
Long string vector.

• std::vector<PropertyDescriptor>
Property descriptor vector.

• std::vector<std::string>
String vector.

• std::vector<tag_t>
Tag vector.

• std::vector<Teamcenter::DeepCopyData*>
Deep copy data vector.

• tag_t
Tag to an object.

8-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Primitive data types reference

• Teamcenter::DateTime
Class that represents the date in the Teamcenter server.

• Teamcenter::OperationDispatcher
Helper methods for extension framework.

• Teamcenter::Soa::Common::ObjectPropertyPolicy
Service-oriented architecture (SOA) representation of property policies.

• Teamcenter::Soa::Server::InvalidCredentialException
Service-oriented architecture (SOA) exception error for incorrect ID.

• Teamcenter::Soa::Server::ModelSchema
Service-oriented architecture (SOA) representation of schema.

• Teamcenter::Soa::Server::PartialErrors
Service-oriented architecture (SOA) class for holding partial errors.

• Teamcenter::Soa::Server::Preferences
Service-oriented architecture (SOA) class for holding preferences.

• Teamcenter::Soa::Server::ServiceData
Service-oriented architecture (SOA) class that holds model objects and partial errors.

• Teamcenter::Soa::Server::ServiceException
Service-oriented architecture (SOA) service exception class.

• Teamcenter::Soa::Server::TypeSchema
Service-oriented architecture (SOA) representation of schema information.

Primitive data types reference

Primitive data types are generic data types such as character, double, float, Boolean, and short.

When you create a business object operation or service operation, you can choose a primitive data
type as the parameter type.

To access the primitive data types, open the Extensions\Code Generation\Data Types\Primitive Data
Type folders. Following are the standard primitive data types:

• bool
Allows two choices to the user (true or false).

• char
A single character, such as A, B, Z.

Business Modeler IDE PLM00071 11.2 8-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

• double
A double-precision floating point decimal number (an 8-byte decimal number from the range 1.7E to
308).

• float
A 4-byte decimal number from the range 3.4E to 38.

• int
An integer without decimals from 1 to 999999999.

• long
A string of unlimited length.

• void
Associated with no data type.

Template data type reference

Template data types allow code to be written without consideration of the data type with which it is
eventually used. You can use the template data types as the parameter type when you create business
object operations and service operations.

To access the template data types, open the Extensions\Code Generation\Data Types\Template Data
Type folders. Following are the standard template data types:

• std::map
Map from the standard namespace.

• std::set
Set from the standard namespace.

• std::vector
Vector from the standard namespace.

Operations

Add a business object operation

Operations are actions you can perform on business objects and properties in Teamcenter. You can
create operations on either COTS or custom business objects and properties. To see these operations,
right-click a business object, choose Open, and in the resulting editor, click the Operations tab.

Operations have an operation template. The template defines the basic signature API structure of the
operation: parameters, inputs, and outputs. An operation template can therefore be used to define new
operations that follow the same signature pattern without having to redefine the signature again.

8-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a business object operation

A business object operation is a function on a business object. It is defined with parameters, a return
value, inheritance, and whether it is overridable. After you create a business object operation, you must
generate code and write an implementation for the operation. You can only write operations on children
of the POM_application_object business object.

You can also create a property operationor operations on services.

1. Ensure that you have set the proper active release for the operation. Open the Extensions\Code
Generation\Releases folders, right-click the release, and choose Organize→Set as active
Release. A green arrow in the release symbol indicates it is the active release.

2. Set the active library for the operation. Open the Extensions\Code Generation\Libraries folders,
right-click the custom library, and choose Organize→Set as active Library. A green arrow in the
library symbol indicates it is the active library.

3. In the Business Objects folder, browse to the business object to which you want to add the
operation. To search for a business object, click the Find button at the top of the view.

4. Right-click the business object, choose Open, and click the Operations tab in the resulting view.

5. Select the Operations folder and click the Add button.

Note:
The Add button is available only after you create a release.

The Business Modeler IDE runs the New Operation wizard.

Business Modeler IDE PLM00071 11.2 8-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

6. Perform the following steps in the Operation dialog box:

a. In the Operation Name box, type a name for the operation.


When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization, for example, a4_. The
prefix for operations starts with a lowercase letter.

b. Select the following check boxes that apply:

• Overridable?
Allows child business objects to override this method.

• Constant?
Sets the return constant value to const.

• Published?
Declares the operation as published for use.

• PreCondition?

8-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a business object operation

Places limits before an action.

• PreAction?
Executes code before an action.

• PostAction?
Executes code after an action.

c. Click the Browse button to the right of the Library box to select the library to hold the source
for the operation.

d. To set parameters on the operation, click the Add button to the right of the Parameters table.
These parameters are the arguments to the C++ functions.
The New Parameter wizard runs.

e. Perform the following steps in the Parameter dialog box:

A. In the Name box, type a name for the parameter.

B. Click the Browse button to the right of the Type box to select a data type to hold the
parameter.
The Find Data Type wizard runs.

Business Modeler IDE PLM00071 11.2 8-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

C. In the Choose a Data Type Object dialog box, you can select the following data types to
filter:

• Primitive
Generic data types. Only boolean, double, float, and int are available for services.

• External
Standard data types. Only those listed are available for services, and they are defined
by Teamcenter.

• Template
Data types that allow code to be written without consideration of the data type with
which it is eventually used. Only vector is available for services.

• Interface
Data types for returning business objects. Only business objects with their own
implementation are selectable. For business objects without their own
implementation, the closest parent can be selected instead.

• Generated
Service data types, such as structure, map, and enumeration data types. Only the
data types set up for this service are shown as being available for this service. You can
manually type the name of a type that is in another service as long as it is in the same
service library.

D. Click Finish in the Choose a Data Type Object dialog box.

E. Click the arrow in the Qualifier box to select the qualifier for the return value.

8-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a business object operation

• No value
Indicates that no parameter is passed.

• &
Indicates that the parameter is passed by reference. The actual parameter is passed
and not just the value of the parameter.

• *
Indicates that the address of the parameter is passed. The address is the pointer to the
parameter.

• **
Indicates the address of the pointer to the parameter is passed. The address is a
pointer to the pointer.

• []
Indicates that the parameter is an array. The address of the first element in the array is
passed.

• *&
Indicates a parameter instance is created within the routine and the pointer of the
instance is returned. The caller must manage the return pointer.

F. In the Description box, type a description for the parameter.

G. Select the Const? check box if the parameter is a constant.

H. Select the Free Parameter Memory? check box if the caller has to free the memory. This
applies only to output and input/output parameters.

I. Click the arrow in the Usage box select whether the parameter is an input, output, or
input/output parameter.

J. Click Finish.
The Parameters table displays the new parameter.

f. In the Operation Description box, type a description of the new operation.

g. In the Return Description box, type a description of the return value for the operation.

h. Click Finish.
The Business Modeler IDE displays the new operation in the Operations editor.

7. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

Business Modeler IDE PLM00071 11.2 8-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

8. Generate code.
Right-click the Business Objects folder and choose Generate Code→C++ Classes.

9. Write an implementation in the generated business_objectImpl.cxx file.

Add a property operation

Operations are actions you can perform on business objects and properties in Teamcenter. You can
create operations on either COTS or custom business objects and properties. To see business object
operations, right-click a business object, choose Open, and in the resulting editor, click the Operations
tab; to see property operations, click the Properties tab, select a property, and click the Property
Operations tab.

A property operation is a function on a property. You can publish getter and setter methods on a custom
operation. After you create an operation on a property, you must generate code and write an
implementation for the operation. You can also add a property operation when you create a persistent
property.

You can also create a business object operation or operations on services.

1. Ensure that you have set the proper active release for the operation. Open the Extensions\Code
Generation\Releases folders, right-click the release, and choose Organize→Set as active
Release. A green arrow in the release symbol indicates it is the active release.

2. Set the active library for the operation. Open the Extensions\Code Generation\Libraries folders,
right-click the custom library, and choose Organize→Set as active Library. A green arrow in the
library symbol indicates it is the active library.

3. Select the business object whose property you want to add an operation to. In the Business
Objects folder, browse to the business object. To search for a business object, click the Find button
at the top of the view.

4. Right-click the business object, choose Open, and click the Properties tab in the resulting view.

5. Select a property in the properties table and click the Property Operations tab.

8-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a property operation

6. Click the Add button on the Property Operations tab.

Note:
The Add button is enabled only after you have created a release.

The Business Modeler IDE runs the New Property Operation wizard.

Business Modeler IDE PLM00071 11.2 8-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

7. In the Property Operation dialog box, select the following check boxes that apply:

• Getter
Enables getting the value of the property.

• Setter
Enables setting the value of the property.

• Getter (Display Value)


Enables getting the display name of the property.
This getter uses the getDisplayableValues property operation. The name of the function has the
following format:

getproperty-nameDisplayableValues

8. Select the following check boxes that apply:

• Overridable?
Allows child business objects to override this method.

• Published?
Generates the getter or setter method.

8-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Override an operation

• PreCondition?
Places limits before an action.

• PreAction?
Executes code before an action.

• PostAction?
Executes code after an action.

When done making changes, click Finish.


The new getter/setter methods display on the property. Click the method to see the operation
definition.

9. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

10. Generate code.


Right-click the Business Objects folder and choose Generate Code→C++ Classes.

11. Write an implementation in the generated business_objectImpl.cxx file.

Override an operation

You can make a business object or property operation overridable by other operations on child business
objects. An operation is overridable if it is inherited from a parent business object, marked as
overridable, is not already overridden. The Override button is available if these conditions are met.

To override a business object operation, in the Operations tab, select the operation and click the
Override button. To override a property operation, in the Property Operations tab, select the operation
and click the Override button. The button changes to Remove Override.

1. Select the business object or property whose operation you want to override.

2. For a business object, click the Operations tab. For a property, click the Property Operations tab.

3. Select the operation you want to override in the Operations or the Property Operations tab.
The Override button is available if the operation is inherited from a parent business object, is
marked as overridable, and is not already overridden. The Remove Override button displays if the
operation is already overridden.
The following example shows selecting a business object operation to overrride.

Business Modeler IDE PLM00071 11.2 8-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

The following example shows selecting a property operation to override.

4. To override the operation, click the Override button.


The Override Operation wizard runs.

8-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Override an operation

5. Click Finish.
The button changes to Remove Override. To remove an override, click the Remove Override
button.
The following example shows an overridden business object operation.

The following example shows an overridden property operation.

Business Modeler IDE PLM00071 11.2 8-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

6. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

7. Right-click the Business Objects folder and choose Generate Code→C++ Classes.

8. In the generated Impl file, write the implementation code. Point to the new operation to use
instead of the overridden operation.

Deprecate an operation

You can deprecate custom business object operations and custom property operations. Deprecation
means that an object will be deleted in a future release.

To deprecate a business object operation, in the Operations tab, select the operation and click the
Deprecate button. To deprecate a property operation, in the Property Operations tab, select the
operation and click the Deprecate button. The button changes to Undeprecate.

1. Ensure that the deprecation policy is set.


Your company has its own deprecation policy that states the number of releases that must pass
after an object's deprecation before the object can be deleted. To change the number of releases,
as well as whether a deprecation policy is set for the project, you must change the project
properties.

8-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Deprecate an operation

a. Right-click the project, choose Properties, and choose Teamcenter→Code Generation in the
left pane.

b. Select the Enable Deprecation Policy check box to allow for removal of obsolete objects from
the project.

c. Click the arrow in the Number of Allowed Releases before Deletion box to select how many
releases before objects can be deleted from the project.

d. Click OK.

2. Select the business object or property whose operation you want to deprecate.

3. For a business object, click the Operations tab. For a property, click the Property Operations tab.

4. Select the operation you want to deprecate in the Operations or the Property Operations tab.
The Deprecate button is displayed.

Note:
The Deprecate button is available only if the deprecation policy is set for the project, the
operation is custom, and the operation was created in an earlier release. If not, a Remove
button is displayed instead. An Undeprecate button displays if the operation has already
been deprecated.

Following is an example of selecting a business object operation to deprecate.

Following is an example of selecting a property operation to deprecate.

Business Modeler IDE PLM00071 11.2 8-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

5. Click the Deprecate button.


The Deprecate Object dialog box is displayed.

6. In the Deprecate Object dialog box, type a description in the Deprecated Description box and
click Finish.
When an operation is deprecated, the button changes to Undeprecate.
Following is an example of a deprecated business object operation.

8-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an extension that uses a custom operation

Following is an example of a deprecated property operation.

Create an extension that uses a custom operation

An extension can be assigned to a business object or property so that it is invoked at a particular point
(on a precondition, preaction, or postaction on the object). For business objects, this is done through

Business Modeler IDE PLM00071 11.2 8-27


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

the Extensions Attachment tab in the Operations tab. For properties, this is done through the
Extensions Attachment tab in the Property Operations tab.

1. Create a custom operation.


When you create a new operation, ensure that you select the Published check box and select the
action where you want to attach the operation (PreCondition, PreAction, and/or PostAction).
Also ensure that you enter the parameters to the C++ functions in your implementation.

2. Create the extension that calls the operation.

a. In the Extensions folder, right-click the Rules→Extensions folder and choose New Extension
Definition.

b. In the Extension dialog box, click the Add button to the right of the Availability table.

c. In the New Extension Availability dialog box, click the Browse button to the right of the
Business Object Name box and select the business object with the custom operation you
want to use.

d. In the Operation Name box, select the custom operation.

e. In the Extension Point box, select the extension point that was set up when the custom
operation was created (PreCondition, PreAction, and/or PostAction).

3. Add the extensions rule.

a. To add the extension to a business object, open the business object and select the custom
operation on the Operations tab. To add the extension to a property, select the property and
select the operation on the Property Operations tab.

b. Click the Extension Attachments tab.

c. Choose the point at which you have made the operation available (Pre-Condition, Pre-
Action, Base-Action, or Post-Action).
The Add button is enabled only on the available points.

d. Click the Add button to add the extension rule.


Following is an example of adding an extension to a business object operation.

8-28 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an extension that uses a custom operation

Following is an example of adding an extension to a property operation.

Business Modeler IDE PLM00071 11.2 8-29


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Now the operation is run when the extension is invoked at a precondition, pre action, or postaction.

For example, you can write an operation (such as the hasValidSAPPartNumber operation example)
that checks to make sure that items have valid SAP numbers, and invoke the extension as a precondition
for checkin.

Define a getter operation for a custom run-time property

Currently, the Business Modeler IDE does not allow you to define the getter operation for a custom
property defined on a COTS business object. To overcome this limitation, you can manually add the
following elements into your template to define the getter operation for your custom property.

In this example, the custom property name is MyCustomObject. This property is a single-value
reference property. Therefore, the PROP_ask_value_tag operation is used.

• Add the following TcOperationAttach code to attach the PROP_ask_value_tag getter operation to
the MyCustomObject property on the UserSession business object:

<TcOperationAttach operationName="PROP_ask_value_tag"
extendableElementName="UserSession"
extendableElementType="Type" propertyName="MyCustomObject" description="">
<TcExtensionPoint extensionPointType="PreCondition" isOverridable="true"/>

8-30 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Implement a getter base function for custom run-time property

<TcExtensionPoint extensionPointType="PreAction" isOverridable="true"/>


<TcExtensionPoint extensionPointType="BaseAction" isOverridable="false"/>
<TcExtensionPoint extensionPointType="PostAction" isOverridable="true"/>
</TcOperationAttach>

• Add the following TcExtension code to define an extern function for the MyCustomObject property.
The name of the extern function is getMyCustomObjectBase, which must be unique.

<TcExtension name="getMyCustomObjectBase" internal="false"


cannedExtension="false" languageType="CPlusPlus"
libraryName="libMyCustomLibrary"
description="">
<TcExtensionValidity
parameter="PROPERTY:UserSession:MyCustomObject:PROP_ask_value_tag:4"/>
</TcExtension>

Change libMyCustomLibrary to the name of your library.

• Add the following TcExtensionAttach code to attach the external function as a BaseAction type of
the getter operation:

<TcExtensionAttach extensionName="getMyCustomObjectBase"
operationName="PROP_ask_value_tag" isActive="true" propertyName="MyCustomObject"
extendableElementName="UserSession" extendableElementType="Type"
extensionPointType="BaseAction"
conditionName="isTrue" description=""/>

Implement a getter base function for custom run-time property

The getter base function for a property operation is declared in the following manner to avoid C++ name
mangling. In this example, the library name is MyLib:

#ifdef cplusplus
extern “C”
{
#endif
extern MYLIB_API int getMyCustomObjectBase(METHOD_message_t *, va_list
args);
#ifdef cplusplus
}
#endif

The following is sample code for the getMyCustomObjectBase base function, which is expected to
return the tag of the singleton instance of the custom business object. The instance is created but not
saved so that this custom business object is actually used as a run-time object providing the operation
codes, causing no impact on database data. The tag of the instance is cached in a static variable to make
sure only one instance is created.

int getMyCustomObjectBase( METHOD_message_t *, va_list args )


{

Business Modeler IDE PLM00071 11.2 8-31


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

va_list largs;
va_copy( largs, args );
va_arg( largs, tag_t ); /*Property Object tag_t not used*/
tag_t* customObjTag = va_arg( largs, tag_t* );
va_end( largs );

int ifail = ITK_ok;


*customObjTag = NULLTAG;

//Create and cache an instance of my custom business object


static tag_t myCustomObjectTag = NULLTAG;
if( myCustomObjectTag == NULLTAG )
{
static const char * customBOName = “MyCustomBOName”;
Teamcenter::CreateInput* creInput =
dynamic_cast<Teamcenter::CreateInput*>(Teamcenter::BusinessObjectRegistry
::
instance().createInputObject(customBOName,
OPERATIONINPUT_CREATE));

Teamcenter::BusinessObject* obj =
Teamcenter::BusinessObjectRegistry::instance().createBusinessObject(creIn
put);

myCustomObjectTag = obj->getTag();
}
*customObjTag = myCustomObjectTag;
return ifail;
}

Boilerplate code

Introduction to generating boilerplate code

Generating boilerplate code can save time and effort over manually setting up the source files, and it
can reduce coding errors. The autogenerated code conforms to a coding standard, therefore
maintaining consistency. You can create C++ boilerplate source code files into which you can add
implementation code by right-clicking the Business Objects folder and choosing Generate Code→C++
Classes.

Note:
Generating code for services is a different process. Right-click the Code Generation→Services
folder and choose Generate Code→Service Artifacts.

Most of the code pieces are autogenerated; you only need to write code in the implementation (Impl)
file, as shown in the following figure. First you create the business objects and operations, and their
definitions are deployed to the database without writing any code. Then you generate code, creating

8-32 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Generate C++ code

boilerplate files that provide inheritance and overriding behavior to the business object. Finally, you
write the custom logic for the operation in the stub provided in the Impl file.

Generated code

Generate C++ code

After operations are defined, you can create C++ boilerplate source code files into which you can add
implementation code by right-clicking the Business Objects folder and choosing Generate Code→C++
Classes. This generates the C++ interface for the business object and other boilerplate code. A stub for
the implementation class also is generated the first time (Impl file). Add the business logic manually in
this class.

If you have any server code customizations from previous versions, you must regenerate the code and
rebuild your libraries.

Tip:
If additional operations are added to the business object at a later time, the operations must be
added manually to this implementation class.

1. Create a business object operation, property operation, a service operation, or extension.

2. Ensure that the code generation environment is set up correctly. Right-click the project, choose
Properties, and choose Teamcenter→Build Configuration and Teamcenter→Code Generation.
Ensure that the project has the correct Teamcenter installation and compiler home set.

3. To generate boilerplate code for business object and properties operations, right-click the Business
Objects folder and choose Generate Code→C++ Classes.

Business Modeler IDE PLM00071 11.2 8-33


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Caution:
You must right-click the Business Objects folder and choose Generate Code→C++ Classes
to generate code.
In addition to generating source code files for the customization, the generate process also
creates makefiles to compile the source code. There is a platform-specific makefile created in
the project’s root folder (makefile.wntx64) and there are also a number of platform neutral
makefiles created under the build folder for each library that is defined in the template. All of
these makefiles may be persisted and are only updated by the Business Modeler IDE when
something changes (a new library defined, build options changed, and so on)

All generated files are placed in the output/generated folder, with a subfolder for each library. The
implementation stub files are placed under the src/server folder, with a subfolder for each library.

Note:
The code generated from the Business Modeler IDE ignores the Published flag set on the
operation. In Teamcenter, every operation is a published operation. The published/
unpublished flag is provided so that users can tag their operations as published or
unpublished.
There is no specific workaround for this problem as it does not cause any error in Business
Modeler IDE or the code generated.

To generate boilerplate code for service operations, right-click the service containing the service
operation and choose Generate Code→Service Artifacts. Check the Console view to see the
progress of the generation.

4. After you generate code, open the Advanced perspective by choosing Window→Open
Perspective→Other.

8-34 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Generated business object classes

The project folder is now marked with a C symbol. This indicates that the project has been
converted to a CDT nature project. The C/C++ Development Toolkit (CDT) is a collection of Eclipse-
based features that provides the capability to work with projects that use C or C++ as a
programming language. To learn more about CDT, in the top menu bar, choose Help→Help
Contents and choose the C/C++ Development User Guide in the left pane of the Help dialog box.
Choose the Project menu in the top menu bar to see that build options are now added to the
menu. Right-click the project in the Navigator view to see options added to the bottom of the
menu for building and running the project in the context of a CDT.

5. For business object and property operations, write your operation implementation in the
generated business_objectImpl.cxx file. For services, write the implementation in the generated
serviceImpl.cxx files.
The C++ API Reference documents APIs in C++ signatures.

Note:
To access the C++ API Reference, install the Teamcenter developer references when you
install Teamcenter online help, or go to the Global Technical Access Center (GTAC):

https://support.industrysoftware.automation.siemens.com/docs/teamcenter/

Generated business object classes

When an operation is added to a business object and the code generation command is executed, the
following classes are generated:

• BusinessObject interface that defines the API for the business object. All callers work only with the
interface.

• Dispatch class that implements the interface. It provides the overriding and extensibility capabilities.

• An abstract generated implementation class. This class provides getters and setters for the attributes
on the business object and any other helper methods needed by the implementation.

• Impl class that is the actual implementation where the business logic is manually implemented by the
developer.

• Delegate class that delegates invocations to the implementation class and breaks the direct
dependency between the dispatch and implementation classes.

Business Modeler IDE PLM00071 11.2 8-35


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Framework interfaces

Class Autogenerated Purpose

Interface Yes C++ interface class. Defines published/


unpublished API. All server caller code
dependent on this business object works
with only this interface.

Dispatch Yes Implements the interface. Provides the


overriding and extensibility (pre/post)
capabilities to the business object.

Generated Yes C++ abstract class. This class provides


Implementation methods to get/set attribute values in the
(GenImpl) database and any other helper methods
needed by the implementation.

Implementation No Implementation class. The developer


(Impl) implements the core business logic for the
business object in this class.

Delegate Yes C++ abstract class. This class breaks the


direct dependency between the dispatch
and implementation classes.

8-36 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Write implementation code for a business object or property operation

Implementation code

Write implementation code for a business object or property operation

You can write implementation code for a business object or property operation by using boilerplate
source code files. Write an implementation after you have created an operation and have generated
the boilerplate code.

The C++ API Reference documents APIs in C++ signatures.

Note:
To access the C++ API Reference, install the Teamcenter developer references when you install
Teamcenter online help, or go to Global Technical Access Center (GTAC):

https://support.industrysoftware.automation.siemens.com/docs/teamcenter/

1. Create the operation for which you need to write the implementation.

• Business object operation


Right-click the business object against which you want to write the operation, choose Open,
click the Operations tab in the resulting view, and click the Add button.

• Property operation
Right-click the business object against which you want to write the property operation, choose
Open, select the property against which you want to write the operation, click the Property
Operations tab, and click the Add button.

2. Generate the boilerplate code.


Right-click the Business Objects folder and choose Generate Code→C++ Classes.

3. Locate the generated code files.


By default, the generated files are saved in the Project Files\src\server\library folder. The library
folder holds business_objectImpl.cxx files where you write business logic. (The Generated Source
Folder folder holds files containing boilerplate code. You should never edit these files.)

Note:
To change the location where generated code is saved, open the project's properties. Right-
click the project, choose Properties, and select Teamcenter→Code Generation.

4. Switch to the C/C++ perspective by choosing Window→Open Perspective→Other→C/C++.

5. Open the code file.


Right-click the src\server\library\business_objectImpl.cxx file and choose Open or Open With.
The file opens in an editor.

Business Modeler IDE PLM00071 11.2 8-37


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

6. Write the implementation.


Add your implementation at the bottom of the business_objectImpl.cxx file where it contains the
following text:

** Your Implementation **

7. Build the libraries containing server code.

8. Package your changes into a template.

Note:
The Business Modeler IDE packages the built C++ library as part of its template packaging.
The complete solution that includes the data model and the C++ run-time libraries are
packaged together.

9. Install the package to a server.

Sample implementation code

When you create custom operations, you must write implementation code in the generated Impl class
file.

The C++ API Reference documents APIs in C++ signatures.

Note:
To access the C++ API Reference, install the Teamcenter developer references when you install
Teamcenter online help, or go to the Global Technical Access Center (GTAC):

https://support.industrysoftware.automation.siemens.com/docs/teamcenter/

Following is a sample customization:

1. Create a custom child of the Item business object named CommercialItem.

2. Add a custom string property called SAPPartNumber.

3. On the Operation Descriptor tab, configure the CreateInput attributes to make the new property
visible in the user interface during object creation (when users choose File→New in the rich
client).

4. Add a property operation to the SAPPartNumber property to set the getter and setter code
generation for the property.

5. Add a new operation to the CommercialItem business object called hasValidSAPPartNumber.

8-38 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Sample implementation code

Given this example, following is some sample implementation code that could be written for it. This
sample code is for demonstration purposes only.

• The following code block demonstrates how interface methods and ITKs can be called when adding a
new operation on the business object.

/**
* checks if the BusinessObject has a valid SAPPartNumber
* @param valid - true if the SAPPartNumber is valid.
* @return - returns 0 is executed successfully.
*/
int CommercialItemImpl::hasValidSAPPartNumberBase( bool &valid )
{
//get the handle to the interface object first.
CommercialItem *cItem = getCommercialItem();

//invoke method on the Interface ( CommericalItem )


ifail = cItem->getSAPPartNumber(sapPartNumber, isNull);

//Write code here to validate the sapPartNumber value


//agaist Business Requirement and update "valid" variable.

//You can also invoke ITK using the tag.


//Use getTag() to get the tag to be passed on to the ITK.
if( ifail == ITK_ok )
{
tag_t cItemTag = cItem->getTag();
//You may write custom code involving ITK calls with input as cItemTag
here.
}

return ifail;
//----------------------------------------------------------------------------------
// CommercialItemGenImpl::getSAPPartNumberBase
// Base for Accessor of SAPPartNumber
//----------------------------------------------------------------------------------
int CommercialItemImpl::getSAPPartNumberBase( std::string &value, bool &isNull ) const
{
int ifail = ITK_ok;

//Add custom code here if needed.

ifail = CommercialItemGenImpl::getSAPPartNumberBase( value, isNull );

//Add custom code here if needed.


return ifail;
}

• The following code block demonstrates how a super method is called when overriding an existing
operation from a child business object, and how a getter operation is added to a property. Normally
the super method should be invoked at the beginning of the overridden method. However, this does
not apply to post methods. The following sample method is a postaction of create and therefore
requires that the super_createPostBase method be called at the end of the sample.

/**
* desc for createPost

Business Modeler IDE PLM00071 11.2 8-39


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

* @param creInput - Description for the Create Input


* @return - return desc for createPost
*/
int CommercialItemImpl::createPostBase( Teamcenter::CreateInput *creInput )
{
int ifail = ITK_ok;

// In addition to the implementation in parent BusinessObject write


// your specific Implementation
if(ifail = ITK_ok)
{
//Add custom code here if needed.
/*
//use getters methods available on OperationInput/CreateInput to access the
//values in CreateInput.
//for example below code gets the SAPPartNumber set by the user during
//the create CommercialItem Action on the create UI.

std::string sAPPartNumber ;
bool isNull = false ;
ifail = creInput->getString("SAPPartNumber",sAPPartNumber,isNull);

//Implement custom code to meet the Business Requirement


*/
}

//Add custom code here if needed.


/*
Custom code
*/
// Call the super createPost to invoke parent implementation
ifail = CommercialItemImpl::super_createPostBase(pCreateInput);

return ifail;

Server code

Build server code on Windows

1. Ensure that the build configuration is set properly.

a. Right-click the project and choose Properties.

b. Choose Teamcenter→Build Configuration in the left pane of the Properties dialog box.
The Build Configuration dialog box is displayed.

8-40 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Build server code on Windows

A. Verify that the build flags in the lower pane are set properly for the platform you are
building on.
Add any compile or link flags that are desired for your environment. By default the
libraries are built in release mode. The debug option can be added the Compiler Flags
box.

Platform Debug flag

Windows -Zi

Solaris -g

AIX -g

Linux -ggdb

B. Click the Browse button to the right of the Compiler Home box to select the location
where your C++ compiler is located. For example, if your platform is Windows and you
are using Microsoft Visual Studio, browse to compiler-install-path\VC\bin.
For information about supported C++ compilers, see the hardware and software
certifications page on GTAC.

Business Modeler IDE PLM00071 11.2 8-41


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Note:
If you use Windows on a 64-bit machine and intend to use Microsoft Visual Studio
for compiling, ensure that the x64 Compilers and Tools option is installed to
Visual Studio.
You may also want to add a call to the vcvarsall.bat file in the bmide.bat file and
add x64 to the end of the vcvarsall.bat command. The bmide.bat file runs the
Business Modeler IDE. Place the call before the PATH statement, for example:

call "C:\apps\MVS10\VC\vcvarsall.bat" x64


set PATH=%JDK_HOME%\bin;%JRE_HOME%\bin;TC_ROOT
\lib;%FMS_HOME%\
bin;%FMS_HOME%\lib;%PATH%;

Replace TC_ROOT with the installed location of Teamcenter.

c. Click OK.

2. Generate code by right-clicking the Business Objects folder and choosing Generate Code→C++
Classes.
After code is generated, a C symbol is placed on the project folder. This indicates that the project
has been converted to a CDT (C/C++ Development Tools) project. The C/C++ Development Toolkit
(CDT) is a collection of Eclipse-based features that provides the capability to work with projects that
use C or C++ as a programming language. You can work on the project in the CDT perspective by
choosing Window→Open Perspective→Other→C/C++.
After a project is converted to CDT, the Project menu in the top menu bar displays the following
build options.

Menu command Description

Build All Builds all projects in the workspace. This is a full build; all
files are built.

Build Configurations Allows you to manage build configurations.

Build Project Builds the currently selected project. This is a full build; all
files in the project are built.

Build Working Set Builds the current working set.

8-42 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Build server code on Windows

Menu command Description

Clean Runs the make clean command defined in the makefile.

Build Automatically When checked, the CDT performs a build whenever a file
in a project is saved. You should turn off this feature for
very large projects.

To learn more about these menu options, choose Help→Help Contents in the top menu bar and
choose the C/C++ Development User Guide in the left pane of the Help dialog box.

3. Write your code in the implementation files.

4. While in the C/C++ perspective, choose Project→Build Project to build the libraries containing
server code.
If Project→Build Automatically is already selected, code is built automatically any time the code is
changed and saved.
The compiled artifacts are placed in the output/wntx64 folder. Each defined library has a subfolder
under the output/wntx64/objs folder for the intermediate object files (.obj) and all compiled
libraries (.dll and .lib) are placed in the output/wntx64/lib folder.

Caution:
You must build on a Windows client if the code is to be used on a Windows server or build on
a Linux client for a Linux/UNIX server. If the packaged library files are installed on the wrong
platform, they do not work.

Business Modeler IDE PLM00071 11.2 8-43


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Build code on platforms not supported by the Business Modeler IDE

The build process in the Business Modeler IDE is designed to build server code on Windows platforms
only. If you intend to build the same custom server code on multiple platforms, you can use the same
project to generate the code and makefiles for each platform. You can use this process to build on the
platforms that appear on the Build Configuration dialog box for your project.

1. On Windows systems, create your new project in the Business Modeler IDE, and add new business
objects, properties, and operations. Generate code and build server code.

2. Right-click the project and choose Properties. On the left side of the dialog box, choose
Teamcenter→Build Configuration.

3. The dialog box includes a tab for each supported platform. For the platforms you want to build
libraries on, select the Create make/build files for the platform-name platform check box.

4. Fill in the Teamcenter Installation and Dependent Templates Directory boxes for the
appropriate locations relative to the target platform and host.

5. If you have defined services in the template, choose Teamcenter→Build Configuration→Service


Bindings. Select the client bindings you want for each target platform, and fill in the Teamcenter
Services client kit home and Rich Client plug-in folder boxes to the appropriate locations relative
to the target platform and host.
The next time you generate source code, either for metamodel customizations or for service
operations, a platform specific makefile is also created (for example, makefile.sol).

8-44 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Build code on platforms not supported by the Business Modeler IDE

6. For the additional platforms, copy the new template directory and subdirectories, for example:

C:\apps\Teamcenter\bmide\workspace\release\MyTemplate

7. The makefile can be used on the target platform to generate code and build the libraries (for
example, make -f makefile.sol). This generates all code for the project and compiles the libraries.

There is a platform-specific makefile created for each selected platform (for example, makefile.wnti32,
makefile.sol, and so on). These files are created in the root folder of the project. There are also a
number of platform-neutral makefiles created under the build folder for each library that is defined in
the template. All of these makefiles may be persisted and are only updated by the Business Modeler IDE
when something changes (a new library defined, build options changed, and the like). All platform-
specific output files (such as .objs and .dll files) are created under the platform-specific output folder (for
example, output/wnti32, outputs/sol, and so on).

Business Modeler IDE PLM00071 11.2 8-45


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Services

Process for creating services in the Business Modeler IDE

You can create your own Teamcenter services and service operations using the Business Modeler IDE.

A service is a collection of service operations that all contribute to the same area of functionality. A
service operation is a function, such as create, checkin, checkout, and so on. Service operations are used
for all internal Teamcenter actions, and are called by external clients to connect to the server.

When you use the Business Modeler IDE to create your own services and service operations, follow this
process:

1. Set up code generation.

2. Add a service library.

3. Add a service.

4. Add service data types.

5. Add service operations.

6. Generate service artifacts.

7. Write implementations of the service operations.

8. Build server and client libraries.

Teamcenter ships with service libraries and interfaces to build applications in Java, C++, and C# (.NET),
allowing you to choose the method that best fits with your environment. Teamcenter services also ships
with WS-I compliant WSDL files for all operations. To see these libraries, see the soa_client.zip file on
the installation source.

Add a service library

A service library is a collection of files used by a service and its operations that includes programs,
helper code, and data. Services are grouped under service libraries. You must create a service library
before you create a service.

1. Right-click the project and choose Organize→Set active extension file.


You can create your own XML file, such as services.xml. In the Project Files folder, right-click the
extensions folder and choose Organize→Add new extension file.

2. Choose one of these methods:

8-46 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a service library

• On the menu bar, choose BMIDE→New Model Element, type Service Library in the Wizards
box, and click Next.

• Open the Extensions\Code Generation folders, right-click the Services folder, and choose New
Service Library.

The New Service Library wizard runs.

3. Perform the following steps in the Service Library dialog box:

a. In the Name box, type the name you want to assign to the new service library.
When you name a new data model object, a prefix from the template is automatically affixed
to the name to designate the object as belonging to your organization. The letters Soa are
added to the prefix for service library names, for example, A4_Soa.

b. In the Description box, type a description of the new service library.

c. If this library requires other libraries in order to function, click the Add button to the right of
the Dependent On box to select other libraries.

d. Click Finish.
The new library appears under the Services folder.

4. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

5. Create services to go into the library. Right-click the library and choose New Service.

Business Modeler IDE PLM00071 11.2 8-47


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Add a service

A service is a collection of Teamcenter actions (service operations) that all contribute to the same area
of functionality. Before you can add a service, you must create a service library to place the service into.

Teamcenter ships with its own set of services and service operations to which you can connect your own
client. See the soa_client.zip file on the installation source.

1. Expand the Extensions\Code Generation\Services folders.

2. Under the Services folder, select a service library to hold the new service, or create a new service
library to hold the new service.

3. Right-click the custom service library in which you want to create the new service, and choose New
Service.
The New Service wizard runs.

4. Perform the following steps in the Service dialog box:

a. The Template box displays the project to which this new service is added.

b. In the Name box, type the name you want to assign to the new service.

8-48 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to service data types

c. Click the Description button to type a description of the new service.

d. Click the Dependencies button to select services that the new service is dependent upon. You
can use the Ctrl or Shift keys to select multiple services.

e. Click Finish.
The new service appears under the service library in the Services folder.

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

6. Create data types and operations for the service. Right-click the service, choose Open, and click
the Data Types tab or the Operations tab.

Service data types

Introduction to service data types

Service data types are used by service operations as return data types and can also be used as
parameters to operations. When you create a service operation, service data types are shown as
Generated data types in the Choose a Data Type Object dialog box. The data types on a service library
are defined for use only by that library and are not shared with other libraries.

To create a service data type, open a service, click the Data Types tab, and click the Add button. You can
create the following kinds of service data types:

Business Modeler IDE PLM00071 11.2 8-49


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

• Structure
Contains a set of types. Corresponds to a C++ struct data type.

• Map
Links one type to another. Corresponds to a C++ typedef data type.

• Enumeration
Contains a list of possible values. Corresponds to a C++ enum data type.

Add a structure data type

A structure data type is a kind of service data type that contains a set of types. It corresponds to a C++
struct data type. Service structures can be composed of many types: primitive types, string,
enumerations, maps, business objects, structures (for example, ServiceData), as well as vectors of these
(except for ServiceData).

Note:
Service data types are used only by the service library for which they are created.

1. Ensure that you have set the proper active release for the data type. Open the Extensions\Code
Generation\Releases folders, right-click the release, and choose Organize→Set as active
Release. A green arrow in the release symbol indicates it is the active release.

2. Expand the Code Generation\Services folders.

3. Under the Services folder, open a service library and select the service to hold the new data type.
You must create a service library and service before you create a service data type.

4. Right-click the service in which you want to create the new data type, choose Open, and click the
Data Types tab.

8-50 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a structure data type

5. Click the Add button on the Data Types tab.


The Complex Data Type wizard runs.

6. Select Structure and click Next.


The Structure dialog box is displayed.

7. Perform the following steps in the Structure dialog box:

a. The Template box defaults to the already-selected project.

b. In the Name box, type the name you want to assign to the new data type.

c. Select the Published check box to make the data type available for use by client applications.
Clear the box to unpublish the type, and to put it into an Internal namespace. Unpublished
types can only be used by unpublished operations (published can be used by either).

d. Click the Add button to the right of the Data Type Elements table to add elements to the
structure data type.
The Structure Element dialog box is displayed.

Business Modeler IDE PLM00071 11.2 8-51


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Perform the following steps in the Structure Element dialog box:

A. In the Name box, type a name for the new element.

B. Click the Browse button on the Type box to select the data type object to use for the
element.

Note:
When defining service types or operations, you can only reference structure data
types from a previous release or only map data types or enumeration data types
from the same release.

C. Click the Edit button to type a description for the new element.

D. Click Finish.

e. Click the Add button again to add more elements to the structure data type. The Structure
Elements table shows a preview of the new data type.

f. Click the Description button to type a description for the new structure.

g. Click Finish.
The new data type displays on the Data Types tab. To see the characteristics of the data type,
select it and click Data Type Definition on the right side of the editor.

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

8-52 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a map data type

9. Write a service operation that uses the new data type. When you create a service operation,
service data types are shown as Generated data types in the Choose a Data Type Object dialog
box.

Add a map data type

A map data type is a kind of service data type that links one type to another. It corresponds to a C++
typedef data type of the std::map form. A map data type consists of two components, a key type and a
value type.

Note:
Service data types are used only by the service for which they are created.

1. Ensure that you have set the proper active release for the data type. Open the Extensions\Code
Generation\Releases folders, right-click the release, and choose Organize→Set as active
Release. A green arrow in the release symbol indicates it is the active release.

2. Expand the project and the Code Generation\Services folders.

3. Under the Services folder, open a service library and select the service to hold the new data type.
You must create a service library and service before you create a service data type.

4. Right-click the service in which you want to create the new data type, choose Open, and click the
Data Types tab.

5. Click the Add button on the Data Types tab.


The Complex Data Type wizard runs.

6. Select Map and click Next.


The Map dialog box is displayed.

Business Modeler IDE PLM00071 11.2 8-53


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

7. Perform the following steps in the Map dialog box:

a. In the Name box, type a name for the data type.

b. Click Browse to the right of the Key Type box to select the key to use for this map.

Note:
When defining service types or operations, you can only reference structure data types
from a previous release or only map data types or enumeration data types from the
same release.

c. Click the Browse button to the right of the Value Type box to select the value to use for this
map.

d. Select the Published check box to make the data type available for use by client applications.
Clear the box to unpublish the type, and to put it into an Internal namespace. Unpublished
types can only be used by unpublished operations (published can be used by either).

e. Click the Description button to type a description for the new data type.

8-54 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an enumeration data type

f. Click Finish.
The new data type displays on the Data Types tab. To see the characteristics of the data type,
select it and click Data Type Definition on the right side of the editor.

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

9. Write a service operation that uses the new data type. When you create a service operation,
service data types are shown as Generated data types in the Choose a Data Type Object dialog
box.

Add an enumeration data type

An enumeration data type is a kind of service data type that contains a list of possible values. It
corresponds to a C++ enum data type. An enumeration data type consists of string names known as
enumerators.

Note:
Service data types are used only by the service for which they are created.

1. Ensure that you have set the proper active release for the data type. Open the Extensions\Code
Generation\Releases folders, right-click the release, and choose Organize→Set as active
Release. A green arrow in the release symbol indicates it is the active release.

2. Expand the Code Generation\Services folders.

3. Under the Services folder, open a service library and select the service to hold the new data type.
You must create a service library and service before you create a service data type.

4. Right-click the service in which you want to create the new data type, choose Open, and click the
Data Types tab.

Business Modeler IDE PLM00071 11.2 8-55


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

5. Click the Add button on the Data Types tab.


The Complex Data Type wizard runs.

6. Select Enumeration and click Next.


The Enumeration dialog box is displayed.

8-56 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a service operation

7. Perform the following steps in the Enumeration dialog box:

a. In the Name box, type the name you want to assign to the new data type.

b. Select the Published check box to make the data type available for use by client applications.
Clear the box to unpublish the type, and to put it into an Internal namespace. Unpublished
types can only be used by unpublished operations (published can be used by either).

c. Click the Add button to the right of the Enumerators box to add enumerators to the data
type.
The New Enumeration Literal wizard runs. Type a value in the Value box and click Finish.

d. Click the Add button again to add more enumerators to the data type, or click the Remove
button to remove enumerators.

e. Click the Description button to type a description for the new data type.

f. Click Finish.
The new data type displays on the Data Types tab. To see the characteristics of the data type,
select it and click Data Type Definition on the right side of the editor.

8. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

9. Write a service operation that uses the new data type. When you create a service operation,
service data types are shown as Generated data types in the Choose a Data Type Object dialog
box.

Add a service operation

A service operation is a function, such as create, checkin, checkout, and so on. Group service operations
under a service to create a collection of operations that all contribute to the same area of functionality.
You must create a service library and a service before you can create a service operation.

Note:
Teamcenter ships with its own set of services and service operations to which you can connect
your own client. See the soa_client.zip file on the installation source.

1. Ensure that you have set the proper active release for the operation. Open the Extensions\Code
Generation\Releases folders, right-click the release, and choose Organize→Set as active
Release. A green arrow in the release symbol indicates it is the active release.

2. Expand the Code Generation\Services folders.

Business Modeler IDE PLM00071 11.2 8-57


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

3. Under the Services folder, open a service library and select the service to hold the new service
operation. You must create a service library and service before you create a service operation.

4. Right-click the service in which you want to create the new service operation, choose Open, and
click the Operations tab.

5. Click the Add button on the Operations tab.


The New Service Operation wizard runs.

8-58 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a service operation

6. Perform the following steps in the Service Operation dialog box:

a. In the Name box, type the name you want to assign to the new service operation.
The operation name combined with its parameters must be unique within this service. An
operation name can only be reused if the duplicate name is in a different version.

b. Click the Browse button to the right of the Return Type box to select the data type to be used
to return data:

• bool
Returns a Boolean value (true or false). The bool data type is a primitive data type.

• std::string
String from the standard namespace. The std::string data type is an external data type.

• Teamcenter::Soa::Server::ServiceData

Business Modeler IDE PLM00071 11.2 8-59


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Returns model objects, partial errors, and events to the client application. If you select the
ServiceData type, include it only in the top-level structure that a service is returning. The
ServiceData data type is an external data type.

You can also create your own structure service data types and select them in this dialog box.

Note:
When defining service types or operations, you can reference only structure data types
from a previous version, or only map data types or enumeration data types from the
same version.

c. Select the Published check box to make the operation available for use by client applications.
Clear the box to unpublish the operation and place it into an Internal namespace.

d. Select the Throws Exception check box if a return error causes an exception to be thrown.
This enables the Exception Condition button.

e. To set parameters on the service operation, click the Add button to the right of the
Parameters table.
The New Service Operation Parameter wizard runs.

Perform the following steps in the Parameter dialog box:

A. In the Name box, type a name for the parameter.

B. Click the Browse button to the right of the Type box to select a data type to hold the
parameter.
In the Choose a Data Type Object dialog box, you can select the following data types to
filter out:

8-60 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a service operation

• Primitive
Generic data types. Only boolean, double, float, and int are available for services.

• External
Standard data types. Only those listed are available for services; they are defined by
Teamcenter.

• Template
Data types that allow code to be written without consideration of the data type with
which it is eventually used. Only vector is available for services.

• Interface
Data types for returning business objects. Only business objects with their own
implementation are selectable. For business objects without their own
implementation, select the closest parent instead.

• Generated
Service data types, such as structure, map, and enumeration data types. Only the data
types set up for this service are shown as being available for this service. However, you
can type in the name of a data type that is in another service as long as it is in the
same service library.

Note:
When defining service types or operations, you can only reference structure data
types from a previous release or only map data types or enumeration data types
from the same release.

C. Click the arrow in the Qualifier box to select the qualifier for the return value. Only the
valid qualifiers display depending on the type of parameter selected.

• &
Reference variable.

• *
Pointer variable.

• **
Double pointer. (Pointer to a pointer.)

• []
Array container.

D. Click the Edit button to type a complete description of this input parameter.
Follow these best practices:

• Specify what this argument represents and how it is used by the operation.

Business Modeler IDE PLM00071 11.2 8-61


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

• Specify if this parameter is optional. For an optional argument, describe the behavior
if the data is not passed for that argument.

• Describe the result if a specific value is passed to this argument.

• Describe how data is to be serialized or parsed if the parameter type hides multiple
property types behind a string.

• Avoid specifying just the type in the description. In case of hash maps, document the
type of the map key and values.

• Use complete sentences.

• Use correct formatting with fixed and bold text where appropriate.

• Use correct Teamcenter terminology.

• Define acronyms before using them.

E. Click Finish.
The Parameters table displays the new parameter.

f. Click the Operation Description box to type a complete description of the functionality
exposed through the service operation.
Follow these best practices:

• Describe what this operation does. Explain more than simply stating the method name.

• Make the description complete in its usefulness. Keep in mind the client application
developer while writing the content.

• Whenever appropriate, describe how each argument works with other arguments and gets
related to each other when this operation completes.

• Use correct formatting with fixed and bold text where appropriate.

• Use correct Teamcenter terminology.

• Define acronyms before using them.

g. Click the Return Description button to type a complete description of what the service
operation returns. Follow these best practices:

• Describe what the output represents and provide high-level details of the output data. Do
not specify only the type of service data returned.

8-62 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a service operation

• Describe any partial errors returned.

• Specify returned objects that are created, updated, or deleted as part of service data.

• Use complete sentences.

• Use correct formatting with fixed and bold text where appropriate.

• Use correct Teamcenter terminology.

• Define acronyms before using them.

h. Click the Exception Condition button to type a complete description of conditions that must
be met for the operation to throw an exception.
This box is enabled when the Throws Exception check box is selected.

i. Click the Use Case button to describe how the user interacts with this operation to
accomplish the operation’s goal. Follow these best practices:

• Document when and why this operation can be consumed.

• Describe how operations interrelate to satisfy the use case (if there is interrelation between
operations).

• Use complete sentences.

• Specify all possible use cases.

• Use correct formatting with fixed and bold text where appropriate.

• Use correct Teamcenter terminology.

• Define acronyms before using them.

j. Click the Dependencies button to select the other operations that are used in conjunction
with this operation to accomplish the goal.

k. Click the Teamcenter Component button to select the component you want to tag this
operation as belonging to. Teamcenter Component objects identify Teamcenter modules
that have a specific business purpose.

Business Modeler IDE PLM00071 11.2 8-63


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Tip:
Create your own custom components to use for tagging your service operations. To
create your own custom components, right-click Teamcenter Component in the
Extensions folder, choose New Teamcenter Component, and type the details for the
name, display name, and description. In the Name box, you can either choose your
template name or choose a name to help you easily organize and identify your set of
service operations. After the component is created, it appears in the list of available
components.

l. The preview pane shows how the operation information appears in the service API header. If
you choose to generate API documentation for services (for example, using Javadoc), this
preview shows you how the documentation appears when generated.
Click Finish.
The new service operation displays on the Operations tab. To see the characteristics of the
operation, select it and click Operation Definition on the right side of the editor.

7. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

8. Generate service artifacts. Right-click the service containing the service operation and choose
Generate Code→Service Artifacts.

Formatting text with the Description Editor dialog box

Use the Description Editor dialog box to format description text. This editor is displayed while you are
creating or modifying a service, service operation, or service data type.

8-64 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Generate service artifacts

Click the buttons at the top of the editor to format the text:

• Bold
Applies a bold font to the selected text. You can also apply bold text by pressing the CTRL+B keys.

• Italics
Applies italicized font to the selected text. You can also apply italicized font by pressing the CTRL+I
keys.

• Bullets
Applies bullets to the selected items. You can also apply bullets by pressing the CTRL+P keys.

• Variable
Applies a fixed-width font (such as Courier) to the selected text to designate that the text is a variable.
You can also apply the variable format by pressing the CTRL+O keys.

• Check Spelling
Performs a spell check for the text in the Description Editor dialog box. You can also perform a spell
check by pressing the CTRL+S keys.

Generate service artifacts

After you create operations, you must generate the service artifacts (source code files) from the
operations and write your implementations in an outline file. Using the Generate Code→Service
Artifacts menu command, you can generate the service source code files.

1. Write operations for a service.

2. Ensure that the code generation environment is set up in the project the way you want it.

a. Right-click the project folder and choose Properties.

b. Choose Teamcenter→Build Configuration and Teamcenter→Code Generation.

3. To generate code for all services, open the Extensions\Code Generation folders, right-click the
Services folder, and choose Generate Code→Service Artifacts.
In addition to generating source code files for the customization, the generate process also creates
makefiles for C++ artifacts, Ant build.xml files for Java artifacts, and .csproj files for .NET artifacts,
which are used to compile the source code. There is a platform-specific makefile created in the
project’s root folder (for example, makefile.wntx64) and there are also a number of platform-
neutral build files created under the build folder for each library that is defined in the template. All
of these build files may be persisted and are only updated by the Business Modeler IDE when
something changes (such as a new library is defined or build options are changed). The root
makefile (for example, makefile.wntx64) is used to compile all library source files for the
template. This includes the autogenerated code and your hand-written implementation code.

Business Modeler IDE PLM00071 11.2 8-65


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

4. All generated files are placed in the output/generated folder, with a subfolder for each library. The
implementation stub files are placed under the src/server folder, with a subfolder for each library.

5. Write implementations in the generated serviceimpl.cxx files where it contains the text: TODO
implement operation.

Write a service operation implementation

You can write implementation code for a service operation by using boilerplate source code files. Write
an implementation after you create a service operation and generate the service artifacts.

The Services Reference documents the C++ service APIs.

Note:
To access the Services Reference, install the Teamcenter developer references when you install
Teamcenter online help, or go to the Global Technical Access Center (GTAC):

https://support.industrysoftware.automation.siemens.com/docs/teamcenter/

1. Create the operation for which you need to write the implementation.
In the Extensions\Code Generation\Services folder, open a service library. Right-click the service
to hold the new operation, choose Open, click the Operations tab, and click the Add button.

2. Generate the service artifacts.

8-66 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Write a service operation implementation

Right-click the Services folder and choose Generate Code→Service Artifacts. To generate code
only for a particular service library, select only the service library.

3. Locate the generated code files.


To see the generated files, open the Project Files\src\server\service-library folder.

4. Switch to the C/C++ perspective by choosing Window→Open Perspective→Other→C/C++.

5. Write the implementation.


Write an implementation in the generated serviceImpl.cxx files.
Right-click the src\server\service-library\serviceimpl.cxx file and choose Open or Open With. Add
your implementation where it contains the following text:

// Your implementation

Replace // Your implementation with your implementation code, for example:

/**
* Saves the input bom windows. This method can be used to save
* product structures that are created/modified using bom lines.
*
* @param bomWindows Array of bomwindows that need to be saved
* @return SaveBOMWindowsResponse retruns the ServiceData containing updated
* BOMWindow and list of partial errors.
*
*/
Cad::_2008_06::StructureManagementImpl::SaveBOMWindowsResponse
Cad::_2008_06::StructureManagementImpl::saveBOMWindows (
const vector< BusinessObjectRef< Teamcenter::BOMWindow > > &bomWindows )
{
SaveBOMWindowsResponse resp;
ResultStatus rStat;
// loop over the input set, processing each one
for( vector< BusinessObjectRef< BOMWindow > >::const_iterator iter
= bomWindows.begin();
iter != bomWindows.end(); ++ iter )
{
const BusinessObjectRef< BOMWindow > &bomWindow = *iter;
try
{
// validate the input
if(bomWindow.tag() == NULLTAG)
{
ERROR_store( ERROR_severity_error, error-constant );
resp.serviceData.addErrorStack ();
continue;
}
// call tcserver function to process this
rStat = BOM_save_window( bomWindow.tag() );
// include modified objects
resp.serviceData.addUpdatedObject( bomWindow.tag());
}
// process errors as partial failures, linked to this input object

Business Modeler IDE PLM00071 11.2 8-67


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

catch( IFail & )


{
ERROR_store( ERROR_severity_error, error-constant);
resp.serviceData.addErrorStack( bomWindow );
}
}
return resp;
}

In the sample, error-constant is replaced with a constant that maps to the correct error message in
the text server. Typically, you create your own error constants. Constants can be exposed through
ITK (for server code customization) by addition of the header file in the kit_include.xml file.

Caution:
This sample is for example only and is not expected to compile in your customization
environment. Do not copy and paste this sample code into your own code.

6. If you want the implementation files to be regenerated after making changes to the services, you
must manually remove or rename the files and then right-click the service and choose Generate
Code→Service Artifacts. The Business Modeler IDE does not regenerate the files if they exist, to
avoid overwriting the implementation files after you edit them.

7. After you write implementations, build server and client libraries.

ServiceData implementation

The ServiceData class is the primary means for returning Teamcenter data model objects. Objects are
sorted in created, deleted, updated or plain lists. These lists give the client application access to the
primary data returned by the service. The Teamcenter Services server-side framework provides the
service implementor access to the following ServiceData class with methods to add objects to the
different lists (tag_t can be passed to these in place of the BusinessObject tag):

class ServiceData
{
public:
void addCreatedObject ( const BusinessObjectRef<Teamcenter::BusinessObject> obj );
void addCreatedObjects( const std::vector<
BusinessObjectRef<Teamcenter::BusinessObject>
>& objs );
void addDeletedObject ( const std::string& uid );
void addDeletedObjects( const std::vector<std::string>& uids );
void addUpdatedObject ( const BusinessObjectRef<Teamcenter::BusinessObject>
obj );
void addUpdatedObjects( const std::vector<
BusinessObjectRef<Teamcenter::BusinessObject>
>& objs );
void addUpdatedObject( const BusinessObjectRef<Teamcenter::BusinessObject> obj,
const std::set<std::string>& propNames );
void addPlainObject ( const BusinessObjectRef<Teamcenter::BusinessObject> obj );
void addPlainObjects ( const std::vector<
BusinessObjectRef<Teamcenter::BusinessObject>
>& objs );

8-68 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Partial errors implementation

...
};

void addObject ( const BusinessObjectRef<Teamcenter::BusinessObject> obj );
void addObjects ( const std::vector< BusinessObjectRef<Teamcenter::BusinessObject>
>& objs );

Note:
If the service is returning a plain object in a response structure, you must also add the object to
the ServiceData class using the addPlainObject tag. Otherwise, only a UID is sent and the client
ModelManager process can’t instantiate a real object (which can cause casting issues when
unpacking the service response). The framework typically automatically adds created, updated,
and deleted objects to the ServiceData.

The nature of the Teamcenter data model is such that simply returning the primary requested objects is
not enough. In many instances you must also return the objects referenced by primary objects. The
ServiceData class allows this to be done with the addObject method. Objects added to the ServiceData
class through the addObject method are not directly accessible by the client application; they are only
accessible through the appropriate properties on the primary objects of the ServiceData class:

class ServiceData
{
public:
...
void addObject ( const tag_t& obj );
void addObjects ( const std::vector<tag_t>& objs );
};

The different add object methods on the ServiceData class only add references to the objects to the
data structure. These object references are added without any of the associated properties. There are
two ways for adding object properties to the ServiceData class: explicitly added by the service
implementation, or automatically through the object property policy. To explicitly add properties use the
addProperty or addProperties method:

class ServiceData
{
public:
...
void addProperty ( const BusinessObjectRef<Teamcenter::BusinessObject> obj,
const std::string& propertyName );
void addProperties( const BusinessObjectRef<Teamcenter::BusinessObject> obj,
const std::set<std::string>& propNames );
};

Partial errors implementation

The ServiceData class extends from the PartialErrors class to pick up methods to add the current error
stack as a partial error. The ERROR_store_ask and ERROR_store_clear utilities are used to get the
current stack and clear it. The partial error can optionally be added with a reference to a BusinessObject
tag, a client ID, or index:

Business Modeler IDE PLM00071 11.2 8-69


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

class ServiceData extends PartialErrors


{
public:
void addErrorStack ( );
void addErrorStack ( const std::string& clientId );
void addErrorStack ( const BusinessObjectRef<Teamcenter::BusinessObject> obj );
void addErrorStackWithIndex ( int clientIndex );

};

Build server and client libraries

Building libraries is the final step in the service creation process. Before you build libraries, you must
create service libraries, services, and service operations, as well as build service artifacts and write
service implementation code. The Business Modeler IDE build system generates make files for building
all the service artifacts.

1. Ensure that the code generation environment is set up in the project the way you want it.

a. Right-click the project and choose Properties.

b. Choose Teamcenter→Build Configuration and Teamcenter→Code Generation. You can


change the default compiler options for each platform on the Build Configuration dialog box.

Note:
If you use Windows on a 64-bit machine and intend to use Microsoft Visual Studio for
compiling, ensure that the x64 Compilers and Tools option is installed to Visual Studio.
You may also want to add a call to the vcvarsall.bat file in the bmide.bat file and add
x64 to the end of the vcvarsall.bat command. The bmide.bat file runs the Business
Modeler IDE. Place the call before the PATH statement, for example:

call "C:\apps\MVS10\VC\vcvarsall.bat" x64


set PATH=%JDK_HOME%\bin;%JRE_HOME%\bin;TC_ROOT\lib;%FMS_HOME%
\
bin;%FMS_HOME%\lib;%PATH%;

Replace TC_ROOT with the installed location of Teamcenter.

2. Select the project in the Advanced perspective and choose Project→Build All on the menu bar.
You can also perform this step in the C/C++ perspective. The C/C++ perspective is an environment
you can use to work with C and C++ files, as well as to perform build operations.
The output libraries are generated for all the client bindings, and the server side library is built.
Output library files are placed under the output folder in the client, server, and types subfolders.

3. After all services are built, you can package them into a template.
On the menu bar, choose BMIDE→Package Template Extensions.

8-70 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Teamcenter Services build output

Note:
The Business Modeler IDE packages the built C++ library as part of its template packaging.
The complete solution that includes the data model and the C++ run-time libraries are
packaged together.

Teamcenter Services build output

After building all service artifacts, the following JAR files or libraries are created. Based on need, client
applications should reference the corresponding client binding library or JAR file during integration and
customization.

Note:
You define the bindings that are generated when you create a new project.

• Server libraries
A server-side library is created with the name libprefix-service-library-name.library-extension in the
output\server\lib folder.
For example, if a prefix is set to xyz3 and the service library name is MyQuery, the library file name is
libxyz3myquery.dll for Windows servers and libxyz3myquery.so for UNIX servers.
This library must be deployed into the Teamcenter server using Teamcenter Environment Manager
(TEM).

• Type library
Type libraries are created for the server side as well as for the client side. The server-side type library is
C++ based, and the format is libprefix-service-library-nametypes.library-extension.
Based on the binding options specified, the corresponding language type libraries are also generated.
For example, if the client application is a Java application, the prefix-service-library-nameTypes.jar
file must be added to the client applications class path for using the types defined in the service.
If a prefix is set to xyz3 and the service library name is MyQuery, the type library file name is
libxyz3myquerytypes.dll for Windows servers and libxyz3myquerytypes.so for UNIX servers. For
the Java client, a xyz3MyQueryTypes.jar file is created, and for the C# client, a
xyz3MyQueryTypes.dll is created.

• Client language bindings


Based on the options specified, the corresponding language client bindings are created for services.
For Java alone there are two types of bindings: strong and loose. Only one of them should be used in
a client application for calling services. For example, if a client application is a Java application and if
you choose to use strong bindings, only the prefix-service-library-nameStrong.jar file needs to be in
the class path and not the prefix-service-library-nameLoose.jar file.
C++ language client bindings have the libprefix-service-library-namestrong.library-extension file
name convention. For C++, two versions of strong libraries are created, one with smart pointers and
one without (legacy). The smart pointers C++ library name has a mngd file name suffix. Only one of
these two libraries needs to be used.
C# language client bindings have a prefix-service-library-namestrong.dll file name convention.

Business Modeler IDE PLM00071 11.2 8-71


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

• Client data model


For any custom data model created in a custom template (that is, if there are any custom business
objects created and used in service definitions), the Business Modeler IDE generates client-side data
model (CDM) libraries for the selected languages and must be referenced in the client application.
The file has the prefix-model-solution-name.extension naming convention.
For example, if a prefix is set to xyz3 and the solution name is MyCustom, the strong data model
library file for C++ is named libxyz3modelmycustom.dll for Windows servers and
libxyz3modelmycustom.so for UNIX servers. For a Java client, a xyz3StrongModelMyCustom.jar
file is created and for C#, xyz3StrongModelMyCustom.dll is created.

• Rich client bindings


A JAR file is created that can be used in rich client customization. The corresponding type library also
must be placed into the class path for consuming services in the rich client.
The JAR file name is prefix-service-library-nameRac.jar.

• WSDL bindings
WSDL files are also generated depending on the option specified, and the corresponding Axis
bindings are created with a prefix-service-library-nameWsdl.jar naming convention. This must be
deployed onto the Web tier. After it is deployed, client applications can consume the services using
WSDL definitions.

Following is typical usage (for example, if the prefix is xyz3, the solution name is MyCustom, and the
service library name is MyQuery).

Deplo Language / Libraries to use (Windows) Libraries to use (UNIX)


y- Technology
ment

Server C++ libxyz3myquery.dll libxyz3myquery.so


libxyz3myquerytypes.dll libxyz3myquerytypes.so

Client C++ libxyz3myquerystrong.dll libxyz3myquerystrong.so


libxyz3myquerytypes.dll libxyz3myquerytypes.so
libxyz3modelmycustom.dll libxyz3modelmycustom.so

Client C++ - Smart libxyz3myquerystrongmngd.dll libxyz3myquerystrongmngd.


pointer libxyz3myquerytypes.dll so
version libxyz3modelmycustommngd.dll libxyz3myquerytypes.so
libxyz3modelmycustommngd
.so

Client Java - Strong xyz3MyQueryStrong.jar xyz3MyQueryStrong.jar


xyz3MyQueryTypes.jar xyz3MyQueryTypes.jar
xyz3StrongModelMyCustom.jar xyz3StrongModelMyCustom.j
ar

8-72 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to extensions

Deplo Language / Libraries to use (Windows) Libraries to use (UNIX)


y- Technology
ment

Client Java - Loose xyz3MyQueryLoose.jar xyz3MyQueryLoose.jar


xyz3MyQueryTypes.jar xyz3MyQueryTypes.jar

Client C# xyz3MyQueryStrong.dll
xyz3MyQueryTypes.dll
xyz3StrongModelMyCustom.dll

Client Rich client xyz3MyQueryRac.jar xyz3MyQueryRac.jar


xyz3MyQueryTypes.jar xyz3MyQueryTypes.jar
xyz3StrongModelMyCustom.jar xyz3StrongModelMyCustom.j
ar

Client WSDL Generate client bindings using Generate client bindings using
exposed WSDL files. exposed WSDL files.

Web Java EE xyz3mycustomWsdl.jar xyz3mycustomWsdl.jar


tier

Web .NET Use the TEM feature file.


tier

Extensions

Introduction to extensions

An extension is a business rule that adds predefined behavior to a business object operation and fires as
a precondition, preaction, or postaction. An extension is an independent function. It is defined and
made available for attachment to a specific operation of a business object or property as a precondition,
preaction, or postaction.

Extensions allow you to write a custom function or method for Teamcenter in C or C++ and attach the
rules to predefined hook points in Teamcenter. After defining an extension, it can be assigned to a
business object or a property so that it is invoked at a particular point (on a precondition, preaction,
base action or postaction on the object). This is done through the Extensions Attachments tab.

To see operations defined for a business object, right-click a business object, choose Open, and click the
Operations tab in the resulting editor To see operations defined for a property, select the property and
click the Property Operations tab. To see the extension points defined for an operation, select the
operation and click the Extensions Attachments tab.

Business Modeler IDE PLM00071 11.2 8-73


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Following is an example of the Extension Attachments tab for business object operations.

Following is an example of the Extension Attachments tab for property operations.

8-74 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to extensions

You can also use predefined extensions to perform actions. The predefined extensions rules can be
viewed under the Extensions\Rules\Extensions folder.

Note:
Extensions defined for a property of a business object cannot be attached to that property at child
business objects. They can be attached to that property at the same business object. However,
extensions defined for a business object itself (not to its property) can be attached to a child
business object.

To create your own extension:

1. Create the extension definition.

2. Assign the extension to a business object or property.

3. Write code for the extension.

Business Modeler IDE PLM00071 11.2 8-75


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Define an extension

An extension is a business rule that adds pre-defined behavior to a business object operation and fires as
a pre-condition, pre-action, or post-action. When you define an extension, you identify the parameters
passed to the extension when it is executed, and how the extension is made available to other business
objects.

1. Open the Extensions\Rules folders.

2. Right-click the Extensions folder and choose New Extension Definition.


The New Extension Definition wizard runs.

3. Type a name for the extension in the Name box.


If the programming language for the extension is C, the extension name must match the name of
the function.
If the programming language for the extension is C++, the extension name must conform to the
following format:

NameSpace::ClassName::MethodName

8-76 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Define an extension

4. In the Description box, type a description of the extension and how to implement it.

5. Click the arrow in the Language box and choose the programming language of the function, either
C or C++.

6. Click the Browse button to the right of the Library box to select the library that contains the
function.

Note:
You can place libraries in the TC_ROOT\bin directory, or you can set the path to valid libraries
with the BMF_CUSTOM_IMPLEMENTOR_PATH preference (BMF refers to the Business
Modeler Framework). To access preferences, in the My Teamcenter application, choose
Edit→Options and click Search at the bottom of the Options dialog box.

7. If there are parameters to be passed to the extension, click the Add button to the right of the
Parameter List table.
The Extension Parameter dialog box is displayed.

Perform the following steps in the Extension Parameter dialog box:

a. In the Name box, type a name for the parameter.

b. Click the arrow in the Type box to select the parameter type as String, Integer, or Double.

c. Select the Mandatory check box if the parameter is mandatory (that is, the value for that
parameter cannot be null).

d. Select one of the following Suggested Value options to select the type of value for the
parameter:

• None if you type the argument value manually when assigning the extension.

Business Modeler IDE PLM00071 11.2 8-77


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

• TcLOV if the values are derived from a list of values.

• TcQuery if the values are derived from the results of a saved query.

e. If you selected TcLOV, click the Browse button to the right of the LOV Name box to locate the
list of values for the parameter.

f. If you selected TcQuery, click the Browse button to the right of the Query Name box to
locate the saved query.
The Teamcenter Repository Connection wizard prompts you to log on to a server to look up
its available saved queries.

g. Click Finish.
The parameter is added to the Parameter List table.

8. Click the Move Up or Move Down buttons to change the order in which the parameters are
passed.

9. To define availability of the extension to business objects, click the Add button to the right of the
Availability table.
The Extension Availability dialog box is displayed.

Perform the following to define availability of the extensions:

a. Click the Browse button to the right of the Business Object Name box to choose the business
object on which to place the extension. Availability defined for a business object applies to its
children.

8-78 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Assign an extension

Note:
User exits also display in this list, so that you can make a user exit available for use by
the new extension.

b. To the right of Business Object Or Property, select Type if the rule is to be associated with a
business object, or select Property if the rule is to be associated with a property on the
business object.

c. If you selected Property, click the arrow in the Property Name box to select the property.

d. Click the arrow in the Operation Name box to select the operation to place on the business
object. The list includes both legacy and new operations for that business object. The new
operations have the C++ style signature.

e. Click the arrow in the Extension Point box to select the point as a PreCondition, PreAction,
or PostAction action.
Pre/post conditions for an operation are controlled during operation creation time. For
example, if a precondition is enabled for the XYZ(data-types) operation during its creation
time, then the availability wizard shows the precondition for that operation only.

f. Click Finish.
The validity item is added to the Availability table.

10. Click Finish.


The extension is added to the Extensions folder.

11. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

12. Now that you have added the extension, you can assign it to business objects or business object
properties.

Assign an extension

After you define an extension, you can assign it to a business object operation or a property operation
so that it is invoked at a particular point (on a pre-condition, pre-action, base action, or post-action on
the object).

1. If you made the extension available for use on a business object operation, open the business
object and click the Operations tab. If you made the extension available for use on a property
operation, open the business object the property resides on, click the Properties tab, select the
property, and click the Property Operations tab.

Business Modeler IDE PLM00071 11.2 8-79


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Note:
You must have already made the rule available to the business object or property in the
Availability table in the New Extension wizard.

2. To see the extension points defined for an operation, select the operation and click the Extensions
Attachments tab.
Following is an example of the Extension Attachments tab for a business object operation.

Following is an example of the Extension Attachments tab for a property operation.

8-80 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Assign an extension

3. Click the Add button.


The Add button is available only if there is at least one available extension to attach to this
operation.
The Add Extension Rule wizard is displayed.

4. Perform the following steps on the Extension dialog box:

Business Modeler IDE PLM00071 11.2 8-81


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

a. Click the arrow in the Extension Point dialog box to choose the point at which you have
made the operation available to run: PreCondition, PreAction, BaseAction, or PostAction.

Note:
The BaseAction section is shown only for user exits operations.

b. Click Browse to the right of the Extension box. Select the extension you defined earlier and
made available.
Rules appear only in the search dialog box if they have been made available for the business
object or property in the Availability table in the New Extension wizard.

c. Click the Add button to the right of the Arguments box.


The Extension Arguments dialog box is displayed.

A. In the Extension Arguments dialog box, type arguments to append to the rule.
Arguments are required if a parameter was set when the extension was created.

B. Click Finish.

d. Click the Browse button to the right of the Condition box to select the condition that
determines when the extension is applied. If you select isTrue as the condition, the value
always applies.

Note:
Only those conditions appear that have valid signatures. For extension rules, the valid
condition signature is as follows:

condition-name(UserSession)

e. Click Finish.
The rule is added to the table and is listed as active (a checkmark appears in the Active
column).

8-82 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Write extension code

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

6. Now that you have assigned the extension, you must write the code.

Write extension code

Extensions allow you to write a custom function or method for Teamcenter in C or C++ and attach the
rules to predefined hook points in Teamcenter.

After you assign an extension to a business object or a property operation so that it is called at a
particular point (on a pre-condition, pre-action, base action, or post-action on the object), you must
write the code that takes place in Teamcenter when the extension is called.

1. Open the Advanced perspective by choosing Window→Open Perspective→Other→Advanced.

2. In the Extensions view, open the Rules\Extensions folders, right-click the new extension you have
created, and choose Generate extension code.
The extension boilerplate code is generated into an extension-name.cxx C++ file and an extension-
name.hxx header file. To see these files, open the project in the Navigator view and browse to the
src\server\library directory.

Note:
You may need to right-click in the view and choose Refresh to see the files that were
generated.

3. Write your extension code in the new extension-name.cxx and extension-name.hxx files. You can
use the standard methods of writing code for Teamcenter.

4. Build your libraries.

Business Modeler IDE PLM00071 11.2 8-83


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

5. Deploy the customization to a test server by choosing BMIDE→Deploy Template on the menu bar.
Check to make sure the extension works properly.

Extension example: Add a postaction on a folder business object

In this example, an extension named H2FolderPostAction is attached to the Folder business object and
runs as a postaction when the user creates a folder. (H2 in this example represents the project naming
prefix.)

Although sample code for this extension is provided, you must write your own business logic in the
extension that is specific to your business needs.

1. Open the Advanced perspective by choosing Window→Open Perspective→Other→Advanced.

2. Define the H2FolderPostAction extension.

a. Create a library named H2libext.

b. Expand the project and the Rules\Extensions folders.

c. Right-click the Extensions folder and choose New Extension Definition.


The New Extension Definition wizard runs.

d. Perform the following In the Extension dialog box:

A. In the Name box, type H2FolderPostAction.

B. In the Language box, select CPlusPlus.

C. In the Library box, select H2Libext.

D. Click Add to the right of the Availability table and perform the following in the
Extension availability dialog box:

i. In the Business Object Name box, select Folder.

ii. In the Operation Name box, select create(Teamcenter::CreateInput*).

iii. In the Extension Point box, select PostAction.

8-84 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Extension example: Add a postaction on a folder business object

iv. Click Finish in the Extension availability dialog box.


The extension appears.

E. Click Finish in the Extension dialog box.

3. Attach the H2FolderPostAction extension to the Folder business object.

a. In the Business Objects view, right-click the business object you have made available on the
extension, choose Open, and click the Operations tab in the resulting editor and click
create(Teamcenter::createInput*).

b. Click the Extension Attachments tab and click Add

Business Modeler IDE PLM00071 11.2 8-85


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

c. In the extension attachment wizard, for the extension point select PostAction and for the
extension select the H2FolderPostAction extension.

d. Click Finish.
The extension is added to the postaction.

The XML entries are created as follows:

<Add>

<TcExtension name="H2FolderPostAction" internal="false" cannedExtension="false"


languageType="CPlusPlus" libraryName="libH2libext" description="">
<TcExtensionValidity parameter="TYPE:Folder:create#Teamcenter::CreateInput,*:3"/>
</TcExtension>
<TcExtensionAttach extensionName="H2FolderPostAction"
operationName="create#Teamcenter::CreateInput,*"
isActive="true" extendableElementName="Folder" extendableElementType="Type"
extensionPointType="PostAction" conditionName="isTrue" description=""/>

</Add>

The library file is saved as libH2libext. XML entries store the exact name of the library without
the library extension (.dll, .so, and so on).

4. Implement the H2FolderPostAction extension.

8-86 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Extension example: Add a postaction on a folder business object

a. In the Advanced Perspective, right-click the H2FolderPostAction extension and choose


Generate extension code.
The extension boilerplate code is generated into a H2FolderPostAction.cxx C++ file and a
H2FolderPostAction.hxx header file. To see these files, open the project in the Navigator
view and browse to the src\server\H2libext\ directory.

Note:
You may need to right-click in the view and choose Refresh to see the files that were
generated.

b. Open the H2FolderPostAction.cxx file in a C/C++ editor and add your custom business logic.
Following is a sample file:

#include <H2libext/H2FolderPostAction.hxx>
#include <stdio.h>
#include <stdarg.h>
#include <ug_va_copy.h>
#include <CreateFunctionInvoker.hxx>
using namespace Teamcenter;
int H2FolderPostAction (METHOD_message_t* msg, va_list args)
{
std::string name;
std::string description;
bool isNull;
// printf("\t +++++++++++ In H2FolderPostAction() ++++++++++\n");

va_list local_args;
va_copy( local_args, args);

CreateInput *pFoldCreInput = va_arg(local_args, CreateInput*);

pFoldCreInput->getString("object_name",name,isNull);

pFoldCreInput->getString("object_desc",description,isNull);
// Write custom business logic here

va_end( local_args );

return 0;
}

5. Build the library (libH2libext.dll file) for the H2FolderPostAction extension.

a. Run the dumpbin script (Windows) or nm script (Linux) to see if the H2FolderPostAction
extension symbol is exported correctly, for example:

dumpbin /EXPORTS <path_of_libH2libextr>\libH2libext.dll

The symbol should not be mangled (C++). The output should look similar to the following:

11471 00002BE0 H2FolderPostAction = _H2FolderPostAction

Business Modeler IDE PLM00071 11.2 8-87


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

b. Put the libH2libext.dll library file in the TC_ROOT\bin directory, or from the rich client, set the
BMF_CUSTOM_IMPLEMENTOR_PATH to the path of the library.

6. Deploy the H2FolderPostAction extension.

7. Test the H2FolderPostAction extension by creating a folder object from the rich client. The
extension should get executed.

Workflow extension example

Workflow extension example: Overview

This custom extension example initiates a workflow process on an item revision when creating an item.

1. Define the extension.

2. Assign the extension to an extension point.

3. Develop the C custom extension code.

4. Execute the extension.

Workflow extension example: Define the sample extension in the Business Modeler IDE

1. Open the Advanced perspective by choosing Window→Open Perspective→Other→Advanced.

2. Navigate to the Extensions view and open the Rules→Extensions folder. Right-click the
Extensions folder and choose New Extension Definition.
The New Extension Definition wizard runs.

3. Enter the name of the extension rule as prefixbmf_extension_workflow_sample. The prefix


corresponds to the file name prefix for your project, for example, G4_. This name must match the
function name defined in the header file.

4. In the Language Type box, select ANSI-C.

5. Click the Browse button to the right of the Library box and select the libsampleExtension library.

6. Add the parameter definitions to this extension.

a. Click the Add button in the Parameter List table.


The Extension Parameter dialog box is displayed.

b. Create the Release Process parameter.

A. In the Name box, type Release Process.

8-88 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workflow extension example: Assign the sample extension

B. In the Type box, select String.

C. Select the Mandatory check box to make the parameter required.

D. Click Finish.

c. Click the Add button in the Parameter List table. Now create the Company ID parameter.

A. In the Name box, type Company ID.

B. In the Type box, select Integer.

C. Clear the Mandatory check box to make the parameter optional.

D. Click Finish.

7. Modify the availability of this extension.

a. Click the Add button in the Availability table. The Extension Availability dialog box is
displayed.

A. Click Browse in the Business Object Name box and select Item.

B. In the Business Object or Property area, select the Type check box.

C. In the Operation Name box, select ITEM_create.

D. In the Extension Point box, select PostAction.

E. Click Finish.

b. Click Finish in the Extension dialog box.

This extension is now available to the ITEM_create operation only as a post-action.

Workflow extension example: Assign the sample extension

1. Open the Advanced perspective by choosing Window→Open Perspective→Other→Advanced.

2. In the Business Object view, right-click the Item business object, choose Open, and click the
Operations tab.
A view displays the extension operations attached to the business object.

3. Select the ITEM_create operation.

4. Click the Extension Attachments tab and click the Add button.

Business Modeler IDE PLM00071 11.2 8-89


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

The Add Extension Rule wizard runs.

5. Select PostAction for the extension point.


Click the Browse button in the Extension box and select prefixbmf_extension_workflow_sample.
Add arguments in the Arguments box for TCM Release Process using a company ID of 56 and click
Finish.
Note how the check box in the Active column shows how this extension is activated.

Workflow extension example: Develop the C custom extension code for the sample
extension

This custom extension initiates a workflow process on an item revision (after it is created) when creating
an item. This is custom code developed using standard ITK development practices.

1. Open the Advanced perspective by choosing Window→Open Perspective→Other→Advanced.

2. In the Extensions view, open the Rules\Extensions folders, right-click the


prefixbmf_extension_workflow_sample extension you have created, and choose Generate
extension code. (prefix corresponds to the naming prefix for your project, for example, G4_.)
The extension boilerplate code is generated into a prefixbmf_extension_workflow_sample.cxx C
++ file and a prefixbmf_extension_workflow_sample.hxx header file. To see these files, open the
project in the Navigator view and browse to the src\server\library directory.

Note:
You may need to right-click in the view and choose Refresh to see the files that were
generated.

3. Using the generate boilerplate code files, create the custom code. Following is an example of the
prefixbmf_extension_workflow_sample.c source file.

Note:
In the following example, change G4_ to your project's naming prefix.

#include <ug_va_copy.h>
#include <itk/bmf.h>
#include <epm/epm.h>
#include <epm/epm_task_template_itk.h>

int getArgByName(const BMF_extension_arguments_t* const p, const int arg_cnt,


const char*
paramName)
{
int i = 0;

for(; i < arg_cnt; i++)


{
if(tc_strcmp(paramName, p[i].paramName) == 0)

8-90 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workflow extension example: Develop the C custom extension code for the sample extension

return i;
}

return -1;
}

int G4_bmf_extension_workflow_sample(METHOD_message_t *msg, va_list args)


{
int ifail = ITK_ok;

tag_t* new_item = NULL;


tag_t* new_rev = NULL;

tag_t item_tag = NULLTAG;


tag_t rev_tag = NULLTAG;
tag_t job_tag = NULLTAG;
tag_t template_tag = NULLTAG;

char* item_id = NULL;


char* item_name = NULL;
char* type_name = NULL;
char* rev_id = NULL;

char relproc[BMF_EXTENSION_STRGVAL_size_c + 1] = {'\0'};


char job_desc[WSO_desc_size_c + 1] = {'\0'};
char job_name[WSO_name_size_c + 1] = {'\0'};

int index = 0;
int paramCount = 0;
int companyid = 0;
int attachment_type = EPM_target_attachment;

BMF_extension_arguments_t* input_args = NULL;

/********************/
/* Initialization */
/********************/
//Get the parameters from the ITEM_create_msg
va_list largs;
va_copy(largs, args);
item_id = va_arg( largs, char *);
item_name = va_arg(largs, char *);
type_name = va_arg(largs, char *);
rev_id = va_arg(largs, char *);
new_item = va_arg(largs, tag_t *);
new_rev = va_arg(largs, tag_t *);
item_tag = *new_item;
rev_tag = *new_rev;
va_end(largs);

// Extract the user arguments from the message


ifail = BMF_get_user_params(msg, ¶mCount, &input_args);

if(ifail == ITK_ok && paramCount >= 2)


{
index = getArgByName(input_args, paramCount, "Release Process");

if(index != -1)
tc_strcpy(relproc, input_args[index].arg_val.str_value);

Business Modeler IDE PLM00071 11.2 8-91


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

index = getArgByName(input_args, paramCount, "Company ID");

if(index != -1)
companyid = input_args[index].arg_val.int_value;

MEM_free(input_args);

if(relproc != NULL && rev_tag != NULLTAG)


{
sprintf( job_name, "%s/%s-%d Job", item_id, rev_id,
companyid);
sprintf( job_desc, "Auto initiate job for Item/
ItemRevision (%s/%s-%d)",
item_id, rev_id, companyid);

//Get the template tag.


ifail = EPM_find_template(relproc , 0, &template_tag);

if(ifail != ITK_ok)
return ifail;

// Create the job, initiate it and attach it to the item


revision.
ifail = EPM_create_process(job_name, job_desc,
template_tag, 1, &rev_tag,
&attachment_type, &job_tag);

if(ifail != ITK_ok)
return ifail;
}
else
{
// User supplied error processing.
}
}

return ifail;
}

Sample source file

Following are some considerations when creating custom code:

Keep in mind:

• An extension should be expected to process one message.

• The message data and custom extension user data are independent of each other so it does not
matter which is processed first. However, they should be processed together as a set.

• You are expected to know the data that exists for the message. This includes data types and the
retrieval order so this data can be processed properly using va_arg.

8-92 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Workflow extension example: Execute the sample extension

• You are expected to know the user data that exists for the custom extension. This includes data types
and whether each data element is mandatory or optional so that this data can be processed properly
after the BMF_get_user_params function is used to retrieve this data.

• Several extensions can be compiled into the same library.

• Copy all the implementation C files to the same directory.

• Use the compile scripts (discussed below) and specify multiple targets to be compiled.

• Execute the link script once to produce the library containing these extensions.

Workflow extension example: Execute the sample extension

1. Deploy the customization to a test server by choosing BMIDE→Deploy Template on the menu bar.

2. In the rich client, launch My Teamcenter.

3. Create a new item.

You see a TCM workflow process attached to the item revision when the item is created.

About extension attachments

To see operations defined for a business object operation, open the business object and click the
Operations tab. To see operations defined for a property operation, select the property and click the
Property Operations tab. To see the extension points defined for an operation, select the operation and
click the Extensions Attachments tab.

Following is an example of the Extension Attachments tab for business object operations.

Business Modeler IDE PLM00071 11.2 8-93


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Following is an example of the Extension Attachments tab for property operations.

8-94 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
About extension attachments

Extension points include:

• Pre-Condition
Places limits before an action. For example, limit individual users by their work context to create only
a certain item type. Pre-conditions are executed first in an operation dispatch. If any of the pre-
conditions fails, the operation is aborted. Typical examples of pre-conditions are naming rules.

• Pre-Action
Executes code before an action. For example, add user information to the session prior to translation.
Pre-actions are executed after pre-conditions and before the base action. If any of the pre-actions fail,
the operation is aborted. A typical example is an initial value rule that needs to set an initial value
before the save base action is invoked.

• Base-Action
Executes code for an action. The base action is the actual operation implementation, and cannot be
replaced. Base-Action is used only for user exits operations.

• Post-Action
Executes code after an action. For example, automatically start an item in a workflow. If any of the
post-actions fail, the operation is aborted.

Business Modeler IDE PLM00071 11.2 8-95


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Add a predefined extension to a business object

You can use predefined (internal) extensions to perform actions. For example, you can use the
predefined createObjects extension definition to automatically create a related Microsoft Word dataset
whenever an item is created.

1. In the Extensions view, expand the project and the Rules\Extensions folders.

2. Double-click the predefined extension definition you want to use, for example, createObjects.
The details of the extension appear in a new Extension Definition view.
In the Availability table, view the business object, operation, and extension point for which the
extension can be used. Decide which business object and operation for which you want to use the
extension, and observe the extension point where it can be used.

3. In the Business Objects view, right-click the business object on which you want to use the
extension, choose Open, and click the Operations tab in the resulting editor. The available
operations for the business object are found in the table.

4. Select the operation and click the Extensions Attachments tab.

8-96 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a predefined extension to a business object

5. Click the Add button on the Extension Attachments tab.

Note:
This must be an operation and an extension point that appears in the Availability table for
the extension.

The Add Extension Rule wizard runs.

6. In the Extension dialog box, select the extension point (Pre-Condition, Pre-Action, Base-Action,
or Post-Action). and click the Browse button to the right of the Extension box to choose the
extension.

7. If arguments are required on the operation, the Add button to the right of the Arguments box is
available. Click the Add button to add arguments.

Business Modeler IDE PLM00071 11.2 8-97


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

8. Click Finish.
The extension is added to the table under the extension point.

9. Save the data model by choosing BMIDE→Save Data Model on the menu bar, and deploy the data
model by choosing BMIDE→Deploy Template.
Verify that the extensions work as expected in the Teamcenter rich client.
For example, if you use the predefined createObjects extension definition to automatically create
a dataset whenever a certain item type is created, verify that the dataset is created in the My
Teamcenter application.

Note:
For the createObjects extension, the name field is autogenerated and the initial value
constant is ignored.

Working with user exits

The User Exits folder in the Extensions folder is for working with user exits, mechanisms for adding
base action extension rules. User exits are places in the server where you can add additional behavior by
attaching an extension.

Note:
User exit attachments, unlike operation extension attachments, cannot be attached at the level of
child business objects. User exit attached extensions get defined and executed as callbacks only at
a particular business object.

To work with user exits, right-click a user exit and choose Open Extension Rule. You can add actions on
the right side of the editor. The Base-Action section is only shown for user exits operations.

You can make a user exit available for use when you define an extension rule. Right-click the
Extensions folder, choose New Extension Definition, click the Add button to the right of the
Availability table, and click the Browse button on the Business Object Name box. The user exits
display on the list along with business objects.

8-98 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Extensions reference

The Integration Toolkit Function Reference documents users exits.

Note:
To access the Integration Toolkit Function Reference, install the Teamcenter developer references
when you install Teamcenter online help, or go to the Global Technical Access Center (GTAC):

https://support.industrysoftware.automation.siemens.com/docs/teamcenter/

Extensions reference

Extensions allow you to use custom functions and predefined methods to extend Teamcenter behavior.

Messages, methods, and method registrations are stored in the database as operations, extensions, and
extension points, which can be defined and configured using the Business Modeler IDE. This
methodology supports the C and C++ APIs and uses database storage that allows the reuse of
extensions.

Before proceeding further, you should become familiar with some terms. Extensions allow you to
configure system behavior by applying extensions to extension points that are related to business
operations in Teamcenter. Business operations are actions performed in the system, such as creating
and saving an item, fetching or setting a property value, or invoking a user exit. Extension points are
events in the system, such as a postaction on an operation or a user exit, that allow you to implement
custom behavior. Extensions contain information about functions associated with Teamcenter business
objects and properties.

Business operations can expose one or more extensions points, which can contain zero or more
extensions. Extensions within an extension point display the following characteristics:

• Extensions can be arranged to execute in a specific sequence.

• Each extension can have a set of arguments that is unique within the extension point.

• Extensions can be activated and deactivated within an extension point. Inherited extensions can be
modified.

• External extensions can be configured in the same manner as the core extensions delivered with
Teamcenter.

• An extension can be included more than once in a single extension point with different arguments,
and can also be included in multiple extension points depending on availability.

• User exit operations can only be configured from the base extension point (that is, pre-condition, pre-
action, and post-action extension points are not available).

Business Modeler IDE PLM00071 11.2 8-99


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Operations reference

Operations are actions you can perform in Teamcenter. When you assign an extension to a business
object or property, you can call an operation on that business object or property.

To see operations defined for a business object, right-click a business object, choose Open, and click the
Operations tab in the resulting view. The following table lists available operations on business objects.

Business object operation Description

AE_create_dataset Creates a dataset object in the database.

AE_delete_dataset Deletes a dataset object from the database.

AE_export_file Exports a dataset file.

AE_import_file Imports a dataset file.

AE_save_dataset Saves a dataset object in the database.

BOM_variant_config Evaluate a BOM window variant configuration.

ECM_create_supercedure Creates a change management supercedure object.

ECM_delete_supercedure Deletes a change management supercedure object.

GRM_create Creates a new GRM relation of the given type, linking


the specified primary and secondary objects.

IMAN_delete Deletes an object from the database.

IMAN_export Exports an object from the database.

IMAN_import Imports an object to the database.

IMAN_refresh Reloads (or loads if not previously loaded) the given


object from the database. If lock is true, the object is
locked for modification. If the lock if false, the object
is loaded no-lock.

IMAN_save Saves the given object to the database.

8-100 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Operations reference

Business object operation Description

IMANTYPE_create Create a new business object.

IMANTYPE_create_props Creates properties on a business object.

IMANTYPE_init_user_props Performs user-defined initialization of properties on a


business object.

IMANTYPE_viewer_props Creates viewer properties on a business object.

ITEM_baseline_rev Produce a new baseline for the given existing


revision.

ITEM_copy_rev Produce a new working revision based on the given


existing revision.

ITEM_copy_rev_to_existing Produce a new revision from an existing item revision


based on the Allow_copy_as_rev preference. If this
preference is set to true or 1, this operation copies
the contents of one item revision below an item to a
newly created item revision below another existing
item. Otherwise, it creates a new item.

ITEM_create Create a new item with initial working revision.

ITEM_create_from_rev Create a new item based on an existing item revision.

ITEM_create_rev Create a new (empty) working revision for an existing


item.

ITEM_deep_copy Reads the preference rule set for deep copy operation,
and performs the following based on the copy rules
set for each of the item revision attachments:

• copy_as_object
A new object is created from the existing
attachment object. The newly created object has
distinct behavior different from its parent.

• copy_as_reference
A symbolic link is created between the attachment
of the parent item revision and the newly created
item revision. If the attachment of the parent

Business Modeler IDE PLM00071 11.2 8-101


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Business object operation Description

changes, the newly created item revision's


corresponding attachment also changes.

• no_copy
The attachment is detached from the newly created
item revision.

LOV_ask_disp_values Converts an LOV to a list of strings.

LOV_ask_num_of_values Asks how many values are in a LOV.

LOV_ask_value_descriptions Asks for the list of value descriptions of an LOV.

LOV_ask_values Asks for the list of values of an LOV.

LOV_ask_values_by_coworker Asks for values using your own method.

LOV_create Creates a new LOV.

LOV_insert_values Inserts values in a LOV.

LOV_is_valid Determines if the value is valid with a specified LOV.

LOV_set_usage Sets usage into an LOV.

LOV_set_value_descriptions Sets value descriptions in a LOV. The size of the


descriptions array must be equal to the size of the
values in the LOV.

LOV_set_values Sets values in a LOV.

LOV_valid_by_coworker Validates a value by your own method.

ME_create_processoperation Creates a new process operation object.

ME_clone_template_action Creates a new message for process cloning.

OBJIO_SM_create Creates a new storage medium.

8-102 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Operations reference

Business object operation Description

WSO_copy Copies a workspace object.

WSO_create Creates a workspace object.

To see operations for a property, select the property and click the Property Operations tab. The
following table lists available operations on properties.

Property operation Description

PROP_ask_lov_chars Asks for allowable values as characters that can be set into
this property.

PROP_ask_lov_dates Asks for allowable values as dates that can be set into this
property

PROP_ask_lov_doubles Asks for allowable values as doubles that can be set into
this property.

PROP_ask_lov_ints Asks for allowable values as integers that can be set into
this property

PROP_ask_lov_logicals Asks for allowable values as logicals that can be set into
this property.

PROP_ask_lov_strings Asks for allowable values as strings that can be set into
this property.

PROP_ask_lov_tags Asks for allowable values as tags that can be set into this
property.

PROP_ask_value_char Asks for the value of a single-valued character property.


The property cannot be an array or list.

PROP_ask_value_char_at Asks for the value of a multivalued (that is, list or array)
character property at a particular index position.

PROP_ask_value_chars Asks for one or more values of a character property. The


property can be single-valued or multivalued (that is, array
or list).

Business Modeler IDE PLM00071 11.2 8-103


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Property operation Description

PROP_ask_value_date Asks for the value of a single-valued date property. The


property cannot be an array or list.

PROP_ask_value_date_at Asks for the value of a multivalued (that is, list or array)
date property at a particular index position.

PROP_ask_value_dates Asks for one or more values of a date property. The


property can be single-valued or multivalued (that is, array
or list).

PROP_ask_value_double Asks for the value of a single-valued double property. The


property cannot be an array or list.

PROP_ask_value_double_at Asks for the value of a multivalued (that is, list or array)
double property at a particular index position.

PROP_ask_value_doubles Asks for one or more values of a double property. The


property can be single-valued or multivalued (that is, array
or list).

PROP_ask_value_int Asks for the value of a single-valued integer property. The


property cannot be an array or list.

PROP_ask_value_int_at Asks for the value of a multivalued (that is, list or array)
integer property at a particular index position.

PROP_ask_value_ints Asks for one or more values of a integer property. The


property can be single-valued or multivalued (that is, array
or list).

PROP_ask_value_logical Asks for the value of a single-valued logical property. The


property cannot be an array or list.

PROP_ask_value_logical_at Asks for the value of a multivalued (that is, list or array)
logical property at a particular index position.

PROP_ask_value_logicals Asks for one or more values of a logical property. The


property can be single-valued or multivalued (that is, array
or list).

8-104 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Operations reference

Property operation Description

PROP_ask_value_string Asks for the value of a single-valued string property. The


property cannot be an array or list.

PROP_ask_value_string_at Asks for the value of a multivalued (that is, list or array)
string property at a particular index position.

PROP_ask_value_strings Asks for one or more values of a string property. The


property can be single-valued or multivalued (that is, an
array or list).

PROP_ask_value_tag Asks for the value of a single-valued tag property. The


property cannot be an array or list.

PROP_ask_value_tag_at Asks for value of a multivalued (that is, list or array) tag
property at a particular index position.

PROP_ask_value_tags Asks for one or more values of a tag property. The


property can be single-valued or multivalued (that is, array
or list).

PROP_is_modifiable Indicates whether a property can be modified by the user.


You can register a post-action to the default method that
does additional checks.

PROP_set_value_char Sets a value on a single-valued character property.

PROP_set_value_char_at Sets the value of a multivalued (that is, list or array)


character property at a particular index position.

PROP_set_value_chars Sets one or more values on a character property. The


property can be single-valued or multivalued (that is, array
or list).

PROP_set_value_date Sets a value on a single-valued date property.

PROP_set_value_date_at Sets the value of a multivalued (that is, list or array) date
property at a particular index position.

PROP_set_value_dates Sets one or more values on a date property. The property


can be single-valued or multivalued (that is, array or list).

Business Modeler IDE PLM00071 11.2 8-105


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Property operation Description

PROP_set_value_double Sets a value on a single-valued double property.

PROP_set_value_double_at Sets the value of a multivalued (that is, list or array)


double property at a particular index position.

PROP_set_value_doubles Sets one or more values on a property. The property can


be single-valued or multivalued (that is, array or list).

PROP_set_value_int Sets a value on a single-valued integer property.

PROP_set_value_ints Sets one or more values on a integer property. The


property can be single-valued or multivalued (that is, array
or list).

PROP_set_value_int_at Sets value of a multivalued (that, list or array) property at


a particular index position.

PROP_set_value_logical Sets a value on a single-valued logical property.

PROP_set_value_logical_at Sets the value of a multivalued (that is, list or array) logical
property at a particular index position.

PROP_set_value_logicals Sets one or more values on a logical property. The


property can be single-valued or multivalued (that is, array
or list).

PROP_set_value_string Sets the value on a single-valued string property.

PROP_set_value_string_at Sets the value of a multivalued (that is, list or array) string
property at a particular index position.

PROP_set_value_strings Sets one or more values on a string property. The property


can be single-valued or multivalued (that is, array or list).

PROP_set_value_tag Sets a value on a single-valued tag property.

PROP_set_value_tag_at Sets the value of a multivalued (that is, list or array) tag
property at a particular index position.

8-106 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Extension inheritance reference

Property operation Description

PROP_set_value_tags Sets one or more values on a tag property. The property


can be single-valued or multivalued (that is, array or list).

PROP_UIF_ask_value Asks the display value of any type of property.

PROP_UIF_set_value Sets the value of any type of property using a display value
as input.

PROP_validate_lov_char Validates the value of a property as a character by LOV.

PROP_validate_lov_date Validates the value of a property as a date by LOV.

PROP_validate_lov_double Validates the value of a property as a double by LOV.

PROP_validate_lov_int Validates the value of a property as an integer by LOV.

PROP_validate_lov_logical Validates the value of a property as a logical by LOV.

PROP_validate_lov_string Validates the value of a property as a string by LOV.

PROP_validate_lov_tag Validates the value of a property as a tag by LOV.

Extension inheritance reference

The following guidelines apply to the inheritance behavior of extensions:

• Extensions on business objects are propagated to (inherited by) sub-business objects.

• Inherited extensions cannot be modified at the sub-business object level. Modifications must be made
at the parent level.

• When a new extension is assigned to a sub-business object, the sub-business object inherits the
extensions of the parent business object.

Implications of the autoAssignToProject extension on propagation rules

The autoAssignToProject extension automatically assigns the selected workspace object to the
user's current project, as defined by the work context or user settings.

Business Modeler IDE PLM00071 11.2 8-107


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

The following table describes the types, operations, and extension points for which the
autoAssignToProject extension is valid.

Type Operation Extension point

Item and all subtypes of IMAN_import PostAction


item
ITEM_create
ITEM_create_from_rev

Item revision and all ITEM_baseline_rev PostAction


subtypes of item revision
ITEM_copy_rev
ITEM_copy_rev_to_existing
ITEM_create_rev

Dataset and all subtypes of AE_save_dataset PostAction


dataset

Form and all subtypes of IMAN_save PostAction


form

Configuring the autoAssignToProject internal extension for a business object has implications on the
project propagation rules. Project propagation rules determine which secondary objects are assigned to
a project when a primary business object is assigned. When there is a conflict between a propagation
rule and the execution of the autoAssignToProject extension, the extension takes precedence.

Note:
• If a current project is not specified for the user, this extension is ignored and the object is not
automatically assigned. In addition, when the autoAssignToProject extension is configured for
an item or ECO, the project name is preselected in the Assign to Projects page of the item or
ECO create, revise, and save as dialog boxes.

• If you want users to be able to remove objects from an owning project, you must create the
TC_allow_remove_owning_project preference before using the autoAssignToProject
extension. If this preference is not set, objects assigned to owning projects cannot be removed
using the Project→Remove command.

The following points must be considered when implementing the autoAssignToProject extension:

• The autoAssignToProject extension applies only to newly created objects; whereas, propagation of
related objects to projects occurs whenever a relation between two objects is created, modified, or
deleted.

8-108 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Process for developing an application

• The autoAssignToProject extension explicitly assigns objects to projects; therefore, the objects can
only be removed from the project by explicitly right-clicking the object in the Teamcenter rich client
and choosing Project→Remove.

• Propagation rules implicitly assign secondary objects to projects. Therefore, when the primary object
is explicitly removed from the project, the secondary object is also removed from the project.

The following scenarios illustrate the relationship between extensions and propagation rules when
assigning objects to projects.

Scenario Project assignment behavior

The autoAssignToProject extension is Both objects are automatically assigned to the


configured for types P (primary object) and current project, regardless of whether the
types S (secondary object). A user creates Requirements relation is specified in the
an object of type P and an object of type S propagation rule list.
related by the Requirements relation.

The autoAssignToProject extension is The object of type P is automatically assigned to the


configured for types P (primary object), but current project based on the autoAssignToProject
not for types S (secondary object). A user extension. If the Requirements relation is specified
creates an object of type P and an object of in the propagation rule list, the type S object is also
type S related by the Requirements assigned to the project. If the Requirements relation
relation. is not specified in the propagation rule list, the
secondary object is not assigned to the project.

The autoAssignToProject extension is Both the primary and secondary object are
configured for types P (primary object) and automatically assigned to the project based on the
types S (secondary object). In addition, the configuration of the extension, resulting in an
Requirements relation is defined as a explicit assignment rather than the implicit
propagation rule. The user creates an assignment that occurs when an object is assigned to
object of type P and an object of type S. a project based on propagation rules.
After creating the objects, the user
attaches the secondary object to the
primary object using the Requirements
relationship.

How to develop an application

Process for developing an application

Use the Business Modeler IDE to develop your own application. Use the Business Modeler IDE for:

• Business model modifications

Business Modeler IDE PLM00071 11.2 8-109


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

• Service-oriented architecture (SOA) services and operations creation

• Teamcenter server code development

The Business Modeler IDE provides all these capabilities in a seamless manner.

For a walkthrough of how to use the Business Modeler IDE to develop an application, use the following
example:

• Business object: Comment

• Capture additional information on any WorkspaceObject

• Properties: relatedObject, text

• Operation: copyToObject

• Service: getCommentsForObjects

Follow this process:

1. Define business objects to represent objects to work with in the application.

2. Define operations to be placed on the business objects.

3. Define services to expose the business logic in the enterprise tier to clients.

4. Generate stubs to be used for implementing your code.

5. Implement your code.

6. Build your code.

7. Package and deploy your application.

Develop an application: define business objects

Define business objects to represent items to work with in the application.

1. Set an active release.


Active release helps in associating operations to a release and deprecating and later removing of an
operation when it is not needed anymore.

8-110 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: define business objects

2. Create a library for code and set the library as active.


Business object interfaces that contain the operations get added to the library.

3. Set the code generation namespace.


Each template can specify a namespace This namespace is associated with C++ classes generated
for business objects and for data types created in that template. The namespace protects against
collision of C++ class names from different templates (for example, Teamcenter::Item and
Comments::Item).

Business Modeler IDE PLM00071 11.2 8-111


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

4. Create extension files.


Extension files enable proper organization of Business Modeler IDE work. To create an extension
file:

a. In the Project Files folder, select the extension directory under the project.

b. Right-click the extensions folder and choose Organize→Add new extension file.

c. Type the desired extension name.

Following are some example of extension files you can create to organize your work.

8-112 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: define business objects

Extension file name Contains

project-name_business_object_constants.xml Business object constants

project-name_deepcopy_rules.xml Deep copy rules

project-name_display_rules.xml Business object display rules

project-name_extension_attach.xml Extension attachments

project-name_extension_rules.xml Extension rules

project-name_global_constants.xml Global constants

project-name_grm_rules.xml GRM rules

project-name_lovs.xml Lists of values (LOVs)

project-name_property_constants.xml Property constants

project-name_rule.xml Rules

project-name_schema.xml Business objects

project-name_services.xml Service-oriented architecture


(SOA) operations

5. Before proceeding with a task, activate the proper extension file:

a. Right-click the project where you want to save your work and choose Organize→Set active
extension file.

b. Open the Project Files\extensions folders and select the active extension file, for example,
default.xml. A green arrow symbol appears on the active extension file.

Business Modeler IDE PLM00071 11.2 8-113


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

6. Define a business object.

a. Create a business object.


For example, define a Comment business object as a child of the Workspace business object.

b. Add required properties.

c. Define a relation.

d. Define GRM rules.

8-114 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: define operations

e. Define deep copy rules.

Develop an application: define operations

Operations are functions or methods An operation is inherited to child business objects An operation
can be overridden at the child business object.

1. Create operations.

Business Modeler IDE PLM00071 11.2 8-115


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Add a new operation with parameters. As you enter operation information, the code preview is
updated.

8-116 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: define operations

Do the following for operations:

• Specify parameters.

• Ensure the return value is int.

• Set status of operation.

• Enable preconditions, preactions, and postactions.

• Make overridable.

• Publish the operation.

2. Create property operations.


Property operations are generic operations to set and get a property on a business object. You can
configure the safe getter and setter operations on custom properties.
For example, in the following figure, the getCm2tText getter operation is used for the Cm2tText
property.

Business Modeler IDE PLM00071 11.2 8-117


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Develop an application: define services

Services expose the business logic in the enterprise tier to clients.

1. Create a service library to host the services.

8-118 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: define services

2. Create services in the library.

Business Modeler IDE PLM00071 11.2 8-119


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Each service library may contain one or more service interfaces. Each service interface contains
one or more service operations and data types used by those operations.

8-120 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: define services

3. Create data types.

Service operations require input and output. Create data types to represent the input and output.
Data types must be defined before defining the operations. Common data types are provided.

Business Modeler IDE PLM00071 11.2 8-121


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

4. Create a service operation.

Clients call the service operations to execute the necessary business logic. Service operations can
identify operations as published or internal. Making them set-based helps reduce client server
communication when needed.

8-122 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: generate code

Develop an application: generate code

After you create operations, you must generate code.

1. Configure code generation.

Business Modeler IDE PLM00071 11.2 8-123


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

When you set code generation properties for your template, set the following:

• Locations for C++ code

• Namespace for C++ classes

• Copyright to be placed in generated code

• C++ compiler location

• Teamcenter installation location

2. Configure services stubs generation.

a. Right-click the project and choose Properties.

b. Choose Teamcenter→Build Configuration→Service Bindings in the left pane.

c. Unzip the soa_client.zip file (from the same location as the tem.bat file) to a directory. Type
this location in the Teamcenter Services client kit home box.

d. Select the required bindings. (It depends on the client code needed.)

8-124 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: generate code

3. Generate code.
Generate code after business object operations and services are defined. Regenerate if the
definition changes. This generates interfaces and implementation stubs for business objects
and generates the transport layer and implementation stubs for services.
The following example shows generating C++ code.

The following example shows generating services code.

Business Modeler IDE PLM00071 11.2 8-125


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Develop an application: implement code

After you generate stubs, write implementation code.

1. Open the C/C++ perspective.


Code development is done in the C/C++ perspective. The CDT (C/C++ Development Tools) plug-in is
an Eclipse-based C++ integrated development environment.

2. Implement business logic.


An outline of the operation is created by the code generation step. The implementation file is
found in the Project Explorer under the library for the business object.

8-126 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: implement code

Add the business logic for the operation.

3. Implement service operation.


An outline of the service operation is created by the code generation step. The service interface
implementation file is found in the Project Explorer under the service library.

Business Modeler IDE PLM00071 11.2 8-127


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Add the business logic for the operation.

4. Add preferences.
Preferences control the application behavior. New preferences may be needed for the solution.

a. Create new preferences.


Create preference files under the project’s install/data directory if they do not exist. For
examples, see the TC_DATA/tc_preferences.xml file.

• solution-name_preference_merge.xml

• solution-name_preference_override.xml

• solution-name_preference_skip.xml

b. Convert preferences as needed.


There was a major architectural change for preferences in Teamcenter 10. Preferences usage
is different:

• Pre-Teamcenter 10

8-128 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: implement code

TC_preference_search_scope_t old_scope;
int retCode = PREF_ask_search_scope( &old_scope );
if ( ITK_ok == retCode )
{
retCode = PREF_set_search_scope( TC_preference_user);
if ( ITK_ok == retCode )
{
retCode = PREF_ask_char_value("MyPref", 0, &value);
}
PREF_set_search_scope( old_scope );

• Teamcenter 10 and later

int retCode = PREF_ask_char_value("MyPref", 0, &value);

The PREF_ask_search_scope and PREF_set_search_scope ITKs are deprecated.


Preferences XML files are different:

• Pre-Teamcenter 10

[...]
<preferences>
[...]
<preference name="TC_external_system_item_type"
type="String" array="false" disabled="false">

<preference_description>Item type to be searched while traversing bom.


This is a site preference.</preference_description>
</preference>

• Teamcenter 10 and later

[...]
<preferences version="10.0">
[...]
<preference name="TC_external_system_item_type"
type="String" array="false" disabled="false"
protectionScope="Site" envEnabled="false">
<preference_description>Item type to be searched while traversing bom.
</preference_description>

</preference>

A Perl script available for conversion (upgrade_preferences_file.pl). Use the -h parameter for
details. The conversion is manual. The Business Modeler IDE does not convert the file.

5. Create text server files.


Text server files enable storage and retrieval of localized and nonlocalized information.
Translatable resources are stored in an XML-formatted files. Error messages are stored in
*_errors.xml files. Other translatable resources are stored in *_text_locale.xml files. Both types of
files are stored in a language-specific directory. Nontranslatable resources are stored in *_text.xml
files in a language-neutral directory (no_translation).

Business Modeler IDE PLM00071 11.2 8-129


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

The Business Modeler IDE creates the resource files in the project/src/server/textserver/en
directory.

a. Create error messages.


Error base defines the code area. The codes are multiples of 1000 added to the error_base
xml attribute, for example:

<errors module="ss" error_base="5000">

Each error is defined with an id XML attribute:

<error id="64">The removal of the definition has failed for the following
preference:
%1$.error id="64">The removal of the definition has failed for the following
preference: %1$.>

The error number is equal to error_base + id (for example, 5064) and must be given an
associated C++ symbol, for example:

#define PREF_cannot_delete_preference_definition (EMH_SS_error_base + 64)

The same code area symbols are usually defined in the same file.

A. Define the error base in the emh_const.h file to avoid conflicts:

#define EMH_SS_error_base 5000

B. Choose your error base within the 919000-920000 range. Replace the required
information in the line:

<errors module="<enter the solution name>" error_base="<enter error base


number>">

8-130 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: build libraries

Declare errors in this file, ensuring that error numbers not exceed 920000.

b. Create other resources.

A. Create a no_translation directory at project/src/server/textserver/.

B. Add a project_text.xml file to the directory.

C. Add the following line to the project_text.xml file:

<xi:include href="project_text_locale.xml" parse="xml"/>

D. Add the nontranslatable resources to the project_text.xml file.

E. Copy the project_text.xml file to project_text_locale.xml and add translatable resources


to the project_text_locale.xml file. Use unique key identifiers in both files.

c. Provide the translation for all supported languages. Ensure packaging of the files.

d. Deploy text server files.


Add missing information for upgrade. This ensures proper deployment.
Edit the project/install/feature_project.xml file. Add a section for the upgrade (based on the
section for install):

<install>
<code>
<textserver file="emh_text.xml" include="${feature_name}_errors.xml"/>
<textserver file="tc_text.xml" include="${feature_name}_text.xml"/>
</code>
</install>
<upgrade>
<code>
<textserver file="emh_text.xml" include="${feature_name}_errors.xml"/>
<textserver file="tc_text.xml" include="${feature_name}_text.xml"/>
</code>
</upgrade>

6. Implement utilities.
Utilities are C/C++ programs using ITK calls. They can be used to achieve very lengthy tasks in one
call. Sometimes utilities are used during installation and upgrade scripts. Utilities must be run on
the Teamcenter server host. They can also be used for testing C and C++ code.
Use Business Modeler IDE to implement the utility. Ensure packaging of the compiled executable if
needed by the installer or upgrader.

Develop an application: build libraries

After writing implementations, build the libraries containing server code.

1. Set up the build configuration.

Business Modeler IDE PLM00071 11.2 8-131


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Right-click the project, choose Properties, and choose Teamcenter→Build Configuration.


Set up the Teamcenter installation location, the C++ compiler location, the compiler command and
flags, and the link command and flags.

2. To build code, on the menu bar, choose Project→Build Project.

To turn on automatic building, choose Project→Build Automatically. The build occurs


automatically when changes to the code are saved.

8-132 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: build libraries

Build files are saved to the appropriate output locations.

Business Modeler IDE PLM00071 11.2 8-133


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

Develop an application: package and install

When all files are built, package the template for installation.

1. To package, choose BMIDE→Package Template Extensions, or choose


File→New→Other→Business Modeler IDE→Package Template Extensions.

8-134 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: package and install

Package files include the following:

• Metamodel definitions

• Built libraries

• Enterprise tier libraries

• Web tier files

• SOA client libraries (that are consumed in the clients)

• Installation and upgrade scripts and data files

Business Modeler IDE PLM00071 11.2 8-135


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

2. Install the packaged template files using Teamcenter Environment Manager (TEM).
The packaged template can be deployed through TEM to a production database.

8-136 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Develop an application: package and install

Business Modeler IDE PLM00071 11.2 8-137


© 2019 Siemens Product Lifecycle Management Software, Inc.
8. Using the Business Modeler IDE for customization

8-138 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to
configure Teamcenter applications
4th Generation Design ────────────────────────────────── 9-1
Configure 4th Generation Design (4GD) using the Business Modeler IDE ─────── 9-1
Set up assigning design elements to a manufacturing bill of materials ──────── 9-1
Enable minor revisioning ──────────────────────────────────── 9-4
Access Manager ────────────────────────────────────── 9-4
Configure Access Manager using the Business Modeler IDE ─────────────── 9-4
Create a custom privilege ─────────────────────────────────── 9-4
ADA License ───────────────────────────────────────── 9-5
Configure ADA License using the Business Modeler IDE ───────────────── 9-5
Add ADA License categories ────────────────────────────────── 9-5
Aerospace and Defense ───────────────────────────────── 9-11
Configure Aerospace and Defense using the Business Modeler IDE ────────── 9-11
Aerospace and Defense business objects ───────────────────────── 9-11
As-Built Manager ───────────────────────────────────── 9-12
Configure As-Built Manager using the Business Modeler IDE ────────────── 9-12
Audit Manager ────────────────────────────────────── 9-13
Configure Audit Manager using the Business Modeler IDE ─────────────── 9-13
Create an event type ───────────────────────────────────── 9-14
Create an event type mapping ──────────────────────────────── 9-15
Create an audit definition ────────────────────────────────── 9-16
Postupgrade steps required for importing custom event types into a template project
─────────────────────────────────────────────── 9-20
Audit Manager data model objects ───────────────────────────── 9-21
Automotive Edition ─────────────────────────────────── 9-22
Configure Automotive Edition using the Business Modeler IDE ──────────── 9-22
CAE Manager ─────────────────────────────────────── 9-22
Configure CAE Manager using the Business Modeler IDE ──────────────── 9-22
Change Management ────────────────────────────────── 9-23
Configure Change Management using the Business Modeler IDE ─────────── 9-23
Change Management business objects ────────────────────────── 9-24
Add a Change Management form ────────────────────────────── 9-26
Create a new relation for use with a Change Management pseudofolder ────── 9-28
Add a custom naming rule to standard Change Management objects ──────── 9-33
Classic change ───────────────────────────────────────── 9-34
Change Management conditions ────────────────────────────── 9-34
Classification ─────────────────────────────────────── 9-34
Configure Classification using the Business Modeler IDE ──────────────── 9-34
Classification extensions ─────────────────────────────────── 9-35
Dimensional Planning and Validation ──────────────────────── 9-36
Configure Dimensional Planning and Validation (DPV) using the Business Modeler IDE
─────────────────────────────────────────────── 9-36
Configure DPV to automatically attach forms ─────────────────────── 9-36
Maintenance, Repair, and Overhaul (MRO) ──────────────────── 9-43

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure Maintenance, Repair, and Overhaul (MRO) using the Business Modeler IDE
─────────────────────────────────────────────── 9-43
Consideration when creating a custom physical part ────────────────── 9-43
Manufacturing Process Planner ──────────────────────────── 9-44
Configure Manufacturing Process Planner using the Business Modeler IDE ───── 9-44
3D PDF business objects ─────────────────────────────────── 9-44
Multi-Structure Manager ──────────────────────────────── 9-45
Configure Multi-Structure Manager using the Business Modeler IDE ───────── 9-45
Configure the automateAndLink extension ──────────────────────── 9-45
Using conditions with the automateAndLink extension ───────────────── 9-54
Create a condition asking whether to create a part ─────────────────── 9-55
NX ────────────────────────────────────────────── 9-60
Creating item types with required attributes for NX ─────────────────── 9-60
Configure NX CAM Integration using the Business Modeler IDE ──────────── 9-61
Organization ──────────────────────────────────────── 9-61
Configure Organization using the Business Modeler IDE ──────────────── 9-61
Add additional properties to users ───────────────────────────── 9-61
Product and manufacturing information (PMI) ────────────────── 9-64
Configure product and manufacturing information (PMI) using the Business Modeler IDE
─────────────────────────────────────────────── 9-64
Schedule Manager ──────────────────────────────────── 9-64
Configure Schedule Manager using the Business Modeler IDE ───────────── 9-64
Create a custom status for Schedule Manager ────────────────────── 9-65
Schedule Manager operations, extensions, and conditions used for statuses ──── 9-68
Schedule Manager property operations ────────────────────────── 9-69
Schedule Manager extensions ──────────────────────────────── 9-70
Structure Manager ──────────────────────────────────── 9-71
Configure Structure Manager using the Business Modeler IDE ───────────── 9-71
Configuring BOM grading ────────────────────────────────── 9-71
Add custom properties to BOM columns ────────────────────────── 9-72
Create conditions to control permitted structure content ─────────────── 9-77
Control parent-child product structures ────────────────────────── 9-77
Control structures based on properties ─────────────────────────── 9-83
BOM line naming behavior ────────────────────────────────── 9-86
Add a compound property on a GDE line using the bl_line_object property ───── 9-89
Subscriptions ─────────────────────────────────────── 9-89
Configure subscription conditions using the Business Modeler IDE ────────── 9-89
Supplier Relationship Management ───────────────────────── 9-91
Configure Supplier Relationship Management using the Business Modeler IDE ── 9-91
Configure lists of values (LOVs) for Supplier Relationship Management ─────── 9-91
Systems Engineering ────────────────────────────────── 9-96
Configure Systems Engineering using the Business Modeler IDE ─────────── 9-96
Add an application domain for diagrams ───────────────────────── 9-96
Creating an icon for use in the Systems Engineering and Requirements Management
BOM view ─────────────────────────────────────── 9-100
Teamcenter EDA ──────────────────────────────────── 9-101
Configure Teamcenter EDA using the Business Modeler IDE ───────────── 9-101
Working with derived data ───────────────────────────────── 9-101

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an EDA derived data configuration ──────────────────────── 9-103
Validation Manager ────────────────────────────────── 9-112
Configure Validation Manager using the Business Modeler IDE ─────────── 9-112
Validation Manager business objects ─────────────────────────── 9-112
Validation Manager properties ─────────────────────────────── 9-113
Wiring Harness Design Tools Integration ───────────────────── 9-114
Configure Wiring Harness Design Tools Integration using the Business Modeler IDE
────────────────────────────────────────────── 9-114
Workflow Designer ─────────────────────────────────── 9-115
Configure Workflow Designer using the Business Modeler IDE ──────────── 9-115
Create dynamic participants ──────────────────────────────── 9-115
Register custom workflow handlers ──────────────────────────── 9-117
Use the EPM user exit to customize the Workflow template filter ────────── 9-122
Condition syntax for Workflow template filtering ──────────────────── 9-127
Create a custom form that supports setting security classification in a workflow ─ 9-128
Create a custom form that supports assigning project members in a workflow ── 9-130
Create a custom form that supports assigning projects in a workflow ─────── 9-131

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to
configure Teamcenter applications
4th Generation Design

Configure 4th Generation Design (4GD) using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by 4th Generation Design (4GD). 4GD is a
Teamcenter feature that allows users of NX CAD or Lifecycle Visualization to cooperate in real time
during the design cycle of a product. It is particularly suitable for development teams working on large
products that typically include millions of parts. It allows users to check out and modify individual parts
in the structure, without locking the entire structure or major assemblies.

Note:
Before working with 4GD objects, you must install the following templates to your project:

• 4th Generation Design (cpd_template.zip file)

• Advanced PLM Services for Applications (appmodel_template.zip file)

• Advanced PLM Services for Partitioning (partition_template.zip file)

• Advanced PLM Services for Realization (realization_template.zip file)

Set up assigning design elements to a manufacturing bill of materials

You can assign 4th Generation Design (4GD) design elements to a manufacturing bill of materials
(MBOM). Before doing so, you must perform the following in the Business Modeler IDE.

1. Create a new business object as a child of the Mdl0AttributeGroup business object (for example,
a2mfgAttr).

2. Add new persistent properties to the new business object by opening the new business object,
clicking the Properties tab, and clicking the Add button. For example:

a2double
a2int
a2str

These properties are mapped to the MBOM.

Business Modeler IDE PLM00071 11.2 9-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

3. Create a compound property for the design element to expose the attribute group as a property for
the design element:

a. Open the Cpd0DesignElement business object.

b. Click the Properties tab, click the Add button, select Compound, and click Next.

c. Give it a name (for example, a2DE_attrGrp_a2mfgAttr).

d. Add a compound property like this:

cpd0DesignElement.Mdl0AttachAttrGroup
custom-Mdl0AttributeGroup-business-object.fnd0objectId

Replace custom-Mdl0AttributeGroup-business-object with the name of the new business


object (for example, a2mfgAttr).

4. Create a GRM rule for the Cpd0DesignElement business object:

a. Open the Cpd0DesignElement business object.

b. Click the GRM Rules tab and click the Add button to the right of the table.

c. Add the following GRM rule:

GRM Rule dialog box field Value

Primary Object Cpd0DesignElement

Secondary Object The name of the custom Mdl0AttributeGroup


business object, for example, a2mfgAttr.

Relation Object Mdl0AttachAttrGroup

Primary Cardinality 1

Secondary Cardinality 1

Changeability Changeable

Attachability Unrestricted

Detachability Unrestricted

9-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Set up assigning design elements to a manufacturing bill of materials

5. Create new forms or use existing forms to hold the properties. For example, create a form named
A2attrGrpForm.

6. Choose BMIDE→Editors→Global Constants Editor to set up the global constants:

a. Add the new compound property to the Cpd0DEPropertiesForMBOM global constant. For
example:

a2DE_attrGrp_a2mfgAttr

This global constant determines the design element properties to be copied to a BOM line
after adding it to the MBOM.

b. Expose the forms on a BOM line as a BOM line property by adding the forms to the
BOMLineAbsOccCompProperties global constant.
Use this format:

FORM::relation-type::form-type::OBJECT::bomline-property-name

Replace relation-type with the name of the relationship from the BOM line or its item revision,
replace form-type with the form type associated to the BOM line, and replace bomline-
property-name with the BOM line property name that gives a reference to the form.
For example:

FORM::IMAN_reference::A2attrGrpForm::OBJECT::bl_A2attrGrpForm

c. Map the BOM line property to the design element property in the
Cpd0DEToBOMPropertyMapping global constant. For example:

bl_A2attrGrpForm:a2DE_attrGrp_a2mfgAttr

This global constant determines a corresponding BOM line property for a given design feature
property.

d. Map the attribute group properties to the form properties in the Cpd0FormPropertyMap
global constant. For example:

bl_A2attrGrpForm:a2FormDbl::a2DE_attrGrp_a2mfgAttr:a2Double
bl_A2attrGrpForm:a2FormStr::a2DE_attrGrp_a2mfgAttr:a2Double:a2Str

This global constant determines how to copy and compare each attribute on an attribute
group to configured form’s attribute on a BOM line.

7. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

Business Modeler IDE PLM00071 11.2 9-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

8. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

Enable minor revisioning

The Enable Minor Revisioning check box appears on certain 4GD business objects such as
Mdl0ModelElement. It indicates that the business object can be revised using POM revisioning to
support features such as baselining. This capability is inherited from parent business objects. It cannot
be disabled.

Access Manager

Configure Access Manager using the Business Modeler IDE

Access Manager defines rules that control who can access objects. Use the Business Modeler IDE to
create custom objects used by the Access Manager application. COTS Access Manager objects are
provided by the Foundation template. No additional templates are needed.

Create a custom privilege

If you want to create a custom privilege using the Business Modeler IDE, you must define the new
privilege in the am_text_locale.xml file and then add the new privilege to the database using the
Business Modeler IDE. There are two attributes of a custom privilege that you must manually define in
the am_text_locale.xml file:

• Privilege name
Specifies the unique identifier that Teamcenter uses to store privileges in the database. (The display
name of the privilege name property is maintained in the Business Modeler IDE.)

• Privilege token

9-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure ADA License using the Business Modeler IDE

Specifies the single-letter mnemonic for that privilege (for example, R is the token for the default read
privilege).

1. Manually add the following entries to the TC_ROOT\lang\textserver\language\am_text_locale.xml


file:

• A name entry as follows:

<key id="k_am_priv_NAME">NAME</key>

• A token entry as follows:

<key id="k_am_token_NAME">T</key>

Tip:
NAME is the name and T is the single-letter token you define for this new custom privilege.

2. Add the new privilege to the database using the Business Modeler IDE by adding children to the
AM_privileges business object.

ADA License

Configure ADA License using the Business Modeler IDE

ADA License provides support to enforce the International Traffic in Arms Regulations (ITAR) and
intellectual property (IP) policies using authorized data access (ADA) licenses. Use the Business Modeler
IDE to create custom objects used by the ADA License application. COTS ADA License objects are
provided by the Foundation template. No additional templates are needed.

Add ADA License categories

Users of the ADA License application can select license categories from the menu in the Category box
in the ADA License application.

These categories are defined in the Fnd0ADALicenseCategories list of values (LOV) found in the
Business Modeler IDE. If you want to change the listed categories, you can change the values in the LOV.

Note:
You can use a process similar to the following to add a list of citizenships to the User Citizenships
box in the ADA License application by using the Business Modeler IDE to attach a list of values to
the fnd0user_citizenships property on the ADA_License business object.

Business Modeler IDE PLM00071 11.2 9-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

1. To see the available default categories in the ADA License application, click the arrow in the
Category box.

2. In the Business Modeler IDE, open the Extensions\LOV folders and double-click the
Fnd0ADALicenseCategories list of values.

9-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add ADA License categories

3. To add a new category, click the Add button to the right of the table and type the new value. (You
can also remove the default values and add completely new values, if desired.)

4. Click Finish.
The new value is displayed on the table of values.

Business Modeler IDE PLM00071 11.2 9-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

5. The Category box in the ADA License user interface is defined by the fnd0license_category
property. To see how the categories list of values is attached to the Category box, open the
ADA_License business object, click the Properties tab, and scroll to the fnd0license_category
property in the table. The Fnd0ADALicenseCategories list of values is shown as attached to this
property in the LOV Attaches table.

Note:
If you want to create your own set of license categories in another list of values, you can
attach your custom LOV to the fnd0license_category property and use it instead of the
Fnd0ADALicenseCategories LOV.

9-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add ADA License categories

6. To save your changes to the template, on the menu bar choose BMIDE→Save Data Model. Then
package the template and use Teamcenter Environment Manager to install the packaged
template to your server.

7. To see the new category in the ADA License application, click the arrow in the Category box.

Business Modeler IDE PLM00071 11.2 9-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

8. Now that you have added categories, try the following additional configurations:

• Configure a different set of categories for each license type.

a. Create a category LOV for each license type (ITAR, Exclude, and IP), each containing the list
of categories unique to that license type.

b. Attach the appropriate LOV to the fnd0license_category property on each of the license
type business objects (ITAR_License, Exclude_license, and IP_license).

c. When the end user opens the ADA License application and selects a license type in the
License Type box, the corresponding categories appear in the Category box.

• Configure a different set of categories for each user group.

a. Create a category LOV for each user group (for example, dba, designer, and so on), each
containing the list of categories unique to that user group.

b. Create a condition for each user group, for example:

Signature: condition-name (UserSession o)


Expression: o.group_name="dba"

9-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure Aerospace and Defense using the Business Modeler IDE

c. Open the ADA_License business object, select the fnd0license_category property, and in
the LOV Attaches table, add each user group category LOV using the condition for that
user group.

d. When the end user logs on to the ADA License application as a member of a user group, the
categories belonging to that user group appear in the Category box.

Aerospace and Defense

Configure Aerospace and Defense using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the Aerospace and Defense solution.

Note:
Before working with Aerospace and Defense objects, you must install the following templates
to your project:

• Aerospace and Defense Foundation (adsfoundation_template.zip file)

• Aerospace and Defense Change Management (adschangemanagement_template.zip file)

• Aerospace and Defense Training (adstrainingprogram_template.zip file)

Aerospace and Defense business objects

The Aerospace and Defense templates provide the following business objects. You can create your own
custom business objects as children of these business objects.

• ADSDesign
Represents the geometric data of a component or assembly. This is a child of the Design business
object.

• ADSDrawing
Represents a drawing for a technical document. This is a child of the Drawing business object.

• ADSPart
Represents a component of a product. This is a child of the Part business object.

• ADSTechDocument
Represents the technical document used in document-centric programs. This is a child of the
Document business object.

• CommercialPart
Represents the common-use parts that have been identified as standard design by a company, an
industry, or the military. This is a child of the Part business object.

Business Modeler IDE PLM00071 11.2 9-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

• Aerospace and Defense relation business objects:

• ADS_Lists_Parts
Represents the association between a technical document revision and an ADS part or ADS design
item.

• ADS_Lists_PartRevisions
Represents the association between a technical document revision and ADS part revisions or ADS
design revisions.

• ADS_Lists_DrawingRevisions
Represents the association between a technical document revision and an ADS drawing revision.

• TC_Program_Preferred_Items
Represents the association between a standard item and a program.

The following properties control use of location codes, which are used in Aerospace and Defense:

• fnd0CurrentLocationCode
Sores the current location code for the item revision. This property is found on the ItemRevision
business object.

• fnd0LocationCodePref
Automatically assigns the original location code to an item when it is initially created. This property is
found on the TC_UserContext business object.

• fnd0LocationType
Captures location type for a company location. This property is found on the CompanyLocation
business object.

• fnd0OriginalLocationCode
Stores the original location for the item. This property is found on the Item business object.
This property is optional by default. You can make it required using the Required property constant
on Aerospace and Defense business objects (for example, on the ADSPart, ADSDesign,
ADSTechDocument, ADSDrawing, Ads0StdNote, or Ads0CustomNote business objects).

As-Built Manager

Configure As-Built Manager using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the As-Built Manager application.

9-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure Audit Manager using the Business Modeler IDE

Note:
Before working with As-Built Manager objects, you must install the following templates to your
project:

• As-Built Management (asbuilt_template.zip file)

• As-Built and As-Maintained Alignment (asbasmalignment_template.zip file)

Audit Manager

Configure Audit Manager using the Business Modeler IDE

System administrators use Audit Manager to create audit logs. Audit logs track what information has
changed and who has changed the information. Use the Business Modeler IDE to create custom objects
used in the Audit Manager. COTS Audit Manager objects are provided by the Foundation template. No
additional templates are needed.

Use the Business Modeler IDE to create custom audit events, event mapping, and audit definition objects
used in the Audit Manager. To create these objects, in the Extensions folder, open the Audit Manager
folder and right-click the Audit Definitions, Event Type Mappings, or Event Types folders and choose
the New command.

The typical flow for creating Audit Manager objects is as follows:

1. Set preferences.

• HiddenPerspectives
Remove AuditManager from the list of hidden perspectives.

• TC_audit_manager
Ensure that the preference is set to ON.

• TC_audit_manager_version
Ensure that the preference is set to 3.

Note:
Use the 1 value for legacy auditing (only workflow, checkout, and checkin auditing) and
the 2 value to use the Audit Manager application in the rich client solely to manage audit
definitions.

2. Create a new event type to specify the event for which audit logs are to be written.

3. Create an event type mapping to connect the event to a business object type.

Business Modeler IDE PLM00071 11.2 9-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

4. Create an audit definition to define the information that needs to be captured when an event
occurs to a specific business object instance.

Create an event type

An event is an action that occurs to an object in Teamcenter, for example, when an item is checked out.
Teamcenter records audit logs when certain events occur on certain types of objects.

You only need to create a new event type if there is not an existing event type that covers your needs.
When you create a type, its name is only a text reminder of the type of information you are looking from
in the audit. The actual event information is captured by the audit type selected when you create the
event type mapping.

In the past, the install_event_types utility was used to create new events. Now you create new event
types using the Business Modeler IDE.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Event Type in the Wizards box,
and click Next.

• Open the Extensions\Audit Manager folders, right-click the Event Types folder, and choose
New Event Type.

The New Event Type wizard runs.

2. In the Id box, type the name of the new event.

3. In the Display Name box, type the name that you want the event to have in the user interface.

9-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an event type mapping

4. In the Description box, type a description of the new event so that others know what it is used for.

5. Click Finish.

6. Create an event type mapping definition to connect the event to a business object type.

Create an event type mapping

While an event is an action that occurs to an object in Teamcenter, event mapping is connecting an
event to a business object type. In other words, the event mapping declares that you want to receive an
audit log for a certain event on a certain kind of object.

An event mapping must be created for a business object type and event before you use that business
object and event type in an audit definition. Event mapping is inherited by child business object types.
For example, instances of the Part business object type inherit the mapping from the Item business
object type.

In the past, the event mapping was created using the install_event_types utility. Now event mapping is
created using the Business Modeler IDE.

1. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Event Type Mapping in the
Wizards box, and click Next.

• Open the Extensions\Audit Manager folders, right-click the Event Types Mappings folder, and
choose New Event Type Mapping.

The New Event Type Mapping wizard runs.

Business Modeler IDE PLM00071 11.2 9-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

2. Click the Browse box to the right of the Primary Object box to select the type of business object
you want to audit.

3. Click the Browse box to the right of the Event Type box to select the event you want to audit for
the selected business object.

4. Click the Browse box to the right of the Audit Type box to select the type of audit to use for this
mapping. The audit types are represented by business objects that are children of the
Fnd0AuditLog business object.

5. Click the Browse box to the right of the Secondary Audit Type box to select the
Fnd0SecondaryAudit business object. This Secondary Audit object stores information and
properties about the secondary objects that are related to the main object being audited.

6. Select the Subscribable? check box to specify that the event type mapping can be subscribed to.

7. Select the Auditable? check box to specify that the event type mapping can be audited.

8. In the Description box, type a description for this mapping so that others know what it is used for.

9. Click Finish.

Create an audit definition

An audit definition defines the information that needs to be captured when an event occurs to a
particular kind of object. Before creating an audit definition, you must ensure that an event mapping
has been created for the business object type and the event specified in the audit definition.

9-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an audit definition

In the past, audit definitions were created in Audit Manager. Now audit definitions are created using the
Business Modeler IDE.

1. Ensure that an event mapping has been created for the business object type and the event you
want to specify in the audit definition.

2. Choose one of these methods:

• On the menu bar, choose BMIDE→New Model Element, type Audit Definition in the Wizards
box, and click Next.

• Open the Extensions\Audit Manager folders, right-click the Audit Definitions folder, and
choose New Audit Definition.

The New Audit Definition wizard runs.

3. Click the Browse box to the right of the Primary Object box to select the type of business object
you want to audit.

4. Click the Browse box to the right of the Event Type box to select the event you want to audit for
the selected business object.

5. Click the Add button to the right of the Audit Extensions box to select the log extensions to use in
the definition.

Business Modeler IDE PLM00071 11.2 9-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

6. In the Description box, type a description of the purpose for this audit definition.

7. Select the Is Active? check box to turn on the audit definition.

8. Select the Track Old Values? check box to enable tracking of the old values of properties.

9. Select the Audit on Property Change Only? check box to log the information specified in this audit
definition only if the property values change. This functionality is only enabled if the Track Old
Values? check box is selected.

10. Click Next to add primary object properties to the audit.


The Primary Object Audit Definition Properties dialog box is displayed. These properties are on
the business object for which the audit definition is being created.

a. In the Primary Audit Definition Properties dialog box, click the Add button located to the
right of the table.
The Add Audit Definition property dialog box is displayed.

9-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an audit definition

b. In the Add Audit Definition property dialog box, click Browse to the right of the Property
Name box to select the primary property.

c. To change the display name of the property in audit logs, type the new display name in the
Target Property Name box.

d. Use the Target Old Value Property Name box to change the display name of the old property
in the audit logs.

Note:
The Target Old Value Property Name box and the Enable Tracking? box are enabled if
you selected the Track Old Values? check box in the Add an Audit Definition dialog
box.

e. Click the arrow in the Enable Tracking? box to select the kind of tracking:

• Track Always
Always tracks old and new values of properties even if there are no changes to the property
value.

• No
Does not track changes to properties.

• Track Different
Tracks old and new values of properties only when the property value changes.

f. Click Finish.

g. Click the Add button in the Primary Audit Definition Properties dialog box to add more
properties as needed.

Business Modeler IDE PLM00071 11.2 9-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

h. Click Finish when you are done adding primary properties.

11. Click Finish.

12. Verify that the audit definition object can create audit logs.

Postupgrade steps required for importing custom event types into a template
project

Beginning with Teamcenter 10, Audit Manager objects are managed using the Business Modeler IDE. As
a result, you must add your custom event types to your template project after upgrading the Business
Modeler IDE template project to Teamcenter 10 or later.

To help you import these custom event types, the system identifies the custom event types definitions
during the upgrade process and writes them to a custom_audit_configurations.xml file generated
under the TC_DATA\model directory. At the end of the upgrade process, Teamcenter Environment
Manager (TEM) issues a warning if there are any custom event types.

Postupgrade, import these custom event type definitions into your custom template project before
deploying any changes to the upgraded database. If not, the next TEM update process or Business
Modeler IDE deployment tries to delete these event types, which may or may not pass based on whether
there are references to it in the database.

Perform the following steps in the Business Modeler IDE immediately after the successful upgrade to
Teamcenter and before deploying any data model changes:

9-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Audit Manager data model objects

1. Import the custom_audit_configurations.xml file from the TC_DATA\model directory into your
custom template project by choosing File→Import→Business Modeler IDE→Import template
file.

2. In the BMIDE view, right-click the project and choose Reload Data Model. Make sure there are no
model errors reported in Console view.

3. Package and deploy the template to the Teamcenter database.

Audit Manager data model objects

The Foundation template provides the COTS data model objects used by Audit Manager, including:

• Business objects

• Fnd0AuditLog
Defines the available types of audit logs to be used in event type mapping.

■ Fnd0FileAccessAudit
Holds file access audit records. Shown as File Access Audit in the rich client user interface.

■ Fnd0GeneralAudit
Holds audit records for which the object type and event type combination are not defined in any
other audit log business objects. Shown as General Audit in the user interface.

■ Fnd0LicenseChangeAudit
Holds license change audit records. Shown as License Change Audit in the user interface.

■ Fnd0LicenseExportAudit
Holds license export audit records. Shown as License Export Audit in the user interface.

■ Fnd0OrganizationAudit
Holds organization audit records. Shown as Organization Audit in the user interface.

■ Fnd0ScheduleAudit
Holds schedule audit records. Shown as Schedule Audit in the user interface.

■ Fnd0StructureAudit
Holds structure audit records. Shown as Structure Audit in the user interface.

■ Fnd0WorkflowAudit
Holds process and signoff history audit records. Shown as Workflow Audit in the user interface.

• Extensions
The following audit extensions define the log handlers to use in an audit definition:

Business Modeler IDE PLM00071 11.2 9-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

• Fnd0CICO_auditloghandler
Logs checkin and checkout information, change ID, and the reason to audit. Applies to checkin and
checkout events.

• Fnd0OCC_track_position_orientation_audithandler
Logs occurrence position and orientation changes of components in structures.

• Fnd0PROJInfo_audithandler
Logs project names that are assigned to the project. The project names are comma separated.

• Fnd0USER_get_additional_log_info
Logs workflow information to audit logs. For example, for the __Assign event, this handler logs
information such as the process name, task type, user comments, and the user ID and user name
the workflow is assigned to.

• Fnd0WriteSignoffDetails
Logs the workflow signoff history.

Automotive Edition

Configure Automotive Edition using the Business Modeler IDE

Use the Business Modeler IDE to configure business rules used by the Automotive Edition application.

Note:
Before working with Automotive Edition objects, you must install the following templates to
your project:

• Teamcenter Automotive Edition (tcae_template.zip file)

• GM Overlay (gmo_template.zip file)

CAE Manager

Configure CAE Manager using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the CAE Manager application.

CAE Manager objects are provided by the Foundation template. No additional templates are needed.

9-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure Change Management using the Business Modeler IDE

Change Management

Configure Change Management using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the Change Manager application. The
custom objects you create are templates of the different change processes to be used at your site. End
users create instances of these change objects, such as change requests, and use them in their workflow
processes.

Note:
Before working with these objects, you must install the Change Management template
(cm_template.xml file) to your project.

Create change business objects if you want to create your own change notices, requests, or problem
reports, or if you want to create new change relationships.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. Ensure that you have installed the Change Management template (cm_template.xml file) to your
project.

3. Create children Change Management business objects as needed.

• Item business objects


To create your own change notices, requests, or problem reports, add children under the
ChangeNotice, ChangeRequest, or ProblemReport business objects.

• Revision business objects


To create your own change revision objects, add children under the ChangeNoticeRevision,
ChangeRequestRevision, and ProblemReportRevision business objects.

• Relation business objects


To create your own change relations, add children under the CMRelation business object.

4. Make the new business objects creatable by making new conditions.


Each Change Management business object has a corresponding condition that makes it creatable
in the user interface. The conditions follow this naming convention:

naming-prefixisbusiness-object-nameCreatable

Search on conditions containing the word Creatable for examples, and look at these conditions to
see how to create your own conditions.
For example, if you created a child of the ChangeNotice business object, look at the
isChangeNoticeCreatable condition for an example of how to create yours. Or if you created a

Business Modeler IDE PLM00071 11.2 9-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

child of the CMHasImpactedItem relation business object, look at the


isCMCMHasImpactedItemCreatable condition. (The conditions whose names end in ForPrimary
and ForSecondary are for the primary and secondary relationships, and those whose names end in
ForTask are for schedule tasks.)
The following example shows how to create a new condition:

a. If the naming prefix for your project is A5_, create a child of the ChangeNotice business
object named A5_ChangeNotice. (You can name it what you want, but it must have the
naming prefix for your project.)

b. Create a condition named A5_isA5_ChangeNoticeCreatable based on the


isChangeNoticeCreatable.

5. Create dynamic participants for the workflow.


Children of the Participant business object represent participants in the workflow process. For
Change Management, these participants include Analyst, ChangeSpecialist1, and Requestor,
among others. You can create new participant business object types to represent participants in the
workflow process. You then assign keywords to these participants to ensure that they are tied to
the correct workflows.

6. Create new forms as needed.

7. Configure pseudofolders as needed using preferences.

Change Management business objects

The Change Management template provides the following business objects. You can create your own
custom change business objects as children of these business objects.

9-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Change Management business objects

• ChangeItem
Provides general behavior to support planning capabilities, traceability, and Change Management.

Caution:
No custom business object should be created as a child of the ChangeItem business object or
its immediate children Cm0GnWorkOrder, GnChangeNotice, GnChangeRequest, or
GnProblemReport. Only create children of the following business objects.

• ChangeNotice
Provides the means to formulate a detailed work plan for a set of requests and to execute the plan
to closure. After change requests are implemented, a notice should be sent to all the stakeholders
notifying them of the change.

• ChangeRequest
Provides the means to formulate a business case for the resolution of a set of problems and enable
users to provide technical recommendations. When a problem report is reviewed and verified, a
change request must be filed to handle the problem.

• ProblemReport
Describes a problem in such a way that another party can repeat the same steps and duplicate the
problem precisely.

• ChangeItemRevision
Provides the revision of the ChangeItem business object.

Caution:
No custom business object should be created as a child of the ChangeItemRevision business
object or its immediate children Cm0GnWorkOrderRevision, GnChangeNoticeRevision,
GnChangeRequestRevision, or GnProblemReportRevision. Only create children on the
following business objects.

• ChangeNoticeRevision
Provides the revision of the ChangeNotice business object.

• ChangeRequestRevision
Provides the revision of the ChangeRequest business object.

• ProblemReportRevision
Provides the revision of the ProblemReport business object.

• CMRelation
Defines the top-level Change Management relation; all Change Management relations are children of
this business object.

• CMHasImpactedItem

Business Modeler IDE PLM00071 11.2 9-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Provides for change planning in terms of associating business item revisions impacted by the
change in context.

• CMHasProblemItem
Relates the ChangeItem object (such as ProblemReport, ChangeRequest and ChangeNotice
objects) to problem item revisions

• CMHasSolutionItem
Provides for the traceability of the deliverable that result from the execution of the product plan. It
relates ChangeNotice objects to a solution item.

• CMHasWorkBreakdown
Provides for work breakdown relations.

• CMImplements
Allows ProblemReport objects to be implemented by ChangeRequest objects, and
ChangeRequest objects to be implemented by ChangeNotice objects. It is used for navigating
change resolution.

• CMReferences
Allows problem reports, change requests, and change notices to reference items and datasets.

Add a Change Management form

A custom extension rule must be created to automatically add a custom change form with the desired
relation, and the form must be turned on for display in the new change revision.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. Ensure that you have installed the Change Management template (cm_template.xml file) to
your project.

3. Create a custom form.

4. Create a custom ChangeNotice business object.


A custom ChangeNoticeRevision business object is automatically created.

5. On the custom change revision object, attach an ITEM_create_rev extension rule to automatically
create and attach the custom form as a specification.

9-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a Change Management form

6. Deploy and test the new form in Teamcenter.

Note:
You must modify the change revision default child properties preference to ensure the new
relation containing the custom form is displayed. For example, add the following values to
the ChangeNoticeRevision_DefaultChildProperties preference:

IMAN_specification
TC_Attaches
CMHasImpactedItem

7. On creation, the new change item should reflect the new form.

Business Modeler IDE PLM00071 11.2 9-27


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Create a new relation for use with a Change Management pseudofolder

Folders under Change Management objects (such as change notices, problem reports, and change
requests) hold items related to those objects. You can create your own Change Management folder to
hold items. You can create the folder for COTS or custom Change Management business objects.

The following example creates a Related To folder for problem report objects.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. Ensure that you have installed the Change Management template (cm_template.xml file) to
your project.

3. Create a new relation.


Create a new business object under the CMRelation business object, for example, naming-
prefixCMRelation. The display name of the business object is used as the name of the new folder.

9-28 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new relation for use with a Change Management pseudofolder

4. Revise the business object to use the new relation.

a. Open the business object that the relation is to be used for. In this example, because the new
folder is to be placed under problem report objects, open the ProblemReportRevision
business object.

Note:
You can also open the ChangeNoticeRevision business object,
ChangeRequestRevision business object, or a custom business object that is a child of
one of these.

b. Create a GRM rule.


Click the GRM Rules tab and add any GRM rule based on your business use case.
In this example, select the ProblemReportRevision business object as the primary object,
select the ItemRevision business object as the secondary object, and select the new relation
business object as the relation (for example, CM5_CMRelation).

Business Modeler IDE PLM00071 11.2 9-29


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

c. Create the relation property.


Click the Properties tab and add a relation property with the same name as the new relation
business object. (Use the internal name, not the display name.) For examples of relation
properties, look at any of the existing relation properties, for example, CMHasProblemItem.

5. Create a business object constant for the new relation.

9-30 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a new relation for use with a Change Management pseudofolder

a. Create the business object constant.


Add a new business object constant named new-custom-relation-nameCreCondition (for
example, CM5_CMRelationCreCondition).
The scope of the constant refers to the scope in which the new relation is applied. Because
this example adds the new folder only to problem reports, select the ProblemReportRevision
business object as the scope. If the relation is to be used across all change objects, select the
ChangeItemRevision business object.

b. Set the value of the business object constant on the business object.
Open the business object that the constant is scoped to (for this example, the
ProblemReportRevision business object), and set the condition when the constant applies.
For example, if isTrue is specified, the creation of the relation is always allowed. The value
determines which condition to use to evaluate whether to allow the creation of the relation.
You can use any of the existing or custom conditions.

Business Modeler IDE PLM00071 11.2 9-31


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

6. Set preferences to use the new relation.


Add the new relation business object to the value list in the following preferences:

business-object-name_DefaultChildProperties
business-object-name_PseudoFolder

For this example, add the new relation to the ProblemReportRevision business object.

9-32 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a custom naming rule to standard Change Management objects

Note:
These preferences already exist for the COTS Change Management objects, such as the
ProblemReportRevision business object. For custom business objects, you must create the
preferences. The corresponding preferences of the parent object type provide a good starting
point for what values should be included.

7. Verify the new folder.


Deploy the custom template from the Business Modeler IDE to a test server, or package the
template and install it using Teamcenter Environment Manager (TEM). When you create a Change
Management object for which the new relation was made, the new folder appears.

Add a custom naming rule to standard Change Management objects

If you want to use a custom naming rule to override the COTS naming rule on a standard Change
Management object, the isTrue() condition cannot be used. You must first create a custom condition
that resolves to the isTrue condition, and when you override the COTS naming rule, attach the custom
naming rule using the custom condition.

For example, you want to override the COTS naming rule on the item_id property on the
ProblemReport business object. Create a custom condition whose expression returns the isTrue
condition as follows:

Business Modeler IDE PLM00071 11.2 9-33


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Condition::isTrue()

Once you override the COTS naming rule using the custom condition, the custom naming rule works
as designed.

Classic change

Classic change is no longer available to manage change management processes. Use the Change
Manager application instead. To see classic change objects, open the Extensions\Options\Classic
Change folders. Like change business objects, classic change objects represent an alteration to
requirements.

Classic change objects were used in the now obsolete Change Viewer application, which is replaced by
the Change Manager application. If you intend to move your old classic change objects to the Change
Manager application, you must create new change objects to replace the classic change objects.

Change Management conditions

Change Management conditions validate the objects involved in the change process.

For example, the isAnalyst condition determines if the logged-on user is assigned as the analyst. And
the isCMHasProblemItemCreatable condition allows the Problem Items folder to be updated. To see a
listing of all the Change Management conditions, run the Data Model Documentation report and look
at all the conditions in the cm template.

Note:
You can also obtain a report of the COTS data model in the Teamcenter Data Model Report
provided in the Teamcenter documentation distribution image. Expand the DataModelReport.zip
file to a local directory and open help\en_US\custom\DataModelReport\index.html.

Some of the conditions have corresponding business object constants. For example, the
Cm0AnalystAssignableCondition business object constant specifies the condition to determine if the
analyst user is assignable and uses the isAnalystAssignable condition as its default value. The Change
Management conditions begin with CM.

Classification

Configure Classification using the Business Modeler IDE

Teamcenter can automatically compute attribute values based on other attribute values within the
class or view or based on attribute values of the object being classified. It uses custom logic that you
assign to a predefined operation in the Business Modeler IDE application. Classification objects are
provided by the Foundation template. No additional templates are needed.

9-34 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Classification extensions

Classification extensions

Extensions allow you to write a custom function or method for Teamcenter in C or C++ and attach the
rules to predefined hook points in Teamcenter.

Following are the extensions provided for Classification:

• icsAskSubclassName
Determines the ics_subclass_name property value for a workspaceObject business object. This
extension is used as the base action on the ics_subclass_name property on the WorkspaceObject
business object.

• icsItemRevBaselinePostAction
Ensures that during baseline operation of an item revision, classification objects (ICOs) from the item
revision being baselined are copied to a new item revision. This extension is used as the postaction on
the baseline operation on the ItemRevision business object.

• icsItemRevSaveAsPostAction
Ensures that during the Revise operation of an ItemRevision business object, classification objects
(ICOs) from the item revision being revised are copied to a new classification. This extension is used
as postaction on the Revise operation on the ItemRevision business object. To avoid data corruption,
do not use this extension for customization.

• icsItemRevSaveAsPreCheck
Performs a preaction check during the Revise operation of an ItemRevision business object. Before
creating new revision, this extension checks whether the classification objects on the object being
revised conform to the minimum-maximum and key-LOV deprecation constraints based on preference
settings. This is used as a precondition on the Revise operation on the ItemRevision business object.

• icsItemSaveAsPostAction
Ensures that during the SaveAs operation of an Item or ItemRevision business object, classification
objects (ICOs) from the item being saved are copied to the new item or item revision. This extension is
used as the postaction on the SaveAs operation on the Item or ItemRevision business object. To
avoid data corruption, do not use this extension for customization.

• icsItemSaveAsPreCheck
Performs a preaction check during the SaveAs operation of an Item or ItemRevision business object.
Before creating the new object, this extension checks whether the classification objects on the object
being saved conform to minimum-maximum and key-LOV deprecation constraints based on
preference settings. This extension is used as a precondition on the SaveAs action on Item or
ItemRevision business objects.

• icsSavePostCheck
Controls if classification object IDs are up-to-date for a given Item or ItemRevision business object
instance being saved as and modifies them if needed. This extension is used as a postaction during
the SaveAs operation of an Item business object.

Business Modeler IDE PLM00071 11.2 9-35


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

• isICSObjectClassified
Determines the ics_classified property value for a workspaceObject business object. It is used as the
base action on the ics_classified property on the WorkspaceObject business object.

Dimensional Planning and Validation

Configure Dimensional Planning and Validation (DPV) using the Business


Modeler IDE

Use the Business Modeler IDE to create custom objects used by the Dimensional Planning and Validation
(DPV) application. You can add values to the DPVRegions and DPVPhases lists of values.

Note:
Before working with DPV objects, you must install the following templates to your project:

• Database Configuration for DPV template (dvp_template.zip file)

• Customization for eM-Server Integration (cmtemserver file)

Configure DPV to automatically attach forms

You can configure Dimensional Planning and Validation (DPV) to automatically attach forms when end
users create a new process or operation. End users can then use the forms to enter data on the process
or operation. This gives you the flexibility to choose which forms are attached when the objects are
created.

To configure this, add the Dpv0FormAttach extension as a postaction to the create operation on the
desired process or operation business object. Then select the forms you want attached when the end
user creates that type of process or operation.

The following procedure shows how to perform this configuration for the MEInspection operation.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. Ensure that you have installed the following templates to your project:

• Database Configuration for DPV template (dvp_template.zip file)

• Customization for eM-Server Integration (cmtemserver file)

3. Make sure that the Dpv0FormAttach extension is available for use on your desired business object
type.

9-36 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure DPV to automatically attach forms

Open the Dpv0FormAttach extension and look at the business objects listed in the Availability
table.

By default, the following business object types are available on this extension:

• InspectionDevice Revision

• MEInspection Revision and its children:

• MECMMInspection Revision

• MEHHInspection Revision

• MEVisInspection Revision

• MEPrPlantProcessRevision

Note:
If the business object type you want to use is not available, you can click the Add button to
the right of the Availability table to add it. Add it to the create(Teamcenter::CreateInput*)
operation as a PostAction extension point.

Because the MEInspection Revision business object type is available for use with the
Dpv0FormAttach extension, you can proceed to the next step.

Business Modeler IDE PLM00071 11.2 9-37


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

4. Open the MEInspection Revision business object and add the Dpv0FormAttach extension as a
postaction to the create operation.

a. Open the MEInspection Revision business object and click the Operations tab.

b. Select the create(Teamcenter::CreateInput*) operation and click the Extension


Attachments tab.

c. Click the Add button in the Extension Attachments tab.


In the Extension dialog box, the Extension Point box shows PostAction by default and the
Dpv0FormAttach extension is selected in the Extension box because it is the only extension
made available as a postaction on the business object type.

9-38 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure DPV to automatically attach forms

5. Select the forms to be automatically attached when the MEInspection business object is created by
the end users.

a. Click the Add button to the right of the Arguments box.

b. In the Extension Arguments dialog box, click the Browse button to the right of the
objectType box to select the first form.

c. In the selection dialog box, type DPV* to see all the available forms. Select a form, such as
DPVLocation and click OK.

Business Modeler IDE PLM00071 11.2 9-39


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

d. Click the Browse button to the right of the relationType dialog box and select
IMAN_specification as the relationship to use when attaching the form.

e. In the objectName box, type the form name you want to appear in the end user interface.
This name should give the end users some idea of the kind of information the form contains.

f. Click Finish.

g. Click the Add button to the right of the Arguments table to add more forms.
The forms appear in the Arguments table. In the following figure, the DPVLocation and
DPVShiftTime forms are added.

9-40 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure DPV to automatically attach forms

6. Click Finish on the Extension dialog box.


The Dpv0FormAttach extension is added as a postaction of the create operation on the
MEInspection Revision business object. To see the arguments that show the forms, scroll right in
the Post-Action table to the Arguments column.

7. To save your changes to the template, on the menu bar, choose BMIDE→Save Data Model. Then
package the template and use Teamcenter Environment Manager to install the packaged
template to your server.

Business Modeler IDE PLM00071 11.2 9-41


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

8. Verify that the forms are attached when you create the MEInspection business object.

a. Log on to the rich client and open Manufacturing Process Planner.

b. Choose File→New→Operation, select MEInspection, and click Next.

c. Give the object an ID and a name and click Finish.


The object is created, and forms are automatically attached to the object. To see the
attachments, select Window→Show View→Other and select the Attachments view from
the Other folder.

9-42 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure Maintenance, Repair, and Overhaul (MRO) using the Business Modeler IDE

Maintenance, Repair, and Overhaul (MRO)

Configure Maintenance, Repair, and Overhaul (MRO) using the Business


Modeler IDE

Use the Business Modeler IDE to create custom objects used by Maintenance, Repair, and Overhaul
(MRO). MRO is comprised of a suite of applications that you can use to manage assets over their
lifetime.

Note:
Before working with MRO objects, you must install the following templates to your project:

• As-Built Management (asbuilt_template.zip file)

• As-Built and As-Maintained Alignment (asbasmalignment_template.zip file)

• MRO Core (mrocore_template.zip file)

• Service Planning (serviceplanning_template.zip file)

• Service Processing (serviceprocessing_template.zip file)

• Service Request Processing (servicerequest_template.zip file)

• Service Scheduler (servicescheduling_template.zip file)

Consideration when creating a custom physical part

The PhysicalPart business object is provided by the MRO Core (mrocore) template and is used to
designate physical instances of parts. If you create a custom business object as a child of the
PhysicalPart business object, you must edit the ServiceEventCreate.xml XML rendering style sheet so
that the custom physical part appears in the list of available physical parts when creating an event in the
Create Service Event dialog box.

For example, if the custom physical part is named GT4_PhysicalPart and the custom physical part
revision is named GT4_PhysicalPartRevision, in the ServiceEventCreate.xml XML rendering style
sheet, change:

<property name="inprogress_physical_element" searchHint="MRO Physical Part"


objectHint="PhysicalPart,PhysicalPartRevision" />

To:

Business Modeler IDE PLM00071 11.2 9-43


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

<property name="inprogress_physical_element" searchHint="MRO Physical Part"


objectHint="PhysicalPart,PhysicalPartRevision,GT4_PhysicalPart,GT4_PhysicalPartRevision"
/>

Manufacturing Process Planner

Configure Manufacturing Process Planner using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by Manufacturing Process Planner.
Manufacturing Process Planner allows you to design a plan that details how to manufacture a product.
The manufacturing process plan includes a top-level structure of the process required to manufacture
the product, as well as a detailed design of the individual processes and activities to be included in the
plan.

Note:
Before working with Manufacturing Process Planner objects, you must install the following
templates to your project:

• Work Instructions (cmtmes_template.zip file)

• MES Integration (cmtmesinteg_template.zip file)

3D PDF business objects

Teamcenter enables you to create interactive 3D reports that are derived directly from process data
stored in the Teamcenter database. The reports are in PDF format and contain process information and
3D data. The Manufacturing Process Planner templates provide the following business objects used for
3D PDF configuration. You can create your own custom business objects as children of these business
objects.

• 3D PDF dataset business objects

• Mes0PDFInputs
Contains different input files to generate a PDF report (for example, PRC/U3D, XFDF, and so on).

• Mes0PDFReport
Contains a PDF report generated for a process or operation.

• Mes0PDFReportTemplate
Contains a PDF template file used to generate a PDF report for a process or operation.

• 3D PDF relation business objects

• Mes0PDFContentRel

9-44 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure Multi-Structure Manager using the Business Modeler IDE

Defines a relation that attaches a dataset containing report content (Mfg0ME3DPDFInputs) to a


report generated from it (Mes0PDFReport).

• Mes0PDFInputsRel
Defines a relation that attaches a dataset containing report content (Mes0PDFInputs) to a process
or an operation that the content refers to.

• Mes0PDFReportInputRel
Defines a relation that attaches a report input to a report template (Mes0PDFReportTemplate).

• Mes0PDFReportRel
Defines a relation that attaches a PDF report (Mes0PDFReport) to its owning process or operation.

• Mes0PDFTemplateRel
Defines a relation that attaches a PDF report template (Mes0PDFReportTemplate) to a report
generated from it (Mes0PDFReport).

Multi-Structure Manager

Configure Multi-Structure Manager using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the Multi-Structure Manager
application.

Multi-Structure Manager objects are provided by the Foundation template. No additional templates are
needed.

Configure the automateAndLink extension

If your organization manages designs and parts separately, you must align the CAD designs and the
BOM at appropriate times. This is known as CAD-BOM alignment.

You can automate the alignment so that when a user creates a CAD design and it is checked in to
Teamcenter, the corresponding part is created automatically. To configure this, use the
automateAndLink extension. Add the automateAndLink extension as a postaction to the create
operation on the desired source design business object and select the relationship you want to the
target part that is created.

You can configure automatic alignment for any children of the Item business object. For the following
example, the source design is a custom A5_MyDesign business object that is a child of the Design
business object, the target part is a custom A5_MyPart business object that is a child of the Part
business object, and the relationship between them is the TC_Is_Represented_By relation.

Business Modeler IDE PLM00071 11.2 9-45


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Tip:
You are not limited to using the automateAndLink extension for CAD-part alignment. You can use
it to generate automatically one kind of item business object when another kind is created, and to
link the two. Its behavior is similar to the createObject extension.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. Add the automateAndLink extension as a postaction to the create operation for the desired design
business object type.

a. Make sure that the automateAndLink extension is available for use on your desired business
object type. Open the automateAndLink extension and look at the business objects listed in
the Availability table. This extension is available on the Item business object type and all its
children. Because the A5_MyDesign business object is a child of the Design business object,
which in turn is a child of the Item business object, this extension is available for use.

b. Add the automateAndLink extension as a postaction to the create operation for the design
business object.
Open the A5_MyDesign business object, click the Operations tab, and select the
create(Teamcenter::CreateInput*) operation.

c. In the Extension Attachments tab, click the Add button to the right of the table.

9-46 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure the automateAndLink extension

d. In the Extension dialog box, the automateAndLink extension is selected in the Extension
box because it is made available as a postaction on the business object type.

e. Click the Add button to the right of the Arguments box.


The Extension Arguments dialog box is displayed.

Business Modeler IDE PLM00071 11.2 9-47


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

f. Perform the following steps in the Extension Arguments dialog box:

A. Click the Browse button to the right of the TargetObjectType box to select the target
part type to be automatically created (for example, A5_MyPart).

B. Click the Browse button to the right of the RelationName box and select
TC_Is_Represented_By as the relationship between the design and the part.

C. Click the Browse button to the right of the RelationHint box to select which source or
target object is used as the primary object in the relation. For example, select
TargetRevToSourceRev to link the target revision (the part revision) to the source
revision (design revision) where the target revision is the primary object.

9-48 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure the automateAndLink extension

Note:
This relation hint list is provided by the Fnd0LinkageOption list of values. To see
these with their descriptions, later you can open the LOV folder and open the
Fnd0LinkageOption list of values.

D. Click OK.
The argument is displayed.

E. Click Finish on the Extension Arguments dialog box.


The argument is added to the automateAndLink extension.

Note:
This procedure automatically creates a part when a design is created. If you want to give
the end user a choice about whether to create the part automatically, you can apply a
condition to the automateAndLink extension by selecting it in the Condition box.
You can also create other kinds of conditions to perform other kinds of evaluations.

Business Modeler IDE PLM00071 11.2 9-49


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

g. Click Finish in the Extension dialog box.


The automateAndLink extension is added as a postaction of the create operation on the
A5_MyDesign business object. To see the argument, scroll right in the table to the
Arguments column.

3. You can use the Fnd0InheritFrom property constant to inherit property values from the source
CAD design business object when the automatic alignment of the design and part occurs.

a. Open the A5_MyPart business object, click the Properties tab, and select a property that you
want to inherit from the source design, for example, object_desc.

b. In the Property Constants table, select the Fnd0InheritFrom property constant.

9-50 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure the automateAndLink extension

c. Click Edit to the right of the Property Constants table and browse for the business object and
its property that you want to inherit from, for example, A5_MyDesign.object_desc. Copy the
value to the second Value box.

d. Click Finish.
The new value for the Fnd0InheritFrom property constant is displayed.

Business Modeler IDE PLM00071 11.2 9-51


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

e. Repeat this step for any other properties you want the part to inherit from the design, for
example, object_name or item_id.

Note:
If you choose to inherit the item_id property, you must ensure that you have first
configured multifield key definitions to allow two different business object types (in this
example, A5_MyDesign and A5_MyPart) to use the same item ID.

4. To save your changes to the template, on the menu bar choose BMIDE→Save Data Model. Then
package the template and use Teamcenter Environment Manager to install the packaged
template to your server.

5. Verify that the alignment is performed when you create the A5_MyDesign business object.

a. Log on to the rich client and open Multi-Structure Manager.

Note:
Creating the design this way in the rich client is for illustration purposes. Typically, you
create the design in a CAD application and save it to Teamcenter directly from that CAD
application through an integration to Teamcenter. At the time the design is saved in the
CAD application to Teamcenter, the automatic alignment occurs.

9-52 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure the automateAndLink extension

b. Choose File→New→Design and select A5_MyDesign. Click Next.

c. In the New Design dialog box, give the object an ID, a name, and a description. Click Finish.

The design and part are automatically aligned. The part is created and related to the design.
Also notice how the object description on the part is inherited from the design.

Business Modeler IDE PLM00071 11.2 9-53


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Using conditions with the automateAndLink extension

You can use the automateAndLink extension to automate CAD-part alignment so that when a user
creates a CAD design and it is checked in to Teamcenter, the corresponding part is created automatically.

You can apply conditions to the extension to modify how it runs. If you create your own conditions to
apply to the automateAndLink extension, input parameters for the condition can be business objects,
user session, or both.

Following are some conditions you can use with the automateAndLink extension:

• Fnd0isCMSImportActive

9-54 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a condition asking whether to create a part

Prevents the target object from being created if a classic Multi-Site import session is active.

• Fnd0isPLMXMLImportActive
Prevents the target object from being created if a PLM XML import/export (PIE) import session is
active.

Create a condition asking whether to create a part

You can use the automateAndLink extension to automate CAD design-part alignment so that when a
user creates a CAD design and it is checked in to Teamcenter, the corresponding part is created
automatically. But users may not always want to have a part automatically created when they create a
design. Depending on the business practice, the criteria to create a part can differ. Therefore, you can
create a condition and apply it to the automateAndLink extension so that a dialog box is provided
asking end users if also they want to have a part automatically created when they create a design.

Note:
You can configure automatic alignment for any children of the Item business object. This example
uses design and part business object types.

1. Create a boolean property on the source design business object. The Boolean property provides a
true or false selection to the end user asking them if they want to create the part.

a. Open the source design business object type and click the Property tab.

b. Click the Add button to the right of the Property table, select Persistent and click Next.

c. Type a name for the property in the Name box, and in the Display Name box type the
message you want to display to the user, for example:

Automatically create a part for the design?

d. For the Attribute Type, select Boolean.

Business Modeler IDE PLM00071 11.2 9-55


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

e. Click Finish.
The new Boolean property is displayed on the design business object.

2. Add the Boolean property to the CreateInput operation on the Operation Descriptor tab. This
adds the Boolean property to the design creation wizard.

a. Click the Operation Descriptor tab on the design business object.

9-56 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a condition asking whether to create a part

b. In the Operation box, ensure that CreateInput is selected and click the Add button to the
right of the table.

c. Select Add a Property from Business Object and click Next.

d. In the OperationInput Property dialog box, click the Browse button to the right of the
Property Name box and select the new boolean property you previously created.

e. Select the Required and Visible check boxes.

f. Click Finish.
The Boolean property appears on the Operation Descriptor tab.

Business Modeler IDE PLM00071 11.2 9-57


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

3. Create a condition that uses the Boolean property. This condition is applied to the
automateAndLink extension to determine whether the part is automatically created when a
design is created.

a. Open the Extensions\Rules folders.

b. Right-click the Conditions folder and choose New Condition.

c. Give the condition a name and a description that clearly state what the condition is used for.

d. Click the Browse button and select the design business object that has the Boolean property.

e. In the expression box, type o. and the name of the Boolean property, for example,
o.a5_is_part_create_required. This means that the property is used for condition evaluation.

9-58 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a condition asking whether to create a part

f. Click Finish.

4. Apply the condition to the automateAndLink extension.

a. Configure the automateAndLink extension for the source design type and target part type.

b. Click the Browse button to the right of the Condition box and select the condition you
created that includes the Boolean property.

c. Click Finish.

Business Modeler IDE PLM00071 11.2 9-59


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

5. To save your changes to the template, on the menu bar, choose BMIDE→Save Data Model. Then
package the template and use Teamcenter Environment Manager to install the packaged
template to your server.

6. Verify that the Boolean property is displayed when you create the design business object.

a. Log on to the rich client and open Multi-Structure Manager.

Note:
Creating the design this way in the rich client is for illustration purposes. Typically, you
create the design in a CAD application and save it to Teamcenter directly from that CAD
application through an integration to Teamcenter. At the time the design is saved in the
CAD application to Teamcenter, the automatic alignment occurs.

b. Choose File→New→Design and select the design type you want to create. Click Next.

c. In the New Design dialog box, give the object an ID, a name, and a description. Click Next.
The Boolean property is displayed.

d. Select True to automatically create the part and relate it to the design, or click False to create
only the design.

e. Click Finish.
The new design is displayed in Multi-Structure Manager. If you selected True, the related part
is also created. If you selected False, the related part is not created.

NX

Creating item types with required attributes for NX

You cannot view custom items with required properties in NX unless the required property has an initial
value defined or the initial value is listed as Null. Use the Required property constant to make a
property required and the InitialValue property constant to set the initial value.

9-60 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure NX CAM Integration using the Business Modeler IDE

Configure NX CAM Integration using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the NX CAM Integration application.

NX CAM Integration objects are provided by the Foundation template. No additional templates are
needed.

Organization

Configure Organization using the Business Modeler IDE

Use the Business Modeler IDE to configure aspects of the Organization application. Organization objects
are provided by the Foundation template. No additional templates are needed.

For example, you can add a list of citizenships to the Citizenships box in the Organization application by
using the Business Modeler IDE to attach a list of values to the fnd0_citizenships property on the User
business object.

Add additional properties to users

You cannot add custom properties directly to the User business object. However, you can add custom
properties to the Fnd0CustomUserProfile business object. (The fnd0custom_user_profile property on
the User business object points to the Fnd0CustomUserProfile business object as the source for the
custom properties.)

When you add custom properties to the Fnd0CustomUserProfile business object and install the
resulting template to a Teamcenter server, an Add Additional Properties link appears in the panel in
the Organization application used to create or modify users. Click the link to add the custom properties
to the user's profile.

After assigning custom properties to a user, you can search on those properties, add them to saved
queries, or assign access rules to them for further control of the user.

Business Modeler IDE PLM00071 11.2 9-61


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

1. Open the Fnd0CustomUserProfile business object, click the Properties tab, and click the Add
button to add a custom persistent property.

Note:
You cannot add a relation or compound property to the Fnd0CustomUserProfile business
object. Nor can you subclass the Fnd0CustomUserProfile business object.

In the following example, a custom property has been added to hold the user's department ID.
Note that the Visible property constant is set to true by default. This ensures that the property
appears in the end user interface.

9-62 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add additional properties to users

2. Ensure that you click the Localization tab to change the property display name to a value you want
to appear in the end user interface.

3. Save your data model, package the template, and use Teamcenter Environment Manager to
install the packaged template to your server.

4. Launch the Teamcenter rich client, open the Organization application, and click the Users group.

The Add Additional Properties link appears at the bottom of the panel.

5. Click the Add Additional Properties link to add values to the custom properties on the user's
profile. Click the Create or Modify button to save the values.

When you add values to the custom properties, the link name changes to Remove Additional
Properties.

Clicking the link toggles it to Add Additional Properties.

Business Modeler IDE PLM00071 11.2 9-63


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Note:
Clicking the Remove Additional Properties discards the values entered. That is, if you click
the Remove Additional Properties link and click the Modify button, the values are not
stored in the database. To save the values, click the Add Additional Properties link, type the
values, and then click the Create or Modify button.

Product and manufacturing information (PMI)

Configure product and manufacturing information (PMI) using the Business


Modeler IDE

Use the Business Modeler IDE to create custom objects used by the product and manufacturing
information (PMI) functionality.

Siemens PLM Software recommends that you create a PMIContext custom business object as a child of
the Item business object. This custom context business object can then be assigned to the
MEPostAssignIDICMaker preference, which is used to configure PMI effectivity.

Note:
Before working with PMI objects, you must install the Configurable PMI Visualization (PMI)
template to your project.

To install PMI to a server, you must perform the following steps:

1. In the kit, open install\modules\feature_pmi.xml in a text editor.

2. If you have <visible value=”false”/>, change it to <visible value=”true”/>.

3. Launch TEM, in the Features panel, under Product Manufacturing Information, locate
Configuragble PMI Visualization.

4. Select the Configuragble PMI Visualization check box and click Next.

Schedule Manager

Configure Schedule Manager using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the Schedule Manager application.
Schedule Manager objects are provided by the Foundation template. No additional templates are
needed.

9-64 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a custom status for Schedule Manager

Create a custom status for Schedule Manager

You can create custom statuses to add to the available Schedule Manager statuses. Statuses show the
state of schedules and tasks, such as In Progress or Complete.

Note:
Do not use this method to add custom status types for use by Workflow Designer and other areas
of Teamcenter. Instead, open the Extensions\Options folders, right-click the Status, and choose
New Status.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. Add your new status to an existing status LOV.


Add the new status value to an existing Fnd0*_status LOV, for example, Fnd0cl_status (closed
statuses), Fnd0cpl_status (complete statuses), Fnd0ip_status (in-progress statuses), or
Fnd0ns_status (not started statuses).

Caution:
Do not change the Fnd0state_status LOV. This is a cascading LOV whose values are added
from the status sub-LOVs.

For example, if you want to create a status that displays as Interim Complete in the user interface,
open the Fnd0cpl_status and add the interim_complete value. Make sure to type the value
display name and description, because they appear in the Schedule Manager user interface.
For examples of Schedule Manager status LOVs, see the LOVs named Fnd0*_status.

Business Modeler IDE PLM00071 11.2 9-65


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

After you add the new status value to the LOV, the value appears under the sub-LOV within the
Fnd0state_status LOV.

9-66 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a custom status for Schedule Manager

3. Create a custom condition rule to determine when the new status is initiated and pass it in to the
Fnd0SMSetTaskStatus extension. Base the custom condition on an existing condition. For
examples of Schedule Manager conditions, see the conditions named Fnd0SM*.
For the interim complete status example, you can create a condition based on the
Fnd0SMIsTaskComplete condition:

S5_TaskInterimComplete ( ScheduleTask o)

o.complete_percent=100 and o.fnd0status="interim_complete"


and (o.task_type=0 or o.task_type=1 or o.task_type=4)

This condition returns true if the task complete percent is 100 and the fnd0status property has the
interim_complete value.

4. Save your data model, package the template, and use Teamcenter Environment Manager to install
the packaged template to your server.

5. To see the new status in Schedule Manager, select a schedule or task, choose View→Properties on
the menu tool bar, and select the arrow at the end of the State or Status boxes.

Business Modeler IDE PLM00071 11.2 9-67


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Schedule Manager operations, extensions, and conditions used for statuses

Operations, extensions, and conditions work together to provide Schedule Manager task status
functionality. You can set preaction and postaction operations on object properties so that when the
property is set, the preaction or postaction executes a customized action. You can also attach extension
points to the preaction or postaction operation, as well as define conditions that can be evaluated in
several ways.

In the use case of task status, whenever a specified property’s value is set (for example, the Fnd0Status
property), the postaction on the property operation calls the extension point code that makes an ITK call
to evaluate the specified condition. If the condition returns true, the business logic is executed.

Default statuses have their own conditions and extension points. You can modify these conditions to
meet your needs for setting the status. To define a new condition, pass in the new condition name to
the provided extension to allow the extension to evaluate the new condition. To comply with the
provided extensions, the system supports running conditions defined to take Schedule, ScheduleTask,
or UserSession business objects. From these objects, you have access to the needed run-time
parameters to write a condition.

Following are the property operations used to process statuses. The property operations are placed on
properties of the TaskExecutionFormInfo business object:

• setWork_Complete property operation


Placed on the on the work_complete property. Runs the Fnd0SMSetTaskStatus extension as a
postaction, which in turn evaluates the Fnd0SMIsWorkCompleteInProgress condition against the
in_progress status.

• setComplete_percent property operation


Placed on the complete_percent property. Runs the following extensions as postactions:

• Fnd0SMSetTaskStatus extension
Evaluates the Fnd0SMIsCompletePercentInProgress condition against the in_progress status.

9-68 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Schedule Manager property operations

• Fnd0SMSetTaskStatus extension
Evaluates the Fnd0SMIsCompletePercentComplete condition against the complete status.

• setFnd0Status property operation


Placed on the fnd0state property. Runs the following extensions as postactions:

• Fnd0SMInitializeActualStart extension
Evaluates the Fnd0SMHasTaskStarted condition

• Fnd0SMInitializeActualFinish extension
Evaluates the Fnd0SMIsTaskStatusComplete condition

• Fnd0SMSetPercentComplete extension
Evaluates the Fnd0SMIsTaskStatusComplete condition when the task is at 100.00 percent
complete.

• Fnd0SMRollupStatus extension
Processes rollup rules logic. The rollup rules logic in this extension is not customizable. But you can
create and attach a custom extension to change the rollup logic.

Schedule Manager property operations

Schedule Manager property operations are primarily used to process task status. The postaction on the
property operation calls the extension point code which makes an ITK call to evaluate the specified
condition. If the condition returns true, the business logic is executed.

Following are the Schedule Manager property operations:

• Following are property operations on the TaskExecutionFormInfo business object:

• setActual_finish_date
This operation is not used for COTS rules. It is attached to the Fnd0SMSetTaskStatus extension to
allow you to create a postaction.

• setActual_start_date
This operation is not used for COTS rules. It is attached to the Fnd0SMSetTaskStatus extension to
allow you to create a postaction.

• setComplete_percent
This operation is used for COTS rules.

• setFnd0status
This operation is used for COTS rules.

• setApproved_work
This operation is not used for COTS rules. It is attached to the Fnd0SMSetTaskStatus extension to
allow you to create a postaction.

Business Modeler IDE PLM00071 11.2 9-69


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

• setWork_complete
This operation is used for COTS rules.

• Following are property operations on the TaskSchedulingFormInfo business object:


These operation are not used for COTS rules, but are attached to the Fnd0SMSetTaskStatus
extension to allow you to create a postaction.

• setDuration

• setFinish_date

• setStart_date

• setWork_estimate

• setWork_remaining

• Following are property operations on the ScheduleTaskRevision business object:

• setPriority
This operation is not used for COTS rules. It is attached to the Fnd0SMSetTaskStatus extension to
allow you to create a postaction.

Schedule Manager extensions

Schedule Manager extensions are primarily used to process task status, and are usually attached to
property operations as postactions. The extension point code makes an ITK call to evaluate the specified
condition. If the condition returns true, the business logic is executed.

Note:
The Business Modeler IDE does not support associating the same extension name multiple times
to a given operation. Therefore, there are multiple extensions with a similar name that call the
main extension that contains the logic to execute.

Following are the Schedule Manager extensions:

• Fnd0SMInitializeActualStart
Initializes the actual start date if the condition is true. If the date is not already set, it is initialized to
the scheduled start date or system time depending on the settings in the
DefaultActualToSystemDate and SM_EnforceActualDatesBeforeNow preferences.

• Fnd0SMInitializeActualFinish
Initializes the actual finish date if the condition is true. If the date is not already set, it is initialized to
the scheduled finish date or system time depending on the settings in the
DefaultActualToSystemDate and SM_EnforceActualDatesBeforeNow preferences.

9-70 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure Structure Manager using the Business Modeler IDE

• Fnd0SMSetPercentComplete
Sets the task percent complete to the provided percentage if the condition is true. The extension
name can be used to pass a different argument.

• Fnd0SMSetTaskStatus
Sets the task status to the provided status if the condition is true. The extension name can be used to
pass a different argument.

• Fnd0SMSetScheduleStatus
Sets the schedule status to the provided status if the condition is true. This extension is not used for
COTS rules but is provided for your customization use.

• Fnd0SMRollupStatus
Rolls up statuses.

Structure Manager

Configure Structure Manager using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the Structure Manager application.

Structure Manager objects are provided by the Foundation template. No additional templates are
needed.

Configuring BOM grading

BOM grading is a validation engine for bills of materials (BOMs). It allows customers to validate their
product’s BOM and ensure all parts meet configurable criteria like approved parts, not obsolete, and
compliant RoHS. This can be difficult if done manually because a BOM can contain thousands of parts.
Within the Business Modeler IDE, a user can create conditions and associate them with business objects
using verification rules.

In addition, parts approved for use on one project may not be approved for use on another project. For
example, a part can pass a European compliance standard but not a U.S. one. This means a BOM
potentially could be graded against multiple sets of conditions depending on the product context (target
market, manufacturing plant, and so on). The Validation Manager application allows user-defined
contexts (sets of conditions) by creating checkers.

The Tools→BOM Grading menu command in Structure Manager performs a BOM validation against
selected checkers. The BOM grading results viewer allows users to review, analyze, filter, and override
validation results.

To configure BOM grading objects in the Business Modeler IDE:

1. If you have not already done so, create a custom template project to hold your data model
changes.

Business Modeler IDE PLM00071 11.2 9-71


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

2. Create conditions.
You must create conditions to evaluate parts to ensure they are valid in BOMs. To create a
condition, open the Extensions\Rules folders, right-click the Conditions folder, and choose New
Condition.
BOM grading supports the following condition signatures:

(WorkspaceObject r)
(WorkspaceObject r, BOMLine o)

For example, if you want to check if a part has a released status or not using BOM grading, set a
condition similar to the following that uses the INLIST function:

TestReleaseStatusCondition (ItemRevision o) =:
INLIST("Obsolete",o.release_status_list,"name")

3. Assign the conditions to part types using Teamcenter Component objects and verification rules.
Create a Teamcenter Component object to link conditions to business objects, and create
verification rules to set the scope. To create a Teamcenter Component object, in the Extensions
folder, right-click the Teamcenter Component folder and choose New Teamcenter Component.
To create a verification rule, on the menu bar, choose BMIDE→Editors→Verification Rules Editor,
and click the Add button to the right of the Verification Rule table.
The following COTS objects are used in BOM grading:

• The Fnd0BOMGrading Teamcenter Component object is provided in the Extensions


\Teamcenter Component folder.

• The Fnd0BOMGrading list of values (LOV) located in the Extensions\LOV folder.

4. Deploy the template to the server for use in BOM grading.

Add custom properties to BOM columns

You can add custom properties to the BOM columns in the Structure Manager or other applications
where BOM lines are displayed. Following is a typical set of circumstances that results in your needing to
add custom properties to the BOM columns:

• You have added custom business objects to the Business Modeler IDE that are subclassed under the
ItemRevision business object, and you have added custom properties to those custom business
objects.

• You have decided instances of these custom business objects should be organized into structures, and
you want the custom properties to be visible when looking at the structures.

• You have decided on an application to display the structure, such as Structure Manager, Systems
Engineering, and Manufacturing Process Planner, among others.

9-72 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add custom properties to BOM columns

You can define compound properties directly on the BOMLine business object and add them to the
columns. A simpler way is to use the Fnd0BOMLineRevConfigProps global constant in the Business
Modeler IDE to add the custom properties from the custom item revision business object.

Note:
This constant behaves similarly to other global constants that control derived BOM line properties.
For each, add your custom business object type to the constant, and the properties on the custom
type are added as bl_ properties on the BOMLine business object.

• BOMLineFormConfiguredProperties
Adds properties from item master types.

• BOMLineRevConfiguredProperties
Adds properties from item revision master types.

• Fnd0BOMLineItemConfigProps
Adds properties from item types.

• Fnd0BOMLineRevConfigProps
Adds properties from item revision types.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. On the menu bar, choose BMIDE→Editors→Global Constants Editor.

3. Select the Fnd0BOMLineRevConfigProps global constant and click the Edit button.

Business Modeler IDE PLM00071 11.2 9-73


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

4. In the Modify Global Constant dialog box, click the Add button, add a custom item revision
business object, and click Finish.

5. Right-click the project in the BMIDE view and choose Reload Data Model.

6. In the Business Objects folder, open the BOMLine business object and click the Properties tab.
In the Properties table, you see that the properties from the custom business object are added
with the following naming convention:

bl_business-object-name_property-name

9-74 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add custom properties to BOM columns

7. Select a new bl_ property, click the Edit button, and in the Display Name box, type the name you
want to use for this property when it appears as a BOM column heading in the user interface (for
example, My Property).

Tip:
If you do not perform this step, the property appears in the user interface with the internal
property name.
To avoid confusion and to make it clear that they are actually the same property, make the
display name of this property the same as the display name on the source custom property.

8. Choose BMIDE→Save Data Model on the menu bar.

Business Modeler IDE PLM00071 11.2 9-75


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

9. Deploy the template to a test server by choosing BMIDE→Deploy Template on the menu bar.

10. Perform the following steps to verify the new properties in the user interface.

a. Run the rich client on the test server.

b. Send an item revision to an application that has a BOM table, such as Structure Manager.

c. Right-click a column heading in the BOM table and choose Insert Column(s).

d. In the Available Columns box, scroll down until you see your custom property.

e. Select the custom property and click the + button to add it to the Displayed Columns list.
Then click Apply.
The new property displays a BOM table column.

9-76 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create conditions to control permitted structure content

Note:
You can use the BOM_Properties_For_Column_Selection preference to restrict the
properties that are displayed on a column by group or role.

Create conditions to control permitted structure content

You can use the Business Modeler IDE to create conditions that define what types of content are allowed
in a product structure. The following types of restrictions can be defined by conditions:

• Only certain item types can be children or parents of other types.

• Properties of the parent or child object must satisfy specified values or be NULL.

After you create the conditions, create verification rules to assign them to specific business object types
and their children using the Fnd0OccurrenceConditionValidation Teamcenter Component object.

After you install the template containing the conditions to a server, end users cannot add content that is
prohibited by the defined conditions. In Structure Manager, end users can validate the product
structure against the conditions by selecting an item in a product structure and choosing
Tools→Validate Occurrences.

Keep the following in mind when you create these conditions:

• If there are no conditions in the system that control occurrence structures, only those structures that
follow the existing parent-child inheritance already in the system are permitted.

• When you create conditions, children business objects inherit conditions from their parents.

• If a user attempts to place an object into a structure that does not have a matching condition rule, it
fails. For example, if a user attempts to place a Dataset object as a child of an Item object, and no
condition is set up to allow it, it fails because the Dataset business object is not a child of the Item
business object. Therefore, you must create conditions for all likely parent-child combinations that
you anticipate can occur in product structures at your organization.

• Siemens PLM Software recommends that you create conditions that resolve to true for these most
commonly used parent-child occurrence structures, Item-Item and Item-GDE. This avoids validation
failures that can occur if there are no occurrence validation conditions in the system for these
structures.

Control parent-child product structures

The following example shows how to create conditions that allow or prohibit an object instance to be
placed as a child under another object instance in a product structure.

Business Modeler IDE PLM00071 11.2 9-77


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

In this example, you first create an ItemRevision-ItemRevision condition that resolves to true
(expression 1=1) and an ItemRevision-GeneralDesginElement condition that resolves to true, and
then create verification rules that add these conditions to the Fnd0OccurrentConditionValidation
Teamcenter Component object.

Tip:
Siemens PLM Software recommends that you create these kinds of conditions to allow the most
common parent-child product structures that users create.

The example also shows you how to change the conditions to resolve to false (expression 1=0) to
prevent these parent-child occurrence structures. This demonstrates how you can create a condition to
prevent one object type from being a child of another object type.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. In the Business Modeler IDE, create the following conditions.

Note:
In the following examples, O5_ is the naming prefix associated with the template. When you
create your own conditions, use the naming prefix associated with your template.

• O5_ItemItemRule
This condition allows users to add ItemRevision instances under other ItemRevision instances.

• O5_ItemGDERule

9-78 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Control parent-child product structures

This condition allows users to add GeneralDesignElement instances under ItemRevision


instances.

3. Create the verification rules.

a. On the menu bar, choose BMIDE→Editors→Verification Rules Editor.

b. Click the Add button in the Verification Rule tab and add verification rules as shown in the
following figure. These rules use the Fnd0OccurrenceConditionValidation Teamcenter
Component object, which assigns conditions to business object types for product structure
validation.

Note:
The context filter for the verification rule must be set to isTrue. If multiple conditions
are applied for the parent-child pair and at least one of them is matched, then it
resolves to true.

Business Modeler IDE PLM00071 11.2 9-79


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

4. To save your changes to the template, on the menu bar, choose BMIDE→Save Data Model. Then
choose BMIDE→Package Template Extensions to package the template. Finally, use Teamcenter
Environment Manager to install the packaged template to your server.

5. Verify the conditions.

a. Log on to the rich client and open Structure Manager.

b. To verify that you can add an item as a child under another item, create an item revision
under another item revision. Then choose Tools→Validate Occurrences. You should receive
the following message.

c. Create a GeneralDesignElement instance under an item revision and repeat the validation
step. It should also pass the occurrence validation.

Note:
To create GeneralDesignElement instances, choose File→New→Item Element. All
available item elements are children of the GeneralDesignElement business object
type, and therefore inherit the product structure conditions created for the
GeneralDesignElement business object.

6. In the Business Modeler IDE, change the expressions on the conditions to resolve to false.

• O5_ItemItemRule
Change the Expression to 1=0 so that it resolves to false.
Also change the Description to read:

9-80 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Control parent-child product structures

O5_ItemItemRule: You cannot make an ItemRevision


a child of another ItemRevision

This text is included in the error message when occurrence validation fails when an
ItemRevision instance is added under another ItemRevision instance.

• O5_ItemGDERule
Change the Expression to 1=0 so that it resolves to false.
Also change the Description to read:

O5_ItemGDERule: You cannot make a GeneralDesignElement


a child of an ItemRevision

This text is included in the error message when occurrence validation fails when a
GeneralDesignElement instance is added under an ItemRevision instance.

Business Modeler IDE PLM00071 11.2 9-81


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

7. Verify the conditions.

a. Log on to the rich client and open Structure Manager.

b. Create an item revision under another item revision, or select the structure you previously
created (of an item revision under another item revision), and choose Tools→Validate
Occurrences. You should receive an error message similar to the following:

The child object has failed the validation of the condition


"O5_ItemItemRule: You cannot make an ItemRevision a child of another
ItemRevision".
The occurrence condition validation has failed for the line
"000022/A;2-Another test item (View).

The condition description text is incorporated into the error message. This verifies that the
condition successfully prevents adding an item revision as a child of another item revision.

c. Attempt to make a product structure with a general design element under an item revision, or
select the structure you previously created. You receive an error message similar to the
following:

The child object has failed the validation of the condition


"O5_ItemGDERule: You cannot make a GeneralDesignElement a child of an
ItemRevision".
The occurrence condition validation has failed for the line "test gde".

Now that you know how to create parent-child conditions to allow or prohibit certain occurrence
structures, you can experiment on your own to create other conditions. This example is for illustration
purposes only. You should create conditions that fit your business needs.

9-82 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Control structures based on properties

Control structures based on properties

The following example shows how to create conditions that allow or prohibit an object instance to be
placed as a child under another object instance in a product structure based on an object’s properties.

In this example, an item revision can only be placed as a child of another item revision if the child
belongs to a specific project. First create a condition that resolves to true if the project_ids property
equals a specific property, and then create a parent-child condition that points to the first condition.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. In the Business Modeler IDE, create the following conditions.

Note:
In the following examples, O5_ is the naming prefix associated with the template. When you
create your own conditions, use the naming prefix associated with your template.

• O5_isPropertyValue
This condition stipulates that the project_ids property must equal a certain value, in this case,
MyProject.

• O5_ItemPropertyRule
This condition allows users to add ItemRevision instances under other ItemRevision instances
only if the O5_isPropertyValue condition resolves to true.

Business Modeler IDE PLM00071 11.2 9-83


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

3. Create the verification rule.

a. On the menu bar, choose BMIDE→Editors→Verification Rules Editor.

b. Click the Add button on the Verification Rule tab and add a verification rule for the
O5_ItemPropertyRule condition using the Fnd0OccurrenceConditionValidation
Teamcenter Component object. The Fnd0OccurrenceConditionValidation Teamcenter
Component object adds conditions to business object types for product structure validation.

Note:
The context filter for the verification rule must be set to isTrue. If multiple conditions
are applied for the parent-child pair and at least one of them is matched, it resolves to
true.

9-84 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Control structures based on properties

4. To save your changes to the template, on the menu bar, choose BMIDE→Save Data Model. Then
choose BMIDE→Package Template Extensions to package the template. Finally, use Teamcenter
Environment Manager to install the packaged template to your server.

5. Verify the conditions.

a. Log on to the rich client.

b. In the Project application, create a project named MyProject.

c. In My Teamcenter, right-click an item (not an item revision) and choose Project→Assign to


assign it to the MyProject project. The item revision under the item is automatically assigned
to this project.

Tip:
To verify that the project is set correctly, you can view the object’s Project IDs property.

d. In Structure Manager, paste the item revision with the MyProject project assignment as a
child under another item revision.
To verify the occurrence validation, select the structure and choose Tools→Validate
Occurrences. You receive the following message.

e. Right-click the child item revision (with the MyProject project assignment), and choose
Project→Remove to remove the MyProject assignment.

f. Select the product structure and choose Tools→Validate Occurrences. You receive an error
message similar to the following:

The child object has failed the validation of the condition


"O5_ItemPropertyRule: You can make an ItemRevision a child of
another
ItemRevision only if the project of the child equals
"MyProject"".
The occurrence condition validation has failed for the line
"000022/A;4-Another test item (View)".

This verifies that an object can only be added as a child in the product structure if one of its
properties has a specific value.
Now that you know how to create conditions to allow or prohibit certain occurrence
structures based on property values, you can experiment on your own to create other

Business Modeler IDE PLM00071 11.2 9-85


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

conditions. Remember that this example is for illustration purposes only. You should create
conditions that fit your business needs.

BOM line naming behavior

A BOM internally evaluates the BOM line name from the DisplayName business object constant on the
Item Revision business object. However, the lightweight BOM (LWB) functionality determines the BOM
line name from the object_string property of the Fnd0ItemLineLite business object as defined in the
Fnd0ItemLineLite_bl_line_name_expression preference. The default value of this preference is similar
to the naming convention used by regular BOM line.

The default value of the Fnd0ItemLineLite_bl_line_name_expression preference is as follows:

$bl_item_item_id+"/"+$bl_rev_item_revision_id+";"+$bl_rev_sequence_id+"-"+
$bl_rev_object_name

The lightweight BOM naming convention deviates from regular BOM only in cases of subtypes of
ItemRevision business objects that change their DisplayName business object constant expression.

In the following example of two lines in a structure (one with Item type and the second with Part type),
the DisplayName business object constant is changed on the PartRevision business object.

Item Type Structure RL


eW
gB
uB
lO
aM
rl
Bi
On
Me
ln
ia
nm
ee
n
a
m
e

Item ItemComp 00
00
00
00
BB
NN

9-86 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
BOM line naming behavior

Item Type Structure RL


eW
gB
uB
lO
aM
rl
Bi
On
Me
ln
ia
nm
ee
n
a
m
e

LL
33
44
//
AA
;;
11
--
NN
AA
MM
EE
((
VV
ii
ee
ww
))

The DisplayName business object constant for this line is:

$bl_item_item_id+"/"+$bl_rev_item_revision_id+";"+$bl_rev_sequence_id+"-"+
$bl_rev_object_name

Business Modeler IDE PLM00071 11.2 9-87


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Item Type Structure RL


eW
gB
uB
lO
aM
rl
Bi
On
Me
ln
ia
nm
ee
n
a
m
e

Part PartComp 00
00
00
00
BB
NN
LL
33
44
-/
NA
A;
M1
E-
(N
VA
iM
eE
w(
)V
i
e
w
)

The DisplayName business object constant for this line is changed from the default value to the
following:

9-88 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a compound property on a GDE line using the bl_line_object property

$bl_item_item_id+"-"+$bl_rev_object_name

Add a compound property on a GDE line using the bl_line_object property

Use the bl_line_object property instead of the bl_revision property to create a compound property to
display the underlying GDE object's property on the GDE line.

General design element (GDE) objects are nonrevisable objects. These objects can appear in Structure
Manager as GDE lines, just as items are seen in Structure Manager as item lines. In Structure Manager
terminology, both GDE lines and item lines are BOM lines. Currently, Structure Manager can display
properties of these BOM lines. Some of these properties are specific to item lines and others to GDE
lines, while some are common to both GDE lines and item lines.

BOM line properties that are specific to item lines are not be applicable for GDE lines. For example, some
item revision-specific BOM line properties are specifically applicable only to item lines and are not
applicable to GDE lines. Some of these have revision property-specific text in their names, and because
GDEs are nonrevisable objects, these are to be used only for item lines.

Following are some examples of properties not applicable for GDE lines:

bl_revision
bl_revision_change
bl_sequence_no
bl_config_string

Subscriptions

Configure subscription conditions using the Business Modeler IDE

You can use the Business Modeler IDE to create conditions that can be used when creating
subscriptions.

1. Create a condition in the Business Modeler IDE to be used for subscriptions. The condition
signature must contain a workspace object and UserSession object. The condition appears in the
subscription creation dialog box in the client user interface if it is valid for the selected object for
which the subscription is being created.

2. Choose BMIDE→Save Data Model to save your changes to the template. Then choose
BMIDE→Package Template Extensions to package the template. Finally, use Teamcenter
Environment Manager to install the packaged template to your server.

3. View where the new subscription condition appears in the rich client:

a. In My Teamcenter, select an object for which you want to create a subscription and choose
Tools→Subscribe on the menu bar, or right-click the object and choose Subscribe on the
context menu.

Business Modeler IDE PLM00071 11.2 9-89


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

b. Select Create Subscription for Object Class and click Next.

c. Select the event type and click Next.

d. Click the Condition button.


All the valid conditions are displayed. Conditions are filtered for the type of selected target
object. When you create a condition in the Business Modeler IDE to be used in subscriptions, it
appears in this dialog box if the condition contains UserSession object and a valid workspace
object in the signature.

9-90 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure Supplier Relationship Management using the Business Modeler IDE

Supplier Relationship Management

Configure Supplier Relationship Management using the Business Modeler


IDE

Use the Business Modeler IDE to create custom objects used by Supplier Relationship Management
(SRM). Supplier Relationship Management is also known as Teamcenter Sourcing.

Note:
Before working with Supplier Relationship Management objects, you must install the following
templates to your project:

• SRM Integration (srmintegration_template.zip file)

• Vendor Management (vendormanagement_template.zip file)

• SRM Connect (srmconnect_template.zip, available for installation from the Supplier


Relationship Management installation files)

Configure lists of values (LOVs) for Supplier Relationship Management

You can use Data Exchange and Bid Package Exchange to send design and bid package data to Supplier
Relationship Management. To prepare for this exchange, you must create properties and accompanying
lists of values (LOVs) that contain the partition and template names in the bid packages.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. Ensure that you have installed the following templates to your project:

• SRM Integration (srmintegration_template.zip file)

• Vendor Management (vendormanagement_template.zip file)

• SRM Connect (srmconnect_template.zip, available for installation from the Supplier


Relationship Management installation files)

3. Create partition, template, and event name properties on the BidPackageRevision business object.

a. Open the BidPackageRevision business object and click the Properties tab.

b. Create a partition property. For this example, create a project-prefixPartition property with
the RFx Partition display name.

Business Modeler IDE PLM00071 11.2 9-91


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

c. Create a template property. For this example, create a project-prefixRFxTemplate property


with the RFx Template display name.

d. Create an event name property. For this example, create a project-prefixRFxEventName


property with the RFx Event Name display name.

4. Create the partition and template LOVs and use them to create a cascading LOV.

a. Create an LOV that holds the names of the partitions.


For example, create an LOV named project-prefixPartition and add a value for each partition.
For this example, the values are Acme and General Pinnacle. The name of the LOV values
(not the display name) must match the name of the RFx partitions.

b. Create an LOV for each partition that holds the names of the available templates for that
partition.
For example, create a project-prefixAcmeTemplates and project-
prefixGeneralPinnacleTemplates and add template values to each.

c. Open the project-prefixPartition LOV and select the Show Cascading View check box.

d. For each partition LOV value, add the corresponding template LOV.
For example, add the project-prefixAcmeTemplates LOV as a sub-LOV to the Acme value, and
add the project-prefixGeneralPinnacleTemplates LOV as a sub-LOV to the General Pinnacle
value.

9-92 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure lists of values (LOVs) for Supplier Relationship Management

5. Attach the partition LOV to the partition property.


When the end user selects the RFx Partition property in the user interface, a list of partitions
appears.

a. Open the project-prefixPartition LOV.

b. Scroll down to the Using the LOV Attachments table and click the Attach button.

c. Attach the project-prefixPartition LOV to the project-prefixPartition property on the


BidPackageRevision business object.

Business Modeler IDE PLM00071 11.2 9-93


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

6. Create an interdependent LOV.


When the end user selects a partition on the RFx Partition property box, the RFx Template box
only shows the templates for the selected partition.

a. With the project-prefixPartition LOV still open and displaying the Using the LOV
Attachments table, click the Edit button.

b. In the Interdependent LOV dialog box, select the project-prefixPartition property and click
the Attach button.

c. Attach the project-prefixRFxTemplate property to the project-prefixPartition property

d. Click Finish.

9-94 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure lists of values (LOVs) for Supplier Relationship Management

7. Verify the new LOVs work correctly in the end-user interface.

a. Package the project and install the resulting template to the server.

Note:
The server must have the Vendor Management and SRM Integration applications
installed.

b. Log on to the rich client.

c. Choose File→New→Vendor Management→Bid Package and create the bid package.

d. Right-click the bid package revision, choose Edit Properties, and check out the bid package
revision.

e. To see all the properties on the bid package revision object, click the All link at the bottom of
the dialog box, scroll down to the bottom of the dialog box, and select Show empty
properties.

f. Scroll to the RFx Partition and RFx Template properties.

g. Click the box in the RFx Partition box and choose the partition and the template. Note that
after you choose the partition, you are prompted to select the template. This is as a result of
the interdependent LOV configuration.

Business Modeler IDE PLM00071 11.2 9-95


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

h. Now that the partition and template information is available using the new properties and
LOVs, you are ready to use Data Exchange to transfer data to Supplier Relationship
Management.

Systems Engineering

Configure Systems Engineering using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the Systems Engineering application.

Note:
Before working with Systems Engineering objects, you must install the Systems Engineering
template (systemsengineering_template.xml file) to your project.

Add an application domain for diagrams

In Systems Engineering, a diagram is a graphical representation of a system. You can create diagrams in
Systems Engineering by right-clicking an object and choosing Create Diagram. When you create a
diagram, select the Teamcenter application you want the diagram to be opened in by clicking in the
Application Domain box.

9-96 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an application domain for diagrams

Using the Business Modeler IDE, you can add an application domain to the list of available domains
using the Fnd0TcApplication list of values. Then you can specify the default perspective to use for that
application domain using the NE_diagram_domains_for_perspectives preference.

The following example adds an application domain for the Systems Engineering application.

Note:
This functionality is confined to defining and using a new domain in the Systems Engineering
application.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. Open the Extensions\LOV folders and open the Fnd0TcApplication list of values.

3. Click the Add button to the right of the values list and add a diagram domain, for example,
MyDiagramDomain.

Business Modeler IDE PLM00071 11.2 9-97


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

4. Choose BMIDE→Save Data Model to save your changes to the template. Then choose
BMIDE→Package Template Extensions to package the template. Finally, use Teamcenter
Environment Manager to install the packaged template to your server.

5. Open the NE_diagram_domains_for_perspectives preference and add the following value:

MyDiagramDomain:com.teamcenter.rac.se.ui.SystemsEngineeringPerspectiv
e

This maps the MyDiagramDomain value entered on the LOV to the Teamcenter application
perspective you want the diagram to be opened in, which is Systems Engineering.

9-98 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add an application domain for diagrams

6. In Systems Engineering, right-click an object, choose Create Diagram, and click in the Application
Domain box.
The MyDiagramDomain value you entered to the LOV appears in the menu.

7. After creating a diagram with the new application domain selected, when you open the diagram
later, it opens in the perspective defined in the NE_diagram_domains_for_perspectives
preference.

Business Modeler IDE PLM00071 11.2 9-99


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Creating an icon for use in the Systems Engineering and Requirements


Management BOM view

You can use the Fnd0Icon business object constant to assign an icon to a business object type and to
change the icon based on the state of the property.

Perform the following sample steps in the Business Modeler IDE to set the icon property rendering for
use in the Systems Engineering and Requirements Management BOM view. In this example, add a
b4_RiskPriority property (display name Risk Priority) on the revision business object. Attach a
RiskPriorityLOV list of values to the property that has the High, Medium, and Low values. The icon
changes based on the property selection.

1. Import the icons to use (for example, B4_Normal.png, B4_Low.png, B4_Medium.png,


B4_High.png).

2. Create the B4_RiskReq business object as a child of the Requirement business object.

3. Add the b4_RiskPriority property to the B4_RiskReqRevision business object type.

Note:
The property should be string only.

4. Create the B4_PriorityRiskLOV LOV with the Low, Medium, and High values and attach it to the
b4_RiskPriority property.

5. Attach the Fnd0Icon business object constant to the B4_Normal.png icon on the
B4_RiskReqRevision business object.

6. Create a property renderer called B4_RiskPR.

7. Add the following render definition:

<?xml version="1.0" encoding="UTF-8"?>


<icons Version="1.0">
<propertyMap name="PriorityRiskMap">
<item key="High" value="B4_High.png"/>
<item key="Medium" value="B4_Medium.png"/>
<item key="Low" value="B4_Low.png" />
</propertyMap>
<primaryIcon source="B4_Normal.png"/>
<overlayIcon source="b4_RiskPriority"
mapName="PriorityRiskMap" />
</icons>

9-100 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure Teamcenter EDA using the Business Modeler IDE

8. In the Property Renderer Attachments box, attach the business-object.object_string, in this case,
B4_RiskReqRevision.object_string.

9. Create a compound property pointing to the B4_RiskReqRevision.b4_RiskPriority property called


RiskPriorityBOM on the Fnd0RequirementBOMLine business object.

10. Save and deploy.

11. Perform the following in Teamcenter:

a. Add the B4_RiskReq business object to the TcAllowedChildTypes_RequirementSpec


preference.

b. Create a requirement specification and add three B4_RiskReq requirements.

c. Add the RiskPriorityBOM property to the requirement BOM view.

Teamcenter EDA

Configure Teamcenter EDA using the Business Modeler IDE

Teamcenter EDA integrates Teamcenter with electronic CAD applications that are used to design
electronic components, such as circuit boards.

Note:
Before working with Teamcenter EDA objects in the Business Modeler IDE, you must install the
EDA features in Teamcenter Environment Manager (TEM). From the Features panel, choose
Extensions→Mechatronics Process Management→EDA for Business Modeler IDE.
You must also install the EDA Server Support template (edaserver_template.zip file) to your
project.

Working with derived data

Use the Extensions\EDA Derived Data folder in the Business Modeler IDE to create derived data
configurations used by the Teamcenter EDA application.

Note:
Before you can configure derived data in the Business Modeler IDE, you must install the EDA for
Business Modeler IDE feature and the EDA Server Support feature to the server. You must also
install the EDA Server Support template to the Business Modeler IDE.

Designers use ECAD (electronic CAD) applications to create electronic parts such as circuit boards. The
managing of ECAD designs is known in the industry as electronic design automation (EDA). The

Business Modeler IDE PLM00071 11.2 9-101


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Teamcenter EDA application integrates Teamcenter with ECAD applications such as Mentor Graphics and
Cadence.

Derived data contains information that is derived from an ECAD design, and comprises derived items
and datasets. Derived items represent parts, subassemblies, and tools. Derived datasets manage data
files created by ECAD applications.

Administrators can configure how the derived data is created in Teamcenter EDA by using the EDA
Derived Data folder in the Business Modeler IDE and providing the name of the configuration in the
EDA_DerivedDataConfigDefault preference. After configurations are created, users in Teamcenter EDA
can create derived data by selecting the Save Derived Data menu command or by selecting the
Generate Derived Data check box in the Save As, Save, or Check In dialog box. For example, a
configuration can specify that when a schematic design is saved in Teamcenter EDA, a schematic
drawing can be automatically generated from the schematic design, and saved along with the schematic
item.

EDA business objects define the different types of derived data you can generate. To locate EDA business
objects, use the Find button in the BMIDE view to search for all business objects containing the EDA
string.

Note:
To see all the EDA data model, you must install the EDA Server Support template to the Business
Modeler IDE.

The following item types are children of the EDA business object:

• EDACCABase
Represents the common electrical CAD (ECAD) design data that is shared between variant circuit card
assemblies (CCAs). It is used only for multiple CCA representations.

• EDAComp
Represents electrical components contained in the CCA bill of materials (BOM).

• EDASchem
Represents the electrical schematic item.

The following relationships are children of the ImanRelation business object:

• EDAHasDerivedDataset
Identifies the associated dataset as a derived dataset.

• EDAHasDerivedItem
Identifies the associated item as a derived item.

9-102 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an EDA derived data configuration

Create an EDA derived data configuration

Administrators can configure how derived data is created in Teamcenter EDA by using the EDA Derived
Data folder in the Business Modeler IDE. After configuration, an administrator provides the name of the
configuration in the EDA_DerivedDataConfigDefault preference.

1. Set up the Business Modeler IDE.

a. Ensure that you have installed the EDA for Business Modeler IDE feature and the EDA Server
Support template to the Business Modeler IDE.

2. In the Extensions folder, right-click EDA Derived Data and choose New EDA Derived Data.

The New EDA Derived Data wizard runs.

3. In the EDA Derived Data dialog box, enter the following information:

a. In the Name box, type the name you want to assign to the new derived data configuration.
This is the name used in the EDA_DerivedDataConfigDefault preference.

b. In the Description box, type a description for the new configuration.

c. Click Next.

The next dialog box in the wizard is displayed.

Business Modeler IDE PLM00071 11.2 9-103


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

4. In the EDA Derived Data Configuration dialog box, set up how all EDA item and dataset types are
to be handled for all contexts.

a. Click the Add button to the right of the Configure Items table.

The Add/Edit EDA Derived Item Configuration dialog box is displayed.

Use this dialog box to configure the derived items to be generated. For example, create
separate rows for contexts such as schematic, PCB, simulation, and so on, including variations

9-104 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an EDA derived data configuration

based on the what the parent is, such as Schematic, CCA, and CCAVariant. In this way, you
set up how derived data is generated for all combinations of items.

In the Add/Edit EDA Derived Item Configuration dialog box, enter the following
information:

A. In the Name box, type the name that you want to assign to the derived item
configuration. The value in this box is displayed to the user on the Teamcenter EDA
Derived Item dialog box during save operations.

B. Click the Browse button to the right of the Context box to select the Teamcenter EDA
application contexts that support generation of this derived dataset. (In other words,
when users in Teamcenter EDA save derived data for the following specified data type,
derived items are generated according to this configuration.)

• all
All types (printed circuit boards, schematic diagrams, and simulations).

• pcb
Printed circuit boards.

• pcb/simulation
Printed circuit boards or simulations.

• schematic
Schematic diagrams.

• schematic/pcb
Schematic diagrams or printed circuit boards.

• schematic/simulation
Schematic diagrams or simulations.

• simulation
Simulations.

C. (Optional) In the Prefix box, type a file name string to be attached to the beginning of
the parent item ID to distinguish it as being generated by this configuration.

The resulting string, including the prefix and postfix, is used in the derived item user
interface in Teamcenter EDA as initial values for the Derived Item ID box and Name box
and can be overridden by the user.

D. (Optional) In the Postfix box, type a file name string to be attached to the end of the
item ID to distinguish it as being generated by this configuration.

Business Modeler IDE PLM00071 11.2 9-105


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

The resulting string, including the prefix and postfix, is used in the derived item user
interface in Teamcenter EDA as initial values for the Derived Item ID box and Name box,
and can be overridden by the user.

E. Click the Browse button to the right of the EDA Parent box to select the derived parent
EDA business object to which the derived item is related. (Teamcenter EDA does not
support attaching derived items under other derived items.)

• CCA
Represents a circuit card assembly (CCA).

• CCABase
Represents the common design data that is shared between variant circuit card
assemblies (CCAs). It is used only for multiple CCA representations.

• CCAVariant
Represents the variant design data for a circuit card assembly (CCA). This is the data
that is used on top of the CCABase business object.

• PWB
Represents a printed wire board (PWB). A PWB is the product of a schematic design
and printed circuit board (PCB) layout design and holds various printed wire board
production data created by those designs.

• Schematic
Represents the electrical schematic item.

F. Click the Browse button to the right of the Relation box to select the relationship
between the derived item and the parent item revision.

The EDAHasDerivedItem business object and its children are displayed in the selection
dialog box.

G. Click the Browse button to the right of the Item Business Object box to select the
business object type name for the derived item, for example, EDA.

H. Select the Add to Bom check box to add the derived item to the bill of materials of the
Teamcenter EDA parent. This check box is disabled if the Teamcenter EDA parent is
schematic or PWB.

I. Click Finish.

The derived item configuration is added to the Configure Items table.

b. Click the Add button to the right of the Configure Dataset table.

The Add/Edit EDA Derived Dataset Configuration dialog box is displayed.

9-106 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an EDA derived data configuration

Use this dialog box to configure the derived datasets to be generated. For example, create
separate rows for contexts such as schematic, PCB, simulation, and so on, including variations
based on the what the parent is, such as Schematic, CCA, and CCAVariant. In this way, you
set up how derived data is generated for all combinations of datasets.

In the Add/Edit EDA Derived Dataset Configuration dialog box, enter the following
information:

A. In the Name box, type the name you want to assign to the derived dataset
configuration.

The value in this box is displayed to the user on the Teamcenter EDA Derived Dataset
dialog box during save operations.

B. Click the Browse button to the right of the Context box to select the Teamcenter EDA
application contexts that support generation of this derived dataset. (In other words,
when users in Teamcenter EDA save derived data for the following specified data types,
derived datasets are generated according to the configuration.)

• all
All types (printed circuit boards, schematic diagrams, and simulations).

• pcb
Printed circuit boards.

• pcb/simulation
Printed circuit boards or simulations.

• schematic

Business Modeler IDE PLM00071 11.2 9-107


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Schematic diagrams.

• schematic/pcb
Schematic diagrams or printed circuit boards.

• schematic/simulation
Schematic diagrams or simulations.

• simulation
Simulations.

C. (Optional) In the Prefix box, type a file name string to be attached to the beginning of
the parent item ID to distinguish it as being generated by this configuration.

The resulting string, including the configured prefix and postfix, is used in the derived
dataset user interface in Teamcenter EDA as the initial value for the Dataset Name box
and can be overridden by the user.

D. (Optional) In the Postfix box, type a file name string to be attached to the end of the
parent item ID to distinguish it as being generated by this configuration.

The resulting string, including the configured prefix and postfix, is used in the derived
dataset user interface in Teamcenter EDA as the initial value for the Dataset Name box
and can be overridden by the user.

E. Click the Browse button to the right of the EDA Parent box to select the derived item
type to which the derived dataset will be related. In addition to the following item types,
the list also includes item configurations you already created.

• CCA
Represents a circuit card assembly (CCA).

• CCABase
Represents the common electrical CAD (ECAD) design data that is shared between
variant circuit card assemblies. It is used only for multiple CCA representations.

• CCAVariant
Represents the variant design data for a circuit card assembly (CCA). This is the data
that is used on top of the CCABase business object.

• PWB
Represents a printed wire board (PWB). A PWB is the product of a schematic design
and printed circuit board (PCB) layout design and holds various printed wire board
production data created by those designs.

• Schematic
Represents the electrical schematic item.

9-108 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an EDA derived data configuration

F. Click the Browse button to the right of the Relation box to select the relationship
between the derived dataset and the parent item revision.

The EDAHasDerivedDataset business object and its children are displayed in the
selection dialog box.

G. Click the Browse button to the right of the Dataset Business Object box to select the
parent dataset business object type in Teamcenter to represent the derived item, for
example, PDF.

H. Click the Browse button to the right of the Dataset Reference box to select the kind of
file reference to use for the derived dataset.

If the derived data instance comprises more than one file, this field must either be
specified as a ZIPFILE type or must be specified using a separate derived dataset
configuration entry with the same derived data name.

I. In the Pathname box, type the path where the derived dataset is to be saved on the
user's machine.

Path names are evaluated at run time and must be the fully qualified path of the dataset
that is to be saved. Path names can be explicitly specified (for example, D:\EDA\Datasets
\readme.txt) or formed using the variables or filename filters in the following table.
Derived datasets can contain multiple files. Path names are case-sensitive and the
directory delimiters of / or \ are used interchangeably.

Several variables are available to be used in path names. This permits the sharing of
configurations between users and workstations. This table provides the available
variables, with descriptions and examples of each.

Variable Description

$STAGE EDA configured staging directory with full path formatted as drive:\EDA
\Staging\OS-user-name\tc-user-ID_teamcenter-site-ID\
ECAD-family, for example, D:\EDA\Staging\joeb\joe_533845652\zuken.
The staging location supports multiple users on a single client machine
and multiple Teamcenter installations for each user.

$TEMP User system temporary directory with full path, for example, C:\Temp

$DESIGN Current application design directory with full path formatted as drive:\EDA
\Staging\OS-user-name\tc-user-ID_teamcenter-site-ID\
ECAD-family, for example, D:\EDA\Staging\joeb\joe_533845652\
zuken\latest\A5E00444333-01\bd

Business Modeler IDE PLM00071 11.2 9-109


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Variable Description

$APPNAME Current running application name, for example, zukenSchematic

$FAMNAME Current running family name, for example, zuken

$USER User name of the logged-on user, for example, jsmith

$ITEMID Item ID of the current design, for example, 008723

$VARIANT Variant name, for example, A5E01601836

The following table provides a list of the file name filters that can be used in the path
name. The filters are listed, along with a description and example of each.

Filter Description

{} Substitution groups, for example, $STAGE\SchDrw\*.


{dwg,dxf,pdf}. All files with these extensions are selected.

[] Character substitutions, for example, D:\EDA\Help[345].pdf. (If


they exist, Help3.pdf, Help4.pdf, and Help5.pdf are selected.)
You can also set a range, for example, D:\EDA\Help[P-R].pdf. (If
they exist, HelpP.pdf, HelpQ.pdf, and HelpR.pdf are selected.)

? Single-character wildcard that denotes only one character, for


example, D:\EDA\Help?.pdf. (Any file with a single character
occurring between Help and .pdf is selected, such as Help5.pdf.)

* Wildcard that denotes zero or more characters. This refers to any


single file or directory regardless of extension, or the presence of
an extension. For example, $DESIGN\* means that all files are
selected, and $DESIGN\ means that all files are selected.

. File extension character. *.* denotes any file with an extension.


The extension must be present. For example, $DESIGN\*.* means
that all files are selected, and $DESIGN\*.txt means that all txt files
are selected.

** Indicates that the entire contents of the specified directory are to


be saved as a ZIP file. All files and subdirectories are included. If you
use this filter, the value of the Dataset Reference box must be

9-110 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create an EDA derived data configuration

Filter Description

ZIPFILE. The path name is specified as a fully qualified directory


path ending with the filename filter value **. Each directory of the
path must be an existing directory, and no wildcards are allowed.
Variables such as $DESIGN are supported. Following are some
examples:

C:\dir1\dir2\dir3\mfgData\**

$DESIGN/mfgData/**

Multiple files in a derived dataset must follow certain rules:

• Multiple fully qualified files can be saved to any derived dataset using semicolons, for
example, $STAGE\Board.pdf; $DESIGN\Board.dwg; C:\Temp\Logfile.txt. The
following is not permitted: $STAGE\*.pdf; $STAGE\Logfile.txt.

• Derived datasets that are configured with a ZIPFILE Dataset Reference can contain
multiple files, selected using the filters in the table above. Files must be in a common
directory, or in subdirectories of a common directory. You can specify only one path
for a ZIPFILE, that is, you cannot use semicolons:

$STAGE\*.pdf
$STAGE\Board.pdf
D:\EDA\Help[345].pdf

However, this is not permitted:

$STAGE\*.pdf; $DESIGN\*.txt

J. (Optional) In the Callback Name box, type the EDA callback name to execute.

This name is used to identify the configured callback in the EDA configuration file to
determine what script to execute. The script is responsible for creating or placing the
corresponding derived files to be uploaded as specified by the configured source path
name.

K. Click Finish.

The derived dataset configuration is added to the Configure Dataset table.

c. Click Finish.

The derived data configuration is added under the EDA Derived Data folder.

Business Modeler IDE PLM00071 11.2 9-111


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

5. To save the changes to the data model, choose BMIDE→Save Data Model, or click the Save Data
Model button on the main toolbar.

6. Deploy your changes to the test server. Choose BMIDE→Deploy Template on the menu bar, or
select the project and click the Deploy Template button on the main toolbar.

7. In the rich client, set the EDA_DerivedDataConfigDefault preference to point to the EDA derived
data configuration you just created. Choose Edit→Options, click the Search link at the bottom of
the Options dialog box, locate the EDA_DerivedDataConfigDefault preference, and change its
value to the new configuration.

There may be multiple configurations created in the Business Modeler IDE, but an administrator
can point to only one of them through this preference.

8. After deployment, test your new configuration in Teamcenter EDA.

For example, in your ECAD design tool such as Mentor Graphics or Cadence, choose
Teamcenter→Save Derived Data. (You can also select the Generate Derived Data check box in
the Save As, Save, or Check In dialog box.)

To verify that the derived data is generated, in Teamcenter, expand the item that contains the
derived data (for example, a CCA item). The derived dataset entries appear as you expand the tree
structure. To see the contents of the derived dataset, right-click the dataset and choose Named
References. A dialog box appears that shows the files that are contained in the derived dataset.

Validation Manager

Configure Validation Manager using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the Validation Manager application.
Validation Manager objects are provided by the Foundation template. No additional templates are
needed.

You can add new business objects that provide extended properties and specialized behaviors in support
of the associated validation agent. The NXCheckMate and NXCMValData business objects support
Validation Manager interaction with the Check-Mate application in NX Integration. The NXRDDV and
NXRDDVValData business objects support the Validation Manager interaction with the Requirement-
Driven Design Validation application in NX Integration.

Validation Manager business objects

You can create children of the following Validation Manager business objects:

• NXCheckMate

9-112 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Validation Manager properties

Represents the NX Check-Mate agent object and is a child of the Item business object. There is only
one instance of the NXCheckMate business object allowed in the database.

• NXCheckMateRevision
Represents the NX Check-Mate agent revision object and is a child of the ItemRevision business
object. There is only one instance of the NXCheckMateRevision business object allowed in the
database

• NXCMValData
Represents the NX Check-Mate checker objects and is a child of the Item business object.

• NXCMValDataRevision
Represents a unique checker object in the system and is a subclass of the ItemRevision business
object.

• NXRDDV
Represents the NX RDDV agent object and is a subclass of the Item business object. There is only one
instance of the NXRDDV business object allowed in the database.

• NXRDDVRevision
Represents the NX RDDV agent revision object and is a child of the ItemRevision business object.
There is only one NXRDDVRevision business object allowed in the database.

• NXRDDVValData
Represents the NX RDDV checker objects and is a child of the Item business object.

• NXRDDVValDataRevision
Represents a unique checker object in the system and is a child of the ItemRevision business object.

• TC_validation_data
Relates an NXCheckMateRevision object to an NXCMValData object. All NXCMValData objects that
are linked from an NXCheckMateRevision object with this relation represent the available NX Check-
Mate checker objects in the system.

• TC_validation_tool
Relates an NXCheckMateRevision object to a Tool object. The Tool object contains necessary data for
the system to invoke the defined validation utility for a validation agent revision.

• ValidationResult
Represents a validation result.

Validation Manager properties

The following properties are available on Validation Manager business objects:

• allow_override_results

Business Modeler IDE PLM00071 11.2 9-113


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Indicates if the execution of the associated NXCMValDataRevision or NXRDDVRevision objects are


skipped for overridden results of an agent revision.

• is_client_utility
Indicates if the validation utility defined by a Tool business object is invoked from the client machine.
This is a logical property of the NXCheckMate and NXRDDV business objects.

• is_mandatory
Indicates if an NXCMValDataRevision or NXRDDVValDataRevision object is a mandatory checker.

• override_reason_mandatory
Indicates if an override reason is required when a result override request is initiated. This is a logical
property of the NXCheckMateRevision and NXRDDVRevision business objects.

• valdata_name
Defines a unique name of an NXCMValData object within the NXCheckMate agent. This string
property is on the NXCheckMateValData and NXRDDVValData business objects.

• validation_arguments
Stores the command line arguments when the validation utility defined by a Tool business object is
invoked.

• validation_category
Describes the category of a checker. This is a string property on the NXCMValDataRevision business
object.

• validation_closure_rule
Points to a ClosureRule object in the system. The closure rule object is used to find validation target
objects.

• validation_parameters
Points to a ValidationParams object. This is a tag reference property on the NXCMValDataRevision
business object.

Wiring Harness Design Tools Integration

Configure Wiring Harness Design Tools Integration using the Business


Modeler IDE

Use the Business Modeler IDE to create custom objects used by the Wiring Harness Design Tools
Integration application.

9-114 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Configure Workflow Designer using the Business Modeler IDE

Note:
Before working with Wiring Harness Design Tools Integration objects, you must install the Wire
Harness Configuration templates (hrn_template.zip file) to your project:

You can create the following business objects:

Connection
Functionality
Interface
Network
ProcessVariable
PSSignal
Signal
TC_LINK

Workflow Designer

Configure Workflow Designer using the Business Modeler IDE

Use the Business Modeler IDE to create custom objects used by the Workflow Designer application.
Workflow Designer objects are provided by the Foundation template. No additional templates are
needed.

You can use the also Business Modeler IDE to create dynamic participants and to register custom
workflow handlers.

Note:
Workflow handlers such as EPM-set-property cannot recognize run-time or compound properties.
These handlers only set properties that have a persistent attribute on some object, and they
cannot influence the setting of run-time or compound properties.

Create dynamic participants

Dynamic participants are users who are dynamically assigned tasks in workflows based on their roles.
These dynamic participants are children of the Participant business object, and for change
management can include Analyst, ChangeSpecialist1, and Requestor, among others.

You can create new participant business object types to represent participants in the Workflow process.

After you create a new participant type, assign keywords to the participant to ensure that it is assigned
to the correct workflows. State the keyword using the ParticipantHandlerKeyword business object
constant. The assignment Workflow handlers dynamically pick up the keywords to designate that people
assigned to that new participant type are to be assigned to the task or signoff.

Business Modeler IDE PLM00071 11.2 9-115


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. In the Business Objects folder, search for the Participant business object.

3. Create a child of the Participant business object by right-clicking the business object and choosing
New Business Object.

4. Perform the following steps to assign handler keywords to the new participant business object
type:

a. Open the new business object type.

b. On the Main tab in the Business Object Constants table, select the
ParticipantHandlerKeyword business object constant.

c. Click the Edit button to the right of the Business Object Constants table.

d. In the Business Object Constant dialog box, type the handler keywords to use for this
participant. For example, type $USER, $GROUP, or $ROLE

e. Use the ParticipantUsedOnObjectTypes business object constant to define the item revision
business object types that the participant can be used be used with, and use the
ParticipantAllowMultipleAssignee business object constant to allow the participant to be
one of multiple assignees.

9-116 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Register custom workflow handlers

Note:
You can set the WRKFLW_task_assignee_dynamic_participant_sync preference to
true to automatically assign the dynamic participant on the change when a user
reassigns a task.
For example, if User 1, the change analyst, forwards a task to User 2, the change analyst
role is reassigned to User 2. In the same way, if User 1 forwards tasks to User 2 while
User 1 is out of the office, all incoming tasks are assigned to User 2 during that time.
The change analyst role is reassigned to User 2 in all the changes associated with the
task.

Register custom workflow handlers

You can register custom workflow action and rule handlers in the Business Modeler IDE. After
registration, the shared library is loaded at logon and the handlers are available in Workflow Designer.

To register the custom handlers, create a custom extension rule and execute it as a base action on the
BMF_SESSION_register_epm_handlers operation on the Session business object. Then call your
custom workflow handlers in the code used by the extension.

1. If you have not already done so, create a custom template project to hold your data model
changes.

2. Create a library to hold the custom workflow handlers. Open the Extensions\Code Generation
folders, right-click the Libraries folder, and click the New Library button.

3. Create the custom extension rule.

a. Open the Extensions\Rules folders, right-click the Extensions folder, and choose New
Extension Definition.
The New Extension Definition wizard runs.

Business Modeler IDE PLM00071 11.2 9-117


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

b. In the Extension dialog box, type the name of your custom extension in the Name box and
click the Add button to the right of the Availability table.

Note:
Choose whatever name you want for your custom extension. It is preceded by your
project’s naming prefix, for example, Z8_ as shown in the following example.

c. In the Extension availability dialog box, perform the following steps:

A. Click the Browse button to the right of the Business Object Name box and select the
Session business object.

B. Click the Browse button to the right of the Operation Name box and select the
BMF_SESSION_register_epm_handlers operation.

C. Click the arrow in the Extension Point box and select BaseAction.

D. Click Finish.

9-118 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Register custom workflow handlers

d. Notice that the extension is made available on the BMF_SESSION_register_epm_handlers


operation on the Session business object.
Click Finish.

4. Add your custom extension as a base action on the BMF_SESSION_register_epm_handlers


operation.

Business Modeler IDE PLM00071 11.2 9-119


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

a. Open the Session business object and click the Operations tab.

b. Select the BMF_SESSION_register_epm_handlers operation.

c. In the Extension Attachments tab, click the Add button to the right of the table.

d. Click the Browse button to the right of the Extension box and select the custom extension
you created earlier.

9-120 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Register custom workflow handlers

e. Click Finish.
The custom extension is added as a base action on the
BMF_SESSION_register_epm_handlers operation.

f. To save your changes to the template, on the menu bar, choose BMIDE→Save Data Model.

5. Write the code that takes place in Teamcenter when the extension is called. This code registers the
workflow action handler and rule handler.

a. Ensure that your project is set up for coding so you can generate extension code.

b. Open the Advanced perspective by choosing Window→Open


Perspective→Other→Advanced.

c. In the Extensions view of the Advanced perspective, under the Rules\Extensions folders,
right-click the new extension you created and choose Generate extension code.
The extension boilerplate code is generated into an extension-name.c C++ file and an
extension-name.h header file. To see these files, open the project in the Navigator view and
browse to the src\server\library directory.

Note:
You may need to right-click in the view and choose Refresh to see the files that were
generated.

Business Modeler IDE PLM00071 11.2 9-121


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

d. Write your extension code in the new extension-name.c and extension-name.h files. You can
use the standard methods of writing code for Teamcenter.
Place the following into the code to register your custom workflow handlers:

int Z8_register_epm_handlers( METHOD_message_t *msg, va_list args )


{
EPM_register_action_handler("Z8-custom-action-handler",
"This is a custom action handler", Z8_customActionHandler);
EPM_register_rule_handler("Z8-custom-rule-handler",
"This is a custom rule handler", Z8_customRuleHandler);

return ifail;
}

When you follow this example, replace the text in bold with the names of your own extension
and handlers.

e. Build your libraries.

6. Package the template and use Teamcenter Environment Manager to install the packaged
template to your server.

7. Log on to Teamcenter.
The registration runs at Teamcenter logon because the registration operation is set as a base action
on the Session business object. After registration, the shared library is loaded at logon and the
handlers are available in Workflow Designer.

Use the EPM user exit to customize the Workflow template filter

You can use the EPM user exit in the Business Modeler IDE to set a filter for Workflow templates based
on the group name and the object type of the target object.

Note:
You can also use the Eclipse-based applyTemplateFilter extension point to customize the
Workflow template filter.

Before showing you the sample customization using the EPM user exit, following is a review of the
normal process to filter Workflow templates:

1. In Workflow Designer, choose Edit→Template Filter.

2. In the Process Template Filter dialog box, select a group in the Group Name box (for example
Engineering), type in the Object Type box (for example, ItemRevision) and move templates from
the Defined Process Template list on the right to the Assigned Process Template list on the left.
Click Apply.

9-122 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Use the EPM user exit to customize the Workflow template filter

The following figure shows how Workflow templates are assigned to the Engineering group for
ItemRevision objects. Only these templates are available for use with that object type with the
specified group.

3. Click OK.

4. To test the template assignment, log on to My Teamcenter as a member of the Engineering group,
select an object type for which you created a filter (for example, an item revision), and choose
File→New→Workflow Process.

5. In the New Process Dialog dialog box, click the Assigned button.
The filtered templates you previously chose for that object type and group name are displayed in
the Process Template box list. If multiple objects of different types are attached as target, the
Assigned list shows templates for each object type used as target.

Business Modeler IDE PLM00071 11.2 9-123


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

You can use the EPM user exit to customize this filter by creating an extension and making the user exit
available on the extension.

1. In the Business Modeler IDE, locate the User Exits folder under the Extensions folder. Open the
EPM user exit and note the BMF_EPMTaskTemplate_get_filtered_templates operation.

2. Ensure that you have created a custom library. (To create a custom library, open the Code
Generation folder, right-click the Libraries folder, and choose New Library.)

3. Create an extension by opening the Rules folder, right-clicking the Extensions folder, and choosing
New Extension Definition. Give the extension a descriptive name, such as
A5_TC_EPM_TaskTemplateFilter. (Replace A5_ with your template prefix.)

4. In the New Extension Definition dialog box, click the Add button to the right of the Availability
table and make the EPM user exit available on the extension as shown in the following figure.

9-124 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Use the EPM user exit to customize the Workflow template filter

This is how the extension appears after making the EPM user exit available.

5. Open the EPM user exit and the BMF_EPMTaskTemplate_get_filtered_templates operation. Click
the Add button to the right of the Base Action table and add the extension (for example,
A5_TC_EPM_TaskTemplateFilter).

Business Modeler IDE PLM00071 11.2 9-125


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

6. Write the code that takes place in Teamcenter when the extension is called.

a. Ensure that your project is set up for coding so you can generate extension code.

b. Open the Advanced perspective by choosing Window→Open


Perspective→Other→Advanced.

c. In the Extensions view of the Advanced perspective, under the Rules\Extensions folders,
right-click the new extension you created (for example, A5_TC_EPM_TaskTemplateFilter)
and choose Generate extension code.
The extension boilerplate code is generated into an extension-name.c C++ file and an
extension-name.h header file. To see these files, open the project in the Navigator view and
browse to the src\server\library directory.

Note:
You may need to right-click in the view and choose Refresh to see the files that were
generated.

d. Write your extension code in the new extension-name.c and extension-name.h files. You can
use the standard methods of writing code for Teamcenter.
The name of the implementing method should be same as the name of the new extension as
seen in the generated source files. For example, the sample source file looks similar to the
following. If the name of the new extension is A5_TC_EPM_TaskTemplateFilter, the header
file contains the following entry in the same library for which the extension is created:

#ifdef __cplusplus
extern "C"{
#endif
extern library-name_API int A5_TC_EPM_TaskTemplateFilter();
#ifdef __cplusplus
}
#endif

9-126 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Condition syntax for Workflow template filtering

Replace library-name with the name of the custom library for which the extension has been
created.
The source file has the following implementation:

#include <ug_va_copy.h>
extern int A5_TC_EPM_TaskTemplateFilter ( METHOD_message_t *message, va_list
args )
{
int ifail = ITK_ok;
va_list largs;
va_copy( largs, args );
logical include_under_construction = va_arg( largs, logical);
logical assigned_templates = va_arg( largs, logical);
int number_of_objects = va_arg( largs, int);
tag_t* target_objects = va_arg( largs, tag_t*);
char** object_types = va_arg(largs, char**);
const char* group = va_arg(largs, char*);
int* count = va_arg( largs, int*);
tag_t** process_templates = va_arg( largs, tag_t**);
va_end( largs );

//Custom code to filter

//If required to use results from default filter


ifail = EPM_ask_workflow_templates_base(include_under_construction,
assigned_templates,
number_of_objects, target_objects, object_types, group, count,
process_templates);

return ifail;
}

e. Build your libraries.

This customization involves only the ITK-based filter, and the user interface filter configuration may not
be required if you do not need results from the default filter. The EPM_ask_workflow_templates_base
ITK method returns the results from the default filter without considering the user exit Implementation.
If you need to use results from the custom filter in some other ITK code, the
EPM_ask_workflow_templates ITK API can be used. This API returns results from the custom filter if it is
implemented; otherwise, it returns results from the default filter.

Condition syntax for Workflow template filtering

The Filter Condition box in the Workflow Task Attributes Panel allows you to select a condition to
evaluate template filtering.

Business Modeler IDE PLM00071 11.2 9-127


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Conditions appear in the Filter Condition box and can be used for template filtering only if they meet
the following requirements:

• Contain WF in their name


By default, the Filter Condition box is configured to show conditions that contain WF in their names.

• Use the Fnd0FilterCondition dynamic LOV


This LOV is attached to the fnd0FilterCondition property on the EPMTaskTemplate business object.
This LOV can be configured to customize the naming conventions for the workflow filter conditions.

• Have the following parameters:

WorkspaceObject o
ImanType t
UserSession u

Following is an example of a condition that fulfills the requirements:

WFFilterItemRevisions(WorkspaceObject o, ImanType t, UserSession u) :=


( ( o!=null && u.fnd0ConditionHelper.isSubTypeOf( o, "ItemRevision" ) )
|| (t!=null && u.fnd0ConditionHelper.isSubTypeOf( t, "ItemRevision" ) ) )
&& u.fnd0ConditionHelper.isSubGroupOf( u.group, "Engineering" )

Create a custom form that supports setting security classification in a


workflow

Using the Business Modeler IDE, you can create a custom form containing security classification
properties that can be used in a workflow to set classfication on an object. The workflow administrator
creates a workflow that copies the classification value from the custom form to the target object.

Perform the following procedure in the Business Modeler IDE to create the custom form containing
security classification properties:

1. Create a custom form business object by right-clicking the Form business object or one of its
children and choosing New Business Object.

2. Create a property (string type) for government classifcation and attach the Fnd0GovClassification
list of values to it.

9-128 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a custom form that supports setting security classification in a workflow

3. Create a property (string type) for IP classification and attach the IP Classification list of values to
it.

4. Save the template, package the template, and install it to the Teamcenter server.

5. In the rich client, choose File→New Form to create an instance of the custom form. Confirm that
the lists of values are attached to the properties.

6. The workflow designer configures the task template to:

a. Display the custom form using the EPM-display-form handler.

b. Create and relate the custom form to the EPM task using the EPM-create-form handler.

c. Copy the classification value from the custom form to the target object using the EPM-set-
property handler.

Business Modeler IDE PLM00071 11.2 9-129


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

Create a custom form that supports assigning project members in a workflow

Using the Business Modeler IDE, you can create a custom form that can be used to assign members to a
project using the PROJ-assign-members workflow handler. In this workflow, you can specify the
projects and the members using handler arguments only, using properties on a form attached to the
workflow template, and using a combination of handler arguments and form properties.

Perform the following procedure in the Business Modeler IDE to create a custom form that can be used
with this workflow to assign members to projects:

1. Create a custom form business object by right-clicking the Form business object or one of its
children and choosing New Business Object.

2. Create a property (typed reference type) for non-privileged members and attach the
Fnd0DynLOVGroupMember list of values to it. This list of values is a dynamic LOV that gathers all
the available group members.

3. Create a property (typed reference type) for privileged members and attach the
Fnd0DynLOVGroupMember list of values to it.

4. Create a property (string type) for projects and attach the Fnd0UserProjects list of values to it. This
list of values is a dynamic LOV that gathers all the available projects.

5. Save the template, package the template, and install it to the Teamcenter server.

9-130 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a custom form that supports assigning projects in a workflow

6. In the rich client, choose File→New Form to create an instance of the custom form. Confirm that
the lists of values are attached to the properties.

7. The workflow administrator uses the PROJ-assign-members workflow handler to specify the
projects and the members using the properties on the custom form attached to the workflow
template.

Create a custom form that supports assigning projects in a workflow

Using the Business Modeler IDE, you can create a custom form that can be used to assign projects using
the PROJ-update-assigned-projects workflow handler. This handler workflow assigns projects to
workflow targets. Projects can be specified directly in handler arguments, indirectly using properties of a
form, or both.

Perform the following procedure in the Business Modeler IDE to create a custom form that can be used
to assign projects:

1. Create a custom form business object by right-clicking the Form business object or one of its
children and choosing New Business Object.

2. Create a property for assigning projects (string type with 64-character length) and attach the
Fnd0UserProjects list of values. This dynamic LOV gathers all the available projects.

3. Create a property for removing projects (string type with 64-character length) and attach the
Fnd0UserProjects list of values.

Business Modeler IDE PLM00071 11.2 9-131


© 2019 Siemens Product Lifecycle Management Software, Inc.
9. Using the Business Modeler IDE to configure Teamcenter applications

4. Save the template, package the template, and install it to the Teamcenter server.

5. In the rich client, choose File→New Form to create an instance of the custom form. Confirm that
the lists of values are attached to the properties.

6. The workflow administrator uses the PROJ-update-assigned-projects workflow handler to specify


the projects using the properties on the custom form attached to the workflow template.

9-132 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer
Introduction to the Mapping Designer ─────────────────────── 10-1
Enabling the Mapping Designer ─────────────────────────── 10-1
Install the Mapping Designer to the Business Modeler IDE ─────────────── 10-1
Install Altova MapForce ──────────────────────────────────── 10-2
Start the Mapping Designer ────────────────────────────── 10-3
Mapping Designer user interface ─────────────────────────── 10-4
Basic tasks using the Mapping Designer ────────────────────── 10-5
Mapping Designer process ────────────────────────────────── 10-5
Create a Mapping Designer project ───────────────────────────── 10-6
Add a factor ────────────────────────────────────────── 10-10
Create a map ───────────────────────────────────────── 10-16
Create filtering rules ───────────────────────────────────── 10-18
Mapping Designer filtering rules ────────────────────────────── 10-23
Build a control file ────────────────────────────────────── 10-24
Deploy a control file ───────────────────────────────────── 10-24
Advanced tasks using the Mapping Designer ────────────────── 10-24
Add a child factor ─────────────────────────────────────── 10-24
Clone a factor ───────────────────────────────────────── 10-25
Import a factor ──────────────────────────────────────── 10-25
Search for factors ─────────────────────────────────────── 10-27
Delete a factor ──────────────────────────────────────── 10-28
Add a factor dependency ────────────────────────────────── 10-28
Modify factor source elements and properties ───────────────────── 10-29
Modify factor target elements and properties ────────────────────── 10-31
Find Teamcenter property characteristics ──────────────────────── 10-32
Create a lookup table ──────────────────────────────────── 10-33
Import the sample Mapping Designer projects ───────────────────── 10-37
Add your mappings to a sample project ───────────────────────── 10-39
Change Mapping Designer project properties ────────────────────── 10-40
Mapping Designer perspectives and views ──────────────────── 10-41
Introduction to Mapping Designer perspectives and views ────────────── 10-41
Mapping Designer perspective ─────────────────────────────── 10-42
Mapping Designer views ────────────────────────────────── 10-42
Eclipse views used by the Mapping Designer ────────────────────── 10-46

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer
Introduction to the Mapping Designer
The Mapping Designer is an application that administrators can use to map data model from one
product lifecycle management (PLM) system to another (for example, Teamcenter Enterprise to
Teamcenter, or Teamcenter to Teamcenter Enterprise). It can also map data model from one Teamcenter
installation to another Teamcenter installation, or from one Teamcenter Enterprise installation to
another Teamcenter Enterprise installation. Mapping is only one part of a larger process to move data
between Teamcenter PLM systems.

The Mapping Designer is installed to the Business Modeler IDE, but it is only enabled after you install
Altova MapForce. After you've installed Altova MapForce, you can access the Mapping Designer
perspective in the Business Modeler IDE by choosing Window→Open Perspective→Other→Mapping
Designer.

Enabling the Mapping Designer

Install the Mapping Designer to the Business Modeler IDE

1. Start Teamcenter Environment Manager (TEM).


For example, from the Teamcenter software distribution image run TEM.bat (Windows) or TEM.sh
(Linux).

Note:
Before running TEM, you must install the proper version of the JRE and set the JRE_HOME
environment variable or the JRE64_HOME environment variable.

2. Proceed to the Solutions dialog box. In the Solutions dialog box, select Business Modeler IDE,
and then click Next.

3. Perform the following steps in the Features dialog box:

a. Under Base Install, select Business Modeler IDE Standalone.

b. Under Extensions→Platform Extensibility→Global Services, select Mapping Designer.


This installs the Mapping Designer data model mapping tool into the Business Modeler IDE.

c. In the Installation Directory box, enter the location where you want to install the Business
Modeler IDE.
The Business Modeler IDE files are installed to a bmide subdirectory.

d. Click Next.

Business Modeler IDE PLM00071 11.2 10-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

4. Complete the remaining dialog boxes to finish the installation. When the installation is complete,
exit Teamcenter Environment Manager.

Install Altova MapForce

After you install the Mapping Designer, you must install Altova MapForce, a mapping tool that the
Mapping Designer uses to create maps.

1. Install Altova MapForce Professional Edition. For the supported version, see the hardware and
software certifications page on GTAC.

a. Go to the following URL:

http://www.altova.com/download_archive.html

b. Click the arrow in the Software Archive for box, select the supported version (for example,
2011sp1), and choose the correct Professional Edition software (for example, MapForce®
2011 Professional Edition).

Note:
Choose the 64-bit package if you have a 64-bit machine and you want to run in 64-bit
mode. If you want to run in 64-bit mode, you must have already installed the 64-bit
versions of the JRE and the Business Modeler IDE.

c. To install MapForce, run the downloaded file.

2. Run Altova MapForce.


The first time you run MapForce, you must select a license option. Choose the permanent license
option. Siemens PLM Software recommends that you buy the Altova MapForce Professional license
with SMP (Support and Maintenance Pack).

Note:
If you have difficulty obtaining a license, contact the Altova support center at:

http://www.altova.com/support.html

3. MapForce uses an integration to Eclipse. Install the MapForce 2011 Integration Package and choose
the Eclipse plug-in.

a. Go to the following URL:

http://www.altova.com/download_archive.html

10-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Start the Mapping Designer

b. Click the arrow in the Software Archive for box, select the supported version (for example,
2011sp1), and choose the correction Integration Package (for example, MapForce® 2011
Integration Package).

c. Run the installer and select the Install the Eclipse plug-in check box. Then select the
Manually, using the Eclipse configuration manager option to install the Eclipse plug-in
using the manual configuration.
By default, when running in 64-bit mode, the integration plug-ins are installed to the
following locations (on Windows):

c:\Program Files\Altova\Common2011\eclipse\plugins
c:\Program Files\Altova\MapForce2011\eclipse\plugins

4. Install the MapForce Eclipse plug-in files.

a. Copy the MapForce Eclipse plug-ins from the locations where they were installed, for
example:

c:\Program Files\Altova\Common2011\eclipse\plugins
c:\Program Files\Altova\MapForce2011\eclipse\plugins

b. Paste the MapForce Eclipse plug-ins in the Business Modeler IDE plugins directory, for
example:

install-location\bmide\client\plugins

c. Launch the Business Modeler IDE.

5. To verify the installation of MapForce to the Business Modeler IDE, open the MapForce perspective
by choosing Window→Open Perspective→Other→Mapforce.

6. To verify that the Mapping Designer perspective is enabled, choose Window→Open


Perspective→Other→Mapping Designer.

Start the Mapping Designer


1. To start working with the Mapping Designer, you must run the Business Modeler IDE:

• Windows systems:
Click the Start button and choose the All Programs→Teamcenter version →Business Modeler
IDE menu commands. This runs the bmide.bat file.

• Linux systems:
Run the bmide.sh file in the install-location/bmide/client directory.

Business Modeler IDE PLM00071 11.2 10-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

2. When you start the Business Modeler IDE for first time, the Welcome dialog box appears. Click the
Workbench button on the right side of the Welcome window.

3. To access the Mapping Designer perspective, choose Window→Open


Perspective→Other→Mapping Designer.

Mapping Designer user interface


The Mapping Designer perspective is the UI where you perform all mapping work.

The following figure shows the perspective after a project, factor, and map are created. To access this
perspective, choose Window→Open Perspective→Other→Mapping Designer.

The Mapping Designer perspective is composed of the following views and editors:

1 Factors View The Factors view displays the available factors. A factor is
a list of data model elements that you want to map
between the source system and the target system.

2 Project Explorer view The Project Explorer view displays the files in the project
workspace. The files include factor XML files, MapForce

10-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Mapping Designer process

map files (.mfd), schema files (.xsd), and transformation


files (.xslt).

3 MapForce editor The MapForce editor displays factors, and is used to


create mappings. To open a factor in this editor, right-
click a factor in the Factors view and choose Open
Factor.

4 Factor Details View The Factor Details view displays additional factor
information, including filtering rules. Filtering rules
define the object instances to be processed by the
Mapper Engine.

5 Factors Search View The Factors Search View displays results of queries for
factors.

In addition to these Mapping Designer views, there are additional views provided by MapForce. For
documentation about MapForce views, see the MapForce documentation, available at the following
URL:

http://www.altova.com/documentation.html

Basic tasks using the Mapping Designer

Mapping Designer process

Follow this process to create a mapping from one PLM system to another:

1. Create a project.

2. Create a list (factor) of the data model elements that you want to map between the source system
and the target system.

3. Using the data model elements in the factors, map the source elements to the target elements.

4. Create filtering rules on the factors to define which instances of the data model elements to
process.

5. Build a control file that contains all the mapping information in the project.

6. Deploy the control file to the Data Exchange server.

Business Modeler IDE PLM00071 11.2 10-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

Create a Mapping Designer project

Before you can create a mapping, you must create a project. A project provides an environment which
manages your data model mappings in files and folders.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. Choose File→New→Project, and in the New Project dialog box, choose Mapping
Designer→Mapping Designer Project.

3. Click Next.
The Project dialog box is displayed.

4. In the Project dialog box, perform the following steps:

10-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a Mapping Designer project

a. Type a name for your project in the Project Name box.

b. Select the Use default location check box if you want to create the project under your default
workspace. To find the workspace location, choose File→Switch Workspace. For example, on
Windows systems, the default workspace for the Business Modeler IDE is at install-location
\bmide\workspace.
If you want to create the project in another location, clear the Use default location check box
and click Browse to choose another location. For example, if you are using a source control
management (SCM) system to manage your XML source files, you may want to create the
project in a location where the SCM can recognize it.

c. Select the Add project to working sets check box if you want to add the project to a working
set that you have already created in Eclipse. (You can use this option only if you have installed
the Business Modeler IDE to an Eclipse environment.)

d. Click Next.
The Target and Source Schema dialog box is displayed.

5. In the Source and Target Schema dialog box, perform the following steps:

a. In the Project Description box, type a description of the work you will perform in the project.

b. Click the Browse button to the right of the Source Schema File box to locate the schema data
model file for the system you are mapping from.

c. Click the Browse button to the right of the Target Schema File box to locate the schema data
model file for the system you are mapping to.

Business Modeler IDE PLM00071 11.2 10-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

Note:
Before you create a project, you must have already generated schema for your source
and target installations. To generate a Teamcenter schema file, use the Export option
in the Business Modeler IDE. You can also use schemas from the sample projects.
To generate an Teamcenter Enterprise schema file, in the Administration Editor use the
System Utilities→Generate XML Schema menu option. After generating the file, the
following message is displayed:

Generation of new XML Schema is successfully completed.


Please find the xsd file at XSD_DIR of config.cfg

Verify that the structure of the resulting XSD file is correct. For example, if some input
items are missing, they are replaced with change_me. Look for instances of
change_me in the schema file and change them as appropriate. If you do not, you may
encounter errors when you use this file and attempt to create a project or a factor using
the Mapping Designer.
For the generated Teamcenter Enterprise schema file to be read by the Mapping
Designer, you need to copy the MTI_ROOT/xml/ems/TcEntBaseSchema.xsd file into the
same directory as the generated schema file. The generated schema file refers to this
TcEntBaseSchema.xsd file, and if both files are not in the same directory before
creating the Mapping Designer project, errors can occur when creating factors.

d. Choose Finish.
The wizard creates the project and displays it in the Factors view. To see the files in the
project, click the Project Explorer tab to access the Project Explorer view.

10-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a Mapping Designer project

To see the project's properties, right-click the project in the Project Explorer view and choose
Properties. In the left pane of the Properties dialog box, choose Teamcenter→Mapping
Designer.

Business Modeler IDE PLM00071 11.2 10-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

Add a factor

In the Mapping Designer, a factor is a list of data model elements that you want to map between the
source system and the target system.

More generally, a factor is a conceptual piece of information, and factoring is a way of defining those
pieces (factors), specifying transformations for those factors, and then applying the transformations to
the factors. Defining factors and specifying the transformation for each factor simplifies the mapping
process and makes it more manageable.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the Factors view, right-click the project in which you want to add the factor and choose Add
New Factor, or right-click a factor and choose Add New Child Factor.
The New Factor wizard runs.

3. In the Factor: Create a new Factor dialog box, perform the following steps:

a. The Project box shows the project to which this new factor is added.

b. In the Name box, type the name you want to assign to the new factor.
You may want to name the factor for the data model category you are mapping, for example,
Cmponent or Assembly.

c. In the Description box, type a description of the work you will perform in the factor.

d. In the Version box, type the iteration for this factor (for example, A, B, C, or 1.0, 1.1, and so
on).

10-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a factor

e. If a factor already exists in a project, you can click the arrow in the Extend From box to copy
data model elements from another factor.

f. Click Next.
The Factor: Add source elements dialog box is displayed.

4. In the Factor: Add source elements dialog box, perform the following steps to choose the data
model elements to map from the source system.

a. Select Sort Alphabetically if you want to place the elements in alphabetical order.

b. Click the Add Element button.


The Element Selection Page dialog box is displayed.

Business Modeler IDE PLM00071 11.2 10-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

c. In the Element Selection Page dialog box, choose a data model element from the source
system that you want to map.
For example, if the project is set up for mapping from Teamcenter Enterprise to Teamcenter,
the list displays Teamcenter Enterprise data elements. Select an element in the source system
you want to map.
If you want to map an element from a parent factor, the parent is shown in brackets after the
name of the element, for example, [parent-factor].
Click Next.
The Property Selection Page dialog box is displayed.

10-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a factor

d. In the Property Selection Page dialog box, select the properties (attributes) on this element
that you want to map.
Click Finish.
The source element and its properties appear in the Factor: Add source elements dialog box.

e. Continue to add source elements and properties using the buttons on the right side of the
Factor: Add source elements dialog box:

• Add Element

Business Modeler IDE PLM00071 11.2 10-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

Add a data model element.

• Add Property
Add properties to the selected element.

• Remove
Remove the selected element or property.

• Replace
Replace the selected element or property with another.

f. When done, click Next.


The Factor: Add target elements dialog box is displayed.

5. In the Factor: Add target elements dialog box, perform the same steps that you did when adding
source elements. These are the data model elements to map to in the target system.
For example, if the project is set up for mapping from Teamcenter Enterprise to Teamcenter, the
target list displays Teamcenter data elements.
When done, click Next.
The Factor: Add source instance filtering rules dialog box is displayed.

10-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add a factor

6. In the Factor: Add source instance filtering rules dialog box, click the Add button.

The Factor: Create new filtering rule dialog box is displayed.


Each factor must have a set of rules to filter out objects in the source system that need to be
processed. The Mapper Engine only applies the transformation to the objects specified in the rules.

Note:
If you choose not to create filtering now, you can click Cancel on this dialog box and proceed
to the next step. You can create filter rules later.

7. Click Finish.

Business Modeler IDE PLM00071 11.2 10-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

The new factor appears under the project.

8. To save the factor, choose File→Save.

9. To see the factor files, right-click in the Project Explorer view and choose Refresh. To see the
elements and properties in the factor, double-click the factor's .xml file.

Caution:
The Mapping Designer does not automatically refresh the factor folder. This must be done
manually. If a factor folder is checked into a source control system before the refresh is done,
the factor file versions may become unsynchronized.

10. If you need to make additional changes to the factor, right-click the factor in the Factors view and
choose Modify Source Element/Properties or Modify Target Element/Properties.

After you create the factor, create a map between the source and target elements.

Create a map

Using the data model elements in the factors, map the source elements to the target elements.

10-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a map

The steps in the following procedure document only the basics about how to create a map using the
Mapping Designer. The mapping functionality is provided by MapForce, and is a rich set of features that
allow you to do complex mapping.

For more detailed documentation about creating maps, including using library functions, see the
MapForce documentation, available at the following URL:

http://www.altova.com/documentation.html

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the Factors view, right-click the factor that you want to map and choose Open Factor.
The factor appears in an editor as a SourceSchema box and a TargetSchema box. (This editor is
provided by the MapForce plug-in.)

3. Click the plus symbol (+) by the TcFactor node in the source box and in the target box. This
expands to show all the elements you have created in the source and target.
For example, if you are mapping from Teamcenter Enterprise to Teamcenter, click the plus symbol
(+) by the tce:TcFactor node in the source box and the plm:TcFactor node in the target box.

4. Click the arrows on the TcFactor node in the source box and drag the mouse pointer to the
plm:TcFactor node in the target box. This maps the source factor to the target factor.

5. Expand the elements you want to map by clicking the plus symbol (+) by the elements. Click and
drag from the source element properties to the target element properties. This maps the properties
in the source element to the target element.

For examples of mappings, view the sample projects.

Business Modeler IDE PLM00071 11.2 10-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

6. When you are done mapping, click the Save button on the toolbar.
To see the mapping file, right-click in the Project Explorer view, choose Refresh, and open the
factor. The mapping file is saved with an .mfd (MapForce) extension.

After you create the map, create filtering rules.

Create filtering rules

Create filtering rules on the factors to define which instances of the source data model elements to
process. The Mapping Engine only applies the transformation to the objects specified in the rules.

You can create the filtering rules when you create the factor, or after the factor is created. The following
procedure describes how to create the rules after factors are already created.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the Factors view, select the factor for which you want to create filtering rules.

3. In the Factor Details view at the bottom of the window, click the Filtering Rules tab.

4. Click the Add button on the Filtering Rules tab.


The Factor: Create new filtering rule dialog box is displayed.

10-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create filtering rules

5. Perform the following steps in the Factor: Create new filtering rule dialog box:

a. In the To Be Included pane, click the Browse button to the right of the Element box to
choose the main element to filter.

b. Click the Define Condition button if you want to create a condition that the element must
meet. Only objects having the element that meets this condition will be processed from the
source system.
The Condition: Build condition dialog box is displayed.

c. Click the Add button in the Condition dialog box.


The Condition: Add condition statement dialog box is displayed.

Business Modeler IDE PLM00071 11.2 10-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

d. Perform the following steps in the Condition: Add condition statement dialog box:

A. The Primary box displays the main element to filter for the condition.

B. For Condition Type, select one of the following:

• Attribute
Specifies that the condition applies to a property.

• Constant
Specifies a constant is used with the condition.

• Raw XPath
Specifies that the condition applies to an XPath (XML Path Language) address for the
node in an XML document.

C. If you selected Attribute, click the Browse button to the right of the Primary Property
box to select the primary property to filter.

D. If you selected Attribute, click the arrow in the Criteria box to select the operator for the
condition.

Operator Description

= Equals.

!= Does not equal.

< Less than.

10-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create filtering rules

Operator Description

<= Less than or equals.

> Greater than.

>= Greater than or equals.

E. If you selected Attribute, click the Browse button to the right of the Secondary box to
select the second-level element to filter for the condition.

F. If you selected Attribute, click the Browse button to the right of the Secondary
Property box to select the second-level property to filter for the condition.

G. If you selected Constant, in the Constant Value box, type a constant value to apply to
the condition.

H. If you selected Raw XPath, in the Raw XPath box, type the path to the XML node that
the condition applies to.

I. Click Finish.

J. After you finish building conditions, click Finish in the Condition: Build condition dialog
box.

e. Click Finish in the Factor: Create new filtering rule dialog box.
The first level of the filter appears in the table on the Filtering Rules tab.

Business Modeler IDE PLM00071 11.2 10-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

6. Now you are ready to add the next level of filtering. Select the first level of filtering and click the
Add button on the Filtering Rules tab.
The Factor: Create new filtering rule dialog box is displayed.

7. Perform the following steps in the Factor: Create new filtering rule dialog box:

a. In the Existing pane, click the Browse button to the right of the Property box to select the
property on the primary element to filter.

b. In the To Be Included pane, click the Browse button to the right of the Element box to select
the element to include in the filtering.

c. In the To Be Included pane, click the Browse button to the right of the Property box to select
the property to filter on this element.

d. Repeat the same steps as needed for the Define Condition button and the Has Multiple and
Is Required check boxes.

e. Click Finish.

8. Select the rule in the table under which you want to create additional filtering and click Add.
Continue to add rules, adding layers of filtering.

9. When you are done creating filters, click the Save button on the toolbar or choose File→Save.

After you create the filtering rules, build a control file.

10-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Mapping Designer filtering rules

Mapping Designer filtering rules

Filtering rules select the source system instances to be processed, and applies the transformation only to
those objects. The rules specify the relationships between the elements in the factors. The following
tables show sample filtering rules.

Rul Element Primary Primary property Secondary Secondary


e property

1 Cmponent Cmponent

2 CmpnMstr Cmponent ItemMstrOBID CmpnMstr elemId

Based on the rules in the table, processing proceeds as follows:

1. Based on rule 1, the Mapper Engine processes the source instance XML file to get a list of objects
that are of the Cmponent type.

2. Based on rule 2, for each Cmponent object found by rule 1, the Mapper Engine finds all objects of
the CmpnMstr type that satisfy the following:

Cmponent::ItemMstrOBID=CmpnMstr::elemID

3. The Mapper Engine applies the transformation to the objects selected from rules 1 and 2.

Rul Element Primary Primary Secondary Secondary


e property property

1 Document Document

2 Document Document elemId Attach Left

3 WordDoc Attach Right WordDoc elemId

Based on the rules in the table, processing proceeds as follows:

1. Based on rule 1, the Mapper Engine processes the source instance XML file to get a list of objects
that are of the Document type.

2. Based on rule 2, for each Document object found by rule 1, the Mapper Engine finds all objects of
the Attach type that satisfy the following:

Business Modeler IDE PLM00071 11.2 10-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

Document::elemID=Attach::Left

3. Based on rule 3, for each object of the Attach type found, the Mapper Engine finds WordDoc
objects that satisfy the following:

Attach::Right=WordDoc::elemId

4. The Mapper Engine applies the transformation to the objects selected from rules 1, 2, and 3.

Build a control file

Build a control file that contains all the mapping information in the project. Before building the control
file, you must create factors, a mapping, and filtering rules.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the Factors view, right-click the project and choose Build Control File.
The Build Control File dialog box displays a confirmation message.

3. In the Build Control File dialog box, click OK.

4. To see the control file, right-click in the Project Explorer view and choose Refresh. The control file
mapping file is saved as project-name_control.txt. To see its contents, right-click the file and
choose Open or Open With.

After you build the control file, you must deploy it to the Data Exchange server.

Deploy a control file

The control file must be deployed to the Data Exchange server so that it can be run with the Mapper
Engine in the data exchange process. The Mapper Engine runs the instance file from the source system
against the mapping control file. The resulting output file contains the data items to be imported into
the target system.

To deploy the control file, upload the control file to the middleware datastore (Teamcenter Integration
Framework or Global Services).

Advanced tasks using the Mapping Designer

Add a child factor

You can add a factor as a child of another factor. This process is similar to adding a new factor.

1. Right-click an existing factor and choose Add New Child Factor.

10-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Clone a factor

2. When you add source and target elements, note that the parent factor is shown in the Extend
From box and that the parent factor's elements are shown. You can add or remove elements as
needed.

Clone a factor

You can clone a factor and make changes to it to reuse it in a project. To clone a factor, right-click the
factor and choose Clone Factor.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the Factors view, right-click the factor you want to clone and choose Clone Factor.
The Clone a Factor wizard runs.

3. In the New Name box of the Clone dialog box, type a name for the cloned factor.

4. Click Finish.
The cloned factor appears in the project.

5. If the original factor has dependencies on other factors, make the same dependencies for the clone
factor.
To view the dependencies on a factor, click the Dependency tab in the Factor Details view. To
add dependencies, click the Add button on the Dependency tab.

6. To save the cloned factor, choose File→Save All.

Import a factor

If a factor is created outside of your project, you can import it into your project. Right-click the project
and choose Import Factor.

Business Modeler IDE PLM00071 11.2 10-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

You can also import a factor from within the same project and give it a new name. This works the same
as using the Clone Factor command.

Caution:
The source and target schemas used by the imported factor must be the same as those used by
your project. If there are elements in the imported factor that are not present in your project's
schema, the imported factor will not load properly.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the Factors view, right-click the project into which you want to import the factor and choose
Import Factor.
The Import Factor wizard runs.

3. In the Import Factor dialog box, click the Browse button to the right of the Factor Location box.

4. Locate the folder containing the factor and click OK.

5. In the New Factor Name box, type a new name to change the name of the imported factor.

6. Click Finish.
The factor is placed into the project.

If you want to add elements to the factor, right-click the factor and choose Modify Source Element/
Properties or Modify Target Element/Properties. To map elements in the factor, right-click the factor
and choose Open Factor.

10-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Search for factors

Search for factors

If you are working with projects that have a number of factors, you can use the Factors Search view to
find factors.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the lower right of the perspective, click the Factors Search View tab to access the Factors
Search view.

3. Click the Search button on the view toolbar.


The Advanced Factor Search wizard runs.

4. You can use any of the following boxes in the Advanced Factor Search dialog box to enter criteria
to search for. You can use an asterisk * for wildcard searches.

• Project
Specifies the project in which to search.

• Factor Name
Specifies the name of the factor you want to find.

• Factor Desc
Specifies the description of the factor.

• Source Element
Identifies the source system data model element to search for.

• Target Element
Identifies the target system data model element to search for.

• Depends On
Identifies the factor that the searched-for factor depends on (if any).

Business Modeler IDE PLM00071 11.2 10-27


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

• Used By
Identifies the factor that the searched-for factor is used by (if any).

5. Click OK.
The matching factors appear in the view.

Delete a factor

You can delete a factor by right-clicking it and choosing Delete Factor.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the Factors view, right-click the factor you want to delete and choose Delete Factor.
The Confirm Delete Factor Action dialog box is displayed.

3. Click OK.
The factor is removed from the project.

Note:
However, if other factors are dependent on this factor, the factor is not deleted. A message
states the names of the factors that are dependent on the factor to be deleted. To remove the
dependencies:

a. Open each of the other factors.

b. In the Factor Details view, click the Dependency tab.

c. Select the factor in the Depends On pane and click the Remove button.

After the dependency is removed from all the other factors, you can again right-click the factor and
choose Delete Factor.

Add a factor dependency

Factors can depend on one another for mappings. To see the dependencies for a factor, look at the
Dependency tab in the Factor Details view.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the Factors view, select the factor for which you want to create dependencies.

3. In the Factor Details view at the bottom of the window, select the Dependency tab.

10-28 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Modify factor source elements and properties

4. Click the Add button to the right of the Depends On pane.


(The Used By pane shows the factors that are dependent on this factor.)

5. In the Factor Selection dialog box, select the factor you want to add and click OK.
The dependent factor is displayed in the Depends On pane.

Modify factor source elements and properties

When you create a factor, you select the attributes from the source system that you want mapped. You
can go back later and add more attributes by right-clicking the factor and choosing Modify Source
Element/Properties.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the Factors view, right-click the factor you want to modify and Modify Source Element/
Properties.
The Modify Source Elements wizard runs.

Business Modeler IDE PLM00071 11.2 10-29


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

3. In the Factor: Modify source elements dialog box, perform the following steps to choose the data
model elements to map from the source system.

a. Select Sort Alphabetically if you want to place the elements in alphabetical order.

b. Click the Add Element button.

c. In the Element Selection Page dialog box, choose a data model element from the source
system that you want to map.
For example, if the project is set up for mapping from Teamcenter Enterprise to Teamcenter,
the list displays Teamcenter Enterprise data elements. Select an element in the source system
you want to map.
Click Next.

d. In the Property Selection Page dialog box, select the properties (attributes) on this element
that you want to map.
Click Finish.
The source element and its properties appear in the Factor: Modify source elements dialog
box.

e. Continue to add source elements and properties. When done, click Finish.

4. After you change the elements and properties on a factor, you must adjust filtering rules to
accommodate the changes. Select the factor, and in the Factor Details view, click the Filtering
Rules tab.

5. After changing elements and properties in the factor, you must adjust the mapping between the
source and target elements to account for the changes. Open the factor and draw connections
between the source and target factor nodes.

10-30 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Modify factor target elements and properties

6. To save the changes to the factor and the mapping, choose File→Save All.

Modify factor target elements and properties

When you create a factor, you select the attributes from the target system that you want mapped. You
can go back later and add more attributes by right-clicking the factor and choosing Modify Target
Element/Properties.

1. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

2. In the Factors view, right-click the factor you want to modify and choose Modify Target Element/
Properties.
The Modify Target Elements wizard runs.

3. In the Factor: Modify target elements dialog box, perform the following steps to choose the data
model elements to map to in the target system:

a. Select Sort Alphabetically if you want to place the elements in alphabetical order.

b. Click the Add Element button.

c. In the Element Selection Page dialog box, choose a data model element in the target system
that you want to map to.
For example, if the project is set up for mapping from Teamcenter Enterprise to Teamcenter,
the list displays Teamcenter data elements. Select an element in the target system you want
to map to.
Click Next.

Business Modeler IDE PLM00071 11.2 10-31


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

d. In the Property Selection Page dialog box, select the properties (attributes) on this element
that you want to map to.
Click Finish.
The target element and its properties appear in the Factor: Modify target elements dialog
box.

e. Continue to add target elements and properties. When done, click Finish.

4. After you change the elements and properties on a factor, you must adjust filtering rules to
accommodate the changes. Select the factor, and in the Factor Details view, click the Filtering
Rules tab.

5. After changing elements and properties in the factor, you must adjust the mapping between the
source and target elements to account for the changes. Open the factor and draw connections
between the source and target factor nodes.

6. To save the changes to the factor and the mapping, choose File→Save All.

Find Teamcenter property characteristics

Occasionally, you may need to look up the characteristics of properties (attributes) in Teamcenter that
you want to map. You can use the Business Modeler IDE to look up this information.

In the Standard perspective of the Business Modeler IDE, go to the Business Objects folder, open the
business object with the properties you want to examine, and click the Properties tab. The properties
display in a properties table. The table lists information such as the storage type, whether the property is
inherited, and the business object where it originates.

Sometimes you need a little more information, like the values for properties. You still can use the
Business Modeler IDE. The following is an example.

A person needs to map one kind of dataset to another, and when he creates the map, he discovers he
needs to find out values for the reference names (ref_names) and reference types (ref_types)
properties on the dataset. He knows that the reference name value is the name for the kind of dataset,
such as word for an MSWord document, and so on. He also knows that the reference type value defines
whether the dataset file is text, which has a value of 1, or binary, which has a value of 2. But for a
particular dataset, how does he find the values for the ref_names and ref_types properties? He uses the
References tab on the dataset in the Business Modeler IDE.

1. In the BMIDE view, click the Find button and look up the dataset.

2. Right-click the dataset and choose Open.

3. Click the References tab.

4. Locate the values on the References table.

10-32 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a lookup table

The ref_names property can equal any value in the Reference column that has a value of BINARY
or TEXT.
The ref_types property equals 1 if the format is TEXT or 2 if the format is BINARY.

The Business Modeler IDE contains a wealth of information about business objects and their properties.
If you ever have questions about how the Teamcenter schema is organized, look first to the Business
Modeler IDE.

Create a lookup table

The lookup feature in Mapping Designer allows you to transform an input value to an output value using
a lookup table. Lookup tables can be used on factors and inherited by child factors, avoiding having to
create separate lookups for use on each child factor.

Suppose you want to look up the user names associated with employee personal identification (PID)
numbers, because in one system personnel are identified by their ID numbers, and in another system
they are known by a user name. You can place a lookup table between the two systems to map the user
value in one system to the other. Following is an example using this scenario. This is known an
association-based lookup.

1. In the Project Explorer view, create a comma-separated (CSV) file with a .csv extension that
contains the values to be used in the lookup, for example, personnel.csv.
Each row in the comma-separated value (CSV) file represents one key/value entry. The first row
contains metadata defining the name of the columns.

2. Create the lookup table index declarations.


In this step, you create an in-factor lookup that will be used later in the association-based lookup.
An in-factor lookup is not applied to the full output document, but is applied to the output of this
factor only. It is also more powerful than an association lookup because it can be conditioned using
MapForce logic and can handle multiple inputs and outputs.

a. In the Factors view, right-click the project and choose Table Definition Editor.
The Table Definition Editor is displayed.

Business Modeler IDE PLM00071 11.2 10-33


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

b. Click the Add an Index button and in the Index Name box type a name for the
index.
An index matches a logical name with the physical CSV lookup file and also declares which of
the columns in the CSV lookup file are treated as keys and which are treated as values.

c. In the CSV File Name box, type the name of the comma-separated value file that holds the
keys and values.

d. In the Keys box, type the names of the keys from the CSV file. Any column can be used as a
key or a value. The purpose of this index is to declare which of the columns in the lookup file
are treated as keys and which are treated as values.

e. In the Values box, type the names of the values from the CSV file in the Value Name column.
In the Default Value column, type the value to use if no value is found during a lookup.

10-34 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Create a lookup table

f. Click the Add an Association button to associate a property name with the index.
An association references the index for a simple lookup (single key/value pair) that is applied
for all instances of a given property on a given class. In the following example, the simple
index is specified to supply the value lookup for the ref_names property on the MISC class.

3. Choose File→Save All.


The lookup table appears in the Project Explorer view as the tabledef.tdf file.

4. In the Factors view, right-click the project and choose Build Control File.
The lookup functions file is generated as project-name-lookupfunctions.xslt in the Project
Explorer view. The following figure shows the .csv file, the table definition file, and the lookup
functions file.

Business Modeler IDE PLM00071 11.2 10-35


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

5. In the Factors view, open a factor to which you want to add the lookup table. The factor map
appears in the view to the right.

6. Click the Libraries tab to see the libraries for that map. Click the Add/Remove Libraries button at
the bottom of the Libraries view, and in the Libraries dialog box, select the project-name-
lookupfunctions.xslt file and the commonFunctions.mfd file from the workspace.
The lookup functions file is added to the list of libraries. Under it are shown the lookup definitions.

7. Drag a lookup definition from the Libraries view to the map in the view to the right. Then hook up
the properties from the source map to the target map using the lookup table.

10-36 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Import the sample Mapping Designer projects

Import the sample Mapping Designer projects

Your Teamcenter installation source includes sample projects that map from Teamcenter Enterprise to
Teamcenter, and Teamcenter to Teamcenter Enterprise. You can import these projects to your
workspace to serve as the basis for your own mappings.

These sample projects contain the mappings for COTS data model in Teamcenter Enterprise and
Teamcenter. COTS means commercial-off-the-shelf and is another way of saying out-of-the-box. You can
add mappings for your custom data model to these COTS mappings.

Note:
Rather than using an entire sample project, you could import factors from a sample project.

This procedure describes how to import the sample Teamcenter Enterprise and Teamcenter mapping
projects.

1. Browse to the TC_DATA directory on a Teamcenter server installation and locate the
mapping_designer_projects_project-name.zip files. Copy these ZIP files to a location on your
machine and unzip them. The sample projects are contained in directories in each ZIP file. (See the
readme files under each directory for more information about the projects.)

Note:
You can perform mapping of Systems Engineering and Requirements Management to
Teamcenter using the example in the TC_DATA\tcse_migration directory.

Business Modeler IDE PLM00071 11.2 10-37


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

2. Open the Mapping Designer perspective if it is not already active. Choose Window→Open
Perspective→Other→Mapping Designer.

3. Choose File→Import on the menu bar.

4. In the Import dialog box, choose Mapping Designer→Import Mapping Designer Project. Click
Next.
The Import Mapping Designer Project dialog box appears.

5. Leave the Copy project to workspace check box unselected if you want to use the project directly
from its original location, or select the check box if you want to copy the project files into your
workspace directory.

6. Click the Browse button to the right of the Project contents box and browse to the directory
where the projects are located.
For example, choose the TC_Enterprise_to_Teamcenter directory if you want to map from
Teamcenter Enterprise to Teamcenter.

7. Click OK.

8. Choose Finish.
The project is imported and appears in the Factors view.

9. Make the imported project files writable:

a. Locate the imported project.


For example, if you copied the project files into your workspace, choose File→Switch
Workspace to find the workspace location. On Windows systems, the default workspace for
the Business Modeler IDE is at install-location\bmide\workspace.

10-38 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Add your mappings to a sample project

b. Change the file attributes so that the files are writable.


For example, if you are using a Windows system, in Windows Explorer, right-click the project
folder, choose Properties, and in the Attributes pane on the General tab, clear the Read-
only check box.

Caution:
To use the imported project without errors, you must make the files in the imported project
writable.

Add your mappings to a sample project

You can add mappings for your custom data model to the COTS mappings in the sample projects.

1. Import a sample project.

2. Rename the sample project by right-clicking the project in the Project Explorer view and choosing
Rename.

3. Apply your schema to the project:

a. Right-click the project in the Project Explorer view and choose Properties.

b. In the left pane of the Properties dialog box, choose Mapping Designer.

c. To change the source schema to your own system's schema, click the Browse button to the
right of the Select Source Schema box.

Warning:
The new source schema must be from the same software version as the old one. For
example, if the source schema being replaced is from Teamcenter Enterprise 2007, the
new source schema must be based on Teamcenter Enterprise 2007.

d. To change the target schema to your own system's schema, click the Browse button to the
right of the Select Target Schema box.

Warning:
The new target schema must be from the same software version as the old one. For
example, if the target schema being replaced is from Teamcenter 11.2, the new target
schema must be based on Teamcenter 11.2.

e. Click OK.

4. Change existing mappings and add your own:

Business Modeler IDE PLM00071 11.2 10-39


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

a. Alter the mappings in the existing factors to fit your company's policies:

• To change mappings, right-click a factor in the Factors view, choose Open Factor, and drag
from the points on the source schema box to the target schema box. You can also delete a
map line by right-clicking it.

• To change the elements in the factor, right-click the factor in the Factors view and choose
Modify Source Element/Properties or Modify Target Element/Properties.

• To delete a factor, right-click it in the Project Explorer view and choose Delete.

b. Create your own factors.

c. Create your own mappings for your new factors.

d. Create filter rules for your own factors.

e. Create a control file for the project.

Change Mapping Designer project properties

You can change properties on mapping designer projects, including the source and target schema for
the project.

1. Right-click the project in the Project Explorer view and choose Properties.

2. In the left pane of the Properties dialog box, choose Teamcenter→Mapping Designer.
The Mapping Designer project properties are displayed.

10-40 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to Mapping Designer perspectives and views

3. To change the source schema, click the Browse button to the right of the Select Source Schema
box.

Warning:
The new source schema must be from the same software version as the old one. For
example, if the source schema being replaced is from Teamcenter Enterprise 2007, the new
source schema must be based on Teamcenter Enterprise 2007.

4. To change the target schema, click the Browse button to the right of the Select Target Schema
box.

Warning:
The new target schema must be from the same software version as the old one. For example,
if the target schema being replaced is from Teamcenter 11.2, the new target schema must
be based on Teamcenter 11.2.

5. To change the explanation of the project's purpose, type in the Project Description box.

6. To allow transfer of all the data model, not only the mapped data model, select the Copy
Unmapped Objects check box.
If you select this option, the copyUnmapped flag is set to true in the control file, and the Mapper
Engine takes all the input elements that didn’t get mapped and copies them over to the output file.
This is very useful for Teamcenter to Teamcenter mappings where data is being pushed from one
Teamcenter site to another where the schemas have minor differences, so there are minimal
mappings and the rest of the data needs to be copied as-is.

Mapping Designer perspectives and views

Introduction to Mapping Designer perspectives and views

The Mapping Designer utilizes the Eclipse user interface, which is composed of perspectives, views, and
editors. A view is a tabbed window within the user interface that provides a view of data. A perspective
is an arrangement of views. An editor is a window that allows you to edit source files.

Each perspective is divided into windows, and each window may contain multiple views and editors. If a
window contains more than one view, the views are stacked with tabs. The Window menu allows you to
open new views and perspectives and to move between ones already open.

The Mapping Designer provides its own perspective, several views, and also uses some Eclipse views.
Only the perspectives and views provided by the Mapping Designer are documented here. The Eclipse
user interface is fully documented in the Workbench User Guide, accessible by choosing Help→Help
Contents.

Business Modeler IDE PLM00071 11.2 10-41


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

Mapping Designer perspective

The Mapping Designer perspective allows you to map data model from one PLM system to another (for
example, Teamcenter Enterprise to Teamcenter, or Teamcenter to Teamcenter Enterprise).

To access the Mapping Designer perspective, choose Window→Open Perspective→Other→Mapping


Designer.

Mapping Designer views

Factors view

The Factors view displays the available factors. A factor is a list of data model elements that you want to
map between the source system and the target system.

10-42 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Factors view

Yellow underlining of a factor indicates it is a work-in-progress (WIP), while green indicates that a child
of a WIP factor is not in-progress. To set WIP for a factor, use the Factor WIP and Parent Factor WIP
check boxes in the Factor Details view.

The following is a list of actions you can perform from the shortcut menu when you right-click in the
Factors view.

Menu command Description

Add New Factor or Add New Adds a new list of source and target data model elements to
Child Factor the selected project.

Open Factor Opens the selected factor, and displays the source and target
data model elements in a MapForce editor so you can create a
map.

Delete Factor Removes the selected factor.

Modify Source Element/ Changes source system data model elements on the selected
Properties factor.

Modify Target Element/ Changes target system data model elements on the selected
Properties factor.

Import Factor Loads a factor to the selected project.

Business Modeler IDE PLM00071 11.2 10-43


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

Menu command Description

Table Definition Editor Runs an editor that allows you to transform an input value to
an output value using a lookup table.

Build Control File Creates a mapping control file for the selected project.

Clone Factor Copies the factor for reuse in the project.

Properties Changes the properties of the Mapping Designer project.

Factor Details view

The Factor Details view displays additional factor information, including filtering rules. Filtering rules
filter out the instances that must be processed and applies the transformation only to those objects.

The Factor Details view has the following tabs:

• General
Displays the properties of the factor.

• Name
Displays the name of the factor.

• Description
Shows the description of the factor.

• Source End Point

10-44 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Factors Search view

Shows the source schema of the factor.

• Target End Point


Shows the target schema of the factor.

• Parent Factor
Identifies the name of the parent factor, if any.

• Factor WIP
Specifies that the factor is a work-in-progress. Use this check box to show that the factor is
unfinished.

• Parent Factor WIP


Specifies that the parent of the factor is a work-in-progress.

• Filtering Rules
Displays the rules for processing the mapping in the factor.

• Dependency
Displays the factor's dependencies.

Factors Search view

The Factors Search view enables you to find factors in projects. Click the Search button on the view
toolbar to launch the Advanced Factor Search wizard.

The following is a list of actions you can perform from the shortcut menu when you right-click in the
Factors Search view:

Business Modeler IDE PLM00071 11.2 10-45


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

Menu command Description

Open Factor Opens the selected factor, and displays the source and target
data model elements in a MapForce editor so you can create a
map.

Delete Factor Removes the selected factor.

Modify Source Element/ Changes source system data model elements on the selected
Properties factor.

Modify Target Element/ Changes target system data model elements on the selected
Properties factor.

Properties Changes the properties of the Mapping Designer project.

Eclipse views used by the Mapping Designer

Console view in the Mapping Designer

The Mapping Designer is built on an Eclipse framework. Some default Eclipse views that are used for
Mapping Designer functions. Views are the tabbed panes that appear in the user interface.

The Console view is a default Eclipse view used to display output from loading and building your
projects. Watch this window for any problems or errors.

For more documentation on Eclipse views, see the Workbench User Guide accessible by choosing
Help→Help Contents.

Editors in the Mapping Designer

Editors are used to display model elements. Each editor that is opened is stacked with tabs on top of the
existing editor.

The MapForce editor displays factors, and is used to create mappings. To open a factor in this editor,
right-click a factor in the Factors view and choose Open.

Warning:
Do not edit data model source files manually. All data model changes should be made using the
wizards provided by the Mapping Designer.

10-46 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Project Explorer view in the Mapping Designer

Project Explorer view in the Mapping Designer

The Project Explorer view is a default Eclipse view used for browsing file system objects. The Project
Explorer view displays the files in the project workspace.

The Project Explorer view always shows the projects at the top level and any folders and files under
them. For example, if you have a project, expand the project in the Project Explorer view and note the
files it contains. You can open files in an editor by double-clicking them, or right-click and choose Open.

The files include MapForce map files (.mfd), schema files (.xsd), and transformation files ( .xslt).

Business Modeler IDE PLM00071 11.2 10-47


© 2019 Siemens Product Lifecycle Management Software, Inc.
10. Using the Mapping Designer

10-48 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
11. Troubleshooting the Business Modeler
IDE
Reviewing the log files ───────────────────────────────── 11-1
Deployment errors ──────────────────────────────────── 11-1
Check the deployment log ────────────────────────────────── 11-1
Check your deployment setup ──────────────────────────────── 11-1
Cannot connect to the server error ───────────────────────────── 11-2
Instance in use error ────────────────────────────────────── 11-3
Class is referenced error ─────────────────────────────────── 11-3
Incompatible argument error ──────────────────────────────── 11-4
Deployment fails when business object names do not contain USASCII7 characters
─────────────────────────────────────────────── 11-4
Time zone error ──────────────────────────────────────── 11-5
Incorporate Latest Live Update Changes error ────────────────────── 11-5
Business Modeler IDE has slow performance, an out-of-memory error, or does
not launch ───────────────────────────────────── 11-6
Could not create the Java virtual machine error ───────────────── 11-7
Workspace is locked error ─────────────────────────────── 11-7
Type name collision error ──────────────────────────────── 11-7
Backup and recovery of Business Modeler IDE data ─────────────── 11-8
Localized property with default value changes its master locale setting after
transfer to a remote site ──────────────────────────── 11-9
BASE10001: ENCODING_VALIDATION_ERROR ─────────────────── 11-9
FND10001: MULTIPLE_INTERDEPENDENT_LOV_ATTACHMENT_ERROR ─── 11-11
FND10002: INVALID_CONDITION_FOR_DEEP_COPY_RULE_ERROR ────── 11-12
FND10003: THE_ELEMENT_HAS_BEEN_REMOVED_FROM_ITS
_DEPENDENT_TEMPLATE ─────────────────────────── 11-13
FND10004: CANNOT_SET_LOCALIZABLE_CONSTANT_ATTACHMENT_ERROR
──────────────────────────────────────────── 11-13

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
11. Troubleshooting the Business Modeler
IDE
Reviewing the log files
If you encounter errors while running the Business Modeler IDE, examine the following types of log files:

• Error logs
Record Business Modeler IDE errors. See the .log file at the following location:

workspace\.metadata\.log

To find the workspace location, in the Advanced perspective choose File→Switch Workspace.

• Deployment logs
Record deployment data. See the deploy.log, deploy_lang.log, and client_meta_cache.log files at
the following location:

workspace\project-name\output\deploy\server-connection-profile-name\date\

• Console logs
Record errors that display in the console. See the console.log file in the following location:

workspace\project-name\output\console.log

Deployment errors

Check the deployment log

If you encounter errors deploying data model to a server, first check the deployment log. The
deploy.log file is located in the Project Files\output\deploy\server-connection-profile-name\date\
folder.

Check your deployment setup

Perform the following checks to make sure your environment is set up correctly for deployment:

1. Ensure that the Teamcenter server is running and that you can connect to it.
Deployment from within the Business Modeler IDE is done using two-tier (IIOP), four-tier (HTTP or
HTTPS), or Teamcenter client communication system (TCCS):

• Two-tier (IIOP)

Business Modeler IDE PLM00071 11.2 11-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
11. Troubleshooting the Business Modeler IDE

If you have two-tier rich client installed, you should launch the two-tier rich client and log on to
the rich client to ensure there are no two-tier connection issues. If you are not able to log on to
the two-tier rich client, the problem is with the two-tier setup.

• Four-tier (HTTP or HTTPS)


If you have set up a four-tier connection, you should test the setup by connecting to the
Teamcenter server using a thin client. If you are not able to connect with the thin client, the
problem is with the four-tier setup.

• Teamcenter client communication system (TCCS)


If you connect to the server using TCCS, ensure that the TCCS is set up property. Run the tccs-
installation-location\tccs\_Teamcenter client communication system_installation\Change
Teamcenter client communication system Installation file.

2. Ensure that you have a server connection profile set up. Server connection profiles define the
Teamcenter servers to connect to. You must create a profile to deploy your extensions.

3. Ensure that you do not have TC_DATA set as a system variable. It may be pointing to an incorrect
TC_DATA location.

4. If you are running in two tier mode, make sure you have an FSC set up on your machine. This is
required because Business Modeler IDE uses transient volumes to transfer files during deployment.

a. Ensure that the FMS_HOME environment variable is pointing to the correct location.

b. Verify that the transient volumes variables in the fmsmaster.xml file are pointing to the
correct location.

c. Check the FCC status by running the fccstat -status command in the Teamcenter command
prompt.
If the command shows that FCC is offline, run the fccstat -restart command to restart FCC,
and then run fccstat -status again to ensure that FCC is running.

5. Run the Business Modeler IDE launch batch file (installation-location\bmide\client\bmide.bat)


with the -clean option. This removes cached data that might be interfering with deployment.

Cannot connect to the server error

Problem
The deployment hangs.

Possible cause
The server is not running.

Solution

11-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Instance in use error

Start the server using the start_imr file, for example:

TC_ROOT\iiopservers\start_imr.bat

You must do this before starting the Business Modeler IDE in the two-tier architecture to deploy
your extensions.

Instance in use error

Problem
The following error appears in the deploy.log file:

Instance in use

Possible cause
You have deleted objects that you have already deployed earlier in your work session, and the two-
tier rich client is set up with PER_CLIENT in the TcServer Activation Mode box. This results in the
deployment detecting the data model objects you deleted earlier.

Solution
Shut down the server, launch the TC_ROOT\iiopservers\start_imr.bat file again, and deploy the
Business Modeler IDE.

Class is referenced error

Problem
When you deploy, you get an error stating that deployment of a class fails because the class is
referenced.

Possible cause
Some changes to classes cannot be deployed to the database if the affected classes are referenced
in the server session. For example, if you make changes to WorkspaceObject class and try to
deploy, you get an error saying that the class is referenced. The reason is that when you start the
server session it uses the ITK level logon that initializes all the ITK modules. This results in loading
the Home folder of the logged in user. Because Home folder is an instance of Folder class, which is
a subclass of WorkspaceObject, the system does not allow the changes to the WorkspaceObject
class.

Solution
Create a template and use Teamcenter Environment Manager (TEM) to install your changes to
the database.

Business Modeler IDE PLM00071 11.2 11-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
11. Troubleshooting the Business Modeler IDE

Incompatible argument error

Problem
When you deploy, you get the following error:

An internal error occurred during: "Deploying to Teamcenter Server".


(class: org/jacorb/orb/Delegate, method: getReference signature:
(Lorg/jacorb/poa/POA;)Lorg/omg/CORBA/portable/ObjectImpl;)
Incompatible object
argument for function call

Possible cause
You installed the Business Modeler IDE to an existing Eclipse environment, and the config.ini
file was not updated with an OSGI setting that resolves a boot delegation problem.

Solution
In the ECLIPSE_HOME/configuration directory, open the config.ini file and add the following:

org.osgi.framework.bootdelegation=*

This property is a list of packages that require delegation to the boot classpath, bypassing the
controlled class loading mechanism.

Deployment fails when business object names do not contain USASCII7


characters

Problem
Deployment of business objects that have non-USASCII7 characters in the business object name
causes deployment to fail.

Possible cause
Business object (type) names and class names entered in the Business Modeler IDE while
performing data model extensions must be USASCII7 characters only. This prevents any template
install, upgrade, or deployment issues.

Solution
In Teamcenter 8.2, the capability to enter localized names for business objects was provided.
For any existing business object (type) names or existing class names that do not follow the
USASCII7 format, you can use the change_type_name utility to rename the type name to a valid
USASCII7 name.

11-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Time zone error

Time zone error

Problem
Live update fails when you perform a live update with a time zone setting that is different from the
time zone setting previously in use during a standard template deployment.

Possible cause
The failure occurs because the values change for all date format dependent elements. This affects
elements such as TcClass and TcType that have certain properties of date type.

Solution
Whenever you change the time zone of your server host, you must perform a full update of your
template using the Full Update option in Teamcenter Environment Manager (TEM). This is
necessary so that any subsequent live updates proceed without any errors.

Incorporate Latest Live Update Changes error

Problem
After using the Incorporate Latest Live Update Changes command, the action on the Merge
wizard does not match the expected action. For example, although an LOV value is deleted, after
incorporating the latest live update changes, the Merge wizard shows that the LOV value
change is Add no Action rather than Delete.

Possible cause
After incorporating the latest live update changes into the standard template, the template is not
deployed. Instead, changes are made to the live update project to those same elements that were
merged.

Solution
Before choosing Incorporate Latest Live Update Changes:

1. Clear the Allow Live Updates check box on the Live Update preference.

2. Choose BMIDE→Live Update→Incorporate Latest Live Update Changes.

3. Deploy the project.

4. Select the Allow Live Updates check box on the Live Update preference.

Business Modeler IDE PLM00071 11.2 11-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
11. Troubleshooting the Business Modeler IDE

Business Modeler IDE has slow performance, an out-of-memory


error, or does not launch
Problem
The Business Modeler IDE runs slowly, displays an out-of-memory error, or does not launch.

Possible cause
The Business Modeler IDE has too many projects open, or not enough virtual machine memory is
being allocated.

Solution
If you have many projects opened in the Business Modeler IDE, close all the projects that you are
not working on. You should keep only one or two projects open at a time.
Set the virtual memory allocated to the Business Modeler IDE to a higher level in both the
BusinessModelerIDE.ini file and the BMIDE_SCRIPT_ARGS environment variable. For example,
use the -Xmx1024M value to allocate 1 GB of RAM to the Business Modeler IDE.

Note:
If you perform live updates, you must have a minimum of 2 GB of RAM on the system
running the Business Modeler IDE to allow for other processes.

Caution:
If you set the Xmx value to a higher value than the RAM your system has, you may get the
following error when you launch the Business Modeler IDE:

Could not create the Java virtual machine.

Set the Xmx value to a lower setting that your system supports, in both the
BusinessModelerIDE.ini file and the BMIDE_SCRIPT_ARGS environment variable.

If these measures do not solve the problem, try the following:

• If you are running the Business Modeler IDE in an Eclipse environment, run the following
command to increase virtual memory to 1 GB:

eclipse.exe -vmargs -Xmx1024M

• Try closing some other applications. For example, many development machines have the index
search engine enabled in the services panel. Try disabling the search engine.

11-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Could not create the Java virtual machine error

Could not create the Java virtual machine error


Problem
The Business Modeler IDE does not run at startup, and shows the following error:

Could not create the Java virtual machine

Possible cause
More memory is being allocated to the Business Modeler IDE than is available on the computer.

Solution
Set the virtual memory allocated to the Business Modeler IDE to a level lower. Set the Xmx
value to a setting that your system supports, in both the BMIDE_SCRIPT_ARGS environment
variable and the BusinessModelerIDE.ini file.

Workspace is locked error


Problem
You see the following error message when you launch the Business Modeler IDE, and you do not
have the Business Modeler IDE or Eclipse already running:

Could not launch the product


because the associated workspace
is currently in use.

Possible cause
The Eclipse mechanism locked the workspace to prevent from launching the Business Modeler IDE
more than once.

Solution
Check to make sure you do not have the Business Modeler IDE or Eclipse already running, and
remove .lock file that is located in the following location:

workspace\.metadata\.lock

To find the workspace location, in the Advanced perspective choose File→Switch Workspace.

Type name collision error


Problem
You see an error message in the Console view when you launch the Business Modeler IDE that is
similar to the following:

Business Modeler IDE PLM00071 11.2 11-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
11. Troubleshooting the Business Modeler IDE

Model Error: file.xml Line: number Column: number


A Business Object is already defined with the name "name". Choose
another name.

Possible cause
A data model object in your custom template has the same name as one in a COTS template
installed to the Business Modeler IDE.

Solution
You must rename your custom data model object so that it no longer collides with the identically
named object in the COTS template.
If it is a business object, in the Business Objects folder, right-click the custom business object you
want to rename and choose Rename. Then run the change_type_name utility to change the
name of the business object in the database.
For other kinds of data model objects, such as datasets, you must follow other steps. For
instructions, see the Business Modeler IDE Best Practices Guide on GTAC at the following URL:

http://support.industrysoftware.automation.siemens.com/docs/teamcenter

Backup and recovery of Business Modeler IDE data


Problem
When deployment of a template to a database fails, you must restore data to the state it was in
prior to failure.

Possible cause
For example, a deployment fails when using Teamcenter Environment Manager (TEM). To correct
the problem, you must restore the database, volumes, and TC_DATA\model directory. You must
also rename your TC_ROOT\install\template folder (for example, mytemplate_old). However, after
correcting the package file and attempting to install it again using the TEM update, the deployment
fails again.
TEM cannot determine whether or not a template folder in the TC_ROOT\install directory has been
renamed, so installation failures result unless that directory is also rolled back.

Solution
Maintain a regular backup of all relevant data so that you can restore the data to the state it was
in prior to failure. Use the Project Backup dialog box to set project backup. To access this dialog
box, right-click the project and choose Properties→Teamcenter→Project Backup. By default,
projects are backed up at Business Modeler IDE shutdown and project close. Then retrieve the
backed-up project files and restore your project data.

11-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Localized property with default value changes its master locale setting after transfer to a remote site

Localized property with default value changes its master locale


setting after transfer to a remote site
Problem
When creating a Teamcenter object instance using a business object type that has a localized
property with a default value, the value of the property is automatically populated with the default
value. However, the localization VLA associated with this property is not populated with the master
locale and the value. Therefore, when this object is transferred to the remote site that has a
different master locale, the master locale of this localized property is changed to the remote site
master locale.

Solution
There are two workarounds to fix this problem.

When creating a custom localized property with default value in the Business Modeler IDE:

1. Do not define the default value in the property creation dialog box. Simply create the
property first.

2. After the new property is created, modify its InitialValue property constant and add the
initial value in the Modify Property Constant dialog box.

3. Package and deploy the change.

If you already defined the localized property with the default value from the property creation
dialog box in the Business Modeler IDE:

1. Before transferring the object to the remote site, open the Edit Properties dialog box in
the rich client.

2. In the Edit Properties dialog box, click the Localization button next to the localized
attribute with the default value.

3. In the Localization button dialog box, click the OK button to dismiss the dialog box.

4. Close the Edit Properties dialog box and transfer the object to the remote site.

BASE10001: ENCODING_VALIDATION_ERROR
Problem
You receive the following error message:

BASE10001: ENCODING_VALIDATION_ERROR

Business Modeler IDE PLM00071 11.2 11-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
11. Troubleshooting the Business Modeler IDE

Possible cause
The template contains one or more characters that do not belong to the character set expected by
the Business Modeler IDE.

Solution
This error can occur when loading or deploying a template:

• Template loading
This error can occur when a template is:

• Loaded
For example, when a new project is created in the Business Modeler IDE or an existing project
is opened or imported to the Business Modeler IDE.

• Reloaded
For example, when a user performs the Reload Data Model action on a project in the
Business Modeler IDE.

• Migrated
For example, when the Business Modeler IDE detects that the template belongs to an older
version and runs the Migration Wizard.

To resolve this error:

1. Look at the file in which the error occurs and determine its locale. If the file is a language
file (for example, custom_template_en_US.xml), the locale of this file can be determined
from the file name. For example, if the file name is custom_template_en_US.xml, the
locale is en_US (that is, English).
Language files are typically located in the PROJECT_HOME/extensions/lang folder. If the
file is a template file (for example, default.xml), then the locale of this file can be
determined by the value of the SiteMasterLanguage global constant. This value can be
checked from the Global Constants Editor in the Business Modeler IDE.

2. Check the character set mapping:

a. Browse to the text server location, which is defined by the TC_MSG_ROOT


environment variable. Typically, this is located at TC_ROOT/lang/textserver directory.

b. Browse to the no_translation folder within the textserver folder.

c. Open the textsrv_text.xml file in a text editor. Within this file search for the following
section:

<-- SECTION DEFINING THE SMALLEST OR CUSTOM ENCODING FOR EACH LOCALE:
THIS IS USED FOR BMIDE LOCALIZATION VALIDATION -->

11-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
FND10001: MULTIPLE_INTERDEPENDENT_LOV_ATTACHMENT_ERROR

This section defines the character set mapping for each locale. For example:

<key id="locale_validation_encoding_en_US">us-ascii</key>

This implies that for the English locale (en_US), the characters should belong to the
US-ASCII character set. It is advisable that you conform to this restriction. However, if
you feel that you need to use a higher encoding for this locale, edit the mapping as
follows:

<key id="locale_validation_encoding_en_US">iso-8859-1</key>

This implies that for the English locale (en_US), the characters should belong to the
ISO-8859-1 character set. Instead of iso-8859-1, you can replace your own character
set.

Note:
Your server host and database must be configured for the specified character
set.

d. Restart the Business Modeler IDE.

• Template deployment or upgrade


This error can occur when a template is:

• Deployed
For example, when a template is deployed from the Business Modeler IDE or installed using
Teamcenter Environment Manager (TEM).

• Upgraded
For example, when a template is upgraded from an older version to a newer version.

The database cannot accept characters that do not belong to the specified character set. The
error message specifies the character set against which the validation was performed.
To resolve this error, do either of the following:

• Fix the template by entering only characters that are allowed by the specified character set.

• Fix the database encoding to accept characters belonging to your required character set.

FND10001: MULTIPLE_INTERDEPENDENT_LOV_ATTACHMENT_ERROR
Problem
You receive the following error message:

Business Modeler IDE PLM00071 11.2 11-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
11. Troubleshooting the Business Modeler IDE

FND10001: MULTIPLE_INTERDEPENDENT_LOV_ATTACHMENT_ERROR

Possible cause
The template contains an LOV with multiple interdependent LOV attachments to the same
business object type.
This warning can occur in either of the following cases:

• When a template is loaded, for example, when an existing project is opened or imported in the
Business Modeler IDE.

• When a template is upgraded, for example, when the Business Modeler IDE detects that the
template belongs to an older version and runs the Template Project Upgrade wizard.

Consider the MyItem business object with the following properties: UserState, UserCity,
SpouseState, and SpouseCity. The user has defined an interdependent LOV attachment as
follows:

UserState
UserCity
SpouseState
SpouseCity

In this case, the warning is shown, and either of the attachments (UserState > UserCity or
SpouseState > SpouseCity) is not loaded and the user cannot see the attachment in the Business
Modeler IDE.

Solution
Create the structure again and save the data model.

FND10002: INVALID_CONDITION_FOR_DEEP_COPY_RULE_ERROR
Problem
You receive the following error message:

FND10002: INVALID_CONDITION_FOR_DEEP_COPY_RULE_ERROR

Possible cause
The signature of the condition specified in the deep copy rule does not conform to the standard
for deep copy rules. The supported signatures are:

• The default condition is isTrue or isFalse.

• The condition has three input parameters in this order: DeepCopyRule, POM_object (or its
subtype), and target business object (or its supertype).

11-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
FND10003: THE_ELEMENT_HAS_BEEN_REMOVED_FROM_ITS _DEPENDENT_TEMPLATE

• The condition has four input parameters in this order: DeepCopyRule, POM_object (or its
subtype), target business object (or its supertype), and UserSession.

Solution
To resolve this error, manually change the condition signature in the template extension file. You
can also remove the deep copy rule from the XML file and re-create it after loading the project with
the valid condition.

FND10003: THE_ELEMENT_HAS_BEEN_REMOVED_FROM_ITS
_DEPENDENT_TEMPLATE
Problem
You receive the following error message:

FND10003: THE_ELEMENT_HAS_BEEN_REMOVED_FROM_ITS_DEPENDENT_TEMPLATE

Possible cause
A custom template changes a COTS element from a dependent template, and then the COTS
template removes or modifies that element. For example, this problem occurs if a custom template
changes the localization value of a property defined in its dependent template, and in next version
of the dependent template, the name of that property is changed or the property is removed.

Solution
Manually remove the modified element from the XML file of the custom template and reload the
data model.

FND10004:
CANNOT_SET_LOCALIZABLE_CONSTANT_ATTACHMENT_ERROR
Problem
You receive the following error message:

FND10004: CANNOT_SET_LOCALIZABLE_CONSTANT_ATTACHMENT_ERROR

Possible cause
The Localizable property constant is set to true on a string property that has an initial value set.
You can no longer set the Localizable property constant on string properties with an initial value.

Solution

Business Modeler IDE PLM00071 11.2 11-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
11. Troubleshooting the Business Modeler IDE

It is not advisable to set the Localizable property constant to true when you have an initial value
set. This could cause problems in a Multi-Site environment. However, this should not pose a
problem if you do not use a Multi-Site environment.

11-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference
Business Modeler IDE best practices ───────────────────────── A-1
Business Modeler IDE utilities ───────────────────────────── A-1
Business Modeler IDE utilities reference ─────────────────────────── A-1
Obsolete utilities and APIs ─────────────────────────────────── A-4
Business Modeler IDE preferences ─────────────────────────── A-4
Finding Business Modeler IDE preferences ───────────────────────── A-4
AltIdentifier_require_on_create ──────────────────────────────── A-5
ASSIGNED_ITEM_ID_MODIFIABLE ─────────────────────────────── A-5
ASSIGNED_ITEM_REV_MODIFIABLE ───────────────────────────── A-6
BMF_BYPASS_ALL_EXTENSION_RULES ──────────────────────────── A-6
BMF_CUSTOM_IMPLEMENTOR_PATH ───────────────────────────── A-7
BMF_SUPPRESS_ACTION_RULES_DISPLAY ────────────────────────── A-7
BMIDE_ALLOW_FULL_DEPLOY_FROM_CLIENT ─────────────────────── A-8
BMIDE_ALLOW_LIVE_UPDATES ──────────────────────────────── A-9
Bypass_property_rules ───────────────────────────────────── A-9
BYPASS_RULES ───────────────────────────────────────── A-10
IdentifierContextPref ───────────────────────────────────── A-10
IDENTIFIER_deepcopy_types_revise ──────────────────────────── A-11
IdentifierLengthPref ────────────────────────────────────── A-11
ITEM_autogenerate_id ──────────────────────────────────── A-12
Live Update ─────────────────────────────────────────── A-12
METHOD_CM_execute_before_custom ────────────────────────── A-14
NR_BYPASS ─────────────────────────────────────────── A-14
TC_dataset_deep_copy_rules ──────────────────────────────── A-15
TC_KEY_STRING_DELIMITER_VALUES ──────────────────────────── A-16
TC_MFK_DEFAULT_DOMAIN ───────────────────────────────── A-16
Treat_Curr_Rev_As_Any_Rev ───────────────────────────────── A-17
Treat_Next_Rev_As_Any_Rev ──────────────────────────────── A-17
TYPE_DISPLAY_RULES_list_of_primary_types ─────────────────────── A-18
TYPE_DISPLAY_RULES_list_types_of_subclasses ───────────────────── A-19
Business Modeler IDE perspectives, views, and editors ───────────── A-19
Standard perspective ───────────────────────────────────── A-19
Advanced perspective ───────────────────────────────────── A-22
Business Modeler IDE editors ──────────────────────────────── A-26
Eclipse views used by the Business Modeler IDE ───────────────────── A-56

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference
Business Modeler IDE best practices
For Business Modeler IDE best practices, see the Business Modeler IDE Best Practices Guide on GTAC
(Global Technical Access Center) at the following URL. You must have a WebKey account to access this
page.

http://support.industrysoftware.automation.siemens.com/docs/teamcenter

Business Modeler IDE utilities

Business Modeler IDE utilities reference

Business Modeler IDE utilities allow you to perform a number of database actions related to your
Business Modeler IDE work. A number of command line utilities are available to work with Business
Modeler IDE data model.

Utilities are located in the bin directory where the Teamcenter server is installed, and each utility can be
initiated from the Teamcenter Command Prompt by entering its name and optional parameters.

The following Business Modeler IDE utilities are available:

• bmide_commontemplategenerator
Generates a common template between two or more sites and generates site-specific templates for
each site.

• bmide_comparator
Compares two complete Teamcenter model files and generates a differences file.

• bmide_consolidator
Consolidates all templates listed in the master file into a single file.

• bmide_deployment_lock
Prevents simultaneous deployments to a database from any source, including Teamcenter
Environment Manager (TEM) and the Business Modeler IDE. Only administrative users are allowed to
run this utility.

• bmide_generatecode
Autogenerates C/C++ code.

• bmide_generate_compare_report
Generates a report containing the difference between two data models.

Business Modeler IDE PLM00071 11.2 A-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

• bmide_generate_condition_report
Generates a report showing the model elements that use the selected condition.

• bmide_generate_datamodel_report
Generates a report showing details of the selected categories of elements in a data model.

• bmide_generate_datamodel_doc_report
Generates a report of all data model elements for all templates in the data model

• bmide_manage_batch_lovs
Manages the values for batch LOVs, which are stored solely in the Teamcenter database. By contrast,
static LOVs are managed in a Business Modeler IDE template. Use this utility to update and extract the
values for batch LOVs and generate a report of batch LOVs.

• bmide_manage_templates
Adds templates to the database table.

• bmide_manage_batch_lovs
Manages the values for LOVs marked as externally managed, whose values are stored solely in the
Teamcenter database.

• bmide_setupknowledgebase
Generates the CLIPS (C Language Integrated Production System) knowledge base file in ASCII (text)
and binary format, and uploads it to the CLIPS dataset.

• business_model_extractor
Extracts the data model definitions in the database into a XML file.

• business_model_updater
Updates schema and rules in the database. Use this utility when you convert secondary business
objects to primary business objects.

• change_datasets
Modifies the dataset reference name and the associated tool. This utility is run when resolving dataset
type name collisions.

• clips_dataset_upload
Stores both the ASCII (text) version and binary version of the CLIPS knowledge base files into the
CLIPS (singleton) dataset in Teamcenter.

• convert_forms
Allows you to convert legacy file-based forms to storage-based forms.

• deploy_archive
Archives deployment files for both Teamcenter Environment Manager (TEM) and the Business
Modeler IDE.

A-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE utilities reference

• execute_rbf_rules
Executes the specified application extension rule. The utility validates the application extension rules
are deployed and functioning correctly. Use this utility to verify application extension rules in a
database.

• getglobalconstantvalue
Returns the value of a particular global constant in the database. The utility provides help in
troubleshooting issues on the server once the global constants are deployed. Use this utility to verify
global constants in a database.

• get_key_definition
Gets the multifield key definition for a business object type.

• get_key_string
Gets the multifield key value of an item instance as a string containing property names and values.

• getpropertyconstantvalue
Returns the value of a property constant on a particular business object and property in the database.
Use this utility to verify property constants in a database.

• gettypeconstantvalue
Returns the value of a business object (type) on a particular business object in the database. Use this
utility to verify business object constants in a database.

• manage_icon_files
Manages uploading icon files to the database. Icons are images placed on business object instances to
identify them in the user interface.

• manage_model_files
Manages upload and download of files in the TC_DATA_MODEL directory into Fnd0BMIDEResource
datasets. These Business Modeler IDE datasets are stored in the database in a Fnd0BMIDEResource
folder. You can query for this folder in the rich client for quick reference to the Business Modeler IDE
resource files that are maintained in the database. You can use these files to restore your Business
Modeler IDE environment.

• mfk_update
Updates multifield key definitions in the database. Run this utility to check that the new key
definitions do not cause any problems when they are installed to the server.

• package_live_updates
Packages live update templates stored in the database. Only templates that are enabled for live
updates can be packaged using this utility.

• process_action_rules
Lists or deletes all the existing action rules in the database. Use this utility to remove old action rules
from a database.

Business Modeler IDE PLM00071 11.2 A-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

• taxonomy
Generates a character-mode summary of the POM class hierarchy.

Obsolete utilities and APIs

In Engineering Process Management, some utilities and ITK APIs allowed you to change the data model
directly. However, the data model is now maintained separately through use of XML templates and is
updated only through the Business Modeler IDE deployment or custom template installation. Therefore,
those utilities and APIs that allowed you to change the data model directly are now obsolete.

Some of the obsoleted utilities in Teamcenter are:

apply_naming_rule
business_rules_dtdxml2plmxml
create_change_types
deepcopyrules_migration
grm
import_export_business_rules
install_bmf_rules
install_lovs
install_typedisplay_rules
install_types
make_datasettype
migrate_alias
migrate_complex_property_rules
sb (Schema Browser)

Warning:
The obsoleted utilities and APIs cannot be used to add custom classes, attributes, types, LOVs,
rules, and so on, to the database. The only exception to this is if a Siemens PLM Software
representative asks you to use the utility. The Business Modeler IDE replaces these utilities and is
the only mechanism for maintaining and deploying a data model.

Business Modeler IDE preferences

Finding Business Modeler IDE preferences

Business Modeler IDE preferences allow you to modify the behavior of Business Modeler IDE data model
objects. To see preferences, in the My Teamcenter application in the rich client, choose Edit→Options
and at the bottom of the Options dialog box click the Filters link or the Search link.

A-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
AltIdentifier_require_on_create

AltIdentifier_require_on_create

DESCRIPTION

Determines whether an alternate identifier is required when creating an identifiable of the type
specified in this preference in a rich client session. Valid values are to a set of Item types. If an item type
is included in this preference, whenever the item revision associated with this type is created in the rich
client, an alternate is required.

VALID VALUES

Accepts one or more strings as values. Each string must be a valid Teamcenter item type.

DEFAULT VALUES

None.

DEFAULT PROTECTION SCOPE

Site preference.

ASSIGNED_ITEM_ID_MODIFIABLE

DESCRIPTION

Determines whether an automatically generated item ID can be modified by users after it has been
generated.

VALID VALUES

0 When the item ID is generated by clicking the Assign button, the system generated item ID
cannot be modified by the user.
1 When the item ID is generated by clicking the Assign button, the system generated item ID
can be modified by the user.

DEFAULT VALUES

DEFAULT PROTECTION SCOPE

Site preference.

Business Modeler IDE PLM00071 11.2 A-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

ASSIGNED_ITEM_REV_MODIFIABLE

DESCRIPTION

Determines whether an automatically generated item revision ID can be modified by users after it has
been generated.

VALID VALUES

0 When the item revision ID is generated by clicking the Assign button, the system generated
item revision ID cannot be modified by the user.
1 When the item revision ID is generated by clicking the Assign button, the system generated
item revision ID can be modified by the user.

DEFAULT VALUES

DEFAULT PROTECTION SCOPE

Site preference.

BMF_BYPASS_ALL_EXTENSION_RULES

DESCRIPTION

Allows you to override the existing extension rules.

Note:
This preference can be set using the preference name as an environment variable.

VALID VALUES

true You can change the extension rules.


false You cannot change the extension rules.

DEFAULT VALUES

false

A-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
BMF_CUSTOM_IMPLEMENTOR_PATH

DEFAULT PROTECTION SCOPE

System preference.

BMF_CUSTOM_IMPLEMENTOR_PATH

DESCRIPTION

Defines the full path to custom libraries where any custom methods for the Business Modeler IDE
framework are maintained. Alternatively, you can add the custom libraries to a directory in your system
PATH environment variable (for example, TC_BIN).

Multiple path definitions are allowed in this preference, and you can define both Windows and UNIX/
Linux paths at the same time. The application only loads those that match the current server platform.
This preference needs to be set so that the application knows where to look for custom extensions. Once
set, close the rich client and start it again to load the new site preference values.

VALID VALUES

Accepts a single string as value. Must be a valid file location.

DEFAULT VALUES

None.

DEFAULT PROTECTION SCOPE

Site preference.

BMF_SUPPRESS_ACTION_RULES_DISPLAY

DESCRIPTION

Determines whether to display the Action Rules tab in the Business Modeler IDE application. Use this
tab to configure canned methods. These methods were moved to the Extensions Rules tab during
Teamcenter 2005. If your site created custom canned methods, however, these custom methods cannot
be converted to extension rules without implementation details such as function name, library, and so
on, for creating an extension. Thus action rules and the Action Rules tab are still supported.

VALID VALUES

ON Suppresses the Action Rules tab in the Business Modeler IDE application.
OFF Does not suppress the Action Rules tab in the Business Modeler IDE application.

Business Modeler IDE PLM00071 11.2 A-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

DEFAULT VALUES

ON

DEFAULT PROTECTION SCOPE

Site preference.

BMIDE_ALLOW_FULL_DEPLOY_FROM_CLIENT

DESCRIPTION

Determines whether Business Modeler IDE clients can deploy templates to the server that contain the
full data model, including schema definitions such as classes, attributes, business objects, properties,
and so on.

Set this preference to False so that the schema on a production server cannot be inadvertently updated
from a Business Modeler IDE client. When you use this setting, you must schedule a server down time to
update the schema using the Teamcenter Environment Manager install wizard. With this setting, you
can still use the live update functionality in the Business Modeler IDE to update non-schema data on the
production server.

Set this preference to True to deploy all data model, including schema changes. This is typical when you
are deploying to a test server where the number of users are few and updates occur more frequently.

VALID VALUES

True Allows any Business Modeler IDE client with administrative access to update the schema,
business objects, business rules, and other Business Modeler IDE objects on the server.
False No Business Modeler IDE client can update the server directly. Templates must be updated
using the Teamcenter Environment Manager install wizard.

DEFAULT VALUES

True

DEFAULT PROTECTION SCOPE

Site preference.

A-8 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
BMIDE_ALLOW_LIVE_UPDATES

BMIDE_ALLOW_LIVE_UPDATES

DESCRIPTION

Allows live update deployment from the Business Modeler IDE and Teamcenter Environment Manager
(TEM). This preference is set to true when you select the Allow Live Updates check box on the Live
Update preference. You cannot change this preference directly.

VALID VALUES

true Allows live updates from the Business Modeler IDE and TEM.
false Prevents live updates from the Business Modeler IDE and TEM.

In this case, updates to a production server can be made only during system downtime by
installing a template using the full deployment feature in TEM.

DEFAULT VALUES

true

DEFAULT PROTECTION SCOPE

Site preference.

Bypass_property_rules

DESCRIPTION

Determines whether property rules defined in Business Modeler IDE are bypassed.

VALID VALUES

0 Property rules are not bypassed.


1 Property rules are bypassed.

DEFAULT VALUES

DEFAULT PROTECTION SCOPE

Site preference.

Business Modeler IDE PLM00071 11.2 A-9


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

BYPASS_RULES

DESCRIPTION

Allows you to override the existing naming rules.

Note:
This preference can be set using the preference name as an environment variable.

VALID VALUES

true You can change the naming rules.


false You cannot change the naming rules.

DEFAULT VALUES

false

DEFAULT PROTECTION SCOPE

System preference.

IdentifierContextPref

DESCRIPTION

Defines the separator between the ID or revision ID and the context name in the object_str property of
an identifier.

VALID VALUES

Accepts a single character as a value.

DEFAULT VALUES

DEFAULT PROTECTION SCOPE

User preference.

A-10 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
IDENTIFIER_deepcopy_types_revise

IDENTIFIER_deepcopy_types_revise

DESCRIPTION

Lists the Identifier business object types that are permitted to be revised when an item is revised.
Identifier business object types are used to define alternate IDs for items.

VALID VALUES

Accepts identifier and identifier revision business object types, for example:

Identfier
IdentifierRev

You can also list custom identifier business object types, for example:

G5MyIdentfier
G5MyIdentifierRev

DEFAULT VALUES

None.

DEFAULT PROTECTION SCOPE

Site preference.

IdentifierLengthPref

DESCRIPTION

Restricts the maximum length of the ID Context Name in the object_str property of an identifier.

VALID VALUES

Accepts a single string as a value. Must be a positive integer. The maximum value is 240. (The maximum
length of the ID Context Name is 32 characters.)

DEFAULT VALUES

DEFAULT PROTECTION SCOPE

User preference.

Business Modeler IDE PLM00071 11.2 A-11


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

ITEM_autogenerate_id

DESCRIPTION

Determines whether an initial ID is automatically created when creating an item of the type specified in
this preference in a rich client session.

Caution:
This preference is deprecated.

VALID VALUES

Accepts one or more strings as values. Each string must be a valid Teamcenter item type.

DEFAULT VALUES

None.

DEFAULT PROTECTION SCOPE

Site preference.

Live Update

DESCRIPTION

Specifies the data model elements to enable for live update.

Select the Allow Live Updates check box to set the BMIDE_ALLOW_LIVE_UPDATES preference and
allow live update deployment from the Business Modeler IDE and Teamcenter Environment Manager
(TEM).

VALID VALUES

To select the elements to allow for live update, move them from the Available list on the left to the
Selected for Live Updates list on the right:

Alias ID Rule
Alternate ID Rule
Application Extension Point
Application Extension Rule
Business Context
Business Object Constant
Business Object Constant Value Override

A-12 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Live Update

Change
Condition
Deep Copy Rule
Dispatcher Service Config
Display Rule
EDA Derived Data
Event Type
Event Type Mapping
Functionality
GRM Rule
Global Constant
Global Constant Value Override
Icon
ID Context
IRDC
LOV
LOV Attachment
Localization
Naming Rule
Naming Rule Attachment
Occurrence Type
Print Configuration
Property Constant
Property Constant Value Override
Property Renderer
Revision Naming Rule
Status
Storage Media
System Stamp Configuration
Tool
Unit of Measure
Verification Rule
View Type

DEFAULT VALUES

None.

DEFAULT PROTECTION SCOPE

Site preference.

Business Modeler IDE PLM00071 11.2 A-13


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

METHOD_CM_execute_before_custom

DESCRIPTION

Determines whether all canned methods are executed at a site before site custom methods or after site
custom methods.

VALID VALUES

0 All canned methods are registered after site custom methods are registered.
1 All canned methods are registered before site custom methods are registered.

DEFAULT VALUES

None.

DEFAULT PROTECTION SCOPE

Site preference.

NR_BYPASS

DESCRIPTION

Allows you to bypass naming rules, when your group is the System Administrator group.

Note:
This preference can be set using the preference name as an environment variable.

VALID VALUES

True Allows system administrators to bypass naming rules.


False Prevents system administrators from bypassing naming rules.

DEFAULT VALUES

False

DEFAULT PROTECTION SCOPE

System preference.

A-14 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
TC_dataset_deep_copy_rules

TC_dataset_deep_copy_rules

DESCRIPTION

Defines which dataset business objects are deep copied when using either the Save As or Revise
command on the primary dataset. A deep copy creates copies of not only the primary dataset, but also
secondary datasets. Use this preference to define the deep copy of the primary dataset business object,
the secondary dataset business object, and the relation with which the latter is attached to the former.

Note:
This preference is deprecated. The recommended best practice is to replace this preference with
deep copy rules in the Business Modeler IDE. Although a deep copy during the revise action
continues to process this preference, the system ignores preferences with conflicting deep copy
rule configurations.

VALID VALUES

Accepts multiple strings as values. Each value must specify a valid primary dataset, secondary dataset,
and relation in the following format:

primary dataset type:relation type:secondary dataset type

primary dataset type is the dataset attached to the item revision, secondary dataset type is the dataset
business object associated with the primary dataset type, and relation type is the relation with which
the secondary dataset is associated with the primary dataset. For example:

UGMASTER:IMAN_Rendering:DirectModel

This value specifies that when the Save As or Revise command is performed on a UGMASTER dataset,
any secondary IMAN_Rendering datasets attached with the DirectModel relation are also copied.

This preference accepts the asterisk (*) character as a wildcard. Use the following setting to allow deep
copy of all primary datasets with any attached secondary dataset using any relation:

*:*:*

DEFAULT VALUES

UGMASTER:IMAN_Rendering:DirectModel
UGPART:IMAN_Rendering: DirectModel
UGALTREP:IMAN_Rendering:DirectModel
DirectModel:TC_Derived:NXDerived

Business Modeler IDE PLM00071 11.2 A-15


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

DEFAULT PROTECTION SCOPE

Site preference.

TC_KEY_STRING_DELIMITER_VALUES

DESCRIPTION

Sets the delimiters used in the input for multifield key utility arguments.

Set the preference value as two characters you want to use as delimiters. The first character is the
delimiter for separating entries, and the second is for separating the name and value. If the preference is
not set, the system uses the ,= characters as shown in the following example of input for the
get_key_string utility:

item_id=123456,object_type=Document

If you set the preference to $#, the input is:

item_id#123456$object_type#Document

Note:
This preference is not created by the Teamcenter installation process. If you require this
functionality, you must create the preference.

VALID VALUES

Any two ASCII characters.

DEFAULT VALUES

,=

DEFAULT PROTECTION SCOPE

Site preference.

TC_MFK_DEFAULT_DOMAIN

DESCRIPTION

Defines the domain used by the ITEM_find_item ITK function where the multifield key unique
identifier is not used. Using this preference ensures that external CAD applications that are not
multifield key compliant can locate objects in Teamcenter.

A-16 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Treat_Curr_Rev_As_Any_Rev

A valid value is a domain name. A domain name is the same as the business object type where the
multifield definition is specified (for example, Item). The operation searches among object types in the
specified domain. The multifield key unique identifier must be item_id for this domain.

VALID VALUES

A multifield key domain name.

DEFAULT VALUES

None.

DEFAULT PROTECTION SCOPE

Site preference.

Treat_Curr_Rev_As_Any_Rev

DESCRIPTION

Sets the current revision letter for a new revision in a revision naming rule. This preference applies to
CurrentRevLetter revision naming rules.

VALID VALUES

True Allows the administrator creating a revision naming rule to type any letter to override the
current revision letter (except the letters controlled by the TcRevisionSkipLetters LOV).
False Prevents administrators from changing the current revision letter.

DEFAULT VALUES

True

DEFAULT PROTECTION SCOPE

Site preference.

Treat_Next_Rev_As_Any_Rev

DESCRIPTION

Sets the next revision letter for a new revision in a revision naming rule. This preference applies to
NextRevLetter revision naming rules.

Business Modeler IDE PLM00071 11.2 A-17


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

VALID VALUES

True Allows the administrator creating a revision naming rule to type any letter to override the
next revision letter (except the letters controlled by the TcRevisionSkipLetters LOV).
False Prevents administrators from changing the next revision letter.

DEFAULT VALUES

True

DEFAULT PROTECTION SCOPE

Site preference.

TYPE_DISPLAY_RULES_list_of_primary_types

DESCRIPTION

Defines the list of primary business objects on which display rules can be configured in Business
Modeler IDE.

VALID VALUES

Accepts one or more strings as values. Each string must be a valid primary type.

DEFAULT VALUES

Item
Folder
Dataset
Form
MEOP
MEActivity
MEWorkArea
MEProcess
Identifier

DEFAULT PROTECTION SCOPE

Site preference.

A-18 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
TYPE_DISPLAY_RULES_list_types_of_subclasses

TYPE_DISPLAY_RULES_list_types_of_subclasses

DESCRIPTION

Shows business object display rules propagated from the sub-business objects defined in the list of
business objects in the preference.

VALID VALUES

Accepts one or more strings as values. Each string must be a valid primary type.

DEFAULT VALUES

Identifier
CAEItem
CAEAnalysis
CAEGeometry
CAEModel
Drawing
FND_TraceLink
CCObject
StructureContext
ConfigurationContext
MEActivity
ApperanceGroup

DEFAULT PROTECTION SCOPE

Site preference.

Business Modeler IDE perspectives, views, and editors

Standard perspective

Overview of the Standard perspective

The Standard perspective provides a simplified user interface. It contains the BMIDE view, which
provides a centralized location for favorites, data model elements, and project files.

To access the Standard perspective, choose Window→Open Perspective→Other→Standard.

Business Modeler IDE PLM00071 11.2 A-19


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Views are the tabbed panes that appear in the user interface. Most of these views are found in the
Business Modeler IDE user interface perspectives; however, some can only be accessed from the Show
View menu. To access all the Business Modeler IDE views, choose Window→Show
View→Other→Business Modeler IDE.

BMIDE view

The BMIDE view provides a single view for favorites, data model elements, and project files. It is the
main view in the Standard perspective.

To open this view, open the Standard perspective, or on the menu bar, choose Window→Show
View→BMIDE.

A-20 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
BMIDE Assistant view

BMIDE Assistant view

The BMIDE Assistant view helps new users get started using the Business Modeler IDE.

Help view in the Business Modeler IDE

The Help view presents online help for the Business Modeler IDE. You can launch this view by pressing
the F1 key or clicking the question mark button ? in the lower left corner of any dialog box.

Business Modeler IDE PLM00071 11.2 A-21


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Advanced perspective

Overview of the Advanced perspective

The Advanced perspective allows you to work with many aspects of the Teamcenter data model and
functional behavior.

To access the Advanced perspective, choose Window→Open Perspective→Other→Advanced.

A-22 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Objects view

Views are the tabbed panes that appear in the user interface. Most of these views are found in the
Business Modeler IDE user interface perspectives; however, some can only be accessed from the Show
View menu. To access all the Business Modeler IDE views, choose Window→Show
View→Other→Business Modeler IDE.

This is a good time to bring up the Business Modeler IDE and show them the user interface.

Business Objects view

Business objects are the fundamental objects used to model business data. Create business objects to
represent product parts, documents, change processes, and so on.

The Business Objects view displays the hierarchy of business objects on your server. Business objects
are shown in a tree where the top-level POM_object business object is at the top and its children are
directly below. The RuntimeBusinessObject folder contains business objects that have no parents and
are used in run-time processes in Teamcenter.

You can use preferences to set the WorkspaceObject business object as the top-level object or to hide
the RuntimeBusinessObject folder.

Business Modeler IDE PLM00071 11.2 A-23


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Classes view

Classes are the persistent representations of the data model schema, and provide attributes to business
objects. Classes are also known as the persistent object model (POM).

The Classes view displays the classes on your server. Classes are shown in a tree where the top-level
POM_object class is at the top and its children are directly below.

Extensions view

The Extensions view displays extensions to the data model.

The Extensions view contains the following extensions:

• Applications

A-24 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Extensions view

Applications are used on classes to indicate what rich client application can add or edit attributes on
that class.

• Code Generation
This folder contains objects used for software development, such as data types, libraries, and releases.

• Constants
Constants are reusable values. They provide consistent definitions that can be used throughout the
system.

• Document Management
Document Management objects define how documents are handled in Teamcenter.

• EDA Derived Data


EDA derived data objects define how data is derived from an electronic CAD (ECAD) design. These
objects are used by Teamcenter EDA, an application that integrates Teamcenter with ECAD design
applications, such as Cadence and Mentor Graphics.

• LOV
Lists of values (LOVs) are pick lists of values. They are commonly accessed by end users from a menu
at the end of a text box.

• Options
Options are miscellaneous objects such as change requests, units of measure, notes, and so on.

• Property Formatters
Property formatters are display definitions that dictate how properties are shown in the user interface.

• Property Renderers
Property renderers are configurations to render the overlays on business object icons.

• Rules
Rules define the business rules that govern how objects are handled, including how they are named,
what actions can be undertaken on them, and so on. Creating rules is also known as business
modeling.

• Teamcenter Component
Teamcenter Component objects set up rules that use conditions to evaluate how business objects
are used in Teamcenter.

• User exits
User exits are used for adding base action extension rules. User exits are places in the server where
you can add additional behavior by attaching an extension to the user exit. To work with user exits,
right-click a user exit and choose Open Extension Rule.

Business Modeler IDE PLM00071 11.2 A-25


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Business Modeler IDE editors

Audit Manager editors

Introduction to Audit Manager editors

The Extensions→Audit Manager folder holds objects used to configure Audit Manager. When you
right-click an Audit Manager object and choose Open, an editor appears that allows you to work on
characteristics of the object.

Audit Definition editor

The Audit Definition editor displays characteristics of the selected audit definition. An audit definition
specifies the information that must be captured when an event occurs to a particular kind of object.
Before creating an audit definition, you must ensure that an event mapping has been created for the
business object type and the event specified in the audit definition.

1. To access the Audit Definition editor, open the Extensions→Audit Manager→Audit Definitions
folders, right-click an audit definition, and choose Open.

2. In the Audit Definition editor, you can change some aspects of custom audit definitions. You can
add or remove audit extensions, and select the Is Active?, Track Old Values?, or Audit On
Property Change Only? check boxes.

3. Click the Primary Audit Properties tab or the Secondary Audit Properties tab to add or remove
properties to the audit log definition.

Event Type Mapping editor

The Event Type Mapping editor displays characteristics of the selected event mapping. An event type
mapping declares that you want to receive an audit log for a certain event on a certain kind of object.
An event mapping must be created for a business object type and event before you used that business
object and event type in an audit definition.

Note:
Event mapping is inherited by child business object types. For example, instances of the Part
business object type inherit the mapping from the Item business object type.

1. To access the Event Type Mapping editor, open the Extensions→Audit Manager→Event Type
Mappings folders, right-click an event type mapping, and choose Open.

2. In the Event Type Mapping editor, you can change some aspects of custom event type mappings.
You can change the values of the Audit Type and the Secondary Audit Type boxes, and select the
Subscribable? check box. You can also select the Auditbale? check box if the event type mapping
is not referenced any audit definitions.

A-26 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Event Type editor

In addition to this editor, there is another editor you can use to work with even type mappings. Right-
click the Event Type Mappings folder and choose Open Event Type Mappings. This editor allows you
to browse, add, or edit Audit Manager objects.

Event Type editor

The Event Type editor displays characteristics of the selected event. An event type is an action that
occurs to an object in Teamcenter, for example, when an item is checked out. Teamcenter records audit
logs when certain events occur on certain type of objects. The audit definition object specifies the event
type for which audit logs are to be written.

1. To access the Event Type editor, open the Extensions→Audit Manager→Event Types folders,
right-click an event type, and choose Open.

2. In the Event Type editor, you can change some aspects of custom event types. You can change the
values of the Display Name and Description boxes, and you can change the values in the
Localization table.

Business Object editor

Introduction to the Business Object editor

When you open a business object, the Business Object editor displays tabs that enable you to work on
different characteristics of the business object.

Business Modeler IDE PLM00071 11.2 A-27


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Alternate ID Rules tab

The Alternate ID Rules tab displays details about the selected alternate ID rule. Alternate identifiers
store information (such as part numbers and attributes) about the same part from different
perspectives.

1. To access the Alternate ID Rules tab, open the Item business object or one of its children and click
the Alternate ID Rules tab.

2. You can filter the rules to appear using the following options in the box above the Master
Alternate ID Rules table:

• Show All
Displays all the rules.

• As Many
Displays the rules that do not have constraints.

• One Of
Displays only the rules that match the cardinality shown in the constraints box. To look for
available cardinality values, click the Browse button.
The cardinality values are obtained from the Rule box when you create an alternate ID rule.

3. In the Alternate ID Rules tab, click the Add button to the right of the Master Alternate ID Rules
table to create a new alternate ID rule.

Dataset editors

Dataset tabs

When you open a child of the Dataset business object, the following dataset-specific tabs appear:

• Dataset Properties
Defines the applications (tools) that can be used to edit and view the dataset and the constants on
the business object.

• References
Defines the type of application file that the dataset represents.

• ToolActions
Defines the applications (tools) that can be used to perform actions on the dataset such as open or
print.

These tabs enable you to work on different characteristics of the dataset business object, and are in
addition to the standard business object tabs.

A-28 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Dataset Properties tab

Dataset Properties tab

The Dataset Properties tab displays the applications (tools) that can be used to edit and view a dataset,
as well as the constants on the business object. These tools are initially defined when the dataset
business object is created.

1. To access the Dataset Properties tab, open a child of the Dataset business object and click the
Dataset Properties tab.

2. In the Dataset Properties tab, click the Add button to the right of the Tools for Edit table to add a
tool that can be used to edit the dataset.

3. Click the Add button to the right of the Tools for View table to add a tool that can be used to view
the dataset.

References tab

The References tab displays the type of application file that the dataset represents. These references are
initially defined when the dataset business object is created.

1. To access the References tab, open a child of the Dataset business object and click the References
tab.

2. In the References tab, click the Add button to the right of the References table to add more file
types that can be associated with the dataset.

3. Use the Move Up and Move Down buttons to change the priority that the file type associations
have.

ToolActions tab

The ToolActions tab displays the applications (tools) that can be used to perform actions on the dataset,
such as open or print. These tool actions are initially defined when the dataset business object is
created.

1. To access the ToolActions tab, open a child of the Dataset business object and click the
ToolActions tab.

2. In the ToolActions tab, click the Add button to the right of the Tool Action table to select the tools
you can use to perform actions on the dataset.

Deep Copy Rules tab

Use the Deep Copy Rules tab to add, modify, or remove deep copy rules. Deep copy rules define
whether objects belonging to a business object instance can be copied when a user performs a save as
or revise operation on that instance. Deep copy rules can be created for any business object. (Prior to
Teamcenter 10, deep copy rules could only be applied to item revision business objects.)

Business Modeler IDE PLM00071 11.2 A-29


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Note:
Although deep copy rules defined at a parent business object are inherited by the children, they
are not editable at the child level. The Edit and Remove buttons are disabled on the Deep Copy
Rules tab for the child business objects.

1. To access the Deep Copy Rules tab, open a business object and click the Deep Copy Rules tab.

2. To add a new deep copy rule, click the Add button to the right of the table.

3. To change rules, use the Edit button. You can modify an existing COTS non-secure rule or a custom-
defined rule. Inherited rules cannot be modified.

Note:
Although deep copy rules defined at a parent business object are inherited by the children,
they are not editable at the child level. The Edit button is disabled on the Deep Copy Rules
tab for the child business objects.

4. To delete rules, use the Remove button. You can remove custom-defined rules. You cannot remove
COTS rules or inherited rules.

Display Rules tab

The Display Rules tab displays the groups that cannot view a business object type in menus in the
Teamcenter user interface. Because display rules are primarily used to hide business objects from
creation (File→New) menus, display rules restrict those who can create the business object type.

Business object display rules only apply to the following business objects and their children: Alias,
Dataset, Folder, Form, Identifier, and Item.

You can also use the Command Suppression application to suppress the display of menus and
commands for certain groups.

1. To access the Display Rules tab, open the relevant business object or one of its children and click
the Display Rules tab.

2. To add a new display rule, click the Add button to the right of the table.

GRM Rules editor

Use the GRM Rules editor to add, modify, or remove Generic Relationship Management (GRM) rules. A
GRM rule applies constraints on the relationship between two business objects.

1. To access the GRM Rules editor, on the menu bar, choose BMIDE→Editors→GRM Rules Editor.

A-30 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Main tab in the Business Object editor

2. To search for existing GRM rules by primary object, secondary object, or relation, type strings in the
Primary, Secondary, or Relation boxes, or click the Browse buttons. The GRM rules table displays
the results of the search.

3. To create a GRM rule between two objects, click the Add button.

Main tab in the Business Object editor

The Main tab in the Business Object editor displays basic information about the selected business
object.

1. To access the Main tab, open a business object and click the Main tab.

2. You can type in the Display Name box to change the name of the object displayed in the
Teamcenter user interface. This also changes the value in the Localization table at the bottom of
the page.

3. You can click links to open referenced objects:

• Click the Parent link to open the parent business object.

• For Item business objects, click the Item Revision link to open the item revision associated with
the item and click the Form link to open the form business object that holds the business object
properties.

• Click the Storage Class link to open the class that stores attributes for the business object.

4. Click the Edit button to the right of the Business Object Constants table to change the value of
business object constants. Business object constants provide default values to business objects.

5. Click buttons to the right of the Localization table to change the name of the object displayed in
different languages in the Teamcenter user interface.

Operation Descriptor tab

The Operation Descriptor tab displays the metadata of the properties on the selected business object.

You can use the CreateInput operation on this tab to choose the properties that are seen in dialog boxes
when the user creates items. For example, when a My Teamcenter user chooses File→New→Item to
create a new Item object, properties that are checked as visible and required for the CreateInput
operation for the Item business object are visible and required in the creation dialog boxes.

You can also use the SaveAsInput operation on this tab to choose the properties that are seen in dialog
boxes when the user performs a Save As operation on an item. For example, when a My Teamcenter
user selects an item instance and chooses File→Save As, properties that are selected as visible and
required for the SaveAsInput operation for the Item business object are visible and required in the
dialog boxes.

Business Modeler IDE PLM00071 11.2 A-31


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

1. To access the Operation Descriptor tab, open a business object and click the Operation
Descriptor tab.

2. In the Operation box, select CreateInput to add properties to the creation dialog boxes, or select
SaveAsInput to select properties on the Save As dialog boxes.

3. Select a property on the table and click the Edit button to make that property visible or required on
creation dialog boxes.
The Operation Input Property Descriptor section on the tab provides details of the selected
property.

4. Click the Add button to the right of the table to add a new property to the list of visible and
required properties on this business object.

Operations tab of the Business Object editor

1. To access the Operations tab in the Business Object editor, open a business object and click the
Operations tab.
The Operations tab shows available operations on business objects.

2. To create a new operation on a business object, click the Operations tab and then click the Add
button.

Note:
To create a new operation on a property, select a property on the Properties tab, click the
Property Operations tab, and click the Add button.

3. To make an operation overridable by another operation, select it and click the Override button.

4. To see the details of an operation, select the operation and click the Operation Definition tab.

5. To see the extension points defined for an operation, select the operation and click the Extensions
Attachments tab. Extension points include:

• Pre-Condition
Places limits before an action. For example, use this to limit individual users by their work
context to create only a certain item type. Pre-conditons are executed first in an operation
dispatch. If any of the pre-conditions fails, the operation is aborted. Typical examples of pre-
conditions are naming rules.

• Pre-Action
Executes code before an action. For example, use this to add user information to the session
prior to translation. Pre-actions are executed after pre-conditions and before the base action. If
any of the pre-actions fail, the operation is aborted. A typical example is an initial value rule that
needs to set an initial value before the save base action is invoked.

A-32 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Properties tab

• Post-Action
Executes code after an action. For example, use this to automatically start an item in a workflow.
If any of the post-actions fail, the operation is aborted.

• Base-Action
Executes code for an action. The base action is the actual operation implementation, and cannot
be replaced. Base-Action is used only for user exits operations.

Properties tab

The Properties tab shows available properties on business objects.

1. To access the Properties tab, open a business object and click the Properties tab.

2. In the Properties tab, click the Add button to the right of the properties table to add a property to
the business object.

3. To change a property constant value, select a constant on the Property Constants tab and click
the Edit button.

4. To add a naming rule to a property, select a valid property on the properties table (such as
item_id or object_name) and click the Add button on the Naming Rule Attaches tab.

5. To attach a list of values (LOV) to a property, select a property on the properties tab and click the
Add button on the LOV Attaches tab.

6. To change the name of the property displayed in the Teamcenter user interface, click buttons on
the Localization tab.

7. To attach a property rendering configuration to a property, click the Attach button on the Property
Renderer Attaches tab. A property rendering configuration can control the icon to display on a
business object based on the property’s value.

8. To add an operation to a property, click the Add button on the Property Operations tab.

Class editor

The Class editor displays information on the selected class.

1. To access the Class editor, in the Advanced perspective, right-click a class in the Classes view, and
choose Open.

2. To add an attribute to a custom class, in the Class editor, click the Add button to the right of the
Attributes table.

Business Modeler IDE PLM00071 11.2 A-33


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Code Generation editors

Introduction to Code Generation editors

The Extensions→Code Generation folder is used for software development. When you right-click a
code generation object and choose Open, an editor appears that allows you to work on characteristics
of the object.

Data types editors

Introduction to data types editors

In software development, data types are different kinds of data, for example, characters, numbers
(double and float), symbols (Boolean), dates, and so on. To see available data types, open the
Extensions→Code Generation→Data Types folder.

When you right-click a data type object and choose Open, an editor appears that allows you to work on
characteristics of the data type object.

External Data Type editor

The External Data Type editor displays characteristics of the selected external data type. Data types
define what kind of data can be used in code, and external data types are standard data types, as well as
custom defined data types which can be imported into the Business Modeler IDE.

• To access the External Data Type editor, open the Extensions→Code Generation→Data
Types→External Data Type folders, right-click an external data type, and choose Open.

Primitive Data Type editor

The Primitive Data Type editor displays characteristics of the selected primitive data type. Data types
define what kind of data can be used in code, and primitive data types are the commonly used types
such as Boolean, character, double, float, and short.

• To access the Primitive Data Type editor, open the Extensions→Code Generation→Data
Types→Primitive Data Type folders, right-click a primitive data type, and choose Open.

Template Data Type editor

The Template Data Type editor displays characteristics of the selected template data type. Data types
define what kind of data can be used in code, and template data types allow code to be written without
consideration of the data type with which it will eventually be used.

• To access the Template Data Type editor, open the Extensions→Code Generation→Data
Types→Template Data Type folders, right-click a template data type, and choose Open.

A-34 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Library editor

Library editor

The Library editor displays information about a library. A library is used in software development and is
a collection of files that includes programs, helper code, and data.

1. To access the Library editor, open the Extensions→Code Generation→Libraries folders, right-
click a library, and choose Open.

2. In the Library editor, for custom libraries, you can click the Add button to the right of the
Dependent Libraries box to add a library that the selected library is dependent on.

Release editor

The Release editor displays details about the selected release object. A release is a distribution of a
software product. If your organization makes software, you can create release objects to represent the
software releases.

1. To access the Release editor, open the Extensions→Code Generation→Releases folders, right-
click a release, and choose Open.

2. In the Release editor, for custom releases, you can click the down arrow in the Type box to change
the release from major, to minor, to patch. You can also click the Browse button to the right of the
Prior Release box to specify the release just before this release.

Services editors

Introduction to services editors

A service is a collection of Teamcenter actions (service operations) that all contribute to the same area
of functionality. To see available services, open the Extensions→Code Generation→Services folder.
The Services folder contains service libraries, and each library contains services.

When you right-click a service library or service and choose Open, an editor appears that allows you
work on characteristics of the object.

Service Library editor

The Service Library editor displays characteristics of the selected service library. A service library is a
collection of files used by a service and its operations that includes programs, helper code, and data.
Services are grouped under service libraries. You must create a service library before you create a
service.

1. To access the Service Library editor, open the Extensions→Code Generation→Services folders,
right-click a service library, and choose Open.

Business Modeler IDE PLM00071 11.2 A-35


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

2. In the Service Library editor, you can change some aspects of custom service libraries. You can
change the description, and you can click the Add button to the right of the Dependent Libraries
pane to add libraries that the current library depends on.

Main tab in the Service editor

The Main tab of the Service editor displays characteristics of the selected service. A service is a
collection of Teamcenter actions (service operations) that all contribute to the same area of
functionality.

• To access the Main tab of the Service editor, open the Extensions→Code Generation→Services
folders, expand a service library, right-click a service, and choose Open.

Data Types tab

The Data Types tab in the Service editor displays data types on the selected service. Service data types
are used by service operations as return data types and can also be used as parameters to operations.
The data types on a service library are defined for use only by that library, and are not shared with other
libraries.

1. To access the Data Types tab in the Service editor, open the Extensions→Code
Generation→Services folders, expand a service library, right-click a service, choose Open, and
click the Data Types tab.

2. In the Data Types tab, you can select a data type and click Data Type Definition to see
characteristics of the data type. You can also change the data type by clicking the Edit button, or
create a new data type by clicking the Add button.

Operations tab in the Service editor

The Operations tab in the Service editor displays operations on the selected service. A service
operation is a function, such as create, checkin, checkout, and so on. Group service operations under a
service to create a collection of operations that all contribute to the same area of functionality.

1. To access the Operations tab in the Service editor, open the Extensions→Code
Generation→Services folders, expand a service library, right-click a service, choose Open, and
click the Operations tab.

2. In the Operations tab, you can select a operation and click Operation Definition to see
characteristics of the operation.

3. You can also change the operation by clicking the Edit button, or create a new service operation
by clicking the Add button. To deprecate the operation, click Deprecate.

A-36 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to constants editors

Constants editors

Introduction to constants editors

The Extensions→Constants folder is used for holding different kinds of configuration point objects,
known as constants. When you right-click a constant and choose Open, an editor appears that allows
you to work on characteristics of the constant.

Business Object Constant editor

The Business Object Constant editor displays details about the selected business object constant.
Business object constants provide default values to business objects. Because these constants are
attached to business objects, they are inherited and can be overridden in the hierarchy.

1. Open the Extensions→Constants→Business Object Constants folders, right-click a constant, and


choose Open.

2. In the Business Object Constant editor, you can work with custom business object constants. Click
the Add button to the right of the Business Object Scope box to change which business objects
the constant applies to. You can also change the custom constant's value in the Default Value box.

Global Constants editor

The Global Constants editor shows available global constants and allows you to edit their values.
Global constants provide consistent definitions that can be used throughout the system. These
constants have only one value, either the default value or the value you set.

1. On the menu bar, choose BMIDE→Editors→Global Constants Editor.

2. Select the constant in the Global Constants table and click the Edit button.

3. In the Modify Global Constant dialog box, there are two ways to change values, depending on
whether the constant can hold a single value or multiple values:

• Single-value constants
Enter a new value in the Value box, or for true/false constants, click the Value check box to
toggle between true and false.

• Multiple-value constants
Click the Add button to the right of the Value table to add constants.

4. Click Finish.
The changed value displays in the Global Constants table. Note that a check mark appears in the
Overridden column and the name of your project displays in the Template column, indicating that
your project overrides the value of the constant.

Business Modeler IDE PLM00071 11.2 A-37


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

You can also open an individual global constant. Open the Extensions→Constants→Global Constants
folders, right-click a constant, and choose Open. In this editor, you can change the description and the
default value of custom global constants.

Property Constants editor

The Property Constant editor displays details about the selected property constant. Property constants
provide default values to business object properties. Because these constants are attached to properties,
they are inherited and can be overridden in the hierarchy.

1. To access the Property Constant editor, open the Extensions→Constants→Property Constants


folders, right-click a constant, and choose Open.

2. You can change some aspects of custom property constants. In the Property Constant editor, click
the Add button to the right of the Property Scope box to change the properties to which the
constant applies, and type in the Default Value box to change the constant's value.

Deployment page

The deployment page is used to perform live updates of nonschema data (for example, LOVs) to
production servers.

To connect to multiple sites, you must configure FMS.

1. After you finish testing and are ready to deploy to the production servers, choose BMIDE→Live
Update→Deployment Page.

2. Click the Deploy button to deploy the template to production servers.

3. To verify the live update, log on to a production server and confirm that you can create instances of
your newly revised data model.

A-38 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to document management editors

Note:
To see the data changes, end users must log off and log on again and wait for servers to
cycle through the changes.

Document management editors

Introduction to document management editors

The Extensions→Document Management folder allows an administrator to create objects that specify
how documents are handled in Teamcenter. When you right-click a document management object and
choose Open, an editor appears that allows you to work on characteristics of the object.

Dispatcher service config editor

Introduction to the Dispatcher Service Config editor

The Extensions→Document Management→Dispatcher Service Config folder is used for holding


dispatcher service configuration objects. A dispatcher service configuration is an object that defines
the visualization file format that a dataset file is translated into. For example, it may specify that CAD
design files are translated into 3D visualization files.

When you right-click a dispatcher service configuration object and choose Open, an editor appears that
allows you to work on characteristics of the object.

Dispatcher Service Config Creation Info tab

The Dispatcher Service Config Creation Info tab displays details about the selected dispatcher service
configuration object. A dispatcher service configuration defines the visualization file format that a
dataset file is translated into in Teamcenter.

1. To access the Dispatcher Service Config Creation Info tab, open the Extensions→Document
Management→Dispatcher Service Config folder, right-click a dispatcher service configuration
object, choose Open, and click the Dispatcher Service Config Creation Info tab.

2. In the Dispatcher Service Config Creation Info tab, you can revise details about the selected
dispatcher service configuration. You can click the Add button to add arguments to the dispatcher
service.

Dispatcher Service Config Relation Info tab

The Dispatcher Service Config Relation Info tab on the dispatcher service configuration editor displays
details about the source dataset type to be translated, and the target (derived) dataset type it is to be
translated to. A dispatcher service configuration defines the visualization file format that a dataset file is
translated into in Teamcenter.

Business Modeler IDE PLM00071 11.2 A-39


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

1. To access the Dispatcher Service Config Relation Info tab, open the Extensions→Document
Management→Dispatcher Service Config folder, right-click a dispatcher service configuration
object, choose Open, and click the Dispatcher Service Config Relation Info tab.

2. In the Dispatcher Service Config Relation Info tab, you can revise details about the source and
target (derived) dataset types for a custom dispatcher service configuration.

IRDC editor

Introduction to the IRDC editor

The Extensions→Document Management→IRDC folder is used for holding item revision definition
configuration (IRDC) objects. An IRDC defines how item revisions are handled at specific times in the
life cycle, such as at item creation, checkin, checkout, save as, and revise.

When you right-click an IRDC object and choose Open, an editor appears that allows you to work on
characteristics of the object.

IRDC Base Criteria Info tab

The IRDC Base Criteria Info tab displays details about the selected item revision definition configuration
(IRDC) object. An IRDC defines how item revisions are handled in Teamcenter.

• To access the IRDC Base Criteria Info tab, open the Extensions→Document Management→IRDC
folder, right-click an IRDC object, choose Open, and click the IRDC Base Criteria Info tab.
In the IRDC Base Criteria Info tab, you can revise details about the IRDC.

IRDC Datatset Creation Info tab

An item revision definition configuration (IRDC) defines how item revisions are handled in Teamcenter.

The IRDC Dataset Criteria Info tab specifies the source and target (derived) dataset types for
visualization translation for this item revision. For example, you may want Microsoft Word document
datasets (MSWord business object) to get translated into PDFs (CrfOutputPdf business object). You can
also set up the visualization for datasets by creating dispatcher service configurations.

• To access the IRDC Dataset Criteria Info tab, open the Extensions→Document
Management→IRDC folder, right-click an IRDC object, choose Open, and click the IRDC Dataset
Criteria Info tab.
In the IRDC Dataset Criteria Info tab, you can revise details about the source and target (derived)
dataset types for the item revision visualizations.

IRDC Dataset Naming Page Info tab

An item revision definition configuration (IRDC) defines how item revisions are handled in Teamcenter.

A-40 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
IRDC Checkin Page Info tab

The IRDC Dataset Naming Page Info tab specifies how the item revision dataset is named, as well as
how the translated (derived) visualization dataset file is named at checkin.

• To access the IRDC Dataset Naming Page Info tab, open the Extensions→Document
Management→IRDC folder, right-click an IRDC object, choose Open, and click the IRDC Dataset
Naming Page Info tab.
In the IRDC Dataset Naming Page Info tab, you can revise details about how the source and target
(derived) datasets are named.

IRDC Checkin Page Info tab

An item revision definition configuration (IRDC) defines how item revisions are handled in Teamcenter.

The IRDC Checkin Page Info tab specifies what happens when the item revision is checked in.

• To access the IRDC Checkin Page Info tab, open the Extensions→Document Management→IRDC
folder, right-click an IRDC object, choose Open, and click the IRDC Checkin Page Info tab.
In the IRDC Checkin Page Info tab, you can revise details about what happens at checkin, such as
whether to generate visualization files or index dataset files.

IRDC Deep Copy Rules Page Info tab

An item revision definition configuration (IRDC) defines how item revisions are handled in Teamcenter.

The IRDC Deep Copy Rules Page Info tab configures deep copy rules for the item revision. Deep copy
rules govern how item revisions are copied during save as and revise operations.

• To access the IRDC Deep Copy Rules Page Info tab, open the Extensions→Document
Management→IRDC folder, right-click an IRDC object, choose Open, and click the IRDC Deep Copy
Rules Page Info tab.
In the IRDC Deep Copy Rules Page Info tab, you can define the deep copy rules for the selected IRDC
item revision. This tab works the same as the Deep Copy Rules tab.

IRDC Markup Page Info tab

An item revision definition configuration (IRDC) defines how item revisions are handled in Teamcenter.

The IRDC Markup Page Info tab configures markup rules for the item revision.

• To access the IRDC Markup Page Info tab, open the Extensions→Document Management→IRDC
folder, right-click an IRDC object, choose Open, and click the IRDC Markup Page Info tab.
In the IRDC Markup Page Info tab, you can define the markup rules for the selected IRDC item
revision.

Business Modeler IDE PLM00071 11.2 A-41


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Print Configuration editor

Introduction to the Print Configuration editor

The Extensions→Document Management→Print Configuration folder is used for holding print


configuration objects. A print configuration is an object that defines batch print settings.

When you right-click a print configuration object and choose Open, an editor appears that allows you to
work on characteristics of the object.

Dispatcher Service Information tab

The Dispatcher Service Information tab displays details about the selected print configuration object. A
print configuration defines the batch print settings for documents.

1. To access the Dispatcher Service Information tab, open the Extensions→Document


Management→Print Configuration folder, right-click a print configuration object, choose Open,
and click the Dispatcher Service Information tab.

2. In the Dispatcher Service Information tab, you can revise details about the selected print
configuration. You can click the Add button to add arguments to the print configuration.

Printing Specification tab

The Printing Specification tab displays printing details about the selected print configuration object. A
print configuration defines the batch print settings for documents.

1. To access the Printing Specification tab, open the Extensions→Document Management→Print


Configuration folder, right-click a print configuration object, choose Open, and click the Printing
Specification tab.

2. In the Printing Specification tab, you can revise printing details about the selected print
configuration.

a. Click Browse to the right of the Printer Name box to select the networked printer where this
print configuration will be printed.

b. Click the Add button to the right of the Paper Sizes table to select the available paper sizes on
the printer to make available for print batch jobs.

c. Click Add to the right of the Supported Datasets table to select the document types that can
be printed.

d. Select the Stamps Supported check box to allow stamps on the printed documents such as
the date or a watermark. If object types are printed for which stamps are configured, stamps
are automatically placed on the printed documents.

A-42 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Introduction to the System Stamp Configuration editor

System Stamp Configuration editor

Introduction to the System Stamp Configuration editor

The Extensions→Document Management→System Stamp Configuration folder is used for holding


system stamp configuration objects. A system stamp configuration is an object that defines the system
stamp on documents when batch printing.

When you right-click a system stamp configuration object and choose Open, an editor appears that
allows you to work on characteristics of the object.

Base Information tab

The Base Information tab displays details about the selected system stamp configuration object. A
system stamp configuration defines the system stamp on documents when batch printing.

1. To access the Base Information tab, open the Extensions→Document Management→System


Stamp Configuration folder, right-click a system stamp configuration object, choose Open, and
click the Base Information tab.

2. In the Base Information tab, you can revise details about the selected system stamp configuration.

Stamp Information tab

The Stamp Information tab allows you to change the stamp and watermark to place on batch printed
documents.

1. To access the Stamp Information tab, open the Extensions→Document Management→System


Stamp Configuration folder, right-click a system stamp configuration object, choose Open, and
click the Stamp Information tab.

2. In the Stamp Information tab, you can revise details about the stamp and watermark settings.

EDA Derived Data editor

Use the EDA Derived Data editor in the Business Modeler IDE to work with derived data
configurations used by the Teamcenter EDA application. Teamcenter EDA integrates Teamcenter with
electronic CAD applications that are used to design electronic components, such as circuit boards.

1. To access the EDA Derived Data editor, open the Extensions→EDA Derived Data folder, right-click
an EDA derived data object, and choose Open.

2. To add an item to the EDA derived data object, click the Add button to the right of the Configure
Items table.

Business Modeler IDE PLM00071 11.2 A-43


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

3. To add a dataset to the EDA derived data object, click the Add button to the right of the Configure
Dataset table.

Teamcenter Component editor

Use the Teamcenter Component editor to group business objects and conditions together that belong
to the same function.

1. To access the Teamcenter Component editor, open the Extensions→Teamcenter Component


folder, right-click a Teamcenter Component object, and choose Open.

2. To enable a custom Teamcenter Component object for use with verification rules, select the
Enabled for Verification Rule check box.

LOV editor

The LOV editor displays details about the selected list of values. Lists of values (LOVs) are pick lists of
data entry items that are accessed by Teamcenter users from a menu at the end of a data entry box.

1. To access the LOV editor, open the Extensions→LOV folder, right-click an LOV in the Batch LOV,
Classic LOV, or Dynamic LOV folder, and choose Open.

2. For classic LOVs, in the LOV editor, click the Add button to the right of the value table to add more
values to the LOV.

3. To attach the LOV to a property, click the Attach button to the right of the LOV Attachments
table.

Options editors

Introduction to options editors

The Extensions→Options folder holds objects that modify different aspects of business objects. When
you right-click an object in a subfolder under the Options folder and choose Open, an editor appears
that allows you to work on characteristics of the object.

ID Context editor

The ID Context editor displays details about the selected ID context. An ID context defines when you
use unique item IDs.

1. To access the ID Context editor, open the Extensions→Options→ID Context folder, right-click an
ID context, and choose Open.

A-44 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Note Type editor

2. You can type in the Display Name box to change the name of the object displayed in the
Teamcenter user interface. This also changes the value in the Localization table at the bottom of
the page.

3. Type in the Description box to change the description of the ID context.

4. Click buttons to the right of the Localization table to change the name of the object displayed in
different languages in the Teamcenter user interface.

Note Type editor

The Note Type editor displays details about the selected note type. A note type is an object associated
with a product structure occurrence in a Structure Manager bill of materials (BOM).

1. To access the Note Type editor, open the Extensions→Options→List of Note Types folder, right-
click a note, and choose Open.

2. You can type in the Display Name box to change the name of the object displayed in the
Teamcenter user interface. This also changes the value in the Localization table at the bottom of
the page.

3. Select the Attach Value List check box if you want to attach a value to a custom note from a list of
values (LOV), and then click the Browse button to the right of the LOV box to select the list of
values, and click the Browse button to the right of the Default Value box to select the value.

4. Click buttons to the right of the Localization table to change the name of the object displayed in
different languages in the Teamcenter user interface.

Occurrence Type editor

The Occurrence Type editor displays details about the selected occurrence type. An occurrence type is
used to distinguish how items occur in a product structure.

1. To access the Occurrence Type editor, open the Extensions→Options→List of Occurrence Types
folder, right-click an occurrence type, and choose Open.

2. You can type in the Display Name box to change the name of the object displayed in the
Teamcenter user interface. This also changes the value in the Localization table at the bottom of
the page.

3. Click buttons to the right of the Localization table to change the name of the object displayed in
different languages in the Teamcenter user interface.

Status editor

The Status editor displays details about the selected status. A status is applied to an object after it goes
through a workflow. Typical statuses are Pending and Approved.

Business Modeler IDE PLM00071 11.2 A-45


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

1. To access the Status editor, open the Extensions→Options→Status folder, right-click a status, and
choose Open.

2. You can type in the Display Name box to change the name of the object displayed in the
Teamcenter user interface. This also changes the value in the Localization table at the bottom of
the page.

3. Click buttons to the right of the Localization table to change the name of the object displayed in
different languages in the Teamcenter user interface.

Storage Media editor

The Storage Media editor displays details about the selected storage media object. Storage media is a
storage device category such as a hard disk or optical device.

1. To access the Storage Media editor, open the Extensions→Options→Storage Media folder, right-
click a storage media object, and choose Open.

2. You can change the settings in the Media Type, Logical Device, and Description boxes.

Tool editor

Introduction to the Tool editor

The Extensions→Options→Tool folder is used for holding tool objects. A tool represents a software
application, such as Microsoft Word or Adobe Acrobat. You associate a tool with a type of dataset so you
can launch the dataset file from Teamcenter. When you right-click a tool and choose Open, an editor
appears that allows you to work on characteristics of the tool.

New Tool Type tab

The New Tool Type tab displays details about the selected tool. A tool represents a software application,
such as Microsoft Word or Adobe Acrobat.

1. To access the New Tool Type tab, open the Extensions→Options→Tool folder, right-click a tool,
choose Open, and click the New Tool Type tab.

2. You can type in the Name box to change the name of the object displayed in the Teamcenter user
interface.

3. You can revise values in the following boxes: MIME/TYPE, Shell/Symbol, Vendor Name, Revision,
and Release Date.

Tool Input/Output tab

The Tool Input/Output tab displays details about the type of data the tool accepts or outputs, for
example, ASCII or binary.

A-46 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Tool Markup Info tab

1. To access the Tool Input/Output tab, open the Extensions→Options→Tool folder, right-click a
tool, choose Open, and click the Tool Input/Output tab.

2. Click the Add button to the right of the Input table to specify the type of data the tool accepts.

3. Click the Add button to the right of the Output table to specify the type of data the tool outputs.

Tool Markup Info tab

The Tool Markup Info tab displays details about the view and markup capabilities of the tool.

• To access the Tool Markup Info tab, open the Extensions→Options→Tool folder, right-click a tool,
choose Open, and click the Tool Markup Info tab.

Unit of Measure editor

The Unit of Measure editor displays details about the selected unit of measurement. A unit of measure
is a measurement category (for example, inches, millimeters, and so on).

1. To access the Unit of Measure editor, open the Extensions→Options→Unit of Measure folder,
right-click a unit of measurement, and choose Open.

2. You can change the value in the Symbol box or revise the text in the Description box.

View Type editor

The View Type editor displays details about the selected view type. A view type is a BOM view revision
(BVR) category.

1. To access the View Type editor, open the Extensions→Options→List of View Types folder, right-
click a view, and choose Open.

2. You can type in the Display Name box to change the name of the object displayed in the
Teamcenter user interface. This also changes the value in the Localization table at the bottom of
the page.

3. Click buttons to the right of the Localization table to change the name of the object displayed in
different languages in the Teamcenter user interface.

Property Formatter editor

The Property Formatter editor displays details about the selected property formatter. Property
formatters are display definitions that dictate how properties are shown in the user interface.

1. To access the Property Formatter editor, in the BMIDE view, open the Extensions→Property
Formatters folder, right-click a property formatter object, and choose Open.

Business Modeler IDE PLM00071 11.2 A-47


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

2. If it is a custom property formatter, click the Edit button to the right of the Format Definition box
to provide a new format.

3. Click the Attach button on the Property Formatters Attachments tab to attach the property
formatter to a property.

4. Click the Add button on the Localizations tab to add text to be used in different languages.

Rules editors

Introduction to the rules editors

The Extensions→Rules folder holds rules that govern the behavior of business objects. When you right-
click an object in a subfolder under the Rules folder and choose Open, an editor appears that allows you
to work on characteristics of the object.

Alias ID Rule editor

The Alias ID Rule editor displays details about the selected alias ID rule. Alias identifiers store part
numbers and other attribute information for similar parts.

1. To access the Alias ID Rule editor, open the Extensions→Rules→AliasId Rules folder, right-click
an alias ID rule, and choose Open.

2. Click the Browse button to the right of the Identifier Context box to change the identifier
context on the rule.

3. Click the Browse button to the right of the Identifier Type box to select the identifier or identifier
revision business object to use for this rule.

Application Extension Point editor

The Application Extension Point editor displays details about the selected application extension
point. An application extension point is an decision item that can be used in a Teamcenter rich client
application.

1. To access the Application Extension Point editor, open the Extensions→Rules→Application


Extension Points folder, right-click a point, and choose Open. In the Application Extension Point
editor, you cannot change anything on COTS points, but you can revise custom points.

2. Click the Add button to the right of the Inputs or Outputs table to change the inputs and outputs
on the application extension point.

A-48 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Application extension rule editor

Application extension rule editor

The Application Extension Rule editor displays details about the selected application extension rule.
An application extension rule determines when an application extension point is used and defines
inputs and outputs. When the input is matched, the rule engine returns the output to the application
that called the extension point.

1. To access the Application Extension Rule editor, open the Extensions→Rules→Application


Extension Point folder, right-click an application extension rule, and choose Open. In the
Application Extension Rule editor, you cannot change anything on COTS application extension
rules, but you can revise custom ones.

2. Click the Add button to change the inputs and outputs on the custom application extension rule.

Business Context editor

The Business Context editor displays details about the selected business context. A business context
defines the user groups for whom a rule applies.

1. To access the Business Context editor, open the Extensions→Rules→Business Contexts folder,
right-click a context, and choose Open.

2. Click the Add button to the right of the Accessor table to add another group or role to the business
context. The Teamcenter Repository Connection wizard prompts you to log on to a server to look
up its available groups and roles. Select the group and role from the Accessor Selection dialog
box.

Condition editor

The Condition editor displays details about the selected condition. Conditions are conditional
statements that resolve to true or false based on the evaluation of an expression.

1. To access the Condition editor, open the Extensions→Rules→Conditions folder, right-click a


condition, and choose Open.

2. The values that can be changed in this editor depends on whether the condition is COTS and if it is
marked as secure:

• If it is COTS and secure, nothing can be changed.

• If it is COTS and not secure, only the Expression can be changed.

• If it is custom, then you can select new Input parameters to change the Signature, or type new
expressions in the Expression box. Remember that if you change the signature, it can impact
areas where the condition has been applied (for example, naming rule attachments, LOV
attachments, and so on).

Business Modeler IDE PLM00071 11.2 A-49


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Extension Definition editor

The Extension Definition editor displays details about the selected extension rule.

1. To access the Extension Definition editor, open the Extensions→Rules→Extensions folder, right-
click an extension rule, and choose Open. You can change custom COTS extension rules in this
editor.

2. Click the Add button to the right of the Parameter List table to add a new parameter to the rule.

3. Click the Add button to the right of the Availability table to make the extension rule available on
another business object or property.

ID Generation Rule editor

The ID Generation Rule editor displays details about the selected ID generation rule. An ID generation
rule is a rule that generates an item ID with additional counters or property values appended to it.

1. To access the ID Generation Rule editor, open the Extensions→Rules→ID Generation Rule
folder, right-click an ID generation rule, and choose Open.

2. Click the Add button to the right of the Concatenation Rules box to add a new concatenation rule.

3. Click the Attach button to the right of the ID Generation Rule Attachments table to attach the
rule to a business object property.

Naming Rule editor

The Naming Rule editor displays details about the selected naming rule. A naming rule defines how
objects are named, including how IDs are automatically assigned when objects are created.

1. To access the Naming Rule editor, open the Extensions→Rules→Naming Rules folder, right-click
a naming rule, and choose Open.

2. Click the Add button to the right of the Patterns box to add a new naming rule pattern.

3. Click the Attach button to the right of the Naming Rule Attachments table to attach the rule to a
business object property.

Propagation Rules editor

The Propagation Rules editor displays details about the selected propagation rules. A propagation rule
is a rule that specifies to copy data automatically from an instance of a source business object type to an
instance of a destination business object type using a relationship or a property reference.

Use the following boxes to filter the propagation rules that display in the editor:

A-50 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Revision naming rule editor

• Click the arrow in the Direction box to show only rules that have a forward or reverse configuration.

• Click one of the following Property Type buttons to filter how the destination business object is
obtained:

• Relation
List all business objects that have a certain relationship with the source business object.

• Reference
List all business objects that share a reference property.

• All
List all relations and reference properties.

• Click the Browse button to the right of the Destination box to select the destination business object
to display.
If you clicked the Reference button and the Reference box, the Destination box is automatically
populated.

• Click the Browse button to the right of the Source box to filter on a source business object type.

• Click the Browse button to the right of the Relation or Reference box to select the relationship or
reference properties to display. These boxes are enabled if the Relation or Reference buttons are
clicked.

• Click the Browse button to the right of the Propagation Group box to display rules using a specific
group.

• Select the Show Inherited Propagation From Source and Destination types check box to display
rules that result from being inherited from a parent business object type.

Revision naming rule editor

The Revision Naming Rule editor displays details about the selected revision naming rule. A revision
naming rule is a business rule that defines the naming convention and sequence for a revision property.

1. To access the Revision Naming Rule editor, open the Extensions→Rules→Revision Naming
Rules folder, right-click a revision naming rule, and choose Open.

2. Type in the available boxes to change values on the revision naming rule.

3. Click the Attach button to the right of the Revision Naming Rule Attachments table to attach the
rule to a business object property.

Business Modeler IDE PLM00071 11.2 A-51


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

UML editor

UML editor interface

The UML editor shows business objects and classes in a graphical format. To access the UML editor,
right-click a business object or a class and choose Open In UML Editor. The business object or class
appears in the UML editor.

To work with the business object or class displayed in the editor, right-click the object and make
selections from the menu. You can also use the palette on the right side of the editor.

The UML editor shows the following attribute information:

• For attributes with initial values, the initial value is shown, for example:

active_seq : Integer = 1
user_data_1 : String(32) = NULL

• For attributes that have a string storage, the string size is shown in parentheses, for example:

object_desc : String(240)
object_type : String(32)

• For attributes that are typed reference, the reference class is shown, for example:

A-52 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
UML editor shortcut menu

uom_tag : TypedReference —> UnitOfMeasure

• For attributes that have an array storage, the array size is shown in square brackets, for example:

License_list : UntypedReference[-1]
MyStringArray : String[44](32)

UML editor shortcut menu

The following is a list of actions you can perform from the shortcut menu when you right-click in the
UML editor. To act on the business object or class, you must right-click the name of the business object
or class at the top of the UML box.

Symbol Menu command Description

Undo Cancels the previous action.

Redo Performs the action that had been canceled with Undo.

Print Prints the UML diagram.

Add Class Adds a subclass to the selected class.

Add Business Object Adds a new subobject to the selected business object.

Open Opens the selected object in a new view.

Open Extension Rules Opens the extension rules that apply to the selected
business object.

Show Displays aspects of the selected business object or class:

• Children
Displays the children of the selected business object or
class.

• Parent
Displays the parent of the selected business object or
class.

• Inheritance to Root
Displays the inheritance path from the selected
business object or class to the root class
(POM_object).

Business Modeler IDE PLM00071 11.2 A-53


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Symbol Menu command Description

• Storage Class
Displays the class that stores attributes for the selected
business object or class.

• Typed Reference
Displays the typed reference when you right-click a
typed reference attribute on the business object or
class. A typed reference points to a Teamcenter class.

• Class
Searches for a class and displays it in the UML editor.

• Business Object
Searches for a business object and displays it in the
UML editor.

• Relations
Shows the relations between the selected objects.
Drag business objects into the UML editor, press the
Ctrl or Shift key and click multiple business objects to
select them, and right-click and choose
Show→Relations.
The New GRM Rule wizard runs. If you type * in the
Relation box and click Finish, all the relations between
the selected business objects are displayed.

Hide Hides the selected object.

Select Filters Sets filters to limit the types of attributes shown in the
view.

Generate Code→C++ Generates C++ source codefor the selected project.


Classes

Note:
The remaining options on the menu are not provided by the Business Modeler IDE but are
provided by the Eclipse framework.

UML editor palette

With objects displayed in the UML editor, click the arrow at the top of the Palette bar docked on the
right of the window. The palette expands to display a series of buttons.

A-54 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
User Exits (Extension Rules) editor

The following is a list of actions you can perform from the UML editor palette.

Symbol Menu command Description

Select Activates a cursor arrow that allows you to select


individual objects in the UML editor.

Marquee Activates a + cursor that allows you to select a group of


objects in the UML editor.

Class Dragging the Class button into the UML editor launches
the new class wizard.

Business Object Dragging the Business Object button onto the UML
editor launches the new business object wizard.

User Exits (Extension Rules) editor

User exits are pre-defined operations. The editor used for user exits is the Extension Rules editor.
Extension rules allow you to write a custom function or method for Teamcenter in C or C++ and attach
the rules to predefined hook points in Teamcenter.

To access the Extension Rules editor for a user exit, open the Extensions→User Exits folder, right-click
a user exit, and choose Open Extension Rule. In the Extension Rules editor, the available operations
are found in the Operations folder.

To see extension rules operations defined for business objects, right-click a business object, choose
Open, and click the Operations tab in the resulting editor. The available operations for the business
object are found in the Operations folder, and available operations for the properties are found in the
Properties folder. To see the extension points defined for an operation, select the operation and click
the Extensions Attachments link on the lower right side of the editor.

Verification rule editor

Use the Verification Rule editor to specify when Teamcenter Component objects can be used in
Teamcenter.

1. To access the Verification Rule editor, choose BMIDE→Editors→Verification Rules Editor.

2. To add a verification rule, click the Add button to the right of the Verification Rule table.

Business Modeler IDE PLM00071 11.2 A-55


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Eclipse views used by the Business Modeler IDE

Introduction to Eclipse views used by the Business Modeler IDE

The Business Modeler IDE is built on an Eclipse framework. This section documents default Eclipse views
that are used for Business Modeler IDE functions. Views are the tabbed panes that appear in the user
interface.

For more documentation on Eclipse views, see the Workbench User Guide accessible by choosing
Help→Help Contents.

Console view in the Business Modeler IDE

The Console view is a default Eclipse view used to display output from loading and building your
projects. Watch this window for any problems or errors with the build, database update, or server
startup.

Typically, an error may occur as a result of incorrectly merging a source file with a source control
management (SCM). Each error displays the XML file name, the line number, and error message. All
errors should be fixed before continuing to use the Business Modeler IDE.

Navigator view in the Business Modeler IDE

The Navigator view is a default Eclipse view used for browsing file system objects.

The Navigator view in the Advanced perspective always shows the projects at the top level and any
folders and files under them. For example, if you have a project, expand the project in the Navigator
view and note the files it contains. You can open files in an editor by double-clicking them, or right-click
them and choose Open.

A-56 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
Outline view in the Business Modeler IDE

Projects typically contain a project file, and source files that contain your extensions to the data model.
They can also contain .tmd files generated by the UML editor.

Outline view in the Business Modeler IDE

The Outline view is a default Eclipse view that is used for displaying a thumbnail of the contents of the
UML editor. Dragging the shaded box changes what is displayed in the UML editor.

Business Modeler IDE PLM00071 11.2 A-57


© 2019 Siemens Product Lifecycle Management Software, Inc.
A. Business Modeler IDE reference

Problems view in the Business Modeler IDE

The Problems view is a default Eclipse view used for identifying problems in source files. You can click a
problem in this view to open the source file where the problem exists.

A-58 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
B. Glossary

Business Modeler IDE PLM00071 11.2


© 2019 Siemens Product Lifecycle Management Software, Inc.
Business Modeler IDE PLM00071 11.2
© 2019 Siemens Product Lifecycle Management Software, Inc.
B. Glossary
A
action rule
Business rule that defines the actions required in different time phases (precondition, preaction, and
postaction) for create, save as, and delete operations. Action rules are applied to items, item revisions,
and datasets.

alias ID rule
Business rule that stores part numbers and other attribute information for similar parts.

alternate ID rule
Alternate identifiers that store information about part numbers and attributes of the same part from
different perspectives. They allow different user communities to identify and display an item or item
revision according to their own rules rather than by the rules of the user who created the object.

application extension point


Extension that allows for the configuration of applications using a decision table. This extension point
defines the table and the inputs and outputs that customers can configure against it.

application extension rule


Business rule that determines when an application extension point is used and defines inputs and
outputs.

attribute
Named storage variable that describes an object and is stored with the object. Users can search the
database for objects using object attributes.
In an object, an attribute is a name/value pair; in the database, an attribute is a field.

B
business context
Context that defines the user groups to whom a rule applies.

Business Modeler IDE


Teamcenter application that enables a customer to define data model objects such as business objects,
classes, attributes, lists of values, and rules.

business object constant


Constants that provide default values to business objects. Because these constants are attached to
business objects, they are inherited and can be overridden in the hierarchy.

Business Modeler IDE PLM00071 11.2 B-1


© 2019 Siemens Product Lifecycle Management Software, Inc.
B. Glossary

business object display rule


Business rule that allows an administrator to control the business objects that are available for creation
in Teamcenter.

business operation
Action performed against an object, such as creating, saving, or setting a property value.

C
change type
Template of a change process. Change types are created by a system administrator using the Business
Modeler IDE.

class
Set of objects that share the same list of attributes but distinguishable by the value the attributes
acquire for specific objects. For example, the Automobile class can be defined by the brand, color, and
price, but each car associated to the Automobile class has a different brand, color, and price
combination.

class hierarchy
Structure defining subclasses that inherit the attributes of their superclasses, also called their parents or
ancestors.

client
Role played by a software component of a system when it requests particular services be performed on
its behalf by another entity, a server. See also server.

compound property rule


Business rule that defines run-time properties on an object that references and relates to a property on a
source object. Compound property rules relate to the property associated with type components.
Applied types are item, item revision, dataset, and form.

condition
Conditional statement that resolves to true or false based on the evaluation of an expression.

corporate server
Host computer at the center of a Teamcenter network. This host contains the Teamcenter application
root directory, Teamcenter data directory, licensing, File Management System (FMS), and volumes. For
installations that include the web tier (four-tier architecture), the corporate server also contains the
Teamcenter server manager. Multiple application clients can map to or mount the corporate server.

B-2 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
D
dataset
Teamcenter workspace object used to manage data files created by other software applications. Each
dataset can manage multiple operating system files, and each dataset references a dataset tool object
and a dataset business object.

dataset tool
Teamcenter object that is the tool used to create or modify a dataset.

deep copy rule


Business rule that defines whether relational type objects can be copied as object, copied as reference,
or not copied when the user performs a save-as or revise operation.

Dispatcher service configuration


Object that defines the visualization file format that a dataset file is translated into.

E
extension point
Event or capability in the system, such as a precondition, preaction, or postaction, that allow you to
implement custom behavior.

extension rule
Business rule that adds predefined behavior to a business object's operation and fires as a precondition,
preaction, or postaction.

F
form
Teamcenter workspace object used to display product information (properties) in a predefined template.
Forms are often used to create an electronic facsimile of a hardcopy form in Teamcenter. See also
master form.

G
Generic Relationship Management rule
Rule that defines the relationship between two business objects. The rule has the following constraints:
cardinality, changeability, attachability, and detachability.

Business Modeler IDE PLM00071 11.2 B-3


© 2019 Siemens Product Lifecycle Management Software, Inc.
B. Glossary

global constants
Constants that provide consistent definitions that can be used throughout the system. These constants
have only one value, either the default value or the value you set.

GRM rule
See Generic Relationship Management rule.

I
ID context rule
Context that defines when you use unique item IDs. ID contexts are used when you create alias or
alternate IDs.

item
Workspace object generally used to represent a product, part, or component. Items can contain other
workspace objects including other items and object folders.

item revision
Workspace object generally used to manage revisions to items.

L
List of Values (LOV)
Pick list of values accessed by end users from a menu at the end of a data field. LOVs ensure consistent
data entries in the rich client.

LOV
See List of Values (LOV).

LOV tree
Tree view of List of Values objects.

M
master form
Teamcenter workspace object used to display product information (properties) in a predefined template.
Master forms are used to display product information in a standardized format.

B-4 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
N
naming rule
Business rule that defines the naming conventions for the string property value in different type objects.
Naming rules can be attached to the following properties:

• Item ID, item revision ID, and name in item types


• Dataset name, ID, and revision number in dataset types
• Name form types

O
occurrence type
Object used to distinguish how items occur in a product structure. An occurrence consists of one
component in an assembly including its relative position with respect to its parent assembly. Occurrence
types are representations of the PSOccurrence business object.

P
persistent object manager (POM)
Interface between Teamcenter objects and the Relational Database Management System (RDBMS). The
persistent object manager provides definition of classes by inheritance from other classes and definition
of attributes, manipulation of in-memory objects and support for their saving and retrieval to and from
the underlying RDBMS, support for applications accessing the same data concurrently, protection
against the deletion of data used by more than one application, and support for the access control lists
attributed to objects.

POM
See persistent object manager (POM).

preference
Configuration variable stored in a Teamcenter database and read when a Teamcenter session is
initiated. Preferences allow administrators and users to configure many aspects of a session, such as
user logon names and the columns displayed by default in a properties table.

property rule
Business rule that allows an administrator to control access to and the behavior of object properties.

R
revision naming rule
Business rule that defines the naming convention and sequence for a revision property.

Business Modeler IDE PLM00071 11.2 B-5


© 2019 Siemens Product Lifecycle Management Software, Inc.
B. Glossary

rich client
Java-based user interface to Teamcenter installed on user workstations. The rich client accesses
Teamcenter databases using a remote or local server. Compare to thin client.

S
server
System software component that performs a specifically defined set of software services on behalf of
one or more clients. In a typical Teamcenter installation, servers are centralized on dedicated hosts that
support a large number of clients. Clients are distributed on hosts connected to the servers via various
networking techniques. See also client.

status (workflow)
State applied to an object after it goes through a workflow. Typical statuses are Pending and Approved.

storage media
Storage device category such as a hard disk or optical device. It is a data model object type used by third-
party content-storage systems.

T
thin client
Teamcenter user interface that provides a streamlined browser-based view of product information
stored in a Teamcenter database. The thin client is configured in the web tier, which creates and serves
its web pages to the client. Compare to rich client.

tool
Object that represents a software application, such as Microsoft Word or Adobe Acrobat. You associate a
tool with a type of dataset so you can launch the dataset file from Teamcenter.

U
unit of measure
Measurement category (for example, inches, millimeters, and so on). Create a unit of measure (UOM)
when you need a new measurement for users.

V
value
Content of a field or variable. It can refer to alphabetic, numeric, or alphanumeric data.

B-6 PLM00071 11.2 Business Modeler IDE


© 2019 Siemens Product Lifecycle Management Software, Inc.
view type
Attribute of a BOM view revision. The view type specifies the BOM view revision's intended use (for
example, design or manufacture). The view type distinguishes one BOM view revision from another
BOM view revision of the same item revision.

Business Modeler IDE PLM00071 11.2 B-7


© 2019 Siemens Product Lifecycle Management Software, Inc.
Siemens Industry Software
Headquarters Europe
Granite Park One Stephenson House
5800 Granite Parkway Sir William Siemens Square
Suite 600 Frimley, Camberley
Plano, TX 75024 Surrey, GU16 8QD
USA +44 (0) 1276 413200
+1 972 987 3000

Asia-Pacific
Americas Suites 4301-4302, 43/F
Granite Park One AIA Kowloon Tower, Landmark East
5800 Granite Parkway 100 How Ming Street
Suite 600 Kwun Tong, Kowloon
Plano, TX 75024 Hong Kong
USA +852 2230 3308
+1 314 264 8499

About Siemens PLM Software


© 2019 Siemens Product Lifecycle
Siemens PLM Software, a business unit of
Management Software Inc. Siemens, the
the Siemens Industry Automation Division,
Siemens logo and SIMATIC IT are registered
is a leading global provider of product
trademarks of Siemens AG. Camstar, D-
lifecycle management (PLM) software and
Cubed, Femap, Fibersim, Geolus, I-deas, JT,
services with 7 million licensed seats and
NX, Omneo, Parasolid, Solid Edge,
71,000 customers worldwide.
Syncrofit, Teamcenter and Tecnomatix are
Headquartered in Plano, Texas, Siemens
trademarks or registered trademarks of
PLM Software works collaboratively with
Siemens Product Lifecycle Management
companies to deliver open solutions that
Software Inc. or its subsidiaries in the
help them turn more ideas into successful
United States and in other countries. All
products. For more information on
other trademarks, registered trademarks or
Siemens PLM Software products and
service marks belong to their respective
services, visit www.siemens.com/plm.
holders.

You might also like