COMPDM 2020R2 03 BasicAdministration
COMPDM 2020R2 03 BasicAdministration
Version 2020.2
Last revised 2020-06
Status released
Author Jens Kübler
Issued by
T-Systems International GmbH
PU Digital, BA PLM
Hahnstr. 43D, Frankfurt
File name Document number Document name
COMPDM- CPDMBA-2016 COMPDM Basic Administra-
2020R2_03_BasicAdm tion
inistration.docx
Version Last revised Status
2020.2 2020-06 released
Brief details
Instructions on how to administer COMPDM
The application COMPDM is designed to connect three worlds: product lifecycle man-
agement systems (PLM), computer aided design systems (CAD), and the international
standard ISO 10303 (STEP) for product data representation, exchange and long-term
archiving.
COMPDM clients allow for an easy definition and maintenance of data exchange pro-
cesses between any of these worlds. A very simple and straightforward user interface
allows the end user to start and monitor preconfigured exchange processes.
The COMPDM server manages and executes data exchange processes in a highly effi-
cient manner, including import to and extraction from PLM systems and conversions of
CAD files according to your requirements.
The present document is part of the COMPDM documentation, which is organized in sev-
eral volumes. The following table lists the available volumes and provides guidance about
the recommended readings for both data exchange administrators and data exchange
users.
01 Installation ✓
02-A User’s Manual (App Client)
✓ ✓
02-B User’s Manual (Browser Client)
03 Basic Administration ✓
04 Advanced Customization
(✓)
05 Extended Customization with JAVA
(✓)
• End user: To execute data exchange tasks such as data imports or exports and
use all necessary supporting functionalities such as monitoring processes, con-
firming imports to the PLM system, checking the results.
• Administrator (admin): Configuration of COMPDM, creation and modification of da-
ta representations and data mappings, creation of pre-configured settings profiles,
adding end user accounts, server maintenance. The administrator can also per-
form the same tasks as the end user (i.e. run data exchange processes etc.)
The present document describes the additional functionalities available to the administra-
tor for all maintenance and troubleshooting tasks, including the configuration of simple,
straightforward data exchange methods for the core elements of product structures.
These administrative functionalities are available in COMPDM’s “Client App”.
For reasons of clarity, more complex and/or rarely needed configuration features and ob-
jects, such as the exchange of product variant information, the definition of mapping pat-
terns for non-linear mappings, the configuration of automatically repeated processes, and
others, have been moved to a separate document (“Advanced Customization”). It is highly
recommended for COMPDM administrators to get familiar with these advanced features.
Nevertheless, for many scenarios, the basic configuration features as described in this
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 9/112
document should provide sufficient flexibility to implement highly productive data ex-
changes.
The use of extended customization methods that make use of JAVA code to implement
complicated business rules and processes is described in the “Extended Customization
with JAVA” document. These features require advanced knowledge of COMPDM internals
and JAVA programming.
It is assumed that the reader is familiar with volume 02-A: “User’s Manual (App Client)”
and this document will not repeat the explanation of the client app elements described
therein.
1 i.e. there is no configuration possible which would disable admin password checking, as opposed
to end user password checking
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 11/112
2.2.1 Process table
In contrast to the end user, the administrator can always see all processes assigned to all
users. The administrator has full control over all processes (restart, abort, download re-
sults, view logs, view traces, view product structure) as long as the information is available
at all.
2 This button is labeled “Shutdown...” if the COMPDM server is running as a stand-alone applica-
tion, and “Restart…” if it is installed as a Windows service. Refer to volume 01: “Installation” for
details
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 12/112
2.3 Users & Settings Editor
Notice that the tab headers to the left have a dark grey background whereas those to the
right have a light background. The difference between the two colors is their scope:
• Settings on grey tabs are of a global nature. The defined value will be used for all
settings profiles. These options are only visible for, and editable by, the administra-
tor
• Settings on white tabs can take individual values for each settings profile, and for
each user.
In the administrator’s “Expert mode” (see below), it is possible to change the nature of a
setting from “individual” to “global” or, in some cases, vice versa (in which case it can be
made accessible to the end users).
It is recommended to use the edit mode (see below) to make such changes and also to
change the number and names of tab groups, before starting to define settings profiles.3
3 This is a recommendation only: these changes can be made any time, however as soon as pro-
files are defined, a change to an option value might have to be repeated for many profiles
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 13/112
When using the right mouse button on a setting’s value, a context menu appears that al-
lows changing the settings’s accessibility:
You can control whether the setting is only available in “Expert mode”, or also in “Stand-
ard mode”, or whether it is also available to the end user. For settings on grey tabs (glob-
al) in general, but also for some settings on white tabs (individual), built-in rules inhibit
making them available to the end user, and the corresponding alternatives will not be
shown in the context menu.
The following settings are available in the context of user and profile management, but
only if LDAP authentication is not used (see section 2.5.2 of the “Installation Manual”):
• “User passwords” - controls whether end users always have to provide a pass-
word, or never have to provide a password, or only have to provide a password
when the COMPDM user account name is different from the Windows user name
(“Foreign”)4
• “Register user on the fly” – if enabled, end users can simply log in with a new user
name and a new user account will be created on the fly; in this case,
• “On the fly user template” defines a user from whom to copy initial settings
• “Default profile” lets you define which profile is shown as the default when logging
into the client
Note that unless LDAP support is activated (see section 2.5.2 of the “Installation Manual”),
it is possible to log into a COMPDM client as any user by providing the administrator’s
password instead of the user’s password.
4 “Foreign” mode is only supported by the client app, i.e., when the browser client is used, pass-
words are either always required, or never required, and the setting “Foreign” has the same effect
as “Always”.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 14/112
Adds a new settings profile (a unique name has to be entered).
You may also control the COMPDM servers which shall support
this profile in a multi-server configuration (refer to section 4.2 of the
“Advanced Customization” manual (COMPDM documentation, vol-
ume 04) for details).
All individual setting values (white tabs) are initialized with the val-
ues from the profile that is currently selected in the Settings Editor.
Delete a profile
Add a new user, optionally, select another user from whom to copy
the initial option values.
Delete a user
COMPDM features literally hundreds of different settings, and for many of these there are
only rare cases where it’s necessary to change their built-in default values.
For this reason, many settings are classified as “Expert” and are not shown initially when
the Settings Editor window is opened. Rather, it will only show settings which are classi-
fied as “Standard” (i.e. major, important, frequently used) settings, or which are accessible
to the end user. When selecting the “Expert” button, the remaining settings become visi-
ble. This means that typically more tabs will appear and most tabs will also show more
settings than before.
As described in the previous section, you can re-classify any setting as “Standard” or “Ex-
pert” by selecting “Admin only (Standard)” or “Admin only (Expert)” from the setting’s val-
ue’s context menu, in order to control whether it should be visible immediately when open-
ing the Settings Editor window or not.
In addition to accessing all settings, the administrator can use the Expert mode to custom-
ize the appearance of the Settings Editor. It allows to
• re-order the settings within a tab by using drag & drop on the option name
• re-arrange the tab groups (by dragging the tab headers).5
• move a setting to a different tab by dragging the label of the setting to the target
tab header. In case this move implies a change of the global/individual status
(grey/white), it has to be confirmed, and in certain cases, internal restrictions pre-
vent the change.6
• change the name of a tab group by double-clicking on its header
• remove tab groups by simply moving all contained settings to other tabs. On next
invocation of the Settings Editor window, the tab will have disappeared
• Create a new tab group by drag-dropping the label of a setting to the rightmost tab
labeled . Depending on the origin of the dropped setting,
the tab will receive the grey or white background.
5 Whatever the arrangement is, the editor will always show grey tabs left and white tabs right when
closed and reopened
6 When a setting changes from global (grey tab) to individual (white tab) or vice versa, its current
value gets lost. Therefore, we recommend to perform this kind of re-scoping of the settings before
starting to change their values from their built-in defaults.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 16/112
Note that if a setting is on a white tab (individual) and has “Admin only” or “User can see”
access, it means that the user cannot edit the setting. In this case, any value that is en-
tered in admin mode will automatically be propagated to all users for the profile being ed-
ited. If you need to have different values for different users, follow this procedure:
• Temporarily change the accessibility to “User can edit” (via context menu)
• Open a client session with the user whose settings are to be set individually (re-
member that the admin password is valid for any user account7)
• Change the setting
• In the administrator client, change the accessibility back to “Admin only”.
7 In case LDAP authentication is enabled, this is only the case for “template users”, see “Installation
Manual”, section 2.5.2. For other users, the actual password of the user needs to be provided
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 17/112
2.3.3 Adding your own settings
You may add settings to the COMPDM configuration, assign values to them and make
your data exchange processes take their values into account.
Adding a custom setting is as simple as creating a file in the COMPDM vault directory
(see COMPDM documentation volume 01: “Installation”) with a name like
option.<Option label>[.<type>]
where <type> is the setting type, it may be “string”, “integer”, “boolean”, or any abbrevia-
tion of these (default is “string”).
The files may be empty. In the case of a string type setting, they may also contain several
lines of text which define valid alternatives to choose from, instead of allowing entering an
arbitrary string value.
Result after server reboot (required):
Initially, such custom settings are found in a (white) tab labeled “Individual” and are ac-
cessible by the administrator only but are classified as “Standard” settings. They can be
moved from the “Individual” tab just like the built-in settings.
8 In case your EnoviaV6 server version is not available, some additional files have to be added to
your COMPDM installation. Please contact T-Systems for support.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 20/112
Define Server Downtimes Dialog
If a PLM system is unavailable during certain periods of the day, e.g. for database backup
creation or the like, the Define Server Downtimes dialog permits to specify these times. It
is possible to specify the times of unavailability for each weekday individually, or to specify
it independent of the weekday. Downtimes can be defined with a resolution of 30 minutes
by clicking into the scheduling grid, or moving the mouse over it while pressing the left
mouse button:
When a data import or export process wants to access a PLM system for which a defined
downtime begins within the next minute, the process automatically halts and waits until all
downtimes of all required PLM systems have ended. If all PLM systems have overlapping
times of unavailability for the whole week, the process aborts.
Once you exit from the Manage Servers dialog, the choice of configured servers is updat-
ed for the PLM system, and if you entered a new host, you can now select it from the list:
Its purpose is to simplify analysis of data exchanges that do not behave as expected.
When activated, any views in the mapping method that are hidden (suppressed) to the
end user become visible (see section 4 for details). Furthermore, the first column of the
structure view is used to indicate the object type in brackets (normally this type is shown
with a “mouse over message”. The mouse over message shows the internal #-number
(object ID) of the object, which is used in the process trace file when referring to the in-
stance.
A tooltip (mouse over message) will provide information about the nature of the problem.
Check the Console’s traces (see 2.7) for further information.
For troubleshooting data export problems, see remark in previous section 2.5
Please note that the “Export scope” setting controls whether the part selected via the “Part
Search dialog” is exported with all subcomponents (default), or only with its direct compo-
nents, or without any components. This setting can take different values per setting profile
and/or user.
9 When troubleshooting such problems to support an end user who reports unavailability of meth-
ods, make sure you’re using the same parameters for PLM and CAD modules as the user reporting
problems, i.e. same settings profile etc.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 24/112
2.7 Console Window
When logged in as administrator, the Console Window includes two additional but-
tons to launch the Activity Monitor window and the Client Console window.
The Monitor Window shows a graphical representation of PLM server activities. It may
contain several graphs:
• Select the “Monitor” button to open the Activity Monitor window. It will contain the
activity graphs that were configured last (see below)
• To close the Activity Monitor window, use its close control, i.e.
COMPDM keeps a record on two kinds of activities for every PLM system server that is
configured:
• Number of concurrent sessions, i.e. how many threads (processes, sessions) are
using the server in parallel at a given point in time
• Requests per second, i.e. how many invocations of the PLM system server are
performed by the COMPDM server in one second10
10 Be aware of the fact that only the activities controlled by the currently used COMPDM server are
counted, not activities by other users of the PLM system or other COMPDM servers
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 25/112
These activities vary over time, and a graphical representation shows the activities for the
past week, plus the current day. To be able to show recent activities with some detail
while still giving an impression of the change of activities during a whole week, the time
resolution of the graph is variable:
• In the rightmost section, the latest activities are shown as detailed as one value
per second (covering the 5-6 last minutes)
• In the middle section, the activities of the last 4-5 hours are shown with their aver-
age over one minute
• In the left section, the activities for the past week are shown. Here, the values
show the average over 30 minutes
• Times when the COMPDM server was not running are shown in light red
The “Monitor” button’s right part allows accessing a popup menu structure that can be
used to select or deselect the graphs to include in the Monitor window:
As can be seen in the figure above, the popup menu can include up to three levels:
• Topmost level lets you choose either “Number of sessions” or “Number of requests
per second” as the activity to monitor. This level is always present.
• Next level lets you choose the PLM system. This level is only shown if more than
one PLM system module is licensed in your COMPDM11
• Next level lets you choose the server for the PLM system. This level is only shown
if more than one server is defined in your configuration, all of which were used dur-
ing the past 7 days
In case your configuration actually results in several popup menu levels as shown above,
you may either select an item from a rightmost entry to monitor one particular PLM server.
You may, however, also select one of the higher-level menu entries, in which case activi-
ties of all sub elements are summarized in a graph. In the example above:
11 In addition, only PLM servers and PLM systems will be available where an activity was recorded
during the past 7 days
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 26/112
• If you selected “scplm044 TC9”, you would get an activity graph for the number of
concurrent sessions on the Teamcenter server “scplm044 TC9” during the past
week
• If you selected “Teamcenter”, you would get an activity graph that shows the total
number of concurrent sessions on the two Teamcenter servers “scplm044 TC9”
and “scplm044 TC11”, i.e. all Teamcenter related activities
• If you selected “Session”, you would get an activity graph that shows the total
number of concurrent sessions on all PLM systems, in the example here, all Aras
and Teamcenter related sessions on all configured Teamcenter and Aras servers
When you make a selection as described, an additional activity graph is added at the bot-
tom of the Activity Monitor window. When you make such a selection for an activity graph
that is already contained in the Activity Monitor window, it will be removed from the Activity
Monitor window.
Note that for Multi-Server COMPDM installations, the Activity Window also shows a table
that summarizes activities on all running servers. Refer to the “Advanced Customization
Manual”, section 4.3.2, for details.
The Client Debug Console window provides additional tracing information for COMPDM’s
client app. It may contain the three tabs “Communication”, “STDERR”, “STDOUT” which
log client-server communication, or any error or console output produced by the client.
This information can be useful for COMPDM developers to analyze client malfunctions.
Teamcenter Tab
If the Teamcenter module is licensed, the Client Debug Console offers an additional
“Teamcenter” tab which allows to investigate the Teamcenter database using low-level
operations, which can be very useful when developing Teamcenter-based data exchange
methods.
All information is retrieved from the current profile’s Teamcenter connection. Enter com-
mands to get detailed information about a certain object type (including available proper-
ties with labels, internal names, and types), about all available “Saved Queries” with their
underlying SQL statements, to print type and properties for a certain Teamcenter UID, or
to print differences between two Teamcenter objects or a Teamcenter object before and
after a certain operation. You can also run queries or use the “Find Service”; be aware
that any “Part” properties must be specified in the form “<property>@<type>” with
<type> either the item or the revision type name.
Example:
search Item item_id@Item=Test123
Enter the command “help” to get a list of all supported commands.
If the EnoviaV6 module is licensed, the Client Debug Console offers an additional “Eno-
viaV6” tab which allows to run MQL statements against the active connection, for explora-
tion of the database or direct manipulation.
You can either provide the command line arguments by making a copy of the client
startup script, client.bat12, and editing it (add the arguments at the end of the last
line).
Or, you create a symbolic link to the client.bat startup script then change the link’s
properties (target) and add the parameters.
The following parameters are supported:
• --server=<URL>:<PORT>
to specify the COMPDM server to connect to (overrides default stored in Windows registry)
• --user=<username>
specifies the COMPDM account to connect to (may also be admin)
• --password=<value>
specify the user’s password in plain text
• --crypt_password=<value>
specify the user’s password in an encrypted form; use
• --crypt=<value>
to make the client print the encryption of a plain text password and terminate, the output
can then be used in conjunction with –-crypt_password
• --profile=<value>
select the settings profile to use
• --import=<Method>&<Root file path and name>
Provided that --user, --password/--crypt_password, --profile are
provided as needed, will create a new process with the specified (import) method, load the
specified product structure root file and accompanying files, and run the process. The cli-
ent will wait for completion and return with exit code 0 if the import finished with no er-
rors.
12 This script is located in the installation directory of the client, refer to COMPDM documentation
volume 01: Installation
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 30/112
• --export=<Method>&<Root part id>[&<address>]
In case that --user, --password/--crypt_password, --profile are
provided as needed, will create a new process with the specified (export) method and run
the process. The client will wait for completion and return with exit code 0 if the export fin-
ished with no errors.
The “root part id” is a unique, PLM system specific identifier for the root of the product
structure to export. The optional “address” denotes the receiver for the data in case the
TRUfusion Enterprise integration is used, i.e. the exported data will be handed over to the
TFE server for further processing.
To obtain the necessary parameter values for an export, it is recommended to start the
export interactively using the Search Part Dialog, see section 2.6 of the User’s manual. Af-
ter having started the export, you may well abort the process. In the process’s trace files,
you will find the necessary information at the very beginning, example:
13:55:41.472 >LOG:> Info: process created (internal id: 20161120135541-6)
13:55:41.474 for a batch execution of process: use
--export="My Export&CAD:6BFB972CA973493C9E95D71C5A300D76&TFE1X1X75S46T306S1T10"
Example for a batch invocation (from a Windows command window) for an import:
client.bat --user=admin --password=123456 --profile=default
-–import=”My Import&C:\tmp\data01\asm.CATProduct”
13 Filter definitions may include JAVA code based filter criteria, but these are ignored by default
when a saved filter (*.cef file) is used as an export definition file.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 31/112
Miscellaneous other command line arguments are:
• --help: Prints all command line arguments and major return codes for
–-import/--export
• --editor=<Path>: Path to a text editor binary, if a valid (executable) program is
provided, it will be used for the corresponding button in the Console window (see 2.7) to
directly load the window’s text content into the editor
• --uninstall: remove Windows Registry entry for client
• --reference=[<process id>:]value: Sets the value of the process reference column
in the Client Main window.
When used in combination with --import/--export, sets it for the created pro-
cess.
If a process id is prefixed to the value using “:” as the separator, sets the reference value
for the given process.14
• --balance: select server with lowest workload in Multi-Server configurations (refer to
the “Advanced Customization” manual, section 4.3.1, for details
The COMPDM server supports the following command line arguments, which have to be
provided to the server.bat15 script:
• --vault=<Path>: Use specified directory for the COMPDM vault, instead of the value found
in the Windows registry.
This option is useful in case you want to run more than one COMPDM server on the same
computer, or if you need to avoid having the vault address stored in the Windows Registry
• --uninstall: Attempt to remove Windows Registry entry for server (vault path)
14 This parameter is currently used in conjunction with the TRUfusion Enterprise integration, to
relate TFE job numbers with COMPDM process ids
15 server-2nd.bat in case of a secondary COMPDM server
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 32/112
3 Modules, Representations and Objects
3.1 Overview
Product structures handled by COMPDM are made up of objects that carry attributes
(properties). COMPDM does not handle generic, arbitrary objects. Because the applica-
tion domain of COMPDM is primarily the exchange of CAD product structures, all objects
handled rather have to fall in one of the following categories, or kinds:
The first five object categories form the core representation of product structures, whereas
the remaining two categories are only used under certain conditions. For the latter ones,
refer to volume 04: “Advanced Customization”, section 2, for details.
S
S
S S
S
trafo
fileName
This fairly simple data model is well suited for representing CAD product structures.
COMPDM is designed to handle this model very efficiently and the user interface allows
managing data represented this way very easily.
The components of COMPDM that deal with the specifics of a PLM system (Aras,
Teamcenter, VPM, EnoviaV6, Windchill) or a file format (CATIA V5, NX, STEP) are called
“Modules”. These modules are responsible for mapping their “native” data to and from
this internal data model. In some cases, the module will have to deal with external data
that is more complex than this model17, in other cases the externally used data represen-
tation is even simpler18. This makes the module’s task more or less complicated. In sec-
tion 3.4 we will explain the module specific assumptions and restrictions.
16 The case that it has no instances is used by some modules for generic part relationships without
the instance semantics, i.e. no positioning is involved etc.
17 Example: Teamcenter has an Item and an ItemRevision object which together represent our
„Part“
18 Example: In CATIA there is no distinction between „Part“ and „Document“, both roles are played
by the „CATPart“
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 34/112
If we want, for example, to import CATIA data into Aras, we obviously will need the CATIA
module and the Aras module to accomplish this. Then, we need a definition how the CAT-
IA data should be stored in Aras: Which CATIA files should go where, which Aras items
and properties should be filled with which values etc.
We use the Representation Editor (see 3.2) to create representations and choose the ob-
jects they contain, and the Object Editor (see 3.3) to choose the attributes that are in
scope of the COMPDM process.
The next step is then to define a new import method that has (in our example) the CATIA
representation as its starting point and the Aras representation as the target for the data.
This is done using the Method Editor, which is described in chapter 4.
After having defined a sequence of representations, we need to define how the objects
and attributes have to be mapped from their source representation (CATIA based) to the
target representation (Aras based). This is done using the Mapping Editor (see section 4).
Once a sufficient level of completeness is reached for the mapping definition, the method
becomes “executable”. This means in our case that the “Import…” button will become se-
lectable and we can start a COMPDM process that uses the method to import actual CAT-
IA data to Aras.
The Representation Editor is used to add, rename or delete representations and to man-
age the objects contained in them. It is organized into two sides:
The left side has a list of all currently defined representations and contains buttons to re-
name, delete, clone (make a copy) and create new representations. There is one “New
repr” button for every module that is licensed. The picture above shows a configuration
where all supported modules are available; typically, in your installation, you will have
fewer buttons. Refer to 3.4 for details about creating representations for the different
modules
The right side shows the objects contained in the currently selected representation. The
right-hand buttons are used to edit the currently selected object, and to add or remove
objects to the current representation. Whether or not it is possible to add a certain class of
objects to the current representation depends on the module and the objects that are al-
ready contained in the representation.
The Object Editor window is used to edit the attributes of an object. A lot of the processing
logic will later depend on the properties defined for these attributes.
Attributes are characterized by a number of properties described further below. The de-
gree of freedom to set these properties differs from case to case. If the attribute belongs
to an object that is taken from a PLM system customization, many properties are directly
derived from the PLM system and cannot be changed. In other cases, attributes are com-
pletely user defined (e.g. additional CATIA properties) and properties can be freely modi-
fied.
• Name: name of the attribute which has to be unique for the object.
• Key: Indicates if the attribute is a key attribute or a version attribute. Key attributes
are critical for reconciliation19 (i.e. how to find a matching object in the PLM system
when importing external data), version attributes are important to find out whether
an object has to be revised (versioned) or its import is denied because a newer
version already exists in the PLM system.
• Type: The type of the attribute. COMPDM supports the following types represent-
ed in the table by the corresponding symbols: String, Integer, Double (= floating
point number), Boolean (= yes or no decision), Timestamp, Position (transfor-
mation matrix), and Effectivity (condition under which the object is to be included in
a product variant)
19 In particular it is recommended to have a key (or uniqueness) attribute defined for Instance type
objects. If this is not the case, all existing product structures will be rebuilt during an import, as
COMPDM has no criterion to determine whether the position of an instance has changed. Having a
key or uniqueness attribute defined on the Instance can thus considerably speed up the update of
existing product structures
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 38/112
• Length: Only for string type attributes, an optional restriction of the length of the
value. Longer values will be truncated automatically with a warning
• Case: Only for string type attributes, the string can be defined to be mixed case
(=empty), upper case, lower case, or to have one of the defined template formats.
• Trim: Only for string type attributes, you may specify that leading and/or trailing
whitespace characters are removed automatically from values that get mapped to
the attribute. A whitespace character is any character with an ASCII code equal to
or lower than 32, which includes space, tab, and line wraps20.
• Auto: Indicates that the value of the attribute may be (Teamcenter) or will be
(Aras) generated automatically by the PLM system when an object instance is cre-
ated. In the case of Teamcenter, this is used for a part’s “item_id” attribute or a
dataset’s “_conversion_service” pseudo attribute (see 3.4.2). In the case of
Aras, it is used for any attribute that is defined on the basis of a “sequence”
• Unique: You may define local (L) or global (G) uniqueness constraints on values,
which will be checked during processing. Local uniqueness is in respect to the
owning part object (e.g. for some document attributes that have to be unique
among all documents belonging to the same part)
• Visibility: You can set an attribute to invisible, which will remove it from the Pro-
cess Monitor Window and Part Search Dialog. Nevertheless, it will be processed
and mapped just like any other attribute.
20 In the case of Teamcenter, the system automatically removes spaces at the end from all string
type attribute values. This is reflected in that a trim at the end is pre-configured. In this case, you
can only choose to remove leading spaces as well, or not.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 39/112
• ReadOnly: Indicates that the property cannot be written to. This should not be
used in combination with the Must or Key/Version flags for target representations
• Project: This is used in conjunction with the TRUfusion Enterprise integration for
scenarios where the PLM system stores information about the TFE processing en-
vironment for some data. Exactly one attribute for an object can have the Project
flag set. It will then drive the selection of TFE processes in the Search Part Dialog
(for data exports), based on the value found in the selected root part
Import attributes from the module, e.g. from the PLM system customiza-
tion or from the built-in list of supported STEP properties. Not available
for all modules. The attribute properties are set accordingly.
Select object of same kind (e.g. Part = Part etc.), then select attributes
defined at other part object for copying over. If the local representation
does not permit free definition of new attributes, copies only those
where the name matches an attribute from the customization21.
21 This feature facilitates the definition of exchange processes e.g. where you want to export CAD
data and include some PLM system properties as CAD user defined properties so that the receiver
can work with the information. Another use case is when you want to use several objects of the
same kind for some PLM system, which have very similar attributes, e.g. due to inheritance mech-
anisms in the system.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 40/112
3.3.3 Managing extensions
An extension represents additional information for some object, in particular for a part or a
document. This kind of object is used for data which is not always present (otherwise the
extension’s attributes could be stored with the object itself), or which may even be present
multiple times for the same part.
Extensions are supported in PLM system based representations and in STEP based
representations. Details are laid out in section 3.4.
If an extension is available for a part or document, the “Add extension…” button becomes
selectable. When clicking on it, you may pick one or more extension object types.
Notice the “VIRTUAL Extension” choice above. It is explained in the next sub-section,
3.3.4.
The Object Editor Window will be closed after adding one or more extensions.
In the Representation Editor’s object list, the part or document will then be shown with an
additional extension symbol to indicate that an extension is used with the object:
When an object with extension is opened in the Object Editor window, separate tabs will
be shown which allow to administer either the object’s attributes, or the extension’s
attributes, in the usual manner.
In the tabs for extensions, you will notice some additional elements near the bottom which
play a role in data mapping:
If the cardinality is set to “0 or 1” it means that at most one instance of the extension ob-
ject can be present with its parent object. This simplifies any data mapping operation con-
siderably as the extension’s attributes can be treated like optional attributes of the parent
object (see section 4). This is the default for Teamcenter based representations.
If the cardinality is set to “Any”, it means that for an extension type, any number of in-
stances can be present at the parent type.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 42/112
When several instances of the extension are present, the mapping method will either pre-
serve this condition by creating e.g. the same number of extensions at the target object or
converting the extension to some kind of link to another object, or it will concatenate the
values using the “Separator” character (right-hand) and store them in a string type target
attribute. This is a simple approach to e.g. map multiple extensions to CATIA or NX repre-
sentations (which do not support extension objects). Refer to section 4 for more details.
To get rid of an extension, select the parent object in the Representation Editor and use
the “Delete object” button. A dialog appears which allows selecting either the parent object
with all extensions (provided that the parent object may be deleted), or only one specific
extension object.
For PLM system based part or document types, you may add a virtual extension. It allows
to administer additional information for an object outside the PLM system. Instead, data
is stored persistently in COMPDM’s built-in “Cache module”. This allows to keep
information that is purely data exchange related outside the PLM system. On import,
virtual extensions are created just like normal extensions, only that the data is not
persistent in the PLM system. On export, any information in virtual extensions for an
exported object is added.
Once added, the “New attribute” or “Copy attribute” buttons may be used to add attributes
to the virtual extension. You may use the “Cardinality” of the virtual extension as usual. If
cardinality “Any” is used, at least one key attribute should be defined for the virtual
extension to allow COMPDM to cleanup obsolete records.
For virtual extensions, the following applies:
• If attributes of the virtual extension are modified (add, delete, change of type,
change of key property, string length or string case), all entries for PLM system ob-
jects are discarded (the administrator will be prompted for this).
• Persisted information is only available for mapping methods using this representa-
tion. If another representation for the same PLM system makes use of the same
PLM system object, and a virtual extension is defined for it, the information there is
managed independently.
• If a part’s virtual extension has a key attribute, the virtual extension is used in part
reconciliation (i.e. to find out whether an incoming part already exists in the PLM
system): If the part’s key attributes do not match in the PLM system, it gets
checked whether a virtual extension record matches where the corresponding ob-
ject in the PLM system still exists. If yes, the object is used and its key attributes
overwrite the incoming object’s. This feature can e.g. be used to map between ex-
ternal and internal part numbers: The virtual extension stores the external (cus-
tomer) part number as a key attribute, the incoming part number is e.g. mapped to
“Auto” (Teamcenter feature: generate a new part number) ➔ as a result, if a part
was never imported before, a new part number will be generated, if it was previ-
ously imported, the number generated last time will be re-used.
• Direct access to the information stored in virtual extensions (query etc.) is not pos-
sible. The data can only be accessed indirectly by exporting the relating parts or
documents from the PLM system, or by using custom JAVA code.
The buttons labelled “Edit prepare”, “Edit checks”, “Edit retrieval”, “Edit match”, “Edit
revise”, “Edit written”, and “Edit compare” are used to define JAVA based, custom
methods to fetch additional information for an object instance, to check consistency of it,
to reconciliate it, to update it from a matching instance in the PLM system, to calculate the
next revision of it, to perform actions after the object was written to the PLM system, and
to compare it with another instance. These are used to override the built-in default
behaviour of COMPDM for advanced business logic. These functionalities are described
in volume 05 of the COMPDM documentation: “Extended Customization with JAVA”.
A code button just showing the JAVA icon signifies that no custom code
is currently associated with the corresponding functionality.
The code button will show a green check mark if custom JAVA code is
associated with the corresponding functionality.
The code button will show a warning sign if there is custom JAVA code
associated which has compile errors (rendering the representation
unusable)
22 In case you are using COMPDM with several differently customized Aras systems, make sure to
be connected to the one your data exchange method shall be used with, when starting to create a
new Aras representation, so that the proper Aras item types and properties are available
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 46/112
Representation objects of COMPDM as described in 3.1 can be chosen from the following
Aras items:
When adding objects to the representation, first the parts should be added using the “Add
part” button. COMPDM will offer you (nearly) all (non-relationship) item types and you can
choose one or several items which you want to play the role of the part in the exchange.
You can see part of the choice dialog in the figure to the
right; typically, there are many items to choose from.
23 For example, if you include “Part” and “User” as part types, you
can create an Assembly relationship named “Part~~created_by_id”
The advantage is that the “User” object (who created an exported
part) is automatically included in the export – with all its properties
24 Aras uses different terms for relationship types, which have a parent object, but no child item
associated. “Null relationships” and “non-related RelationshipTypes” are used. In this and other
COMPDM documents the first term is commonly used.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 47/112
COMPDM’s world, only Documents can carry files. In case you’re not interested in the File
property, you can simply delete the “(dual instance)”-Document object.
After having chosen the parts, add the Assembly objects. COMPDM will let you choose
among all relationship types in your Aras customization where both the source and the
related item is one of the selected part items.
Building on top of this, the instance objects can be chosen. This time only “null relation-
ships” relating to any of the chosen Assembly relationship types can be selected25.
Finally, when using “Add document…”, COMPDM will offer all item types that can be
linked with a relationship to one of the selected part item types and can reference a File
object either directly (property) or via a relationship type.
When you edit any of the objects created, you will find only Aras “key” attributes to be in-
cluded initially (in addition, “major_rev” for parts). Use the Object Editor’s “Use attribute…”
button to add more properties from the customization. Since you are bound to the Aras
customization, it is not possible to use the “New attribute” button here.
Attributes that are defined on the basis of a sequence in Aras will receive the “Auto” prop-
erty (see 3.3.1).
Special considerations:
• If you want to control the life cycle of an item, e.g. have a data import promote an
item to a specific state, include the “state” standard property
• If you want to control the locked/unlocked status of an item after import, add the
“locked_by_id” property. Your mapping should then either set it to “null” if you want
the item to be unlocked after the import or to the name of the Aras user if you want
to have it locked. A clever way to do the latter is to use a mapping that sets the
“locked_by_id” to the value of the “Aras user name” setting (refer to chapter 4). If
you don’t control the lock state, the result will depend on the actions that were ac-
tually performed and may not always be the same.
• Make sure that “Instance” objects have a transformation property included. The
name of the attribute depends on the CAD integration used.
25 In case there is no null relation type referring a selected Assembly relation type, it is assumed
that the Assembly relation type plays the role of the Instance as well, i.e. if a component is used
twice there have to be two instances of the Assembly relation type that link parent and component.
An example is an Aras system using „CAD Structure“, but having no „CAD Instance“. In such cas-
es, an extra Instance with the label „(dual instance)“ is created for the Assembly. See previous
page, „CAD Structure“ screenshot
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 48/112
• When editing document objects, in the object editor’s “Use attribute…” dialog
some property names might be shown in bold face. These are properties of type
“File”, i.e. which induce a direct relationship to a file. If you include one of them, the
file belonging to the Document will be stored in this property (or retrieved from this
property, respectively). In this case, the included attribute itself does not need to
receive a value in an import mapping. If you include none of them, a relationship
type which relates to a “File” is used. Do not include more than one of them as this
would lead to arbitrary results.
• For import of several files via direct property reference for one item in a single im-
port step, for example “native_file” and “viewable_file” for a CAD, include all the
properties and map the corresponding file names to them. In this case you need to
ensure that the files are actually present before import.
• For multi-vault Aras installations, you can include the pseudo attribute “_vault” for
document objects and specify the name of the target vault for imports.
• Preview images of CATIA or NX files can be imported as thumbnails by including
the corresponding “thumbnail” attribute for the part or document object. In the case
of a part object, the thumbnail is only imported if exactly one of the part’s docu-
ments carries a file containing a preview image.
• The pseudo attribute “_lifecycle” can be used to set the lifecycle state of a part or
document on import. COMPDM will perform the necessary promote/demote steps
from the object’s current / initial state to the given state. On export, the _lifecycle
attribute acts just as a synonym for the standard Aras property “state”.
• Empty: Create a representation from scratch. Initially, only the “BOMLine” (Assembly)
and “PSOccurrence” (Instance) object types are contained.
• Typical: In addition to the “BOMLine” and “PSOccurrence” type, will add the “Item” as
a part object, and the major dataset types used for CATIA and/or NX handling, de-
pending on which CAD system(s) are used in the current COMPDM configuration.
Representation objects of COMPDM as described in 3.1 can be chosen from the following
Teamcenter objects:
26 All object and property definitions are directly fetched from the Teamcenter server. In case you
are using COMPDM with several differently customized Teamcenter systems, make sure to be
connected to the one your data exchange method shall be used with, when starting to create a new
Teamcenter representation, so that the proper Teamcenter item and dataset types with their prop-
erties are available
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 50/112
Kind Symbol Description
Part Item+ItemRevision or any subtype of these
Assembly BOMLine, you can add other relation types
Fixed, PSOccurrence (other relation types selectable
Instance
for Assembly relation have no instances)
Document Any Dataset type
Extension Forms or Alternate Identifiers
Any Item and Revision subclass pair (including “Item” and “ItemRevision” themselves) that
is customized in the connected Teamcenter server can be selected to play the role of a
“Part” in COMPDM27. The Teamcenter module will combine the properties of the two ob-
jects into a single object in the user interface. The COMPDM part object will have the
name of the “Item” object selected.
27 In fact, this applies only to Item types which can be directly created from the Teamcenter client
GUI. Be aware that the credentials used for login may have an influence on the visibility/availability
of Item types
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 51/112
When selecting a part’s attributes from the Teamcenter customization using the “Use at-
tribute…” button, some specific elements are present in the dialog:
• Properties from the Item itself and from the Revision are shown in different “Tabs”
of the “Select Attribute” dialog
• Many properties are available whose value can be exported, but not overwritten on
import. These are shown in italic writing. When used, they will automatically re-
ceive the “ReadOnly” flag and it cannot be changed in the Object Editor.
• The “Auto” property is available for the Item’s ID (item_id) attribute. It is possible
to specify an explicit value for this attribute in a mapping and thus override the au-
tomatic generation of a new item ID.
• Properties which are based on “List of Values” (i.e. an enumeration of valid values)
have the additional entry “values restricted” in their “Additional description” column.
If you activate COMPDM’s “Check attribute values against LOV” setting
(Teamcenter tab), COMPDM will automatically check values against the list before
an import to Teamcenter is attempted, and issue appropriate error messages in
case of invalid values.
• Properties which are internally references to other Teamcenter objects may be in-
cluded. Their type is shown as “String”, and in the “Additional description” column,
you’ll find the entry “object reference”.
To write such properties in an import there are two alternatives.
(1) if the Teamcenter setting “Check attribute values against LOV” is set, and
the property is based upon a “List of Values” in Teamcenter, COMPDM will
create a reference to the object specified by the value (like in the Teamcenter
client).
(3) You may also directly provide the Teamcenter UID of the target object, pre-
pended by two hash signs “##”
Note that internally, the “@”+object type name is used regardless of whether the property
name is ambiguous or not. This will be visible in some situations, e.g. trace output, source
value mapping, and has to be taken into consideration when writing custom JAVA code,
as described in the “Extended Customization” manual.
You can pick any of the customized dataset types for a COMPDM document.
Both Revision objects and Dataset object types have a pseudo property named
_release_status which can be used to read and write the (latest) ReleaseStatus of the
object.
You may set the standard properties owning_project, owning_group and/or own-
ing_user for imported objects. Note that the owning_group will only be set if the own-
ing_user is set likewise.
Item and Revision object have a pseudo property named _workflow which, when as-
signed a value during import, will cause COMPDM to start the named workflow with the
imported object.
For Dataset object types (Document), COMPDM will automatically determine a suitable
Teamcenter relation type to assign the object to its item revision. However, you can ex-
plicitly control the relation type by adding the pseudo attribute _item_rev_relation
and setting it (in a mapping definition) to the name of the relation to be created.
Specifically, for the dataset (document) object types UGPART, UGMASTER, CATPart,
CATProduct, and CATDrawing, the pseudo attribute _preview can be included. If pre-
sent, COMPDM will check incoming NX or CATIA files for embedded preview images, and
will import them as preview images to Teamcenter (additional “named references” of the
target datasets).
Furthermore, you may make COMPDM trigger conversion services for imported files by
incorporating the pseudo attribute _conversion_service into the document object
definition. This attribute has to receive all necessary parameters for the conversion ser-
vice in a string of the form
PROVIDER:SERVICE:TYPE:PRIORITY[:FILE]{:KEY=VALUE}
It is possible to use a custom relationship between Item Revision and Form. To control
this, include the pseudo attribute _parent_relation with the form and write the name
of the relationship to it during the mapping. For data export, use the Teamcenter setting
“Item-Form relation types” to provide the names of additional relations that shall be
searched on data export.
For Alternate Identifiers (which are available as “Extensions” for part objects, just like
Forms), the pseudo attribute _id_context has to be included to specify the ID Context’s
name to use for the identifier. You may also include the pseudo attribute _for_item for
an identifier that should be assigned to the item only (not to the revision). By default, the
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 54/112
alternate identifier is created for item and revision, and it should contain an attribute
marked as “key” and one marked as “version”.
Teamcenter forms can be related to datasets as “named references” instead of the usual
relation type (“IMAN_specification”). A popular example for this is the “cat-
ia_doc_attributes” form of Teamcenter’s CATIA integration, “tcic”.
If you include the pseudo attribute _as_named_reference with the form, COMPDM will
relate the form accordingly on import, or find the form during export.
The setting “Import under ‘Newstuff’ folder” can be used to specify that imported parts
shall be found in the user’s Newstuff folder (either all or only the root parts of a structure),
or that they shall not appear in the Newstuff folder. Alternatively, the default behavior of
Teamcenter can be chosen (implementation dependent).
You can also include the pseudo attribute _folder for items and map the name of a tar-
get folder to it. If this is used and the folder is present in Teamcenter, the imported item
will appear under the folder. This also takes precedence over the “Import under
‘Newstuff’ folder” setting.
Note that as opposed to the situation with the properties, where you can switch
COMPDM’s Object Editor to show either the internal (technical) name or the user interface
label, the names of the Item, Dataset and Form types are always the internal (technical)
ones. Since it is common practice that the Teamcenter objects have different names in the
user interface, it sometimes turns out to be difficult to determine the proper objects to
choose. Check the Console Window, when a Teamcenter server is contacted for the first
time after COMPDM server startup, COMPDM dumps an alphabetic list of all object
names with their internal names to the console traces.
NX Data Handling
CAD file packages in the NX format typically contain references among the individual files,
e.g. for assemblies or drawings. Normally, when NX data is stored to Teamcenter in the
“Managed Mode”, these references will become database links (references to Teamcenter
objects), whereas when NX data is exchanged as a collection of files, these references
will specify the target file name.
If a file package is imported directly by COMPDM, the file-based links are not changed.
When you open the assembly in NX from within Teamcenter, Teamcenter’s NX integration
will automatically change the file references to database links. Other scenarios, e.g. direct
export from Teamcenter using Teamcenter’s ug_clone utility, will not work this way.
There can also be cases where so-called “Reference sets” in the NX data get lost.
When you export an NX assembly that resides in Teamcenter (having database links),
using COMPDM’s NX module as the target representation, the links will be deleted and
re-created as file-based links, which can have disadvantages likewise.
These issues can be overcome if the NX module is licensed together with the Teamcenter
module.
On import, you can optionally configure an additional processing step which converts the
file-based links to database references using Teamcenter/NX native utilities. Be aware
that the import to Teamcenter will take significantly more time in this case
(+150%...+800%).
The relevant settings can be found in the Settings Editor’s “Expert mode” on the white
Teamcenter tab:
• Use NX-TC utility: If checked, update of the NX internal links after import to
Teamcenter is activated
• Teamcenter FMS_HOME value: COMPDM runs the ugin_import.exe tool of
the NX installation (as configured in COMPDM’s NX settings) which requires the
FCC process for importing files to Teamcenter. The FMS_HOME environment vari-
able must be set for this (typically, to the “tccs” sub-directory of the Teamcenter
client installation)
• Teamcenter JRE_HOME value: Here, you need to configure the JAVA runtime
environment to be used for the Teamcenter related utilities (COMPDM’s own JAVA
runtime environment cannot be used for this purpose due to much newer language
level)
As a prerequisite for running the ugin_import.exe tool which converts the NX inter-
nal references, all NX files need to have the information about the Teamcenter Item revi-
sion where the files are attached to, by storing Item ID and Revision ID in NX properties.
• The setting Use standard properties for NX-TC utility controls which properties
are used for this purpose. If set, COMPDM will use the properties DB_PART_NO
and DB_PART_REV (standard convention). In case these properties are needed
to have different values for some reason, deactivate this setting to make
COMPDM use the properties COMPDM_TC_ID and COMPDM_TC_REV instead.
Before running ugin_import.exe, COMPDM will set these properties on all NX prt
files where they are not yet set according to the target Item Revision. This preparation
step contributes significantly to the processing time. It is therefore recommended to avoid
it by adding the relevant properties (DB_PART_NO/DB_PART_REV or
COMPDM_TC_ID/COMPDM_TC_REV) to the NX representation, and to set them using
an intermediate NX based representation. Even if your import method did not have an
intermediate NX representation before, it pays off due to better performance of the NX
module in comparison with standard NX utilities to set the properties.
Representation objects of COMPDM as described in 3.1 can be chosen from the following
VPM tables:
When creating a new VPM representation, COMPDM will include an Assembly object la-
beled “CATASS” and an Instance object labeled “CATASS (dual instance)”, which togeth-
er represent an instance of a part from one of the $EXT tables.
Other objects, i.e. parts and documents, will receive a name which consists of the VPM
environment name, a dot, and an identifier of the corresponding table. For parts, it is
“PART” (internal table name of VPM: PART_LIST), for CATIA V4 models, it is “CATIA-V4”
(internal table name of VPM: CATIA_MODEL), for other documents, it is the name of the
document table (COMPDM supports all tables whose names start with “DOC”).
In VPM, document types are always bound to a specific VPM environment. When you
include parts from several environments and documents with these parts, the COMPDM
data model will not directly reflect these restrictions. However, the “Target choice…”
mechanisms for document mappings (see 4.2) in this case will only allow to choose
among the document types from the part’s environment, and if only one document type is
available in the representation for a particular VPM environment, the target chooser will
not be executed even in case other document objects from other VPM environments are
included.
28 COMPDM will analyze the contents of any feature tables it finds to find out which table the fea-
ture relates to. As a consequence, empty feature tables will not be available to use as extensions.
29 The setting “Additional extension tables” can be used to specify further extension tables with
arbitrary names, which need to have a $COID column that refers to extended parts, or $COID and
$COMPID if it refers to extended documents
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 57/112
VPM can manage “Multi-model links”, i.e. CATIA internal references between geometrical
(or other) elements inside the CAD files. COMPDM can retrieve this information and map
it to additional “Assembly” relations between the parts that carry the CAD documents. This
allows to identify and retrieve all parts / CAD files that are in a reference relation. Note
however that when extracting the CATIA files, the contained links will be broken and need
to be repaired manually.
Use the Object Editor’s “Add Assembly…” button for a list of available multi-model link
types.
• All $EXT entries for any of the environments where part objects are select from,
and whose $TYPE starts with the String “CATMM”, are offered as additional assem-
bly objects. The naming will be “MML.<Name>” for $TYPE = “CATMM<Name>”
• If you have custom tables for managing additional multi-model links, you may de-
fine them in the settings under “Additional MML table”. Here, such custom tables
can be specified in the form “<Name>:<Table>:<RefTable>:<RefCoid>”,
with
<Name>: Name the assembly object shall have. “MM.“ will be prefixed
<Table>: Table name (with environment)
<RefTable>: Name of the table column that carries the table of the referenced
object
<RefCoid>: Name of the table column that carries the $COID of the referenced
part / document
If the VPM installation is using check-in / check-out of parts, the setting “Automatic check-
out” can be used to automatically check out parts before updating them30. The setting “Au-
tomatic check-in” can be used to ensure that all parts are checked in after an import, re-
gardless of whether they were checked in or checked out before.
The setting “Failsafe maturity” may be configured to the name of a maturity state which
allows to update parts or documents; if used, COMPDM will temporarily change the ma-
turity state of objects before updating them.
For data exports from VPM, a “PSN graph file” (structure view file saved from VPM’s cli-
ent) can be used to specify the product structure to export. This is used for batch-type
invocations of the COMPDM client (see 2.9.1). The –export command-line option is
used with the syntax “—export=<Method name>&<PSN file name>”, for example:
30 The setting “Automatic check-out C_ORG_RESP values” may be used in addition to restrict au-
tomatic check-out to parts whose C_ORG_RESPONSIBLE value is in the list provided here
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 58/112
3.4.4 EnoviaV6 module
Representation objects of COMPDM as described in 3.1 can be chosen from the following
Enovia objects:
31 All object and property definitions are directly fetched from the EnoviaV6 server. In case you are
using COMPDM with several differently customized EnoviaV6 systems, make sure to be connected
to the one your data exchange method shall be used with, when starting to create a new EnoviaV6
representation, so that the proper EnoviaV6 objects and relations with their properties are available
32 Object types ending with “PLMEntity”: different versions of Enovia use different prefixes
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 59/112
Revise
If an object gets revised, any checked-in files are included in the new revision, unless a
new file is imported with the new revision.
CAD Structure
In Enovia, it is common practice to have BOM and CAD structures in parallel. This is re-
flected by COMPDM’s EnoviaV6 module by a special semantics of the EBOM / EBOM
(dual instance) relationship: It represents also the “CAD SubComponent” relation if neces-
sary. This means that the available attributes are in fact the sum of Enovia’s EBOM and
CAD SubComponent relations. On export, if the related parts of an EBOM relation carry
documents, which are related by “CAD SubComponent” relations, these relations are
added (merged) with the EBOM relations. This requires a synchronized structure in Eno-
viaV6.
On import, the “Synchronize structure” setting for the EnoviaV6 module allows to control
whether only EBOM relations, or both EBOM and CAD SubComponent relations are cre-
ated or updated for a COMPDM relation object.
Uploading files
Files are checked into the default format. When checking in, version objects (minor ob-
jects) are created.
If the document type is “Common Document Model”, a version object is created with the
version policy and linked to the document (major object) with the two relations “Latest
Version” and “Active Version”. The file gets checked in to the major object (document), the
minor object receives the file name as its title.
If the document type is “MCAD” (CAD data), the minor object is linked to the major object
with the relation “VersionOf” in addition, and the file gets checked into the minor object.
Promote
To read or write the state of an object, use the EnoviaV6 attribute “current”.
You may also use the “value list” compact representation of multiple relation instances by
concatenating the attribute values using a “|” character.
Policy
When creating an object, a policy has to be provided. This can be done explicitly by in-
cluding the attribute “policy” for the object type and setting its value in the mapping.
If no value is provided, COMDPM will use the first valid policy for the object type, in the
case of “Part”, it will use the policy “EC Part” if it is present in the EnoviaV6 customization.
History
Viewable files
Viewable (lightweight) files contain a simplified representation of CAD data suitable for
previewing CAD documents. On export, COMPDM can retrieve these files in addition to
CAD documents present. You need to include their document object types in the repre-
sentation.
The viewable document types have a pseudo attribute _derived_from which carries the
file name of the document they are derived from. The CAD documents can have a pseudo
attribute _derived which contains a list of the file names of any viewable files that were
extracted in addition for an export.
Table 10: COMPDM Object Correspondence to Windchill Objects for “Document as Part” Mapping
The relation type that is used to link WC parts to documents can be controlled with the
pseudo attribute _linkType
• Generic: Data will be mapped to and from STEP AP242. The file format is XML
based. There are many predefined standard attributes with their ISO10303-
conformant mappings included. You may add additional properties which are
mapped in a generic manner (see below).
• From reference data analysis: Allows selecting a STEP AP242 file for analysis.
COMPDM will create a STEP AP242 representation as in the “Generic” case, but
will add any user-defined properties found in the analyzed file to the representa-
tion. This facilitates the support for custom properties being sent with the STEP
data.
• Airbus convention: Data will be mapped to STEP AP214, “STEP physical file”
format (ISO 10303-21). The data model is fixed and matches the specifications
used by Airbus for supplier data exchange33.
• Daimler convention: Suitable for reading STEP AP214 files created by the
“Smaragd” PLM system used by Daimler AG. Note that this type of representations
is only intended for reading (import), not for writing STEP files in a Smaragd com-
patible manner.
33 There is a respectable ‚community‘ of supplier companies of Airbus which can import or export
this kind of files, therefore the decision was made to integrate it.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 65/112
When you create a “Generic” (i.e. AP242 based) STEP representa-
tion, the “Use attribute…” button can be used to include standard
properties into a representation. These are mapped semantically cor-
rect to and from the STEP format. You may use the “New attribute…”
button to add other attributes that are mapped as “Properties” to and from the STEP file.
Refer to section 5 of the “Advanced Customization” manual for details of the STEP AP242
implementation.
In the Settings editor, you can enable the use of the File module The File module allows to
import files without any structure information to a PLM system, for example, text docu-
ments. In addition, it supports a variety of more-or-less commonly used formats for de-
scribing meta information and structure.
There are four alternatives to choose from:
Single: The imported file is represented by a COMPDM part with a document. The only
available attribute is the file name, or parts of it. If several files are uploaded, an
instance of the “Part” object is created for each of them.
From CSV file (MS Excel) analysis: Lets you choose a “.csv” file as exported by e.g. MS
Excel. That’s a text file where each line contains values separated by commas or
semicolons; the first line contains the column headers.
The created representation will only contain a part object named “Record”. Each column is
represented as an attribute.
When using the CSV based file representation as the source of an import, a part instance
is created for every line in the input file34. When using the representation as the target of
an export, a CSV file is created which contains a line for every part (Record) instance.
From XML file (MS Excel) analysis: Lets you choose an XML file as exported by e.g.
MS Excel from the “Developer Tools” menu. COMPDM supports XML files where
all sheet rows are represented as elements under a common root node, each one
carrying the column values as its elements.
From PLMXML file analysis: Create a representation suitable for reading or writing
PLMXML files as used in the context of Siemens/Teamcenter products. Note that
Teamcenter can be configured for many different instantiations of the PLMXML
format; COMPDM supports the format use by the so-called “ConfiguredDataIm-
portDefault transfer mode”.
In the Settings Editor, you can enable or disable this module as a whole. When enabled,
you can specify the file extensions to be considered when using the file selection dialog at
the beginning of an import. Note that the configured list only filters files visible in the file
search dialog. It is not a filter for the files to process. Note further that it is recommended
to set the filter to “*.csv” in case of a CSV based file representation.
The value of the setting “Files to upload” controls the files that will be uploaded once a file
was selected for import. The possible values are:
• Siblings: The selected file and all other files in the same directory will be pro-
cessed
34 To create a root part which collects all imported parts in the CSV file under a common node, use
the “Tag” feature as described in the “Advanced Customization” manual, section 2.1
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 68/112
• Children: The selected file, all other files in the same directory and all files in di-
rect sub-directories will be processed
• Subdirectories: The selected files, all other files in the same directory and all files
in any sub-directory below it (regardless of the depth) are processed.
Note that for the Children and Subdirectories alternatives, there is no handling for file
name collisions. That is, if two files in different directories have the same name, only one
of them will be processed and it will be picked at random. You have to ensure that such a
situation does not occur.
As with the CSV case, when importing more than one file for a “Single” file representation,
it might be useful to define a “Tag” instance in addition (see “Advanced Customization”,
section 2.1) to collect all files under a common node.
The File module may also be used in the TRUfusion Enterprise integration to attach TFE
send reports to exported parts in the PLM system.
COMPDM offers up to three alternatives for the creation of a new CATIA V5 representa-
tion:
• From reference data analysis: When selecting this option, choose the root
(CATProduct) of a reference data package. The package will be uploaded to the
server and analyzed. The new representation will then include all user defined
properties that are used within the reference data set. Additional information about
typical values will be shown:
In any CATIA representation, the set of predefined COMPDM objects is fixed, with the
exception of optional additional objects for dealing with CGR files and non-CATIA files
(see below). Each CATPart or CATProduct will be represented as a “CATIAPart35” with
exactly one
“CATIADocument”.
Only the CATIAPart object can be customized by adding additional properties (i.e. CATIA
user defined properties). The standard properties of CATIA V5 are always included:
In the Settings Editor Window, you will find an option to configure the file extensions that
can be selected in the file selection dialog use to start a data import. By default, the ex-
tensions “CATProduct”, “CATPart” and “CATDrawing” are used.
CGR is CATIA’s proprietary format for a lightweight representation of geometry for visuali-
zation purposes. Normally, when you open any CAD geometry in CATIA, CATIA will au-
tomatically create a CGR file for it and store it in a specific location, the “CGR Cache” 36.
This processing takes some time. When the same geometry is opened again, CATIA will
check whether it has a corresponding, up-to-date CGR file in its cache, and will redo the
creation if not. This up-to-date check is based upon the file modification date, which be-
comes part of the generated CGR file’s file name37.
If CATIA is set up for CGR generation, all read operations of the CATIA module will implic-
itly trigger the creation of the CGRs likewise.
35 Note: “CATPart” is a possible file extension of CAD files from CATIA whereas “CATIAPart” is a
COMPDM object that represents a CATIA object.
36 See CATIA options, “Infrastructure / Product Structure / Cache Management”
37 For the following, COMPDM requires that the CATIA option “Infrastructure / Product
Structure / Cache Management / Timestamp / GMT timestamp format” is set
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 71/112
COMPDM can be configured to retrieve the generated CGR file for handling within a data
exchange method. For example, it is possible to store it in Teamcenter, which means that
when opening the imported data from within Teamcenter’s CATIA integration (tcic) later,
CGR generation is no more necessary, hence the CATIA structure gets loaded much
faster.
For write operations, the timestamp that is part of the CGR’s file name can be adapted
consistently.
To use this feature, enter the location of the CGR Cache in the COMPDM setting “Path to
local CGR cache”. This path can be found in the CATIA options under “Infrastruc-
ture / Product Structure / Cache Management / Cache Location /Path
to the local Cache".
In the Representation Editor, add the document type “CGRDocument” to the CATIA based
representation. When reading CATIA data, the product structure will then contain the CGR
files in addition to the CATPart files and they can be handled normally, for example they
can be imported to a target system.
Note that in the case of Teamcenter, the standard dataset type for storing CGR files is
“CATCache”. If you include this type in a Teamcenter based representation and map the
CGRDocument to it, COMPDM will also create the required “catia_cache_link” rela-
tions as expected by the Teamcenter-CATIA integration, tcic.
Handling non-CATIA documents
It is possible to add the part type “Other” to a CATIA representation, which also adds a
document type named “Other (dual instance)” to the representation. These objects repre-
sent non-CATIA related files which can be exported from a PLM system to a CATIA rep-
resentation in addition to CATIA data, or they can be imported together with the CAD da-
ta.
If the “Other” part type is used, COMPDM will instantiate an “Other” part for all imported
files that are not handled by the COM/Recon tool (i.e. their file name does neither end in
“.CATPart”, “.CATProduct”, “.CATDrawing”, “.model”, nor in “.cgr”). Their only attribute is
the file name. Note that when a non-CATIA related file is chosen as the “root” file of an
import, none of the imported files will be treated by COM/Recon, even if other files (sib-
lings of the root) are CATIA native files. On export, documents of type “Other (dual in-
stance)” will be just added to the exported data38.
SmarTeam data import
COMPDM supports the reading of additional information contained in XML files located
alongside with the CATIA data, or in a direct sub-directory. This feature is for use with
meta data exported from the SmarTeam system and is used for data import and reference
data analysis only, not for export. To activate, set the “Add properties from XMLs to
CATIA data” option using the Settings Editor (see 2.3).
The XML files have to have the same name as the CAD files, with the ending “.xml”. They
may be situated next to the CAD files, or in a direct sub-directory. The client will change
38 I.e. it is not necessary (but allowed) to instantiate the “Other” part object in the export case, the
“CATIAPart” may use “Other (dual instance)” as document.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 72/112
its behavior to upload files in sub-directories of imported data in addition when this option
is activated.
The XML files have to be in one of the following formats:
<?xml version="1.0" encoding="ISO-8859-1"?>
<SmartXML>
<ItemsTable>
<Attributes>
<TDMX_ID>0000041726</TDMX_ID>
...
Or:
<?xml version="1.0" encoding="UTF-8"?>
<STDOCUMENT>
<FILE LASTMODIFIED="2016.11.29 09:05:37" NXLOCKSTATE="" LOCKEDBY=""
DISPLAYNAME="AM04073395" ...
• From reference data analysis: When selecting this option, choose the root (.prt)
of a reference data package. The package will be uploaded to the server and ana-
lyzed. The new representation will then include all user defined properties that are
used within the reference data set. Additional information about typical values will
be shown39.
In any NX representation, the set of predefined COMPDM objects is fixed. The only ex-
ception is an optional part type “Other” which may be added (see below). Each “prt” will be
represented as a “NXPart” with exactly one “NXDocument”.
Only the NXPart object can be customized by adding additional properties (i.e. NX user
defined properties). Some standard properties are always included:
Figure 42: Enable NX Module to handle mixed NX/JT Assemblies as used in Daimler Context
40 I.e. it is not necessary (but allowed) to instantiate the “Other” part object in the export case, the
“NXPart” may use “Other (dual instance)” as document.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 75/112
Teamcenter.
The NXPart object has a pseudo attribute _teamcenter_link in this case, which has to
be included in the NXPart’s attribute list. For data exchange methods that export to the NX
module, COMPDM will then retrieve the necessary information from Teamcenter to allow
patching the references. In the absence of this attributes, references will be deleted and
re-created, but this has a number of disadvantages, for example so-called “component
patterns” will be destroyed.
• Virtual Extensions to PLM objects are implemented using a specialized (and hidden)
Cache based representation (see 3.3.4)
• COMPDM keeps track of updates of existing objects inside the Cache and can
automatically provide the “delta” to “subscribers”, i.e. some recipient will receive all
objects in a defined scope once, then on subsequent invocations, only the modified
objects. This can drastically reduce the amount of data being sent.
• If an integration scenario maps several different sources to one target PLM system,
first mapping the data to a Cache representation, then to the target PLM allows to
handle differences between the sources in the first step while handling the target
specifics in the second step, which can reduce complexity of the overall
implementation considerably
When creating a new Cache representation, you can choose one of the existing other
representations as the source, which means that all objects and attributes will be copied
from there. Note that not all properties of the attributes are copied, in particular, string
length restrictions are not taken into account. Such a “clone” of an existing representation
can then be freely changed by adding or deleting objects or attributes.
Alternatively, you can start with an empty Cache representation and define all objects and
attributes manually.
Persistent: Data is stored persistently on disk, when data gets written to the
cache, reconciliation is performed and subscribers (see below) get informed
about any changed objects within the portion of the data they have
subscribed to. Webservices can be used to access the data. Such a cache representation
can only be used as the source or the target of a data exchange method, not as an
intermediate representation; and a data exchange method can only make use of at most
one persistent Cache representation (i.e. it is not possible to copy data directly from one
Cache to another). In a multi-server configuration (see “Advanced Customization Manual”,
section 4), the Cache is always hosted by the primary server.
The Client Main window of the client app will change its appearance. Tabs appear which
group the processes. The first tab shows the COMPDM icon and lists all processes that
are not related to any Cache. Subsequent tabs are created, one for every Cache
representation. Each tab will contain processes related to that Cache, i.e. processes that
read from, or wrote to, a Cache. The tab header will indicate the number of objects
currently persisted in the Cache.
To read data from persistent Caches, a data exchange method is created that uses it as
the source of the data. There are three alternatives to read the data:
• You can define a “Scheduled task” using the data exchange method (refer to
“Advanced Customization Manual”, section 5). In this case, a subscription is created.
On first execution of the task, all objects that match the defined filter criteria are
exported. On subsequent executions, only those objects are exported that were
updated since the last execution.
• A subscription to read such changes can also be created using REST services, in this
case, data is fetched using webservice invocations (see section 7 of the “Advanced
Customization Manual” for details).
The “Reset” symbol (eraser) can be used to discard the delta calculations for the sub-
scriber. This means on the next export, the subscriber will receive all objects again, re-
gardless of whether they have changed or not.
Caution: When a persistent Cache representation gets edited (i.e. objects are added or
removed, or attributes inside the objects are added, modified, or removed), all per-
sistently stored data (related to the previous state of the representation) gets dis-
carded. In this case, processes running on secondary servers likewise cannot
make use of the Cache anymore until their configuration gets updated with a con-
figuration release (see “Advanced Customization Manual”, section 4). For these
reasons, modifications to persistent Cache representations (including virtual ex-
tensions) should be avoided once they are part of productive data exchanges
Use the “Templates…” button in the Representation Manager window to open the Tem-
plate Manager window:
Cumulated offset: indicates the element’s offset (count starts at 0) if all previous
elements have a fixed length
Optional: Can be checked for elements that can be omitted
Fixed length: If checked, provide a field length and select left or right justification
for shorter values in the “compose” use case. The “Replacement” character
will be used to fill up shorter values accordingly (it defaults to a blank)
42 A wide range of image formats is supported here. It is recommended to use a transparent back-
ground for the icon.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 82/112
String case: Can be used for automatic conversion of values to uppercase or low-
ercase when “composing” the complete string value
Trim blanks: Can be used to remove any leading and/or trailing blanks (space,
tab, line wrap etc.) from values written to the template element
Character set: Allows to enumerate either all valid characters, or all invalid char-
acters, and optionally a replacement character to use for invalid characters
when “composing” the complete string value
Prepended by: Use for fixed strings that separate this element from its predeces-
sor. For cases where several different separation characters are allowed,
several entries can be provided using the “+” button. When “composing”
the complete string value, COMPDM will always use the first “Prepended
by” value even if there is more than one
• At the bottom, several buttons for creation of a new template from scratch or by
copying one of the existing ones, for importing or exporting template definitions
(see below), for deleting a template, to save or undo changes to the current tem-
plate definition, and to close the window.
The Method Editor contains a list of all defined data exchange methods and gives a visual
feedback about their completeness and whether they can be executed.
Representations are shown as rectangles, a red background signifies that the representa-
tion is not usable for the moment (e.g. because the PLM system is unavailable, because
the data model does not match the PLM customization or because the representation is
incomplete). A mouse over message (tooltip) gives information about the reasons in this
case.
Furthermore,
a warning sign inside the arrow indicates that the mapping definitions contain
custom JAVA code that has compile errors, rendering the method unusable
even if it is not shown with the red color.
Double-click on the arrow to open the Mapping Editor window for the data conversion from
the representation to the arrow’s left to the representation to the arrow’s right (see 4.2).
Figure 48: Define Identifier, Source and Target Representation for Method
Data exchange methods can be more complex than just a mapping from a source to a
target representation. Use “Add intermediate Repr” and “Remove intermediate Repr” but-
tons to add or remove intermediate representations43.
Examples for the use of intermediate representations in a mapping method:
• A CATIA data import to a PLM system where the CATIA files should be reworked
before import, e.g. by changing the file names according to local conventions or
set some CATIA user defined properties according to company rules. This prepa-
ration of the data before the actual import requires a write operation by the CATIA
module which is represented by an intermediate CATIA representation
• A data export from a PLM system which shall modify the exported data in the sys-
tem e.g. to prevent unauthorized modification, for example by changing the life cy-
cle state, requires an intermediate PLM based representation to specify the life cy-
cle change to be written to the system.
43 You cannot add representations before the source representation or after the target representa-
tion; this should be considered when choosing source and target. To replace source or target, use
the “Copy Method” functionality
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 86/112
4.1.2 Customize Process Monitor Views (Tabs)
In the sequence of representations (rectangles) of a method, exactly one has a bold
frame. This is the representation whose tab is shown initially when the Process Monitor is
opened on a process that is based on the method. By default, this is the leftmost (source)
representation.
Right-click on a representation’s rectangle to open a context menu with the following op-
tions:
• Visible: When unchecked, the corresponding view is suppressed and not visible
for the end user. For the “admin” user, the view is shown when in “Detail” mode of
the Process Monitor (see 2.4) and suppressed otherwise. Invisible (suppressed)
representations are shown with the “invisible” icon:
Note: At least one representation within the method must remain visible
• Initial tab: When checked, the Process Monitor shows this representation’s tab ini-
tially.
• Edit label: You may provide a label for the representation which is used instead of
the representation name as the header of the corresponding tab. Use this feature
e.g. if the same representation is used several times within a method to indicate
the processing stage, or in general for usages of a representation in different con-
texts/methods, to clarify the semantics for the end user
Figure 50: Export Method – Root Type Exclusion, Label, and Distinct Button
44 Note: The setting “Disallow interactive process starts by user” allows to suppress the “Import”
and all “Export” buttons in the clients. This is used for configurations where processes should only
be created by command line invocations from outside, e.g. from a TRUfusion Enterprise server
45 This is useful for the common practice to define one PLM representation that is used both in
import and export contexts; often, the import should consider additional part types in certain situa-
tions, which are however not relevant for a data export.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 88/112
4.1.5 Using a Fixed Source Profile
A representation’s context menu may show the “Fixed profile…” option. It is only available
for source representations, and currently only for methods that export from Aras, VPM, or
Teamcenter. It allows to “tie” the representation to a settings profile which overrides the
settings profile the process is started with. The primary use case for this is to create pro-
cesses that transfer data between two different hosts of the same PLM system, i.e. the
source representation’s profile in this case will have access parameters like server URL,
user, password set to different values than the profile that’s used with the target represen-
tation.
A dialog opens which allows to select the fixed profile, and allows to select any of the
available settings using the “Add” button:
For the settings selected, the process will use the setting values from the selected profile
whenever the source representation is accessed (e.g. structure retrieval, extraction of file
from the PLM system). All remaining settings values are taken from the profile the process
is started with.
This column is only available if the optional TRUfusion Enterprise integration is used. Fur-
thermore, a data exchange method’s “Send data” cell is only selectable when the target
representation is a file format (CATIA, NX, STEP).
By double-clicking onto the cell, you can set or unset the “Send data” flag for a data export
method. If set, the Rocket logo is shown. Data exported using the data exchange method
will be handed over to the TRUfusion Enterprise server for sending to a partner. Additional
elements will appear in the Part Search dialog for selecting the recipient of the data, as
described in section 2.6.2 of the “User’s Manual” (volume 02-A46 of the COMPDM docu-
mentation).
If a data exchange method is configured this way, each process will first enter the “Wait
for setup” status. A wrench symbol will be shown in the Client Main window or Landing
Page in the process table.
When clicking on it, a dialog opens (or a panel appears, respectively) and collects the pre-
defined settings values before the process is actually starting.
This feature is useful e.g. if certain attributes in a mapping need to be set to some specific
value which is one of a greater variety, so that creating distinct settings profiles for each
possible value is impractical and it is more straightforward to collect the value to use be-
forehand.
It can also be used to prevent import processes that were started from outside (e.g. by a
TRUfusion Enterprise server) to start reconciliation (comparison of incoming data with
present data) long before the user reviews the reconciliation result, with the risk that the
reconciliation results are in fact outdated due to changes to the PLM system that hap-
pened in the meantime. By configuring the method to collect an “unimportant” setting val-
ue (like “Transfer protocol detail”), processing will not start before the user is actually
ready to review any reconciliation results.
By removing all settings from the Configure Interactive Setup dialog, a method can be
changed back to run without interactive setup.
• Title bar with names of target and source representation and data exchange method
• On the left, you can select a pair of source/target objects to specify a mapping for
(grouped by object class: parts, Part-component links …)
• To the right, mapping specification for the attributes of the currently selected pair of
source/target objects (“ReadOnly” target attributes are not shown)
To define the mapping from one representation to another, you need to specify a mapping
for each pair of source/target objects of the same kind47. That is, from part objects to part
objects, from document objects to document objects, etc.
These mappings can be accessed from the left-side “accordion”. An icon shows the com-
pleteness of the mapping (warning sign: mapping is not yet executable, wrench: executa-
ble but not complete for all optional attributes, green check mark: mapping is fully speci-
fied)48.
Notice that the “accordion” has a “Mapping Patterns” section, and possibly a “Dictionary
mapping” section. Please refer to COMPDM documentation volume 04: “Advanced Cus-
tomization” for details about these.
In many cases there is only one source and one target object of a class and this task is
fairly simple. The task gets more complicated if there is more than one source object or
target object of a class, e.g. when you specify several document object types to be sup-
ported. In such cases, a mapping for each combination of source, target objects can be
specified. Here is an example where the target representation contains three different part
object types, “Part”, “Manufacturer Part”, and “ECR”:
Note that target type selection is only relevant if more than one of the mapping alterna-
tives is enabled and executable (has neither “ban” nor warning symbol). If only one of
them is executable, it will be used and the tar-
get selection definition, even if present, will not
be executed. The target choice button will show
a “ban” icon to indicate that it will not be rele-
There are two alternatives for specifying the target object type to create.
At the top, select a source attribute upon whose value the decision shall be based. Note
that the use of template elements (as shown above) might be particularly useful here. The
figure shows a typical use case where the Teamcenter dataset type to be created is se-
lected according to the file extension, which is accessed using a template.
Below, you can specify which target type to create if the selected source has a specific
value. You may use the wildcard characters “*” and “?” here.
At the bottom you can control whether value comparison shall be case sensitive, and op-
tionally you may specify a default target type to create.
The “Target choice…” button opens the Code Editor dialog to specify a JAVA method that
decides from a source instance (Part) which target object type to choose when the map-
ping is executed by the process. This functionality is described in volume 05 of the
COMPDM documentation (“Extended customization with JAVA”).
Attribute Mappings
In the upper right-hand corner, a checkbox “Hide optional attributes if undefined” is
present. When checked (default), mapping elements are only shown for key/version or
mandatory attributes or other attributes where a mapping is defined. This checkbox thus
allows keeping an overview in situations where many attributes are optional and not used
in a mapping method.
• undef: the attribute will not receive a value and will remain unchanged: If a warn-
ing sign is shown (as above), this is not a permissible option (e.g. because the at-
tribute is a key attribute or it was specified in the representation editor that it “must”
receive a value)
• source: the attribute value is copied from one attribute value of the source object
(see below)
• sources: the attribute value is copied from one or more attribute values of the
source object, if present, otherwise, a default value can be specified (see below)
• fixed: the attribute is set to a fixed value (which can be specified here)
• null: the attribute will be cleared (in the case of CATIA/NX, the property will be re-
moved from the CAD file)
• setting: the attribute will receive its value from the value of a setting (you can
choose the name of the COMPDM option from a selector)
• auto: Only available if the target attribute has the “Auto” flag set (see 3.3.1). Note
that if the target representation is based on Aras, this will be the only available
mapping alternative for the attribute, as Aras does not allow overriding “sequence”
type attributes with custom values.
• code: A JAVA method is provided which computes the value when the process
executes. This alternative is explained in volume 05 of the COMPDM documenta-
tion, “Extended customization with JAVA”
In cases where the target representation contains several objects of the same type, e.g.
document, additional selectors may be present which allow to specify that the mapping of
an attribute shall use the same parameters as an attribute of another object of the same
type. When one of them is selected, the other object’s attribute mapping is shown in a
disabled state. This is particularly useful for representations with many very similar ob-
jects. This is very common e.g. in Teamcenter due to the inheritance used internally. In
the following example, the mapping to the dataset type “JPEG” makes use of several pre-
viously defined mappings to the dataset type “CMI2Part”:
The most common mapping case will be the direct mapping of a source attribute value to
a target attribute value (“source” alternative for mapping). A selector will be shown which
allows specifying the source attribute to map from. This can be either an attribute of the
source object, or of an object that is directly related to the source object (example: the part
to which a document belongs). Use this feature with care as the relating object may not be
unambiguous, in which case you’ll have a random result49.
For source attributes that have a template definition assigned (see 3.3.1), you can either
select the source attribute value as a whole, or one of the template elements it is com-
posed of.
In some cases, it is necessary to specify a list of source attributes to check, the first being
set should be taken. Or it might be necessary to use a fixed default value in case the giv-
en source attribute is unset.
For cases like these, the “sources” alternative is used.
Here, you may open a list editor where you can specify a list of source attributes. When
the process is executed, the first attribute value from the list will be used that is neither
unset (null) nor empty. You may also optionally specify a fixed default value.
49 It is preferable to use a JAVA method („code“) instead in such cases to implement precise value
selection criteria
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 97/112
Figure 61: "Sources" Mapping Dialog
To remove the default value, press the backspace key on the empty field. The “null” sym-
bol will be shown (see figure above).
The Mapping Editor will show the template’s icon next to a target attribute that is associat-
ed with a template (as described in 3.3.1). If you want to set the value as a whole, you can
do this as usual. Note that COMPDM will not check whether the value matches the tem-
plate definition.
Alternatively, you can provide values for each of the template elements and leave the task
of composing the complete value to COMPDM. Open the context menu on the target at-
tribute name and select “Distinct elements”
The Mapping Editor will now provide elements for all the template elements:
When the process executes, the target attribute value (“_fileName”) will be composed
from the individual values, taking all length restrictions, valid characters and replacements
etc. into account.
The context menu allows to switch back to “Whole value” mapping.
For parts and documents, attribute mappings can be subject to interactive verification by
the user. This means the mapping definition as laid out in the previous section will only
compute a “proposed” value, which is then presented to the user for confirmation or modi-
fication. In case the mapping produces no value at all (e.g. “undef” alternative), the user is
responsible to provide a value and cannot skip this in case the attribute is a key attribute
or has the “must” flag set (see 3.3.1).
To mark an attribute for interactive mapping, right-click on the target attribute name and
choose “User confirmation”. The interaction symbol will be shown next to the attribute
name (see above for the “Part Type” example). You can remove the interaction symbol by
right-clicking again and selecting “No confirmation”.
In the Mapping Editor, you can only specify that all instances of an attribute have to be
verified interactively. Using custom JAVA code, it is also possible to create mappings
where user interaction is only requested under specific circumstances. This is described in
volume 05, “Extended Customization with JAVA”, section 3.3.2.
In particular when defining a new mapping from scratch, you may find
the Auto-complete button quite useful. It connects source and target
attributes automatically according to several criteria, including “key”
property of the attribute, attribute name, attribute type50, or information
from the PDM Workbench configuration.
50 If unambiguous, e.g. if both source and target object have exactly one attribute of type „Position“
they will get “connected”
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 100/112
4.2.5 Using Value Mapping Tables and Scale Factors
Set the check mark in the element above to use a value mapping table in addition (i.e. to
map source attribute values to target attribute values). Select the table from the selector.
You can create and edit value mapping tables using the “New Table…” and “Edit table…”
buttons. Check the “reversed” box if you want to use the table in the reverse direction
(right to left). Here is an example of a value mapping table:
Set the check mark ‘If none applies’ if you want to use a default value. If no default value
is defined, and none of the predefined values match, the incoming value is used directly.
To get the ‘null’ symbol, you have to press the ‘back space’ key when the field is empty.
For target attributes of type ‘double’ (floating point number) or ‘position’ (transformation
matrix), a scaling factor for the value can be defined. In the case of the position, this ap-
plies only to the translation (positioning) and not to the rotation.
This can be used e.g. to convert between metric and imperial units. Check the box and
enter the scaling factor.
To define mappings to and from extension objects, there are two alternatives:
a) Using the direct “Object Object” mapping definitions, extensions can be handled
implicitly (see below)
b) Using mapping patterns, extensions can be handled explicitly as source or target
variables of a mapping. This allows mapping an extension to/from a part class ob-
ject with a relationship, to implement non-standard strategies for resolving multiple
extension instances to a single target object, or to change the cardinality of exten-
sion instances, to name a few examples. The use of mapping patterns is described
in volume 04 of the COMPDM documentation: “Advanced Customization”, section
3 (3.4.1).
Note that in either case, mapping of extensions is considered to be optional; therefore, a
mapping method can be executable even if the extension objects of the source represen-
tation are not mapped yet.
When you select a target object’s direct (Object Object) mapping definition, all attrib-
utes of extension objects appear together with their parent object. If the attribute name is
not unique, the name of the extension type is appended with a “@”. Consider the following
example:
In this case, the “Item” object uses two extensions, “Item Master” and “ItemRevision Mas-
ter”. The former has attributes “user_data_1” and “user_data_2”, whereas the latter has
attributes “user_data_2” and “user_data_3”. Consequently, the “user_data_2” attribute
appears twice and is qualified with the name of the source extension type.
When source value mapping is used, any extensions for the source objects likewise ap-
pear like additional parent attributes and use the “@” qualifier to indicate their source.
Consider the following example where the source “Part” has two extensions, “Part Chang-
es and “Part Goal”.
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 103/112
Figure 66: Source Extension Attributes in Implicit Mapping
Note that in the above list, the first “created_on” attribute originates at the “Part” item itself
and therefore has no qualifier.
You may use any of the usual mapping alternatives such as “source”, “fixed”, “undef” etc.
The “code” alternative is likewise available but be aware that although the extension at-
tributes look like parent object’s attributes in the Mapping Editor Window, they are ac-
cessed quite differently internally; observe generated code to understand how they need
to be read from or written to (more information in volume 05: “Extended Customization
with JAVA”).
At first glance, the extension attributes look just like the usual object attributes, however
the internal handling is only similar to a parent attribute if the extension object’s cardinality
was set to “0 or 1” in the Object Editor window (see 3.3.3). In this case, however, any
“mandatory” or “key” flags of the extension’s attributes are ignored, i.e. the Mapping Editor
does not enforce a mapping definition for them. These flags can nevertheless be used for
consistency checks of created extension instances, or to support sharing of extension
objects (forms) in the Teamcenter system.
The optional TRUfusion Enterprise integration can be used to hand over exported data to
the TRUfusion Enterprise server (TFE) for sending it to an exchange partner.
This typically includes automatic preparation of CAD data using dedicated TFE processes.
However, TFE can only properly handle the files if the file format is specified. The different
file formats supported are called “systems” in TFE.
To be able to convey this information to TFE, COMPDM is using a mapping table as de-
scribed in 4.2 which maps file extensions to configured TFE systems. The latter ones can
be customized individually within TFE, and COMPDM’s mapping table “TRUfusion file
type to system” has to be edited to reflect these:
The configured “systems” will then drive the presentation of selectors for the processing of
file types in the Search Part Dialog (refer to section 2.6.2 of the User’s Manual, “Part
Search Dialog with TRUfusion Enterprise integration”). A “system” selector is shown if the
selected contact is known to handle the format (an information from the TFE partner data-
base), and if the system is configured in the mapping table shown above.
• If you are using BOM instance or CAD structure (dual item) for a COMPDM In-
stance, you need to include the “pwb_cad_instance_name” and
“pwb_transformation_matrix” properties, which are imported into your cus-
tomization when the PWB is installed. If CAD instance is used, use the standard
properties “name” and “transformation_matrix”.
• In the case of CATIA, in the settings of the CATIA V5 module (white tab), activate
“Suppress internal components”. This means that CATIA internal components will
not be represented as Part/CAD items, which would not be compatible with the
PWB
51 Note that different values could be required, depending on your Aras and PWB customization
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 107/112
5 Maintenance Dialog
This dialog is used for stopping or restarting the COMPDM server, possibly in conjunction
with some maintenance activities.
• If the COMPDM server is installed as a Windows Service, it can only be stopped
using the standard Windows Computer Management dialog. In this case, the but-
ton is labeled “Restart…” and its purpose is to trigger a server restart.
Caution: As long as this dialog is opened, it is neither possible to start new client
sessions, nor to start new processes from existing client sessions.
Before shutting down and/or restarting, some maintenance operations can be performed,
or the server configuration can be changed, which will become effective when the server
starts the next time.
52 An option setting is available that triggers an automatic restart of interrupted processes after
restart. The processes will, however, be restarted with „admin“ as owning user. Therefore, this
option should be used with caution
53 The number of backups kept is configurable in the Settings Editor (see 2.3 of the User’s Manual)
54 COMPDM will copy the contents of the current work directory to the new location, therefore the
shutdown may take some time
file name: COMPDM-2020R2_03_BasicAdministration.docx version: 2020.2 last revised: 2020-06
source: Individual Development Suite 1.4.0 status: released protection category: public 109/112
When you have selected a configuration to install before restart, you may use the “List
contents” button to get a summary of the contents of the selected configuration and non-
default option values, in a console-like window (see 2.7 of the User’s manual).