plm_export_import_admin
plm_export_import_admin
Teamcenter 12.1
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
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
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
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
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.
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.
• 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.
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”
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
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).
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/
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.
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.
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.
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.
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.
Archive or regenerate the tc.war file and deploy the modified file.
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.
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.
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.
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
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.
• “abc”
• 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.
• 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
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
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.
• SKIP_GRM
The primary object is exported as a full object, and the GRM
and secondary objects are ignored (neither processed nor
traversed).
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.
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)
• $(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.
• $opt_jt_ds == “true”
Evaluates the current closure rule clause only when the Traversal
engine has the opt_jt_ds option set to true.
• TYPE.CfgAttachmentLine :
TYPE.CfgAttachmentLine:PROPERTY. me_cl_child_lines:
TRAVERSE_AND_PROCESS:SECONDARY.al_source_class
== “Dataset”
• SECONDARY.object_type != “MyType”
• SECONDARY.object_id = “233*”
• PRIMARY.object_name = “TEST%”
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.
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
d. Select one of the following options from the Secondary Object Class Type list:
CLASS
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.
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.
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.
2. Modify the contents or precedence of the clauses, as described in Create closure rules.
3. Click the Yes button to delete the rule or click the No button to cancel.
• Primary Object
Dataset
• Secondary Object
*
• Relation Type
PROPERTY
• Action Type
PROCESS
2. Type a name for the rule in the Filter Rule Name box.
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
2. Modify the contents or precedence of the clauses, as described in Create filter rules.
3. Click the Yes button to delete the rule, or click the No button to cancel.
• 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
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.
2. Type a name for the rule in the Action Rule Name box.
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.
2. Modify the contents or precedence of the clauses, as described in Create action rules.
3. Click the Yes button to delete the rule or click the No button to cancel.
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.
Note
For PLM XML export, the class/type hierarchy is not
checked. Only the traversed objects with class/type matched
exactly will be honored.
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:
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:
CLASS.ItemRevision:PROPERTY.last_mod_date:DO
CLASS.ItemRevision:PROPERTY.object_string:DO
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.
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
2. Type a name for the property set in the Property Set Name box.
5. Create the ordered clauses that specify how the data structure will be traversed:
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
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:
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.
2. Modify the contents or precedence of the clauses, as described in Create property sets.
The system saves the changes to the property set to the database.
3. Click the Yes button to delete the set, or click the No button to cancel.
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.
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.
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.
2. Modify the definition by changing options, as described in Create transfer mode objects.
3. Click the Yes button to delete the object, or click the No button to cancel.
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>
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
Form
• Relation Type
RELATIONP2S
• Action Type
PROCESS
</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.
• Primary Object
ItemRevision
• Secondary Object
Dataset
• Relation Type
RELATIONP2S
• Action Type
PROCESS
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
ImanFile
• Relation Type
PROPERTY
• Action Type
PROCESS+TRAVERSE
Fourth clause
• Primary Object Class Type
TYPE
• Primary Object
MSExcel
• Secondary Object
ImanFile
• Relation Type
PROPERTY
• Action Type
PROCESS+TRAVERSE
Fifth clause
• Primary Object Class Type
CLASS
• Primary Object
ImanFile
• Secondary Object
*
• Relation Type
ATTRIBUTE
• Action Type
PROCESS
In addition, change the Action Type for the second clause (the one exporting the dataset) to
PROCESS+TRAVERSE.
</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>
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
TYPE
• Secondary Object
BOMLine
• Relation Type
PROPERTY
• Action Type
PROCESS+TRAVERSE
Seventh clause
• Primary Object Class Type
TYPE
• Primary Object
BOMLine
• Secondary Object
ItemRevision
• Relation Type
PROPERTY
• 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"
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"
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"
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.
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.
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.
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.
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.
Note
Do not use this transfer mode
in the plmxml_import and
plmxml_export utilities.
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.
• 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:
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.
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.
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.
e. In all closure rules with constraint checking, change the ImanItemP property to Item and the
ImanItemRevP property to ItemRevision.
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.
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.
The following action handlers are used with the PLM XML/TC XML Export Import Administration
application action rules.
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
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
• PLMXMLAdminDataExport
• TIEImportDefault
• TIEPDXExportDefault
• TIEUnconfiguredExportDefault
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
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.
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.
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.
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.
The PLMAppUID object does not actually have an application_uid property, but it allows control of
this type of translation.
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
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")
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
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:
This causes the translator to interpret all new additions to be in the context of the top line.
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>
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
By default, PublishLink data is not exported unless you add this clause to the closure rule.
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.
• 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.
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 highlighted items show that the GeneralRelation element relates id2 and id11, which represents
the revisions for Item1 and Item2, respectively.
To export forms and external files in a dataset, add these clauses to the property set:
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>
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"/>
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.
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>
</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.
To export only the items in a folder, use the following closure rule:
CLASS.Folder:CLASS.Item:PROPERTY.contents:TRAVERSE+PROCESS
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.
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.
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.
• 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:
• 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.
With this closure rule, the export includes the BOM window and all BOM lines. Each occurrence
element has occurrenceRefs pointing to its child lines.
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"
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).
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.
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:
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.
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.
The export includes the relation between the item revision and the dataset:
PRIMARY.bl_window_is_BOPWin=="false",
CLASS.ImanItemLine :TYPE.*:PROPERTY.bl_attachments:
PROCESS+TRAVERSE:SECONDARY.al_source_class=="Dataset"
&& PRIMARY.bl_window_is_BOPWin=="false",
CLASS.ImanItemLine :TYPE.*:PROPERTY.bl_attachments:
PROCESS+TRAVERSE:SECONDARY.al_source_class=="Form"
&& PRIMARY.bl_window_is_BOPWin=="false",
CLASS.ImanItemLine :TYPE.*:PROPERTY.bl_attachments:
PROCESS+TRAVERSE:SECONDARY.al_source_class=="Folder"
&&PRIMARY.bl_window_is_BOPWin=="false",
TYPE.CfgAttachmentLine:TYPE.CfgAttachmentLine:
PROPERTY.me_cl_child_lines:PROCESS+TRAVERSE:
((SECONDARY.al_source_class!="PseudoFolder")
&&(SECONDARY.al_context!="IMAN_PublishingPageAssetContext")),
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=""
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>
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).
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.
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.
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
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.
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 Yes button to delete the set, or click the No button to cancel.
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.
• 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>
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.
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>
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>
You can use extensions points to customize the import and export of PLM XML files. The following
customization points are available:
Following is the order user extensions are called when exporting a PLM XML file:
1. pre-action
2. Export process
• Filters
• User methods
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)
4. during-action
5. Import process
• Filters
• User methods
6. post-action
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.
4. Click Finish.
9. Click Finish.
The Extensions view shows the new extension.
10. In the Extensions view, expand User Exits and double-click PLMXML.
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.
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);
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;
}
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:
For a full list of schema mappings, see PLM XML/Teamcenter entity mapping.
func
Specifies a function pointer that has a function signature of:
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.
2. In the Extensions view, right-click the root node and choose Deploy Template.
2. Enter the path in the Current Values box and click OK.
3. Restart Teamcenter.
4. Click Create.
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.
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.
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>
Note
The default schema mapping is ProductRevision-to-ItemRevision and
Product-to-Item.
• Traverse rules that describe a traversal from one node to another node, or from one attribute
to another attribute.
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).
• 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.
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.
1. Open a Teamcenter command prompt and navigate to the following subdirectory of your
Teamcenter installation directory (TC_ROOT):
TC_ROOT\janus
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
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.
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.
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.
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.
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
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
• 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.
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.
Symbol Usage
# Comments
| Subclause separator
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.
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.
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.
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.
Function definitions
Define global variables or functions in the rule file with the following form.
!define <opt_custom_option> = <value>;
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)
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 )
source_hierarchy specifies the rule for the source XML and target_hierarchy specifies the rule for
the target XML.
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'
!assert_error |Cpd0DesignFeature.mdl0revision_id|
print_validation_info( $OBJECT , 'revision is missing')|
validate_new_obj_missing_attr($OBJECT, $SOURCE_VALUES)
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
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
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.
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')
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
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.
Mapping rules
Mapping rules are executed in the following order
1. Rules for object 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.
Output
<Workset catalogueId="4G_PLMXML_WS01" id="id1"
name="WS01" subType="Cpd0Workset">
<Description>test desc</Description>
</Workset>
</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
id checkoutRefs productId
name subType alternateForRef
nameRef effectivityRefs unitRef
descriptionTextRef releaseStatusRefs designRequired
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.
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
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
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
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
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
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
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
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.
• 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:
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.
Note
The log file also contains information about any errors that occur during the import or export.
****************************
****************************
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: /////
The default setting for the PLMXML_log_file_content preference is summary, which provides more
information than basic, but less than detailed.
• Turn on additional logging from the PLM XML Import Export module by enabling the following
environment variables.
Note
The application attribute is Teamcenter.
• 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.
Following are specific scenarios that you may encounter while using PLM XML/TC XML Export
Import Administration.
• 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.
• 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.
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