0% found this document useful (0 votes)
154 views146 pages

plm_export_import_admin

Uploaded by

rekiwo6242
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
154 views146 pages

plm_export_import_admin

Uploaded by

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

SIEMENS

Teamcenter 12.1

PLM XML/TC XML


Export Import
Administration
PLM00030 • 12.1
Contents

Getting started with PLM XML/TC XML Export Import Administration . . . . . . . . . . . . . . . . 1-1
What is PLM XML/TC XML Export Import Administration? . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Before you begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
PLM XML/TC XML Export Import Administration interface . . . . . . . . . . . . . . . . . . . . . . . . . . 1-2
PLM XML/TC XML Export Import Administration interface layout . . . . . . . . . . . . . . . . . . . 1-2
PLM XML/TC XML Export Import Administration menus . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
PLM XML/TC XML Export Import Administration buttons . . . . . . . . . . . . . . . . . . . . . . . . 1-3
What are perspectives and views? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-3
Basic concepts for using PLM XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-4
Using the TC XML schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Exporting and importing using PLM XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-5
Asynchronous PLM XML export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-6
Using Teamcenter to export and import data with PLM XML . . . . . . . . . . . . . . . . . . . . . . . . . 1-7
Basic tasks using PLM XML/TC XML Export Import Administration . . . . . . . . . . . . . . . . . . . . 1-7
Syntax conventions used in this guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-7

Importing and exporting data in multiple languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1


Multilanguage support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Sample multilanguage PLM XML file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
Exporting localized property values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-2
Importing localized property values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-3
Adding localized values for option set display name, description, and group name . . . . . . . . . . 2-3

Working with transfer mode objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1


Transfer mode objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-1
Managing closure rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Introduction to closure rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Syntax for closure rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-2
Create closure rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-9
Edit closure rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Delete closure rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Map attributes with a closure rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-12
Managing filter rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
What are filter rules? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
Create filter rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-13
Edit filter rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
Delete filter rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
Managing action rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
What are action rules? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-14
Create action rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Edit action rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-15
Delete action rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3


Contents
Contents

Managing property sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16


Property sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
Property set clauses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-16
Create property sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-18
Edit property sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-19
Delete property sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
Managing transfer mode objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
Transfer mode objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
Create transfer mode objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-20
Edit transfer mode objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
Delete transfer mode objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
Export transfer mode example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-22
Transfer modes included with Teamcenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-32
Update transfer modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-36
Export / Import rules included with Teamcenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-37
Using context strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-39
Transfer mode best practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40
Transfer mode performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40
Transfer mode limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-40
Use specific type identifiers for better performance . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41
Unload objects in transfer mode to speed processing . . . . . . . . . . . . . . . . . . . . . . . . . . 3-41
Improve export performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42
Maintain COTS scope rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-42
Closure rule best practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43
Use session rules to identify the first set of target objects . . . . . . . . . . . . . . . . . . . . . . . 3-43
Export other ApplicationRef elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43
Ignore ApplicationRef elements on import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43
Avoid automatic checkin on import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-43
Export substitutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44
Compare source and destination BOMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44
Import or update a saved option set (SOS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44
Add filter list to optimize retrieval of BOM lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-44
Use the bom_cb switch to avoid exporting the entire BOM . . . . . . . . . . . . . . . . . . . . . . 3-45
Skip ItemMaster forms on import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-45
Place data in context on import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-45
Enable export of bounding box information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46
Closure rules for table properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-46
Closure rules for PublishLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47
Closure rules for part/design objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-47
Exporting a GRM relation between items and item revisions . . . . . . . . . . . . . . . . . . . . . 3-47
Enable attached information in dataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-49
Enable item revision deep copy import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-51
Exporting owning group information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53
Exporting folder contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53
Closure rules for incremental change exports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-53
Export EPMTask and Signoff object properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-54
Closure rule creation example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-54
Create closure rule example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-54
Step 1: Create session rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-55

4 PLM XML/TC XML Export Import Administration PLM00030 12.1


Contents

Step 2: Create a traversal rule to export the BOM window top line . . . . . . . . . . . . . . . . . 3-55
Step 3: Create traversal rules to export child lines of a BOM line . . . . . . . . . . . . . . . . . . 3-56
Step 4: Create traversal rules to export attachments of a BOM line . . . . . . . . . . . . . . . . 3-57
Step 5: Create traversal rules to export child attachment lines . . . . . . . . . . . . . . . . . . . 3-58
Step 6: Create traversal rules to export the actual attachment object . . . . . . . . . . . . . . . 3-59
Step 7: Create traversal rules to export dataset named references (ImanFile) . . . . . . . . . 3-59
Step 8: Create a traversal rule to traverse to an item revision . . . . . . . . . . . . . . . . . . . . 3-60
Step 9: Create a traversal rule to traverse to an item from an item revision . . . . . . . . . . . 3-60
Step 10: Create a traversal rule to traverse to a dataset from an item revision . . . . . . . . . 3-61
Step 11: Review the closure rule example file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-61
Step 12: Create a property set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-64

Working with transfer option sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1

What are transfer option sets? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-1


Create transfer option sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-2
Edit transfer option sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3
Delete transfer option sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-3

Performing PLM XML delta imports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1

Delta import overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1


Using the Add element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-1
Using the Modify element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Modify element overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-2
Modify element with the add operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-3
Modify element with the remove operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Modify element with the replace operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-4
Modify element with the delete operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Modify element with the ModifyUserData operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-5
Using the Replace element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-6
Using the Delete element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7
Specify a revision rule in delta XML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5-7

Customizing PLM XML import/export extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1

Available customization points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-1


Set up the Business Modeler IDE PLM XML extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-3
Generate the Business Modeler IDE PLMXML extension code . . . . . . . . . . . . . . . . . . . . . . . 6-5
Arguments for customizing PIE functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
Customizing PIE functions overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
PIE_register_user_methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-7
PIE_register_user_filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
PIE_register_user_action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-8
Deploy the Business Modeler IDE Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
Load the custom extension DLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
Create a custom transfer mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-9
Export a custom PLM XML file using a custom transfer mode . . . . . . . . . . . . . . . . . . . . . . . 6-11
Creating custom transformation rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Custom transformation rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-12
Create custom transformation rules directly in a .csv file . . . . . . . . . . . . . . . . . . . . . . . . 6-12

PLM00030 12.1 PLM XML/TC XML Export Import Administration 5


Contents
Contents

Create mapping rules files with the Diverse Schema Utility (janus.exe) . . . . . . . . . . . . . . 6-13
Custom transformation basic syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-16
Custom transformation rule advanced syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-19
Custom transformation syntax limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-22
XML transformation tool rule examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-23
Tips for customizing PLM XML extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-26
Using the PIE_register_user_schema for the export schema mapping . . . . . . . . . . . . . . 6-26
Using a TransferMode custom context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27
Using the XSLT option to translate a PLM XML file . . . . . . . . . . . . . . . . . . . . . . . . . . . 6-27

PLM XML/Teamcenter entity mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A-1

Tips for using PLM XML Export Import . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1


Time format in PLMXML files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........... . . . . . B-1
Review the PLM XML log file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........... . . . . . B-1
Enable detailed logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........... . . . . . B-2
Set PLM XML logging to different levels . . . . . . . . . . . . . . . . . . . . . . . ........... . . . . . B-3
Review the syslog file for EntireExport or EntireImport . . . . . . . . . . . . . ........... . . . . . B-4
Turn on additional logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........... . . . . . B-4
Enable environment variables for debugging . . . . . . . . . . . . . . . . . . . ........... . . . . . B-5
Use ApplicationRef for external integrations . . . . . . . . . . . . . . . . . . . . ........... . . . . . B-5
Configuring PLM XML import and export of alternate identifiers between CAD files and
Teamcenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ........... . . . . . B-6

Troubleshooting PLM XML exports and imports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1

6 PLM XML/TC XML Export Import Administration PLM00030 12.1


Chapter 1: Getting started with PLM XML/TC XML
Export Import Administration

What is PLM XML/TC XML Export Import Administration?


The PLM XML/TC XML Export Import Administration application is used by Teamcenter administrators
who migrate data between Teamcenter and other applications. You use PLM XML/TC XML Export
Import Administration to create transfer mode objects that contain rules that configure import or export
operations. This simplifies the import and export process for end users, who can select a transfer
mode object when importing or exporting data and do not need to know the specific rules the transfer
mode contains. You do not actually import or export data using PLM XML/TC XML Export Import
Administration; you use other applications, such as My Teamcenter or Structure Manager.

Before you begin


Prerequisites To use PLM XML/TC XML Export Import Administration, you should know:
• Specific Teamcenter applications.
You must understand the specific application you intend to import or
export data from. For example, My Teamcenter, Structure Manager, and
Manufacturing Process Planner are three of the applications that use
PLM XML. Each of these applications manages and transforms different
Teamcenter data for different purposes.

• The Teamcenter data model.


You must understand the Teamcenter data model, including the overall
data that is stored. For example, some of the data stored are items, item
revisions, and forms, along with the constructs holding the data such as
classes, attributes, types, properties, and relations. Each application
manages and transforms data within these representations. To see
class, attribute, and type information, use the Business Modeler IDE.

• Persistent and run-time objects.


You should know the difference between persistent data stored in the
database and objects that are created through the application layer at
run time.

• The PLM XML schema.


You must understand the PLM XML industry standard schema. This
allows you to understand the XML-formatted neutral representation and
organization of the data for import and export to Teamcenter.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 1-1


Chapter
Chapter 1: 1: Getting
Getting started
started with PLM
with PLM XML/TC
XML/TC XML XML Export
Export Import
Import Administration
Administration

Enable PLM PLM XML/TC XML Export Import Administration does not need to be enabled
XML/TC XML before you use it.
Export Import
Administration If you have trouble accessing PLM XML/TC XML Export Import
Administration, see your system administrator; it may be a licensing issue.

Note
You can log on to Teamcenter only once. If you try to log on to
more than one workstation at a time, you see an error message.

Configure PLM PLM XML/TC XML Export Import Administration does not need to be
XML/TC XML configured.
Export Import
Administration
Start PLM XML/TC Click PLM XML/TC XML Export Import Administration in the navigation
XML Export Import pane.
Administration

PLM XML/TC XML Export Import Administration interface

PLM XML/TC XML Export Import Administration interface layout


The PLM XML/TC XML Export Import Administration interface is the standard rich client interface.

1-2 PLM XML/TC XML Export Import Administration PLM00030 12.1


Getting started with PLM XML/TC XML Export Import Administration

1 Object tree Lists the transfer modes and associated objects. When
selected, the details for the object are displayed in the
TransferMode pane.
2 TransferMode pane Displays the details of the selected object. You can
create, modify, and delete objects in this pane.
3 TransferMode tree Lists the objects that you can add to a transfer mode.

PLM XML/TC XML Export Import Administration menus


All PLM XML/TC XML Export Import Administration menus are standard Teamcenter rich client menus.

PLM XML/TC XML Export Import Administration buttons


All PLM XML/TC XML Export Import Administration buttons are standard Teamcenter interface
buttons.

What are perspectives and views?


Within the rich client user interface, application functionality is provided in perspectives and views.
View
The basic display component that displays related information in a UI window.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 1-3


Chapter
Chapter 1: 1: Getting
Getting started
started with PLM
with PLM XML/TC
XML/TC XML XML Export
Export Import
Import Administration
Administration

Perspective
A collection of one or more views and their layout.

Some applications use a perspective with multiple views to arrange how functionality is presented.
Other applications use a perspective with a single view.
You can use the HiddenPerspectives preference to prevent the display of some Teamcenter
perspectives in the rich client.
If your site has online help installed, you can access application and view help from the rich client
Help menu or by pressing F1.

Basic concepts for using PLM XML


PLM XML is a data (and metadata) representation for the exchange of product life cycle information. It
is a W3C standard supported by multiple XML schemas. The PLM XML schemas and documentation
enable you to introduce PLM XML support into your applications. Data represented in the schemas
include product structure, geometry, visualization, features, application associativity, data ownership,
and delta (change). Several dominant schemas include:
• Base
Core PLM XML schema markup

• MRO
In-service product data

• Delta
A change to be applied to a PLM XML file

• Annotation
PMI, GD&T, and markup

• PDM
Product data management (PDM) schema (workflow, revision rule, form, folder)

• MPM
Manufacturing process management

The PLM XML schemas are available within your Teamcenter installation at
TC_ROOT\reference_files\PLMXML\schemas.
The PLM XML schemas are published at:
http://www.plm.automation.siemens.com/en_us/products/open/plmxml/

The schemas can be downloaded freely for development of collaborative interoperable applications.

1-4 PLM XML/TC XML Export Import Administration PLM00030 12.1


Getting started with PLM XML/TC XML Export Import Administration

Note
The URIs that appear in the headers of PLM XML and TC XML files serve as namespace
names, which are unique identifiers for an XML vocabulary. Although they are URIs, they
are not used to identify and retrieve Web addresses. For example:
<?xml version=”1.0” encoding=”utf-8”?>
<PLMXML xmlns=”http://www.plmxml.org/Schemas/PLMXMLSchema”

This practice is consistent with W3C standards for namespaces.

Using the TC XML schema


TC XML is a PLM XML schema especially designed to work with Data Exchange. You use TC XML
and transfer option sets with Data Exchange to move data between Teamcenter and Teamcenter
Enterprise sites.
To assist you with mapping Teamcenter objects to Teamcenter Enterprise objects and vice versa,
Siemens PLM Software provides mapping control files, which you can adapt for modifications made
at your site.

Exporting and importing using PLM XML


PLM XML supports the export and import of Teamcenter objects, such as items, datasets, BOMs,
forms, and folders, as well as system data, such as business rules and organization data.
In PLM XML/TC XML Export Import Administration, you create transfer mode objects that define the
import or export context by applying closure (traversal) rules, filter rules, action rules, and property
set rules to the input or output of objects and system data. These rules can be a static set stored in
the database or they can be applied only to a specific session. Rules stored in the database can
be imported and exported.
PLM XML/TC XML Export Import Administration also references Extensible Stylesheet Language
Transformations (XSLT) files that describe how to transfer the source tree or data structure of an XML
document into the result tree for a new XML document, which may be completely different in structure,
and can be stored with the transfer mode objects and applied as a post-export or pre-import operation.

Note
The PLM XML framework does not support XSLT file validation; therefore, it is the
implementor's responsibility to ensure valid XSLT format.

A product data management (PDM) system is used to store and retrieve data within a certain context.
The context helps define how the data is used, filtered, and transformed. To accomplish this, the
PDM system must have the capability to export and import data. In Teamcenter, this is done using the
PLM XML import export framework with the various applications written to capitalize on this layer.
One important aspect of data translation is that each translation has a unique purpose and scope.
The purpose is associated to a business function and the application-specific interaction with the

PLM00030 12.1 PLM XML/TC XML Export Import Administration 1-5


Chapter
Chapter 1: 1: Getting
Getting started
started with PLM
with PLM XML/TC
XML/TC XML XML Export
Export Import
Import Administration
Administration

PDM system. Each instance of a translation is unique and different. A translation must be managed
to support its mode of transfer, the traversal of data desired, the filtering of the data to be done and
actions to apply to the translation. The PLM XML import export framework supports these unique
translations. However, in Teamcenter-to-Teamcenter transfers, do not use PLM XML as a data
synchronization mechanism to keep the structure modifications at both sites synchronized. PLM XML
export cannot capture all of the edits made on a product structure at the source site. The exported
PLM XML file only captures a snapshot of the product structure, so the repeated process of exporting
from the source site and importing at the destination site causes unexpected results (the structures at
both sites will not be synchronized). In these situations, use classic Multi-Site.
Another important aspect of data translation is managing the mapping between the PDM data and the
PLM XML standard entity schema for reading the data in and out. In the PLM XML import export
framework, data entities are mapped using a known set of correspondence, where most data is
automatically translated by the PLM XML import export module. The PLM XML import export module
supports application extensibility for additional data translations. The mapping between PLM XML
entities and Teamcenter entities is shown in PLM XML/Teamcenter entity mapping.
PLM XML is the interoperability mechanism for many products (internal and external). There are a
variety of PLM XML representations available to represent the same data. For example, product
structure can be represented by normal PLM XML export files from Teamcenter (ProductView and
ProductDef, for example). These files can be used to import the same product structure to another
Teamcenter instance. They can also be used by files exported using the bomwriter utility (mainly
used for Lifecycle Visualization; these files cannot be imported). Before attempting to import a file
to Teamcenter, determine the source of the file. If it is exported by another Teamcenter site or an
application that matches Teamcenter exported files, it is a good candidate for import to Teamcenter.

Note
In a multiuser environment, when multiple users initiate import on the same data
simultaneously (for example, multiple users updating the same assembly), only one is
successful. The other users get a locking message (objects are locked by different user in
different session).

Note
PLM XML cannot be used to share organization objects that are shared through global
organization (Multi-Site).

Asynchronous PLM XML export


You can export objects into Teamcenter asynchronously through the rich client. An asynchronous
export uses the plmxml_import_export translator to run the plmxml_export utility in the background.
To enable the plmxml_import_export translator, see the Dispatcher Server Translators Reference.

1-6 PLM XML/TC XML Export Import Administration PLM00030 12.1


Getting started with PLM XML/TC XML Export Import Administration

Using Teamcenter to export and import data with PLM XML


Once you create the transfer mode object in PLM XML/TC XML Export Import Administration, you
can use the rich clientor acommand line utility to import or export data.

Note
If you are importing a named reference and the named reference XML file name and
subfolder name are different, import it with the plmxml_import utility instead of the rich
client. If the file name and the subfolder name are the same, you can use either the utility
or the rich client.

If the transfer mode object does not exist, you can create it with the PLM XML/TC XML Export
Import Administration application, as described in Create transfer mode objects. You can also use
programming (Server Customization and the Integration Toolkit Function Reference) to create
transfer mode objects. To access the Integration Toolkit Function Reference, install the Teamcenter
developer references when you install Teamcenter online help, or go to the Global Technical Access
Center (GTAC):
https://support.industrysoftware.automation.siemens.com/docs/teamcenter/

Basic tasks using PLM XML/TC XML Export Import Administration


With PLM XML/TC XML Export Import Administration, you create transfer mode objects that help
end users export and import Teamcenter objects and system data. To create a transfer mode object,
you may need to:
• Create or edit a closure rule.

• Create or edit a filter rule.

• Create or edit an action rule.

• Create or edit a property set.

Once you create these items, you can assemble them into a transfer mode object.
You can also create a transfer option set for use with Data Exchange.

Syntax conventions used in this guide


This guide uses a set of conventions to define the syntax of Teamcenter commands, functions, and
properties. Following is a sample syntax format:
harvester_jt.pl [bookmark-file-name bookmark-file-name ...]
[directory-name directory-name ...]
The conventions are:

PLM00030 12.1 PLM XML/TC XML Export Import Administration 1-7


Chapter
Chapter 1: 1: Getting
Getting started
started with PLM
with PLM XML/TC
XML/TC XML XML Export
Export Import
Import Administration
Administration

Bold Bold text represents words and symbols you must type exactly as shown.
In the preceding example, you type harvester_jt.pl exactly as shown.
Italic Italic text represents values that you supply.
In the preceding example, you supply values for bookmark-file-name and
directory-name.
text-text A hyphen separates two words that describe a single value.
In the preceding example, bookmark-file-name is a single value.
[] Brackets represent optional elements.
... An ellipsis indicates that you can repeat the preceding element.

Following are examples of correct syntax for the harvester_jt.pl command:


harvester_jt.pl
harvester_jt.pl assembly123.bkm
harvester_jt.pl assembly123.bkm assembly124.bkm assembly125.bkm
harvester_jt.pl AssemblyBookmarks

1-8 PLM XML/TC XML Export Import Administration PLM00030 12.1


Chapter 2: Importing and exporting data in multiple languages

Multilanguage support
PLM XML import and export support multiple languages. You can select multiple languages when
exporting data using PLM XML, and you can import a PLM XML file that contains more than one
language. Non-English locale environment settings are available. Only languages that your system
supports are listed. For example, if your system is not Unicode UTF-8 compliant, the list of available
languages does not include multi-byte languages.

Note
The language codes in the PLM XML file follow the W3wC standard (for example, en-us).
It is a five-letter code containing a two-letter language code, a hyphen, and a two-letter
area/country code, all in lower case.
The RFC 4646 and XML Schema specification can provide more information.
The language codes within Teamcenter follow the standard Java language naming
convention (for example, en_US and fr_FR). It is a five-letter code containing a two-letter
language, an underscore, and a two-letter area code in uppercase. This follows the
ISO639_ISO3166 template.

Sample multilanguage PLM XML file


A multilanguage PLM XML file contains two attributes for specifying the language information:
language and languages. The following shows the portion of a multilanguage PLM XML file that
includes these attributes:
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="7.0.0.42"
date="2009-02-20"
time="10:47:51"
author="Teamcenter"
language="en-us"
languages="en-us fr—fr de-de"

The language attribute specifies the site master language of the exporting site. the languages
attribute represents the list of languages (in order) selected by the user during export. In this
example, en-us is the exporting site's master language, and en-us, fr-fr, and de-de are the
languages selected by the user for export. If the PLM XML file does not have a language attribute
(or it is unrecognizable), it defaults to en-us.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 2-1


Chapter
Chapter 2: 2: Importing
Importing and exporting
and exporting data data in multiple
in multiple languages
languages

Exporting localized property values


When exporting using the plmxml_export and bomwriter (for PLM XML format) utilities, use the
-locales argument to specify the export languages. The site master language is always included in
the export.
Click Select Languages to select the languages for the export from the rich client. The
PIE_transfermode_languages preference specifies the default list of languages that are associated
with a transfer mode. These languages are included when the associated transfer mode is used for
export, unless otherwise excluded by the user.
If a single-valued property or a multivalued property with an exhaustive LOV attached is included in a
multilanguage export, the display values of the selected LOV value are exported in the requested
locale as part of the Text element.

Note
Single-valued properties or multivalued properties with suggestive LOVs are not supported.

If no locales are selected for export, the DB scalar value is exported to PLM XML scalar fields, and
no Text element is written to the PLM XML file.
When you select multiple languages for export, the database scalar for a given property is exported to
the PLM XML scalar field. The language code for this value is specified in the primary attribute of the
Text element. The Text element also contains the translations in various languages as requested by
the user. The Item element, a subelement of the Text element, specifies each language and the
corresponding string value. For example, a dataset is created in French and has translations for two
other languages (English and German) for its name field. The database scalar is French and called
attribute master. If you select English and German as the two languages for export, the dataset
element in the .xml file would look as follows:
<DataSet id="id7" name="Porte" nameRef="#id12" accessRefs="#id4" version="1"
memberRefs="#id9" type="DirectModel">
</DataSet>
<Text id="id12" primary="fr-fr">
<Item language="en-us">Door</Item>
<Item language="de-de">Tür</Item>
</Text>

In the .xml example, the name property is exported in two languages, English (en-us) and German
(de-de). Because French is the database scalar (attribute master), it is exported by default to a
PLM XML scalar field. The primary attribute on the Text element is marked fr-fr, designating that
the PLM XML scalar field contains the French value. The other requested languages, English and
German, are also exported in the Text element.
Siemens PLM Software recommends that the name of the scope rule (for example, TransferMode,
ClosureRule, TransferOptionSet) not be marked as localizable. This may cause issues as some
custom application integration or scripts may refer to the scope rules by name. PLM XML/TC XML
Export Import Administration shows a Localization button if the description of the scope rules are
marked as localizable. This works the same way as the Localization button in the Properties
dialog box.

2-2 PLM XML/TC XML Export Import Administration PLM00030 12.1


Importing and exporting data in multiple languages

Importing localized property values


You can import a PLM XML file with a site master language different from that of the importing system.
To prohibit this type of import, set the PIE_allow_import_with_different_sml preference to false. If
the .xml file does not contain a language attribute value, or if it is en (in the case of third-party .xml
files), PLM XML treats the language value as en-us and proceed with the import.
During import, unsupported languages are ignored and noted in the import log file.
The PLM XML delta schema does not have multilanguage support.
During import, the primary language specified in the PLM XML file is imported as database scalar.
This ensures that the scalar value imported at the importing site is the same as the scalar value
exported from exporting site. If the primary language is not supported at the importing site, it takes
the first supported language from the Item list of the Text element and treat it as the scalar value
(attribute master).

Adding localized values for option set display name, description,


and group name
You can provide localized values for your option set display names, descriptions, and group names
by providing the attribute key and its localized value in the webstrings.xml properties file for the
locale. These properties files are in the Teamcenter Web application file (tc.war file by default) at
the following location:
teamcenter\dhtml\common\intl\locale\webstrings.xml
The attribute key must be in the following format:
Transfer-option-set-name_Site-name_Option-name_displayName
Transfer-option-set-name_Site-name_Option-name_description
Transfer-option-set-name_Site-name_Option-name_groupName
For example, to provide localized values for option set attributes in German, explode the tc.war file
and locate the following file:
teamcenter\dhtml\common\intl\de\webstrings.xml
To provide localized values for the op_jt_ds option of the TIEOptionSetDefault option set defined at
the tc820ms1 site, add the following elements to the file:
<web_string>
<name>TIEOptionSetDefault_tc820ms1_opt_jt_ds_groupName</name>
<string>German-group-name-string</string>
</web_string>
<web_string>
<name>TIEOptionSetDefault_tc820ms1_opt_jt_ds_displayName</name>
<string>German-display-name-string</string>
</web_string>
<web_string>
<name>TIEOptionSetDefault_tc820ms1_opt_jt_ds_description</name>
<string>German-description-string</string>
</web_string>

Archive or regenerate the tc.war file and deploy the modified file.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 2-3


Chapter 3: Working with transfer mode objects

Transfer mode objects


Transfer mode objects are created in PLM XML/TC XML Export Import Administration and are
displayed as options when users import or export objects or system data using one of the Teamcenter
applications. They allow users to export and import data with little knowledge other than the name of
the transfer mode object that they should use; for example, ToCompanyA, FromCompanyB, or
ToCompanyB.

Note
When importing data in to Teamcenter, object names and IDs that are too long for the
field are truncated.

Transfer mode objects are made up of the following items that configure the import or export operation.
• Closure rules
Define the scope of the data translation.

• Filter rules
Use conditions to apply a finer level of control over which data gets translated along with the
primary objects.

• Action rules
Sets of methods that can be called before, during, and after the translation.

• Property sets
Provide a mechanism for PLM XML objects to have arbitrary properties in the form of UserData
elements.

• Context
Entering a context string uses method extensions to export or import a specific Teamcenter
business object or PLM XML element.

Note
When defining a transfer mode, you can leave the Context box blank.

• Revision Rule
A transfer mode revision rule can be selected, but it is not applied to the target data during
export and import.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-1


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Managing closure rules

Introduction to closure rules


Closure rules control the scope of the data translation on both input and output. They specify how
the data structure is traversed by specifying which relationships are of interest and what should be
done when these relationships are encountered.
Closure rules are comprised of five parts: primary object selector, secondary object selector, relation
selector, action, and an optional conditional clause. Closure rules generally come in sets. The
closure rule clauses are evaluated in order for each target object. The first applicable rule determines
the disposition of the related object.
A rule is applicable only if the target object fits the primary selector, the secondary object fits the
secondary selector, the relationship between the two objects fits the relationship selector, and the
conditional clause evaluates to TRUE. The action of the applicable closure rule clause determines
how the translator handles the secondary object.
If no rule applies, the object is skipped. If the action is TRAVERSE, the object becomes another
target of the translation. If the action is PROCESS, the secondary object is written (into either PLM
XML or the Teamcenter database), but no closure rule clauses are applied to the secondary object's
related objects. If the action is SKIP, nothing is done with the object.
Use PLM XML/TC XML Export Import Administration to create, edit, and delete closure rules.

Note
You must understand the Teamcenter class and attributes structure (the POM schema)
when you create closure rules. Administrators can view the POM schema in the Business
Modeler IDE Classes view or by right-clicking a class in the Classes view and choosing
Open in UML Editor.

Note
The action type on closure rule clauses may appear as TRAVERSE_AND_PROCESS,
PROCESS+TRAVERSE, or Traverse_and_Process. All instances are treated as
TRAVERSE_AND_PROCESS.

Syntax for closure rules


The following example illustrates the syntax for closure rules:
{CLASS | TYPE}.primary-class-or-type-name:{CLASS |
TYPE}.secondary-class-or-type-name:{ATTRIBUTE | PROPERTY |
RELATIONS2P | RELATIONP2S | REFBY | OCCTYPE | CONTENT |
FUNCTION}.name-of-connecting-relationship:{directive1+directive2+directive3}:
conditional-clause

3-2 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Note
Using an asterisk (*) rather than specifying a name after the primary or secondary object
keyword indicates that all classes or types fit the primary or secondary object criteria.
Use caution when using the wildcard. For example, the following closure rule attempts
to translate every object in the database:
CLASS.*:CLASS.*:PROPERTY.*:Traverse_and_Process

The qualifier for the primary object selector or secondary object selector can be CLASS or TYPE:

• If TYPE.type_name is used, the type of the object must exactly match the type name specified in
the clause. For example, TYPE.DirectModel fits only for DirectModel-type datasets.

• If CLASS.class_name is used, the class of the object must be the same as the class name
specified in the clause or a descendent in the class hierarchy. For example, CLASS.Dataset fits
for any instance of Dataset or any instance of its subclasses.

Clause item Definition


Primary object selector Specifies the primary object class or type to be translated. The class or
type name is preceded by the CLASS or TYPE keyword and a period
(.). For example:
CLASS.Item
Secondary object Specifies the secondary object class or type to be translated. The
selector class or type name is preceded by the CLASS or TYPE keyword and
a period (.). For example:
TYPE.Item
Relation selector Specifies the relationship between the secondary and primary object
class or type. The relation name is preceded by a keyword and a
period. For example:
ATTRIBUTE.items_tag

Using a wildcard (*) rather than specifying a name after any of the
keywords indicates that all relations of this type fit the rule.
The following keywords apply to relation selectors:
PROPERTY
Specifies the name of the Teamcenter property of the primary
object that refers to the secondary object.

ATTRIBUTE
Specifies the name of the Teamcenter attribute of the primary
object that refers to the secondary object.

RELATIONS2P

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-3


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Clause item Definition

Specifies the relation type that binds the primary and secondary
object and indicates that the traversal begins at the secondary
object.

RELATIONP2S
Specifies the relation type that binds the primary and secondary
object and indicates that the traversal begins at the primary object.

REFBY
Specifies the name of the attribute of the secondary object that
relates the secondary object to the primary object.

OCCTYPE
Specifies the type of occurrence in a BOM window that relates the
primary object to the secondary object.
Relation selector CONTENT
Specifies that the relation being traversed is in a PLM
XML→Teamcenter translation and the secondary object is
understood to be an element contained in the primary object. The
name is ignored for content.

FUNCTION
Specifies that the named function be executed.

Note
The FUNCTION relation selector applies only to TC XML
Data Exchange use cases. It has no effect when used in
closure rules for PLM XML export and import.

When FUNCTION is used as the relationship selector, you must


use the conditional clause to specify the function arguments in
the form of FUNC_ARGS. If the function has more than one
argument, they should be separated by semi-colons (for example,
FUNC_ARGS(arg1;arg2;arg3)). An argument can be one of the
following forms:
• $option_symbol_name
The value of this option is passed to FUNCTION.

• “abc”

3-4 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Clause item Definition

The value abc is passed to FUNCTION, like a literal in a


programming language.

• PRIMARY.property_name
The value of property_name on primaryObject is passed to
FUNCTION. SECONDARY and RELATION are not allowed as
they are not yet available while processing FUNCTION.

For example, a closure rule clause that uses FUNCTION looks


like this:
CLASS.Item:CLASS.ItemRevision:FUNCTION.
process_revision_selector:
TRAVERSE_AND_PROCESS:
FUNC_ARGS($opt_rev_select)

This clause specifies that during traversal, when the transfer


mode encounters an instance of Item as a primary object, it
must determine the necessary ItemRevision secondary objects
and execute the appropriate FUNCTION registered against
process_revision_selector function handle.
The possible revision rule selector values for $opt_rev_select are:
• allItemRevisions
(Include All Revisions in Multi-Site Collaboration)

• latestRevisionOnly
(Latest Revision Only in Multi-Site Collaboration)

• latestWorkingRevisionOnly
(Latest Working Revision Only in Multi-Site Collaboration)

• latestWorkingAnyOnly
(Latest Working/Any Release Status in Multi-Site
Collaboration)

• latestReleasedRevisionOnly
(Latest Any Release Status in Multi-Site Collaboration)

• selectedRevisionsOnly
(Selected Revision(s) Only in Multi-Site Collaboration)

• specificStatusOnly_status-name

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-5


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Clause item Definition

(Specific Release Status Only in Multi-Site Collaboration)


Action Type Specifies the traversal actions to be taken. It must be one or a
combination of the following keywords:

Note
Define action combinations by using the shift key or manually
typing the action, for example:
TRAVERSE_AND_PROCESS

SKIP
Specifies that the relationship should not be followed. This directive
is useful to eliminate special cases before a more general rule is
reached. For example, you could use the clauses in the following
example to get all occurrence notes from a BOM line except
manufacturing notes:
TYPE.BOMLine:TYPE.MfgNote.
PROPERTY.bl_all_notes:SKIP
TYPE.BOMLine:TYPE.*:PROPERTY.
bl_all_notes:PROCESS

The bl_all_notes property points only to notes; therefore, the


relaxed secondary condition of the second clause allows all note
types to be included. The manufacturing notes are skipped
because the clauses are ordered.

Note
The SKIP action cannot be combined with any other
action.

SKIP_GRM
(For TC XML export only) Specifies that the relation should
not be exported. For example, if the following closure rule
clause is used, the relation IMAN_UG_wave_position between
WorkspaceObject and WorkSpaceObject will not be exported.
CLASS.WorkspaceObject:CLASS.WorkspaceObject.
RELATIONP2S.IMAN_UG_wave_position:SKIP_GRM

For TC XML exports, the SKIP_GRM action differs from the SKIP
action:
• SKIP
The primary object and GRM are exported as full objects, and
the secondary object is exported as a stub.

3-6 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Clause item Definition

• SKIP_GRM
The primary object is exported as a full object, and the GRM
and secondary objects are ignored (neither processed nor
traversed).

In the following closure rule example, the relation


IMAN_UG_wave_position and the primary workspace object are
exported as full objects, but the secondary object is exported as a
POM_stub object.
CLASS.WorkspaceObject:CLASS.WorkspaceObject.
RELATIONP2S.IMAN_UG_wave_position:SKIP

Note
The SKIP_GRM action cannot be combined with any
other action.

PROCESS
Processes the secondary object but does not traverse further,
unless combined with the TRAVERSE action.

TRAVERSE
Specifies that the object becomes another target of the translation.

Note
The PROCESS and TRAVERSE actions can be
combined by using the shift key.

REFERENCE
Writes a PLM XML pointer entity.

CHANGE_CLOSURE_RULE
Alters the closure rules in force when an entity being processed
contains its own closure rule element.

DO
Processes the secondary object and specifies that the object
becomes another target of the translation.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-7


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Clause item Definition

Note
The PROCESS and REFERENCE actions are mutually
exclusive.

Conditional Clause Evaluates to TRUE or FALSE and is expressed in the following form:
Condition := Expression1 == Expression2
Condition := Expression1 != Expression2
Condition := (Condition) && (Condition)
Condition := (Condition) || (Condition)
Condition := (!Condition)

Expression1 can be:


• PRIMARY.property_name, SECONDARY.property_name, or
RELATION.property_name
Evaluates the value of the property_name property on the primary
object, secondary object, or relationship object, respectively.

• $(option_name)
option_name is a symbol set on the Traversal engine. This allows
the rule to be in effect if a program state is set, which then allows
the closure rule to take advantage of internal program states for
particularly complex traversal operations.

Expression2 can be a string literal enclosed in double quotation marks


(for example, “value1”).
In all cases, the expressions are converted to character strings, a string
compare is performed, and the clause is evaluated. The closure rule
qualifies only if the conditional clause evaluates to TRUE.
Conditional clauses must specify the exact property values to make
a proper comparison; wild card characters are not allowed in the
comparison.
Conditional Clause Following are examples of conditions:
• PRIMARY.object_name == “MyObject”
Evaluates the current closure rule clause only when the
object_name property on the PRIMARY object is set to MyObject.

• $opt_jt_ds == “true”
Evaluates the current closure rule clause only when the Traversal
engine has the opt_jt_ds option set to true.

3-8 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Clause item Definition

• PRIMARY.object_name == “MyObject” && $opt_jt_ds == “true”

• TYPE.CfgAttachmentLine :
TYPE.CfgAttachmentLine:PROPERTY. me_cl_child_lines:
TRAVERSE_AND_PROCESS:SECONDARY.al_source_class
== “Dataset”

• SECONDARY.object_type != “MyType”

Following are examples of invalid conditions:


• PRIMARY.object_count > 3

• SECONDARY.object_id = “233*”

• PRIMARY.object_name = “TEST%”

In some cases, the conditional clause may not be sufficient to achieve


the desired result. For example, to exclude any BOMLine with a certain
prefix in the object_name, a conditional clause cannot be formulated.

Create closure rules


1. Choose the ClosureRule node in the TransferMode tree (located in the lower-left pane of the
PLM XML/TC XML Export Import Administration window).
The system displays the ClosureRule pane.

2. Type a name for the rule in the Traversal Rule Name box.

Note
Do not begin your closure rule name with FT_ or __. These prefixes are reserved for
internal use only.

3. Optionally, type a description of the closure rule in the Description box.

4. In Scope of Traversal, click either Export or Import.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-9


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Note
The BOMLine property bl_attachments must not be used by Teamcenter applications
because it returns run-time objects that do not persist and are removed after the call to
the property. This property is intended to be used only in defining closure rules.
Alternatively, Siemens PLM Software recommends using the following Teamcenter
Services (SOA) APIs to get or close attachment lines:
manufacturing::StructureManagment::getBOMLineAttachments

manufacturing::StructureManagment::closeAttachmentWindow

5. In the Output Schema Format menu, choose either PLMXML for a standard PLM XML import
or export or TC XML if you are using Data Exchange to move data between Teamcenter and
Teamcenter Enterprise sites.

6. Create the ordered clauses that specify how the data structure is traversed.
a. Click the Add clause button to the right of the clause table.
The system displays a blank row in the table.

b. Select one of the following keywords from the Primary Object Class Type list:
CLASS

TYPE (available only if Scope of Traversal is Export)

c. Type the primary object's name in the Primary Object box.

d. Select one of the following options from the Secondary Object Class Type list:
CLASS

TYPE (available only if Scope of Traversal is Export)

e. Type the secondary object's name in the Secondary Object box.

f. Select one of the Relation Type options listed in the Syntax for closure rules table.

g. Type the name of a single property (or multiple properties) or objects in the Related Property
Or Object box.

h. Select one or a combination of the following options from the Action Type list:
SKIP
Specifies that the relationship should not be followed. This directive is useful to eliminate
special cases before a more general rule is reached. For example, you could use the
clauses in the following example to get all occurrence notes from a BOM line except
manufacturing notes:
TYPE.BOMLine:TYPE.MfgNote.
PROPERTY.bl_all_notes:SKIP
TYPE.BOMLine:TYPE.*:PROPERTY.

3-10 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

bl_all_notes:PROCESS

The bl_all_notes property points only to notes; therefore, the relaxed secondary
condition of the second clause allows all note types to be included. The manufacturing
notes are skipped because the clauses are ordered.

Note
The SKIP action cannot be combined with any other action.

PROCESS
Processes the secondary object but does not traverse further, unless combined with
the TRAVERSE action.

TRAVERSE
Specifies that the object becomes another target of the translation.

Note
The TRAVERSE and PROCESS actions can be combined by using the shift
key.

REFERENCE
Writes a PLM XML pointer entity.

CHANGE_CLOSURE_RULE
Alters the closure rules in force when an entity being processed contains its own closure
rule element.

Note
The PROCESS and REFERENCE actions are mutually exclusive.

i. Optionally, type a conditional clause in the Conditional Clause box.

j. Repeat the previous steps to add additional clauses to the closure rule.

k. Optionally, change the precedence of the rule clauses by selecting a row in the table and
using the Move Up or Move Down buttons to the right of the clause table.

7. Click the Create button.


The system displays the new rule in the ClosureRule node of the TransferMode tree. This rule
can now be used when building transfer mode objects.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-11


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Edit closure rules


You can edit closure rules by adding, removing, or changing the definition of the clauses that make
up the rule. You can also change the precedence of the clauses.
1. Select the node in the ClosureRule branch of the TransferMode tree that corresponds to the
rule you want to modify.

2. Modify the contents or precedence of the clauses, as described in Create closure rules.

3. Click the Modify button.


The system saves the changes to the database.

Delete closure rules


1. Select the node in the ClosureRule branch of the TransferMode tree that corresponds to the
rule you want to delete.

2. Click the Delete button.


The system displays the Delete Confirmation dialog box.

3. Click the Yes button to delete the rule or click the No button to cancel.

Map attributes with a closure rule


If you need to communicate an object's attribute information between an application and Teamcenter
during open, export, save, or import operations, you can map those attributes with PLM XML.
The application object is stored as an item and item revision, and the associated application data file
is a named reference of the dataset that is created as part of the item revision. You can map the
application attributes to any property that can be defined in a mapping list. For example, it can be one
of the properties in the item revision master form or the item master form.
To map attributes, you must write a closure rule with the following clause and set it in the transfer
mode used for export:
• Primary Object Class Type
CLASS

• Primary Object
Dataset

• Secondary Object Class Type


CLASS

• Secondary Object
*

• Relation Type
PROPERTY

3-12 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

• Related Property Or Object


AppAttr

• Action Type
PROCESS

Managing filter rules


What are filter rules?
Filter rules allow a finer level of control over the data that gets translated along with the primary
objects by specifying that a user-written function is called to determine the operation applied against a
given object. Filter rules conform to the syntax described in Syntax for closure rules.
Closure rules only allow you to control what is going to happen when moving from one object to the
next. But if you base your decision on more complex criteria, you need a filter rule. For example, you
need a filter rule if you want the PLM XML import export to follow these steps: if the item revision
has a UGMASTER dataset, translate it and skip all other datasets; if there is no UGMASTER
dataset, export the JT dataset. Closure rules cannot base their traversal on what child element
is in existence, but filter rules can.
Use PLM XML/TC XML Export Import Administration to create, edit, and delete filter rules.

Create filter rules


1. Choose the FilterRule node in the TransferMode tree (located in the lower-left pane of the PLM
XML/TC XML Export Import Administration window).
The system displays the FilterRule pane.

2. Type a name for the rule in the Filter Rule Name box.

3. Optionally, type a description of the rule in the Description box.

4. In Scope of Filter, click either Export or Import.

5. From the Output Schema Format menu, choose either PLMXML for a standard PLM XML
import or export or TC XML if you are using Data Exchange to move data between Teamcenter
and Teamcenter Enterprise sites.

6. Create the ordered clauses that specify how the data structure will be traversed:
a. Click the Add clause button to the right of the clause table.

b. Select one of the following keywords from the Object Class Type list:
CLASS

TYPE (available only if Scope of Filter is Export)

c. Type the object's name in the Object Name box.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-13


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

d. Select a rule in the Filter Rule Name list.

7. Click the Create button.


The system displays the new rule in the FilterRule node of the TransferMode tree. This rule can
now be used when building transfer mode objects.

Edit filter rules


You can edit filter rules by adding, removing, or changing the definition of the clauses that make up
the rule. You can also change the precedence of the clauses.
1. Select the node in the FilterRule branch that corresponds to the rule you want to modify.

2. Modify the contents or precedence of the clauses, as described in Create filter rules.

3. Click the Modify button.


The system saves the changes to the database.

Delete filter rules


1. Select the node in the FilterRule branch that corresponds to the rule you want to modify.

2. Click the Delete button.


The system displays the Delete Confirmation dialog box.

3. Click the Yes button to delete the rule, or click the No button to cancel.

Managing action rules

What are action rules?


Action rules are sets of methods that can be called before, during, and after the translation. The
Teamcenter PLM XML import export framework allows for the pre-functional, during-action, and
post-functional processing of action rules on behalf of the user. For example:
• Pre-action
These rules are executed before the translation occurs. You can use these to verify or prepare
the application, data, or Teamcenter for the translation.

• During-action
When the PLM XML import export is iterating through the data in your translation, the translation
engine verifies if you have during-action rules after all objects are translated but before applying
any style sheets (.xslt) in the case of an export. If so, the rules are executed and the .xslt
transformations are applied.

• Post-action

3-14 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Post-processing is done after the translation is complete, but the session still has control over
the translation. With post-action rules, you can verify the specific errors or content translations
of each object.

Use PLM XML/TC XML Export Import Administration to create, edit, and delete action rules.

Create action rules


1. Choose the ActionRule node in the TransferMode tree (located in the lower-left pane of the
PLM XML/TC XML Export Import Administration window).
The system displays the ActionRule pane.

2. Type a name for the rule in the Action Rule Name box.

3. Optionally, type a description of the action rule in the Description box.

4. In Scope of Action, click either Export or Import.

5. From the Output Schema Format menu, choose either PLMXML for a standard PLM XML
import or export or TC XML if you are using Data Exchange to move data between Teamcenter
and Teamcenter Enterprise sites.

6. In the Location of Action list, select when you want the action handler to execute: Pre Action,
During Action, or Post Action. When the handler executes depends if you are importing or
exporting.

Scope of action
Option =Teamcenter (export) Scope of action = PLMXML (import)
Pre Action Before opening PLM XML Before XSLT file is imported
file
During Action After translation Before translation
Post Action After XSLT file is exported After PLM XML file is closed

7. In the Action Handler list, select the action handler you want executed.

8. Click the Create button.


The system displays the new rule in the ActionRule node of the TransferMode tree. This rule
can now be used when building transfer mode objects.

Edit action rules


You can edit action rules by changing the action handler, scope of action, or location of action.
1. Select the node in the ActionRule branch of the TransferMode tree that corresponds to the rule
you want to modify.

2. Modify the contents or precedence of the clauses, as described in Create action rules.

3. Click the Modify button.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-15


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

The system saves the changes to the database.

Delete action rules


1. Select the node in the ActionRule branch of the TransferMode tree that corresponds to the rule
you want to delete.

2. Click the Delete button.


The system displays the Delete Confirmation dialog box.

3. Click the Yes button to delete the rule or click the No button to cancel.

Managing property sets

Property sets
Property sets provide a nonprogrammatic way to control what is placed in the UserData element. The
UserData element is a container for a list of name-value pairs that allows any attribute or property in
an ImanObject object that is not in the PLM XML equivalent to be stored.
The Teamcenter data model is richer than the PLM XML model and you can extend the Teamcenter
data model further. Property sets are a way to get Teamcenter data into the PLM XML file that
may not be in the PLM XML schema and can be controlled by a programmer who does not know
Teamcenter code or how to write it. A property set is simply a list of property set clauses.
Use PLM XML/TC XML Export Import Administration to create, edit, and delete property sets.

Property set clauses


Property set clauses have the following form:
{CLASS | TYPE}.primary-class-or-type-name:{PROPERTY | ATTRIBUTE }
.name-of-connecting-relationship:{DO | SKIP}

Clause item Definition


Primary object selector Specifies the primary object class or type to be translated. The class or
type name is preceded by the CLASS or TYPE keyword and a period
(.). For example:
CLASS.Item

Note
For PLM XML export, the class/type hierarchy is not
checked. Only the traversed objects with class/type matched
exactly will be honored.

3-16 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Clause item Definition


Relation selector Specifies the relationship between the secondary and primary object
class or type. The relation name is preceded by a keyword and a
period. For example:
ATTRIBUTE.items_tag

Using a wildcard (*) rather than specifying a name after any of the
keywords indicates that all relations of this type fit the rule.
The following keywords apply to relation selectors:
PROPERTY
Specifies the name of the Teamcenter property of the primary
object that refers to the secondary object.

ATTRIBUTE
Specifies the name of the Teamcenter attribute of the primary
object that refers to the secondary object.
Action Type Specifies the traversal actions to be taken. It must be one of the
following keywords:

DO Specifies that the action be executed.


SKIP Specifies that the relationship should not be followed.
This directive is useful to eliminate special cases before
a more general rule is reached.

Note
The SKIP action cannot be combined with
any other action.

By default all properties of a class in the property set are exported. You can exclude a property of the
class by including a SKIP clause for the property. For example:
• Export all the properties of the ItemRevision class are exported except the Archive Date
property:
CLASS.ItemRevision:PROPERTY.archive_date:SKIP

• Export all properties of the ItemRevision Master form's storage class, if the form has data file,
except the User Data 1 property:
TYPE.ItemRevision Master:PROPERTY.user_data_1:SKIP

If a Teamcenter object has a property set clause associated with it for the given transfer mode, a
UserData element is created in the content of the equivalent PLM XML object the Teamcenter object
gets translated into. The property/attribute appears as a PLM XML UserValue element in UserData
with the value title set to the property name and the value set to the property/attribute value. If the
property set looks like this:

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-17


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

CLASS.ItemRevision:PROPERTY.last_mod_date:DO
CLASS.ItemRevision:PROPERTY.object_string:DO

the PLM XML file looks like this:


<ProductRevision id="id12" name="assly" accessRefs="#id5" masterRef="#id20"
revision="A">
<UserData id="id15">
<UserValue value="02-Dec-2003 12:37" title="last_mod_date"></UserValue>
<UserValue value="000338/A-assly" title="object_string"></UserValue>
</UserData>
</ProductRevision>

This means that without writing any code, you have access to anything the Teamcenter property
service can provide you. If the PLM XML object has a UserData element, the Teamcenter PLM XML
import export framework tries to find a property of that name.
You can define property set clauses that leverage the Teamcenter class hierarchy to simplify the
clauses in the Teamcenter PLM XML export. The behavior is:
• The properties defined on TYPE with DO action, the property will be exported.

• The properties defined on CLASS of the type or parent CLASS of the type with DO action, the
property will be exported.

• When the same property is defined on TYPE or CLASS or parent CLASS, the rules are:
o TYPE takes precedence over CLASS or parent CLASS of the type.

o SKIP takes precedence over DO.

This table provides the behavior for the various cases:

Parent
Class Type class Action Description
DO SKIP SKIP TYPE take precedence over CLASS
SKIP DO DO TYPE take precedence over CLASS
DO SKIP SKIP SKIP take precedence over DO
SKIP DO SKIP SKIP take precedence over DO
DO SKIP DO TYPE take precedence over parent CLASS
SKIP DO SKIP TYPE take precedence over parent CLASS

Create property sets


1. Choose the PropertySet node in the TransferMode tree in the lower-left of the window.
The system displays the PropertySet definition pane.

2. Type a name for the property set in the Property Set Name box.

3. Optionally, type a description of the property set in the Description box.

4. In Scope of Property Set, select either Export or Import.

5. Create the ordered clauses that specify how the data structure will be traversed:

3-18 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

a. Click the Add clause button located to the right of the clause table.

b. Select one of the following keywords from the Primary Object Class Type list:
CLASS

TYPE (available only if Scope of Property Set is Export)

c. Type the primary object's name in the Primary Object box.

d. Select one of the following Relation Type options:


PROPERTY Specifies the name of the Teamcenter property of the primary object
that refers to the secondary object.
ATTRIBUTE Specifies the name of the Teamcenter attribute of the primary object
that refers to the secondary object.

e. Type the name of a single property (or multiple properties) or objects in the Related Property
Or Object box.

f. Select one of the following from the Property Action Type list:

DO Specifies that the action be executed.


SKIP Specifies that the relationship should not be followed. This directive is
useful to eliminate special cases before a more general rule is reached.

Note
The SKIP action cannot be combined with any other action.

g. Repeat the previous steps to add additional clauses to the property set.

h. Optionally, change the precedence of the set clauses by selecting a row in the table and
using the Move Up or Move Down buttons to the right of the clause table.

6. Click the Create button.


The system displays the new set in the PropertySet node of the TransferMode tree. This set
can now be used when building transfer mode objects.

Edit property sets


You can edit property sets by adding, removing, or changing the definition of the clauses. You can
also change the precedence of the clauses.
1. Select the node in the PropertySet branch that corresponds to the rule you want to modify.

2. Modify the contents or precedence of the clauses, as described in Create property sets.

3. Click the Modify button.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-19


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

The system saves the changes to the property set to the database.

Delete property sets


1. Select the node in the PropertySet branch that corresponds to the set you want to delete.

2. Click the Delete button.


The system displays the Delete Confirmation dialog box.

3. Click the Yes button to delete the set, or click the No button to cancel.

Managing transfer mode objects

Transfer mode objects


Transfer mode objects combine rules and property sets to define the context of the PLM XML import
or export operation. These objects are presented as context options when you import or export
objects or system data using the Teamcenter applications.

Create transfer mode objects


1. Choose the TransferMode node in the TransferMode tree (located in the lower left pane of the
PLM XML/TC XML Export Import Administration window).
The system displays the TransferMode pane.

2. Type a unique name for the transfer mode object in the Name box. This name is displayed in the
context fields of the Teamcenter export and import dialog boxes and should clearly identify the
context to the user.

3. Optionally, type the context string that maps the transfer mode object to a customized processor
for the given object type in the Context box.

4. Type a description of the transfer mode object in the Description box.

5. Select a Type of Transfer option to specify whether this transfer mode applies to export or import.

6. From the Output Schema Format menu, choose either PLMXML for a standard PLM XML
import or export or TC XML if you are using Data Exchange to move data between Teamcenter
and Teamcenter Enterprise sites.

7. Optionally, select the Support Incremental check box.


This option allows updates to existing data during PLM XML import. For example, if an item being
imported from an .xml file already exists in the database and support incremental is selected,
the PLM XML import updates the item. If support incremental is not selected, the updates from
the .xml file are ignored.
This option is not available for the following classes. To update objects of these classes, use the
plmxml_import utility with the -import_mode=overwrite argument.

3-20 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Teamcenter class name


SDK class name
TransferMode plmxml60::TransferMode
ClosureRule plmxml60::ClosureRule
PropertySet plmxml60:: PropertySet
Filter plmxml60::FilterRule
PIEActionRule Exported as UserData under plmxml60::TransferMode
Person plmxml60::Person
TCCalendar plmxml60::Calendar
User plmxml60::User
Group plmxml60::Organisation
Discipline plmxml60::Discipline
Role plmxml60::Role
POM_imc plmxml60::Site
RevisionRule plmxml60::RevisionRule
ListOfValues plmxml60::ListOfValues
ImanQuery plmxml60::SavedQueryDef

8. Select a rule from the Closure Rule list.

9. (Optional) Select a rule from the Filter Rule list.

10. (Optional) Select a property set from the Property Set list.

Note
The details of a rule or property set can be viewed by selecting the node corresponding
to the rule or property set in the TransferMode tree located in the lower-left portion of
the window. The rule clauses are displayed in the right portion of the window.

11. (Optional) Select a revision rule from the Revision Rule list.

Note
A revision rule can be selected, but it is not applied to the target data during export
and import.

12. (Optional) Select a tool from the List of defined tools and add it to the List of selected tools.

13. Click the Create button.


The system saves the transfer mode object to the database and it is displayed in the
TransferMode tree.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-21


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Edit transfer mode objects


You can edit transfer mode objects by adding, removing, or changing the rules, property sets,
configuration objects, or actions that define the object.
1. Select the node in the TransferMode tree that corresponds to the object you want to edit.

2. Modify the definition by changing options, as described in Create transfer mode objects.

3. Click the Modify button.


The system saves the changes to the object to the database.

Delete transfer mode objects


1. Select the node in the TransferMode tree that corresponds to the object you want to delete.

2. Click the Delete button.


The system displays the Delete Confirmation dialog box.

3. Click the Yes button to delete the object, or click the No button to cancel.

Export transfer mode example


The following example incrementally builds the rules to export an assembly with its components.
The assembly is an item named assy1 that consists of two other items (comp1 and comp2). The
assembly item revision has a MS PowerPoint dataset called sampleppt with the template.ppt file
attached. If you want to follow the steps in this example, create the assy1, comp1, and comp2 items
in My Teamcenter and the assembly in Structure Manager.
1. Create a closure rule with the name sampleCR and select Export for Scope of Traversal. Do
not add any clauses yet. For step-by-step instructions, see Create closure rules.

2. Create a transfer mode with the name sampleExport. Type DEFAULT_PIE_CONTEXT_STRING


in the Context box. Select Export for Type of Transfer and select your newly created
sampleCR closure rule.

3. Using My Teamcenter, export the item revision for assy1 using your new transfer mode. The
result is similar to this:
<?xml version="1.0" encoding="utf-8"?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="6" date="2006-10-06" time="15:58:36" author="Teamcenter
- smithj@IMC-433969693(433969693)">
<Header id="id1" traverseRootRefs="#id2" transferContext="sampleExport">
</Header>
<ProductRevision id="id2" name="Assy1" accessRefs="#id3"
subType="ItemRevision" masterRef="#id6" revision="A">
<ApplicationRef version="B_CVid3PR2drRD" application="Teamcenter"
label="BmNVid3PR2drRD"></ApplicationRef></ProductRevision>
<Product id="id6" name="Assy1" accessRefs="#id3" subType="Item"
productId="000001">
<Description>a sample assembly</Description>

3-22 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

<ApplicationRef version="BmNVid3PR2drRD" application="Teamcenter"


label="BmNVid3PR2drRD"></ApplicationRef>
</Product>
<AccessIntent id="id3" intent="reference" ownerRefs="#id4"></AccessIntent>
<Site id="id4" name="IMC-433969693" siteId="433969693">
<UserData id="id5">
<UserValue value="" title="connect_string"></UserValue>
<UserValue value="1" title="dbms"></UserValue>
<UserValue value="" title="imc_node_name"></UserValue>
<UserValue value="0" title="imc_ods_site"></UserValue>
</UserData>
</Site>
</PLMXML>

4. Add the following clause to the closure rule to export the item revision master form:
• Primary Object Class Type
CLASS

• Primary Object
ItemRevision

• Secondary Object Class Type


CLASS

• Secondary Object
Form

• Relation Type
RELATIONP2S

• Related Property Or Object


IMAN_master_form

• Action Type
PROCESS

5. Export the same item revision again. It looks similar to this:


<?xml version="1.0" encoding="utf-8"?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="6" date="2006-10-06" time="15:58:36" author="Teamcenter
- smithj@IMC-433969693(433969693)">
<Header id="id1" traverseRootRefs="#id2" transferContext="sampleExport">
</Header>
<ProductRevision id="id2" name="Assy1" accessRefs="#id3"
subType="ItemRevision" masterRef="#id6" revision="A">
<ApplicationRef version="B_CVid3PR2drRD" application="Teamcenter"
label="BmNVid3PR2drRD"></ApplicationRef>
<AssociatedForm id="id9" role="IMAN_master_form" formRef="#id7">
</AssociatedForm>

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-23


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

</ProductRevision>
<Product id="id6" name="Assy1" accessRefs="#id3" subType="Item"
productId="000001">
<Description>a sample assembly</Description>
<ApplicationRef version="BmNVid3PR2drRD" application="Teamcenter"
label="BmNVid3PR2drRD"></ApplicationRef>
</Product>
<AccessIntent id="id3" intent="reference" ownerRefs="#id4"></AccessIntent>
<Site id="id4" name="IMC-433969693" siteId="433969693">
<UserData id="id5">
<UserValue value="" title="connect_string"></UserValue>
<UserValue value="1" title="dbms"></UserValue>
<UserValue value="" title="imc_node_name"></UserValue>
<UserValue value="0" title="imc_ods_site"></UserValue>
</UserData>
</Site>
<Form id="id7" name="000001/A" accessRefs="#id3"
subType="ItemRevision Master" subClass="ItemRevision Master">
<ApplicationRef version="B_GVid3PR2drRD" application="Teamcenter"
label="B_GVid3PR2drRD"></ApplicationRef>
<UserData id="id8" type="FormAttributes">
<UserValue value="" title="user_data_1"></UserValue>
<UserValue value="" title="user_data_2"></UserValue>
<UserValue value="" title="user_data_3"></UserValue>
<UserValue value="" title="previous_version_id"></UserValue>
<UserValue value="" title="serial_number"></UserValue>
<UserValue value="" title="project_id"></UserValue>
<UserValue value="" title="item_comment"></UserValue>
</UserData>
</Form>
</PLMXML>

The AssociatedForm element in the ProductRevision and the Form element is added to
the previous export.

6. Add another clause to the closure rule to export specification attachments:


• Primary Object Class Type
CLASS

• Primary Object
ItemRevision

• Secondary Object Class Type


CLASS

• Secondary Object
Dataset

• Relation Type
RELATIONP2S

3-24 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

• Related Property Or Object


IMAN_specification

• Action Type
PROCESS

7. Export the same item revision again. It looks similar to this:


<?xml version="1.0" encoding="utf-8"?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="6" date="2006-10-06" time="15:58:36" author="Teamcenter
- smithj@IMC-433969693(433969693)">
<Header id="id1" traverseRootRefs="#id2" transferContext="sampleExport">
</Header>
<ProductRevision id="id2" name="Assy1" accessRefs="#id3"
subType="ItemRevision" masterRef="#id6" revision="A">
<ApplicationRef version="B_CVid3PR2drRD" application="Teamcenter"
label="BmNVid3PR2drRD"></ApplicationRef>
<AssociatedForm id="id9" role="IMAN_master_form" formRef="#id7">
</AssociatedForm>
<AssociatedDataSet id="id11" dataSetRef="#id10" role="IMAN_specification">
</AssociatedDataSet>
</ProductRevision>
<Product id="id6" name="Assy1" accessRefs="#id3" subType="Item"
productId="000001">
<Description>a sample assembly</Description>
<ApplicationRef version="BmNVid3PR2drRD" application="Teamcenter"
label="BmNVid3PR2drRD"></ApplicationRef>
</Product>
<AccessIntent id="id3" intent="reference" ownerRefs="#id4">
</AccessIntent>
<Site id="id4" name="IMC-433969693" siteId="433969693">
<UserData id="id5">
<UserValue value="" title="connect_string"></UserValue>
<UserValue value="1" title="dbms"></UserValue>
<UserValue value="" title="imc_node_name"></UserValue>
<UserValue value="0" title="imc_ods_site"></UserValue>
</UserData>
</Site>
<Form id="id7" name="000001/A" accessRefs="#id3"
subType="ItemRevision Master" subClass="ItemRevision Master">
<ApplicationRef version="B_GVid3PR2drRD" application="Teamcenter"
label="B_GVid3PR2drRD"></ApplicationRef>
<UserData id="id8" type="FormAttributes">
<UserValue value="" title="user_data_1"></UserValue>
<UserValue value="" title="user_data_2"></UserValue>
<UserValue value="" title="user_data_3"></UserValue>
<UserValue value="" title="previous_version_id"></UserValue>
<UserValue value="" title="serial_number"></UserValue>
<UserValue value="" title="project_id"></UserValue>
<UserValue value="" title="item_comment"></UserValue>
</UserData>
</Form>
<DataSet id="id10" name="sampleppt" accessRefs="#id3" version="1"
type="MSPowerPoint">

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-25


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

<ApplicationRef version="RSGVid3PR2drRD" application="Teamcenter"


label="RSGVid3PR2drRD"></ApplicationRef>
</DataSet>
</PLMXML>

The AssociatedDataset element in the ProductRevision and the Dataset element is added to
the previous export.

8. Add more clauses to the closure rule to export the associated files:

Third clause
• Primary Object Class Type
TYPE

• Primary Object
MSPowerPoint

• Secondary Object Class Type


CLASS

• Secondary Object
ImanFile

• Relation Type
PROPERTY

• Related Property Or Object


ref_list

• Action Type
PROCESS+TRAVERSE
Fourth clause
• Primary Object Class Type
TYPE

• Primary Object
MSExcel

• Secondary Object Class Type


CLASS

• Secondary Object
ImanFile

• Relation Type

3-26 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

PROPERTY

• Related Property Or Object


ref_list

• Action Type
PROCESS+TRAVERSE
Fifth clause
• Primary Object Class Type
CLASS

• Primary Object
ImanFile

• Secondary Object Class Type


CLASS

• Secondary Object
*

• Relation Type
ATTRIBUTE

• Related Property Or Object


original_file_name

• Action Type
PROCESS

In addition, change the Action Type for the second clause (the one exporting the dataset) to
PROCESS+TRAVERSE.

9. Export the same item revision again. It looks similar to this:


<?xml version="1.0" encoding="utf-8"?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="6" date="2006-10-06" time="15:58:36" author="Teamcenter
- smithj@IMC-433969693(433969693)">
<Header id="id1" traverseRootRefs="#id2" transferContext="sampleExport">
</Header>
<ProductRevision id="id2" name="Assy1" accessRefs="#id3"
subType="ItemRevision" masterRef="#id6" revision="A">
<ApplicationRef version="B_CVid3PR2drRD" application="Teamcenter"
label="BmNVid3PR2drRD"></ApplicationRef>
<AssociatedForm id="id9" role="IMAN_master_form" formRef="#id7">
</AssociatedForm>
<AssociatedDataSet id="id11" dataSetRef="#id10" role="IMAN_specification">
</AssociatedDataSet>

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-27


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

</ProductRevision>
<Product id="id6" name="Assy1" accessRefs="#id3" subType="Item"
productId="000001">
<Description>a sample assembly</Description>
<ApplicationRef version="BmNVid3PR2drRD" application="Teamcenter"
label="BmNVid3PR2drRD"></ApplicationRef>
</Product>
<AccessIntent id="id3" intent="reference" ownerRefs="#id4"></AccessIntent>
<Site id="id4" name="IMC-433969693" siteId="433969693">
<UserData id="id5">
<UserValue value="" title="connect_string"></UserValue>
<UserValue value="1" title="dbms"></UserValue>
<UserValue value="" title="imc_node_name"></UserValue>
<UserValue value="0" title="imc_ods_site"></UserValue>
</UserData>
</Site>
<Form id="id7" name="000001/A" accessRefs="#id3"
subType="ItemRevision Master" subClass="ItemRevision Master">
<ApplicationRef version="B_GVid3PR2drRD" application="Teamcenter"
label="B_GVid3PR2drRD"></ApplicationRef>
<UserData id="id8" type="FormAttributes">
<UserValue value="" title="user_data_1"></UserValue>
<UserValue value="" title="user_data_2"></UserValue>
<UserValue value="" title="user_data_3"></UserValue>
<UserValue value="" title="previous_version_id"></UserValue>
<UserValue value="" title="serial_number"></UserValue>
<UserValue value="" title="project_id"></UserValue>
<UserValue value="" title="item_comment"></UserValue>
</UserData>
</Form>
<DataSet id="id10" name="sampleppt" accessRefs="#id3" version="1"
type="MSPowerPoint">
<ApplicationRef version="RSGVid3PR2drRD" application="Teamcenter"
label="RSGVid3PR2drRD"></ApplicationRef>
</DataSet>
<ExternalFile id="id12" accessRefs="#id3"
locationRef="000001_A-Assy1\template.ppt" format="ppt">
<ApplicationRef version="BfKVid3PR2drRD" application="Teamcenter"
label="BfKVid3PR2drRD"></ApplicationRef>
</ExternalFile>
</PLMXML>

The ExternalFile element is for MSPowerPoint only.

10. Add more clauses to the closure rule to export the structure from Structure Manager:

Sixth clause
• Primary Object Class Type
TYPE

• Primary Object
BOMLine

• Secondary Object Class Type

3-28 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

TYPE

• Secondary Object
BOMLine

• Relation Type
PROPERTY

• Related Property Or Object


bl_child_lines

• Action Type
PROCESS+TRAVERSE
Seventh clause
• Primary Object Class Type
TYPE

• Primary Object
BOMLine

• Secondary Object Class Type


CLASS

• Secondary Object
ItemRevision

• Relation Type
PROPERTY

• Related Property Or Object


bl_revision

• Action Type
PROCESS+TRAVERSE

11. Export the assembly related to the same item revision from Structure Manager. It looks similar
to this:
<?xml version="1.0" encoding="utf-8"?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="6" date="2006-10-06" time="15:58:36" author="Teamcenter
- smithj@IMC-433969693(433969693)">
<Header id="id1" traverseRootRefs="#id6" transferContext="sampleExport">
</Header>
<ProductRevision id="id11" name="comp1" accessRefs="#id12"
subType="ItemRevision" masterRef="#id15" revision="A">
<ApplicationRef version="RKDVid3PR2drRD" application="Teamcenter"

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-29


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

label="RGKVid3PR2drRD"></ApplicationRef>
<AssociatedForm id="id18" role="IMAN_master_form" formRef="#id16">
</AssociatedForm>
<AssociatedDataSet id="id20" dataSetRef="#id19" role="IMAN_specification">
</AssociatedDataSet></ProductRevision>
<ProductRevision id="id24" name="comp2" accessRefs="#id12"
subType="ItemRevision" masterRef="#id25" revision="A">
<ApplicationRef version="ROKVid3PR2drRD" application="Teamcenter"
label="ROBVid3PR2drRD"></ApplicationRef>
<AssociatedForm id="id28" role="IMAN_master_form" formRef="#id26">
</AssociatedForm></ProductRevision>
<ProductRevision id="id29" name="Assy1" accessRefs="#id12"
subType="ItemRevision" masterRef="#id30" revision="A">
<ApplicationRef version="B_CVid3PR2drRD" application="Teamcenter"
label="BmNVid3PR2drRD"></ApplicationRef>
<AssociatedForm id="id33" role="IMAN_master_form" formRef="#id31">
</AssociatedForm>
<AssociatedDataSet id="id35" dataSetRef="#id34" role="IMAN_specification">
</AssociatedDataSet></ProductRevision>
<Product id="id15" name="comp1" accessRefs="#id12" subType="Item"
productId="000002">
<ApplicationRef version="RGKVid3PR2drRD" application="Teamcenter"
label="RGKVid3PR2drRD"></ApplicationRef></Product>
<Product id="id25" name="comp2" accessRefs="#id12" subType="Item"
productId="000003">
<ApplicationRef version="ROBVid3PR2drRD" application="Teamcenter"
label="ROBVid3PR2drRD"></ApplicationRef></Product>
<Product id="id30" name="Assy1" accessRefs="#id12" subType="Item"
productId="000001">
<Description>a sample assembly</Description>
<ApplicationRef version="BmNVid3PR2drRD" application="Teamcenter"
label="BmNVid3PR2drRD"></ApplicationRef></Product>
<RevisionRule id="id2" name="Latest Working">
<Description>Latest Working else Latest Any Status</Description>
<ApplicationRef version="o3IVRSyxR2drRD" application="Teamcenter"
label="o3IVRSyxR2drRD"></ApplicationRef></RevisionRule>
<ProductView id="id4" ruleRefs="#id2" rootRefs="id6"
primaryOccurrenceRef="id6">
<ApplicationRef application="Teamcenter"
label="hWKVid3PR2drRD/o3IVRSyxR2drRD/AAAAAAAAAAAAAA/BOM">
</ApplicationRef>
<UserData id="id3" type="TC Specific Properties">
<UserValue value="imprecise" title="BOM_precision_type"></UserValue>
</UserData>
<Occurrence id="id6" instancedRef="#id29" occurrenceRefs="id9 id22">
<ApplicationRef application="Teamcenter" label="hWKVid3PR2drRD/">
</ApplicationRef>
<UserData id="id7" type="AttributesInContext">
<UserValue value="" title="AO_ID"></UserValue>
<UserValue value="" title="SequenceNumber"></UserValue>
<UserValue value="" title="OccurrenceName"></UserValue>
<UserValue value="" title="Quantity"></UserValue></UserData>
<Transform id="id5">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform>
</Occurrence>
<Occurrence id="id9" instancedRef="#id11" parentRef="#id6">
<ApplicationRef application="Teamcenter"

3-30 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

label="hWKVid3PR2drRD/heMVid3PR2drRD/"></ApplicationRef>
<UserData id="id10" type="AttributesInContext">
<UserValue value="" title="AO_ID"></UserValue>
<UserValue value="10" title="SequenceNumber"></UserValue>
<UserValue value="" title="OccurrenceName"></UserValue>
<UserValue value="" title="Quantity"></UserValue></UserData>
<Transform id="id8">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform>
</Occurrence>
<Occurrence id="id22" instancedRef="#id24" parentRef="#id6">
<ApplicationRef application="Teamcenter"
label="hWKVid3PR2drRD/hiEVid3PR2drRD/"></ApplicationRef>
<UserData id="id23" type="AttributesInContext">
<UserValue value="" title="AO_ID"></UserValue>
<UserValue value="20" title="SequenceNumber"></UserValue>
<UserValue value="" title="OccurrenceName"></UserValue>
<UserValue value="" title="Quantity"></UserValue></UserData>
<Transform id="id21">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</Transform>
</Occurrence></ProductView>
<AccessIntent id="id12" intent="reference" ownerRefs="#id13"></AccessIntent>
<Site id="id13" name="IMC-433969693" siteId="433969693">
<UserData id="id14">
<UserValue value="" title="connect_string"><</UserValue>
<UserValue value="1" title="dbms"><</UserValue>
<UserValue value="" title="imc_node_name"></UserValue>
<UserValue value="0" title="imc_ods_site"></UserValue></UserData></Site>
<Form id="id16" name="000002/A" accessRefs="#id12"
subType="ItemRevision Master" subClass="ItemRevision Master">
<ApplicationRef version="RKGVid3PR2drRD" application="Teamcenter"
label="RKGVid3PR2drRD"></ApplicationRef>
<UserData id="id17" type="FormAttributes">
<UserValue value="" title="user_data_1"></UserValue>
<UserValue value="" title="user_data_2"></UserValue>
<UserValue value="" title="user_data_3"></UserValue>
<UserValue value="" title="previous_version_id"></UserValue>
<UserValue value="" title="serial_number"></UserValue>
<UserValue value="" title="project_id"></UserValue>
<UserValue value="" title="item_comment"></UserValue></UserData></Form>
<DataSet id="id19" name="sampleexcel" accessRefs="#id12" version="1"
type="MSExcel">
<ApplicationRef version="RaGVid3PR2drRD" application="Teamcenter"
label="RaGVid3PR2drRD"></ApplicationRef></DataSet>
<Form id="id26" name="000003/A" accessRefs="#id12"
subType="ItemRevision Master" subClass="ItemRevision Master">
<ApplicationRef version="RONVid3PR2drRD" application="Teamcenter"
label="RONVid3PR2drRD"></ApplicationRef>
<UserData id="id27" type="FormAttributes">
<UserValue value="" title="user_data_1"></UserValue>
<UserValue value="" title="user_data_2"></UserValue>
<UserValue value="" title="user_data_3"></UserValue>
<UserValue value="" title="previous_version_id"></UserValue>
<UserValue value="" title="serial_number"></UserValue>
<UserValue value="" title="project_id"></UserValue>
<UserValue value="" title="item_comment"></UserValue></UserData></Form>
<Form id="id31" name="000001/A" accessRefs="#id12"
subType="ItemRevision Master" subClass="ItemRevision Master">
<ApplicationRef version="B_GVid3PR2drRD" application="Teamcenter"

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-31


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

label="B_GVid3PR2drRD"></ApplicationRef>
<UserData id="id32" type="FormAttributes">
<UserValue value="" title="user_data_1"></UserValue>
<UserValue value="" title="user_data_2"></UserValue>
<UserValue value="" title="user_data_3"></UserValue>
<UserValue value="" title="previous_version_id"></UserValue>
<UserValue value="" title="serial_number"></UserValue>
<UserValue value="" title="project_id"></UserValue>
<UserValue value="" title="item_comment"></UserValue></UserData></Form>
<DataSet id="id34" name="sampleppt" accessRefs="#id12" version="2"
memberRefs="#id36" type="MSPowerPoint">
<ApplicationRef version="BbMVid3PR2drRD" application="Teamcenter"
label="BbMVid3PR2drRD">
</ApplicationRef></DataSet>
<ExternalFile id="id36" accessRefs="#id12"
locationRef="000001_A-Assy1\template.ppt" format="ppt">
<ApplicationRef version="BfKVid3PR2drRD" application="Teamcenter"
label="BfKVid3PR2drRD">
</ApplicationRef></ExternalFile>
</PLMXML>

The structure information is exported in the file. Also the related item revisions and their
attachments are exported.

Tip
If you are not sure about the details of the data model and need to find the right reference,
look at the object properties in My Teamcenter or Structure Manager to find the property for
the related object.

Transfer modes included with Teamcenter


The following transfers modes are included with Teamcenter. Additional transfer modes may be
available depending on the optional application that you install.
For information about application-specific transfer modes, refer to the documentation for your
application.

Note
A transfer modes can optionally have a context string to determine the export/import
behavior of traversed objects.

Import
Transfer mode or
[Context string] export Description
assignment_list_export Export Exports process assignment lists.

3-32 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Import
Transfer mode or
[Context string] export Description
BOMwriterExport Export Exports bill of materials lists.
[BOMWRITER_PIE_CONTEXT_STRING]
Note
Do not use this transfer mode
in the plmxml_import and
plmxml_export utilities or in the
client interface. This transfer mode
is used by Teamcenter internally.

ConfiguredDataExportDefault Export Exports configured BOM assemblies


[DEFAULT_PIE_CONTEXT_STRING] including ImanItem lines, forms, datasets,
folders, occurrences, activities, and
appearance paths. There is equal support
for BOP processes, GDE, activities, variant
expressions, and naming rules.
This transfer mode works the same as
ConfiguredDataFiles ExportDefault transfer
mode but does not export explicit file contents.
ConfiguredDataFilesExportDefault Export Exports configured BOM assemblies including
[DEFAULT_PIE_CONTEXT_STRING] ImanItem lines, forms, datasets, actual
files, folders, occurrences, activities, and
appearance paths. There is equal support
for BOP processes, GDE, activities, variant
expressions, and naming rules.
ConfiguredDataImportDefault Import Imports configured BOM assemblies
[DEFAULT_PIE_CONTEXT_STRING] including structure, forms, datasets, folders,
occurrences, predecessors, activities, folders,
variant conditions, and transformations.
ConfiguredRequirementDataExport Export Exports trace links on occurrences.
[DEFAULT_PIE_CONTEXT_STRING]
ctm0_ContMgmtExportAdmin Export Exports Content Management objects.
[DEFAULT_PIE_CONTEXT_STRING]
ctm0_ContMgmtImportAdmin Import Imports Content Management objects.
[ctm0_ContMgmtImportAdmin]
ExportGraphic Export Exports graphic files.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-33


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Import
Transfer mode or
[Context string] export Description
ExportProductView Export Exports BOM window and BOM line-centric
[DEFAULT_PIE_CONTEXT_STRING] assemblies, configured attachments, data
sets, appearance nodes, and manufacturing
data. There are several clauses that can be
activated for tuning exports and controlling
output.
ExportValidationResult Export Exports validation objects.
[DEFAULT_PIE_CONTEXT_STRING]
incremental import and Import Imports ProductView, but skips the instance
incremental_import graph. All class and attribute data imported.
[DEFAULT_PIE_CONTEXT_STRING]
The incremental_import transfer mode is
used with UNIX platforms.
ICSExportSubtreeWithWSOs Export Exports the entire hierarchy with content.
[DEFAULT_PIE_CONTEXT_STRING]
MechatronicsFoundationDataExport Export Exports collaborative context for CAD-centric
[DEFAULT_PIE_CONTEXT_STRING] data including BOM, assembly, configured
attachments, bill of process, operations,
TypeCannedMethod, naming rules, GDE
links, variant expressions, signals, EPM tasks,
and EPM jobs.
MRMAssemblyExport Export Exports Resource Manager assemblies.
[DEFAULT_PIE_CONTEXT_STRING]
PLMXMLAdminDataExport Export Exports transfer modes and transfer option
[DEFAULT_TIE_CONTEXT] sets in TC XML format.

Note
Do not use this transfer mode
in the plmxml_import and
plmxml_export utilities.

ScheduleManagerFndImportLegacy Import Imports an out-of-the-box schedule and its


[DEFAULT_PIE_CONTEXT_STRING] related data, including properties, created in
Teamcenter 11.2.
ScheduleManagerFoundationExport Export Exports an out-of-the-box schedule and its
[DEFAULT_PIE_CONTEXT_STRING] related data, including properties.
ScheduleManagerFoundationImport Import Imports an out-of-the-box schedule and its
[DEFAULT_PIE_CONTEXT_STRING] related data, including properties, created in
current or previous versions of Teamcenter.

3-34 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Import
Transfer mode or
[Context string] export Description
TIEEdaLibExport Export Exports the Electronic Design Automation
[DEFAULT_TIE_CONTEXT] (EDA) library.

Note
Do not use this transfer mode
in the plmxml_import and
plmxml_export utilities.

TIEImportDefault Import Imports TC XML data. This is the default


[DEFAULT_TIE_CONTEXT] transfer mode for importing TC XML data.
TIEUnconfiguredExportDefault Export Exports Data Exchange data. This is the
default transfer mode for exporting Data
Exchange data.

Note
Do not use this transfer mode
in the plmxml_import and
plmxml_export utilities.

TR_AUDIT_REPORT Export Exports EPM jobs, signoffs, tasks, items, item


[AUDIT_REPORT_CONTEXT] revisions, and file contents.
TL_Import Import Imports trace links on occurrences.
[DEFAULT_REQ_CONTEXT_STRING]
TransferGenericObject_TM Export Exports architecture, including many
[PWT_PIE_CONTEXT_STRING] relationships from secondary to primary
including EC_affected_item_rel,
EC_solution_item_rel, process staging,
and variant expressions. There are several
specific clause rules for architecture design
and part usage.
transgde Export Exports attachments, product structure,
[DEFAULT_PIE_CONTEXT_STRING] appearance groups, bill of process, activities,
and variant expressions. It is design
element-centric and supports CCObject and
structure context.
unconfiguredDataFileExport Export Exports unconfigured items, item revisions,
[DEFAULT_PIE_CONTEXT_STRING] datasets, and ImanFile contents.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-35


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Import
Transfer mode or
[Context string] export Description
web_reports Export Exports reports.
[DEFAULT_PIE_CONTEXT_STRING]
workflow_template_import Import Imports workflow templates and process
[DEFAULT_PIE_CONTEXT_STRING] assignment lists. This transfer mode contains
open-ended closure rules (*) for any class,
any attribute, and all contents.
workflow_template_mode Export Exports workflow task templates, signoffs,
[DEFAULT_PIE_CONTEXT_STRING] dependencies on tasks, business rule
handlers, action handlers, and actions.
workflow_template_overwrite Import Overwrites existing workflow templates for
[DEFAULT_PIE_CONTEXT_STRING] mass import. This transfer mode contains
open-ended closure rules (*) for any class,
any attribute, and all contents.
write_to_technomatix Export Exports plant, process, and product data
[DEFAULT_PIE_CONTEXT_STRING] to Tecnomatix. This transfer mode is
manufacturing engineering-centric and used
to export attachments, product structure,
appearance path nodes, bill of process, and
operations per work area.

Update transfer modes


Changes to the infrastructure require you to import the transfer modes and modify the closure rules.

1. Import the transfer modes as follows:

• For transfer mode .xml files in PLM XML format, use the plmxml_import utility with the
-import_mode=overwrite argument.

• For transfer mode .xml files in TC XML format, use the tcxml_import utility with the
-scope_rules_mode=overwrite argument.

2. For all custom PLM XML transfer modes and any customized out-of-the-box transfer modes,
modify the closure rules as follows:

a. Remove any closure rule with TYPE.ImanItemLine or CLASS.ImanItemLine as the primary


or secondary object selector.

This removes unused closure rule clauses from previous versions of Teamcenter. In
Teamcenter 2007, the clauses had no meaning. In Teamcenter 8.1, the clauses had meaning,
but it was different than what is used currently. Therefore, the clauses must be removed
before they can be redefined.

3-36 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

b. Change any closure rule with TYPE.BOMLine as the primary


or secondary (or both) object selector to CLASS.ImanItemLine.
Then, add the PRIMARY.bl_window_is_BOPWin==”false” or
SECONDARY.bl_window_is_BOPWin==”false” conditional clause to the appropriate
closure rule (primary and/or secondary object selector, respectively).

This indicates that the rule applies to every subtype of ImanItemLine if the line is not found in
BOPWindow.
The following is an example of a closure rule that needs updating.

Following is what it should look like after it is updated.

c. Change any closure rule with TYPE.ImanItemBOPLine as the primary or


secondary (or both) object selector to CLASS.ImanItemBOPLine. Then, add the
PRIMARY.bl_me_appgroup==”0” or SECONDARY.bl_me_appgroup==”0” conditional
clause to the appropriate closure rule (primary and/or secondary object selector, respectively).

This indicates that the rule applies to every subtype of ImanItemBOPLine if the line does
not reflect an appearance group.

d. Change any closure rule with TYPE.AppGrpBOPLine as the primary or secondary object
selector to CLASS.AppGrpBOPLine.

This indicates that the rule applies to every subtype of AppGrpBOPLine.

e. In all closure rules with constraint checking, change the ImanItemP property to Item and the
ImanItemRevP property to ItemRevision.

Export / Import rules included with Teamcenter


The following filter rules are included with the PLM XML/TC XML Export Import Administration
application.

PLM XML or
Filter rule name TC XML Description
CAEImportFilterRule PLM XML import Skips the BOMViewRevision which is
not type of CAEAnalysis.
CLS_PIE_NodeHierarchyDefault PLM XML export Skips sibling hierarchy nodes of a
candidate Hierarchy Node while
traversing from its parent using
children traversal property.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-37


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

PLM XML or
Filter rule name TC XML Description
ExportDatasetFilter PLM XML export Determines if a CAD file will be
exported when the CAD file is owned
by an ItemRevision or an Attachment
Window. A list of preferred dataset
types is defined by the preference
PreferPlmxmlCadFiles with
precedence from high to low.
ExportLatestObjectFilter PLM XML export Refreshes the object to get the latest
data to export.
MySampleFilter PLM XML A sample filter to make the object
always be processed.
CLS_TIE_NodeHierarchyDefault TC XML export If the root or selected object is a
Library or a Library Hierarchy,
sibling traversal of the Hierarchy
Node is allowed. Also skips the
Ptn0ChildParentLink, if its child
partition is not in the ancestral lineage
of the selected Hierarchy Node.
ExportReleasedObjectFilter TC XML export Exports only released objects.
ExportReleasedPrimaryFilter TC XML export Exports only relations whose primary
object is released.

MyTieSampleFilter TC XML A sample filter to make the object


always be processed.
TieBomLevelFilter TC XML export Exports a BOM until the BOM line
level reaches the value defined by
–bomlevel option in tcxml_export
utility.

The following action handlers are used with the PLM XML/TC XML Export Import Administration
application action rules.

Location of PLM XML or


Action Handler Action TC XML Description
CAEExportPreAction PLM XML Supported in a future release.
Pre Action
export
CAEExportDuringAction PLM XML Inserts CAE global preference
export data and application preference
data into the PLM XML
During Action
document. And checks out
the CAEAnalysis type of
BOMViewRevision.

3-38 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Location of PLM XML or


Action Handler Action TC XML Description
CAEImportPostAction PLM XML Checks in the CAEAnalysis
Post Action
import type of BOMViewRevision.
IncrementalUpdatePreAction PLM XML Used by Application Interface
Pre Action export to export modified BOM lines
since last export.
EnableItemRevReviseDeepCopy PLM XML Enables ItemReivsion
During Action import deep copy when revising
an ItemRevision during import.
SampleTIEPreAction TC XML A sample pre-action to always
Pre Action
process the object.
SampleTIEDuringAction TC XML A sample during-action to
During Action
always process the object.
SampleTIEPostAction TC XML A sample post-action to always
Post Action process the object.

SampleTMSPostAction TC XML import A sample post-action to


Post Action export multi-site import data
information.
WorkflowImportPostActionRule TC XML import For administrative data import,
finds the workflow template
at target site which have
name or origin ID matching
Post Action
the imported template and
obsoletes the imported or target
site templates based on the
import merge option.

Using context strings


A context string is used with a transfer mode to determine the export/import behavior of traversed
objects. Each object type has registered export/import functions with various context strings. One
type object can have multiple export/import functions with different context strings and each function
may have different export/import processing. During the export/import, only the export/import function
that matches the context string of the applied transfer mode is executed.

Note
When defining a transfer mode, you can leave the Context box blank.

A custom context string can be created and used with a transfer mode. The custom context string
definition includes registered export/import functions that are based on object type. When the transfer

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-39


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

mode with the custom context string is used, the export/import functions matching the object type
to be executed.
The following context strings are included with Teamcenter. Additional context strings may
be available depending on the optional application that you install. For information about
application-specific context strings, refer to the documentation for your application.

PLM XML / TC
Context string name XML Usage
DEFAULT_PIE_CONTEXT_STRING PLM XML Default PLM XML
export/import
DEFAULT_REQ_CONTEXT_STRING PLM XML For PLM XML import of trace
links
DEFAULT_TIE_CONTEXT TC XML Default TC XML
export/import
PROCESS_SIMULATE_CONTEXT_STRING PLM XML Export/import with Process
Simulate
REQ_WORD_TEMPLATE_CONTEXT_STRING PLM XML Requirements Manager
word template export/import
SERVICE_PLANNING_CONTEXT_STRING PLM XML Service Planning data
export/import

TECNOMATIX_CONTEXT_STRING PLM XML Tecnomatix data


export/import
VALIDATION_PIE_CONTEXT_STRING PLM XML Validation Manager data
export/import

Transfer mode best practices

Transfer mode performance


Transfer modes focus on specific data traversals. You can modify transfer modes to tune them
for better performance.

Transfer mode limitations


Do not use the JTDataExportDefault and JTDataImportDefault transfer modes to directly export
or import JT files with the plmxml_export and plmxml_import utilities or the PLM XML option in
the user interface. Instead, use the PLM XML format rather than the JT assembly format. This
exports and imports JT files, along with the PLM XML file containing the item information and
assembly relationships.
Furthermore, do not use the following transfer modes with the plmxml_export and plmxml_import
utilities:
• BOMwriterExport

3-40 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

• PLMXMLAdminDataExport

• TIEImportDefault

• TIEPDXExportDefault

• TIEUnconfiguredExportDefault

Use specific type identifiers for better performance


The following example describes a typical optimization of the closure rules in a transfer mode. This
example is not complete and does not constitute a specific modification. The following closure rules
are used in the ConfiguredDataExportDefault transfer mode:
TYPE.BOMLine : TYPE.* :PROPERTY.bl_attachments:TravAndProc:
SECONDARY.al_source_class==Dataset
TYPE.BOMLine : TYPE.* :PROPERTY.bl_attachments:TravAndProc:
SECONDARY.al_source_class==Form
TYPE.BOMLine : TYPE.* :PROPERTY.bl_attachments:TravAndProc:
SECONDARY.al_source_class==Folder

These closure rules:


• Traverse and process any SECONDARY type from BOMLine to any type by using the
bl_attachments property.

• Execute the al_source_class function on the SECONDARY type.

• Support its export if the function returns a dataset, form, or folder.

To optimize the closure rules, change the types to take advantage of specific type identifiers. The
engine looks only at these types and not all types.
TYPE.BOMLine : TYPE.Dataset:PROPERTY.bl_attachments:TravAndProc
TYPE.BOMLine : TYPE.Form :PROPERTY.bl_attachments:TravAndProc
TYPE.BOMLine : TYPE.Folder :PROPERTY.bl_attachments:TravAndProc

Unload objects in transfer mode to speed processing


You can use the PIE_transfer-mode-name_unload_objects and
PIE_transfer-mode-name_process_in_chunks user preferences to improve performance by
unloading objects no longer needed in memory. The PIE_transfer-mode-name_unload_objects
preference tells Teamcenter which objects to unload from memory and in what order.

Caution
If you unload objects, such as BOM lines, required by other rich client functions or features,
you may cause errors. Also ensure all objects are saved to the database before unloading.

When using PIE_transfer-mode-name_unload_objects, create a preference for each transfer mode


type from which you want to unload objects and set the preference with values specifying object
types that are to be unloaded. For example:

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-41


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

PIE_sampleExport_unload_objects=
ImanItemBOPLine
BOMLine
Item
ItemRevision

Caution
These preferences define the processing order of the specified objects and the forced
unloading of the same objects. (The first object listed as a value, is processed first, the
second is processed second, and so on.) If objects are unloaded in an improper order, the
existence of dependent objects cannot be translated and their child objects are bypassed,
even if closure rules specify traversal of these objects. Be aware of which objects can be
processed and unloaded first, and list the objects in the correct order, or errors will occur.

If you set the PIE_transfer-mode-name_unload_objects preference, you can also use the
PIE_transfer-mode-name_process_in_chunks preference to specify the objects that are to be
unloaded in chunks or batches. The default is that all objects are unloaded in chunks.

Improve export performance


You can improve the performance of your PLM XML exports by setting the following preference:
• PLMXML_export_packed_bom_<transfer-mode-name>
If you set this preference to TRUE, it improves the PLM XML export performance for the specified
transfer mode. But if you export a packed BOM, you may lose data in the exported XML file.
Therefore, do not import an XML file with a packed BOM into Teamcenter. Set this preference to
TRUE only if you plan to use the XML file in a third-party application.

Maintain COTS scope rules


COTS scope rules (transfer modes, closure rules, filter rules, and so on) are maintained in XML files in
the TC_DATA directory (for example, defaultTransfermodes.xml). The file is imported to Teamcenter
using the tcxml_import command line utility during the database installation and upgrade.
The transfer mode .xml files are imported in overwrite mode as part of the upgrade. You do not
need to manually import the files. To reload the latest changes from the .xml file, you can run the
tcxml_import utility in overwrite mode to ensure that the updates to existing scope rules are also
imported to the database. For example:
$TC_ROOT/bin/tcxml_import
–u=user –p=password –g=group –file=$TC_DATA/defaultTransfermodes.xml
–scope_rules –scope_rules_mode=overwrite

Siemens PLM Software recommends that you do not modify the COTS scope rules. If necessary, you
can create a copy of the COTS rules and modify the copy as needed.

3-42 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Caution
All references to obsolete attributes and classes must be removed from custom closure
rules or property sets. Additionally, you should remove any deprecated attributes and
classes from custom closure rules or property sets.
For information about deprecated and obsolete classes and attributes, see the latest
Teamcenter Release Bulletin and the latest Teamcenter README file.

Closure rule best practices

Use session rules to identify the first set of target objects


Closure rules that have TYPE.PIESession as the primary object selector are session rules. Session
rules are evaluated only once during the first pass of closure rule clauses during the first step of
the traversal process to identify the initial set of target objects. Afterwords, the target objects are
processed using the regular traversal mechanism and are evaluated against all clauses. The
secondary object selector is evaluated for an exact match and includes all subclasses for CLASS
or subtypes for TYPE.
For example, if the closure rule is TYPE.PIESession:CLASS.Item : PROPERTY.target_list : SKIP:
and Item is the class name of the target object selected for export, the object matches the closure
rule. Because the action type is SKIP, all Item objects are skipped as well as all objects that are
subclasses of Item, such as Document.

Export other ApplicationRef elements


The ApplicationRef element is a PLM XML construct that allows an application to identify an object
by an application-specific identifier. Teamcenter always exports an ApplicationRef element for each
Teamcenter object it exports. But the Teamcenter PLM XML translator can store the ApplicationRef
elements of data coming from other applications. By default, these ApplicationRef elements are not
written into the export file, but if you want to export them, use this clause:
CLASS.*:CLASS.PLMAppUID:PROPERTY.application_uid:PROCESS+TRAVERSE:

The PLMAppUID object does not actually have an application_uid property, but it allows control of
this type of translation.

Ignore ApplicationRef elements on import


Use the following clause to ignore ApplicationRef elements on import:
TYPE.PIESession:CLASS.ApplicationRef:CONTENT.*:SKIP

Avoid automatic checkin on import


Use the following clause to avoid automatic checkin on import:
TYPE.PIESession:CLASS.NO_AUTO_CHECK_IN:CONTENT.*:SKIP

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-43


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Note
By default, automatic checkin is performed on imported objects.

Export substitutes
If you export a structure in which substitute components are defined, the substitutes are also exported
if you add the following closure rule to your transfer mode:
TYPE.BOMLine:TYPE.BOMLine:PROPERTY.bl_alternate:TRAVERSE+PROCESS

Compare source and destination BOMs


Use the AccountabilityMOA closure rule to compare source and destination BOMs, traversing or
skipping occurrences in the source structure based on the occurrence type of the linked occurrences
in the destination structure. By default, the closure rule provides the MEConsumed occurrence type
for processing linked occurrences in the destination structure and the MEOther occurrence type for
skipping occurrences assigned from the EBOM.
Modify the default rule as necessary for your site. As an example, process MEConsumed and
MEAssigned occurrence types as follows:

CLASS BOMLine CLASS BOMLine FUNCTION ebom_assy_assigned_only PROCESS


FUNC_ARGS("$target.bl_occ_type";"=";"MEConsumed";"||";"$source.bl_occ_type";
"=";"MEConsumed";"||";"$source.bl_occ_type";"=";"MEAssign";"||";
"$target.bl_occ_type";"=";"MEAssign")&&
SECONDARY.bl_has_children=="true"&&SECONDARY.bl_load_state=="0"

To skip MEOther and MEHandle occurrence types, modify the clause as follows:
CLASS BOMLine CLASS BOMLine FUNCTION ebom_assy_assigned_only SKIP
FUNC_ARGS("$source.bl_occ_type";"=";"MEOther";"||";
"$source.bl_occ_type";"=";"MEHandle")

Import or update a saved option set (SOS)


If you want to import or update an SOS, specify these closure rules in your transfer mode:
CLASS.Document:CLASS.VariantRule:CONTENT.*:DO:
CLASS.VariantRule:CLASS.*:CONTENT.*:DO:
CLASS.Document:CLASS.Option:CONTENT.*:DO:
CLASS.ProductRevision:CLASS.Option:ATTRIBUTE.optionRefs:DO:
CLASS.Option:CLASS.*:CONTENT.*:DO:

Add filter list to optimize retrieval of BOM lines


You can limit the type of attachments to look for in a BOM line by creating a filter list using a closure
rule. This increases the performance of PLM XML imports and exports. The form of the closure
rule is as follows:
CLASS:PIESession:CLASS:CfgAttachmentWindow:PROPERTY:*:PROCESS
CLASS:PIESession:CLASS:CfgAttachmentWindow:PROPERTY:first—attachment—type:
PROCESS

3-44 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

CLASS:PIESession:CLASS:CfgAttachmentWindow:PROPERTY:second—attachment—type:
PROCESS

To define a filter list, the closure rule clauses must specify PIESession as the primary class and
CfgAttachmentWindow as the secondary class. The first clause of the closure rule must specify *
as the property so Teamcenter clears any previous filter list. Then add clauses with the attachment
types you want to filter on. You can filter on one or more types. For example, if you want to see
BOM lines with only renderings or specifications attached, write the following closure rule and add
it to a transfer mode:
CLASS:PIESession:CLASS:CfgAttachmentWindow:PROPERTY:*:PROCESS
CLASS:PIESession:CLASS:CfgAttachmentWindow:PROPERTY:tc_rendering:PROCESS
CLASS:PIESession:CLASS:CfgAttachmentWindow:PROPERTY: tc_specification:PROCESS

Use the bom_cb switch to avoid exporting the entire BOM


The Teamcenter PLM XML translator usually translates only what the closure rule tells it to in the
order it gets to it, as it does the traversal. But there are times when the act of translating one element
type forces the translator to do another. For example, you cannot have a ProductRevision PLM XML
entity without a Product entity. Therefore, if you export an ItemRevision entity from Teamcenter,
you also get the related Teamcenter Item entity. When you select a BOM line (or any configuration
line) for export, the objects of interest are the selected line and all child lines. But the context of the
selected line is lost without the top line and all the lines from the top line down to the selected line. So
the translator moves back up the structure and exports all the BOM lines above the selected line but it
will not traverse the child lines of the lines above selected lines. Depending on your closure rules,
you may find that you inadvertently get the child lines of the lines above, with the effect of always
translating the full BOM. If you want to avoid this, use the following clause:
TYPE.BOMLine:TYPE.*:PROPERTY.bl_all_child_lines:TRAVERSE+PROCESS:$bom_cb != “1”;

Skip ItemMaster forms on import


In PLM XML format, products may have several forms, even several ItemMaster forms. This
is not the case in Teamcenter. If your import closure rule goes to an ItemMaster form or
an ItemRevisionMaster form from someplace other than the Product PLM XML entity and
ProductRevision entity, the form is created but not correctly connected to the item or item revision.
To avoid this, use the following clause:
CLASS.Document:CLASS.Form:CONTENT.*:SKIP

Place data in context on import


PLM XML supports edits in an occurrence context. Occurrences in a configuration view are always
absolute, but you can indicate that the data in the file is intended to be altered in context or altered in
a global scope. If the UserData tag under the occurrence contains the following:
<UserValue value="TopLevel" title="AttributesContext"></UserValue>

the attributes, notes, and variant conditions under the occurrence are stored as an edit/create in the
context of the top line. If this field is not found and the line in question has a context set for this
data, the data is altered in that context. If there is no data, the data is altered globally. To support
attachments in context, you can place a UserData tag in the ProductView, PlantView, ProcessView
tag’s content. For example:

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-45


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

<ProductView id="id2" ruleRefs="#id1" rootRefs="id44" primaryOccurrenceRef="id4">


<UserData id="id136" type="AttributesInContext">
<UserValue value="TopLevel" title="AttributesContext"></UserValue></UserData>

This causes the translator to interpret all new additions to be in the context of the top line.

Enable export of bounding box information


Add the following closure rule clause to enable export of bounding box data:
TYPE.BOMLine:CLASS.BoundingBox:PROPERTY.bl_bounding_boxes:PROCESS /TRAVERSE+PROCESS

By default, bounding box data is not exported unless you add this clause to the closure rule.
When exported with this clause, a Bound object appears as a PLM XML element, typically under a
Representation element. For example:
<Bound id="id17" type="compound”>
<Bound id="id18" values="1 2 3 4 5 6”></Bound>
<Bound id="id19" values="7 8 9 10 11 12"></Bound></Bound>

Closure rules for table properties


End users can add, edit, or remove rows of table values after a Business Modeler IDE administrator
adds a table property to a business object. This allows users to manage property data in a tabular
format in the end-user interface.
To export the values in a table, you must add the following closure rules for exporting table properties.
This starts the table property export:
CLASS ItemRevision PROPERTY mst4_rev_table_01 DO

These four clauses trigger the columns that you want to export:
CLASS MST4_rev_tablerow_01 PROPERTY mst4_rev_table01_column01 DO
CLASS MST4_rev_tablerow_01 PROPERTY mst4_rev_table01_column02 DO
CLASS MST4_rev_tablerow_01 PROPERTY mst4_rev_table01_column03 DO
CLASS MST4_rev_tablerow_01 PROPERTY mst4_rev_table01_column04 DO

The export includes the table properties of the item revision:

3-46 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Closure rules for PublishLink


You can use PublishLink to connect absolute occurrences of source and target structures, such as
connecting logically equivalent occurrences of design (source) and part (target) structures. However,
you must add the following closure rules for PLM XML exporting and importing of PublishLink
to work properly:
• Add the following closure rule clause to enable export of PublishLink data:
TYPE.BOMLine:CLASS.PublishLink:PROPERTY.bl_is_publish_link_source:
PROCESS /TRAVERSE+PROCESS

By default, PublishLink data is not exported unless you add this clause to the closure rule.

• Add the following closure rule to enable import of PublishLink data:


CLASS Document CLASS DefinitionRelation CONTENT * DO
CLASS DefinitionRelation CLASS * CONTENT * DO
CLASS DefinitionRelation CLASS * ATTRIBUTE * DO

After you add these closure rules, when a source structure is exported, the PublishLink objects and
the target structures are also exported.

Note
You can also use PublishLink to publish visualization related data from the source to the
target occurrence. To export visualization related information, you need to include rules
that export that information. For example, when a shape is published from an occurrence
of a component, its JT file is added to the target occurrence with the IMANRendering
relation. If you want this information in the PLM XML file, you must add the appropriate
closure rules for exporting this relation.

Closure rules for part/design objects


To export and import part/design objects, add the following closure rules:
• In export transfer mode:
TYPE.PartRevision:TYPE.DesignRevision:RELATIONP2S:TC_Is_Represented_By:TRAVERSE_AND_PROCESS
TYPE.DesignRevision:TYPE.PartRevision:RELATIONS2P:TC_Is_Represented_By:TRAVERSE_AND_PROCESS

• In import transfer mode:


CLASS.Document:CLASS.RepresentedByRelation:CONTENT.*:DO
CLASS.RepresentedByRelation:CLASS.*:CONTENT.*:DO
CLASS.RepresentedByRelation:CLASS.*:ATTRIBUTE.*:DO

Exporting a GRM relation between items and item revisions


You can export a GRM relation between items and item revisions as follows:
• Relation between two items (Item→Item)

• Relation between two item revisions (ItemRevision→ItemRevision)

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-47


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

• Relation between an item and a revision of another item (Item→ItemRevision). For example,
Item1 is a relation of a revision of Item2.

Previously, PLM XML export had some instances where the AssociatedDataSet element was used
to represent the relation. To match the Teamcenter data model, these scenarios are changed to
use the GeneralRelation element.

3-48 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

The following example shows that RevA of Item1 has been related to RevA of Item2 using a
FND_TraceLink GRM.

Item1 Item2
RevA→ FND_TraceLink →RevA

The closure rule clause to export this relation is:


CLASS ItemRevision CLASS ItemRevision RELATIONP2S * PROCESS+TRAVERSE

The exported .xml file looks similar to the following.

The highlighted items show that the GeneralRelation element relates id2 and id11, which represents
the revisions for Item1 and Item2, respectively.

Enable attached information in dataset


By default, forms and external files in a dataset are not exported as PLM XML elements. The
following examples explain how to export forms and external files in a dataset.

Export forms and external files

To export forms and external files in a dataset, add these clauses to the property set:

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-49


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

CLASS.Dataset:Property.ref_names:DO:
CLASS.Dataset:Property.ref_list:DO:

Note
For the forms and external files saved from NX, alternately, the NX ug_clone utility may be
used by setting the PIE_IMF_FOR_CAD preference to a value of NO in PLM XML export.

In this case, all forms and external files in the dataset appear as a PLM XML element, and the related
AssociatedForm elements are added under the DataSet element.
<DataSet id="id8" name="test0917/A" accessRefs="#id4" version="1"
memberRefs="#id12" type="CAEMesh">
<ApplicationRef version="wqbRBu28AABaaA" application="Teamcenter" label="wqbRBu28AABaaA"/>
<AssociatedForm id="id11" role="ref_list" formRef="#id9"/>
<UserData id="id15">
<UserValue value="" title="ref_names">
<UserList id="id13" type="list">
<Item value="UGPART-ATTR"/>
<Item value="FEM_Mesh"/>
</UserList>
</UserValue>
<UserValue value="" title="ref_list">
<UserList id="id14" type="list">
<Item value="id9"/>
<Item value="id12"/>
</UserList>
</UserValue>
</UserData>
</DataSet>
<Form id="id9" name="UGPART-ATTR" accessRefs="#id4" subType="UGPartAttr"
subClass="UGPartAttr">
<Description>This is a form for UGPART</Description>
<ApplicationRef version="wuZRBu28AABaaA" application="Teamcenter" label="wuZRBu28AABaaA"/>
<UserData id="id10" type="FormAttributes">
<UserValue value="" title="assemb_no"/>
<UserValue value="" title="creator"/>
<UserValue value="" title="material"/>
<UserValue value="" title="model"/>
<UserValue value="" title="part_no"/>
<UserValue value="" title="part_type"/>
<UserValue value="" title="task_no"/>
<UserValue value="" title="title"/>
<UserValue type="real" value="" title="weight"/>
</UserData>
</Form>
<ExternalFile id="id12" accessRefs="#id4" locationRef="fixed\cad001.dat" format="dat">
<ApplicationRef version="AXfRBu28AABaaA" application="Teamcenter" label="AXfRBu28AABaaA"/>
</ExternalFile>

Export forms only


To export only forms in a dataset, add this clause to the closure rule and do not use the property
set clause described in the previous example.
CLASS.Dataset:CALSS.Form:ATTRIBUTE.ref_list:TRAVERSE_AND_PROCESS

When exported with this clause, all forms in the dataset appear as PLM XML elements and related
AssociatedForm elements are added under DataSet element. For example:
<DataSet id="id9" name="J60621-A" accessRefs="#id10" version="1" type="UGMASTER">
<ApplicationRef version="xFfNnDPlAABaaA" application="Teamcenter" label="xFfNnDPlAABaaA"/>
<AssociatedForm id="id15" role="ref_list" formRef="#id13"/>
<AssociatedForm id="id18" role="ref_list" formRef="#id16"/>
<AssociatedForm id="id24" role="ref_list" formRef="#id19"/>
<AssociatedForm id="id30" role="ref_list" formRef="#id28"/>
</DataSet>
<Form id="id13" name="UGPART-ATTR" accessRefs="#id10" subType="UGPartAttr"
subClass="UGPartAttr">
<Description>This is a form for UGPART</Description>
<ApplicationRef version="xJaNnDPlAABaaA" application="Teamcenter" label="xJaNnDPlAABaaA"/>
<UserData id="id14" type="FormAttributes">
<UserValue value="" title="assemb_no"/>
<UserValue value="" title="creator"/>
<UserValue value="" title="material"/>
<UserValue value="" title="model"/>

3-50 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

<UserValue value="" title="part_no"/>


<UserValue value="" title="part_type"/>
<UserValue value="" title="task_no"/>
<UserValue value="" title="title"/>
<UserValue type="real" value="" title="weight"/>
</UserData>
</Form>

Enable item revision deep copy import


A PLM XML transfer mode can be configured to revise an item revision during a PLM XML
import. The revised item revision contains objects from the previous item revision using
Teamcenter deep copy rules. The configuration includes a new action rule that uses the COTS
EnableItemRevReviseDeepCopy action handler. By default, PLM XML import only creates objects
defined within the PLM XML file; therefore, the PLM XML file must only contain PLM XML elements
for an item revision, specifically ProductRevision (item revision) and Product (item).
1. In PLM XML/TC XML Export Import Administration, create a new action rule that uses the
EnableItemRevReviseDeepCopy action handler.

Note
Location of Action can be Pre Action or During Action but not Post Action.

2. Modify an existing transfer mode or create a new transfer mode. Add the new action handler
to the List of selected tools list.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-51


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

3. Before the PLM XML import, the 000260 item contains two revisions with attached objects as
shown.

4. Prepare a PLM XML file that only contains ProductRevision (item revision) and Product (item)
elements. The PLM XML file should not contain elements for a dataset or form that is attached to
the item revision. The PLM XML file should not include any ApplicationRef elements.
<?xml version="1.0" encoding="utf-8"?>
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema"
schemaVersion="6" language="en-us" date="2014-10-06" time="15:58:36"
author="Teamcenter V10000.1.0.20_20140617.00 - infodba@IMC--1484631002(-1484631002)">
<Header id="id1" traverseRootRefs="#id2" transferContext="ConfiguredDataExportDefault" />
</Header>
<ProductRevision id="id2" name="ItemRevWithDataset" accessRefs="#id4"
subType="ItemRevision" masterRef="#id7"></ProductRevision>
<Product id="id7" name="ItemRevWithDataset" accessRefs="#id4" subType="Item"
productId="000260" /></Product>

3-52 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

</PLMXML>

5. Import the PLM XML file using the transfer mode that contains the new action handler.
Teamcenter creates the new item revision from the PLM XML file and apply deep copy rules on
all the objects of the latest existing revision to the new item revision.

Exporting owning group information


You can create a closure rule and property set to export the owning group for various types of objects.
However, the output includes all of the roles and volumes associated with that group. In some cases,
this additional information is not appropriate, due to sensitivity issues.
To export the owning group name without all of the roles associated with that group, create an owning
group property on the item revision (as a string) and export that property only.

Exporting folder contents


To export the contents of a folder, use the following closure rule:
CLASS.Folder:CLASS.*:PROPERTY.contents:TRAVERSE+PROCESS

To export only the items in a folder, use the following closure rule:
CLASS.Folder:CLASS.Item:PROPERTY.contents:TRAVERSE+PROCESS

Closure rules for incremental change exports


When creating a custom incremental change (IC) transfer mode, you must include the following
closure rules as a minimum to insure complete and correct IC based delta export:
CLASS.ItemRevision:CLASS.ReleaseStatus:ATTRIBUTE.release_status_list:TRAVERSE+PROCESS
TYPE.EngChangeRevision:CLASS.ReleaseStatus:ATTRIBUTE.release_status_list:TRAVERSE+PROCESS
CLASS.ReleaseStatus:CLASS.Effectivity:ATTRIBUTE.effectivities:TRAVERSE+PROCESS
TYPE.EngChangeRevision:CLASS.Form:RELATIONP2S.IMAN_specification:PROCESS
TYPE.EngChangeRevision:CLASS.Form:RELATIONP2S.IMAN_master_form:PROCESS

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-53


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Export EPMTask and Signoff object properties


A PLM XML export transfer mode can export EPMTask and Signoff objects with the following
properties as attributes, if the values exist:
EPMTask
responsiblePartyRef
activeSurrogateRef
assignerRef
userRef (performer)
Signoff
activeSurrogateRef
assignerRef
userRef (performer)

Create the transfer mode using these closure rule clauses:


CLASS.ItemRevision:CLASS.EPMTask:PROPERTY.process_stage_list:TRAVERSE+PROCESS
CLASS.EPMTask:CLASS.Signoff:PROPERTY.signoff_attachments:TRAVERSE+PROCESS
CLASS.Signoff:CLASS.GroupMember:PROPERTY.active_surrogate:TRAVERSE+PROCESS

Create the transfer mode using these property set clauses:


CLASS.Signoff:Property.object_name:DO:
CLASS.Signoff:Property.signoff_type:DO:
CLASS.Signoff:Property.fnd0Assignee:DO:
CLASS.EPMTask:Property.object_string:DO:
CLASS.EPMTask:Property.object_name:DO:
CLASS.EPMTask:Property.root_target_attachments:DO:
CLASS.EPMTask:Property.fnd0Assignee:DO:

Closure rule creation example


Create closure rule example
The following series of topics provides an example of how you can build a custom PLM XML
closure rule to traverse a simple BOM structure. The steps include exporting the various parts
of a BOM, including the BOM window top line, child lines, attachments, datasets, and item
revisions. You can modify this example to match your closure rule needs. The default closure rule
ConfiguredDataExportDefault may not be an ideal choice if you are traversing a large structure, as
it traverses through many objects and relations.

Note
This example assumes you have basic Teamcenter data modeling knowledge of how a
BOM structure is constructed and the underlying relations between Teamcenter objects.

3-54 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

The following is a simple BOM structure displayed in Structure Manager. Note that some of the
BOM lines also have datasets.

Only one structure should be specified to be exported at a time. This is applicable for the export from
the Teamcenter rich client, the plmxml_export utility, as well as the PIE_session_export_objects
ITK function.

Step 1: Create session rules


When you export data, it is placed in the target_list property of the PIESession object. PIESession is
a runtime object that holds the entire session information of an export or import.
• To ensure that all target objects set to the PIESession are processed and traversed, create the
following closure rules. For step-by-step instructions, see Create closure rules.
TYPE.PIESession:CLASS.* : PROPERTY.target_list : TRAVERSE_AND_PROCESS:
TYPE.PIESession:TYPE.* : PROPERTY.target_list : TRAVERSE_AND_PROCESS:

Note
The TRAVERSE and PROCESS actions can be combined by using the shift key.

This example shows a simple closure rule with these two clauses.

Step 2: Create a traversal rule to export the BOM window top line
Once you have the session rules created, you begin creating the closure rules to export the BOM lines.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-55


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

• To traverse the top line by the top_line property of BOM window, create the following closure rule:
TYPE.BOMWindow:TYPE.*:PROPERTY.top_line:TRAVERSE_AND_PROCESS:

With this closure rule, the export includes the BOM window and top line:

Step 3: Create traversal rules to export child lines of a BOM line


1. Traverse child lines by using the bl_all_child_lines property of parent lines:
CLASS.ImanItemLine : TYPE.* :PROPERTY.bl_all_child_lines:TRAVERSE_AND_PROCESS:

2. Add a conditional clause for two specific cases:


• To prevent this rule from applying to the BOP window, add this:
PRIMARY.bl_window_is_BOPWin=="false"

• When an intermediate line in a BOM structure is selected for export, you export the entire
sub-assembly below the selected line and parent lines all the way to the top (referred to as
“BOM crawl back”). This provides the context of the BOM line with respect to the parent,
or top line. During crawl back mode, traversing to the children exports the siblings of the
selected line, resulting in a full BOM export. To prevent a full BOM export, add this:
$bom_cb != "1"

This ensures that the child lines are traversed only when the export is not in crawl back mode.
The bom_cb option is set to 1 internally by the PLM XML framework whenever the traversal is
backward.

The entire closure rule clause appears as:


CLASS.ImanItemLine : TYPE.* :PROPERTY.bl_all_child_lines:TRAVERSE_AND_PROCESS:
$bom_cb != "1" && PRIMARY.bl_window_is_BOPWin=="false"

With this closure rule, the export includes the BOM window and all BOM lines. Each occurrence
element has occurrenceRefs pointing to its child lines.

3-56 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Step 4: Create traversal rules to export attachments of a BOM line


1. Use the bl_attachments property as follows to export the attachments of a BOM line such as
forms and datasets:
CLASS.ImanItemLine : TYPE.* : PROPERTY.bl_attachments:TRAVERSE_AND_PROCESS:

2. To limit the attachments to the Dataset, Form, and Folder types and exclude the BOP window
cases, add these clauses:
SECONDARY.al_source_class=="Dataset"
SECONDARY.al_source_class=="Form"
SECONDARY.al_source_class=="Folder"
PRIMARY.bl_window_is_BOPWin=="false"

The entire closure rule appears as follows:


CLASS.ImanItemLine : TYPE.* : PROPERTY.bl_attachments:TRAVERSE_AND_PROCESS:
SECONDARY.al_source_class=="Dataset" && PRIMARY.bl_window_is_BOPWin=="false"
CLASS.ImanItemLine : TYPE.* : PROPERTY.bl_attachments:TRAVERSE_AND_PROCESS:
SECONDARY.al_source_class=="Form" && PRIMARY.bl_window_is_BOPWin=="false"
CLASS.ImanItemLine : TYPE.* : PROPERTY.bl_attachments:TRAVERSE_AND_PROCESS:
SECONDARY.al_source_class=="Folder" && PRIMARY.bl_window_is_BOPWin=="false"

With this closure rule, the export includes the attachments. The attachment references for each
occurrence point to AssociatedAttachment element. These elements then point to actual
attachment object using attachmentRef (form or dataset).

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-57


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Step 5: Create traversal rules to export child attachment lines


An attachment line can be attached to another attachment line as a child line.
• To include all attachment lines, use a closure rule like this:
TYPE.CfgAttachmentLine : TYPE.CfgAttachmentLine : PROPERTY.me_cl_child_lines:
TRAVERSE_AND_PROCESS:((SECONDARY.al_source_class!="PseudoFolder") &&
(SECONDARY.al_context!= "IMAN_PublishingPageAssetContext"))

This closure rule includes two conditions for the following purposes:
• To prevent traversing child lines under a PseudoFolder, as it is a runtime object that cannot
be used for traversal.

• To prevent child attachment lines with the relation IMAN_PublishingPageAssetContext. Child


attachment lines may introduce circular links causing infinite traversal loops. Specifying the
relation in the conditional clause prevents the circular links.

3-58 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

Step 6: Create traversal rules to export the actual attachment object


After you have created the closure rules to export attachment lines, you can create the closure
rules to export the actual attachment objects.
• Use the me_cl_source property to include the actual attachment object, such as a dataset or
form, in the export from an attachment line, as follows:
TYPE.CfgAttachmentLine : CLASS.Dataset:
PROPERTY.me_cl_source : TRAVERSE_AND_PROCESS:

Step 7: Create traversal rules to export dataset named references (ImanFile)


• Use these two clauses to export dataset named references that are ImanFiles:
CLASS.Dataset:CLASS.ImanFile:ATTRIBUTE.ref_list:TRAVERSE_AND_PROCESS:
CLASS.ImanFile:CLASS.*:ATTRIBUTE.original_file_name:PROCESS:

The first clause traverses the ImanFile named references of a dataset. In some cases, the named
references can point to forms and other types, but they cannot be traversed using the clause. You can
use CLASS * to traverse to all named references of a dataset; however, the export result depends on
whether or not the underlying named reference is supported in the PLM XML schema.
The second clause is a special clause that triggers the actual physical file export from a volume to
the export directory:
With these traversal rules, the related dataset is exported:

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-59


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Step 8: Create a traversal rule to traverse to an item revision


• Export the underlying configured revision for each BOM line of the assembly using the following
clause:
CLASS.ImanItemLine:TYPE.*:PROPERTY.bl_revision:
TRAVERSE_AND_PROCESS: PRIMARY.bl_window_is_BOPWin=="false"

The condition clause at the end prevents this rule from applying to the BOP window. The export
includes the item revision related to the BOM line. The item is also exported, as the item revision
must be included with the item.

Step 9: Create a traversal rule to traverse to an item from an item revision


• Use this closure rule to explicitly specify that an item be exported when its item revision is
exported:

3-60 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

CLASS.ItemRevision:CLASS.Item:PROPERTY.items_tag:TRAVERSE_AND_PROCESS:

Step 10: Create a traversal rule to traverse to a dataset from an item revision
1. When a dataset is added to an item revision, define one kind of relationship; for example, if you
add a dataset, the default relationship is the IMAN specification.

2. Traverse the dataset by specifying the relation in a closure rule:


CLASS.ItemRevision:CLASS.Dataset:PROPERTY.IMAN_specification:
TRAVERSE_AND_PROCESS:

The export includes the relation between the item revision and the dataset:

Step 11: Review the closure rule example file


When you combine all of the clauses in the preceding example topics, the closure rule appears
like this:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<TCXML xmlns="http://www.tcxml.org/Schemas/TCXMLSchema" format="high_level">
<ClosureRule name="BOMExportWithFiles"
clauses="TYPE.PIESession:CLASS.* : PROPERTY.target_list :
TRAVERSE_AND_PROCESS:,
TYPE.PIESession:TYPE.* : PROPERTY.target_list :
TRAVERSE_AND_PROCESS:,
TYPE.BOMWindow:TYPE.*:PROPERTY.top_line:PROCESS+TRAVERSE:,
CLASS.ImanItemLine :TYPE.*:PROPERTY.bl_all_child_lines:
PROCESS+TRAVERSE: $bom_cb != &quot;1&quot; &amp;&amp;

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-61


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

PRIMARY.bl_window_is_BOPWin==&quot;false&quot;,
CLASS.ImanItemLine :TYPE.*:PROPERTY.bl_attachments:
PROCESS+TRAVERSE:SECONDARY.al_source_class==&quot;Dataset&quot;
&amp;&amp; PRIMARY.bl_window_is_BOPWin==&quot;false&quot;,
CLASS.ImanItemLine :TYPE.*:PROPERTY.bl_attachments:
PROCESS+TRAVERSE:SECONDARY.al_source_class==&quot;Form&quot;
&amp;&amp; PRIMARY.bl_window_is_BOPWin==&quot;false&quot;,
CLASS.ImanItemLine :TYPE.*:PROPERTY.bl_attachments:
PROCESS+TRAVERSE:SECONDARY.al_source_class==&quot;Folder&quot;
&amp;&amp;PRIMARY.bl_window_is_BOPWin==&quot;false&quot;,
TYPE.CfgAttachmentLine:TYPE.CfgAttachmentLine:
PROPERTY.me_cl_child_lines:PROCESS+TRAVERSE:
((SECONDARY.al_source_class!=&quot;PseudoFolder&quot;)
&amp;&amp;(SECONDARY.al_context!=&quot;IMAN_PublishingPageAssetContext&quot;)),
TYPE.CfgAttachmentLine:CLASS.Dataset:PROPERTY.me_cl_source:
PROCESS+TRAVERSE:,
CLASS.Dataset:CLASS.ImanFile:ATTRIBUTE.ref_list:PROCESS+TRAVERSE:,
CLASS.ImanFile:CLASS.*:ATTRIBUTE.original_file_name:PROCESS:,
CLASS.ImanItemLine:TYPE.*:PROPERTY.bl_revision:PROCESS+TRAVERSE:,
CLASS.ItemRevision:CLASS.Item:PROPERTY.items_tag:PROCESS+TRAVERSE:,
CLASS.ItemRevision:CLASS.Dataset:PROPERTY.IMAN_specification:
PROCESS+TRAVERSE: "
description="This closure rule can export a simple BOM structure with
corresponding Item, Rev, Datasets, Forms, Files and BOMLine attachments."
elemId="id6"
owning_site="#id2"
schema_format="0"
scope="0">
<GSIdentity elemId="id5"
label="Q2H90lAIAABaaA"/>
</ClosureRule>

<Group elemId="id8"
list_of_role="#id7"
name="dba"
owning_site="#id2">
<GSIdentity elemId="id4"
label="AkH9DZ$9AABaaA"/>
</Group>

<POM_imc elemId="id9"
name="tc10ms1"
owning_site="#id2"
site_id="100001">
<GSIdentity elemId="id2"
label="w9F9DZeHAABaaA"/>
</POM_imc>

<TransferMode object_name="BOMExportWithFiles"
object_desc="This TransferMode can export a simple BOM structure
with corresponding Item, Rev, Datasets, Forms, Files and BOMLine attachments."
context_string="DEFAULT_PIE_CONTEXT_STRING"
direction="0"
closure_rules="#id5"
filters=""
action_list=""

3-62 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer mode objects

prop_sets=""
config_objs=""
schema_format="0"
incremental="Y"
multi_site="N"
elemId="id10"
gov_classification=""
ip_classification=""
license_list=""
owning_site="#id2"
project_list="" >
<GSIdentity elemId="id1"
label="gDH90qy0AABaaA"/>
</TransferMode>

<User elemId="id11"
owning_site="#id2"
user_id="infodba">
<GSIdentity elemId="id3"
label="AsL9DZ$9AABaaA"/>
</User>

<Role elemId="id12"
owning_site="#id2"
role_name="DBA">
<GSIdentity elemId="id7"
label="AgD9DZ$9AABaaA"/>
</Role>

<Header author="infodba"
date="2012-02-27"
elemId="id13"
originatingSite="100001"
targetSite=""
time="22:03:34"
version="Teamcenter P10000.0.0.20120209.00">

<TransferFormula elemId="id14">
<SessionOptions elemId="id15">
<Option elemId="id16"
name="is_scope_rules_export"
value="yes"/>
</SessionOptions>
<TransferMode elemId="id17"
gov_classification=""
ip_classification=""
license_list=""
object_name="PLMXMLAdminDataExport"
owning_site="id2"
project_list=""/>
<Reason elemId="id18"></Reason>
</TransferFormula>
<TraverseRootRefs>#id1</TraverseRootRefs>
</Header>
</TCXML>

PLM00030 12.1 PLM XML/TC XML Export Import Administration 3-63


Chapter
Chapter 3: 3: Working
Working with transfer
with transfer modemode objects
objects

Step 12: Create a property set

A property set is often used to export additional properties of an object that are not exported by
the PLM XML framework by default. For example, the PLM XML export does not export the
last_mod_date on an item revision by default, but this can be exported using a property set.

• Create a property set as follows to export a BOMLine property that is not exported by default:

Note
Property set clauses do not use the CLASS hierarchy for the CLASS qualifier, so to
have a property on a given object exported, the object’s class name or type name
should match with the property set clause’s primary object name (second column).

The bl_item_fnd0objectId is exported as follows:

3-64 PLM XML/TC XML Export Import Administration PLM00030 12.1


Chapter 4: Working with transfer option sets

What are transfer option sets?


Transfer option sets are created in PLM XML/TC XML Export Import Administration and are used
with Data Exchange to move data between Teamcenter and Teamcenter Enterprise (Teamcenter
Enterprise) sites.
Transfer option sets are made up of the following items that configure the import or export operation.

Item Description
Name Specifies the name of the transfer option set.
Description Describes the transfer option set.
Remote site information Shows whether the transfer option set is for a remote site, thus an
import. If so, its remote site ID is included. The transfer mode is
defined at the remote site.
Transfer mode Contains the set of rules that configure export operations if a remote
site is not selected.
• Closure rules
The scope of the data translation.

• Filter rules
Use conditions that apply a finer level of control over which data
gets translated along with the primary objects.

• Action rules
Sets of methods that can be called before, during, and after the
translation.

• Property sets
A mechanism for PLM XML objects to have arbitrary properties in
the form of UserData elements.
Options Displays all unique options in the closure rule conditional clauses for
the selected transfer mode.

The Teamcenter administrator can set application extension points and rules along with a business
context to restrict the use and administration of transfer option sets to certain roles or groups. The
inputs for the application extension point are SiteID (string), IsPush (logical), and IsExport (logical).
The output is OptionSet_Name (string). The Teamcenter administrator then defines application
extension rules to display which option sets are available for a given site ID for an import or export.
The business context determines which roles or groups are associated with a particular rule.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 4-1


Chapter
Chapter 4: 4: Working
Working with transfer
with transfer option
option sets sets

Create transfer option sets


1. Choose the TransferOptionSet node (located in the lower left pane of the PLM XML/TC XML
Export Import Administration window).
The system displays the TransferOptionSet pane.

2. Type a unique name for the transfer option set in the Name box. This name should clearly
identify the context to the user. For remote site sets, append the site name to the end of the
name to maintain uniqueness.

3. Type a description of the transfer option set in the Description box.

4. If this transfer option set is for a remote site (in other words, an import), select the Is the option
set for a Remote Site? check box.

Note
A remote transfer option set is normally imported from a remote site to ensure that it
matches the transfer option set at your site. Although you can create a remote site
transfer option set on your site and manually synchronize it to the remote site, Siemens
PLM Software recommends that you use the import and export utilities (in Teamcenter,
they are tcxml_import and tcxml_export, respectively) to ensure your remote transfer
option set is the same at both sites. Once a transfer option set is imported, you must
not change the transfer option set name or site reference. However, you can add or
remove options as long as the transfer option set at the remote site is updated to
reflect the changes you make.

5. If you selected the Is the option set for a Remote Site? check box, select the remote site from
the Remote Site ID list. If the check box is cleared, select the transfer mode you want to use
for the export in the TransferMode list. The transfer mode you select must have TC XML as
its output schema format.

6. If you select a transfer mode, the Option list is filled with all unique options in the closure rule
conditional clauses associated with the transfer mode. The columns in the list are:
• Option
Specifies the name of the option in the closure rule conditional clauses.

• Display Name
Specifies the display name given by the user.

• Default Value
Displays the value of the option. It is either True, False, or $opt_rev_select, which contains
a list of possible revision selector values.

• Description
Displays the brief description given by the Teamcenter administrator.

• Group Name

4-2 PLM XML/TC XML Export Import Administration PLM00030 12.1


Working with transfer option sets

Displays the group name given by the Teamcenter administrator to help sort the options
in appropriate categories.

• Read Only
Shows if the user can change the option values. If it is cleared, the user is allowed to change
values. This is set by the Teamcenter administrator.

If the set is for a remote site, the Option list is blank, but you can add options for the set. If you
add options, export the set to the remote site when you are finished.
Optionally, the Teamcenter administrator can delete an option by selecting it and clicking the
button to right of the Option list or add an option by clicking the button.
Optionally, the Teamcenter administrator can change the precedence of the options by selecting
a row in the table and using the or buttons to the right of the Option list.

7. Click the Create button.


The system saves the transfer option set to the database and it is displayed in the
TransferOptionSet node.

Edit transfer option sets


You can edit transfer option sets by adding, removing, or changing the options or transfer mode
that define the set.
1. Select the node in the TransferOptionSet branch that corresponds to the set you want to edit.

2. Modify the definition by changing options, as described in Create transfer option sets, or by
changing the transfer mode. You cannot modify the name in the Option box if that option came
from a closure rule. You can only modify user-defined option names.

3. Click the Modify button.


The system saves the changes to the database.

Delete transfer option sets


1. Select the node in the TransferOptionSet branch that you want to delete.

2. Click the Delete button.


The system displays the Delete Confirmation dialog box.

3. Click the Yes button to delete the set, or click the No button to cancel.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 4-3


Chapter 5: Performing PLM XML delta imports

Delta import overview


PLM XML delta import is typically used for importing modifications of objects previously imported.
Delta information is represented using delta XML, which is based on standard PLM XML schema
and PLM XML delta schema.
The root element of any delta XML is a PLMXMLDelta element.
PLM XML delta import supports the following operations on objects. Accordingly, for each operation
PLM XML delta schema defines different elements.

Operation Delta schema element


add Add
modify Modify
replace Replace
delete Delete

Each element has some attributes to indicate its existing context and the target objects on which the
operation is performed. The ApplicationRef element in PLM XML is widely used in delta XML to
identify a certain object. The object can be an existing object in the target system. A delta schema
provides the ExternalReference element as a parent wrapper for the ApplicationRef element to
represent an object in the target system, which can be referred by delta operation elements. A user
can export the master objects in PLM XML format to obtain the ApplicationRef elements and then
construct a delta XML to make changes to the objects.
The COTS incremental_import transfer mode can be used for importing a delta XML file. A user can
also configure a new transfer mode if needed.

Using the Add element


New objects can be added to the system by using the delta import Add element. The new objects
must be represented as subelements of the Add element. A user can add the objects that are
supported by normal PLM XML import under the Add element.
Following are examples of how to use the Add element:
• Add a new item with Dataset attached to its item revision:
<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<Add id="id1">
<ProductRevision id="id2" revision="A" masterRef="#id7" subType="ItemRevision"
name="delta_add_rev">
<AssociatedDataSet role="IMAN_specification" id="id9" dataSetRef="#id8" />
</ProductRevision>
<Product id="id7" subType="Item" name="delta_add_item" productId="001" />
<DataSet id="id8" accessRefs="#id4" name="delta_add_ds" version="1" type="Bitmap" />
</Add>
</PLMXMLDelta>

PLM00030 12.1 PLM XML/TC XML Export Import Administration 5-1


Chapter
Chapter 5: 5: Performing
Performing
PLM PLM
XML XML
deltadelta imports
imports

• Add a new BOM line to an existing BOM line by referring to an existing product revision:
<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id4" type="Occurrence">
<!-- ApplicationRef of the target/parent BOMLine to which the child BOMLine is added -->
</ExternalReference>
<ExternalReference id="id3" type="ProductRevision">
<!-- ApplicationRef of the ItemRevision referred by the new BOMLine -->
</ExternalReference>
<Add id="id1">
<Occurrence id="id2" instancedRef="#id3" parentRef="#id4">
<UserData id="id5" type="AttributesInContext">
<UserValue title="OccurrenceName" value="delta_add" />
</UserData>
</Occurrence>
</Add>
</PLMXMLDelta>

• Attach a form to an item revision:


<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id10" type="ProductRevision">
<!-- ApplicationRef of the target/parent ItemReivsion to which the new Form is added -->
<AssociatedForm role="IMAN_specification" id="id12" formRef="#id11" />
</ExternalReference>
<Add id="id13">
<Form id="id11" subType="CSYS Interface Form" name="my form" subClass="CSYS Interface Form">
<UserData id="id17" type="FormAttributes">
<UserValue title="Description" value="" />
<UserValue title="Name" value="" />
<UserValue title="Status" value="" />
<UserValue title="Type" value="" />
</UserData>
</Form>
</Add>
</PLMXMLDelta>

• Attach a dataset to an existing item revision:


<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id10" type="ProductRevision">
<!-- ApplicationRef of the target/parent ItemReivsion to which the new Dataset is added -->
<AssociatedDataSet role="IMAN_specification" id="id12" dataSetRef="#id11" />
</ExternalReference>
<Add id="id13">
<DataSet id="id11" name="my dataset" version="1" type="Bitmap" />
</Add>
</PLMXMLDelta>

Using the Modify element


Modify element overview
The Modify element includes the following operations and an attribute named op. The table shows
the valid values for op.

Modify operations op valid values


Add attribute values add
Remove values from an attribute remove
Replace attribute values replace
Delete attribute values delete
Modify the UserData element modifyUserData

5-2 PLM XML/TC XML Export Import Administration PLM00030 12.1


Performing PLM XML delta imports

The targetRef attribute of the Modify element points to the object to be modified. The object is an
existing object represented by the ExternalReference element.
The attributeName attribute of the Modify element is the attribute on the target object whose value is
to be modified.
The values or valueRefs attributes of the Modify element is the value to be set on the target attribute.
The attribute is defined on the target object in PLM XML schema, not the attribute in Teamcenter.
The UserData element under the Modify element contains the information to be set on the target
object. This can be used for modifying Teamcenter object properties, especially for those not defined
as object attributes in PLM XML schema.

Modify element with the add operation


The add operation adds new objects as an attribute value to another object. The target object can be
an existing one or a new one to be created in the delta import session. Similarly, the attribute value
for new objects can refer to existing objects or other newly added objects. For structure modification,
the operation can add child BOM lines or add attachment lines.
Following are examples of how to use the Modify element with the add operation:
• Add a new child BOM line to an existing BOM line by referring to an existing item revision:
<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<Modify targetRef="#id10" attributeName="occurrenceRefs" op="add" valueRefs="#id3" />
<Add>
<ProductInstance id="id20" sequenceNumber="1020" partRef="#id21" />
<ProductRevisionView id="id21" revisionRef="#id101" />
<Occurrence id="id3" parentRef="#id10" instancedRef="#id101" instanceRefs="#id20" />
</Add>
<ExternalReference id="id10" type="Occurrence">
<!-- ApplicationRef of the BOMLine under which the new BOMLine will be aded. -->
</ExternalReference>
<ExternalReference id="id101" type="ProductRevision">
<!-- ApplicationRef of the ItemRevision referred by the new BOMLine -->
</ExternalReference>
</PLMXMLDelta>

• Add a dataset attachment line to a BOM line:


<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<Add>
<DataSet id="id1" name="add_ds" memberRefs="#id7" type="Text" />
<ExternalFile id="id7" locationRef="123.txt" format="txt" />
<AssociatedAttachment id="id5" attachmentRef="#id1" role="IMAN_specification" />
</Add>
<Modify attributeName="associatedAttachmentRefs" targetRef="#id6" op="add" valueRefs="#id5" />
<ExternalReference id="id6" type="Occurrence">
<!-- ApplicationRef element of the BOMLine under which the new Dataset will be attached. -->
</ExternalReference>
</PLMXMLDelta>

• Add objects to a folder:


<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id10" type="Folder">
<!-- ApplicationRef element of the Folder under which objects will be added. -->
</ExternalReference>
<ExternalReference id="id11" type="Folder">
<!-- ApplicationRef element of the Folder to be added to the other folder. -->
</ExternalReference>
<Add>
<ProductRevision id="id20" subType="Item Revision" revision="A" masterRef="#id21" />
<Product id="id21" subType="Item" productId="0011" name="my added part" />
</Add>
<Modify targetRef="#id10" attributeName="folderContentRefs" op="add" valueRefs="#id11 #id21" />
</PLMXMLDelta>

PLM00030 12.1 PLM XML/TC XML Export Import Administration 5-3


Chapter
Chapter 5: 5: Performing
Performing
PLM PLM
XML XML
deltadelta imports
imports

Modify element with the remove operation


The remove operation removes an attribute value. This can be used to remove an attachment line
from a BOM line, remove an ImanFile instance from a dataset, or remove objects from folder content.
The remove operation will remove the reference relation between the objects. To remove a BOM line
from its parent BOM line, the delta import delete operation can be used.

Note
To clean up the referenced persistent objects from the database, use the delta delete
operation.

Following are examples of how to use the Modify element with the remove operation.
• Remove an attachment line from a BOM line:
<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id7" type="AssociatedAttachment">
<!-- ApplicationRef element of the Attachment Line to be removed. -->
</ExternalReference>
<ExternalReference id="id3" type="Occurrence">
<!-- ApplicationRef element of the BOMLine whose attachment line will be removed. -->
</ExternalReference>
<Modify targetRef="#id3" attributeName="associatedAttachmentRefs" op="remove" valueRefs="#id7" />
</PLMXMLDelta>

• Remove an ImanFile instance from a dataset:


<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<Modify targetRef="#id10" attributeName="memberRefs" valueRefs="#id11" op="remove" />
<ExternalReference id="id10" type="DataSet">
<!-- ApplicationRef element of the Dataset whose ImanFile will be removed. -->
</ExternalReference>
<ExternalReference id="id11" type="ExternalFile">
<!-- ApplicationRef element of the ImanFile to be removed. -->
</ExternalReference>
</PLMXMLDelta>

• Remove objects from a folder:


<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id10" type="Folder">
<!-- ApplicationRef element of the Folder under which objects will be removed. -->
</ExternalReference>
<Modify targetRef="#id10" attributeName="folderContentRefs" op="remove"
valueRefs="#id11 #id12" />
<ExternalReference id="id11">
<!-- ApplicationRef element of the object to be removed from the Folder. -->
</ExternalReference>
<ExternalReference id="id12">
<!-- ApplicationRef element of the object to be removed from the Folder. -->
</ExternalReference>
</PLMXMLDelta>

Modify element with the replace operation


The replace operation replaces a simple attribute value or object reference type value. A BOM line
transformation can also be modified by using the replace operation. When replacing an object
reference type value, the Replace element is used. The targetRef value of each Replace element
constructs the valueRefs value of the Modify element.
Following are examples of how to use the Modify element with the replace operation.
• Replace an item name:

5-4 PLM XML/TC XML Export Import Administration PLM00030 12.1


Performing PLM XML delta imports

<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"


author="unset" time="12:00:00" date="2013-04-26">
<Modify op="replace" attributeName="name" targetRef="#id31" values="my new part name" />
<ExternalReference type="Product" id="id31">
<!-- ApplicationRef element of the Item whose name will be replaced. -->
</ExternalReference>
</PLMXMLDelta>

• Replace BOM line transformation:


<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference select="Transform" type="Occurrence" id="id26">
<!-- ApplicationRef element of the BOMLine whose transformation will be replaced. -->
</ExternalReference>
<Modify targetRef="#id26" op="replace">2 0 0 0 0 2 0 0 0 0 2 0 0 0 0 1</Modify>
</PLMXMLDelta>

• Replace the objects of the folder content.


<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="5.1"
date="2006-12-20" time="15:05:14" author="blum">
<ExternalReference id="id2" type="Folder">
<!-- ApplicationRef element of the Folder whose containing objects will be replaced. -->
</ExternalReference>
<Modify op="replace" attributeName="folderContentRefs" targetRef="#id2"
valueRefs="#id31 #id41" />
<Replace id="id3" targetRef="#id31">
<Product id="id32" name="test001" subType="Item" productId="001">
<UserData>
<UserValue title="object_desc" value="delta_replace_test001" />
</UserData>
</Product>
</Replace>
<ExternalReference id="id31" type="Product">
<!-- ApplicationRef element of the Item under the Folder to be replaced. -->
</ExternalReference>
<Replace id="id4" targetRef="#id41">
<DataSet id="id21" name="test002" version="1" type="Bitmap">
<Description>delta_replace_test002</Description>
</DataSet>
</Replace>
<ExternalReference id="id41" type="Product">
<!-- ApplicationRef element of the Item under the Folder to be replaced. -->
</ExternalReference>
</PLMXMLDelta>

Modify element with the delete operation


The values or valueRefs attribute are omitted if the op value is delete. The target attribute value
is set as empty.
• Following is an example of how to modify the Folder instance by deleting Folder content:
<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id2" type="Folder">
<!-- ApplicationRef element of the Folder whose content will be deleted. -->
</ExternalReference>
<Modify id="id1" targetRef="#id2" op="delete" attributeName="folderContentRefs" />
</PLMXMLDelta>

Modify element with the ModifyUserData operation


The attributeName attribute is omitted if the op value is modifyUserData. The UserData element
under the Modify element contains the information to be set on the target object. This can be used
for modifying Teamcenter object properties, especially for those not defined as object attributes
in PLM XML schema.
Following are examples of how to use the Modify element with the modifyUserData operation.
• Modify user data for a product (Item instance):

PLM00030 12.1 PLM XML/TC XML Export Import Administration 5-5


Chapter
Chapter 5: 5: Performing
Performing
PLM PLM
XML XML
deltadelta imports
imports

<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"


author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id5" type="Product">
<!-- ApplicationRef element of the Item whose properties will be modified. -->
</ExternalReference>
<Modify targetRef="#id5" op="modifyUserData">
<UserData id="id2">
<UserValue title="object_desc" value="modified" />
</UserData>
</Modify>
</PLMXMLDelta>

• Modify user data for an occurrence (BOMLine instance):


<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id2" type="Occurrence">
<!-- ApplicationRef element of the BOMLine whose properties will be modified. -->
</ExternalReference>
<Modify id="id1" targetRef="#id2" op="modifyUserData">
<UserData id="id3" type="AttributesInContext">
<UserValue title="SequenceNumber" value="20" />
<UserValue title="OccurrenceName" value="modify_userdata" />
<UserValue title="Quantity" value="2" />
</UserData>
</Modify>
</PLMXMLDelta>

• Modify user data for a form:


<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id5" type="Form">
<!-- ApplicationRef element of the Form whose properties will be modified. -->
</ExternalReference>
<Modify targetRef="#id5" op="modifyUserData">
<UserData id="id2" type="FormAttributes">
<UserValue title="item_comment" value="modified" />
<UserValue title="user_data_1" value="1" />
<UserValue title="user_data_2" value="2" />
</UserData>
</Modify>
</PLMXMLDelta>

Using the Replace element


The delta Replace operation replaces an existing object with a new object. The reference relations
on the existing object are switched to the new object. The targetRef attribute of the Replace element
is a URI that points to a single ExternalReference element, which is used to identify the object to
be replaced. The child element of the Replace operation is the replacement object. Each Replace
operation element can process one object only.

Note
The replaced object remains in the database and is not deleted by the delta import.

• Following is an example of how to use the Replace element to replace an object with an item:
<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id1">
<!-- ApplicationRef element of the object to be replaced. -->
</ExternalReference>
<Replace id="id2" targetRef="#id1">
<Product id="id3" name="test003" subType="Item" productId="003">
<UserData>
<UserValue title="object_desc" value="delta_replace_test" />
</UserData>
</Product>
</Replace>
</PLMXMLDelta>

5-6 PLM XML/TC XML Export Import Administration PLM00030 12.1


Performing PLM XML delta imports

Using the Delete element


The delta Delete operation is used to delete specific objects from the database. The targetRefs
attribute of the Delete operation element indicates the URIs of the ExternalReference elements to
be deleted. The target objects can be a BOM line, a folder, a dataset, a form, an item, or other objects
that are supported in normal PLM XML export/import.
• Following is an example of how to use the Delete element to delete a BOM line:
<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference id="id1" type="Occurrence">
<!-- ApplicationRef element of the object to be deleted. -->
</ExternalReference>
<Delete id="id2" targetRefs="#id1" />
</PLMXMLDelta>

Specify a revision rule in delta XML


The revision rule can be applied on the target BOM window during delta import. The syntax uses
XPath (XML path language) to specify the revision rule on the ExternalReference element for an
existing BOM line. Only one revision rule can be specified in a delta XML file.
• Following is an example of how to delete a BOM line in the context of a given revision rule:
<PLMXMLDelta xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
author="unset" time="12:00:00" date="2013-04-26">
<ExternalReference type="RevisionRule" id="r1">
<!-- ApplicationRef element of the Revision Rule to be applied on the target BOM Window. -->
</ExternalReference>
<ExternalReference type="Occurrence" id="d32e7o"
select="/PLMXMLDelta/ExternalReference[@type='RevisionRule']">
<!-- ApplicationRef element of the BOMLine object to be deleted. -->
</ExternalReference>
<Delete targetRefs="#d32e7o"/>
</PLMXMLDelta>

PLM00030 12.1 PLM XML/TC XML Export Import Administration 5-7


Chapter 6: Customizing PLM XML import/export extensions

Available customization points

You can use extensions points to customize the import and export of PLM XML files. The following
customization points are available:

Operation name (as listed


Business in the Business Modeler ITK PIE registration
object IDE) function Description
PLM XML BMF_PLMXML_ PIE_register_user_ Allows you to register
register_filter filter custom filter rules used
during import/export. To
call this extension point,
define a filter rule in PLM
XML/TC XML Export Import
Administration and use the
filter in the TransferMode
definition. This function
is called every time the
specific object of interest is
encountered.
PLM XML BMF_PLMXML_ PIE_register_user_ Allows you to register custom
register_actions action action rules used before,
during, or after import/export.
To call this extension point,
define an action rule in PLM
XML/TC XML Export Import
Administration and use the
action in the TransferMode
definition.
PLM XML BMF_PLMXML_ PIE_register_user_ Allows you to register
register_export_ methods custom export methods.
methods This function overrides the
default export method and is
called if the specific context
is used. This function must
provide the export code for
the mapped object.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-1


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

Operation name (as listed


Business in the Business Modeler ITK PIE registration
object IDE) function Description
PLM XML BMF_PLMXML_ PIE_register_user_ Allows you to register
register_import_ methods custom import methods.
methods This function overrides the
default import method and is
called if the specific context
is used. This function must
provide the import code.
PLM XML BMF_PLMXML_ PIE_register_user_ Allows you to map
register_schema_ schema Teamcenter and PLM
mappings XML objects. It is applicable
for exports (import mapping
uses PLM XML subType
attribute).

Following is the order user extensions are called when exporting a PLM XML file:
1. pre-action

2. Export process
• Filters

• User methods

3. during-action (PLM XML file not saved; XML document loaded)

4. xslt (optional)

5. post-action

Following is the order user extensions are called when importing a PLM XML file:
1. pre-action

2. xslt (optional)

3. Load/parse the PLM XML document

4. during-action

5. Import process
• Filters

• User methods

6. post-action

6-2 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

To begin, you must create a Business Modeler IDE project using the foundation template. The project
name used in this example is PLMXMLUserExt, and it uses a prefix of G4.

Set up the Business Modeler IDE PLM XML extension


1. In the Business Modeler IDE, open the Advanced perspective by choosing Window→Open
Perspective→Other→Advanced.

2. Create a new library using the following options.

3. Add the pie dependency.


This adds the PLM XML library.

4. Click Finish.

5. In the Business Modeler IDE Extensions view, choose Rules→Extensions. Right-click


Extensions and choose New Extension Definition.

6. Type G4PLMXMLUserExt as the extension name and click Add.

7. Complete the New Extension Availability dialog box.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-3


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

8. Add a new extension availability for filters and export methods.


The New Extension Definition dialog box should look as follows:

9. Click Finish.
The Extensions view shows the new extension.

10. In the Extensions view, expand User Exits and double-click PLMXML.

11. Expand the Operations folder and select BMF_PLMXML_register_actions. Add


G4PLMXMLUserExt to the Base-Action list.

12. Add G4PLMXMLUserExt to the Base-Action list for the BMF_PLMXML_filter_registrations


and BMF_PLMXML_register_export_methods operations.

13. Save the data model by choosing File→Save Data Model.

6-4 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

Generate the Business Modeler IDE PLMXML extension code


1. In the Business Modeler IDE, open the Advanced perspective by choosing Window→Open
Perspective→Other→Advanced.

2. In the Extensions view, right-click G4PLMXMLUserExt and choose Generate extension code.

3. In the Navigator View, select the root project node and press F5 to refresh the project.

4. Expand the output→server→gensrc→G4PLMXMLUserExt folder and open the


G4PLMXMLUserExt.c file.
The .c file includes a function similar to the following:

int G4PLMXMLUserExt(METHOD_message_t *msg, va_list args)


{
return 0;
}

5. To call the PLM XML registration code, update the G4PLMXMLUserExt.c file as follows:
#include <pie/pie.h>
#include <tccore/tctype.h>
#include G4PLMXMLUserExt/G4PLMXMLUserExt.h>
#define CUSTOM_PIE_CONTEXT_STRING "CUSTOM_PIE_CONTEXT_STRING"
int G4PLMXMLUserExt(METHOD_message_t *msg, va_list args ) //ignore argument list.
{
PIEUserMethodList_t userMethodList[] = {
{CUSTOM_PIE_CONTEXT_STRING, "ProductRevision",
(PIE_user_method_func_t)G4UserImportExtension}, // PLMXML classname.
{CUSTOM_PIE_CONTEXT_STRING, "ItemRevision",
(PIE_user_method_func_t)G4UserExportExtension} }; // Teamcenter classname.

printf("G4PLMXMLUserExt registration\n");
/* user actions */
PIE_register_user_action("GTACCustomExportPreAction",
(PIE_user_action_func_t)G4PreExportExtension);
PIE_register_user_action("GTACCustomExportDuringAction",
(PIE_user_action_func_t)G4DuringExportExtension);
PIE_register_user_action("GTACCustomExportPostAction",
(PIE_user_action_func_t)G4PostExportExtension);
/* filters */
PIE_register_user_filter("GTACCustomFilterRule",
(PIE_user_filter_func_t)G4FilterExtension);
/* (override) import/export methods */
PIE_register_user_methods(userMethodList, 2);
return 0;
}
PIE_rule_type_t G4FilterExtension(void* userPath)
{
tag_t tag = NULLTAG;
tag_t type_tag = NULLTAG;
char type_name[TCTYPE_name_size_c + 1] = { 0 };
printf("G4FilterExtension\n");
PIE_get_obj_from_callpath(userPath, &tag);
TCTYPE_ask_object_type(tag, &type_tag);

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-5


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

TCTYPE_ask_name(type_tag, type_name);
printf("Filter Object Type: %s\n", type_name);
return PIE_process; // or skip
}
int G4PreExportExtension(tag_t session)
{
printf("G4PreExportExtension\n");
// .xslt file used to beautify PLMXML file for easy reading.
PIE_session_set_user_xslt_file(session,
"C:\\TCU83\\dev\\xslt\\prettyprint.xsl");
return 0;
}
int G4DuringExportExtension(tag_t session)
{
printf("G4DuringExportExtension\n");
return 0;
}
int G4PostExportExtension(tag_t session)
{
printf("G4PostExportExtension\n");
return 0;
}
int G4UserImportExtension(void* userPath)
{
printf("G4UserImportExtension\n");
return 0;
}
int G4UserExportExtension(void* userPath)
{
printf("G4UserExportExtension\n");
return 0;
}

6. Update the G4PLMXMLUserExt.h as follows:


extern G4PLMXMLUSEREXT_API PIE_rule_type_t
G4FilterExtension(void* userPath);

extern G4PLMXMLUSEREXT_API int G4PreExportExtension(tag_t session);


extern G4PLMXMLUSEREXT_API int G4DuringExportExtension(tag_t session);
extern G4PLMXMLUSEREXT_API int G4PostExportExtension(tag_t session);
extern G4PLMXMLUSEREXT_API int G4UserImportExtension(void* userPath);
extern G4PLMXMLUSEREXT_API int G4UserExportExtension(void* userPath);

extern G4PLMXMLUSEREXT_API int G4PLMXMLUserExt


(METHOD_message_t* msg, va_list args);

7. Save the source files and choose Project→Build All.


Your project should build without errors.

6-6 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

Arguments for customizing PIE functions

Customizing PIE functions overview


You can use arguments to customize PIE functions.
For a full listing of available PIE functions, see the Integration Toolkit Function Reference.

Note
To access the Integration Toolkit Function Reference, install the Teamcenter developer
references when you install Teamcenter online help, or go to the Global Technical Access
Center (GTAC):
https://support.industrysoftware.automation.siemens.com/docs/teamcenter/

PIE_register_user_methods
The PIEUserMethodList_t structure is defined in the pie/pie.h header and is defined as follows:
typedef struct PIEUserMethodList_s
{
const char *contextStr; /* Context String */
const char *name; /* Class or type name */
PIE_user_method_func_t func; /* User method */
} PIEUserMethodList_t;

contextStr
Specifies a unique string entered in the Context field in the TransferMode definition. This string
allows the user to group user methods with different names for a given context.
name
Maps an import/export method to a specific Teamcenter object or PLM XML element. For
example:

Names used in export


user-methodsTeamcenter objects Names used in import user-methodsPLM XML
element
Item ProcessorProduct
Item Product
Item Software
ItemRevision ProcessorProductRevision
ItemRevision ProductRevision
ItemRevision SoftwareRevision

For a full list of schema mappings, see PLM XML/Teamcenter entity mapping.
func
Specifies a function pointer that has a function signature of:

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-7


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

int foo_method(void* userPath)

The userPath argument can be used in any of the PIE_* ITK functions that take a void* named
userPath. The function body generally uses the PLM XML SDK to implement the writing or
reading of the PLM XML document.
For a full listing of available PIE functions, see the Integration Toolkit Function Reference.

Note
To access the Integration Toolkit Function Reference, install the Teamcenter developer
references when you install Teamcenter online help, or go to the Global Technical
Access Center (GTAC):
https://support.industrysoftware.automation.siemens.com/docs/teamcenter/

PIE_register_user_filter
filterRuleName
Specifies a unique string that is displayed in the FilterRule, Filter Rule Name list.
user_m
Specifies a function pointer with a function signature of:
PIE_rule_type_t foo_filter(void* userPath)

The userPath argument can be used in any of the PIE_* ITK functions that takes a void* named
userPath. Valid return values are defined in the PIE_rule_type_e enum (pie/pie.h) as follows:
typedef enum PIE_rule_type_e
{
PIE_skip = 1,
PIE_process = 2,
PIE_travers_no_process = 4,
PIE_travers_and_process = 6
} PIE_rule_type_t;

PIE_register_user_action
handleName
Specifies a unique string that is displayed in the ActionRule, Action handler list.
user_m
Specifies a function pointer with a function signature of:
int foo_action(tag_t session)

The session tag_t can be used in any of the PIE_* ITK functions that take a tag_t session.

6-8 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

Deploy the Business Modeler IDE Template


1. In the Business Modeler IDE, open the Advanced perspective by choosing Window→Open
Perspective→Other→Advanced.

2. In the Extensions view, right-click the root node and choose Deploy Template.

3. Enter your user ID and password and click Connect.

4. When the connection is established, click Finish.


When the deployment is complete, a confirmation dialog box appears.

Load the custom extension DLL


To load the custom DLL, you must set the BMF_CUSTOM_IMPLEMENTOR_PATH preference.
1. Choose Edit→Options.

2. Enter the path in the Current Values box and click OK.

3. Restart Teamcenter.

Create a custom transfer mode


1. Open the PLM XML/TC XML Export Import Administration application.

2. Click ActionRule in the lower left pane.

3. Create a pre-action rule by completing the ActionRule pane.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-9


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

4. Click Create.

5. Create export actions for During and Post-action extensions.

6. Click ClosureRule in the lower left pane.

7. In the Traversal Rule Name box, enter GTACCustomClosureRule.

8. Set Scope of Traversal to Export and select PLM XML from the Output Format list.

9. In the table, click the + button to create a new row and enter the following.

10. Click Create.

11. Click FilterRule in the lower left pane.

12. In the Filter Rule Name box, enter GTACItemRevExportFilter. Select Export as the Scope of
Filter and select PLM XML from the Output Schema Format.

13. In the table, click the + button to create a new row and enter the following.

14. Click Create.

6-10 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

15. Click TransferMode in the lower left pane.

16. Complete the TransferMode pane.

17. Click Create.

Export a custom PLM XML file using a custom transfer mode


1. In My Teamcenter, create a new item called Export.

2. Choose Tools→Export→To PLMXML.

3. Click OK.
The .xml file of the item and item revision export should look similar to following:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- GENERATED BY: PLM XML SDK 7.0.2.173 -->
<PLMXML xmlns="http://www.plmxml.org/Schemas/PLMXMLSchema" schemaVersion="6"
language="en-us" date="2011-06-03" time="10:45:32"
author="Teamcenter V8000.3.0.20100916.00 - gtac@IMC--2118502821(-2118502821)">
<Header id="id1" traverseRootRefs="#id2" transferContext="GTACCustomExport"/>
<ProductRevision id="id6" name="Export" accessRefs="#id3" subType="ItemRevision"
masterRef="#id2" revision="A">
<ApplicationRef version="wJC1OqqpYs6Y1C" application="Teamcenter"
label="wFJ1OqqpYs6Y1C"/>
</ProductRevision>
<Product id="id2" name="Export" accessRefs="#id3" subType="Item"
productId="000025">
<ApplicationRef version="wFJ1OqqpYs6Y1C" application="Teamcenter"
label="wFJ1OqqpYs6Y1C"/>
</Product>
<AccessIntent id="id3" intent="reference" ownerRefs="#id4"/>
<Site id="id4" name="IMC--2118502821" siteId="-2118502821">
<ApplicationRef version="wxPxfJW5Ys6Y1C" application="Teamcenter"
label="wxPxfJW5Ys6Y1C"/>
<UserData id="id5">
<UserValue value="1" title="dbms"/>
</UserData>
</Site>
</PLMXML>

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-11


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

Note
The default schema mapping is ProductRevision-to-ItemRevision and
Product-to-Item.

Creating custom transformation rules

Custom transformation rules


You can create custom transformation rules using .csv rules files that map XML structures, elements,
and attributes from one XML format to another. The transformation rules can then be attached to a
specific transfer mode using the plmxml_tm_edit_xsl utility. A typical use is sharing information
between Teamcenter and other systems by transforming between TC XML and either PLM XML
or AP 242 XML.
Refer to Exporting and importing using PLM XML for details on working with PLM XML/TC XML
Export Import Administration.
Transformation rules are of the following types:
• Mapping rules that relate source structures to target structures

• Traverse rules that describe a traversal from one node to another node, or from one attribute
to another attribute.

• Function rules that perform the actual transformation to values or objects.

Create mapping rules directly in a .csv file as described in Create custom transformation rules
directly in a .csv file.
Use the Diverse Schema Utility to create mapping rules when Briefcase is configured to use low-level
TC XML to exchange data between Teamcenter sites as described in Create mapping rules files with
the Diverse Schema Utility (janus.exe).

Create custom transformation rules directly in a .csv file


Complex mapping rules can require transformations beyond mapping item types and attributes
with the Diverse Schema Utility. In these situations, you can create the mapping rules directly in a
.csv file using the following process.
1. Map the transformations of the structures, elements, and attributes in the original XML source
files to their related structures, elements, and attributes in the target XML files.
• Refer to Custom transformation basic syntax for syntax rules for common transformation
tasks.

• Refer to Custom transformation rule advanced syntax for syntax rules for less common
transformation tasks.

• Refer to XML transformation tool rule examples for transformation rule examples.

6-12 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

Create the files with an ASCII editor or with a spreadsheet, saving the files as comma-delimited
(.csv) ASCII files.
Place any .csv files containing includes in the <tc_data>\xformer directory.

2. Attach the transformation rules to a transfer mode using the plmxml_tm_edit_xsl utility.
For details on working with transfer modes, see Using transfer modes in the Classification Admin
guide.
For details on working with the plmxml_tm_edit_xsl utility, see plmxml_tm_edit_xsl in the
Utilities Reference guide.

3. Use Teamcenter to export sample data to PLM XML to test your transformation rules. Adjust your
transformation rules as necessary and retest.

Create mapping rules files with the Diverse Schema Utility (janus.exe)
When Briefcase is configured to use low-level TC XML to exchange data between Teamcenter
sites, you can use the Diverse Schema Utility to create mapping rules to transform data during
the exchange. With the Diverse Schema Utility, you can create mapping rules for item types and
attributes, even when the source and target Teamcenter sites use different schema formats.
The mapping rules are saved to a .csv file that can be attached to a specific transfer mode using
the plmxml_tm_edit_xsl utility. The transfer mode is then used to exchange information between
Teamcenter sites. See Exporting and importing using PLM XML for details on working with PLM
XML/TC XML Export Import Administration and transfer modes.

Start the Diverse Schema Utility

1. Open a Teamcenter command prompt and navigate to the following subdirectory of your
Teamcenter installation directory (TC_ROOT):
TC_ROOT\janus

2. In that directory, run janus.exe to open the Diverse Schema Utility.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-13


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

Open an existing set of mapping rules

Mapping rules are saved as .csv files. If you previously saved a mappings rule file and want to reuse
it, click on the right side of the utility to locate and open the file.
An example mapping rules file is available at:
TC_ROOT\janus\examples

Choose source and target schemas

Prior to mapping item types and attributes, select the source and target JSON schemas for which
the mapping rules apply. The source schema describes the data that will be exported or imported.
The target schema describes the data in the target database. If available, the schemas from your
previous session are chosen automatically.

To load the source schema, click next to Source. Navigate to the schema, select it, and click
Open.

To load the target schema, click next to Target. Navigate to the schema, select it, and click Open.

Map item types and attributes

After source and target schemas are loaded, use the following steps to map item types and attributes.
1. Item Type lists all of the item types in the source schema. Select an item type from the source
schema to map.

6-14 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

When you select an item type from the list, Attributes lists the selected item type's attributes.
Select an attribute to map. For example:

2. From the list of item types in the target schema, select the item type and attribute to which you
want to map the selected source item type and attribute. For example:

3. Each time you specify a mapping pair, click Add to add the mapping to the list of rules. If you
specify an improper attribute mapping, the attribute description highlights the error and you
cannot add the rule.

To remove a rule, click . Click to remove all the listed rules.


Continue to add rules for all the transformations you want to define.

4. Optionally, add prefixes and suffixes to the target items as part of the mapping. Select a source
element, set Function Expression to prefix or suffix, and specify a prefix or suffix value. For
example:

5. Save the rules by clicking . The .csv file is created that defines all the mapping rules.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-15


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

Caution
Siemens PLM Software requires any manual changes to the .csv file must occur
only between the following lines in the file:
### MANUALLY_CREATED_TRANSFORMER_RULES START

### MANUALLY_CREATED_TRANSFORMER_RULES END

Siemens PLM Software strongly recommends that you do not manually modify .csv
files created with the Diverse Schema Utility. Manually modifying these files can result
in data failures and data corruption. Siemens PLM Software accepts no liability for
changes outside of the MANUALLY_CREATED_TRANSFORMER_RULES section of the .csv file

Test and deploy the transformation rules


Attach the transformation rules to a transfer mode using the plmxml_tm_edit_xsl utility. In
Teamcenter, use the transfer mode to export sample data to test your transformation rules. Adjust
your transformation rules as necessary and retest.
For details on working with transfer modes, see Using transfer modes in the Classification Admin
guide.
For details on working with the plmxml_tm_edit_xsl utility, see plmxml_tm_edit_xsl in the Utilities
Reference guide.

Custom transformation basic syntax


Use the following syntax rules when creating common transformation rules files. See Custom
transformation rule advanced syntax for syntax supporting complex transformation rules. See XML
transformation tool rule examples for transformation rule examples.
• Save transformation rules files as comma-delimited (.csv) ASCII files in the <TC_DATA>\xformer
directory.

• Write XML transformation rules in one or multiple .csv files. When using multiple files, include
the files in a parent file as follows:
!include <file_name>.csv

• Use relative and absolute paths as desired. The base paths for relative paths are stored using
the PATH environment variable. In Teamcenter, <TC_DATA>\xformer is added to the PATH
environment variable by default.

Mapping rules
Mapping rules associate source structures to target structures. The pattern for mapping rules is:
<primary>|<secondary>|<function>|<condition>

Subclause Usage
<primary> Traverse rule that describes input from the source XML.
<secondary> Traverse rule that describes output to the target XML.

6-16 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

Subclause Usage
<function> Function rule that describes the transformation from the source value to the
target value.
<command> Function rule that filters the input XML available for the mapping rule.

The following symbols are used in mapping rules:

Symbol Usage
# Comments
| Subclause separator

A typical mapping rule follows:


# These are comments
Item.object_name|Product.name|concat('tc_',$SOURCE_VALUE)|!is_empty($SOURCE_VALUE)

In this example, the object_name attribute of every Item is transformed to a name attribute on
Product by prefixing "tc_" to the value. The rule is executed if Item has that attribute and has a
non-empty string value.

Traverse rules
Traverse rules describe a traversal from one node to another node, or from one attribute to another
attribute. The rule is constructed using a traverse expression.
The following symbols are used in traverse expressions:

Symbol Usage
. Traverse to an attribute from a type.
> Forward reference to a class.
< Backward reference to a class.
/ Reference to a subelement
\ Reference to a parent element
* Wildcard representing "any"
{} Attribute list on a class.

The following keywords describe elements and attributes:

Keyword Usage
$MAPPED All mentioned types or attributes in a rule.
$UNMAPPED All types or attributes in the input source but not mentioned in
a rule.
$REFERENCE All referenced attributes for the type.
$ELEMENT_NAME Type name for the type.
$TEXT_CONTENT Content of the XML element.
$CHILD_ELEMENT Child element of the XML element.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-17


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

Traverse rule example:


Cpd0DesignSubsetElement<cpd0reuse_element.Cpd0DesignSubsetInstance
<rlz0realization.Rlz0ModelRealizationMap

This traverse rule is constructed using the following traverse expressions:


Cpd0DesignSubsetElement<cpd0reuse_element.Cpd0DesignSubsetInstance
Cpd0DesignSubsetInstance<rlz0realization.Rlz0ModelRealizationMap

Function rules
Function rules perform the actual transformation to source XML to target values or objects.
See the file <TC_DATA>\xformer\init.csv for several sample functions.
The following operators are used in function rules:

Symbol Usage
+ Addition
- Subtraction
* Multiplication
/ Division
= Equals
! Logical not
> Greater than
>= Greater than or equal to
< Less than
<= Less than or equal to
!= Not equal to
== Logical equal
and Logical and. (Replaces && to avoid symbol conflicts.)
or Logical or
@ Returns the first attribute or object based on the current context.
@@ Returns all attributes or objects based on the current context.

The following keywords pass values from traverse rules to function rules for transforming:

Keyword Usage
$SOURCE_VALUE The first attribute value of the source object.
$SOURCE_VALUES A list of the source object's attribute values.
$SOURCE_ATTRIBUTE The source object's attribute name.
$TARGET_END_OBJECT The last traversed object from the secondary traverse rule.

Function rule example:


Product|Item||@Product.type != 'TestPart'

6-18 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

In the example, @ is equivalent to get_first( @@<traversal>.

Options
The following default options are available:

Option Usage
opt_target_root The root element in the target XML. For TC XML to PLM XML, the default
value is PLM XML. For PLM XML to TC XML, the default value is TC XML.
opt_source_separator Variable-length array (VLA) separator for source input.
opt_target_separator VLA separator for the target output. For TC XML, the default value is a
comma (,). For PLM XML, the default value is a space.

Custom transformation rule advanced syntax


Use the following approaches and syntax to handle less-common transformations.

Function definitions
Define global variables or functions in the rule file with the following form.
!define <opt_custom_option> = <value>;

The following example defines an accumulator function.


!define accumulator = function(){var x = 0; function(){x=x+1}}();

Ensure the definition ends with a semi-colon (;).

Process ID references
Reading ID references
An element may have attributes referencing other elements. Use the following syntax for reading
reference IDs from the input source file.
<type>.<referenceAttribute>|<referencedType>.<attribute>|function|condition

The following example reads IdRef elements in the source PLM XML. In the example,
each Product.id value is fetched, concatenated with #, and then linked to a corresponding
ProductRevision.masterRef.
!source_id_reference ProductRevision.masterRef|
Product.id|concat('#',$SOURCE_VALUE)
Writing ID references
Use the following syntax for writing reference IDs to the target XML file.
<type>.<referenceAttribute>|<referencedType>.<attribute>|function|condition

In the following example, all items referenced with ItemRevision.items_tag structures are
written to the target XML file. The reference is serialized to a string value with the form #
+ Item/GsIdentity.elemId.
!target_id_reference ItemRevision.items_tag|
Item/GsIdentity.elemId|concat( '#', $SOURCE_VALUE)

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-19


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

When a reference is addressed by a matching rule, all subsequent rules for the reference are
ignored. For example:
!target_id_reference A.a|B.id
!target_id_reference A.a|C.puid

In the example, the second rule is skipped for A.a if the exact object in type A can be resolved
by the first rule.

Decorating data
To set a value in the target XML that is not dependent on the source XML, write a mapping rule that
produces an empty source value in the .csv file. For example:
|ProductRevision.island_id| $accu()
|ProductRevision.mastrRef>Product.island_id|@ProductRevision.island_id

Use a similar approach to produce an empty target value in the .csv file:
Item.new_name|| concat( 'new_', @Item.name )

Process class hierarchies


The class hierarchy rule is used to describe class structures. It specifies the relationships of subtypes
to parent types. For example:
!source_hierarchy Document\Item
!source_hierarchy DocumentRevision\ItemRevision
!target_hierarchy Product\Structure\StructureBase

source_hierarchy specifies the rule for the source XML and target_hierarchy specifies the rule for
the target XML.

Process class substitutes


In some data models, classes can be substituted for other classes. (For example, POM_stub in
Teamcenter can substitute for any Teamcenter classes.) Use the following rule to describe this
relationship:
!source_substitute $MAPPED|POM_stub|POM_stub2|...
!target_substitute $MAPPED|ExternalRef|ExternalRef2|...

Object definitions
Some relationships and attributes in the source XML can be used only in function rules. Because
they are not defined by a traverse rule, the attributes and relationships are skipped. The following rule
defines the attributes and relationships that are used only in function rules.
!source_graph_definition ItemRevision.items_tag>Item

Data validation
Use transformer rules for data validation. In the following example, the Cpd0DesignFeature type is
validated and a message is written to the log:
!assert_error |Cpd0DesignFeature.mdl0model_object>Cpd0CollaborativeDesign|
print_validation_info( $OBJECT , 'CollaborativeDesign is missing')|
@Cpd0DesignFeature.isExist == 'N'

6-20 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

!assert_error |Cpd0DesignFeature.mdl0revision_id|
print_validation_info( $OBJECT , 'revision is missing')|
validate_new_obj_missing_attr($OBJECT, $SOURCE_VALUES)

XML output element sequences

XML element sequences can be controlled in the target XML. In the following example, Header and
ApplicationRef are output as the child elements of their parents.
!output_element_sequence PLMXML|Header
!output_element_sequence *|ApplicationRef

Advance traverse rules

Dynamic type names and attribute names


Type names and attribute names can be dynamically defined based on context with Function
Rule specified in brackets. For example:
# Map Product daynamically decided by Product.type
Product|[ @Product.type ]

# For example map Item.object_name to Product.new_object_name


Item.*|Product.[concat ( 'new_', $SOURCE_ATTRIBUTE)]

Filters
Filters can be defined to traverse objects with precise control. Define filters by specifying a
Function Rule in brackets after any Traverse Expression.
Use the following keywords in filters:

Keyword Usage
$OBJECT Return every separate object as input from the current traversal.
$OBJECTS Return all objects as input from the current traversal.

For example:
# Map PLMAppUID as ApplicationRef for 1st mapped object at target
$MAPPED<object_uid_str.PLMAppUID|$MAPPED[get_first($OBJECTS)]/ApplicationRef

The resulting behavior is based on returned values as follows.

Value Behavior
Object or list of The result is taken as the current traversal result. For example, get_first
objects in the earlier filter example.
Boolean If the result is true, the input to the filter is taken as the current traversal result.
If the result is false, the input to the filter is not included in the target XML.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-21


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

Value Behavior
String or The result is taken as a key to find or create a specific object. For example:
number
CD|Product
CD|ProductRevision
CD/GsIdentity|Product/ApplicationRef[0]
CD/GsIdentity|ProductRevision/ApplicationRef[1]
CD/GsIdentity.label|Product/ApplicationRef[0].label
CD/GsIdentity.label|ProductRevision/ApplicationRef[1].label|
concat( $SOURCE_VALUE, '|ProductRevision')

In this example, GsIndentity is mapped to two ApplicationRef elements


with differing attributes.

Advanced function rules


Using the keyword function, you can define a new function based on the transformer function. See
the file <TC_DATA>\xformer\init.csv for sample functions.
The following keywords are valid when writing custom transformer functions:

Keyword Usage
true Boolean true
false Boolean false
nil Empty list
... Variable arguments declaration
$ARGS Variable arguments used as a list in function
definitions
$PATH Predefined search path when loading files
var Declares a variable definition
function Defines a custom function
return Returns a value from a function
if, else, else if Conditional statements
while, for_each Looping statements
break, continue Keyword for flow control

Custom transformation syntax limitations

Text encoding
If types, attributes, or strings contain non-ANSI characters, ensure the files are encoded as UTF-8. If
the input XML files are not encoded as UTF-8, multibyte characters may not transform correctly.

Rule execution order


Transformer rules are executed sequentially, except for certain rules that are sorted prior to
others. As rule execution results may rely on order, be aware of the following ordering behavior
for transformer rules:

6-22 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

Mapping rules
Mapping rules are executed in the following order
1. Rules for object mapping

2. Rules for object relation mapping

3. Rules for attribute mapping

For mapping rules of the same type, rules that contain fewer reference characters (> and <) are
executed before rules containing more reference characters. For rules of the same type and with
the same number of reference characters, child types are executed before parent types.
Rules for decorating data
Unlike mapping data, decorating rules directly modify the target XML without a dependency
on the source XML.
Rules for reading ID references
Rule evaluation follows the same sequencing behavior as for mapping rules.
Rules for writing ID references
Rule evaluation is based on class hierarchy with the sub type executing first.

Subtraversal scope
Subtraversals support types in source XML. Therefore, subtraversals are supported only on the
source side in rule files. In constant and id reference rules, subtraversals are supported on source
XML and target XML.

XML transformation tool rule examples


Example: one-to-one mapping
Input
<Cpd0Workset item_id="4G_PLMXML_WS01" object_name="WS01"
object_type="Cpd0Workset" object_desc="test desc" />

Output
<Workset catalogueId="4G_PLMXML_WS01" id="id1"
name="WS01" subType="Cpd0Workset">
<Description>test desc</Description>
</Workset>

Example: reference mapping


Input
<Cpd0WorksetRevision elemId="id60" item_revision_id="A"
object_name="WS01" puid="yUWZc7J3qd$DyB"
structure_revisions="S6eZc7J3qd$DyB" />
<PSBOMViewRevision bom_view="S2fZc7J3qd$DyB" elemId="id49"
object_name="4G_PLMXML_WS01/A-View" puid="S6eZc7J3qd$DyB" />
<PSBOMView elemId="id47" object_name="4G_PLMXML_WS01-View"
puid="S2fZc7J3qd$DyB" view_type="#id24" />

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-23


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

<PSViewType elemId="id24" name="view" puid="zkblwu4OAAgcRA" />


Output
<View id="id3" name="view">
</View>
<WorksetRevisionView id="id34" viewRef="#id3">
</WorksetRevisionView>
Approach
First, map the object.
PSViewType|View
Cpd0WorksetRevision|WorksetRevisionView

Then, map the source reference and target.


Cpd0WorksetRevision.structure_revisions>PSBOMViewRevision.bom_view>
PSBOMView.view_type>PSViewType|WorksetRevisionView.viewRef>View

Example: one-to-N mapping


Input
<View id="id3" name="view">
<ApplicationRef application="Teamcenter" label="zkblwu4OAAgcRA"
version="zkblwu4OAAgcRA" />
</View>
<WorksetRevisionView id="id34" revisionRef="#id2" viewRef="#id3">
<ApplicationRef application="Teamcenter" label="yUWZc7J3qd$DyB"
version="yUWZc7J3qd$DyB" />
</WorksetRevisionView>
Output
<PSBOMView elemId="id47" object_name="4G_PLMXML_WS01-view"
puid="S2fZc7J3qd$DyB" />
<PSBOMViewRevision bom_view="S2fZc7J3qd$DyB" elemId="id49"
object_name="4G_PLMXML_WS01/A-view" puid="S6eZc7J3qd$DyB" />
Approach
First, map the object.
WorksetRevisionView|PSBOMView
WorksetRevisionView|PSBOMViewRevision

Then, create links between the targets.


WorksetRevisionView|PSBOMViewRevision.bom_view>PSBOMView

Example: N-to-one mapping


Input
<View id="id3" name="view">
<ApplicationRef application="Teamcenter" label="zkblwu4OAAgcRA"
version="zkblwu4OAAgcRA" />
</View>
<WorksetRevisionView id="id34" revisionRef="#id2" viewRef="#id3">
<ApplicationRef application="Teamcenter" label="yUWZc7J3qd$DyB"
version="yUWZc7J3qd$DyB" />

6-24 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

</WorksetRevisionView>
Output
<GeneralRelation id="id5" relatedRefs="#id6 #id1"
subType="Mdl0AttachAttrGroup">
<ApplicationRef application="Teamcenter" label="SpYZdx3Lqd$DyB"
version="SpYZdx3Lqd$DyB" />
<UserData id="id12">
<UserValue title="mdl0cs_id" value="SpYZdx3Lqd$DyB" />
</UserData>
</GeneralRelation>
Approach
For N-to-one mapping, determine the principle object related to the target object. Any object may
be acceptable, but the principle object simplifies the traverse syntax and is clearer to understand
when maintaining.
First, map the object.
Mdl0AttachAttrGroup|GeneralRelation

Then, use a traverse rule to fetch the attribute on the object referenced by the mapped object:
Mdl0AttachAttrGroup.relation_type>ImanType.type_name|GeneralRelation.subType

Administrative and organization type mapping example


Some objects are used as administrative and organization types. These elements may be referenced
by several other elements. For example, a user element can occur several times in the source XML.
However, each user element has a unique id attribute value. Several other elements may reference
a particular user element by id value.
Input
<AssociatedForm formRef="#id5" id="id10" role="IMAN_master_form" />
Output
<ImanType elemId="id18" type_name="IMAN_master_form" />
<ImanRelation elemId="id7" primary_object="QlelxMoGmy_$DB"
puid="QlflxMoGmy_$DB" relation_type="#id18"
secondary_object="QpRlxMoGmy_$DB" />
Approach
Use a function rule for this mapping.
AssociatedForm.role|ImanRelation.relation_type|
find_or_create_object('ImanType','type_name',$SOURCE_VALUE)
!define find_or_create_object = function ( type, attr, val )
{
var objs=find_objects(type,val);
if ( is_empty(objs) )
{
var obj = create_object ( type, val );
add_attribute( obj, attr, val );
objs = append_left(obj,objs);
}
objs;
};

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-25


Chapter
Chapter 6: 6: Customizing
Customizing
PLM PLM
XML XML import/export
import/export extensions
extensions

Example: lookup table


Use open_table to open a table from an existing file. Use create_table to create a table when
transforming the XML.
Input
<Mdl0ApprSrchGeomConstraint elemId="id46" fnd0_tso_flag="N"
island_id="1" lsd="2017-05-10T20:17:34Z" mdl0ProcessCtrlFlag="14"
mdl0SourceCriteria="wveF6bA7AABaqA" object_properties="2"
parent_uid="AGZBAQSgIpvzbA" pid="3124" puid="AeRBAJRsIpvzbA"
timestamp="gJXlxMdcmy_$DB" type="Mdl0ApprSrchGeomConstraint"/>
Output
<GeometricConstraint geometricConstraintAction="background" id="id18"
searchCriteriaAction="foregroundBackground" searchCriteriaRef="#id12"
subType="Mdl0ApprSrchGeomConstraint">
<ApplicationRef application="Teamcenter" label="AeRBAJRsIpvzbA"
version="AeRBAJRsIpvzbA" />
</GeometricConstraint>
Approach
Prepare the lookup table.
!define GeoConstraintTable = create_table('
#flag|geometricConstraintAction|searchCriteriaAction
5|foreground|foreground
6|background|foreground
7|foregroundBackground|foreground
13|foreground|foregroundBackground
14|background|foregroundBackground
15|foregroundBackground|foregroundBackground
');

Then, use a function rule to look up corresponding ProcessCtrlFlag values.


Mdl0ApprSrchGeomConstraint.mdl0ProcessCtrlFlag|GeometricConstraint.
{geometricConstraintAction,searchCriteriaAction}|
lookup_table ( GeoConstraintTable, $SOURCE_VALUE );

Tips for customizing PLM XML extensions

Using the PIE_register_user_schema for the export schema mapping


PIE_register_user_schema is designed to alter the export schema mapping of Teamcenter
properties to PLM XML element attributes. It is not used in imports. Each PLM XML element has
a limited set of attributes available for use. For example, the PLM XML element Product has the
following defined attributes:

id checkoutRefs productId
name subType alternateForRef
nameRef effectivityRefs unitRef
descriptionTextRef releaseStatusRefs designRequired

6-26 PLM XML/TC XML Export Import Administration PLM00030 12.1


Customizing PLM XML import/export extensions

attributeRefs catalogueId source


accessRefs optionRefs vendorRef
statusRef propertyRefs

You cannot map PLM XML attributes not in this list.


For more information about other PLM XML elements and their available attributes, see the PLM
XML SDK documentation.
To map Teamcenter custom user properties to the PLM XML file, use a property set. A property set
places Teamcenter user properties within a PLM XML <UserData>...</UserData> element structure.

Using a TransferMode custom context


When defining a transfer mode, you can leave the Context box blank.
Entering the context string used in PIEUserMethodList_t or CUSTOM_PIE_CONTEXT_STRING
uses user-defined method extensions to export or import a specific Teamcenter business object
or PLM XML element, respectively.
In the example in this topic, the body of the item revision method extension is empty, so the data
is not exported. You export the data using the PLM XML SDK.

Using the XSLT option to translate a PLM XML file


The XSLT option provides the option to translate a PLM XML file before import or after export. The
following code in the sample code for the G4PreExportExtension function sets the XSLT file:
PIE_session_set_user_xslt_file(session, "C:\\TCU83\\dev\\xslt\\prettyprint.xsl");

This function sets the XSLT file for import and export. If you want to set the XSLT file for a
TransferMode object without using customization, use the plmxml_tm_edit_xsl command line utility.
Sample XSLT files are available on the internet. Use your preferred internet search engine and
search for XSLT pretty print.
The XSLT processor is invoked by the PLM SDK.

PLM00030 12.1 PLM XML/TC XML Export Import Administration 6-27


Appendix A: PLM XML/Teamcenter entity mapping

The following table lists the mapping between PLM XML entities and Teamcenter entities. You can
use this information to read and understand PLM XML files.

Design objects
Teamcenter objects PLM XML element
ActivityCost ActivityCost
ActivityEntryValue ActivityEntryValue
Allocation Allocation
AllocationMap AllocationGroup
AllocationMapRevision AllocationGroupRevision
AllowedDeviation AllowedDeviationRelation
Appearance Occurrence
AppearanceGroup OccurrenceGroup
AppearanceRoot ProductView
AppInterfaceType plmxml_bus:ApplicationInterface
AppGroupBOPLine Occurrence
Architecture Product
ArchitectureRevision ProductRevision
AsBuiltStructure RealisedProductUsage
AsBuiltStructure RealisedProductInstance
AssetGroup Fleet
AuthorizationRule plmxml_bus:AuthorisationRule
Mapped to PLM XML element in the business schema.
BillRate BillingRate
BOMLine Occurrence
BOMView Revision ProductRevisionView
BOMWindow InstanceGraph
BOPLine Occurrence
BoundingMultiBox Bound
CCObject CollaborationContext
CfgActivityLine ConfiguredActivity
CharacteristicDefinition CharacteristicDefinitionRevision
CharacteristicValue CharacteristicValue

PLM00030 12.1 PLM XML/TC XML Export Import Administration A-1


Appendix
Appendix A: A:
PLM PLM XML/Teamcenter
XML/Teamcenter entityentity mapping
mapping

Design objects
Teamcenter objects PLM XML element
ClosureRule plmxml_bus:ClosureRule
Mapped to PLM XML element in the business schema.
ConfigurationContext ConfigurationRule
Connection FlowConnection
Connection_Terminal Terminal
ConnectionRevision FlowConnectionRevision
Dataset DataSet
Dataset Representation
DC_CmpTool CompareTool
DC_DitaValFilter DITAValueFilter
DC_DitaValFilterTbl DITAValueFilterRow
DC_EditTool EditTool
DC_GrphcAttrMap GraphicAttributeMap
DC_GrphcAttrMapTbl GraphicAttributeRow
DC_NamspacesTbl NamespaceRow
DC_Procedure Procedure
DC_ProcedureRevision ProcedureRevision
DC_PubType PublicationTyp
DC_PublishTool PublishTool
DC_RefTopicType RefTopicTyp
DC_Schema CMSchema
DC_SchemaRevision CMSchemaRevision
DC_StyleSheet StyleSheet
DC_StyleSheetRevision StyleSheetRevision
DC_StyleType StyleTyp
DC_TopicType TopicTyp
DC_TransfPolTbl TransformPolicyRow
DC_TransfPolicy TransformPolicy
DC_ViewTool ViewTool
DC_XmlSchema XMLSchema
DC_XmlSchemaRevision XMLSchemaRevision
DCt_GraphicPriority GraphicPriorityList
DCt_Language Language
DCt_TopicTypeGrp TopicTypGroup
DCt_XmlAttrMap XMLAttributeMap
DCt_XmlAttrMapTbl XMLAttributeRow

A-2 PLM XML/TC XML Export Import Administration PLM00030 12.1


PLM XML/Teamcenter entity mapping

Design objects
Teamcenter objects PLM XML element
DeepCopyRule plmxml_bus:DeepCopyRule
Mapped to PLM XML element in the business schema.
DesignRevision DesignRevision
Design Design
DesignReq DesignRequirement
DesignReqRevision DesignRequirementRevision
DesignRevision DesignRevision
DeviationDoc Deviation
DeviationDocRevision DeviationRevision
Discipline Discipline
DispApplicabilityData DispositionApplicabilityRelation
DispositionApplicability DispositionApplicabilityRelation
DispositionType Disposition
EngChange Change
EPMAction WorkflowAction
EPMBRHandler WorkflowBusinessRuleHandler
EPMBusinessRule WorkflowBusinessRule
EPMHandler WorkflowHandler
EPMJob WorkflowProcess
EPMSignoffProfile WorkflowSignoffProfile
EPMTask Task
EPMTaskTemplate WorkflowTemplate
Extension plmxml_bus:Method
FaultCode FaultCode
Filter plmxml_bus:FilterRule
Mapped to PLM XML element in the business schema.
Fnd0ProxyTask ProxyTask
Folder Folder
Form Form
FullText DataSet
GDEBOPLine Occurrence
GDEbvr ProductRevisionView
GDELine Occurrence
GDELinkLine Occurrence
GDEOccurrence GDEInstance
GDEOccurrenceThread GDEInstance

PLM00030 12.1 PLM XML/TC XML Export Import Administration A-3


Appendix
Appendix A: A:
PLM PLM XML/Teamcenter
XML/Teamcenter entityentity mapping
mapping

Design objects
Teamcenter objects PLM XML element
GeneralDesignElement GDE
GeneralDesignElementLink Link
Group Organisation
GroupMember OrganisationMember
HideTypeRule plmxml_bus:HideTypeRule
Mapped to PLM XML element in the business schema.
HRN_Accessory HarnessProduct
HRN_AssemblyPart HarnessProduct
HRN_Cavity ConnectorCavity
HRN_CavityPlug HarnessProduct
HRN_CavitySeal HarnessProduct
HRN_ConHousing HarnessProduct
HRN_CoPackPart HarnessProduct
HRN_Core WireCore
HRN_Fixing HarnessProduct
HRN_GeneralWire HarnessProduct
HRN_GenTerminal HarnessProduct
HRN_Harness HarnessProduct
HRN_Module HarnessProduct
HRN_Slot ConnectorCavityGroup
HRN_WireProtect HarnessProduct
IdContextRule plmxml_bus:IdContextRule
Mapped to PLM XML element in the business schema.
Identifier Identifier
ImanCompoundPropDef plmxml_bus:CompoundPropDef
Mapped to PLM XML element in the business schema.
ImanFile ExternalFile
ImanGRM plmxml_bus:RelationRule
Mapped to PLM XML element in the business schema.
ImanItemBOPLine Occurrence
ImanItemLine Occurrence
ImanParameters plmxml_bus:MethodOpts
Mapped to PLM XML element in the business schema.
ImanQuery SavedQueryDef
ImanVolume Vault
Item ProcessorProduct
Item Product

A-4 PLM XML/TC XML Export Import Administration PLM00030 12.1


PLM XML/Teamcenter entity mapping

Design objects
Teamcenter objects PLM XML element
Item Software
ItemRevision ProcessorProductRevision
ItemRevision ProductRevision
ItemRevision SoftwareRevision
LanguagesTbl LanguageRow
LogBook LogBook
LogEntry LogEntry
LogEntryValues LogEntryValuesRelation
Lot LotRevision
MEActivity MROActivity
MEAppearanceGroupLine ConfiguredOccurrenceGroup
MEAppearanceLine Occurrence
MEAppearancePathNode InstancePath
MEAppearancePathRoot InstancePathRoot
MEOP Operation
MEOPRevision OperationRevision
MEProcess Process
MEProcessRevision ProcessRevision
Message FrameSignal
MessageRevision FrameSignalRevision
MEViewLine Occurrence
MEWorkarea WorkArea
MEWorkareaRevision WorkAreaRevision
NameField plmxml_bus:NameField
Mapped to PLM XML element in the business schema.
NameRule plmxml_bus:NameRule
Mapped to PLM XML element in the business schema.
Network FlowConnection
Network_Port Terminal
NetworkRevision FlowConnectionRevision
NXAgent ValidationAgent
NXAgentRevision ValidationAgentRevision
NXCMValDataRevision ValidationCheckRevision
NXRDDVValDataRevision ValidationCheckRevision
NXValData ValidationCheck
OverrideApproval OverrideApproval

PLM00030 12.1 PLM XML/TC XML Export Import Administration A-5


Appendix
Appendix A: A:
PLM PLM XML/Teamcenter
XML/Teamcenter entityentity mapping
mapping

Design objects
Teamcenter objects PLM XML element
Paragraph Requirement
ParagraphRevision RequirementRevision
Part Product
Participant Participant
PartMovement PartMovement
Person Person
PhysicalCharacteristics CharacteristicValueForRealisedProductRelation
PhysicalLocation MROLocation
PhysicalLocationRevision MROLocationRevision
PhysicalLocationUsage MROLocationRelation
PhysicalLogEntries PhysicalLogEntriesRelation
PhysicalPart RealisedProduct
PhysicalPartRevision RealisedProductRevision
PhysicalRealization RealisedFromRelation
POM_imc Site
POMObject plmxml_bus:StorageClassDef
Mapped to PLM XML element in the business schema.
Processor ProcessorProductRevision
Revision Processor ProcessorProduct
ProjectTeam Organisation
PropertySet plmxml_bus:PropertySet
Mapped to PLM XML element in the business schema.
PropRule plmxml_bus:PropertyRule
Mapped to PLM XML element in the business schema.
PropertyBMOperation plmxml_bus:PropertyBusinessOperation
Mapped to PLM XML element in the business schema.
PSBOMView ProductRevisionView
PSBOMViewRevision ProductRevisionView
PSConnection Connection
PSConnectionRevision ConnectionRevision
PSOccurrence ProductInstance
PSOccurrenceThread ProductInstance
PSSignal Signal
PSSignalRevision SignalRevision
PSSignalValue SignalValue
PSViewType View
PublishLink DefinitionRelation

A-6 PLM XML/TC XML Export Import Administration PLM00030 12.1


PLM XML/Teamcenter entity mapping

Design objects
Teamcenter objects PLM XML element
Range DailyTime
ReleaseStatus ReleaseStatus
Requirement Requirement
RequirementRevision RequirementRevision
ResourceAssignment ResourceAssignment
ResourcePool ResourcePool
RevisionRule RevisionRule
Role Role
RouteCurve BSplineCurve
RouteLocation Location
RouteLocationRevision LocationRevision
RouteNode RouteNode
RoutePath Route
RouteSegment RouteSection
SchDeliverable ScheduleDeliverable
Schedule Schedule
ScheduleMember ScheduleMember
ScheduleRevision ScheduleRevision
ScheduleTask ScheduleTask
ScheduleTaskRevision ScheduleTaskRevision
SchedulingFixedCost FixedCost
SchMgtCostFormInfo FixedCostInfo
SchTaskDeliverable ScheduleTaskDeliverable
Signoff Signoff
Seg0Budget Budget
Seg0BudgetDefinition BudgetDefinition
ServiceDiscrepancy ServiceDiscrepancy
ServiceEvent TCServiceEvent
ServiceGroup ServiceGroup
Smr0Warning Warning
Software Software
Software Revision SoftwareRevision
SSP0Frequency Frequency
SSP0FrequencyRevision FrequencyRevision
SSP0PartApplicabilityData PartApplicabilityRelation
SSP0ServicePlan ServicePlan

PLM00030 12.1 PLM XML/TC XML Export Import Administration A-7


Appendix
Appendix A: A:
PLM PLM XML/Teamcenter
XML/Teamcenter entityentity mapping
mapping

Design objects
Teamcenter objects PLM XML element
SSP0ServicePlanRevision ServicePlanRevision
SSP0ServiceReq ServiceRequirement
SSP0ServiceReqRevision ServiceRequirementRevision
SSP0Skill Skill
SSP0SkillRevision SkillRevision
SSP0WorkCard WorkCard
SSP0WorkCardRevision WorkCardRevision
StructureContext StructureContext
TaskDependency ScheduleTaskDependency
TaskExecutionFormInfo TaskExecutionInfo
TaskSchedulingFormInfo TaskSchedulingInfo
TCCalendar Calendar
TCCalendarEvent CalendarEvent
TC_Project Project
TimeSheetEntry TimeSheetRecord
Tool plmxml_bus:ApplicationToolDef
Mapped to PLM XML element in the business schema.
TraceLink TraceabilityRelation
TransferMode plmxml_bus:TransferMode
Mapped to PLM XML element in the business schema.
TypeBMOperation plmxml_bus:TypeBusinessOperation
Mapped to PLM XML element in the business schema.
TypeCannedMethod plmxml_bus:TypeCannedMethod
Mapped to PLM XML element in the business schema.
User User
ValidationReq ValidationRequirement
ValidationReqRevision ValidationRequirementRevision
ValidationResult ValidationResult
ValReqResult ValidationResult
VariantRule VariantRule

Note
In some cases, a Teamcenter object can be represented by more than one PLM XML
element, depending on how the object is used. Similarly in some cases, a PLM XML
element can be represented by more than one Teamcenter object.

A-8 PLM XML/TC XML Export Import Administration PLM00030 12.1


PLM XML/Teamcenter entity mapping

More information about Teamcenter Mechatronics Process Management/PLM XML mapping is


available in the Wiring Harness Design Tools Integration.
More information about importing and exporting Service Manager data in PLM XML format is
available in the Service Manager.

PLM00030 12.1 PLM XML/TC XML Export Import Administration A-9


Appendix B: Tips for using PLM XML Export Import

Time format in PLMXML files


Beginning with in Teamcenter 10.1.5 and 11.2.0, the import supports both Greenwich Mean Time
(GMT) and legacy time format.
• For time information in the PLMXML file in the legacy time format, all Teamcenter versions will
import as a local time. For example:
<UserList id="id16" type="list">
<Item value="2015-03-17T03:50:23"></Item>
<Item value="2015-03-30T09:23:12"></Item>
<Item value="2015-03-31T11:17:46"></Item></UserList>

• For time information in the PLMXML file in the GMT time format:
o Prior to Teamcenter 10.1.5 and 11.2.0, the time information must be modified to the legacy
time format or the import may fail.

o Beginning in Teamcenter 10.1.5 and 11.2.0, the time format is identified as Greenwich Mean
Time (GMT) or legacy time format and imported accordingly.

For example:

<UserList id="id16" type="list">


<Item value="2015-03-17T03:50:23Z"></Item>
<Item value="2015-03-30T09:23:12Z"></Item>
<Item value="2015-03-31T11:17:46Z"></Item></UserList>

An export defaults to the Greenwich Mean Time (GMT) time format in the PLMXML file. To export
in the local time format, set the PLMXML_export_local_date site preference to true. Only date
type properties defined in the PropertySet branch and exported as UserData are supported with
GMT time format.

Review the PLM XML log file


Review the PLM XML log file. Note that this is different from the syslog file.
The following is a sample PLM XML log file:
****************************
PLMXML Log File Header
----------------------
IMPORT
****************************
LOG-FileName is: path-of-generated-log-file

PLM00030 12.1 PLM XML/TC XML Export Import Administration B-1


Appendix
Appendix B: B:
Tips Tips for using
for using PLM PLM
XML XML Export
Export Import
Import

XML-FileName is: path-of-xml-file


XSLT-FileName is:
OverWrite-ExistingData is: 0
CheckOutObjects-UponExport is: 0
CheckFor-ExportPrivilege is: 1
****************************
///// Teamcenter Import Summary BEGIN: Processed the following PLMXML Elements
Element:: DataSet Count:: 1
Element:: ExternalFile Count:: 1
///// Teamcenter Import Summary: Processed the following Teamcenter Objects
TCObject:: DXF Count:: 1
TCObject:: ImanFile Count:: 1
///// Teamcenter Import Summary END: /////

Note
The log file also contains information about any errors that occur during the import or export.

Enable detailed logging


Enable detailed logging (set the PLMXML_log_file_content preference to detailed). The PLM XML
log file contains additional information, such as details on each object and a Teamcenter-to-PLM
XML object comparison. For example:
****************************
PLMXML Log File Header
----------------------
EXPORT
****************************
LOG-FileName is: path-of-generated-log-file
XML-FileName is: path-of-xml-file
XSLT-FileName is:
OverWrite-ExistingData is: 0
CheckOutObjects-UponExport is: 0
CheckFor-ExportPrivilege is: 1
****************************
PLMXML_sdk_threshold is: 100
******************************************************
****************************
Teamcenter Object ====>
Processed Object [wVChlmCCzmZcYC] of type [POM_imc]
IMC-999888777
Exported As ====>
Processed Element [Site] Id [#id5]
Error: None
****************************
****************************
Teamcenter Object ====>
Processed Object [SkBlTDvQzmZcYC] of type [ItemRevision]
Exported As ====>
Processed Element [ProductRevision] Id [#id2]
Error: None

B-2 PLM XML/TC XML Export Import Administration PLM00030 12.1


Tips for using PLM XML Export Import

****************************
****************************
Teamcenter Object ====>
Processed Object [iIDlTDvQzmZcYC] of type [Text]
Exported As ====>
Processed Element [DataSet] Id [#id7]
Error: None
****************************
****************************
Teamcenter Object ====>
Processed Object [iMPlTDvQzmZcYC] of type [ImanFile]
Exported As ====>
Processed Element [ExternalFile] Id [#id9]
Error: None
****************************
****************************
Teamcenter Object ====>
Processed Object [SgIlTDvQzmZcYC] of type [Item]
Exported As ====>
Processed Element [Product] Id [#id10]
Error: None
****************************
===== END OF (DETAILED OBJECT TRANSLATION) =====
///// Teamcenter Export Summary BEGIN: Processed the following Teamcenter
Objects
TCObject:: ImanFile Count:: 1
TCObject:: Item Count:: 1
TCObject:: ItemRevision Count:: 1
TCObject:: POM_imc Count:: 1
TCObject:: Text Count:: 1
///// Teamcenter Export Summary: Generated the following PLMXML Elements
Element:: DataSet Count:: 1
Element:: ExternalFile Count:: 1
Element:: Product Count:: 1
Element:: ProductRevision Count:: 1
Element:: Site Count:: 1
///// Teamcenter Export Summary END: /////

Set PLM XML logging to different levels


Set PLM XML logging to different levels, depending on the information you want to capture. To
minimize logging, which improves speed on large translations, set the PLMXML_log_file_content
preference to basic. To get closure rule analysis, which can help you tune your closure rules for
better performance, set the PLMXML_log_file_content preference to detailed. The following figure
shows an example closure rule analysis.
///// BEGIN – CLOSURE RULE CLAUSE ANALYSIS REPORT
Transfermode name: incremental_import
Closure rule name is: readOccurrenceIncremental_Import
Clause-1: CLASS: Document: CLASS: Form: ?: *: SKIP:
Clause-2: CLASS: *: CLASS: ProductView: ?: *: PROCESS:
Clause-3: CLASS: ProductDef: CLASS: InstanceGraph: ?: *: SKIP:
Clause-4: CLASS: *: CLASS: *: ?: *: DO:

PLM00030 12.1 PLM XML/TC XML Export Import Administration B-3


Appendix
Appendix B: B:
Tips Tips for using
for using PLM PLM
XML XML Export
Export Import
Import

Clause-5: CLASS: *: CLASS: *: PROPERTY: *: DO:


////// BEGIN – Specific Closure Rule Clause Evaluation
Possible Culprit: PROPERTY * Found in the following clauses of the closure
rule
Found in 5 clause
Possible Culprit: Primary CLASS * Found in the following clauses of the
closure rule
Found in 2 clause
Found in 4 clause
Found in 5 clause
Possible Culprit: Primary TYPE * Found in the following clauses of the
closure rule
(none)
Possible Culprit: Secondary CLASS * Found in the following clauses of the
closure rule
Found in 4 clause
Found in 5 clause
///// END - Specific Closure Rule Clause Evaluation
///// END – CLOSURE RULE CLAUSE ANALYSIS REPORT

The default setting for the PLMXML_log_file_content preference is summary, which provides more
information than basic, but less than detailed.

Review the syslog file for EntireExport or EntireImport


Look at the syslog file for statements with EntireExport or EntireImport. For example:
PIESession:ProcessExport/EntireExport Metrics - the PLMXML export operation
has been completed, here are the performance metrics:
SM Memory Usage(bytes): xxx
Total Memory Usage(bytes): xxx
CPU time(seconds): xxx
Real time(seconds): xxx
DB Trips: xxx

Turn on additional logging


• Turn on additional logging from Teamcenter by enabling the Teamcenter logging environment
variables.

• Turn on additional logging from the PLM XML Import Export module by enabling the following
environment variables.

Variable Value Purpose


PIEDBG_TOCONSOL 1 Writes debug information to the console.
PIEDBG_TOLOG 1 Writes debug information to the PIE log
file.
PIEDBG_TOSYSLOG 1 Writes the call sequence to the syslog
file (helpful in crash-like situations).

B-4 PLM XML/TC XML Export Import Administration PLM00030 12.1


Tips for using PLM XML Export Import

Enable environment variables for debugging


Enable the following environment variables to provide additional debug information. The setting of
PIEDBG_TOCONSOL or PIEDBG_TOLOG control the location of where the information is written.

Variable Value Purpose


PIEDBG_SESSIONTRACE 1 Writes a trace of session
activities.

PIEDBG_BOMEXPORT 1, 2, or 3 Writes information about


the assembly export. The
larger the number, the more
information is written.
PIEDBG_ADDTOPARENT 1 Writes information about the
add-to-parent call sequence
(parent-child relationship).
PIEDBG_TRAVERS 1, 2, or 3 1 – Writes information about
each top-level entity being
translated.
2 – Writes information about
every major step in the process
and traversal loop.
3 – Writes information plus
dumps the message structure
in the process.

Use ApplicationRef for external integrations


Use the ApplicationRef element to facilitate updates from external applications to Teamcenter.
PLM XML files generated from Teamcenter typically contain the ApplicationRef sub-element,
which uniquely identifies the associated object represented in the PLM XML file. For example, the
following represents an item:

Typical attributes of the ApplicationRef element include:


label or version One of these two attributes or a combination of these two uniquely identify the
object. Both can point to the UID (unique identifier) of the item being exported.

application Name of the application where the XML is generated from.

PLM00030 12.1 PLM XML/TC XML Export Import Administration B-5


Appendix
Appendix B: B:
Tips Tips for using
for using PLM PLM
XML XML Export
Export Import
Import

The ApplicationRef element is useful in external or third-party application integrations with


Teamcenter using PLM XML. You can provide a name in the application attribute and a unique
identifier for the object in the label attribute. As part of a PLM XML import, Teamcenter creates a
PLMAppUID object that stores the identifier from the label along with the corresponding Teamcenter
object’s UID. This helps in the re-transfer of the same object from the external application during an
update. During the update, Teamcenter uses the PLMAppUID object to update the object instead
of creating a new object. The same principle is used between Teamcenter-to-Teamcenter transfers
using PLM XML.
For each object that is exported from Teamcenter, the contents of the ApplicationRef element
are as follows:

Note
The application attribute is Teamcenter.

Product label = version = Item UID


Product revision label = Item UID, version = Item Revision UID
Dataset label = version = Dataset UID
External file label = version = ImanFile UID
Form label = version = Form UID
InstanceGraph label = top line’s BOM view bl_bomview UID]/InstanceGraph. This is only
for bomwriter. No ApplicationRef is written in a standard PLM XML export
(Tools→Export→To PLM XML).
ProductInstance label = PSOccurrenceThread UID, version = PSOccurrence UID
ProductRevisionViewFor leaf node, version = PSOccurrencThread UID, label = Item
UID/PSOccurrenceThread UID.
For a BomViewRevision, version = BomViewRevision UID, label =
BomView UID.
ProductView label = top line’s BomView UID/Revision Rule UID/Variant Rule UID/BOM
Occurrence label = BomView UID/PSOccurrenceThread UID chain all the way to the top.
If APN/AbsOcc is present, it forms the uniqueness, so label = BomView
UID/apn or absocc UID.

Configuring PLM XML import and export of alternate identifiers


between CAD files and Teamcenter
You can manually configure Teamcenter to support the export and import of alternate identifiers when
an object is exported or imported. It is assumed that alternate identifier functionality is enabled,
which assumes that identifier and ID context types, naming rules and ID context rules, and identifier
display rules are configured. To configure types and rules, see the Configure your business data
model in BMIDE.
The following preferences must be set to enable the import and export of alternate identifiers:

B-6 PLM XML/TC XML Export Import Administration PLM00030 12.1


Tips for using PLM XML Export Import

• IdentifierContextTypeDefault
Specifies an existing ID context type to be used as a default ID context when an object is
imported without an assigned ID context. This site preferences accepts a single string value.

• IdentifierTypeDefault
Specifies an existing identifier type to be used when an object is imported without an identifier
type. This site preference accepts a single string value.

PLM00030 12.1 PLM XML/TC XML Export Import Administration B-7


Appendix C: Troubleshooting PLM XML exports and imports

Following are specific scenarios that you may encounter while using PLM XML/TC XML Export
Import Administration.

Issue Possible cause Possible solution


PLM XML file not • FMS not set up • Verify by uploading a physical file to
generated/PLM XML file properly. a standalone dataset from the rich
generated but physical files client. This ensures that the basic
not generated • User does not have FMS/volume settings are correct.
write permissions
to the destination • Correct the FMS settings.
directory.
• Perform the export/import from
command line using plmxml_export
or plmxml_import. This eliminates
issues with the transient volume/FMS
settings. If this works, resolve FMS
setting issues.

• Review the syslog file to see if the PIE


export completed on the server side.

• Check the transient volume to see if


the server completed the generation.
Intended object not • Object not • Verify the PLM XML entity mapping
exported supported in PLM (schema) and Teamcenter PIE
XML schema. implementation for supported objects.

• Object supported in • Verify that the closure rules are in place


PLM XML schema and their directives are Process or
but not supported Traverse+Process.
in Teamcenter
PLM XML/TC • Review the PLM XML export log file in
XML Export Import detailed mode to see if there are errors
Administration. during the export of the intended object
(search for ERROR in the log file).
• Object supported
PLM XML schema
but closure rules
are not traversing to
the intended object.

PLM00030 12.1 PLM XML/TC XML Export Import Administration C-1


Appendix
Appendix C: C: Troubleshooting
Troubleshooting PLM PLM
XML XML exports
exports and imports
and imports

Issue Possible cause Possible solution

• Closure rules just


traverse instead
of process on the
intended object.

• Closure rules in
place but FilterRule
is filtering out the
object.

• Everything is in
place but there
is an error during
the export of the
intended object.
Intended object exported • The intended • If the property is part of the PLM XML
but intended property not property is not schema, no property set is required.
exported exported by Teamcenter PLM XML/TC XML Export
default in the Import Administration supports it.
PLM XML schema
(for example, • If the property is not part of the PLM
object_string on XML schema, you must specify a
ItemRevision). property set clause to export the
intended property.
• The intended
property is not part • Review the PLM XML export log file in
of the property set detailed mode to see if there are errors
used for export. during the export of the intended object
(search for ERROR in the log file).
• There is a functional
error in writing the
property value to
the PLM XML file.
Import failure • When importing • Make sure the FMS settings are correct
from the rich client, and the PLM XML file is successfully
the PLM XML transferred to the transient volume.
file and named
references are • Perform the export/import from
transferred to the command line using plmxml_export
transient volume on or plmxml_import. This eliminates
the server before issues with the transient volume/FMS
initiating the import. settings. If this works, resolve FMS
There may be setting issues.
issues with FMS.

C-2 PLM XML/TC XML Export Import Administration PLM00030 12.1


Troubleshooting PLM XML exports and imports

Issue Possible cause Possible solution

• The PLM XML file is • Review the PLM XML import log file
not well formed and and ensure there are no errors (search
cannot be loaded. for ERROR in the log file).

• There is a functional
error with XML
element processing.
o The object
types/data
model items
are not present
at the importing
site.

o The item
ID of items
being imported
already exist or
are owned by a
different user.

No objects found in Home • Import may have • Review the PLM XML import log file
folder/selected folder after failed. and ensure there are no errors (search
import for ERROR in the log file).
• PLM XML
import does not • Perform a general search in
copy/import the Teamcenter to ensure that the
objects to Home objects are imported but hanging in
or selected folder. database.
This is expected
behavior. • Set the
PLMXML_put_objects_in_newstuff
_on_import user preference to true to
copy the root objects of the importing
file (pointed to by traverseRootRefs)
to a new folder under the user’s
Newstuff folder. This new folder’s
name is the same as the XML file name
that is imported.

PLM00030 12.1 PLM XML/TC XML Export Import Administration C-3


Appendix
Appendix C: C: Troubleshooting
Troubleshooting PLM PLM
XML XML exports
exports and imports
and imports

Issue Possible cause Possible solution


Physical files not imported • FMS is not • Try uploading a physical file to ensure
configured properly. that the basic FMS settings are correct.

• Functional errors • Perform the export/import from


in uploading the command line using plmxml_export
physical file (for or plmxml_import. This eliminates
example, a binary issues with the transient volume/FMS
file uploaded to a settings. If this works, resolve FMS
text dataset). setting issues.

• Review the PLM XML import log file and


ensure there are no errors (search for
“ERROR” in the log file). Understand
the summary.
Specific object in file not • The intended object • Use the incremental_import transfer
imported may not exist in the mode to import everything from the .xml
exported .xml file file. ConfiguredDataImportDefault
(which makes it an imports only those objects that are
export issue). related to other objects and based on
the closure rules.

• Review the PLM XML import log file


and ensure there are no errors (search
for ERROR in the log file).
Specific property on object • The intended • Use incremental_import transfer
not set (exists in .xml file) property of the mode to import everything from the .xml
object may not exist file. ConfiguredDataImportDefault
in the exported .xml imports only those objects that are
file (which makes it related to other objects and based on
an export issue). the closure rules.

• Review the PLM XML import log file


and ensure there are no errors (search
for ERROR in the log file).
Improper importing of date • Importing a date • Edit the DefaultDateFormat key in the
type property type property text server .xml file (typically pointed to
from a PLM XML by the TC_MSG_ROOT environment
file honors the variable). Note that changing the
date format DefaultDateFormat key impacts the
defined in the date format for all of Teamcenter.
timelocal_locale.xml
file. The date format
in the PLM XML
file does not match
the date format
defined in the

C-4 PLM XML/TC XML Export Import Administration PLM00030 12.1


Troubleshooting PLM XML exports and imports

Issue Possible cause Possible solution


timelocal_locale.xml
file.
Exporting wrong version of • Exporting a dataset • Create a custom filter rule for dataset
dataset while it is being class objects, where it refreshes
simultaneously the object before it is exported. For
modified by a example:
different user
CLASS Dataset userRefreshObjectFilter
may result in the
wrong data being Then, add the filter rule to the transfer
exported. mode used for exporting.
Exporting wrong version of • Exporting an object • Use the ExportLatestObjectFilter filter
object while it is being rule to refresh objects before exporting.
simultaneously For example:
modified in a
CLASS.Dataset:ExportLatestObjectFilter
different session
may result in the Then, add the filter rule to the transfer
wrong data being mode used for exporting.
exported.
This can be used to refresh any POM
object before the export.
While processing a A closure rule clause Since this is a runtime object, the actual
is instructing the
CfgAttachmentLine object, attachment object may have already been
system to process
the export completed with processed by a different clause that has
the following error: all attachment lines, but persistent data model traversal.
one of the attachment
ERROR 203477 The source To avoid this error, add the following clause
object of the attachmentlines corresponds to just above the existing bl_attachments
line is "PseudoFolder", PseudoFolder, which is clause in the closure rule.
which is not a not a persistent object.
persistent object. So the underlying CLASS.ImanItemLine : CLASS.*
attachments cannot be : PROPERTY.bl_attachments :
processed. PROCESS+TRAVERSE : SECONDARY.
al_source_class != “PseudoFolder”
While the object in the XML
file imports correctly, the The import XML file with
import completed with the a UserData element User can either import the data
following error: that contains business using designed transfer mode (for
object attributes example, for UnitOfMeasure use
ERROR 38015 Unable to
find a property. that are not COTS ConfiguredDataImportDefault), or ignore
An error has occurred attributes (for example, the error.
during the processing UnitOfMeasure).
of some objects.
• PLM XML import
Intended Microsoft Office
does not support Use the Teamcenter rich client command
template imported but
import of Microsoft Tools→Import→Templates→Specification
intended styles, macro and
office styles, macro Template
header/footer not imported.
or header/footer.

PLM00030 12.1 PLM XML/TC XML Export Import Administration C-5


Siemens Industry Software

Headquarters
Europe
Granite Park One
Stephenson House
5800 Granite Parkway
Sir William Siemens Square
Suite 600
Frimley, Camberley
Plano, TX 75024
Surrey, GU16 8QD
USA
+44 (0) 1276 413200
+1 972 987 3000

Asia-Pacific
Americas
Suites 4301-4302, 43/F
Granite Park One
AIA Kowloon Tower, Landmark East
5800 Granite Parkway
100 How Ming Street
Suite 600
Kwun Tong, Kowloon
Plano, TX 75024
Hong Kong
USA
+852 2230 3308
+1 314 264 8499

About Siemens PLM Software

© 2018 Siemens Product Lifecycle Management


Siemens PLM Software, a business unit of the Siemens
Software Inc. Siemens and the Siemens logo are
Industry Automation Division, is a leading global provider
registered trademarks of Siemens AG. D-Cubed,
of product lifecycle management (PLM) software and
Femap, Geolus, GO PLM, I-deas, Insight, JT, NX,
services with 7 million licensed seats and 71,000 customers
Parasolid, Solid Edge, Teamcenter, Tecnomatix and
worldwide. Headquartered in Plano, Texas, Siemens
Velocity Series are trademarks or registered trademarks
PLM Software works collaboratively with companies
of Siemens Product Lifecycle Management Software
to deliver open solutions that help them turn more
Inc. or its subsidiaries in the United States and in other
ideas into successful products. For more information
countries. All other trademarks, registered trademarks
on Siemens PLM Software products and services, visit
or service marks belong to their respective holders.
www.siemens.com/plm.

You might also like