Ips Data Upload 14-21-0 TSD
Ips Data Upload 14-21-0 TSD
RELEASED
Document Info
Revision: 14.21.0
Issued Date: 20th Mar 2024
Reference: IPS_DATA_UPLOAD_14_21_0_TSD.doc
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Copyright in this work is vested in Siemens Digital Industries Software and the document is issued in confidence for the
purpose only for which it is supplied. It must not be reproduced in whole or in part or used for tendering or
manufacturing purposes except under an agreement or with the consent in writing of Siemens Digital Industries
Software and then only on the condition that this notice is included in any such reproduction. No information as to the
contents or subject matter of this document or any part thereof arising directly or indirectly there from shall be given
orally or in writing or communicated in any manner whatsoever to any third party being an individual firm or company or
any employee thereof without the prior consent in writing of Siemens Digital Industries Software.
SIEMENS Technical Document
DOCUMENT HISTORY
6.7.0 12/01/2007 Guy Bursell Fixed error when check-in an object that is
checked-out to another user.
7.4.0 31/03/2010 Tim Williams See major update list in section Appendix M:
Major updates. This version covers new
features from 6.8.0 through to 7.4.0.
7.6.0 25/10/2010 Tim Williams Includes updates from 7.5.0 and 7.6.0.
See major update list in section Appendix M:
Major updates.
7.7.0 11/02/2011 Tim Williams See major update list in section Appendix M:
Major updates for 7.7.0 mods.
8.0.0 21/06/2011 Tim Williams See major update list in section Appendix M:
Major updates for 8.0.0 mods.
Main changes:
8.1.0 18/08/2011 Tim Williams See major update list in section Appendix M:
Major updates for 8.1.0 mods.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
8.2.0 24/10/2011 Tim Williams See major update list in section Appendix M:
Major updates for 8.2.0 mods.
9.0.0 24/04/2012 Tim Williams See major update list in section Appendix M:
Major updates for 9.0.0 mods.
9.2.0 02/07/2012 Tim Williams See major update list in section Appendix M:
Major updates for 9.1.0 and 9.2.0 mods.
10.0.0 31/08/2012 Tim Williams See major update list in section Appendix M:
Major updates for 10.0.0 mods.
10.1.0 21/11/2012 Tim Williams See major update list in section Appendix M:
Major updates for 10.1.0 mods.
10.1.1 26/11/12 Tim Williams Added details and examples for creating legacy
and modular variant options and conditions
during a BOM import. See BOM MODULE
NOTES and examples in Appendix.
10.3.0 10/01/13 Tim William Can now set general properties on projects.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
10.5.0 18/03/13 Tim Williams Add support for multiple language properties
when using general colon property fields.
10.6.0 27/03/13 Tim Williams Added new field AlternateRevIDs to specify rev
IDs for alternate (substitute) revs for a BOM
child.
10.7.0 05/04/13 Tim Williams Added new option to generate basic ‘nnnnnn’
format item IDs.
10.10.0 25/10/13 Tim Williams Added support to create, update and use
specific revision sequences.
11.0.0 03/04/2014 Tim Williams 1) Added support for MultiField Keys in Tc 10.1
to allow for multiple items with the same item ID
by specifying .KEY fields.
11.1.0 19/06/2014 Tim Williams 1) Added support for creating relations using
POM on sub-classes to ImanRelation.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
11.2.2 10/09/2015 Tim Williams 1) Doc update to add missing dataset config
options.
11.2.3 22/09/2015 Tim Williams 1) Added help for Un-releasing in Items notes.
11.3.0 09/09/2015 Tim Williams 1) Started to add TAG input fields, starting with
DsetName.TAG.
12.1.0 11/02/2016 Tim Williams 1) Made .APPEND and .FIND work together.
12.3.0 11/05/2016 Tim Williams 1) Fixed problem with Auto generation of Item
IDs.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
a POR.
12.6.0 07/12/2016 Tim Williams 1) Enhanced .FIND to use ItemID and RevID
12.7.0 25/08/17 Tim Williams 1) Fixed crash issue setting legacy O&V default
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
13.1.0 06/04/18 Tim Williams Added MFK support for bom fields SubstChild
and Alternates.
13.2.0 24/08/18 Tim Williams Added new create functionality to POM mode to
use general TCTYPE_create_object for better
object creation of general object types.
14.0.0 21/08/19 Tim Williams 1) Added arguments for batch control, to set
batch size with either a start line or batch ID.
14.2.0 09/12/19 Tim Williams 1) Added support for setting attributes of type
table.
14.5.2 25/11/20 Tim Williams Added comment that by default, i.e. without
.APPEND option all participants are replaced.
14.6.0 27/11/20 Tim Williams Added extra control for setting and updating
participants.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
14.9.0 29/03/21 Tim Williams 1) Allowed .FIND with ref’d attrs in pom mode.
14.10.0 29/04/21 Tim Williams 1) Added support for general Object field in
pom mode.
14.14.0 25/11/21 Tim Williams 1) Updated control over update items, revs and
their attachments.
14.15.0 22/03/22 Tim Williams Added support for mandatory table attributes.
14.16.0 06/04/22 Tim Williams Fixed problem with security properties not
propagating OOTB during BOM creation.
14.17.0 30/05/23 Tim Williams 1) Added support to set and update Global
Alternates.
2) Updated all item find functions in mfg mode
to use new function to find items using MFK
fields.
3) Added new field FileOrigName in datasets
mode
14.18.0 27/06/23 Tim Williams 1) Updated BOM Occ search in mfg mode to
use RDV search to improve performance.
14.19.0 07/07/23 Tim Williams 1) Added support for existing BOM fields
TargetParentID and TargetParentRev to mrp
mode to find Process and Product children to
link under specific parents.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
REFERENCE DOCUMENTS
Document Revision Date Doc Reference
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
CONTENTS
1. EXECUTIVE SUMMARY ............................................................................................ 18
1.1 Versioning ................................................................................................................... 18
2. TECHNICAL OVERVIEW ........................................................................................... 19
2.1 Modes ......................................................................................................................... 19
2.2 USAGE ........................................................................................................................ 20
2.3 INPUT DATA FILE ...................................................................................................... 22
2.3.1 [7.0.0] End of File ........................................................................................................ 23
2.3.2 [7.0.0] General properties ........................................................................................... 23
2.3.2.1 [7.0.0] Field Modifiers .................................................................................................. 24
2.3.2.2 [7.0.0] Relation properties (Tc8+) ............................................................................... 30
2.3.2.3 [7.1.0] Setting project .................................................................................................. 30
2.3.2.4 [12.7.0] Custom Field Identifiers ................................................................................. 31
2.3.3 [11.3.0] Supplying PUIDs (tags) for Input fields .......................................................... 31
2.3.4 [14.0.0] Setting default values ..................................................................................... 32
2.3.5 [14.2.0] Setting table attributes ................................................................................... 32
2.3.5.1 Replacing and Appending table attribute rows ........................................................... 33
2.3.5.2 Examples - Setting Table Attributes............................................................................ 33
2.3.6 [14.2.0] General ‘Object’ field ...................................................................................... 34
2.3.6.1 ‘Object’ Examples ....................................................................................................... 34
2.4 CONFIGURATION OPTIONS ..................................................................................... 35
2.4.1 [7.6.0] INCLUDE CONFIG FILE .................................................................................. 35
2.4.2 General Configuration Options ................................................................................... 36
2.5 RUNNING AN IMPORT .............................................................................................. 40
2.5.1 [14.0.0] Batch processing ........................................................................................... 40
2.5.1.1 Automated Batching .................................................................................................... 40
2.6 [9.2.0] Overriding BMIDE rules on attributes .............................................................. 45
2.7 [11.0.0] MultiField Keys in Tc10+ ................................................................................ 45
2.7.1 Introduction ................................................................................................................. 45
2.7.2 Data Field modifiers .................................................................................................... 46
2.7.3 [12.7.0] KEY field Identifier ......................................................................................... 46
2.7.3.1 Supported fields .......................................................................................................... 46
2.7.4 Item MFK string ........................................................................................................... 47
2.7.5 [14.17.0] .KEY plus .PROP ......................................................................................... 47
2.7.6 Considerations ............................................................................................................ 47
2.8 [12.0.0] Object Propagation ........................................................................................ 49
2.8.1 Propagation Fields ...................................................................................................... 49
2.8.2 Propagation path format ............................................................................................. 49
2.8.2.1 Propagation Type String ............................................................................................. 49
2.8.2.2 Propagation Relation String ........................................................................................ 52
2.8.3 Propagation path processing ...................................................................................... 53
2.8.4 Propagation considerations ........................................................................................ 53
2.8.5 [12.2.0] Setting ‘project_list’ (Project Assign) ............................................................. 54
2.8.6 [14.8.0] Setting security attributes like license_list ..................................................... 55
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
TABLES
Table 1: Outline list of operation modes ............................................................................................... 19
Table 2: Command line options ............................................................................................................ 21
Table 3: [11.3.0] PUID input fields ........................................................................................................ 32
Table 4: List of modes than can use ‘Object’ field ................................................................................ 34
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
1. EXECUTIVE SUMMARY
The following document provides technical documentation for using the
IPS_DATA_UPLOAD utility developed by Siemens PLM, UK. This utility is used to provide
bulk data upload and data cleanup capability in Teamcenter Engineering and Teamcenter
UA.
o Items
o BOMs
o Forms
o List of Values (LOVs) (Prior to UA only)
o Relations
o Datasets
o Folders
o Projects
o Classification
o Identifiers
o Manufacturing (Including CC and SC objects and structures)
o Workflow [7.0.0]
o Pom [9.0.0]
Each module has various configuration and data definition options, all of which are
described in this document.
1.1 Versioning
The IPS_DATA_UPLOAD executable version is made up like this:-
<MajorUpdate>_<MinorToMediumUpdate>_<BugFix>
This document reflects any <MajorUpdate> and any <MinorToMediumUpdate>, but not a
<BugFix>.
So, in the document version the <BugFix> becomes a <DocFix>, where the <DocFix> is an
update to the document. This could be just some re-wording, or maybe adding some
description of old functionality that was previously missed out.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
2. TECHNICAL OVERVIEW
The IPS_DATA_UPLOAD utility is a generic all-purpose tool used to import data into
Teamcenter Engineering and Teamcenter UA. It is capable of importing various types of
objects and data and operates in a number of modes to achieve this:
2.1 Modes
The ability to use the ips_data_upload utility requires the following pre-requisites:
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
The ips_data_upload utility itself allows a number of ways of setting configuration and
input data options; via command line arguments, a separate configuration file and even the
ability to place configuration options in the input data file!
If command line arguments are supplied they will override the configuration file and the data
file. The following order of precedence should be observed when specifying configuration
options:-
2.2 USAGE
When running the utility, there are several command line arguments that it takes. These
arguments take the format:-
-option=<value>
The arguments are used to provide login user details, operating mode and data input file
and configuration files as shown in the table below:
OPTION DESCRIPTION
-h Displays the full usage
-u=<user_id> Where <user_id> is the iMAN login user ID
-p=<password> Where <password> is the iMAN users’ password
-g=<group> Where <group> is the users’ group to use
-m=<mode> Specifies the mode of operation, such as items, bom,
-mode=<mode> datasets or relations.
[7.0.0] Can also use –mode=<mode>.
-i=<input_data_file> Where <input_data_file> is the data file to upload
-cfg=<config_file> Where <config_file> is the configuration options file
-o=<output_file> Where <output_file> is the output log file. If not supplied
the default filename will be input_data_file.log
-r=<repeat_file> Where is the repeat file which will contain a copy of any
data lines which caused an error. If not supplied the
default filename will be input_data_file.rep
-noautologin [7.0.0] Turns off auto login which would prompt for a user
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
name and password should any supplied values fail. This
would cause problems during batch processes. So by
turning off auto login with this argument allows the program
to terminate cleanly and provide details in the log file about
a login failure.
-report_file=<report_file> [7.0.0] This option turns off all create and update options
effectively just writing a report of objects found and not
found in the specified report file.
-v [6.9.0] Turns on verbose mode to get more detailed output
about relations being processed.
-h With just –h the full usage will be displayed. Otherwise
-h=<mode> | args specify a mode to get help on or args to get help on
arguments.
-debug=MAX Turns on program debug output when running. Can be
any of the following: 1|2|4|8|16|32 | MAX
Typically this is set to MAX.
Alternatively set the following environment variables:-
set DEBUG_MAX=1
set DEBUG_FILE_NAME=<debug_file>
See section 3.3 for further details on debugging.
-validation=<n> [8.1.0] Turns on field validation and will validate n data
lines. For example, to validate the first 2 data lines, use:-
-validation=2
Validation can also be turned on using configuration
options.
See the trouble shooting section on [8.1.0] Field Validation.
-validation_import [8.1.0] If supplied turns on import with field validation.
See the trouble shooting section on [8.1.0] Field Validation.
-new_items_ids_log=<New [10.0.0] Specifies a file into which will be written any auto
item IDs log file> generated item IDs if AUTO GENERATE ITEM ID = ON.
-batch_size [14.0.0] Specifies the number of data lines (so ignoring
config lines and header line) to process in a batch. Use
with -start_line or -batch_no.
-start_line [14.0.0] Specifies the data line number to start processing
a batch from. Use with -batch_size.
For example, if the batch size is 100 and the start line is
201, then lines 201 to 300 will be processed.
-batch_no [14.0.0] Specifies the batch number to process. Use with -
batch_size.
For example, if the batch size is 100 then batch number 3
is from line 201 to 300.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
!~ItemID~RevID~Desc~Name~Owner~Group
In this example, there are 6 fields defined using case sensitive keywords. An example of
the Header line followed by a data input line, and preceded by a configuration option is
shown below:
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
The above data line will create or find the Item GUY12345, Revision A, and set its Item
Description, Item Name and Owning User and Owning Group properties to the values
supplied.
If a field needs to be ignored during input, maybe because the column contains only
superfluous information, then insert Ignore: in the field name, e.g.:-
Ignore:Owner~Ignore:Group
[7.0.0] To set a property to a null or empty value use the keyword NULL as a value.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION OBJECT
MEPRREV MEProcessRevision
MEOP MEOperation
MEOPREV MEOperationRevision
BV BOMView
BVR BOMView Revision
BL BOM Line
NOTE: This is not available via a type or class.
BLCTXT [8.0.0] BOM Line In Context to another revision.
SC Structure Context
CC Collaboration Context
WFPROC Workflow Process
ATTACHMENT Attachment to item or revision
IDENTIFIER [10.2.0] Identifier
IDENTIFIER_REV [10.2.0] Identifier rev
PROJECT [10.3.0] Project.
NOTE: The general property owning_user requires a fully defined user identification containing
person name and user ID, e.g. Tim Williams(tim) as seen in Tc. [12.0.0] This should no longer
be required, just the user ID, e.g. tim, should suffice. This along with other system properties,
e.g. owning_group, project_list that cannot be set with general property functions are trapped
and set using dedicated ITK functions.
[14.14.0] Added the ability for the property owning_user to be supplied as <user><multi-
sep><group>, e.g. tim,Engineering. This way both values get set at once.
Version 7.0.0 also introduced field modifiers which can be used with general properties in the
format:-
<OBJECT>:<property>[.<modifier>[.<modifier>[.<modifier>.<…>]]]
The following table shows the available modifiers:-
OPTION DESCRIPTION
.FILE Indicates that the value supplied in the data line for this field is actually
the name of a file containing the values to be set for this field.
The root directory containing the value files can be set by the
configuration option VALUE FILES ROOT DIR.
This will typically be used for array or note fields. See the example for
ARRAY just below.
.DATE Indicates that the field is a date property for the format of the supplied
date values is specified in the configuration option DATE FORMAT.
.ARRAY Indicates that the field is an array property.
By default values supplied for an array will be split on a comma, but a
different separator can be specified using the configuration option
MULTI VALUE SEPARATOR STRING.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
Alternatively specify the values in a file, e.g.:
!~ItemID~RevID~RM:array_attr.ARRAY.FILE
000001~A~array_attr_list_000001A.txt
File array_attr_list_000001A.txt:
Value 1
Value 2
Value 3
.UPPER Forces the value to be set as UPPER CASE.
.LOWER Forces the value to be set as lower case.
.BRACKET_VALUE [14.7.0] Extracts a value surrounded with round brackets.
For example a user property extracted from Tc and re-used as input for
the owning_user property:-
Tim Williams (tim)
Will extract tim as the value to set as the owning_user.
.TAG Indicates that the value supplied is the tag (or PUID) of an object to be
set in a typed or untyped reference property.
.BY_VAL Indicates that if a typed reference property has an LOV attached to it
then a value from the LOV has been specified instead of an object tag.
.PARENT Indicates that the property value being set should be read from the
objects parent, e.g. for a revision set the property value to the same as
the value on its owning item.
The same result can be achieved by supplying a value of $PARENT.
[11.0.0] When used in conjunction with a .KEY modifier on an item ( I: )
field it distinguishes between parent and child MultiField key fields for
parent and child items in bom and relation modes.
.PARTICIPANT [8.2.0] Used to set Participant relations, e.g. ProposedReviewer,
Analyst.
Must be used with .USER, .GROUP, .GROUP_MEMBER or
.RESOURCE_POOL.
By default the first data line will replace existing participants and
subsequent lines will append further participants.
[12.9.0] Can add the .APPEND field modifier to always append to
existing participants.
[NOTE] Without .APPEND then ALL current participants, even with
mixed participant types, will be replaced.
[14.6.0] Changed the default behaviour to be APPEND and added
extra control, thus:-
Now adds by default, instead of replace all.
Added new field modifier .REPLACE_ALL if do need to replace all.
Using .REMOVE will remove participant of specified type.
Using .REPLACE will replace all participants of the specified type.
.USER [8.2.0] Specifies that the supplied value is a user name to find the user
object to attach, e.g. use with .PARTICIPANT to attach a user.
.GROUP [8.2.0] Specifies that the supplied value is a group name to find the
group object to attach, e.g. use with .PARTICIPANT to attach a group.
.GROUP_MEMBER [8.2.0] Specifies that the supplied value is a group member to find the
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
group member object to attach, e.g. use with .PARTICIPANT to attach
a group member.
The string format to specify a group member is:-
<group1[,group2[,…]]>/<role1[,role2[,…]]>/<user1[,user2[,…]]>
For example:-
dba/DBA/infodba
Multiple group member strings can be supplied separated by the
separator defined by the config option:-
MULTI VALUE SEPARATOR STRING.
The ‘/’ and ‘,’ separators can be specified using the config options:-
GROUP MEMBER MAIN SEPARATOR
GROUP MEMBER MULTI VALUE SEPARATOR
.RESOURCE_POOL [11.2.0] Specifies that the supplied value is a resource pool to add to a
.PARTICIPANT field. The format is:-
<group>[/<role>[/NO_SUB_GROUPS]]
For example:-
dba - defaults to * for role
dba/*
dba/DBA
*/DBA
dba/*/NO_SUB_GROUPS
.POM [9.2.0] Sets the value using a POM function to override access and
any BMIDE rules set on the attribute, e.g. write_only_if_null.
Alternatively the new config option SET COLON PROPS WITH POM
can be used to provide a CSV list of general property fields to be set
with POM functions. See section 2.4.2.
.LANG[=lang] [10.5.0] Specifies a field as a language field. By default the value in
the config option DEFAULT LANGUAGE will be used as the language
unless specified with the optional =lang, e.g.:-
R:object_name.LANG=fr_FR
Multiple language fields can be set in the same data file. For
example:-
DEFAULT LANGUAGE = fr_FR
!~ItemID~RevID~R:object_name.LANG~R:object_name.LANG=de_DE
000001~A~French name~German name
By default the language value status will be set to Approved, but this
can be defaulted with the config option DEFAULT LANGUAGE
STATUS.
NOTE: To be able to set languages against a property it must be
defined as a language field in BMIDE.
.MAND [10.11.0] Indicates a mandatory field. Currently only applies when a
new Item is created. Use it to indicate mandatory item, rev and master
form attributes so that they get set at the time of creation.
For example, if object_desc has been set as mandatory for the item
use:-
I:object_desc.MAND
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
.MAND!
NOTE 2: To set mandatory master form attributes when the item is
created the field name must start with the master form type and not the
shortcuts IM or RM since these are not treated as general properties.
So, for example use:-
TW4_ItemMaster:project_id.MAND
And not
IM:project_id.MAND
NOTE 3: When setting the a mandatory attribute the type cannot be
determined, therefore if an array is being set with multiple values add
the .ARRAY field modifier, e.g.:-
I:<array_attr>.MAND.ARRAY
NOTE 4: Items with MANDatory properties, specified with the .MAND
field modifier, must be created in items mode. This is because
multiple sets of .MAND fields, i.e. for parent and child items, are not
supported.
.FIND=<search_attrs> [10.11.0] Finds other objects to set on referenced attributes. For
example can be used to find a TC_Project object to set as the
owning_project.
The <search_attrs> specifies the class of object to find and the
attributes to search on in the format:-
<Class><sep><attr1>[<sep><attr2>[…]]
I.e. a class and at least one attribute separated by a configurable
separator using the config option FIND FIELD DATA SEPARATOR, or
a comma by default.
Values supplied in the data line, using the same separator, will supply
values for each attribute to search on. Any value can be blank to not
search on a specific attribute for that data line. A blank value will
perform no search at all.
If more than one value is found for a non-array attribute then the first
object will be set for the attribute. An array attribute will have all
objects set.
For example, to set owning_project:-
I:owning_project.FIND=TC_Project,project_id
Project X
Project Y
The first line here is the header field and the others are example data
values.
An asterix, *, can be used in a value to perform a wild card search.
For example, to find a list of test projects to set as a project list where
the project ID starts with Test and the name = Test:-
I:project_list.POM.FIND=TC_project,project_id,project_name
Test *,Test
Note that this example also uses the .POM field modifier as project_list
is normally a non-modifiable attribute.
NOTE 1: Currently only string attributes can be searched on to find
objects using the .FIND modifier.
NOTE 2: [12.6.0] If the class of object being searched for is descended
from Item or ItemRevision then the key fields ItemID and RevID can be
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
used to find an item or rev. E.g.:-
Object.FIND=ItemRevision,ItemID,RevID
NOTE 3: [12.7.0] Separate fields can now be supplied to define the
.FIND class and attributes. See next row.
.FIND=<FieldID> [12.7.0] This is an alternative way of using the .FIND field modifier, to
that described in the previous row, which allows multiple fields to be
~<FieldID>:<Attr> used instead of supplying all values in one delimited field.
With this option a single Field Identifier value, which can be anything, is
supplied with the .FIND after an =’s sign, as opposed to a class and
attribute list.
The class to search on is supplied as the value for the .FIND field.
Additional fields are then supplied with the format:-
<FieldID>:<Attr>
Where the value is the attribute value to search on.
With this method the previous example can be defined as:-
I:project_list.POM.FIND=FindProject~FindProject:project_id~Find
Project:project_name
TC_project~Test *~Test
.KEY [11.0.0] Indicates MultiField Key fields to provide unique property
values to find specific items that can have the same Item ID.
To provide different keys for parent and child items, e.g. in bom mode
child keys must be further identified by adding the .CHILD modifier.
.KEY=<FieldID> [12.7.0] For property fields, and the EffEndItem field, requiring an item
to be found using MFKs the .KEY can be supplied with a Field Identifier
to find fields that specify the attributes and values to use to find an
MFK item. The value of the .KEY field must supply the item ID.
For example:-
EffEndItem.KEY=FindMFKItem~FindMFKItem:object_type~FindMF
KItem:my4_mfk_str_key1
M000001~MY4_MFK_Tag_Item~val1
.CHILD [11.0.0] Indicates that a field is used to identify a child property.
This is used in conjunction with the .KEY modifier to differentiate
between parent and child MultiField Key fields.
.BOM_OCC_KEY [11.0.0] Identifies fields during a BOM update that are used to identify
an occurrence to be updated. This field can be used as well as or
instead of the fields specified with the BOM UPDATE ID FIELDS
configuration option
.PROPAGATE [12.0.0] Identifies fields to be set on propagated objects when using
PROPAGATION PATHs. These fields should also be set as colon
fields with the object type of *, e.g.:-
*:owning_user.PROPAGATE
See the section 2.8 for full details on propagating values to objects
under the current object being updated, e.g. item or rev.
TABLE_NAME [14.2.0] Specifies a name for a set of table column attribute fields to
set data on a table attribute, where the table column attributes are
specified as the properties with the table name as the type code.
The TABLE_NAME field, can also have a TABLE_COL modifier to
specify the first column name.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
The TABLE_NAME field is the master field for the object’s table
attribute.
Example:-
R:sub7_cost.TABLE_NAME=R_sub7_cost.TABLE_COL=sub7_discipl
ine.FIND=IPP2CostCategory,object_name~R_sub7_cost:sub7_mh~R
_sub7_cost:sub7_obsSkills
See section 2.3.5 - [14.2.0] Setting table attributes for full details.
TABLE_COL [14.2.0] Specifies a table column attribute name to be set for a
specified table name. Can be used on TABLE_NAME field, if required,
to specify a table column attribute.
See section 2.3.5 - [14.2.0] Setting table attributes for full details.
OPTION DESCRIPTION
the .PROP method would create a new WebLink object every
time.
However, using the pom mode, the option CREATE POM
OBJECTS ALWAYS can be used to ensure a new object is
always created.
.BO_CI [13.2.0] This is like the .CLASS modifier above. But, where the
.CLASS is used to define a referenced object the .BO_CI is used
to specify a Create Input property, that is not a storage property
of the parent object.
An example is the revision Create Input property for Item,
where revision is not a storage property for Item.
.BO_CREATE [14.7.0] This is used the same as .BO_CI (described above), but
immediately creates the referenced object as opposed to only
pre-defining it and it getting created when the main object is
created.
Unfortunately trial an error will have to be used to determine
which to use. So try one option, then if it fails try the other.
For examples though, for items and revisions (which must both
exist and be related) .BO_CI is used.
Whereas for ScheduleTask and Schedule objects .BO_CI fails
and .BO_CREATE is required, maybe because a Schedule can
exist with a ScheduleTask..
See the [9.0.0] POM MODE section for full details on creating/updating general POM objects.
Also supported from Teamcenter 8 onwards is the ability to set properties on relations when they
get created. For example when a form or dataset is attached to an item or revision then a
property can be set on the relation created between the two objects.
To set a relation property define a general property field with the relation name as the type, e.g.:-
IMAN_specification:<property>
Projects can now also be assigned to individual objects using the general properties format by
specifying any of the project_ids, project_list, projects_list property.
For example to set projects for any dataset use the field:-
(Dataset):project_ids
Or
DSET:project_ids.
Multiple projects can be supplied in a comma separated list with no spaces. A value of NULL will
un-assign all projects from the object. This can also be used as an alternative to set projects on
items and revs too.
The projects must already exist. This method will not create or update projects. Use the normal
projects mode and fields to do this. Errors will be provided for any project which does not exist.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Version 12.7.0 has introduced the concept of some field modifiers providing custom Field
Identifiers to indicate other fields that specify information to complete the action for that
field modifier.
Currently the field modifiers supporting Field Identifiers are .FIND and .KEY. The format is:-
.FIND=<FieldIdentifier>
.KEY=<FieldIdentifier>
The <FieldIdentifier>, which can be any string, is used the same as an OBJECT type code,
like I:, to find fields in the format:-
<FieldIdentifier>:<attribute>
For both the .FIND and .KEY modifiers the field headers provide attribute names to search
on and the data line contains the attribute value.
This feature is currently limited to:-
• Setting general properties on objects where the property requires an item to be found
using MFKs or some other object needs to be found using .FIND.
• When the .KEY modifier is used to find main objects use the standard .KEY format,
i.e. with no FieldIdentifier. The .FIND can also be used to locate objects for an
attribute that is an MFK attribute, i.e. a tag reference attribute.
• The EffEndDate field has specific functionality to find objects using this new .FIND
and .KEY functionality.
Example for EffEndDate field:-
Note: this is not a full header line! All the fields here are just to find an End Item using MFK
attributes where one attribute is a tag reference for which .FIND has been used.
EffEndItem.KEY=FindMFKItem~FindMFKItem:object_type~FindMFKItem:my4_mfk_str_k
ey1~FindMFKItem:my4_mfk_tag_company_loc.FIND=GetLocFIND~GetLocFIND:object_n
ame
M000001~MY4_MFK_Tag_Item~val1~CompanyLocation~loc1
Here the EffEndItem field is using .KEY with a field identifier named FindMFKItem which
has 3 fields defined. The EffEndItem field supplies the item ID M000001 and the 3 named
fields supply the MFK attributes to search on. Where the last field uses .FIND with a field ID
of GetLocFIND, for which there’s 1 field to define the attribute object_name to search on.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
!~ItemID~RevID~Desc~RevDesc~I:last_mod_date~I:creation_date
MAND-001~A~Item Desc~Rev Desc A~16-Mar-2018 10:00~15-Mar-2017 11:00
Example 2:-
DEFAULT VALUES HEADER LINE = (Item):license_list.REMOVE.PROPAGATE
DEFAULT VALUES DATA LINE = PSA-A
!~ItemID~(Item):license_list.PROPAGATE~(Item):gov_classification.PROPAGATE~
(Item):gov_classification.PROPAGATE
000226~PSA-B~NULL~UK OFFICIAL-SENSITIVE - NEED-TO-KNOW
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
If the TABLE_COL modifier is not used on the TABLE_NAME field then leave the data
value blank. When supplying TABLE_COL with the TABLE_NAME field and additional field
modifiers act on the table column attribute. If the TABLE_COL modifier is not added, then
additional modifiers act on the objects’ table attribute.
All normal and appropriate modifiers can be used with the table attribute fields to help set
data on table column attributes.
[14.15.0] Support has been added for the .MAND modifier on TABLE_COL fields to enable
addition of new table rows that have mandatory attributes defined.
However if specify any .MAND fields are specified for table attrs then the .TABLE_COL
modifier must not be used on the TABLE_NAME field. And instead of the TABLE_NAME
field value being blank it must specify the name of the table the attribute is linked to.
For example to set mandatory attributes on the table TW4_MandTRow:-
!~ItemID~Name~ItemType~R:sub7_attr_table.TABLE_NAME=MandTRow~MandTRow:su
b7_tpw_attr_int.MAND~MandTRow:sub7_tpw_attr_str.MAND
#00000546~Mand T Row test~TW4_MandTRow~TP4_Test_Table~10~ten
00000546~Mand T Row test~ TW4_MandTRow~TP4_Test_Table~10,20~ten,twenty
Currently IPS Data Upload can only replace all existing values or append to them. If
replacing, this will only occur for the first data line for a given object if the same object key
data, e.g. ItemID and RevID is re-supplied. So multiple lines can be supplied to append
additional table attribute rows.
Note that additional data lines for the same object will also update all other property fields
supplied for each data line, unless their values are left blank.
Multiple values can also be supplied in one data line using a separator. By default the
separator is a comma (,), but the configuration option TABLE ATTR VALUE SEP can be
used to supply a different separator.
To only append new values the TABLE_NAME field needs to have the .APPEND field
modifier added, e.g.:-
R:sub7_cost.TABLE_NAME=R_sub7_cost.APPEND
This example is setting values for the revision’s sub7_cost table attribute and specifying a
table name of R_sub7_cost. The same field is also defining a table column attribute, using
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
TABLE_COL, of sub7_discipline with the addition of the .FIND modifier to find an object of
class IPP2CostCategory to set against this (typed reference) table column attribute.
There are two additional fields defined for the table name of sub7_mh and sub7_obsSkills.
This example specifies all values on the one data line using the table attribute value
separator ‘#’.
Example 2 – Appending and not using TABLE_COL
Here’s the same example, but not using TABLE_COL and with the addition of .APPEND to
only append table rows and not replace any existing values:-
TABLE ATTR VALUE SEP = #
!~ItemID~Name~ItemType~R:sub7_cost.TABLE_NAME=R_sub7_cost.APPEND~R_sub7_cost:sub
7_discipline.FIND=IPP2CostCategory,object_name~R_sub7_cost:sub7_mh~R_sub7_cost:sub7_ob
sSkills
00004001~20" Plet - Design Basis: AWP~SUB7_ActWrkPkg~~Lead
Engineer#TimWCostTest2#Project Engineering Manager~33#43#53~STRUCTURAL
DESIGN#GEOTECHNICS#PROJECT ENGINEERING MANAGER
Note the blank value for the TABLE_NAME field and the extra field for the first table column
attribute sub7_discipline.
!~Object.FIND=IPP2CostCategory,object_name~DsetName~DsetType~FileRef~File
TimWCostTest1~%object_name%~Text~Text~file1.cfg
relations: Find parent and child objects to paste or cut a GRM relation:-
RELATION NAME = IMAN_reference
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
!~Object.PARENT.FIND=IPP2CostCategory,object_name~Object.CHILD.FIND=IPP2CostCategory,
object_name
TimWCostTest1~TimWCostTest
The <value> may be user values, such as an Item or Form type for instance, or predefined
keywords such as ON or OFF, for example, used for switching options. An example of
defining configuration options is shown below.
CREATE ITEMS = ON
FORM TYPE = Mfg Data Form
create_items_common.cfg
INCLUDE = global_config.cfg
CREATE ITEMS = ON
CREATE REVS = ON
UPDATE ITEMS = OFF
UPDATE REVS = OFF
create_document_items.cfg
INCLUDE = create_items_common.cfg
ITEM TYPE = Document
The included configuration files will be looked for in the same directory as the main
configuration file as specified with the –cfg argument, unless a specific path is supplied for
the included config file.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
OUTPUT COL SIZE TYPE [6.9.0] These three options can be used to control the size
OUTPUT COL SIZE NAME of the output columns for the Type, Name and Status
columns respectively. Simply set them to the number of
OUTPUT COL SIZE characters required in the column.
STATUS
WILDCARD CHAR SINGLE Specifies an alternate character to use as a single wild
character
WILDCARD CHAR MULTI Specifies an alternative character to use as a multiple wild
character so that a ‘*’ can be used in the item ID.
MULTI VALUE SEPARATOR [7.0.0] Defines the separator used between values for an
STRING array property.
The default separator is a comma.
VALUE FILES ROOT DIR [7.0.0] Sets a root directory containing files which contain
values for properties define by a general property field with
the .FILE modifier. See section [7.0.0] General properties
for details.
LOG FILE FORMATS [7.0.0] Specifies formats for additional log files as a CSV list
containing one or more options from:-
CSV Creates a Comma Separated Values file with an
extension of .csv.
DELIM Creates a delimited file with an extension of
.txt.
The original log file is still written as normal.
DELIM FORMAT SEP [7.0.0] Specifies the delimiter to use with a LOG FILE
FORMAT of DELIM.
The default is the separator that was used in the log file.
DATA VALIDATION [8.1.0] ON|OFF flag to turn field validation off and on.
Validation can also be turned on using command line
arguments.
See the trouble shooting section on [8.1.0] Field Validation.
DATA VALIDATION [8.1.0] ON|OFF flag to turn import with field validation off
IMPORT and on.
DATA VALIDATION [8.1.0] Provides the name of a folder to put new objects
IMPORT FOLDER into, specifically for validation.
DATA VALIDATION LINE [8.1.0] Specifies how many lines to perform field validation
COUNT on.
GROUP MEMBER MAIN [8.2.0] Specifies the main separator in a
SEPARATOR .GROUP_MEMBER filed that separate the group, role and
user values.
The default value is a forward slash (/).
GROUP MEMBER MULTI [8.2.0] Specifies the value separator in a
VALUE SEPARATOR .GROUP_MEMBER filed that separate individual group, role
and user values.
The default value is a comma (,).
SET COLON PROPS WITH [9.2.0] Provides a CSV list of general property fields (or
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
POM ‘colon’ (:) fields) which are to have their values set with
POM functions to override access and BMIDE rules on
attributes. This can be used instead of, or as well as, using
the .POM field modifier.
A value of ALL can also be supplied to set all general
property fields using POM.
The fields defined in the list can include their object type
prefix (I: for items, R: for rev etc) or not. If they do then only
the attribute for that object will be set using POM and fields
setting the same attribute for other objects will not. If just
the attribute name is supplied then all object type fields
setting that attribute will use POM.
For example:-
#SET COLON PROPS WITH POM = ALL
SET COLON PROPS WITH POM =
R:ContactName,dt7subject
!~ItemID~RevID~R:ContactName~R:dt7subject~I:dt7subject
Will use POM for R:ContactName, R:dt7subject and
I:dt7subject.
DEFAULT LANGUAGE [10.5.0] Sets the default language for a field with a colon
header containing the modifier .LANG. E.g.:-
R:object_name.LANG
DEFAULT LANGUAGE [10.5.0] Sets the default language status for a language
STATUS field.
The default is Approved. Available options are:-
Approved
Pending
Review (for in-review)
Invalid
FIND FIELD DATA [10.11.0] Specifies the separator to use for a .FIND field
SEPARATOR modifier to separate the class and attributes names in the
header field and the values in the data to search on.
See .FIND in section [7.0.0] Field Modifiers.
PROPAGATION PATH [12.0.0] Specifies a dot formatted set of type / relation paths
to find objects under other objects for updating.
This option can be supplied as many times as required to
provide multiple paths for different types of objects.
This option works in conjunction with fields identified with
the field modifier .PROPAGATE which indicates which field
values are to be propagated.
This option does not replace existing OOTB propagation
rules so should be used to propagate values to objects not
propagated by any defined Tc rules.
See section 2.8 - [12.0.0] Object Propagation for full details
on propagation paths.
PROJECT LIST UPDATE [12.2.0] Specifies how to update existing projects assigned
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
OPTION to objects, Available options are:-
APPEND Appends to existing projects (Default)
REPLACE Replaces all existing projects with those
provided.
REMOVE Removes provided projects from existing
projects.
PROJECT LIST POR [12.2.0] ON | OFF flag to control if ProjectObjectRelation
CLEANUP (POR) objects should be removed from lower level objects
during a propagation traversal.
BATCH SIZE [14.0.0] Specifies a batch size for an import, i.e. the number
of data lines to be processed. Once reached the import will
stop.
See section 2.5.1 - [14.0.0] Batch processing for full details
on batching.
NOTE: This option behaves slightly different if used in a
data file since it gets read after log and repeat files have
already been created.
DEFAULT VALUES HEADER [14.0.0] Specifies a default values header line, with or
LINE without a preceding carat [^]. This can also be specified as
a single header line in the data file using the carat [^].
See section 2.3 – INPUT DATA FILE for further details.
DEFAULT VALUES DATA [14.0.0] Specifies a default values data line. This can also
LINE be specified as a single data line in the data file immediately
following the default values header line.
See section 2.3 – INPUT DATA FILE for further details.
TABLE ATTR VALUE SEP [14.2.0] Specifies a separator between data values for a
table column attribute field.
See section 2.3.5 - [14.2.0] Setting table attributes for full
details.
REGISTER APPLICATIONS [14.3.0] Used to provide a CSV list of additional internal Tc
Applications to register if needed. During pom mode
imports classes will automatically have their application
checked to see if it’s already registered.
This functionality was added to set the Application
SCHMGTV100 in order to update ScheduleTask objects.
SET EMPTY FIELDS TO [14.4.0] ON | OFF flag to control if empty field values should
NULL set properties to NULL, i.e. actually blank properties.
The default is OFF, which is the previous behaviour where
empty values are ignored.
NOTE: This applies to colon properties.
ALLOWED MAC ADDRESSES [14.9.0] Used to specify a secured file containing MAC
FILE address, one per line, of machines that are allowed to run
IPS Data Upload.
If the current machine’s MAC address is not found in the list
then IPS Data Upload will exit with no processing.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
The MAC addresses should be entered in the file in dash
format, e.g.:-
00-0C-29-77-1C-62
C:\>SET TC_ROOT=C:\APPS\TCENG0913
C:\>SET TC_DATA=\\SERVER\SHARE\iman_data
C:\>%TC_DATA%\iman_profilevars
C:\> ips_data_upload_tc10_1_64bit_nti_12_0_0.exe –u=infodba –
p=infodba –i=<data_file_name> –cfg=<config_file_name> –m=<mode> -v
When using the batch options any log files (but not the debug file) and the repeat file will
have the batch size and the start line or batch number appended to the file name, e.g.
items_5_1.log, items_5_1.rep. A batch control script would need to control the name of the
debug file if required.
An automated batching functionality will activate if only a batch size is provided, either from
the -batch_size argument or the BATCH SIZE config option supplied in either the config file
or the data file.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Though if the BATCH SIZE is supplied in the data file the batch size will be read after the
log and repeat file have been created, and after entries have already been written to the log
file. In this case the existing log and repeat files will be closed, renamed and re-opened.
With auto batching the log and repeat file names will include the batch size, the starting data
line number and a date string. The date string has been added to reduce potential problems
trying to rename the log and repeat files to file names that may already exist should a re-run
be performed.
The automated batching mechanism works by creating a BATCH STOP file, called
IDU_BATCH_STOP.TXT, when there are still lines to be processed. This file contains the
next start line and will be read if it exists. On processing the last data line in the file the
BATCH STOP file will be deleted. The BATCH STOP files gets created in the current
directory.
Messages will be written about actions performed on the BATCH STOP file, e.g.: -
First run
Creating BATCH STOP file 'IDU_BATCH_STOP.TXT' to start at line 6.
Reached end of batch! Stopping processing on data line 5 (file line 19)!
Last run
Found BATCH STOP file 'IDU_BATCH_STOP.TXT'.
[BST] BATCH START LINE = [6]
…
Removed BATCH STOP file 'IDU_BATCH_STOP.TXT'.
SET IDU_DATA=%1
SET IDU_CFG=%2
SET IDU_MODE=%3
SET IDU_BATCH_SIZE=%4
SET IDU_BATCH_COUNTER=1
:GOTBATCH
if EXIST IDU_BATCH_STOP.TXT (
SET /A IDU_BATCH_COUNTER=IDU_BATCH_COUNTER+1
SET IDU_BATCH_COUNTER
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
goto GOTBATCH
) else (
goto END
)
:END
SET IDU_BATCH_COUNTER=
echo.
echo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
echo B A T C H I N G F I N I S H E D
echo ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
echo.
set DEBUG_MAX=1
set Verbose=-v
set Verbose=
set ReportFile=-report_file=report_file.txt
set ReportFile=
set Prog_dir=%~dp0exe
set Prog=%Prog_dir%\ips_data_upload_tc10_1_64bit_nti_13_4_0.exe
REM --------------------------------------------------
REM Turn all BMIDE rules etc.
REM --------------------------------------------------
SET NR_BYPASS=ON
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
SET IMAN_BYPASS_CANNED_METHODS=ALL
SET BYPASS_RULES=ON
SET Bypass_property_rules=1
SET BMF_BYPASS_ALL_EXTENSION_RULES=ON
SET IMAN_BYPASS_CANNED_METHODS=
SET BYPASS_RULES=
SET Bypass_property_rules=
SET BMF_BYPASS_ALL_EXTENSION_RULES=
REM --------------------------------------------------
echo Args = %*
set InFile=%1
set Cfg=%2
set Mode=%3
set Option=%4
set Option2=%5
set Option3=%6
echo
echo File = %InFile%
echo Cfg = %Cfg%
echo Mode = %Mode%
echo Option = %Option%
echo Option2 = %Option2%
echo Option3 = %Option3%
echo
set NewIdsFile=""
set BatchSize=
set StartAt=
set BatchID=
set BatchSizeVal=
set StartAtVal=
set BatchIDVal=
if "%Option%" == "NEW_IDS_FILE" (
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
set NewIdsFile=-new_items_ids_log=new_item_ids.txt
) else (
set BatchSizeVal=%Option%
)
if "%Option2%" == "0" (
set BatchIDVal=%Option3%
) else (
set StartAtVal=%Option2%
)
) else (
set LOG_FILE=%Mode%_log.txt
set TRACE_LOG=trace_tc10_1_%Mode%_log.txt
)
echo.
echo %Prog% %UPG% -m=%Mode% -cfg=%Cfg% -i=%InFile% -o=%LOG_FILE% -noautologin
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
rem pause
This last script for performing the import accepts an optional fourth argument to specify the
batch size and additional optional arguments to specify a start line and batch id, where the
batch id will be used if the start line is 0.
2.7.1 Introduction
Prior to Teamcenter 10 only one item could exist with an item ID, i.e. another item could not
have the same item ID as another item.
From Tc10 this is no longer the case with the introduction of MultiField Keys. Through
BMIDE additional item properties can be defined as MultiField Keys to be combined such
that their values produce an overall unique identification for each item.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Typically object_type acts as a default key so that items can be created with the same item
ID with different item types, but only one item per type. But, with another key defined as
well, then multiple items can be created with the same item ID and the same item type.
For IPS Data Upload this has required modifications across most modules since most of
them need to find an item so they now need to be able to handle multiple fields to define
values to use to search for an item and handle the situation where more than one item is
returned.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIND=GetLocFIND~GetLocFIND:object_name
…~M000001~MY4_MFK_Tag_Item~val1~CompanyLocation~loc1
SubstChildID 13.1.0 The following example sets the KEY Identifier as MySubstItem and
provides 2 MFK fields for this identifier:-
!~ItemID~RevID~ChildID~SeqNo~SubstChildID.KEY=MySubstItem~M
ySubstItem:object_type~MySubstItem:my4_mfk_key1.KEY
000058~A~000059~1~M000001~MY4_MFK_Str_Item~val1
Alternates 13.1.0 The following example sets the KEY Identifier as MyAltItemID and
provides 2 MFK fields for this identifier:-
!~ItemID~RevID~ChildID~SeqNo~Alternates.KEY=MyAltItemID~MyAltI
temID:object_type~MyAltItemID:my4_mfk_key1.KEY
000058~A~000060~1~M000001~MY4_MFK_Str_Item~val1
I:global_alt_list 14.17.0 This special property field can use .KEY, .FIND or item MFK fields to find
one or multiple items.
ProcID 14.17.0 All mfg fields that look for an item now support using .KEY fields or an
item MFK string..
ProductTargetID
PlantTargetID
WorkID
OpID
2.7.6 Considerations
1. MultiField Key properties must be defined as Create Input properties in BMIDE as the
value must be supplied for item creation. If this is not done then there will be errors
received during item creation that the property is not a Create Input property.
2. Since MultiField Key properties are mandatory by definition they don’t have to be
specified as .MAND fields as well as all key fields have to be supplied with non-null
values to create an item.
3. If not all keys have fields specified and values supplied to find a single item then an
error will be given if more than one item is found.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
4. Currently, in version 11.0.0 it’s not possible to update multiple items with the same key
values, if not all are defined for uniqueness, from a single data line, i.e. without
supplying all key values. So a separate line must be supplied for each item to be
updated by providing all of its unique key values.
5. Items with MANDatory properties, specified with the .MAND field modifier, must be
created in items mode. This is because multiple sets of .MAND fields, i.e. for parent
and child items, are not supported.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
The TypeString acts as an object type filter and the format of a TypeString is:-
<type|(Class[_])>[:Option[:Option]] | *
So the basic format of a TypeString is either an object type, or a class name surrounded in
round brackets. If a class name is supplied then a following underscore can be added to
indicate that an object should be descended from the specified class.
For example Item or Design would be used to match specifically on objects of type Item or
Design. Whereas (Item) would be used to match on objects of class Item and (Item_)
would match on objects descended from the class of Item.
If the TypeString is an asterix (*) then all objects will be matched and processed.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
The first TypeString in a path is used to identify paths to use for the current object being
processed and will be processed after all other fields and existing functionality has been
carried out for that object. So, for example, when an item is being updated the propagation
will look for all propagation paths starting with a type string that will match the item by type
or class, e.g. (Item_). All subsequent TypeStrings will act as filters from the preceding
RelationString in the path.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
UPDATE As a propagation path is processed objects are found at each level, starting with
the main object, then relations and then a filtered set based on the type or class of
the related objects.
This UPDATE option indicates that the objects found at a particular level should be
updated. By default the objects found at the last level of a path will be updated
anyway, so the UPDATE is only required on intermediate TypeStrings. However, if
the :PROPAGATE option is also used then the last level objects will not be
updated since processing has not finished and this is not the last set of objects.
For example it a path starts from an item, then gets its revisions and then
Specification datasets, by default only the datasets would get updated. But if the
item and/or revisions should also be updated then the UPDATE option should be
used at the item and revisions level in the path, e.g.
(Item_):UPDATE.GRM=Revisions.*:UPDATE.GRM=IMAN_specification.(Dataset_)
PROPAGATE A propagation path can have many levels of alternating TypeStrings and
RelationStrings. Therefore to find and update several different types of object
under an object could require several full length paths. However, this will result in
the top level objects being found for each propagation path.
For example going through an item, then revisions and then to get the master
form, BOMView revision and IMAN_specification objects would require 3 full paths,
i.e.
(Item_):UPDATE.GRM=Revisions.*:UPDATE.GRM=IMAN_master_form
(Item_).GRM=Revisions.*.ATTR=structure_revisions
(Item_).GRM=Revisions.*.GRM=IMAN_specification.*
This will result in the revisions being found repeatedly for each path and so is
inefficient and will have a hit on performance.
By using the :PROPAGATE option an object at that level can be used to start a
new propagation as the main object and propagation paths starting with a
matching type or class for that object will be searched for. So the following is more
efficient than the example above:-
PROPAGATION PATH = (Item_).Revisions.*:UPDATE:PROPAGATE
PROPAGATION PATH = (ItemRevision_).GRM=IMAN_master_form
PROPAGATION PATH = (ItemRevision_).ATTR=structure_revisions
PROPAGATION PATH = (ItemRevision_).GRM=IMAN_specification.*
The first line gets all the revisions from an item, uses a ‘*’ to match any type of
revision then updates the revision and starts a new propagation from the revision.
Note, the :PROPAGATE option can also be added to a RelationString, so this line
could also be written as:-
PROPAGATION PATH = (Item_).Revisions:PROPAGATE
Here the :UPDATE option is not required to update the revisions since if the last
level is a RelationString all objects at that level will be updated. This is slightly
different to a final type string which does not update if :PROPAGATE is also used.
Now that the propagation has started again from each revision the list of
PROPAGATION PATHs will be searched for starting TypeStrings that match on
revision by type or class. There are 3 lines here, so each will be processed for
each revision, finding and updating the Revision Master Form, the BOMView
Revision (via the ATTR option) and finally all Specification objects.
Typically the :PROPAGATE option should be used on the last TypeString or
RelationString supplied.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
The RelationString finds objects under an object either by a GRM relation, attached to
objects via an attribute or property, or a special case of revisions under an item.
The format of a RelationString is:-
[.GRM=<GRMType> | Revisions[:<REV_RULE=<Rev_Rule>] | .ATTR=<attr> |
.PROP=<prop>] [:PROPAGATE]
So the basic format of a RelationString is:-
<RelationType>=<RelationName>
With optional colon options, some general and some specific to the RelationType.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
9) If an item and a revision ID is supplied then the standard behaviour is to process both
objects, therefore propagation will occur for both the item and the revision. Therefore
if PROPAGATION PATHs are supplied to propagate from Items and Revisions, then
the revisions will get propagated and updated twice, so be careful.
10) All fields with the .PROPAGATE field modifier will be set on propagated objects.
These fields must also be a colon field, but if the value is to be set on different object
types then the type must be a *, e.g. *:owning_user.PROPAGATE. These fields will
also be ignored for the main object being processed which won’t match on the type of
‘*’.
This is the same in pom mode. But if the main object is also to be updated, e.g. if it’s
a Folder, then put the actual type in, e.g. Folder:owning_user.PROPAGATE.
11) Propagation objects being updated will be displayed in the output, and if running with
verbose output by supplying the –v argument then a line will also be written to the
output for each parent relation object found during the propagation.
12) If running in report mode and with verbose on objects found during propagation will be
reported on with the status PRPG REPORTED. If not in report mode any object
updated will have the status PRPG UPDATED or PRPG UPDATE FAILED upon an
error.
13) Any propagation object to be updated does not have any fields defined to match on,
i.e. by *, (Class) or type, then a status of PRPG NO FIELDS TO SET will be displayed
and a summary line added for Propagation Objs NO FIELDS TO SET.
14) Check-in and Check-out can also be carried out on propagation objects, obeying the
existing CREATE CICO and UPDATE CICO options. For all Check-in and Check-out
considerations see the section 4.3.3.
Though, with propagation cancelling check-outs will be attempted on any propagation
object and not just Datasets, and existing UPDATE options do not have to be set to
ON, e.g. UPDATE ITEMS, UPDATE DATASET etc.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
If a sub object already has a POR it will be removed by default, but this can be disabled by
setting the new config option PROJECT LIST POR CLEANUP = OFF.
Project lists can now also be updated, using the project_list property, as follows:-
UPDATE OPTION DESCRIPTION HOW?
APPEND Appends the supplied Just supply the project_list field and
(Default action) project or CSV project list the list of projects, e.g.:-
to any currently assign !~ItemID~I:project_list
projects. 000001~ProjectX
000002~ProjectX,ProjectY
CLEAR Totally clears the projects Supply a project value of NULL, e.g.:-
currently assigned. !~ItemID~I:project_list
000001~NULL
REPLACE Totally clears the projects Use the config option
currently assigned and PROJECT LIST UPDATE OPTION =
assigns the new projects REPLACE
specified.
Or the field modifier .REPLACE, e.g.:-
!~ItemID~I:project_list.REPLACE
000001~ProjectY
REMOVE Removes a project from Use the config option
the currently assigned PROJECT LIST UPDATE OPTION =
projects. REMOVE
Or the field modifier .REMOVE, e.g.:-
!~ItemID~I:project_list.REMOVE
000001~ProjectY
2.8.6.1 license_list
The property license_list can use the field modifiers .REPLACE and .REMOVE with the
default being to append licenses. With .REPLACE all current licenses will be replaced with
the supplied license(s) and .REMOVE will remove just the supplied license(s).
A value of NULL can be also used to clear all current licenses.
A license_list field can also be supplied more than once if required, e.g. to remove or clear
a set of licenses and then set a new license.
An example has been provided below, 2.8.7.5, to initially remove existing licenses and add a
new one, with PROPAGATION PATHS to update all children in BOMs.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
2.8.6.2 gov_classification
The property gov_classification may well be set up with a hierarchy propagation rule in
BMIDE, so that if the value is set to a lower level on the item then the previous higher level
will still be set on any existing revisions.
If it’s required to override this and also set the lower value on existing revisions then the
property field can be added twice, first to set the value to NULL to remove any existing
classification and then again to supply the new value.
See example 2.8.7.5.
An Item, its attachments, its Revisions and the revisions’ attachments can all be updated by
supplying only the item, via its ItemID or tag, thus:-
CREATE ITEMS = ON
UPDATE ITEMS = OFF
CREATE REVS = ON
UPDATE REVS = OFF
# -- Match objects descended from the class Item, update the item then find the IMAN_master_form
via the GRM relation and update it.
PROPAGATION PATH = (Item_):UPDATE.GRM=IMAN_master_form
# -- Update the item’s BOMViews
PROPAGATION PATH = (Item_).ATTR=bom_view_tags
# -- These paths do the same, and find all revisions, update them and propagate
#PROPAGATION PATH = (Item_).Revisions:REV_RULE=ALL:.*:UPDATE:PROPAGATE
#PROPAGATION PATH = (Item_).Revisions:PROPAGATE
# -- This path also find all revisions, propagates, but doesn’t update the revs!
#PROPAGATION PATH = (Item_).Revisions.*:PROPAGATE
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
# -- This active path only find the Latest Working revs, update and propagates
PROPAGATION PATH = (Item_).Revisions:REV_RULE=Latest Working:PROPAGATE
# -- For MEOPRevisions update the root activity and any contents descended from the class
MEActivity and propagate
PROPAGATION PATH =
(MEOPRevision).PROP=root_activity.*:UPDATE.PROP=contents.(MEActivity_):PROPAGATE
# -- Update all contents of an MEAtivity object
PROPAGATION PATH = (MEActivity_):UPDATE.PROP=contents
#-- Update any objects attached to Datasets under the GRM relation Rendering.
PROPAGATION PATH = (Dataset_).GRM=IMAN_Rendering
PROPAGATION PATH =
(ItemRevision_).ATTR=structure_revisions.*:UPDATE.PROP=bvr_occurrences.*.ATTR=child_item.*:UPDAT
E:PROPAGATE
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
# -- Find all items found in the contents attribute of a Folder, update them and propagate
PROPAGATION PATH = (Folder_).ATTR=contents.(Item_):UPDATE:PROPAGATE
2.8.7.5 [14.8.0] Replace licenses for a parent and its BOM children
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
# [1] If an object is descended from class Item, update it, work through all of its revisions and
propagate from them.
PROPAGATION PATH = (Item_):UPDATE.Revisions:REV_RULE=ALL:.*:PROPAGATE
# [2] If an object is descended from class ItemRevision, work through it’s BOM structure
PROPAGATION PATH =
(ItemRevision_).ATTR=structure_revisions.*.PROP=bvr_occurrences.*.ATTR=child_item.*:PROPAG
ATE
# [3] If an object is descended from class ItemRevision get its item in case the BOM is precise
PROPAGATION PATH = (ItemRevision_).ATTR=items_tag
2.8.7.5.3 Notes
• The properties are only being set on items to rely on OOTB propagation rules to
update objects under the item.
• The fields setting the properties start with (Item) to update any object descended
from the class Item.
• The gov_classification field has been entered twice in the main header line and
data lines, firstly with a value of NULL to remove the existing classification and then
again to provide the new value.
This is to allow a lower value to be set and overridden on existing revisions.
• UPDATE ITEM is set to OFF as all item updates have been controlled by the first
PROPAGATION PATH entry with the (Item_):UPDATE phrase. Otherwise an extra
update and output line will occur for each item.
• DEFAULT VALUES have been set for the license_list for the item to remove existing
values so it doesn’t have to be added to each data line.
This couldn’t be done for the gov_classification though, because it uses exactly
the same field header twice, which means that the default value field would be
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
found in the main header line and only used to provide a default value if the data
line didn’t supply a value. Only a different modifier is required for this not to happen,
i.e. for the default field to be treated as a separate field.
• For propagation of BOM structures, to update the children in any BOM, there are
three PROPAGATION PATH entries in the config file and each property to be
updated on the objects found during the propagation have the .PROPAGATION
field modifier.
Comments in the config file describe what each PROPAGATION PATH is for.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
3. TROUBLESHOOTING
3.3 Debugging
In some remote cases, where an error being encountered is complex or not reported, it may
be useful to have further detailed information. In this instance, a system log (.syslog) is
generated and automatically stored, typically, in the %TEMP% folder location on Windows.
In order for the syslog file to provide meaningful information, it is important the
accompanying .pdb file (Microsoft program debug database) exists in the same location as
the IPS_DATA_UPLOAD executable. This is only required on the Windows platform.
Low level debugging information can also be generated when the utility is run providing a
trace of the operation of the utility. The following environment variables should be set in the
sourced Teamcenter Engineering environment the utility is running in and takes the format:
DEBUG_MAX=MAX
DEBUG_FILE_NAME=<filename>
For example, on Windows use:-
C:\>SET DEBUG_MAX=MAX
C:\>SET DEBUG_FILE_NAME=c:\debug.log
C:\>Run upload
This will then create a debug trace in the file c:\debug.log which is typically very useful to
Siemens PLM Technical personnel in resolving any problems.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Field Validation is used to validate that fields and values line up correctly in the data file and
will write a report for each line required, the default is one line, providing a list of <FIELD
NAME> : <FIELD VALUE> pairs and will indicate if there are fields without values specified
or values without fields specified.
Field validation is turned on with the DATA VALIDATION configuration option or the
–validation=n argument. The number of data lines to be validated can be specified and
these lines can optionally be imported.
By default the validated data lines will not be imported, but the configuration option DATA
VALIDATION IMPORT or the command line argument –validation_import can be used to
turn on import. In which case each validated line will also be imported.
Any errors encountered during the import, along with the normal import output will also be
written to the validation report file.
The name of the validation report file is <data_file>_field_report.txt.
DATA VALIDATION IMPORT [8.1.0] ON|OFF flag to turn import with field validation off
and on.
DATA VALIDATION IMPORT [8.1.0] Provides the name of a folder to put new objects
FOLDER into, specifically for validation.
DATA VALIDATION LINE [8.1.0] Specifies how many lines to perform field validation
COUNT on.
HEADER LINE
ItemID¦RevID¦Folder¦Name¦Desc¦I:project_list¦CreateDate¦Ignore:Own
er¦Ignore:Group¦Ignore:ModifyDate¦Ignore:LastModBy¦R:DocumentSubje
ct¦BadField
------------------------------------------------------------------
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
----
DATA LINE 1
DOC-700001¦01¦a/b/c/d¦Tooling¦Tooling Allocation Decision
Record¦¦01/01/2010 00:00:00¦¦¦¦¦Tooling Allocation Decision
Record¦Bad Field Value¦Duff1¦Duff2¦
FIELD VALUES
[ 1] ItemID : 'DOC-700001'
[ 2] RevID : '01'
[ 3] Folder : 'a/b/c/d'
[ 4] Name : 'Tooling'
[ 5] Desc : 'Tooling Allocation
Decision Record'
[ 6] I:project_list : ''
[ 7] CreateDate : '01/01/2010 00:00:00'
[ 8] Ignore:Owner : ''
[ 9] Ignore:Group : ''
[ 10] Ignore:ModifyDate : ''
[ 11] Ignore:LastModBy : ''
[ 12] R:DocumentSubject : 'Tooling Allocation
Decision Record'
[ 13] BadField : 'Bad Field Value'
[ 14] : 'Duff1'
[ 15] : 'Duff2'
------------------------------------------------------------------
----
Line Action Obj Type Obj Name
Status - Notes
==================================================================
=================================
(0002)[0001] Document DOC-700001
ITEM EXISTS -
[0002] DocumentRevision DOC-700001 / 01
REV EXISTS - (SeqID 1)
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
4. ITEMS MODE
This section outlines the input data field definitions, configuration options and usage
information for the items mode. The items mode is used to import data around the following
criteria:
This mode is entered by default if no mode is specified in the command line options for the
utility or by setting the command line argument:
-m=items
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
object).
EffStartDate Effectivity Start Date
[12.7.0] EffStartDate can now accept a dated range to
set date ranges on a single effectivity. With a range
the EffEndDate is not required. The dates supplied in
the range must be in the Teamcenter date format.
The DATE FORMAT option will not be used to re-
format dates in a range.
Date range example:-
16-Mar-2010 10:00 to 16-Mar-2014 10:00; 17-Mar-
2014 10:00 to 16-Mar-2018 10:00
Each range is separated using “ to “ and ranges are
separated with “; “.
To see other examples, set some ranges on an
effectivity on a status object in Teamcenter and look at
the properties of the status object.
EffEndDate Effectivity End Date
UnitStart Unit Serial Number start
[12.7.0] UnitStart can now accept a unit range to set
ranges on a single effectivity. With a range the
UnitEnd is not required.
Unit range example:-
1-5, 8-20, 21-UP
Each range is separated using “-“ and ranges are
separated with “, “.
To see other examples, set some ranges on an
effectivity on a status object in Teamcenter and look at
the properties of the status object.
UnitEnd Unit Serial Number end.
Can be UP or SO.
BOStatus Release status for Based On Item/Revision
BOReleaseDate Release date for Based On Item/Revision
EffEndItem Effectivity End Item ID
[14.11.0] Can now take the field modifier .REPLACE
to be used in conjunction with EFFECTIVITY UPDATE
OPTION = UPDATE END ITEM. This will replace
existing ranges on the matched end item’s effectivity.
EffID [8.2.0] Specifies an effectivity ID.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
IMD:<attr> To set an Item Master form date attribute.
RM:<attr> To set an Item Revision Master form attribute
RMD:<attr> To set an Item Revision Master form date attribute
o The attribute name (replacing <attr> above) must be the real name from the
database and not the display name.
o If the attribute is defined in the database as a date then use IMD: or RMD:.
Then the date format configuration option (DATE FORMAT) can be used in
the configuration file to define the format of the dates supplied in the data
file.
4.2.1 Items/Revisions
FIELD DESCRIPTION
CREATE ITEMS ON|OFF flag to control creation of Items
UPDATE ITEMS ON|OFF flag to control updating Items
CREATE REVS ON|OFF flag to control creation of Revisions
UPDATE REVS ON|OFF flag to control updating Revisions
UPDATE LATEST REV ON|OFF flag to use attach to latest rev/update the latest
rev.
[10.0.0] Added option ONLY to force finding latest rev
even if RevID supplied.
DEFAULT REV Default rev, if not supplied, when creating a new Item
ITEM TYPE Item Type to create new Items as
DEFAULT OWNER Default Owner, if not supplied in the data input file
DEFAULT GROUP Default Group, if not supplied in the data input file
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
AUTO GENERATE ITEM ID ON|OFF flag to control if ItemID should be auto generated
if ON and ItemID field is empty. Requires an ItemID
naming rule is in force in the Business Modeller.
[10.7.0] If rules are not defined then basic IDs can be
generated instead by setting AUTO GENERATE BASIC
ITEM ID = ON.
AUTO GENERATE BASIC [10.7.0] ON|OFF flag to control if ItemID should be auto
ITEM ID generated when no naming rule exists, so will create
standard nnnnnn format IDs.
This uses USER_new_item_id which should use
"ITEM_id_prefix" and "ITEM_id_postfix" preferences.
NOTE: AUTO GENERATE ITEM ID must also be set to
ON.
ITEM REV ID SEPARATOR [6.8.0] Defines a set of alternative separators instead of
LIST those defined in the preferences:
FLColumnCatIVFSeparatorPref
FLColumnCatObjSeparatorPref
A max of 10 separator characters can be specified.
For example...
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
SEARCH FOR ITEMS BY [10.0.0] Used to find multiple items for update. The value
specifies the type of search and additional parameters.
Options are:-
NAME:<NameField> Specifies to search for items by
searching on item Name using the
data field specified by
<NameField>.
For example:-
NAME:ItemID
MATCH ITEM BY NAME AND [10.0.0] ON|OFF flag to control if an item with matching ID
ID and Name should be looked for in the items returned
when using SEARCH FOR ITEMS BY, and if not found
then create an item, if CREATE ITEMS = ON, using the
supplied values.
CREATE REV SEQS [10.10.0] ON|OFF to control if new revision sequences
should be created.
UPDATE REV SEQS [10.10.0] ON|OFF to control if existing revision sequences
should be updated.
SET PREV REV SEQ [10.10.0] ON|OFF to control if the previous revision
IMMUNE sequence should be set to immune (to prevent deletion on
purge) when a new revision sequence is created.
Default is OFF.
ALLOW ITEMID MFK [14.1.0] ON|OFF flag to control whether an “=”s sign in the
FORMAT ItemID field is used to specify a MultiField Key (MFK)
format.
When ON the “=” sign specifies an MFK value.
When OFF the “=” sign will simply be part of the ID.
Default is ON.
UPDATE ITEM POR GROUPS [14.16.0] Used to specify a CSV list of POR Security
Groups to filter on when updating them, e.g. by adding
new BV and BVR objects to them for propagation of
security values, e.g.:-
UPDATE ITEM POR GROUPS = Security Group
II,Security Group III
If not used then all of the item and rev’s PORs will be
updated by having the new objects added.
4.2.2 Attachments
FIELD DESCRIPTION
UPDATE ITEM ON|OFF flag to control if Item attachments have their
ATTACHMENTS names updated to reflect a new ItemID. Default is ON.
UPDATE REV ATTACHMENTS ON|OFF flag to control if Revision attachments have their
names updated to reflect a new ItemID and/or RevID.
Default is ON.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
UPDATE ITEM ATTACHMENT [7.0.0] A CSV list of relation types in which to update
RELATIONS attachments to the item. Accepts the following keywords
as values:-
* : All relations
ALL : All relations
NONE : No relations [14.0.0]
[14.14.0] Now also accepts IM and BV to find the Item
Master form and the BOMView.
UPDATE REV ATTACHMENT [7.0.0] A CSV list of relation types in which to update
RELATIONS attachments to the item revision. Accepts the following
keywords as values:-
* : All relations
ALL : All relations
NONE : No relations [14.0.0]
[14.14.0] Now also accepts RM and BVR to find the
Revision Master form and the BOMView Revision.
UPDATE DSET ATTACHMENT [7.0.0] A CSV list of relation types in which to update
RELATIONS attachments to the dataset.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
RELEASE NAMED REFS ON|OFF flag to control if forms stored as named
references in a dataset are released when applying a
status. (Default = ON).
UNRELEASE NAMED REFS ON|OFF flag to control if forms stored as named
references in a dataset are unreleased when unreleasing
objects. (Default = ON).
UNRELEASE ITEMS ON|OFF flag to control un-releasing Items
UNRELEASE REVS ON|OFF flag to control un-releasing Revisions
UNRELEASE KEEP LAST ON|OFF flag to control if the last status is to be kept, i.e.
to clean up multiple statuses
CREATE STATUS ON|OFF flag. Controls if non released objects should be
released
UPDATE STATUS Controls how released objects should have their status
updated. Can be set to one of the following options:
ADD UNIQUE Like ADD, but only adds a new status if the object does
not already have a status object with the supplied status
name.
Un-releases objects. Note: to use this option, no Status
UNRELEASE field should be specified in the data fields, except for
UNRELEASE.
Specifies that a specific status name only is to be
BY NAME updated. The specific status name is supplied using the
configuration option UPDATE STATUS NAME
UDPATE STATUS NAME Supplies a specific status name to match against and can
be used in several of the UPDATE STATUS options as
follows:
LAST The last status will only be updated if it matches,
otherwise any last status object will be updated.
ADD Only adds a new status object if it matches, otherwise a
new status will be added anyway.
ADD UNIQUE Only adds a new status object if it matches, otherwise a
new status will be added anyway or updated if already
existing.
BY NAME Specifies the actual status name which is to be modified.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
USE PARENT STATUS ON|OFF flag to control if each object being released
should have a new status (OFF) or its parent’s status
attached (ON). (Default = OFF (Changed from ON in
10.0.0))
RELEASE OBJECTS FILTER Specifies a Class/Type filter to indicate which objects to
release/update. The format is:
(Class)[!Type1!Type2] for a class with excluded
types or Type1,Type2… for a comma separated list of
possible types to match
ITEM RELEASE RELATIONS MUST BE SPECIFIED WHEN RELEASING VIA ITEMS
TO RELEASE RELATIONS,
Specifies a comma separated list of Revision relations to
find objects in. The following are valid keywords:
ALL Specifies all standard relations only, i.e. does not include
Revisions and BOMViews.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
EFFECTIVITY UPDATE [12.6.0] Specifies how to update revision effectivities thus.
OPTION
ADD Adds a new effectivity.
REPLACE The first data line for the same revision and status will
replace all existing effectivities and subsequent data lines
will add effectivities.
UPDATE LAST Updates the last effectivity.
UPDATE END ITEM [14.11.0] Existing effectivities will be searched for the End
Item being specified. If not found a new effectivity will be
created, otherwise the existing effectivity for that end item
will be updated.
By default any new ranges will be appended. Otherwise
the field modifier .REPLACE can be used on the
EffEndItem field to replace the existing ranges on the
effectivity for that end item.
CREATE CICO ON|OFF flag to control if objects with NO current
Checkout should have the Check Out set.
Default = OFF.
UPDATE CICO Options to define what action to take on an object which
already has a Check-Out set. Valid options are:
Default = OFF.
CHECK OUT REASON Reason/Comment text to add when performing a Check-
Out on an object.
DEFAULT = “Checked-Out by IPS_DATA_UPLOAD” if not
specified and ‘CheckOutReason’ data field not used.
CICO OBJECTS FILTER Specifies to comma separated list of object types valid to
perform Check-In/Check-Out/Cancel Check-Out operation
on. The format is:
Type1,Type2…
To exclude certain Classes/Types from the Check-
In/Check-Out/Cancel Check-Out operations, the format is:
(Class)[!Type1!Type2]
If this Configuration option is not specified, all objects will
be processed.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
1. In all modes of operation if the Item being operated on exists and has a different
Type to that supplied as a configuration option or input data file field value the
operation will not be performed.
2. If AUTO GENERATE ITEM ID = ON configuration option is set and the ItemID data
field has been left blank, the following rules are followed in generating an automatic
Item ID:
o Naming Rule for item_id must be attached to the Item Type in Business
Modeller.
o Auto Generation must not be turned off in Teamcenter Engineering.
o The top (first) pattern in item_id Naming Rule is always used.
3. To assign projects using the items mode, UPDATE ITEMS or UPDATE REVS must
be set to ON. This is not required if using projects mode.
4. V9 projects can be created, updated and assigned using the items mode to get
output from the items perspective. Alternatively, to get output from the project
perspective use the projects mode.
When setting a release status, all Specification attachments of a Item Revision, and any
BOMViewRevisions (BVRs), are all given the same status as the rev. If multiple Revisions
of the same item are to be given a status, they need to be listed in the data file in the order
they are to be released as the dates are generated sequentially to avoid duplication.
If the release date is to be UPDATED to the current date/time then the header option is
required but the column must be left empty.
If a Revision is already released then by default all of the Specification objects and BVRs
will still be checked to see if they are released. If any attachments are found to not be
released then the release status object attached to the Revision will be attached to these
attachments. If just the release date is being updated this checking can be turned off by
setting the configuration option UPDATE REVS ATTACHS STATUS = OFF.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
To un-released objects, i.e. delete the status object attached to objects, the main trigger is
to set a status of UNRELEASE either by using the field Status or the configuration option
RELEASE STATUS.
To remove all but the latest status in the case where objects have multiple statuses also set
the configuration option UNRELEASE KEEP LAST.
By default all objects with an UPDATE flag set to ON will be un-released. To control which
objects are or are not un-released then set the appropriate configuration options to ON or
OFF, e.g.:-
UNRELEASE ITEMS = ON
UNRELEASE REVS = OFF
The Operating System regional settings (on Windows this is called Locale) should be set to
English UK or English US to maintain correct date translations. This is true even if using
"dd/mm/yyyy". The results for given dates in none-English UK or English US region
settings may translate as follows:
1/10/2004 -> 1/1/2004 and 1/12/2004 -> 1/1/2004
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
It is possible to just keep the last release status if an object has multiple statuses by setting
the configuration option UNRELEASE KEEP LAST = ON. The default is to remove all status
objects.
It is also possible to un-release all the Revisions in an Item or just the latest Revision by just
supplying the ItemID, so there is no need to specify any Revision IDs. If the configuration
option UPDATE LATEST REV = OFF is set (the default) then all of the Items' Revisions
will be un-released. If set to ON then just the latest revision will be un-released.
Once all of the status objects have been removed from the Item, Revisions and attachments
an attempt will be made to delete the status objects themselves. If however any of the
status objects are still attached to any other objects in the database an error 515110 will be
written to the syslog file. This is not a problem since all of the required objects will have
been un-released.
4.3.5 EFFECTIVITIES
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
• If V7 effectivity is being used and the EffStartDate and EffEndDate columns are
included, but with no values then any existing pre V7 start and end dates will be
applied as V7 effectivity dates, i.e. a pre V7 to V7 conversion.
• It will update any existing effectivity dates, so long as there is only one set of dates.
In V7 mode if there are more than one range of dates then they will not be updated
and a message will be given stating "Cannot update multiple V7 effectivities".
Multiple data lines can be supplied to create multiple effectivities on the same status objects.
For each subsequent line the ItemID, RevID and Status must be the same.
What happens to existing effectivities can be controlled with the configuration option
EFFECTIVITY UPDATE OPTION. Which has the following values:-
REPLACE The first data line for the same revision and status will
replace all existing effectivities and subsequent data lines
will add effectivities.
The fields EffStartDate and UnitStart now accept ranges. The ranges will be applied to
current single effectivity. So each effectivity, see Multiple Effectivities above, can have a
multiple range.
Example ranges:-
DATE 16-Mar-2010 10:00 to 16-Mar-2014 10:00; 17-Mar-2014 10:00 to 16-Mar-2018 10:00
UNIT 1-5
UNIT 1-5, 8-20, 21-UP
Effectivity End Items are supplied using the field EffEndItem. This field will accept the
various field modifiers to find objects, i.e. .TAG, .FIND and .KEY to find MFK items.
For example:-
EffEndItem.FIND=Item,item_id
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
If the NewRevID data field is supplied and configuration options CREATE REVS = OFF is
set but UPDATE REVS = ON is set, the Revision ID will be changed to that supplied value.
When either the Item or Revision ID is updated all corresponding objects which by default
have their names made up from a combination of the IDs will also be updated. This goes for
Master forms and BOM Views for both the Item and the Revision and all Revisions in the
item. These object names will only be updated if their old names matched the
corresponding combination with the original Item and Rev IDs.
Other attachments will also have their names updated if they contain
<ItemID><Separator><RevID> or just <ItemID> with the NewItemID and/or NewRevID.
This is on by default, but can be disabled using the configuration options UPDATE ITEM
ATTACHMENTS = OFF and UPDATE REV ATTACHMENTS = OFF.
For example:
If the Revision 000001/A is having the item ID changed to 999999 and Revision ID 1 then
the dataset called TEXT-000001/A-001 would be renamed to TEXT-999999/1-001.
NOTE: The NewItemID and NewRevID fields control the updating of IDs and the
revise/save as to new Revisions and Items depending on the setting of the relevant CREATE
and UPDATE options. In short, assuming UPDATE is ON then if CREATE is ON new objects
are created otherwise the ID on the existing objects are updated.
If the data field NewItemID is supplied and does NOT match the existing Item ID and
CREATE ITEMS is ON, a new Item is created using that ID and the value of NewRevID if
set. If NewItemID and/or NewRevID are empty, the default Teamcenter Engineering
behaviour for ID generation is used (USER_new_id() and USER_new_revision_id()).
UPDATE ITEMS and/or UPDATE REVS set to ON will control the updating of the NEW
Revision and OLD Item if a "revise" has occurred OR the NEW Item and NEW Revision if a
"save as" occurred. Caution must be exercised when setting the create date of the new
revision.
In Teamcenter Engineering V9+ a Deep Copy will also be performed on any new Items or
Revisions to perform any Deep Copy Rules that may be set.
The data fields NewItemID and NewRevID control the updating of IDs and the Revise/Save
As to new Revisions/Items depending on the setting of the relevant CREATE and UPDATE
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
options. In short, assuming UPDATE is ON then if CREATE is ON new objects are created
otherwise the ID on the existing objects are updated.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
4.3.10.1 owning_project
Owning project can be set by using the .FIND field modifier to find a TC_project object.
For example:-
!~ItemID~I:owning_project.FIND=TC_Project,project_id
000001~Project X
4.3.10.2 project_list
Although project_list can be set by supplying a comma separated list of project IDs which
uses the ITK function PROJ_assign_objects, the .FIND field modifier can also be used to
find projects using other attributes, other than just project_id, as well if required. This will
set project_list directly, but as it’s a non-modifiable attribute it also requires the .POM field
modifier. For example:-
!~ItemID~I:project_list.POM.FIND=TC_project,project_id,project_name
000001~Test *,Test
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Previously to update item and rev attachments the item and rev had to have their
update options turned on too.
2) UPDATE ITEM|REV ATTACHMENT RELATIONS now accept IM,BV|RM,BVR.
For example:-
END-OF-FILE
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
END-OF-FILE
# Add GAs by using MFK fields, with a clear first and using .KEY
!~ItemID~I:global_alt_list~I:global_alt_list.KEY=GA1.PROP~GA1:object_type~I:global_alt_list.KEY
=GA2.PROP~GA2:object_type
0405000~NULL~000084~Item~000083~Item
END-OF-FILE
# Add GAs by use MFK fields, with a clear first and using .FIND
!~ItemID~I:global_alt_list~I:global_alt_list.FIND=GA1~GA1:item_id~GA1:object_type~I:global_alt_li
st.FIND=GA2~GA2:item_id~GA2:object_type
#0405000~0043978
0405000~NULL~Item~000084~Item~Item~000083~Item
END-OF-FILE
# Clear GA list
!~ItemID~I:global_alt_list
#0405000~0043978
0405000~NULL
END-OF-FILE
END-OF-FILE
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
4.5 EXAMPLES
Simple example showing mixture of keywords and general properties:-
!~ItemID~RevID~I:object_desc~R:object_desc~R:owning_user~RM:project_id
000001~A~Test Item~Revision A~Tim Williams(tim)~Project X
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
5. BOMS MODE
This section outlines the input data field definitions, configuration options and usage
information for the bom mode. The bom mode is used to import data around the following
criteria:
This mode is specified in the command line options for the utility or by setting the command
line argument:
-m=bom
5.1.1 BOMs
FIELD DESCRIPTION
ParentID or ItemID Item ID of parent
ParentRev or RevID Rev ID of parent
ChildID Child Item ID
ChildRev Child Rev ID
Qty Quantity.
If the quantity value is 0 or starts with A then the quantity
will be set as A/R.
SeqNo Sequence number for occurrence
OccQty Occurrence Quantity.
Alternates Supplies a comma separated list of alternates/substitutes.
The config option ALTERNATES LIST SEPARATOR can
be used to specify a different separator to a comma.
[13.1.0] This field now supports MFK item definitions.
If a KEY field Identifier is used then a single data line must
be supplied for each alternate/substitute item. See 2.7.3.
Or a list of MFK strings can be supplied, but since an MFK
string contains a comma then the ALTERNATES LIST
SEPARATOR must be used to specify a different
separator. See 2.7.4.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
ECID The Engineering Change ID
ECRev The Engineering Change Rev ID
ECName The Engineering Change Name
ECDesc The Engineering Change Description
ECType The Engineering Change Type
NOTE: Any occurrence notes which do not exist as types will be created as occurrence note
types prior to Teamcenter Unified Architecture. From TcUA onwards occurrence notes
must first be created using the BMIDE.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
LVarOptName The Legacy Option Name.
NOTE: If the name contains space or ‘/’s surround the
name with “double quotes”., e.g.:-
[DIC0005]"TOWER/HUB HEIGHT"
LVarOptDesc The Legacy Option Description
LVarOptVal The Legacy Option Value, which can be a CSV of values.
LVarOptDefVal The Legacy Option Default Value
LVarOptSetIfVal The Legacy Option Set If Value (Derived value)
LVarOptSetIfCond The Legacy Option Set If Condition.
This is a fully defined condition string. See Legacy
conditions below.
LVarOptCondition A Legacy Option condition to apply to an occurrence.
LVarOptAction Specifies an action to perform on an option. The possible
action values are..
delete deletes the option
replace replaces the option
LVarOptValAction Specifies an action to perform on an option value. The
possible action values are..
delete deletes the value
replace replaces the value
LVarRuleName The Legacy Rule Name.
LVarRuleDesc The Legacy Rule Description.
LVarRuleOptSet The Legacy Rule Option Set. This specifies a list of
options and values to be set by this rule. The format is...
<option> = <value> & <option> = <value> &...
See section 5.3.4.2.1 for further format details.
LVarOptErrorIfMsg [10.12.0] The Legacy Option Error If message.
LVarOptErrorIfCond [10.12.0] The Legacy Option Error If condition.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
MVarOptName The Modular Option Name
MVarOptDesc The Modular Option Description
MVarOptVis The Modular Option Visibility, allowable options are:-
Public or Private.
MVarOptValType The Modular Option Value Type, allowable options are:-
STRING, INTEGER, LOGICAL or REAL
MVarOptVal The Modular Option Value, which can be a CSV of values.
MVarOptDefVal The Modular Option Default Value
MVarOptCondition The Modular Option Condition
MVarOptAction The Modular Option Action, which can be one of the
following:-
delete to delete an existing option.
Set MVarOptName to * to delete ALL
options.
replace to replace the values of an existing option.
For both options UPDATE MODULAR VARIANT OPTION
must be set to ON.
FIELD DESCRIPTION
TargetParentID Item ID of target parent.
TargetParentRev Rev ID of target parent rev.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
5.2.1 BOMS
OPTION DESCRIPTION
BOM FORMAT Only “parent_child” is supported
VIEW TYPE The BOMViewRevision Type
SET BOMS PRECISE ON|OFF flag to control setting BOMS precise.
(Default = OFF, imprecise)
USE PS CREATE OCC ON|OFF flag to control which ITK function set is
used to create occurrences. If this is set to ON the
PS ITK functions will be used instead of BOM
functions.
PS functions are faster than BOM functions, which
is the reason for this option!!
PS functions are fine for simple BOM creation and
some updates, but more complex options such
Options & Variants must use BOM functions.
The default is OFF, i.e. use BOM functions.
CREATE BOMS ON|OFF flag to control creation of BVRs
UPDATE BOMS ON|OFF flag to control update of BVRs
BOM UPDATE OPTION BOMViewRevision update from:
ADD OCCURRENCES Adds occurrences to existing BOMViewRevision
REPLACE ALL Removes all occurrences from the BVR before
OCCURRENCES adding occurrences.
Update individual occurrences, but only the first one
UPDATE OCCURRENCES
if multiple matches are found.
Update individual occurrences and update ALL
UPDATE ALL OCCURRENCES
matching occurrences.
BOM UPDATE ADD OCCURRENCES ON|OFF flag to control if new occurrences should
be created. This will add occurrences that could not
be found during a BOM Update.
[10.0.0] Added new value of LATEST REV to force
the latest rev of any found child to be added, thus
only effective for precise BOMs.
BOM UPDATE ID FIELDS A comma separated list of fields to use to identify
occurrences to update.
For example, to match on ChildID and SeqNo;
ChildID,SeqNo
[11.0.0] This option can now be combined with, or
replaced by, fields flagged by the field modifier
.BOM_OCC_KEY. This allows many more fields,
including BL fields to identify different occurrence
properties, to be used to identify occurrences to be
updated.
ALTERNATES LIST SEPARATOR Specify a different separator than a comma when
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
supplying a list of alternate items.
NOTE: These ‘alternates’ are now called
Substitutes in Teamcenter.
BOM UPDATE PRE DELETE ATTR Defines a BOM attribute to use to find occurrences
to be deleted before any updates for the BOM are
done
BOM UPDATE PRE DELETE VALUE Defines the value for the PRE DELETE ATTR to be
matched
BOM UDPATE DELETE FIELD Defines a field header name to be used to delete
Occurrences.
For example, the field name is user definable, i.e.
“DELETE THIS”
BOM UPDATE DELETE VALUE Defines the value for the DELETE FIELD to be
matched to identify occurrences to be deleted.
For example, “DELETE”
BOM SUBST CHILD OPTION REVISE|SUBST flag to control BOM Child
substation behaviour
BOM REVISE CHILD USE ON|OFF flag to control if existing Items/Revisions
EXISTING can be used in REVISE mode.
BOM REV RULE Revision Rule to use to set the revision rule to be
used to load a bom.. (Default = Latest Working).
[7.0.1] Can also be used to specify a revision rule in
case of problems adding BOM lines due to rev rule
errors.
PRED UPDATE ID FIELDS Used in conjunction with the new BOM field
PredSeqNo to find the correct predecessor
occurrence. An example of the new cfg option is:-
NOTE:
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
NOTE: If UPDATE BOMS = ON is set the BOMViewRevision will toggle to satisfy the setting
for SET BOMS PRECISE. I.e. if SET BOMS PRECISE = ON is set and the
BOMVewRevision is not precise, it will be toggled to Precise and vice-versa.
NOTE: The following configuration options are only used if BOM UPDATE OPTION is set to
UPDATE OCCURRENCES or UPDATE ALL OCCURRENCES:
1. BOM UPDATE ADD OCCURRENCES
2. BOM UPDATE PRE DELETE ATTR
3. BOM UPDATE PRE DELETE VALUE
4. BOM UPDATE DELETE FIELD
5. BOM UPDATE DELETE VALUE
NOTE: items mode can be used to set all Item and ItemRevision properties on EC
Items/ItemRevisions.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
1. It is recommended the data be sorted by the ParentID and ParentRev fields and a
parts list for a single parent should be wholly contained within the data file,
otherwise there is a possibility any children for that parent in a subsequent data file
may not be added under certain circumstances.
2. To control the creation of parent and child Items and Revisions use the options
CREATE ITEMS and CREATE REVS to provide any combination of PARENT and
CHILD as the value. For example:
Any BOM attribute can be updated. Occurrences can be identified by one or a multiple of
attributes, for example just ChildID or ChildID and SeqNo if there are multiple occurrences
of the same child. By default occurrences will be matched just on the ChildID.
[11.0.0] Previously a comma separated list of field names was specified with the
configuration option BOM UPDATE ID FIELDS, but this did not allow any colon (:) fields to
be used. But, now any field can be flagged with the field modifier .BOM_OCC_KEY.
Any occurrences found will be updated with all supplied values. If a field is to be used to
identify an occurrence and this value is also to be updated then a second field should be
supplied with the same header name, but prefixed with "New". For example if matching on
"SeqNo" then a field with the header "NewSeqNo" should be used to supply the new
Sequence Number.
Several occurrences can be pre-deleted by specifying a particular attribute and value to look
for. All occurrences with this value will be deleted. Otherwise occurrences can be deleted
by 'marking' children in the data file. This is done by specifying a particular field and value in
the data file.
If an occurrence is not marked for delete, but cannot be found for update then it will be
added. However, there is an option to stop this if required. All options are configurable.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
When identifying occurrences a [*] can be used in an identifying field to match any value, or
a value of NULL can be used to match empty values. Thus it would be possible, for
example, to unset the Sequence Number for ALL occurrences using a data file simply
containing:
!~ParentID~ChildID~SeqNo
Assembly123~*~NULL
Occurrences should be located as per the configuration option BOM UPDATE ID FIELDS,
which by default is to match on just the ChildID field.
By setting BOM UPDATE OPTION = UPDATE ALL OCCURRENCES all found occurrences
will have their Item/Revision substituted.
All occurrences where substitution is done will retain all their existing occurrence attributes.
However, new values for any attribute can be supplied in the data file in the normal way. If
occurrence attributes are NOT to be kept then do not use these substitute options, but
instead, delete the existing occurrence using a delete field and add the replacement child as
a new occurrence.
This functionality uses the SubstChildID and SubstChildRev data fields along with BOM
SUBST CHILD OPTION and BOM REVISE CHILD USE EXISTING configuration options.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
5.3.3.1 Introduction
This functionality adds the ability to create Part / CAD alignment links (or Publish Links (PL))
between an occurrence in a design (CAD) BOM and an occurrence in a business (Part)
BOM.
The occurrence within each BOM will be identified by its item ID.
This functionality is only available from Teamcenter 2007 UA onwards.
The link is created by viewing both BOMs, selecting an occurrence in each BOM and
selecting the Publish Data menu option, which provides the following dialog:-
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Teamcenter calls the Part/CAD alignment links Publish Links and so in the output for
importing links many of the messages relating to the publish links are prefixed with PL.
To import links the data must include information about both the source and target children.
For the source child use the standard BOM fields ParentID, ParentRev and ChildID; and
for the target child use the new fields TargetParentID, TargetParentRev and
TargetChildID.
5.3.3.3.1 Example
Simple example to create part/CAD alignment links:-
!~ParentID~ParentRev~ChildID~TargetParentID~TargetParentRev~TargetChildID
New_Assy1~A~child1~New_Assy3~A~Sub_assy4
New_Assy1~A~child1~New_Assy3~A~child1
For both legacy and modular variants the allowable options and their values must be
specified with one option at a time on separate data lines with only the parent specified, i.e.
the ChildID field, if supplied, must have a blank value.
All options and their values must be defined, in a series of data lines with just the Parent ID,
before supplying any data lines with children to specify the child conditions.
5.3.4.1.1 Legacy
Legacy options are created using the fields LVarOptName, LVarOptDesc, and
LVarOptVal. where LVarOptVal can take a CSV list of values.
For example:-
!~ItemID~ParentRev~ChildID~ChildRev~LVarOptName~LVarOptDesc~LVarOptVal
AHD54302~001~~~Load_Mainstream~Load_Mainstream GM Legacy Option.~Y,N
5.3.4.1.2 Modular
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Legacy options are created using the fields MVarOptName, MVarOptDesc, MVarOptVis,
MVarOptValType and MVarOptVal, where:-
MVarOptValVis is one of Public or Private.
MVarOptValType is one of STRING, INTEGER, LOGICAL or REAL. Default is STRING.
MVarOptVal can take a CSV list of values.
For example:-
!~ItemID~ParentRev~ChildID~ChildRev~MVarOptName~MVarOptDesc~MVarOptVis~MV
arOptValType~MVarOptCondition
BG00000020~A~~~MyOption006~Option desc~public~LOGICAL~
Conditions for a child are specified on a line with the ChildID supplied, but after the options
and values have been defined.
5.3.4.2.1 Legacy
For legacy conditions, specified in the LVarOptCondition field, and for defining Option Sets
using the fields LVarRuleOptSet, CCSOSOptSet or SCSOSOptSet, the format is:-
[(]<clause>[&||]<clause>[)]
i.e. a series of clause separated by & (ampersand) for AND or | (pipe) for OR. Optionally a
set of clauses can be grouped with brackets, and again & or |’s used between bracketed
series.
For example:-
((AHD53175; M_LTL_C; ==; Y | AHD53175; M_LTL_K; ==; Y) & (AHD53175; M_LGW_1;
==; Y | AHD53175; M_LGW_2; ==; Y)) & (AHD53175; M_LCW_05; ==; Y | AHD53175;
M_LCW_07; ==; Y | AHD53175; M_LCW_09; ==; Y | AHD53175; M_LCW_10; ==; Y)
Each clause is specified with 4 or 5 fields with values separated by a semi colons (;), in the
format:-
<item_id>[;<rev_id>];<option_name>;<operator>;<values>
Where:-
<item_id> - is the item ID of the item that has the option defined on it.
<rev_id> - is the optional rev ID of the item with the option defined on it.
<option_name> - is the name of the option to be set.
<operator> - is one of:-
= or == for the set option equals this value
!= or <> for not equals
> for greater than
>= for greater than or equal to
< for less than
<= for less than or equal to
<values> - is the value to check against.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
NOTE: If the item or revision cannot be found an error will be given. If the rev_id is not
supplied then the configuration option UPDATE LATEST REV can be set to ON to get the
latest revision.
[14.21.0] Enhanced OV condition string processing to allow an escape character, "\", before
special characters ‘(‘, ‘)’, ‘|’ and ‘&’ to allow them be part of the string itself and not treated as
a special character, e.g.:-
(AHD53175; M_LTL_C\(TW\))
5.3.4.2.2 Modular
For modular conditions, specified in the MVarOptCondition field, the string value as used
in the Tc UI is used in the data line. So the easiest method is to create some conditions, as
required, in the UI to get the format by looking at the property bl_occ_mvl_condition, e.g.:-
For example:-
!~ItemID~ParentRev~ChildID~ChildRev~MVarOptName~MVarOptDesc~MVarOptVis~MVar
OptValType~MVarOptCondition
BG00000020~A~~~MyOption006~Option desc~public~LOGICAL~
BG00000020~A~BG00000006~@@~~~~~BG00000020:MyOption006 = true
Option error rules can be specified with the fields LVarOptErrorIfMsg and
LVarOptErrorIfCond.
[11.0.0] By default any existing rules will be searched first to see if the current defined rule
already exists in order to prevent duplication. But, if there are many options defined then
this can have a major impact on performance, potentially hours instead of minutes. If
duplicates are unlikely to occur from the data being supplied and the performance is an
issue then the check for an existing rules can be turedn off by setting the configuration
option:-
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
5.5 EXAMPLES
NOTE: More examples for bom mode can be found in Appendix C.
Using a KEY field Identifier for single alternate definitions per data line:-
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
!~ItemID~RevID~ChildID~SeqNo~Alternates.KEY=MyAltItemID~MyAltItemID:object_type~MyAltItemI
D:my4_mfk_key1.KEY
000058~A~000060~1~M000001~MY4_MFK_Str_Item~val1
000058~A~000060~1~M000001~MY4_MFK_Str_Item~val2
Using MFK strings for multiple alternate definitions per data line:-
ALTERNATES LIST SEPARATOR = |
!~ItemID~RevID~ChildID~SeqNo~Alternates
000058~A~000060~1~000062|000063
000058~A~000060~1~item_id=M000001,object_type=MY4_MFK_Str_Item,my4_mfk_key1=val1|item
_id=M000001,object_type=MY4_MFK_Str_Item,my4_mfk_key1=val2
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
6. FORMS MODE
This section outlines the input data field definitions, configuration options and usage
information for the forms mode. The forms mode is used to import data around the following
criteria:
This mode is specified in the command line options for the utility or by setting the command
line argument:
-m=forms
6.1.1 Forms
FIELD DESCRIPTION
ItemID Item ID to attach the form to
RevID The Rev ID of the ItemID to attach the form to
FormName The name of the form
[12.8.0] The .TAG field modifier can now be used to
specify the TAG (or PUID) of a form. This may be
required if there are several forms under a revision
relation with the same name.
FormDesc The description of the form
FormType The Form Type
F:<Attr> A form attribute to populate. This must be the must be
the real name from the database and not the display
name.
Object [14.2.0] This is a general field used with .FIND to find
objects. Can be used here to find a general parent to
attach datasets to.
See section 2.3.6 for full details.
6.2.1 Forms
OPTION DESCRIPTION
UPDATE FORMS ON|OFF flag to control updating forms
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
1. The forms mode should be avoided for just setting Item or ItemRevision Master form
attributes. The items mode should be used for these forms.
6.4.1 Forms
FIELD DESCRIPTION
-ft=<Form Type> Specify default Form Type to use.
TCENG PREFERENCE equivalent:
IPS_IMP_Form_Type
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
6.5 EXAMPLES
Simple example showing mixture of keywords and general properties:-
!~ItemID~RevID~FormType~FormName~F:object_desc~F:owning_user~F:charge_number
000001~A~ECO Sample Form~ECO-000001/A~Test ECO Form~Tim Williams(tim)~12
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
7. LOVS MODE
This section outlines the input data field definitions, configuration options and usage
information for the list of values (LOVS) mode. The LOVS mode is used to import data
around the following criteria:
This mode is specified in the command line options for the utility or by setting the command
line argument:
-m=create_lovs
7.1.1 Lovs
FIELD DESCRIPTION
LovName The name of the LOV to populate
LovType The type of LOV, i.e. STRING, INT or DOUBLE
LovVal The value to add
7.2.1 Lovs
OPTION DESCRIPTION
LOV NAME The name of the LOV to populate
LOV TYPE STRING|INT|DOUBLE flag to control the LOV Type
1. The List of Values (LOV) must be created first in Teamcenter Engineering prior to
using ips_data_upload to populate it.
2. The LOV module is not available with Tc UA onwards as BMIDE must be used.
3. The following is a mapping of the LOV types that can be populated in Teamcenter
Engineering by using ips_data_upload:
STRING = ListOfValuesString
INT = ListOfValuesInteger
DOUBLE = ListOfValuesDouble
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
7.5 EXAMPLES
Examples for create_lovs mode can be found in Appendix E.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
8. RELATIONS MODE
This section outlines the input data field definitions, configuration options and usage
information for the relations mode. The relations mode is used mainly to import data around
the following criteria:
-m=relations
8.2.1 Relations
FIELD DESCRIPTION
^ItemID or ParentID The Item ID of the parent Item
[RevID or ParentRev] OPTIONAL. The Revision ID of the Parent Revision
*ChildID The ItemID of an item to be cut or pasted from/into the
parent.
[ChildRev] OPTIONAL. The Revision ID of the Revision to be cut
or pasted from/into the parent.
FormType The type of form to be cut or pasted from/into the parent.
Used with FormName.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
*FormName The name of the form to be cut or pasted from/into the
parent. Used with FormType.
DsetType The type of the dataset to be cut or pasted from/into the
parent. Used with DsetName.
*DsetName The name of dataset to be cut or pasted from/into the
parent. Used with DsetType.
RelationName The Name/Type of the relation to paste as, or cut from.
[11.1.0] When using RELATION BMIDE OVERRIDE =
ON and the relation is to be created in a class other than
that specified with RelationName, and not in the class
ImanRelation then add the field modifier:-
.ON_CLASS=ClassName
To specify the class to create the relation on, e.g.
RelationName.ON_CLASS=ComponentRelation
See Module Notes for further details.
[NewRelation] OPTIONAL. New relation name/type to move the child
object to.
For example, from RelationName to NewRelation.
<Relation>:<Property> [7.0.0] This is a general property format for setting
properties on the relation itself at the time of creating the
relation.
<Relation> is the relation name, i.e.
IMAN_specification.
<Property> is the name of a property on the
relation.
RelChildType [7.3.3] Used to specify any WSOM object type to be cut
or pasted from/into the parent. Used in conjunction with
RelChildName.
Using these fields different object types can be attached
in one import, e.g. datasets, forms and object types.
*RelChildName [7.3.3] Used to specify any WSOM object name to be
cut or pasted from/into the parent. Used in conjunction
with RelChildType.
Using these fields different object types can be attached
in one import, e.g. datasets, forms and object types.
ChildRelation [8.0.0] The relation between a Child item or revision
(using ChildID and ChildRev) and the required
workspace object to be attached to the parent object.
ParentType [8.0.0] The workspace type of the parent/primary object.
^ParentName [8.0.0] The name of the parent/primary object.
ParentRelation [8.0.0] The relation between a Parent item or revision
(using ParentID and ParentRev) and the required
workspace object to be attached to the parent object.
ChildOwner [10.1.0] The owner of the child/secondary object to be
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
used in conjunction with name and type to find objects.
ChildGroup [10.1.0] The group of the child/secondary object to be
used in conjunction with name and type to find objects.
*ChildPUID [10.1.0] The database PUID of the child/secondary
object to be used on its own to find a specific object.
ChildClass [10.1.0] The class of the child/secondary object to be
used with the database PUID to validate the class of the
object.
Append ‘…’ to the class name to check for descended
from class. See note 4 below.
ParentOwner [10.1.0] The owner of the parent/primary object to be
used in conjunction with name and type to find objects.
ParentGroup [10.1.0] The group of the parent/primary object to be
used in conjunction with name and type to find objects.
^ParentPUID [10.1.0] The database PUID of the parent/primary object
to be used on its own to find a specific object.
ParentClass [10.1.0] The class of the parent/primary object to be
used with the database PUID to validate the class of the
object.
Append ‘…’ to the class name to check for descended
from class. See note 4 below.
Object [14.2.0] This is a general field used with .FIND to find
objects. Can be used here with .PARENT and/or
.CHILD added to find general parent and child objects.
See section 2.3.6 for full details.
^ NOTE: Only one of the parent fields ItemID, ParentID, ParentName or ParentPUID can
be used to find the parent/primary object. These fields are mutually exclusive.
* NOTE: Only one of the child fields ChildID, FormName, DsetName, RelChildName or
ChildPUID can be used to find the child/secondary object. These fields are mutually
exclusive.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
8.3.1 Relations
OPTION DESCRIPTION
RELATION NAME The Name/Type of the relation to paste as
RELATION PARENT TYPE The type of parent object ITEM or REV.
If REV is used and no ParentRev or RevID is given in
the data file then the latest revision will be used.
RELATION CHILD TYPE The Type of child object ITEM or REV.
If REV is used and no ChildRev ID is given in the data
file then the latest revision will be used.
NEW RELATION NAME Optional new relation name/type to move the child
object to.
For example, from RelationName to NewRelation
CUT RELATIONS ON|OFF flag to turn on and off cutting of relations.
Default is OFF.
PASTE RELATIONS ON|OFF flag to turn on and off pasting of relations.
Default is OFF.
RELATION PARENT [8.0.0] The default relation to be used between a
RELATION parent item or revision and the desired parent
workspace object, if not specified with the field
ParentRelation.
RELATION CHILD [8.0.0] The default relation to be used between a child
RELATION item or revision and the desired child workspace
object, if not specified with the field ChildRelation.
RELATION MULTI PARENT [8.0.0] Specifies what to do if more than one parent
OPTION object is found. The available options are:-
NONE - Use none of them
FIRST - Use the first one
ALL - Use all of them
RELATION MULTI CHILD [8.0.0] Specifies what to do if more than one child
OPTION object is found. The available options are:-
NONE - Use none of them
FIRST - Use the first one
ALL - Use all of them
RELATION PARENT WSOM [8.0.0] The default parent workspace object type, if not
TYPE specified with the field ParentType.
RELATION CHILD WSOM [8.0.0] The default parent workspace object type, if not
TYPE specified with the field ParentType.
RELATION BMIDE [10.11.0] An ON|OFF flag to use POM functions for
OVERRIDE relations in order to override BMIDE rules.
The default is OFF.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
1. If ChildID, RevID, DsetName and DsetType are all supplied then the dataset will be
found in the specified child revision and copied to the parent Revision or item
Accordingly.
2. Both Parent and Child objects must already exist in Teamcenter Engineering. This
mode will not create the objects.
3. The following order of precedence is used for specifying a relation:
a. The Internal Teamcenter Engineering Relation Name
b. One of the following Keywords:
i. SPEC (IMAN_specification)
ii. MANIF (IMAN_manifestation)
iii. REQ (IMAN_requirement)
iv. REF (IMAN_reference)
IPS Data Upload only knows short cuts for these historic 4 relation types.
Apart from these the full system relation name must be used, i.e. not the
display name. So for Rendering (the display name), for example,
IMAN_Rendering (yes, UPPER case R) must be specified.
4. [10.1.0] When specifying an optional class with a PUID, to confirm the PUID used in
is the required class, e.g. ChildClass with ChildPUID then 3 dots can be appended to
the class name value supplied to check if the class is descended from the class name
specified, e.g. Item will check that the object is an Item, whereas Item… will check
that the object is descended from Item.
But, if a direct class doesn’t exist, but the relation type is defined on a sub class to
ImanRelation then the class needs to be specified with the .ON_CLASS=class field
modifier added to the RelationName field.
For example the OOTB IMAN_MEComponent has a Business Object, but no direct class
but it’s defined on the class ComponentRelation:-
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Sometimes a class will require some default attributes to be set. To test this try creating one
relation and if it returns the error “The instance cannot be saved because it contains empty
attributes.” then look in the corresponding syslog to find entries about empty attributes, e.g.:-
NOTE - 2014/6/19-14:36:53.219 UTC - NoId - Instance 00007839 <gcGAAAKYYRLTNB-
gcGAAAKYYRLTNB>(ComponentRelation) attribute rel_subtype is empty -
Teamcenter.POM at d:\tc91w0201\src\foundation\pom\dms\dms_util.cxx(490)
NOTE: To get a syslog to remain in order to see this error it may be necessary to set the
environment variable TC_KEEP_SYSTEM_LOG=1, otherwise the syslog may get deleted.
Because different classes have different default attributes to be set at the time of creation
these need to be specified in the configuration file using the POM option POM DEFAULT
ATTRS FOR CLASS Class, for example:-
POM DEFAULT ATTRS FOR CLASS Fnd0ListsParamReqments =
description,name,fnd0SecondaryBomView,fnd0PrimaryBomView, fnd0SequenceNumber
POM DEFAULT ATTRS FOR CLASS ComponentRelation = rel_subtype
NOTE: The default attributes on a class may change with different versions of Teamcenter.
For example fnd0SequenceNumber on Fnd0ListsParamReqments exists in Tc 10.1, but
not in Tc 9.1.
In either case still use the relation type in any field headers to set relation attributes, e.g.:-
Example 1
!~ParentID~ParentRev~ChildID~ChildRev~RelationName~Fnd0ListsParamReqments:Fnd0
parameter~Fnd0ListsParamReqments:Fnd0value~Fnd0ListsParamReqments:description
1000001-MAND~A~1000002-MAND~A~Fnd0ListsParamReqments~Size~99~Size=99?
Example 2
!~ParentID~ParentRev~ChildID~ChildRev~RelationName.ON_CLASS=ComponentRelation
~IMAN_MEComponent:rel_subtype.POM
1000001-MAND~A~1000002-MAND~A~IMAN_MEComponent~99
In this second example the .POM modifier has been added to rel_subtype to use POM to
set it, otherwise the error “Property rel_subtype is not modifiable.” is received.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Until the class and attributes are defined correctly a relation may be created in the class of
ImanRelation only and not allow any attributes on sub class to be set because there is not
object in that class. This can give an error that the attribute does not exist on
ImanRelation.
So it may be necessary to cut the relation by setting the config option:-
CUT RELATIONS = ON
temporarily to cut the relation before trying again.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
8.5.1 Relations
FIELD DESCRIPTION
-rel=<Relation Name> Name of the Relation to populate.
Configuration Option equivalent: RELATION NAME
-newrel=<New Relation Specify the new Relation Name to populate.
Name>
Configuration Option equivalent: NEW RELATION
TYPE
8.6 EXAMPLES
1) Simple example:-
!~ItemID~RevID~RelChildName~RelChildType
000003~A~Text-000003/A~Text
000003~A~ECO_sample_000003/A~ECO Sample Form
!~ItemID~RevID~ChildID~ChildRev~DsetName~DsetType~RelationName
tim-98765~A~tim-98765~A~Text-tim-98765-1-cfg~Text~IMAN_Rendering
3) [8.0.0] Simple example to paste Dataset(s) to Dataset(1) (with no regard to parent revs!):-
#----------------------------------------------
# Dataset(s) to Dataset(1)
#----------------------------------------------
!~ParentName~ParentType~DsetName~DsetType~RelationName
Text-tim-98765-1~Text~Text-tim-98765-1-cfg~Text~IMAN_Rendering
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
#----------------------------------------------
!~ParentName~ParentType~RelationName~ChildName~ChildType~ParentOwner~ChildOwner
Home~Folder~~Home~Folder~infodba~tim
!~ParentPUID~ChildPUID~ChildClass~ParentClass
#A1OAAAg9YRLTNB~AsPAAAAYYRLTNB~Folder~Folder...
AsPAAAAYYRLTNB~A1OAAAg9YRLTNB~Folder~Folder...
6) [14.4.0] Find parent and child objects, using general Object field, to paste or cut a GRM
relation:-
RELATION NAME = IMAN_reference
!~Object.PARENT.FIND=IPP2CostCategory,object_name~Object.CHILD.FIND=IPP2Cost
Category,object_name
TimWCostTest1~TimWCostTest
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
9. DATASETS MODE
This section outlines the input data field definitions, configuration options and usage
information for the datasets mode. The datasets mode is used to import data around the
following criteria:
This mode is specified in the command line options for the utility or by setting the command
line argument:
-m=datasets
9.1.1 Datasets
FIELD DESCRIPTION
ItemID The Item ID of the parent Item
[RevID] OPTIONAL. The Revision ID of the Parent Revision
*DsetName The name of the dataset to paste in.
[11.3.0] Supports the .TAG modifier to supply the tag
of a dataset to update.
*DsetType The type of the dataset
*DsetDesc Dataset Description
DsetGroup Dataset Owning Group
*DsetOwner Dataset Owning User
*DsetCrtDate Dataset Create Date
*DsetModDate Dataset Mod Date
*DsetModBy Dataset Last Modified By User
NewDsetName New Dataset Name. Use DsetName to find the
dataset and NewDsetName to change the name of the
dataset.
Volume Defines the volume for new files imported
DsetID Dataset ID
DsetRev Dataset Revision
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
* NOTE: These fields can be replaced with the standard item header fields, but if creating
items at the same time then use the Dset header fields if the dataset is to have different data
to that of the item and rev. [7.0.0] Alternatively use specific general properties for items,
revisions and datasets as required.
9.1.2 Files
FIELD DESCRIPTION
FileRef The name of the dataset reference to attach to
File The name and path of the file to import
FileOrigName [14.17.0] Sets the original file name of the imported
file. So, on export the file will get this name instead of
the file name on disk when it was imported.
9.1.3 Forms
FIELD DESCRIPTION
FormName The Name of a form to add as a reference to the
dataset
FormType The Type of the form
FormRef The name of the dataset reference to attach to
F:<attr> The attribute name on the form to populate
The following input data fields are valid in this mode and are specifically related to
relations
FIELD DESCRIPTION
RelationName The Name/Type of the relation to paste as
9.2.1 Datasets
OPTION DESCRIPTION
CREATE DATASET ON|OFF flag to control creation of Datasets
UPDATE DATASET ON|OFF flag to control updating of Datasets
DATASET TYPE The default dataset type for new datasets
SET OWNER BY PARENT ON|OFF flag to control owner settings
(DEFAULT = OFF (Changed from ON in 10.0.0))
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
FILE REF NAME Dataset reference to attach file to
UPDATE FILES ON|OFF flag to control updating file references
UPDATE FILE REF NAME Update file reference option from:
NEW REF Create new references only, do nothing if exists
ADD REF Add new reference, even if one already exists
REPLACE REF Replace existing ref, see FILE REF REPLACE
OPTION for replace control options.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
NOTE: All items mode configuration options are available in this mode.
1. For best performance sort the data file by ItemID, RevID, Dataset Name and Ref
Name fields.
2. If the Revision ID is not supplied in the data file then datasets will be attached to the
Item (Default) or the Latest Revision, depending on the setting of the configuration
option RELATION PARENT TYPE.
9.5 EXAMPLES
Simple example showing mixture of keywords and general properties:-
!~ItemID~RevID~DsetType~DsetName~File~DsetDesc~DSET:owning_user
000001~A~Text~Text-000001/A~file1.txt~Dset Desc file1.txt~Tim Williams(tim)
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
This mode is specified in the command line options for the utility or by setting the command
line argument:
-m=folders
-m=folder_create
-m=folder_insert
It’s also possible to attach objects to folders using the Folder field, or FOLDER NAME config
option, in other modes.
The Top folder has separate configuration options and fields so one or more Top
folders can be found in which to insert the specified folder or folders. So it’s
possible to find the Top folder(s) with a different type and ownership to the specified
folder(s).
For example, the Top folder might be the login user’s Home or Newstuff folder, or a
Company Top folder.
The new folders mode offers the following new general areas of functionality:-
• Options to control the creation and updating of folders in keeping with other
modes.
• More control of searching for folders, and top folders, using specified owner
and group.
• Support for multiple folders and top folders with option to control which if any
of the multiple folders found are processed.
• Attach general Workspace objects, using an Object field, to folders.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
10.3.1 Folders
FIELD DESCRIPTION
ItemID The ItemID of the Item to insert into the folder
Folder The Folder Name or Path.
[13.0.0] NOTE: To update properties on existing folders
use FL:<property> field headers.
FolderDesc The folder Description
FolderPath A Folder Path to create (nested folder structure).
FolderType The Type of folder to use.
FolderOwner [13.0.0] The folder owner. Used to find folders and set
on new folders. Use FL:owning_user to update folder
owner.
FolderGroup [13.0.0] The folder group. Used to find folders and set
on new folders. Use FL:owning_group to update
folder group.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
10.4.1 Folders
OPTION DESCRIPTION
FOLDER CREATE [13.0.0] ON|OFF flag to control if new folders
should be created.
FOLDER UPDATE [13.0.0] ON|OFF flag to control if existing folders
should be updated.
FOLDER NAME Default folder name to insert new items into.
FOLDER SEPERATOR Define the character separator in folder path.
Default = /
FOLDER TYPE The Name/Type of the Folder
DEFAULT FOLDER DESCRIPTION Default description for new folders
PUT FAILS IN NEWSTUFF ON|OFF flag to control using Newstuff if any folder
inserts fail
GLOBAL FOLDER SEARCH ON|OFF flag to control if the whole database is
searched for a folder (ON) or just folders owned by
the login user (OFF)
MULTIPLE FOLDERS OPTION [13.0.0] Specifies what to do if multiple folders are
found, i.e. whether or not to process any.
Available options are:-
NONE Don’t process any
FIRST Only process the first one
ALL Process all of them
FOLDER PATH SUB FOLDER [13.0.0] Specifies what to do about sub folders
OPTION when using folder paths, with options to find
existing folders or create new ones.
Available options are:-
ATTACHED OR EXISTING Search for folders
in the parent folder first, then if none
found search for existing folder(s) in
the database. If found try to attach
them.
EXISTING Search for existing folder(s) in the
database. If found try to attach them.
ATTACHED ONLY Search for folders in the
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
1. If any folders cannot be found, they will be created if FOLDER CREATE is set to ON.
If the folders exist they will only be updated if FOLDER UPDATE is ON.
2. For the best performance, sort the data file by folder path.
4. If the configuration options TOP FOLDER = Home and TOP FOLDER TYPE = Folder,
new Folder objects will be created/inserted into the users’ Home folder.
5. Beware of non-folder mode imports, such as items, that create objects and use
FOLDER NAME (or the Folder field) to insert the new object into a folder IF owner
and group fields are supplied as these will also set the ownership of the folder!
This means that, by default, a second run will not find the folder as it will search for
folders owned by the log-in user. So it may be necessary to use the option GLOBAL
FOLDER SEARCH = ON in order to search for folders owned by other users, but this
will only work reliably if the supplied folder name is unique.
[pre 13.0.0] Alternatively use a second import using either the folder_insert or
relations mode to attach the new objects to the folder.
[13.0.0] The general Owner and Group fields still apply to folders, for which the above
still holds true. However, the new FolderOwner and FolderGroup options can be
used to specify different ownership values for the folder(s). Also control is available
in the case where multiple folders are found with the option MULTIPLE FOLDERS
OPTION.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
10.7 EXAMPLES
Examples for folders mode can be found in Appendix H.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
This mode is specified in the command line options for the utility or by setting the command
line argument:
-m=projects
NOTE: This functionality is only available in Teamcenter Engineering Version 9 and later.
11.1.1 Projects
FIELD DESCRIPTION
ProjID MANDATORY. Project ID
ProjName Project Name. If not supplied then the name will be set
with the Project ID
ProjDesc ProjectDescription
ProjMemberUser Project Member user. If used without role and group
then all group members for the user will be assigned
ProjMemberGroup Project Member Group. Can be supplied without role
and user to assign just to a group.
ProjMemberRole Project Member Role. If used without user and role
then all group members with this role will be assigned.
ProjAdminUser Project Admin User
ProjPrivUser Project Privileged user. Can be a comma separated list
of privileged users.
ItemID The ID of the Item to be assigned to the project
RevID The ID of the Revision to be assigned to the project
11.2.1 Projects
OPTION DESCRIPTION
CREATE PROJECTS ON|OFF flag to control if Projects should be created if
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
they do not exist
UPDATE PROJECTS ON|OFF flag to control if Projects should be updated if
they already exist
PROJECT ASSIGN TO TYPE ITEM|REV. Controls if the specified ITEM or REVision
should be assigned to the project. Assigning an item
also assigns its Revisions automatically (this is
standard TcEng bahaviour).
PROJECT APPEND MEMBERS ON|OFF flag to control if Project members can be
added (appended) to an existing project (team).
Default = OFF. If not used, any existing project
assigned team will be replaced!
PROJECT UPDATE DPAM [12.0.0] ON|OFF flag to control if the Date Proj
DATE Assignment Modified (DPAM) date is modified.
Default is ON for OOTB behaviour.
PROJECT ASSIGN [12.0.0] ON|OFF flag to control if inactive projects can
INACTIVE PROJECTS be assigned to objects.
By default inactive projects cannot be assigned
resulting in an error. By setting this option to ON the
project will be temporarily made active to allow the
assignment.
Note that the project will not appear in the Project IDs
property unless the project is set to active in Tc, though
evidence can be seen in the project_list attribute if the
Print Object tab is used via Window->Show View-
>Other….
Default is OFF for OOTB behaviour.
1. To assign Items or Revisions to a project then the login user must be a privileged
user for the project.
2. Use separate data lines to assign multiple Items/Revisions to a project, one line per
Item/Revision.
3. Issues may be encountered trying to delete any existing members which are not
present in the new team being specified. It is recommended only to assign the team
when the project is created.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
11.5 EXAMPLES
Examples for projects mode can be found in Appendix I.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
This mode is specified in the command line options for the utility or by setting the command
line argument:
-m=inclass
NOTE: This functionality is only available in Teamcenter Engineering Version 8 and later.
12.2.1 classification
OPTION DESCRIPTION
INCLASS CREATE ICO ON|OFF flag to control if InClass ICOs should be
created if they do not exist
INCLASS UPDATE ICO ON|OFF flag to control if InClass ICOs should be
updated if they already exist
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
INCLASS UPDATE ICO OPTION ICO update option from:
SINGLE ICO ONLY
Only singly classified objects can be updated
FIRST ICO
If multiple ICOs on an object, only update the first
ALL ICOS
Update all ICOs on an object
INCLASS DEFAULT CLASS ID <ClassID>
Specifies a default class ID
INCLASS ICO CLASSIFY OBJECT ITEM|REV. Controls if the specified ITEM or
REVision should be classified with the InClass
ICO
INCLASS ALLOW MULTIPLE ON|OFF flag to control if multiple ICOs are
CLASSIFICATION allowed to be classified on a single item or
revision. If OFF only one ICO classification is
allowed. This option only affects the creation of
ICOs and subsequent classification. So if the
item, or rev, is already classified and this option is
OFF then the ICO will not be created
1. Use standard items mode fields to specify Item and Revision details, in particular
ItemID and RevID to specify the Item ID and optionally the Revision ID of the Item
or Revision to classify. All other 'items' fields can be used to create or update items
and revs too.
3. If no IcoID or IcoPUID field is specified then the Item ID specified will be used as the
IcoID, or 'ItemID/RevID' if classifying the revision.
4. To update individual ICOs on an object which has multiple classifications then use
the IcoPUID.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
ICO will be deleted, but the Workspace Object will remain, before the ICO is
deleted. The delete is based on specifying the ICOs PUID in the IcoPUID field.
8. To set values in an array attribute surround each value with {}, e.g.:-
{value1}{value2}{value3}
12.5 EXAMPLES
Examples for classification mode can be found in Appendix J.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
This mode is specified in the command line options for the utility or by setting the command
line argument:
-m=identifiers
NOTE: This functionality is only available in Teamcenter Engineering Version 9 and later.
13.1.1 Identifiers
FIELD DESCRIPTION
AlternateID Alternate ID
AlternateRevID Alternate ID Supplementary ID for Revision
AlternateIDContext ID Context to use – must be defined in Teamcenter
Engineering
AltIDName Alternate ID object Name
AltIDDesc Alternate ID object Description
AltRevIDName Alternate Revision Name
AltRevIDDesc Alternate Revision description
ItemID ItemID the Identifier object is to be attached to
RevID RevID the supplementary Identifier object is to be attached to
AltIDOwner Owning user
AltIDGroup Owning group
AltIDType [7.7.0] Alternate ID object Type
Status [10.2.0] A status to be applied to the item revision and also
the identifier (AltID) and/or identifier rev (AltIDRev) depending
on the new config options RELEASE IDENTIFIERS and
RELEASE IDENTIFIER REVS.
All standard status fields and config options also apply.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
13.2.1 identifiers
OPTION DESCRIPTION
CREATE IDENTIFIERS ON|OFF flag to control if Identifiers should be created if
they do not exist
UPDATE IDENTIFIERS ON|OFF flag to control if Identifiers should be updated if
they already exist
ALTERNATE ID CONTEXT Default ID Context to use when creating Alternate IDs.
CREATE IDFR REVS ON|OFF flag to control if IdentifierRev objects should be
created if they do not already exist at the Supplied
Revision. Default = ON
UDPATE IDFR REVS ON|OFF flag to control if IdentifierRev objects should be
updated if they do already exist at the Supplied Revision.
Default = OFF
IDENTIFIER TYPE [7.7.0] Default identifier type.
RELEASE IDENTIFIERS [10.2.0] ON|FLAG to control the releasing of the identifier
object.
Default = OFF
RELEASE IDENTIFIER [10.2.0] ON|FLAG to control the releasing of the identifier
REVS rev object.
Default = ON
1. Use standard items mode fields to specify Item and Revision details in particular
ItemID and RevID to specify the Item and Revision to attach the Alternate ID and
Supplemental Identifier to.
4. The input fields Name and Desc will be used if no AltIDName and AltIDDesc
fields are specified. The input fields RevName and RevDesc will be used if no
AltRevIDName and AltRevIDDesc fields are specified.
5. If no Name field is specified at all, the default Identifier object name will be the same
as the ID.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
6. Other cfg options, CREATE ITEMS, CREATE REVS, UPDATE ITEMS, UPDATE
REVS, UPDATE ITEM ATTACHMENTS etc. can be used in conjunction with
creating and updating Identifier objects.
7. [10.2.0] Status can now be applied to the identifier and/or identifier rev using the
standard status fields and/or config options. The status options will also be applied
to the supplied item revision.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
13.5 EXAMPLES
Examples for identifiers mode can be found in Appendix K.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
This mode is specified in the command line options for the utility or by setting the command
line argument:
-m=mfg
NOTE: This functionality is only available in Teamcenter Engineering Version 9 and later.
14.1.1 Manufacturing
FIELD DESCRIPTION
ProcID MEProcess ID
[14.17.0] Now supports item MFK fields.
ProcRevID MEProcess Revision ID
ProcType MEProcess class Type
ProcName MEProcess Name
ProcDesc MEProcess Description
OpID MEOP ID
[14.17.0] Now supports item MFK fields.
OpRevID MEOP Revision ID
OpType MEOP Class Type
OpName MEOP Name
OpDesc MEOP Description
WorkID MEWorkArea ID
[14.17.0] Now supports item MFK fields.
WorkRevID MEWorkArea Revision ID
WorkType MEWorkArea Class Type
WorkName MEWorkArea Name
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
WorkDesc MEWorkArea Description
ActType MEActivity Class Type
ActName MEActivity Name
ActDesc MEActivity Description
ActTime MEActivity time (Duration)
ActPreds Name of MEActivity Objects attached to MEOP which
(to create PERT are predecessor Activities. (Used to provide
activity flow chart) sequencing/flow in MSE).
[12.4.0] The ActPreds field will now accept a CSV list
of activity names, or a CSV of activity tags if the .TAG
field modifier is used.
[12.4.0] Existing activity predecessors can be updated
as follows:-
Clear – Use the value NULL to clear all
predecessors on an activity.
Replace – Use the .REPLACE field modifier to
replace all existing predecessors on an
activity with those supplied.
Remove – Use the .REMOVE field modifier to remove
the specified activities.
FormType MEActivity Form Type
FormName MEActivity Form Name
FormDesc MEActivity Form Description
F:<attr> MEActivity Form attribute to populate. This must the
real attribute name, not the display name.
PlantTargetID Item ID for Plant BOM to link/consume from
[14.17.0] Now supports item MFK fields.
PlantTargetRevID Rev ID for Plant BOM to link/consume from
ProductTargetID Item ID for Product BOM to link/consume from
[14.17.0] Now supports item MFK fields.
ProductTargetRevID Rev ID for Plant BOM to link/consume from
TargetChildSeqNo Occurrence Seq No in Product/Plant BOM
TargetChildID Occurrence Item ID in Product/Plant BOM
TargetChildRev Occurrence Rev ID in Product/Plant BOM
TargetChildAbsOccID Occurrence AbsOccID in Product/Plant BOM context
TargetParentID 14.19.0] Specifies the parent in which to find
TargetChildID immediately under.
TargetParentRev [14.19.0] Specifies the rev for the parent in which to
find TargetChildRev immediately under.
ProcChildID Occurrence Item ID of operation in Process BOM to
consume target occurrence
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
ProcChildRev Occurrence Rev ID of operation in Process BOM to
consume target occurrence
ProcParentID [14.19.0] Specifies the parent in which to find
ProcChildID immediately under.
ProcParentRev [14.19.0] Specifies the rev for the parent in which to
find ProcChildID immediately under.
FIELD DESCRIPTION
CCName Name of CC
NewCCName New Name for existing CC with name specified by
CCName.
CCType Type of CC
CCDesc Description of CC
CCOwner Owner of CC
CCGroup Group of CC
CCStatus Status of CC
CCCfgContext Cfg Context for CC
CCRevRule Rev Rule for CC
CCSOSName [10.8.0] Saved Option Set (SOS) Name for CC.
CCSOSDesc [10.8.0] Saved Option Set (SOS) Desc for CC.
CCSOSOptSet [10.8.0] Saved Option Set (SOS) Option Set for CC
legacy options.
For example:-
AHD54302; Load_Mainstream; ==; Y &
[AHD54302]Tim_test = Y
This example show the two possible different formats
allowed for setting values for options.
See section 5.3.4.2.1 for further format details.
SCName Name of SC
NewSCName New Name for existing SC with name
SCType Type of SC
SCDesc Description of SC
SCOwner Owner of SC
SCGroup Group of SC
SCStatus Status of SC
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
SCCfgContext Cfg Context for SC. To create the Cfg Context with the
same name as the SC specify the name as
$SC_NAME.
SCRevRule Rev Rule for SC
SCSOSName [10.8.0] Saved Option Set (SOS) Name for SC.
SCSOSDesc [10.8.0] Saved Option Set (SOS) Desc for SC.
SCSOSOptSet [10.8.0] Saved Option Set (SOS) Option Set for SC
legacy options.
For example:-
AHD54302; Load_Mainstream; ==; Y &
[AHD54302]Tim_test = Y
This example show the two possible different formats
allowed for setting values for options.
See section 5.3.4.2.1 for further format details.
SCAttObjClass Class of object to attach to SC.
Use in conjunction with ItemID and RevID then set
SCAttObjClass to:-
ITEM - to attach the item
REV - to attach the revision
BVR - to attach the BomView Revision
SCAttObjType Type of object to attach to SC.
Use in conjunction with SCAttObjClass to verify the
type of item, rev or BVR to be attached.
CfgContextType Type of Cfg context
To set general properties for CC and SC objects use CC:<property> and SC:<property>.
1) To attach an item, rev or BVR to an SC supply an ItemID field with the required item
ID and RevID field with the required rev ID.
Then set SCAttObjClass to ITEM, REV or BVR as required.
3) To create a CC -> SC structure supply as many lines as SC’s required with CC and
SC details.
14.2.1 Manufacturing
OPTION DESCRIPTION
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
CREATE PROCESSES ON|OFF flag to control creating MEProcesses if they do
not exist
UPDATE PROCESSES ON|OFF flag to control updating MEProcesses if the
already exist.
CREATE PROCESS REVS ON|OFF flag to control creating MEProcess Revisions if
they do not exist
UPDATE PROCESS REVS ON|OFF flag to control updating MEProcess Revisions
if the already exist.
CREATE OPERATIONS ON|OFF flag to control creating MEOPs if they do not
exist
UPDATE OPERATIONS ON|OFF flag to control updating MEOPs if the already
exist.
CREATE OPERATION REVS ON|OFF flag to control creating MEOP Revisions if they
do not exist
UPDATE OPERATION REVS ON|OFF flag to control updating MEOP Revisions if
they already exist
CREATE ACTIVITIES ON|OFF flag to control creating MEActivities if they
don’t already exist
UPDATE ACTIVITIES ON|OFF flag to control updating MEActivities if they
already exist
CREATE ACTIVITY FORMS ON|OFF flag to control creating forms if they do not
exist on an MEActivity.
UPDATE ACTIVITY FORMS ON|OFF flag to control updating forms if they already
exist on an MEActivity.
LINK OP TO PROCESS ON|OFF flag to control if Process BOM (MEProcess
MEOP(s) ) should be created and/or updated for the
MEProcess structure (BOP). If OFF objects are
created independently – no BOP structure
PROCESS TYPE A valid MEProcess Type to use
OPERATION TYPE A valid MEOP Class Type to use
ACTIVITY TYPE A valid MEActivity Type to use
ACTIVITY FORM TYPE A valid Form Type to use
DEFAULT OWNER Default Owning User. Must be a valid user
DEFAULT GROUP Default Owning Group. Must be a valid group
CREATE WORKAREAS ON|OFF flag to control if MEWorkArea objects should
be created if they do not exist
UPDATE WORKAREAS ON|OFF flag to control if MEWorkArea objects should
be updated if they already exist.
CREATE WORKAREA REVS ON|OFF flag to control if MEWorkArea Revisions
should be created if they do not exist
UPDATE WORKAREA REVS ON|OFF flag to control if MEWorkArea Revisions
should be updated if they already exist
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
WORKAREA TYPE MEWorkArea Class Type. The valid name of
MEWorkArea Type to use.
LINK PRODUCT TO ON|OFF flag to control linking Product structure root to
PROCESS Process structure root.
LINK PLANT TO PROCESS ON|OFF flag to control linking Plant structure root to
Process structure root.
OPTION DESCRIPTION
CREATE CC ON|OFF flag to control creating CC’s if they do not exist.
CREATE CC ALWAYS ON|OFF flag to control creating CC’s always, even if one
already exists with the same name.
UPDATE CC ON|OFF flag to control updating CC’s if they exist.
CREATE SC ON|OFF flag to control creating SC’s if they do not exist.
UPDATE SC ON|OFF flag to control updating SC’s if they exist.
CREATE CFG CONTEXT ON|OFF flag to control creating the CfgContext if one does
not exist for the SC.
UPDATE CFG CONTEXT ON|OFF flag to control updating the CfgContext if one
already exists for the SC.
CREATE CC STRUCTURE ON|OFF flag to control creating the CC’s structure if one
does not exist.
UPDATE CC STRUCTURE ON|OFF flag to control updating the CC’s structure if one
already exists.
CREATE SC STRUCTURE ON|OFF flag to control creating the SC’s structure if one
does not exist.
UPDATE SC STRUCTURE ON|OFF flag to control updating the SC’s structure if one
already exists.
CC DEFAULT TYPE Sets the default Collaboration Context (CC) type.
The default is CCObject.
SC DEFAULT TYPE Sets the default Structure Context (SC) type.
The default is StructureContext.
CFG CONTEXT DEFAULT Sets the default Configuration Context type.
TYPE
The default is ConfigurationContext.
CREATE LEGACY VRULE Same option as used in BOM legacy VRule creation to
control the behaviour with creating CC and SC SOSs.
UPDATE LEGACY VRULE Same option as used in BOM legacy VRule update to
control the behaviour with updating CC and SC SOSs.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
UPDATE LEGACY VRULE Same option as used in BOM legacy VRule update to
OPTION control the behaviour when updating CC and SC SOSs.
The available options are:-
REPLACE – to replace the entire Option Set. Must
be used for new option sets! This is the default option.
UPDATE – to update individual options
1. Processes, Operations and WorkAreas can have their system properties set by
running in items mode after they have been created.
2. If PROCESS TYPE configuration option and ProcType data field are not set, the
Process Type will default to MEProcess. The data field value takes precedence
over the configuration option.
3. If OPERATION TYPE configuration option and OpType data field are not set, the
Operation Type will default to MEOP. The data field value takes precedence over the
configuration option.
4. If ACTIVITY TYPE configuration option and ActType data field are not set, the
Activity Type will default to MEActivity. The data field value takes precedence
over the configuration option.
5. The DEFAULT OWNER/DEFAULT GROUP options apply to all objects in mfg mode
and will be applied at create or update (if configuration allows) of an object.
7. See Section 2 for BOM module config settings/input fields. The BOM module
functionality is fully exposed to the MFG module and used to create Process<--
Operation structures.
8. All supplied object Types are validated before attempting to create objects.
10. If UPDATE ACTIVITY = OFF, any form updates are disabled no matter what
ACTIVITY FORM settings are present. If ACTIVITY UPDATE = ON, the
ACTIVITY FORM configuration options are then activated.
11. All mfg objects are created BEFORE being added to the Process structure.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
12. Assumption: There will be only 1 form of a particular type with a specific name
attached to an Activity.
13. Use mfg mode to create all MEWorkArea objects and then use BOM mode to create
a Plant structure with bom data set.
14. If WORKAREA TYPE configuration option and WorkType data field are not set, the
WorkArea Type will default to MEWorkArea. The data field value takes precedence
over the configuration option.
16. [7.7.0] Objects can be attached to SCs using a GRM relation by supplying the
RelationName field or the RELATION NAME option.
17. [14.17.0] Fields that need to find items to set data on, or link together, now support
item MFK fields using .KEY or ,FIND fields, or using item MFK strings.
14.5 EXAMPLES
Examples for mfg mode can be found in Appendix L.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
This mode is specified in the command line options for the utility or by setting the command
line argument:
-m=workflow
NOTE: This functionality does provide any functionality for assigning any users to any tasks,
or perform any actions on tasks in any way. It merely creates or updates workflow by
adding targets and references, and optionally initiating those processes.
15.1.1 Workflow
FIELD DESCRIPTION
WFProcessName The name of the workflow process to create or update.
This is a mandatory field.
WFProcessDesc The description to set on the workflow process.
WFProcessTpl The workflow template to create a new workflow process from.
WFProcessOwner The owning user to be set for the workflow process. This is the
responsible party for the process,
WFProcessGroup The owning group to be set for the workflow process.
WFAttachType Specifies where to attach objects to the workflow process from:-
TARGET Attach the item or rev as a target
REFERENCE Attach the item or rev as a reference
Alternatively, set a default value with the config option
WORKFLOW ATTACH TYPE.
If not value is specified then the default is TARGET.
WFAttachObject Specifies which object to attach, from:-
ITEM Attach the item.
REV Attach the rev
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
FIELD DESCRIPTION
Alternatively, set a default value with the config option
WORKFLOW ATTACH OBJECT.
If not value is specified then the default is REV.
WFInitiate Specifies if the workflow process should be initiated, by
supplying the value YES, this is the default behaviour, i.e.
initiate.
So supply some other value such as NO to stop new processes
form being initiated, or set the config option WORKFLOW
INITIATE PROCESS = NO.
15.2.1 Workflow
OPTION DESCRIPTION
CREATE WF PROCESS ON|OFF flag to control if new workflow processes should
be created if they do not exist.
The default is ON.
CREATE WF PROCESS ON|OFF flag to control if new workflow processes should
ALWAYS always be created even if one already exists with the same
name.
The default is OFF.
UPDATE WF PROCESS ON|OFF flag to control if existing workflow processes
should be updated. This allows updating of properties of
the workflow process and adding additional target and
reference objects.
The default is OFF.
WORKFLOW TEMPLATE The name of the workflow template to base a new
workflow process on.
WORKFLOW ATTACH TYPE Set a default attachment type, from:-
TARGET Attach the item or rev as a target
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
REFERENCE Attach the item or rev as a reference
The default is TARGET.
WORKFLOW ATTACH Set a default attachment object type, from:-
OBJECT
ITEM Attach the item.
REV Attach the rev
The default is REV.
WORKFLOW INITIATE ON|OFF flag to control if new workflow processes should
PROCESS be initiated.
The default is ON.
WORKFLOW INDIVIDUAL ON|OFF flag to control if new workflow processes should
PROCESSES be created for each object found, e.g. in a folder.
The default is ON.
15.5 EXAMPLES
UPDATE WF PROCESS = ON
CREATE WF PROCESS = ON
CREATE WF PROCESS ALWAYS = OFF
#------------------
END-OF-FILE
#------------------
!~WFProcessName~WFProcessDesc~WFProcessTpl~WFProcessOwner~WFProcessGrou
p~WFAttachType~WFAttachObject~WFInitiate~ItemID~CCName~FolderContents
WF-tim-1~First test workflow~0-TEST Check Conf
Child~tim~Designers~TARGET~REV~NO~New_Assy2
WF-tim-1~First test workflow~0-TEST Check Conf
Child~tim~Designers~REFERENCE~~NO~~~TEST UPLOAD FOLDER
WF-tim-1~First test workflow~0-TEST Check Conf
Child~tim~Designers~REFERENCE~REV~YES~New_Assy1XX
WF-tim-2~First test workflow~0-TEST-Xtrac
MRP~tim~Designers~TARGET~REV~NO~000010
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
#------------------
END-OF-FILE
#------------------
!~WFProcessName~WFProcessDesc~WFProcessTpl~WFProcessOwner~WFProcessGrou
p~WFAttachType~WFAttachObject~WFInitiate~FolderContents
WF-tim-1~First test workflow~0-TEST Check Conf
Child~tim~Designers~TARGET~~YES~TEST UPLOAD FOLDER
WF-tim-2~First test workflow~0-TEST Check Conf
Child~tim~Designers~TARGET~~YES~UPLOAD FOLDER FOR CCs
#------------------
END-OF-FILE
#------------------
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
-m=pom
WARNING: This is a very powerful mode and with great power comes great responsibility so
great care should be taken, with comprehensive testing, when using this mode as it’s
possible to create and update data that may cause problems with the data in Teamcenter.
See General methodology of the pom mode for full instructions on using this mode.
[13.2.0] The pom mode can now, optionally, create general business objects using the
general object creation function TCTYPE_create_object. See [14.10.0] ‘Object’ field
The general field Object can be used to provide PUIDs (tags) of differing classes. Or the
.FIND modifier could be used to find specific objects by class and attributes.
This is useful if common attributes for objects of different classes need to be updated, e.g.
owning_group.
The config option to define which classes to be updated is not required.
For example, setting owning_group to dba for a dataset, BV and BVR:-
SET BYPASS = ON
DEFAULT VALUES HEADER LINE = *:owning_group
DEFAULT VALUES DATA LINE = dba
!~Object~Ignore:Type
h7CAQsVTo13TJC~Text
ikJAQsVTo13TJC~BV
ioIAQsVTo13TJC~BVR
[13.2.0] Object creation with TCTYPE_create_object for full instructions on using this
method for object creation.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
This specifies the class as CompanyLocation and the attribute as object_name. This
example is also specified as being a key field to search on by the .KEY modifier.
[12.0.0] An existing object’s tag (or unique ID) can be supplied by supplying the pid attribute
as the key, for example:-
Folder:pid.KEY~Folder:owning_user.PROPAGATE~Folder:Group.PROPAGATE
QRQZ4itkqGvuWB~user1~Engineering
[13.2.0] A field name key word, BOType, has been added to indicate that the new object
create functionality, using TYTYPE_create_object, should be used.
FIELD DESCRIPTION
<Class>:BOType [13.2.0] Indicates to use TCTYPE_create_object to create
objects instead of POM functions. The value provided on the
data line will be the Business Object type to be created.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
!~Object~Ignore:Type
h7CAQsVTo13TJC~Text
ikJAQsVTo13TJC~BV
ioIAQsVTo13TJC~BVR
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
As mentioned just above, the Business Object Item has a special Create Input property
revision, which is not a an actual property under Item for storing the puid of the revision.
However, several actual Item properties are also defined as Create Input properties, like
item_id and object_name. Which is good as only Create Input properties can be used, at
creation time, to create objects using this functionality. I.e. only Create Input properties can
be defined in .KEY and .MAND fields. Any other properties to be set must not have .KEY or
.MAND added and will be set after the object has been created.
Some object types don’t have Create Input properties defined. For example ImanVolume
does not have volume_name defined. It can be added though, but care must be taken. In
the example of ImanVolume, although volumes can be created with this functionality and all
necessary properties set, the volumes created in Tc can’t be used as they also need to be
defined with the FSC. This is just an example where problem may arise.
As shown in the Item example just above, the new .BO_CI field modifier is used like
.CLASS to specify a sub object class, but cannot find objects. So, the .BO_CI modifier is to
be used when the Create Input property is not an actual property of the object being
created, e.g. revision for the Business Object Item.
If the Create Input property is also an actual property of the object then .CLASS can be
used and then a search should also be done to find and update existing objects or create
new ones.
Alternatively if it’s known that a sub object, or referenced object already exists then the
.FIND modifier can be used to find the existing object, to find an ImanVolume object for a
group as shown in the following example.
When using .BO_CI all of the data for the objects to be created, e.g. an item, its revision and
the master forms, is pre-defined and when the top object is created all of the other objects
are created too by the Tc API.
But, when this was tried with a ScheduleTask object and a Schedule object (as a sub/child
object to the ScheduleTask) the ScheduleTask failed to create. So .BO_CREATE was
added in order to fully create the Schedule object at its time of definition and the tag of the
new Schedule passed to the ScheduleTask definition.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
With the original POM creation functionality a list of attributes to have a default value set
was required using POM DEFAULT ATTRS FOR CLASS. But with the new BO create
method this is no longer required.
With the original POM creation functionality all fields would be set using POM functions.
This can allow none application privilege attributes to be set most times, but not attributes
on parent classes. The field modifier .PROP could be used to set a value as property rather
than an attribute.
With the new BO create functionality this is reversed. By default values will be set as
properties, without needing to supply .PROP. If an attribute is to be set directly with POM
then .POM will need to be added.
Many object types created using this method may not be able to be successfully refreshed
within Teamcenter, e.g. Groups. So restart Teamcenter to be sure of seeing any creates or
updates performed correctly.
16.3.1 Pom
OPTION DESCRIPTION
POM PRIMARY CLASS Defines the class of the primary object being created.
If not supplied then the first class listed in CREATE
POM OBJECTS will be used as the primary class.
CREATE POM OBJECTS Defines a comma separated list of object classes to be
created.
For example if a Web Link form is to be created then its
WebLink data object must also be created and so the
following list would be required:-
CREATE POM OBJECTS = Form,WebLink
NOTE: The CSV list must NOT contain spaces around
the commas.
CREATE POM OBJECTS Defines a comma separated list of object classes to be
ALWAYS created ALWAYS, i.e even if one exists with the same
KEY values.
As in the above example for creating a Web Link form a
WebLink data object must always be created since no
two forms should reference the same data object.
Therefore this option would be set to:-
CREATE POM OBJECTS ALWAYS = WebLink
NOTE: If this class is not defined in the CREATE POM
OBJECTS list then it will be added to it by default.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
UPDATE POM OBJECTS Defines a comma separated list of object classes to be
updated.
For example if a Web Link form is to be updated and its
WebLink data object is also to be updated then the
following list would be required:-
UPDATE POM OBJECTS = Form,WebLink
NOTE: The CSV list must NOT contain spaces around
the commas.
UPDATE MULTI POM Specifies what to do if more than one pom object is
OBJECTS OPTION found. The available options are:-
NONE - Update none of them
FIRST - Update the first one
ALL - Update all of them
NOTE: This applies to all classes being updated as
defined by UPDATE POM OBJECTS.
FIND POM OBJECTS IF ON|OFF flag to control if objects should be found by a
NOT IN PARENT general search, i.e. not in the specified parent, or only
attached to a specified parent when ParentID and
ParentRev fields are specified to define a parent, for
example.
Default is OFF.
POM DEFAULT ATTRS FOR Specifies a comma separated list of attributes to be
CLASS <class_name> defaulted wiuth null values for a the specified
<class_name>, for example to set some default
attributes for the class CompanyLocation:-
POM DEFAULT ATTRS FOR CLASS
CompanyLocation =
object_desc,url,owning_organization,owning_project,
region,state_province
Propagation paths can be defined to update objects attached to the main object specified
with the .KEY fields. See section 2.8 -
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
16.4.1.1 Introduction
The pom mode is designed to be able to create almost any object in the Teamcenter data model and
set attributes directly. So this bypasses general ITK functions that would validate such data to ensure
data integrity. It also bypasses general access rules too. Therefore great care should be taken and
extensive testing should be done when using this mode and with the aid of an SQL query tool to see
exactly what gets created/updated in the database to ensure that the desired results are achieved and
that Teamcenter still behaves correctly with the affected objects.
Objects will either be found by searching the database, looking in a parent object (see Attaching to
parent objects) or found attached to referenced attributes (see Object references).
To find objects stored in the database some KEY attributes for a class need to be specified as values
to search on and are specified using the header field modifier .KEY, for example to search for Form
objects using object_name and object_type the following fields would be used:-
!~Form:object_name.KEY~Form:object_type.KEY
Key fields are only used for searching and will not be updated. To update a key field supply the field
again without the .KEY modifier.
Type specific ITK functions, e.g. item specific, would also set any required default attributes for an
object being created, but this does not happen when using low level POM functions as used by the
pom mode. Therefore it’s necessary to supply values for all attributes for an object, or at least specify
which attributes should be set to a null default value based on an attributes data type. See the Notes
on creating a POM object section below on a method to help find out all of the attributes that need to
be set or defaulted for a class.
The CREATE and UPDATE options for the pom module work differently to other modes as they
supply a comma separated list of classes to create or update rather than a simple ON/OFF flag.
This is because a data file may supply data for several objects to be created or updated and linked
together through referenced attributes. So it may be that a primary object is to be updated but a new
secondary object created.
Many attributes in the Teamcenter data model are typed or un-typed references to other objects. The
typed attributes have a specific (or typed) class of object attached whereas un-typed attributes can
have almost any type of object attached. The pom mode does provide some ability to set these
attributes.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
This is done by specifying a referenced attribute with the .CLASS modifier added to its field header.
The supplied value for this field then supplies the class name of the secondary object that will be
attached to the referenced attribute in the primary object. Subsequent header fields will then be
prefixed with the class name of the secondary object’s class name to set values for that object. The
pom mode has been designed to allow this to happen recursively, i.e. to attach further objects to
referenced attributes in the secondary object.
For example a Form object has a data file object attached to it in the data_file attribute, where the
data file object contains the custom attributes that a user would set on a form, whereas the actual
form object contains the system properties like create date, owner etc.
To use a specific example the Form of type Web Link uses a data object class called WebLink (no
space) which has an attribute url. Since the primary object here is a Form then all fields setting
values on the Form must be prefixed with Form and any fields setting values on the data object
prefixed with WebLink. The link between the two occurs on the Form attribute data_file which must
have the .CLASS modifier and a corresponding data value of WebLink thus:-
!~…~Form:data_file.CLASS~…
…~WebLink~…
A Form object is a Workspace object and requires certain attributes to be populated like Name, Type
and Description. But there are also other values which must at least be defaulted and these can
increase with subsequent versions of Teamcenter. At 8.3 the attributes owning_organization and
owning_project must be set. If specific values don’t need to be set then these can be defaulted in
the configuration file with a specific option to default Form attributes, thus:-
POM DEFAULT ATTRS FOR CLASS Form = owning_organization,owning_project
Some system attributes still get defaulted by Teamcenter though. For example, Workspace object
attributes like owner, group, create date, last modified date and last modified by will be defaulted by
default. Then there are some known attributes, so no need to specify them, which get set by default
by IPS Data Upload depending upon the object’s class. For example for a Workspace object
attributes like gov_classification and wso_thread will get defaulted, and for a Form form_file and
data_file will get defaulted.
But all other attributes need to be specified in the data file. So bringing it all together for a Web Link
form we have:-
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
If a primary object needs updating and it’s secondary object replaced with another one then use the
.REPLACE modifier as well as the .CLASS modifier, for example:-
!~…~Form:data_file.CLASS.REPLACE~…
…~WebLink~…
NOTE: The original object attached to the attribute will not be deleted from the database.
For convenience it’s possible to specify a property (as opposed to an attribute) using the .PROP field
modifier which will get Teamcenter to do a lot of work for you. In the above example for setting the url
attribute on the WebLink data object in a Web Link form it’s easier to set this as a property on the
Form, thus:-
!~Form:object_name.KEY~Form:object_type.KEY~Form: object_desc ~Form:url.PROP~…
google2~Web Link~Google Search~http://www.google.com/~
instead of specifying the WebLink as a referenced object to the Form’s data_file attribute, as above,
using:-
!~Form:object_name.KEY~Form:object_type.KEY~Form:object_desc~Form:data_file.CLASS~WebL
ink:url~
google2~Web Link~Google Search~WebLink~http://www.google.com/~
Various system properties can be set on the primary object using known field keywords, see System
fields for a list of these.
Also the keywords Name and Desc can be used instead object_name and object_desc.
FIELD DESCRIPTION
<Class>:BOType [13.2.0] Indicates to use TCTYPE_create_object to create
objects instead of POM functions. The value provided on the
data line will be the Business Object type to be created.
Parent fields, and configuration options to specify a GRM parent and GRM type.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
By default the parent object(s) will be searched to see if the required primary object(s), using the
defined .KEY fields, is already attached to the specified GRM relation under the parent object(s). If
it’s found then it will be updated if it’s in the list defined by UPDATE POM OBJECTS, otherwise it’ll be
created if it’s in the list defined by CREATE POM OBJECTS.
Alternatively the config option FIND POM OBJECTS IF NOT IN PARENT can be set to ON to search
for the primary object in the database if it wasn’t found already attached to the parent. In which case
if the primary object is found then it’ll be attached to the parent.
To update the parent object add the PARENT to the config option UPDATE POM OBJECTS and add
fields starting with the parent's class or type, or the value PARENT can be used.
For example:-
UPDATE POM OBJECTS = Form,PARENT
!~ParentID~ParentRev~RelationName~Form:object_type.KEY~Form:object_name.KEY~Form:CostA
mount.PROP~PARENT:object_desc
delete_2~A~IMAN_specification~CostDataForm~CostData-001~33~Form updated
1) Start by using the minimum of key fields, e.g. object_name and object_type, to get a CREATE
FAILED, e.g.:-
!~CompanyLocation:object_name.KEY~CompanyLocation:object_type.KEY
Siemens~CompanyLocation
3) Any of these that are not required to have a specific value need to be added to a config option to
set default empty values for, e.g.:-
POM DEFAULT ATTRS FOR CLASS CompanyLocation =
owning_organization,owning_project,region,state_province
4) All others should be set in the data file as non KEY fields, e.g.:-
!~CompanyLocation:object_name.KEY~CompanyLocation:object_type.KEY~CompanyLocation:count
ry~CompanyLocation:postal_code~CompanyLocation:city~CompanyLocation:street
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
5) If still get CREATE FAILED check the syslog again for further empty attributes, e.g.:-
Instance 000077f2 <gYH9UDlMI4WWSA>(CompanyLocation) attribute object_desc is empty
Instance 000077f2 <gYH9UDlMI4WWSA>(CompanyLocation) attribute url is empty
16.6 EXAMPLES
This example will update existing forms if found, or create new forms if not. It will also update an
existing WebLink object already attached to a form, or if not then ALWAYS create a new one, hence
no .KEY fields are required for WebLink as no search is required.
CREATE POM OBJECTS = Form
CREATE POM OBJECTS ALWAYS = WebLink
UPDATE POM OBJECTS = Form,WebLink
FIND POM OBJECTS IF NOT IN PARENT = ON
POM DEFAULT ATTRS FOR CLASS Form = owning_organization,owning_project
SET BYPASS = ON
!~Form:object_name.KEY~Form:object_type.KEY~Form:object_desc~Form:data_file.CLASS~WebLin
k:url~ParentID~ParentRev~RelationName~Owner~CreateDate
google2~Web Link~Google
Search~WebLink~http://www.google.com/~000028~A~IMAN_reference~infodba~16-Mar-2000 10:00
google~Web Link~Google UK~WebLink~http://www.google.co.uk/~000028~A~IMAN_reference~~16-
Mar-2000 10:00
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
SET BYPASS = ON
UPDATE MODIFY DATES = OFF
!~CompanyLocation:object_name.KEY~CompanyLocation:object_type.KEY~CompanyLocation:count
ry~CompanyLocation:postal_code~CompanyLocation:city~CompanyLocation:street~ParentID~Parent
Rev~RelationName~CompanyLocation:last_mod_date
Siemens~CompanyLocation~UK~GU15 3SY~Camberley~Knoll
Road~000010~A~IMAN_reference~01-Apr-2000 09:00
!~ScheduleTask:BOType~ScheduleTask:schedule_tag.BO_CREATE~schedule_tag:BOType~Sched
uleTask:item_id.KEY~ScheduleTask:object_name.MAND~ScheduleTask:start_date.POM~ScheduleT
ask:finish_date.POM~ScheduleTask:task_type~ScheduleTask:fnd0IsSchSummaryTask~ScheduleTa
sk:wbs_code~ScheduleTask:duration~ScheduleTask:work_estimate~schedule_tag:item_id.KEY~sch
edule_tag:object_name.MAND~schedule_tag:object_desc~schedule_tag:start_date.POM~schedule_t
ag:finish_date.POM~schedule_tag:published~schedule_tag:is_public~schedule_tag:dates_linked~sch
edule_tag:fnd0IsLegacy~schedule_tag:recalc_type~schedule_tag:fnd0SummaryTask.FIND=Sched
uleTask,item_id
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
ScheduleTask~Schedule~Schedule~05320L010~T.05320L010~30/09/2020 08:30~10/10/2020
08:30~6~1~~100~200~05330L~P.05330L~Projeto 05330L~30/09/2020 08:30~01/01/2021
08:30~TRUE~TRUE~TRUE~FALSE~0~05320L010~
Notes
1. .BO_CREATE is used, in conjunction with :BOType, on the top referencing object, in this
case the ScheduleTask to reference a Schedule object via the property schedule_tag.
2. The Schedule object is also created using :BOType with schedule_tag:BOType.
3. The item_id field for each object type uses .KEY as they are search fields.
4. The name fields for each object type uses .MAND as they are mandatory, but not search,
fields.
5. All further fields for the Schedule object use the field prefix schedule_tag.
6. The date fields are using .POM because for some reason they would not get set otherwise.
7. The last field, schedule_tag:fnd0SummaryTask.FIND=ScheduleTask,item_id, links the
new Schedule object back to the new ScheduleTask via the property fnd0SummaryTask
using .FIND to find it.
!~PSOccurrence:child_item.KEY.FIND=Item,item_id~PSOccurrence:uom_tag.FIND=UnitOfMeasure,s
ymbol
SHOPRT01~kg
SHOPRT02~kg
NOTE: A modification in 14.9.0 allows the .FIND field modifier to be used to find objects to be set on a
referenced attribute.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
OPTION DESCRIPTION
%W week number of year with Monday as first day of week (00..53)
%x locale's date representation (mm/dd/yy)
%X locale's time representation (%H:%M:%S)
%y last two digits of year (00..99)
%Y year (1970)
%z RFC-822 style numeric timezone (-0500) (a nonstandard extension)
%Z time zone (e.g., EDT), or nothing if no time zone is determinable
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
CREATE ITEMS = ON
UPDATE ITEMS = ON
CREATE REVS = ON
UPDATE REV S = ON
Data File
-------------------------------
!~ItemID~RevID~Owner~Group~CreateDate~RM:project_id~RMD:date_valid_from
BomAssy1~A~williams~designers~16/03/1997~Project X~01/04/1997
BomChild1~A~williams~designers~16/03/1997~Project X~01/04/1997
BomChild2~A~williams~designers~16/03/1997~Project X~01/04/1997
BomChild3~A~williams~designers~16/03/1997~Project X~01/04/1997
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
CREATE ITEMS = ON
UPDATE ITEMS = OFF
CREATE REVS = ON
UPDATE REVS = ON
UPDATE REV ATTACHMENTS = ON
UPDATE ITEM ATTACHMENTS = OFF
UPDATE FORMS = ON
UPDATE DATASET = ON
UPDATE BOMS = ON
Data File
-------------------------------
!~ItemID~RevID
GUY98765~A
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
CREATE ITEMS = ON
UPDATE ITEMS = OFF
CREATE REVS = ON
UPDATE REVS = ON
UPDATE REV ATTACHMENTS = ON
UPDATE ITEM ATTACHMENTS = OFF
UPDATE FORMS = ON
UPDATE DATASET = ON
UPDATE BOMS = ON
Data File
-------------------------------
!~ItemID~RevID~CheckOutID
GUY98765~A~CID_982KDME8001
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
MODE = bom
BOM FORMAT = parent_child
DATE FORMAT = %d/%m/%y %H:%M:%S
FOLDER NAME = Upload Tests
DEFAULT REV =A
SET BOMS PRECISE = OFF
Data File
-------------------------------
ITEM TYPE = Item
VIEW TYPE = Design
DATE FORMAT = %d/%m/%Y
BOM FORMAT = parent_child
!~ItemID~ChildID~Qty~Owner~Group~CreateDate
BomAssy1~BomChild1~2~williams~designers~16/03/1997
BomAssy1~BomChild2~3~williams~designers~16/03/1997
BomAssy1~BomChild3~5~williams~designers~16/03/1997
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
CREATE BOMS = ON
UPDATE BOMS = ON
BOM UPDATE OPTION = UPDATE ALL OCCURRENCES
Data File
-------------------------------
!~ParentID~ChildID~SeqNo
Assembly123~*~NULL
Config File
--------------------------------
BOM UPDATE OPTION = UPDATE OCCURRENCES
BOM UPDATE ID FIELDS = ChildID,SeqNo
Config File
--------------------------------
!~ParentID~ChildID~SeqNo~NewSeqNo
Assembly123~Child1~10~1
Assembly123~Child2~30~2
Assembly123~Child3~30~3
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
BOM UPDATE OPTION = UPDATE OCCURRENCES
BOM UPDATE ID FIELDS = ChildID,SeqNo
BOM UPDATE ADD OCCURRENCES = OFF
BOM UPDATE PRE DELETE ATTR = RDN Letter
BOM UPDATE PRE DELETE VALUE = *
BOM UPDATE DELETE FIELD = RDN Letter
BOM UPDATE DELETE VALUE =X
Data File
-------------------------------
!~ParentID~ChildID~SeqNo~Qty~ON:RDN Letter
Assembly123~Child1~1~2~C
Assembly123~Child2~2~20~R
Assembly123~Child3~3~5~C
Assembly123~Child4~4~0~X
Assembly123~Child5~5~0~X
Config File
-------------------------------
BOM UPDATE OPTION = UPDATE OCCURRENCES
BOM UPDATE ADD OCCURRENCES = OFF
BOM UPDATE PRE DELETE ATTR = ChildID
BOM UPDATE PRE DELETE VALUE = *
Data File
-------------------------------
!~ParentID~ChildID
Assembly123~*
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
BOM FORMAT = parent_child
UPDATE BOMS = ON
CREATE BOMS = ON
BOM UPDATE OPTION = UPDATE OCCURRENCES
BOM UPDATE ID FIELDS = ChildID,AbsOccID,SeqNo
BOM REV RULE = RR Latest Agreed Scenery
Data File
-------------------------------
!~ParentID~ParentRev~ChildID~ChildRev~SeqNo~AbsOccID~ContextItemID~ContextItem
RevID~ContextAbsOccID~ContextParentAbsOccID
XSUPERCAR~A~XCAR99~A~10~Vectra~~~~
XCAR99~A~XAXLE99~A~10~RearAxle~XSUPERCAR~A~Vectra-RearAxle~Vectra
XAXLE99~A~XWHEEL~A~10~LeftWheel~XSUPERCAR~A~Vectra-RearAxle-
LeftWheel~Vectra-RearAxle
XWHEEL~A~XWHEELNUT~A~10~nut1~XSUPERCAR~A~Vectra-
RearAxle-LeftWheel-nut1~Vectra-RearAxle-LeftWheel
XWHEEL~A~XWHEELNUT~A~20~nut2~XSUPERCAR~A~Vectra-
RearAxle-LeftWheel-nut2~Vectra-RearAxle-LeftWheel
XWHEEL~A~XWHEELNUT~A~30~nut3~XSUPERCAR~A~Vectra-
RearAxle-LeftWheel-nut3~Vectra-RearAxle-LeftWheel
XWHEEL~A~XWHEELNUT~A~40~nut4~XSUPERCAR~A~Vectra-
RearAxle-LeftWheel-nut4~Vectra-RearAxle-LeftWheel
XAXLE99~A~XWHEEL~A~20~RightWheel~XSUPERCAR~A~Vectra-RearAxle-
RightWheel~Vectra-RearAxle
XWHEEL~A~XWHEELNUT~A~10~nut1~XSUPERCAR~A~Vectra-
RearAxle-RightWheel-nut1~Vectra-RearAxle-RightWheel
XWHEEL~A~XWHEELNUT~A~20~nut2~XSUPERCAR~A~Vectra-
RearAxle-RightWheel-nut2~Vectra-RearAxle-RightWheel
XWHEEL~A~XWHEELNUT~A~30~nut3~XSUPERCAR~A~Vectra-
RearAxle-RightWheel-nut3~Vectra-RearAxle-RightWheel
XWHEEL~A~XWHEELNUT~A~40~nut4~XSUPERCAR~A~Vectra-
RearAxle-RightWheel-nut4~Vectra-RearAxle-RightWheel
XCAR99~A~XAXLE99~A~20~FrontAxle~XSUPERCAR~A~Vectra-FrontAxle~Vectra
XAXLE99~A~XWHEEL~A~10~LeftWheel~XSUPERCAR~A~Vectra-FrontAxle-
LeftWheel~Vectra-FrontAxle
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
XWHEEL~A~XWHEELNUT~A~10~nut1~XSUPERCAR~A~Vectra-
FrontAxle-LeftWheel-nut1~Vectra-FrontAxle-LeftWheel
XWHEEL~A~XWHEELNUT~A~20~nut2~XSUPERCAR~A~Vectra-
FrontAxle-LeftWheel-nut2~Vectra-FrontAxle-LeftWheel
XWHEEL~A~XWHEELNUT~A~30~nut3~XSUPERCAR~A~Vectra-
FrontAxle-LeftWheel-nut3~Vectra-FrontAxle-LeftWheel
XWHEEL~A~XWHEELNUT~A~40~nut4~XSUPERCAR~A~Vectra-
FrontAxle-LeftWheel-nut4~Vectra-FrontAxle-LeftWheel
XAXLE99~A~XWHEEL~A~20~RightWheel~XSUPERCAR~A~Vectra-FrontAxle-
RightWheel~Vectra-FrontAxle
XWHEEL~A~XWHEELNUT~A~10~nut1~XSUPERCAR~A~Vectra-
FrontAxle-RightWheel-nut1~Vectra-FrontAxle-RightWheel
XWHEEL~A~XWHEELNUT~A~20~nut2~XSUPERCAR~A~Vectra-
FrontAxle-RightWheel-nut2~Vectra-FrontAxle-RightWheel
XWHEEL~A~XWHEELNUT~A~30~nut3~XSUPERCAR~A~Vectra-
FrontAxle-RightWheel-nut3~Vectra-FrontAxle-RightWheel
XWHEEL~A~XWHEELNUT~A~40~nut4~XSUPERCAR~A~Vectra-
FrontAxle-RightWheel-nut4~Vectra-FrontAxle-RightWheel
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
BOM FORMAT = parent_child
UPDATE BOMS = ON
CREATE BOMS = ON
BOM UPDATE OPTION = UPDATE OCCURRENCES
BOM UPDATE ID FIELDS = ChildID,AbsOccID
BOM REV RULE = RR Latest Agreed Scenery
Data File
-------------------------------
!~ParentID~ParentRev~ChildID~ChildRev~SeqNo~AbsOccID~ContextItemID~ContextItem
RevID~ContextAbsOccID
XWHEEL~A~XWHEELNUT~A~10~nut1~XSUPERCAR~A~Vectra-RearAxle-LeftWheel-nut1
XWHEEL~A~XWHEELNUT~A~20~nut2~XSUPERCAR~A~Vectra-RearAxle-LeftWheel-nut2
XWHEEL~A~XWHEELNUT~A~30~nut3~XSUPERCAR~A~Vectra-RearAxle-LeftWheel-nut3
XWHEEL~A~XWHEELNUT~A~40~nut4~XSUPERCAR~A~Vectra-RearAxle-LeftWheel-nut4
XWHEEL~A~XWHEELNUT~A~10~nut1~XSUPERCAR~A~Vectra-RearAxle-RightWheel-nut1
XWHEEL~A~XWHEELNUT~A~20~nut2~XSUPERCAR~A~Vectra-RearAxle-RightWheel-nut2
XWHEEL~A~XWHEELNUT~A~30~nut3~XSUPERCAR~A~Vectra-RearAxle-RightWheel-nut3
XWHEEL~A~XWHEELNUT~A~40~nut4~XSUPERCAR~A~Vectra-RearAxle-RightWheel-nut4
XWHEEL~A~XWHEELNUT~A~10~nut1~XSUPERCAR~A~Vectra-FrontAxle-LeftWheel-nut1
XWHEEL~A~XWHEELNUT~A~20~nut2~XSUPERCAR~A~Vectra-FrontAxle-LeftWheel-nut2
XWHEEL~A~XWHEELNUT~A~30~nut3~XSUPERCAR~A~Vectra-FrontAxle-LeftWheel-nut3
XWHEEL~A~XWHEELNUT~A~40~nut4~XSUPERCAR~A~Vectra-FrontAxle-LeftWheel-nut4
XWHEEL~A~XWHEELNUT~A~10~nut1~XSUPERCAR~A~Vectra-FrontAxle-RightWheel-nut1
XWHEEL~A~XWHEELNUT~A~20~nut2~XSUPERCAR~A~Vectra-FrontAxle-RightWheel-nut2
XWHEEL~A~XWHEELNUT~A~30~nut3~XSUPERCAR~A~Vectra-FrontAxle-RightWheel-nut3
XWHEEL~A~XWHEELNUT~A~40~nut4~XSUPERCAR~A~Vectra-FrontAxle-RightWheel-nut4
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
--------------------------------
BOM FORMAT = parent_child
UPDATE BOMS = ON
CREATE BOMS = ON
BOM UPDATE OPTION = UPDATE OCCURRENCES
BOM UPDATE ID FIELDS = ChildID
BOM REV RULE = Latest Working
CREATE ITEMS = ON
CREATE REVS = ON
UPDATE ITEMS = ON
UPDATE REVS = ON
SET BYPASS = ON
CREATE DATASET = OFF
UPDATE DATASET = OFF
REV RELEASE RELATIONS = IMAN_specification,BOMVIEW
CREATE STATUS = ON
UPDATE STATUS = LAST
CREATE EC ITEMS = ON
UPDATE EC ITEMS = ON
CREATE EC REVS = ON
UPDATE EC REVS = ON
EC TYPE = WA
ADD CHILD TO EC FOLDER = problem_items
SET EC IN BOM IC CONTEXT = ON
EC FORMS LIST TO ADD = Checklist Template Form
EC PROCESS AUTO INIT = ON
EC PROCESS TEMPLATE = CMII WA
EC PROCESS DESC = MES PROCESS NON-CONFORMANCE
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Data File
-------------------------------
!~ParentID~ParentRev~ChildID~ChildRev~ECID~ECRev~ECName~ECDesc~ECType~Stat
us~EffEndItem~UnitStart~UnitEnd
IC_PROC1~A~IC_OP10~A~WA98765443~A~~This is a test~WA~Released~IC_PROC1
~1234~1234
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
CREATE BOMS = ON
UPDATE BOMS = ON
UPDATE ITEMS = ON
UPDATE REVS = ON
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
END-OF-FILE
!~ItemID~Name~ChildID~LVarOptName~LVarOptVal~LVarOptCondition~LVarOptAction~LVarOptD
efVal~LVarOptSetIfVal~LVarOptSetIfCond
IQN-0~IQN~~POTEN~10,12,15,25,70,80,SIN,xxxxxxxx~ ~~15~SIN~[IQN-0]I = SIN
END-OF-FILE
!~ItemID~Name~ChildID~LVarOptName~LVarOptVal~LVarOptCondition~LVarOptAction
IQN-0~IQN~~*~~ ~delete
END-OF-FILE
!~ItemID~Name~ChildID~LVarOptName~LVarOptVal~LVarOptCondition~LVarOptAction
IQN-0~IQN~~COMPL~N,S~ ~
IQN-0~IQN~~MARCA~I,xxxxxxxx~ ~
IQN-0~IQN~~COLO1~NEGRT,xxxxxxxx~ ~
IQN-0~IQN~~COLO2~NEGRT,xxxxxxxx~ ~
IQN-0~IQN~~CLASE~I,xxxxxxxx~ ~
IQN-0~IQN~~PLAMP~E27,E40,xxxxxxxx~ ~
IQN-0~IQN~~O~1,xxxxxxxx~ ~
IQN-0~IQN~~C~P1,VL,xxxxxxxx~ ~
IQN-0~IQN~~E~SIN,xxxxxxxx~ ~
IQN-0~IQN~~R~SIN,xxxxxxxx~ ~
IQN-0~IQN~~F~SIN,xxxxxxxx~ ~
IQN-0~IQN~~I~CON,SIN,SINC,xxxxxxxx~ ~
IQN-0~IQN~~LAMPA~H,M,S,SIN,xxxxxxxx~ ~
IQN-0~IQN~~POTEN~10,12,15,25,70,80,SIN,xxxxxxxx~ ~
IQN-0~IQN~~TENSI~220,230,240,SIN,xxxxxxxx~ ~
IQN-0~IQN~~FRECU~50,60,SIN,xxxxxxxx~ ~
IQN-0~IQN~~ARRAN~TR,IDL,IDM,IDT,IDY,SIN,xxxxxxxx~ ~
IQN-0~IQN~~DONIV~LM,TP,SIN,xxxxxxxx~ ~
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
IQN-0~IQN~~REACT~ELT,ETI,LAY,SIN,xxxxxxxx~ ~
IQN-0~IQN~~FOTOC~SIN,xxxxxxxx~ ~
IQN-0~IQN~~MCONT~SIN,xxxxxxxx~ ~
IQN-0~IQN~~CEMER~SIN,xxxxxxxx~ ~
IQN-0~IQN~~PFUSI~SIN,xxxxxxxx~ ~
IQN-0~IQN~~EMBAL~ST~ ~delete
IQN-0~IQN~~EMBAL~ST~ ~
IQN-0~IQN~13-00532-30x~TORNILLO DIN-7985A M5x10 IN H~~IQN-0; COMPL; ==; S & IQN-0; I;
==; CON|SINC~
IQN-0~IQN~13-02106-30x~ARANDELA DIN-6798-A p. M 6 IN~~(IQN-0; COMPL; ==; S & IQN-0; C;
==; VL & IQN-0; I; ==; CON|SINC) | [IQN-0]POTEN = 10|12|15~
IQN-0~IQN~52-62003-04~MARCO P/VIDRIO IQN-250 NEGRT ~~
IQN-0~IQN~13-00535-30~TORNILLO DIN-7985A M5x20 IN H~~IQN-0; C; ==; P1|VL~
IQN-0~IQN~13-00905-01~ARANDELA VISTOP M 5 BI~~IQN-0; C; ==; P1|VL~
IQN-0~IQN~52-62000-02~REFLECTOR DE.ASIM. IQN-150 ~~IQN-0; COMPL; ==; S~
IQN-0~IQN~13-00581-02~TORNILLO DIN-7500C M 5x 8 CI P~~IQN-0; COMPL; ==; S & IQN-0; C;
==; VL~
END-OF-FILE
!~ItemID~Name~ChildID~LVarOptName~LVarOptVal~LVarOptCondition~LVarOptAction
IQN-0~IQN~~Tim1~A,B,C~ ~delete
IQN-0~IQN~~Tim2~A,B,C~ ~delete
IQN-0~IQN~~Tim3~A,B,C~ ~delete
IQN-0~IQN~~Tim3~A,B,D~ ~
END-OF-FILE
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
#-------------------------
END-OF-FILE
#-------------------------
!~ItemID~ParentRev~ChildID~ChildRev~BL:bl_variant_condition
AHD54302~001~AHD53108~001~[AHD54302]Load_Mainstream = Y AND [AHD54302]Tim_test = Y
#-------------------------
END-OF-FILE
#-------------------------
!~ItemID~ChildID~ItemType~BL:bl_occurrence_name~LVarOptCondition
AHD54302~AHD53108~CORP_Proc_Plan~MAINSTREAM MODULE~AHD54302;
Load_Mainstream; ==; Y
#-------------------------
END-OF-FILE
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
#-------------------------
!~ItemID~ChildID~Qty~SeqNo~ON:Test~Uom~RM:project_id~MVarOptName~MVarOptDesc~MVar
OptVis~MVarOptValType~MVarOptVal~MVarOptDefVal~MVarOptCondition~LVarOptName~LVarO
ptDesc~LVarOptVal~LVarOptCondition~MVarOptAction~LVarOptAction~LVarOptValAction
# Delete Option...
New_Assy2~~1~10~Test Note 1~mm~Project test~~~~~~~~L Option 2~Legacy option
2~val1,val2,val3~~~delete
# Legacy option
END-OF-FILE
# Delete Option...
#New_Assy1~~1~10~Test Note 1~mm~Project test~OPTION7~~~~~~~~~~~delete
New_Assy1~~1~10~Test Note 1~mm~Project test~*~~~~~~~~~~~delete
# public OPTION1 string "A multi list STRING option" = "Value 1", "Value 2", "Value 3" default "Value
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
1"
New_Assy1~~1~10~Test Note 1~mm~Project test~Option 1~A New STRING
option~public~STRING~"Value1", "Value2", "Value3"~Value3
# public 'OPTION WITH SPACE' real "A real range" = >=10.5, <=19.5
New_Assy1~~1~10~Test Note 1~mm~Project test~Option 2~OPTION WITH
SPACE~public~real~>=10.5, <=19.5
# public OPTION7 integer "Integer with range" = 1 to 100, 201 to 300 default 1
New_Assy1~~1~10~Test Note 1~mm~Project test~OPTION7~Integer with range~public~integer~1
to 100, 201 to 300~1
!~ItemID~ParentRev~ChildID~ChildRev~LVarOptName~LVarOptSetIfVal~LVarOptSetIfCond
AHD54302~001~~~[AHD54301]OPT1~value1-2~[AHD54301]OPT2 = value2-2
#-------------------------
END-OF-FILE
#-------------------------
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
!~ItemID~ParentRev~ChildID~ChildRev~LVarOptName~LVarOptDesc~LVarOptVal~Ignore:LVarOptDefVal~LVarOptEr
AHD54302~001~~~[AHD54301]OPT1~~~value1-1~OPT 2 value value2-2 NOT ALLOWED~[AHD54301]OPT2 = value2
#-------------------------
END-OF-FILE
#-------------------------
CREATE BOMS = ON
UPDATE BOMS = ON
UPDATE ITEMS = ON
UPDATE REVS = ON
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
#MODE = create_forms
#FORM RELATION = Reference
#FORM TYPE = Company
#FORM PARENT TYPE = ITEM
Data File
-------------------------------
CREATE FORMS = ON
UPDATE FORMS = ON
FORM TYPE = Company
RELATION PARENT TYPE = ITEM
RELATION NAME = Reference
!~ItemID~RevID~Name~Desc~F:_elm_company_01~F:_elm_company_02
TestAssy~A~Comp FormA~Company Form~Services~Casing
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
If the revision already exists and so does the Custom Form then the
Custom Form and the revision master form will be updated. Otherwise
the revision and the Custom Form will be created.
Config File
-------------------------------
CREATE ITEMS = ON
UPDATE ITEMS = ON
CREATE REVISIONS = ON
UPDATE REVISIONS = ON
CREATE FORMS = ON
UPDATE FORMS = ON
FORM TYPE = Custom Form
RELATION NAME = Spec
FOLDER NAME = New items
DEFAULT REV =A
Data File
-------------------------------
ITEM TYPE = Item
!~ItemID~RevID~RM:project_id~F:cust_attr_1~F:cust_attr_2
BomAssy1~A~Project X~Value 1~Value 2
BomChild1~A~Project X~Value 1~Value 2
BomChild2~A~Project X~Value 1~Value 2
BomChild3~A~Project X~Value 1~Value 2
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
LOV NAME = TEST_LOV
LOV TYPE = STRING
Data File
-------------------------------
!~LovName~LovType~LovVal
TEST_LOV~STRING~Value 2
TEST_LOV~STRING~Value 5
TEST_LOV~STRING~Value 7
TEST_LOV~STRING~Value 100
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
RELATION NAME = Ref
RELATION PARENT TYPE = REV
NEW RELATION NAME = Spec
Data File
-------------------------------
!~ItemID~ParentRev~DsetName~DsetType~RelationName~NewRelation
Engine7~A~Engine7/A~UGMASTER~~des
Engine7~O~Engine7/O~UGPART~Req~
Engine7~Q~Engine7/Q~Text~Ref~Spec
Config File
-------------------------------
RELATION NAME = Ref
RELATION PARENT TYPE = REV
#NEW RELATION NAME = Spec
Data File
-------------------------------
!~ItemID~ParentRev~ChildID~RelationName
000002~A~000003~Spec
000002~A~000003~ref
000002~A~000003~req
Config File
-------------------------------
RELATION NAME = Ref
RELATION PARENT TYPE = REV
NEW RELATION NAME = Spec
Data File
-------------------------------
!~ItemID~ParentRev~FormName~RelationName
tim-00002~tim-00001-txt~Req
#===================================================================
END-OF-FILE
#===================================================================
#-------------------------
# Item to Item
#-------------------------
!~ItemID~ChildID~RelationName
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
tim-98765~tim-34567~IMAN_reference
#-------------------------
# Item to Rev
#-------------------------
!~ItemID~ChildID~RelationName
tim-98765~tim-34567~IMAN_reference
#-------------------------
# Rev to Item
#-------------------------
!~ItemID~ChildID~RelationName
tim-98765~tim-34567~IMAN_reference
#-------------------------
# Rev to Rev
#-------------------------
!~ItemID~ChildID~ChildRev~RelationName
tim-98765~tim-34567~A~IMAN_reference
#-------------------------------------
# Cut dataset from dataset in rev
#-------------------------------------
CUT RELATIONS = ON
!~ItemID~RevID~ParentName~ParentType~DsetName~DsetType~RelationName
tim-98765~A~Text-tim-98765-1-txt~Text~Text-tim-98765-1-cfg~Text~IMAN_Rendering
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
#----------------------------------------------
# Dataset in rev into another dataset in rev
#----------------------------------------------
!~ItemID~RevID~ParentName~ParentType~ChildID~ChildRev~DsetName~DsetType~RelationName
tim-98765~A~Text-tim-98765-1-txt~Text~tim-98765~A~Text-tim-98765-1-cfg~Text~IMAN_Rendering
#-------------------------
# CC and SC into Rev
#-------------------------
!~ItemID~ParentRev~CCName~CCType~SCName~SCType
tim-98765~A~CC_test_publish_link~CCObject~~
tim-98765~A~CC_test_publish_link~CCObject~source_bom~StructureContext
#----------------------------------------------
# Dataset(s) to Rev
#----------------------------------------------
!~ItemID~ParentRev~DsetName~DsetType
tim-98765~A~Text-tim-98765-1~Text~
tim-98765~A~tim-98765~Text~
#----------------------------------------------
# Dataset(s) to Dataset(1)
#----------------------------------------------
!~ParentName~ParentType~DsetName~DsetType~RelationName
Text-tim-98765-1~Text~Text-tim-98765-1-cfg~Text~IMAN_Rendering
#----------------------------------------------
# WSOM(s) to WSOM(1)
#----------------------------------------------
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
!~ParentName~ParentType~ChildName~ChildType~RelationName
#Text-tim-98765-1~Text~Text-tim-98765-1-cfg~Text~IMAN_Rendering
#Text-tim-98765-1~Text~A GeneralDesignElement form~GeneralDesignElement~IMAN_Rendering
Text-tim-98765-1~Text~Home~Folder~IMAN_Rendering
#----------------------------------------------
# WSOM(s) to Rev
#----------------------------------------------
!~ItemID~RevID~ChildName~ChildType~RelationName
tim-98765~~Text-tim-98765-1-cfg~Text~IMAN_reference
tim-98765~A~A GeneralDesignElement form~GeneralDesignElement~IMAN_reference
tim-98765~A~Home~Folder~IMAN_reference
#----------------------------------------------
# Form(s) to Rev
#----------------------------------------------
!~ItemID~ParentRev~FormName~FormType
tim-98765~A~A GeneralDesignElement form~GeneralDesignElement
#----------------------------------------------
# Form(s) to Rev, move to IMAN_ref
#----------------------------------------------
!~ItemID~ParentRev~FormName~Ignore:FormType~NewRelation
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
#----------------------------------------------
# WSOM(s) to Folder
#----------------------------------------------
!~ParentName~ParentType~ChildName~ChildType~RelationName
TEST UPLOAD FOLDER~Folder~Text-tim-98765-1-cfg~Text~IMAN_reference
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
#============================================
# General options
#============================================
FOLDER NAME = IMPORT_FILES
DEFAULT REV =A
PUT FAILS IN NEWSTUFF = ON
SET BYPASS = ON
DEFAULT OWNER = williamt
DEFAULT GROUP = designer
CREATE ITEMS = ON
UPDATE ITEMS = ON
CREATE REVS = ON
UPDATE REVS = ON
UPDATE LATEST REV = ON
#============================================
# Dataset specific options
#============================================
DATASET TYPE = Text
CREATE DATASET = ON
UPDATE DATASET = ON
#SET OWNER BY PARENT = OFF
#============================================
# Dataset File Reference Options
#============================================
FILE REF NAME = Text
#UPDATE FILE REF NAME = ADD REF
#UPDATE FILE REF NAME = NEW REF
UPDATE FILE REF NAME = REPLACE REF
#UPDATE FILE REF NAME = NEW VERSION
#FILE REF REPLACE OPTION = ALL REFS
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Data File
-------------------------------
!~ItemID~RevID~Name~Desc~RM:project_id~DsetName~FileRef~File~DsetDesc~Relation
Name
tim-00001~2~DS Test~Dataset Test~DS Testing~tim-00001-cfg~Text~file2_tim.cfg~A Text
DS with cfg ref~Req
tim-00001~2~DS Test~Dataset Test~DS Testing~tim-00001-txt~Text~file1_tim.txt~A Text
DS with txt ref
tim-00001~2~DS Test~Dataset Test~DS Testing~tim-00001-txt~Text~file2_tim.txt
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Example 2: Create Item, dataset and import form and set group
ownership.
Data File
-------------------------------
!~ItemID~RevID~Name~Desc~RM:project_id~DsetName~DsetType~FormRef~FormType~
F:project_id~F:series_desc~FormDesc~Group
tim-00002~A~DS Test with Form~Dataset Test with Form~DS Testing~tim-00001-
txt~FormTest~Form~Item Master~DS Form Testing1~~~
tim-00002~~DS Test with Form~Dataset Test with Form~DS Testing~tim-00001-
txt~FormTest~Form~CMSForm~DS Form Testing7~DS Form Testing1~DS Form
Testing2~designer
Data File
-------------------------------
!~ItemID~Name~Desc~RM:project_id~DsetName~FileRef~File~CrtDate~ModDate~ModBy~
Owner~Group
tim-00001~DS Test~Dataset Test~DS Testing~tim-00001-txt~Text~file1_tim.txt~01-Aug-
1999 00:00~02-Aug-1999~williamt~williamt~designer
tim-00001~DS Test~Dataset Test~DS Testing~tim-00001-cfg~Text~file2_tim.cfg
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
CREATE ITEMS = ON
UPDATE ITEMS = OFF
CREATE REVS = ON
UPDATE REVS = ON
UPDATE REV ATTACHMENTS = ON
UPDATE ITEM ATTACHMENTS = OFF
CREATE DATASET = ON
UPDATE DATASET = ON
Data File
-------------------------------
!~ItemID~RevID~DsetName~DsetType
GUY98765~A~GUYTXT_0001~Text
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Creating folders.
Config File
-------------------------------
TOP FOLDER = MasterUploadFolder
SET BYPASS = OFF
FOLDER SEPARATOR =.
TOP FOLDER DESCRIPTION = This is the top folder
DEFAULT FOLDER DESCRIPTION = This is an upload folder
PUT FAILS IN NEWSTUFF = ON
GLOBAL FOLDER SEARCH = ON
Data File
-------------------------------
FOLDER SEPARATOR = /
!~ItemID~Folder~FolderDesc
200001~TestFolder/SubFolder/SubFolder2~This is SubFolder2
200002~TestFolder3/SubFolder/SubFolder2~This is SubFolder2
200003~TestFolder4~This is TestFolder4
#000003~TestFolder/SubFolder/SubFolder3~This is SubFolder3
#000004~TestFolder/SubFolderX/SubFolder3~This is SubFolder3
#000005~TestFolder2/SubFolderY/SubFolder3~This is SubFolder3 in TestFolder2
#000006~TestFolder/SubFolderX/SubFolder3~This is SubFolder3
#000007~TestFolder/SubFolderX/SubFolder3~This is SubFolder3
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
CREATE PROJECTS = ON
UPDATE PROJECTS = ON
#PROJECT ASSIGN TO TYPE = ITEM
PROJECT ASSIGN TO TYPE = REV
# This option can be used to assign the latest revision when only
# supplying the item ID.
UPDATE LATEST REV = ON
Data File
-------------------------------
!~ProjID~ProjName~ProjDesc~ProjMemberUser~ProjMemberGroup~ProjMemberRole~Proj
AdminUser~ProjPrivUser~ItemID
#PR-67890~PR-67890~Upload test project 67890~tim~Engineering~Designer~tim~tim
#PR-34567~~Upload test project 34567~tim~Engineering~Designer~tim~tim~000001
PR-34567~~Upload test project 34567~tim~Project Administration~Project
Administrator~tim~tim~000001
PR-12677~~Upload test project 12677~tim~Engineering~Designer~tim~tim~000001
PR-12677~~~~~~~~000002
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
# Item and revision options...
#CREATE ITEMS = ON
#UPDATE ITEMS = ON
#CREATE REVS = ON
#UPDATE REVS = ON
UPDATE LATEST REV = ON
# Classification options...
#INCLASS CREATE ICO = OFF
INCLASS UPDATE ICO = OFF
#INCLASS UPDATE ICO OPTION = SINGLE ICO ONLY
#INCLASS UPDATE ICO OPTION = FIRST ICO
INCLASS UPDATE ICO OPTION = ALL ICOS
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Data File
-------------------------------
!~IcoPUID~IcsClassID~IcoID~ItemID~IcsAttr:1000~IcsAttr:1001~IcsAttr:1002~Ignore:IcsAttr
:1003~RM:project_id
#ApNFL4wOVpZy6A~TEST-Bolts-Square~000001~000001~Some sort of
metal~AL~987.5~15.87~Project Inclass
~TEST-Bolts-Square~Ico000001~000005~Some sort of metal~STL~123.5~9.1~Project
Inclass
~TEST-Bolts-Square~~000005~Some sort of metal~STL~123.5~9.1~Project Inclass
~TEST-Bolts-Hex~~000005~Some sort of metal~STL~123.5~9.1~Project Inclass
#pNFL4wOVpZy6A~TEST-Bolts-Square~000001~000001~Some sort of
metal~AL~987.5~15.87~Project Inclass
#~UNCLASSIFY~000001~000001~Steel~Steel~10~Project Inclass
NOTE: The ICOPuid in lines 1 and 5 was extracted using a PLMXML export. The ICOPuid
allows specific ICOs to be updated. The last line was used to test unclassifying an Item.
Data File
-------------------------------
!~IcsClassID~IcoID~IcsAttr:1000~IcsAttr:1001~IcsAttr:1002
TEST-Bolts-Square~Ico000022~Some sort of metal~STL~1234.12
Example 3: How to delete a specific ICO give its PUID, which was
taken from a PLMXML export.
Data File
-------------------------------
!~IcoPUID~IcsClassID
AJBJZ03olhbFzC~DELETE
QFFJZwmvlhbFzC~DELETE
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
CREATE ITEMS = OFF
UPDATE ITEMS = OFF
#UPDATE ITEM ATTACHMENTS = OFF
#UPDATE REV ATTACHMENTS = OFF
CREATE REVS = OFF
UPDATE REVS = OFF
SET BYPASS = ON
#UPDATE LATEST REV = ON
CREATE IDENTIFIERS = ON
UPDATE IDENTIFIERS = ON
CREATE IDFR REVS = ON
UPDATE IDFR REVS = ON
ALTERNATE ID CONTEXT = Supplier Part
Data File
-------------------------------
!~ItemID~RevID~AlternateID~AlternateRevID~AltIDName~AltIDDesc~AltRevIDName~AltRe
vIDDesc~AltIDOwner~AltIDGroup
GUY987~A~BB6781~02~BB6781~A Test Altid part~PLATE 10x10~AltID revision
description~bursell~dba
GUY987~B~BB6781~03~BB6781~A Test Altid part~PLATE 10x10~AltID revision
description~bursell~dba
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
#MEProcess options
CREATE PROCESSES = ON
UPDATE PROCESSES = ON
CREATE PROCESS REVS = ON
UPDATE PROCESS REVS = ON
PROCESS TYPE = MEProcess
#MEOP options
CREATE OPERATIONS = ON
UPDATE OPERATIONS = ON
CREATE OPERATION REVS = ON
UPDATE OEPRATION REVS = ON
OPERATION TYPE = MEOP
#LINK OP TO PROCESS = OFF
LINK OP TO PROCESS = ON
#MEActivity options
CREATE ACTIVITIES = ON
UPDATE ACTIVITIES = ON
ACTIVITY TYPE = MEActivity
#MEActivity Form options
ACTIVITY FORM TYPE = RR_Activity Form
CREATE ACTIVITY FORMS = ON
UPDATE ACTIVITY FORMS = ON
#BOM module cfg options
BOM FORMAT = parent_child
UPDATE BOMS = ON
CREATE BOMS = ON
BOM UPDATE OPTION = UPDATE OCCURRENCES
#ownership
DEFAULT OWNER = bursell
DEFAULT GROUP = Trent1700
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Data File
-------------------------------
!~ProcID~ProcRevID~ProcName~ProcType~ProcDesc
PROCESS1~A~MY PROCESS 1~MEProcess~My Process Description
Data File
-------------------------------
!~OpID~OpRevID~OpName~OpType~OpDesc
OPN1~A~MY OPERATION 1~MEOP~My Operation Description
Data File
-------------------------------
!~OpID~OpRevID~ActName~ActDesc~ActType~ActTime
OPN2~A~ACT1~My Activity Description~MEActivity~43.2
Data File
-------------------------------
!~OpID~OpRevID~ActName~ActDesc~ActType~ActTime~FormName~FormType~FormDes
c~F:rr_activity_detail_text~F:rr_activity_std_text
OPN2~A~ACT1~My Activity Description~MEActivity~43.2~ACT1FORM~RR_Activity
Form~My Form Description~the first attribute value~the,second,attr,array,values
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Data File
-------------------------------
!~ProcID~ProcRevID~OpID~OpRevID~SeqNo
PROCESS1~A~OPN1~A~10
PROCESS1~A~OPN2~A~20
Data File
-------------------------------
!~OpID~OpRevID~ActName~ActDesc~ActType~ActTime~FormName~FormType~FormDes
c~F:rr_activity_detail_text~F:rr_activity_std_text
OPN2~A~ACT1~My Activity Description~MEActivity~43.2~ACT1FORM~RR_Activity
Form~My Form Description~the first attribute value~the,second,attr,array,values
OPN2~A~ACT2~My Activity Description 2~MEActivity~5~ACT2FORM~RR_Activity
Form~My Form Description~the first attribute value~the,second,attr,array,values
Data File
-------------------------------
!~ProcID~ProcRevID~OpID~OpRevID~SeqNo~Predecessor~ActName~ActPreds
PROC1~A~OP1~A~10~ACT1~
PROC1~A~OP1~A~20~ACT2~ACT1
Data File
-------------------------------
!~ProcID~ProcRevID~OpID~OpRevID~SeqNo~Predecessor
PROC1~A~OP1~A~10~
PROC1~A~OP2~A~20~OP1
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
#MEProcess options
CREATE PROCESSES = ON
UPDATE PROCESSES = ON
CREATE PROCESS REVS = ON
UPDATE PROCESS REVS = ON
PROCESS TYPE = MEProcess
#MEOP options
CREATE OPERATIONS = ON
UPDATE OPERATIONS = ON
CREATE OPERATION REVS = ON
UPDATE OEPRATION REVS = ON
OPERATION TYPE = MEOP
LINK OP TO PROCESS = ON
#MEActivity options
CREATE ACTIVITIES = ON
UPDATE ACTIVITIES = ON
ACTIVITY TYPE = MEActivity
#MEActivity Form options
ACTIVITY FORM TYPE = RR_Activity Form
CREATE ACTIVITY FORMS = ON
UPDATE ACTIVITY FORMS = ON
#MEWorkArea options
CREATE WORKAREAS = ON
UPDATE WORKAREAS = ON
CREATE WORKAREA REVS = ON
UPDATE WORKAREA REVS = ON
WORKAREA TYPE = MEWorkarea
#BOM module cfg options (Mandatory)
BOM FORMAT = parent_child
UPDATE BOMS = ON
CREATE BOMS = ON
BOM UPDATE OPTION = UPDATE OCCURRENCES
BOM UPDATE ID FIELDS = ChildID,AbsOccID
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Data File
-------------------------------
!~ProcID~ProcRevID~ProcType~ProcName~ProcDesc~OpID~OpRevID~OpType~OpName
~OpDesc~SeqNo~Predecessor~ActName~ActType~ActTime~ActDesc~ActPreds~ProductT
argetID~ProductTargetRevID~PlantTargetID~PlantTargetRevID~OccType~TargetChildID~T
argetChildRev~TargetChildAbsOccID~TargetChildSeqNo~ProcChildID
GPROC1~A~MEProcess~GPROC1-NAME~Process
Description~GOP1~A~MEOP~OP1~Op1 Description~10~~10~MEActivity~23.76~Activity
10~~~~~~~~~~~~~~
GPROC1~A~~~~GOP1~A~MEOP~OP1~Op1 Description~10~~20~MEActivity~99~Activity
20~10~~~~~~~~~~~~~
GPROC1~A~~~~GOP1~A~MEOP~OP1~Op1 Description~10~~30~MEActivity~10~Activity
30~20~~~~~~~~~~~~~
GPROC1~A~~~~GOP2~A~MEOP~OP2~Op2
Description~20~GOP1~~~~~~~~~~~~~~~~~~
GPROC1~A~~~~GOP3~A~MEOP~OP3~Op3
Description~30~GOP2~~~~~~~~~~~~~~~~~~
GPROC1~A~~~~GOP4~A~MEOP~OP4~Op4
Description~40~GOP3~~~~~~~~~~~~~~~~~~
GPROC1~A~~~~GOP4~A~MEOP~OP4~~40~~10~MEActivity~123.909~Activity
10~~~~~~~~~~~~~~
GPROC1~A~~~~GOP4~A~MEOP~OP4~~40~~20~MEActivity~14~Activity
20~10~~~~~~~~~~~~~
GPROC1~A~~~~~~~~~~~~~~~~XSUPERCAR~A~~~MEConsumed~XWHEEL~A~Vectra-
RearAxle-LeftWheel~~GOP1~~~
GPROC1~A~~~~~~~~~~~~~~~~XSUPERCAR~A~~~MEConsumed~XWHEEL~A~Vectra-
RearAxle-RightWheel~~GOP2~~~
GPROC1~A~~~~~~~~~~~~~~~~XSUPERCAR~A~~~MEConsumed~XWHEEL~A~Vectra-
FrontAxle-LeftWheel~~GOP3~~~
GPROC1~A~~~~~~~~~~~~~~~~XSUPERCAR~A~~~MEConsumed~XWHEEL~A~Vectra-
FrontAxle-RightWheel~~GOP4~~~
GPROC1~A~~~~~~~~~~~~~~~~XSUPERCAR~A~~~MEConsumed~XWHEEL~A~Vectra-
FrontAxle-RightWheel~~GOP4~~~
GPROC1~A~~~~~~~~~~~~~~~~~~STWORK1~A~MEWorkArea~STWORK0001~A~F1_W
orkArea1~~GOP1~~~
To Release an MEOP Revision, and also Status any MEActivities (any
other other attachments to Activity_Root/MEActivities).
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
Config File
-------------------------------
CREATE ITEMS = OFF
UPDATE ITEMS = OFF
CREATE REVS = OFF
UPDATE REVS= ON
REV RELEASE RELATIONS = SPECIFICATION,BOMVIEW,ACTIVITIES
UPDATE REVS ATTACHS STATUS = ON
UNRELEASE REVS = ON
CREATE STATUS = ON
#UPDATE STATUS = UNRELEASE
Data File
-------------------------------
!~ItemID~RevID~Status
GOP1~A~Released
TCG02000105315~A~Released
CREATE CC = ON
CREATE CC ALWAYS = ON
CREATE CC = ON
UPDATE CC = OFF
CREATE SC = ON
UPDATE SC = ON
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
CREATE CC STRUCTURE = ON
UPDATE CC STRUCTURE = ON
CREATE SC STRUCTURE = ON
UPDATE SC STRUCTURE = ON
Data File
-------------------------------
!~CCName~NewCCName~CCType~CCDesc~CCOwner~CCGroup~CCStatus~CCCfgCont
ext~CCRevRule~CCSOSName~SCName~NewSCName~SCType~SCDesc~SCOwner~SC
Group~SCStatus~SCCfgContext~SCRevRule~SCSOSName~Ignore:CfgContextType~ItemI
D~SCAttObjClass~SCAttObjType
CC_test_upl_2~~MECollaborationContext~Test CC 2~tim~dba~Released~CC1~Latest
Working~CC1_SOS1~SC~~~An SC~tim~dba~Released~SC Cfg~Latest
Working~SC_SOS1~CfgCtxType~Sub_assy1~REV~
CC_test_upl_2~~MECollaborationContext~Test CC 2~tim~dba~Released~CC1~Latest
Working~CC1_SOS1~Product~Product~MEProductContext~Test Product
SC~tim~dba~Released~Product Cfg~Latest
Working~SC_SOS1~~Sub_assy1~BVR~Design
CC_test_upl_2~~MECollaborationContext~Test CC 2~tim~dba~Released~CC1~Latest
Working~CC1_SOS1~Plant~Plant~MEPlantContext~Test Plant
SC~tim~dba~Released~Plant Cfg~Latest Working~SC_SOS1~~Sub_assy2~BVR~
CC_test_upl_2~~MECollaborationContext~Test CC 2~tim~dba~Released~CC1~Latest
Working~CC1_SOS1~Process~Process~MEProcessContext~Test Process
SC~tim~dba~Released~Process Cfg~Latest Working~SC_SOS1~~New_Assy1~BVR~
CC_test_upl_3~~MECollaborationContext~Test CC 3~~Designers~Released~CC1~Latest
Working~CC1_SOS1~SC~~~An SC~~Designers~Released~SC Cfg~Latest
Working~SC_SOS1~CfgCtxType~Sub_assy1~REV~
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
6.8.0 ITEM REV 1) Fixed problem with objects in revisions not being renamed correctly 4.2
SEPARATOR when changing the item and rev ids due to different separators being
used, e.g. a / in the master form and a - in UGMASTER. Solved by
checking for both separators defined in the preferences
FLColumnCatIVFSeparatorPref and FLColumnCatObjSeparatorPref.
6.9.0 VERBOSE 1) Added new config option VERBOSE OUTPUT and argument -v to add 2.2
additional output. For now this includes attachment details when
processing items and revisions, e.g. for changing IDs.
OUTPUT 2) Added new config options to control the output column sizes:- 2.4.2
DISPLAY OUTPUT COL SIZE TYPE, OUTPUT COL SIZE NAME, OUTPUT
COL SIZE STATUS.
6.10.0 OLD ITEM ID 1) Added new field OldItemID to specify an old item ID to look for in 4.1
attached relations to change to the current ID.
7.0.0 VARIANTS 1) Added ability to create and update legacy and modular options and set 5.1.6
variant conditions.
CC & SC 2) Added ability to create and update Collaboration Context and Structure 14.1.2
Context objects and build their structures complete with Configuration
Context objects. Ownership details and release status can be set on
CC and SC objects.
CC FORMS 3) Ability to attach forms to CC objects. The forms can be independently 14.1.2.1
statused.
GROUP 4) Allow Group to be set without Owner by getting current object owner. -
END-OF-FILE 5) Added END-OF-FILE check to stop processing data file. This is handy 2.3.1
to break up a file to test just the first few lines.
BL PROPS 6) Added ability to set occurrence translation matrices via the new general 2.3.2
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
MODE 7) Added -mode arg equal to -m arg, to fix many confusions over the arg 2.2
name!
TYPED REFS 8) Added ability to set typed/untyped reference attributes by using TAG 2.3.2.1
and BY_VAL field modifiers.
OOTB PROPS 9) Allow OOTB property names to be used in header line instead of 2.3.2
keywords.
ARRAYS 10) Ability to enter multiple values for array attributes. This includes a 2.4.2
new configuration option MULTI VALUE SEPARATOR STRING to
define the separator used between values. The default separator is a
comma.
ARRAY FILE 11) Ability to specify a file name to contain multiple values. Also added 2.3.2.1
new configuration option VALUE FILES ROOT DIR to set the root
directory containing the ‘values’ files.
BV OWNER 12) Better definition of BOMView Revision ownership via OOTB property 2.3.2
names.
ACT OWNER 13) Better definition of Activity ownership via OOTB property names. 2.3.2
OCC NAME 14) Added ability to set occurrence names via OOTB property names. 2.3.2
NULL VALS 15) Allow for a value of NULL to blank form values. 2.3
NOTES IN UA 17) For UA do not create Note Types if they don’t exist. --
BL VAL REF 19) Allow typed reference attributes to be set by value. Added new field 2.3.2.1
option BY_VAL to do this.
REL ATTRS 20) Allow attributes to be set on relations for Tc8+. 2.3.2.1
LOG FILE 21) Added new option LOG FILE FORMATS with options CSV and DELIM 2.4.2
FORMATS to write an additional log file that's easier to process programatically.
7.0.1 DUP ID 1) Added Check for duplicate ID and try to find item using ITEM_find_item --
to check for different case ID.
To control if the existing item should be used a new config option was
added which is:-
FORM FOLDER 2) Added functionality to put new forms created using FORMS mode into --
a supplied folder.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
BOM REV RULE 3) BOM Import now can use BOM REV RULE to specify a revision rule in --
case of problems adding BOM lines due to rev rule errors.
7.1.0 PROJECTS 1) Added support to set projects on any object, using general properties 2.3.2.3
for projects, i.e. project_ids, project_list, projects_list.
LOG FILE 2) Started to set true config option names in log file settings section. 3.1
Done General and Items settings so far as these are always shown.
LOG FILE 3) Made report settings section more appropriate to current mode. 3.1
LOG FILE 4) Now showing options with blank values to show what's available. 3.1
DUP ITEM ID 5) Added check for duplicate identifier if create item fails due to duplicate --
identifier ID with a different case.
ITEM REV RULE 6) Added new configuration option ITEM REV RULE which can be used 4.2.1
instead of UPDATE LATEST REV to identify a revision to update
based on a revision rule.
7.2.0 PREDECESSOR 1) Added ability to use SeqNo to help find unique predecessors by adding 5
MATCHING a new cfg option PRED UPDATE ID FIELDS and a new BOM field
PredSeqNo. An example of the new cfg option is:-
7.3.0 BLANK MFG 1) Updated MFG mode to allow blank revisions for ProcRevID, OpRevID --
REVS and WorkRevID. So, for new items the general DEFAULT REV, or "A"
if not set, will be used, and for updates the latest rev will be found if
UPDATE LATEST REV is ON.
LOG FILE 2) Updated log settings to show true option names for Mfg, BOM, Files, 3.1
Forms and Relation settings.
7.3.3 RELATIONS 1) Added new fields RelChildType and RelChildName to specify the type 8.2.1
and name of any WSOM object to be cut from a relation or pasted into
one. Thus datasets, forms and other objects, except items and
revisions, can be cut/pasted with one data file. Items and Revisions
require their own data file using ChildID and ChildRev fields.
7.4.0 VARIANTS 1) Enhanced legacy variant option condition processing to handle nested **
brackets with &'s and |'s. Can also still handle multiple values with |'s
too.
DATA FILE 2) Increased both max line length and max field length to 20,000 to allow --
for large condition strings!
VARIANTS 3) Added new fields LVarOptDefVal to set default values and 5.1.6.1
LVarOptSetIfVal and LVarOptSetIfCond to set Set If (derived) values
and their conditions. The conditions are supplied in the same format
as Load If conditions on occurrences.
VARIANT RULE 4) Added new functionality to create and update saved legacy variant **
rules with options set.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
7.4.3 DATES 1) Improved date formatting to remove potential problems with different --
language (locale) settings and DST settings.
7.4.6 BOM UPDATE Fixed problem with BOM UPDATE OPTION = UPDATE ALL --
OCCURRENCES not working. Only one occurrence would get updated.
This problem was probably introduced in 7.2.0.
7.5.0 CFG INCLUDE Added new configuration option INCLUDE to include another config file, --
e.g. a global_config file to set general settings like DATE FORMAT.
Multiple INCLUDE options can be used and also nested through config
files, e.g.
INCLUDE = global_config.cfg
INCLUDE = common_create_items.cfg
The included configuration files will be looked for in the same directory as
the main configuration file as specified with the
–cfg argument, unless a specific path is supplied for the included config
file.
7.6.0 PART->CAD Added new functionality to create Part/CAD alignment links (or publish 2.4.1,
LINK links) between occurrences in different BVRs. 5.2.4
TargetParentID
TargetParentRev
PublishLinkType
PublishLinkName
Field =AltIDType
BOM 2) Fixed problem during BOM import where an existing child revision
would get updated if CREATE ITEMS = ON and UPDATE REVS =
OFF which also prevented the child being added to the BOM.
Now Create Parent and Child item flags default to off, child revisions
(and items) can be updated with normal item mode fields obeying the
settings UPDATE ITEMS and UPDATE REVS, and any errors setting
item and rev properties will NOT prevent the BOM being created.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
BOM 4) Fixed BOM upload crash if ChildID was blank. This is a valid situation
to update properties on the parent and set parent options for V & O.
...
Initialisation took [10.91] seconds
...
[14] total lines read
[4] data lines read in [1.22] seconds
[0.30] seconds per data line
...
FORMS 6) Stopped form searching, for orphaned forms (not attached to anything),
always setting a parent class of Form, thus never finding forms sub
classed from Form.
Now searches on Form Type if supplied, else POM class of Form.
CC & SC 7) A GRM relation can now be defined to add objects to SCs (Structure
Contexts) by adding the RelationName field or using the RELATION
NAME option.
DATE & TIME 8) Fixed DST date issue with <prop>: fields. This code was not using the
same DST fix added in 7.4.3! So this fixes an hour being added to
times during summer (DST) months.
8.0.0 RELATIONS 1) The relations module was completely re-written to provide functionality 8.1
to create/cut relations between any 2 workspace objects.
BOM 2) Added new general property code BLCTXT:<prop> to set BOM Line 2.3.2
attributes In Context to another assembly as specified using the
existing InContext fields ContextItemID and ContextItemRevID.
8.1.0 VALIDATION 1) Added field validation options, including options to specify how many 3.4
data lines to validate and whether or not to import them.
FIELD LENGTH 2) Added check for field value length to report error if value to long, since
the AOM ITK function used caused memory errors when trying to set a
value that was too long.
8.2.0 PARTICIPANTS 1) Added functionality to set Participant relations, e.g. ProposedReviewer, 2.3.2.1
Analyst. Requires new field modifiers .PARTICIPANT with .USER,
.GROUP or .GROUP_MEMBER. 2.4.2
EFFECTIVITIES 2) Added multiple effectivity date range support and a new field EffID to 4.1.5
allow creation and update of multiple effectivities with Effectivity IDs
and allowing for shared effectivities by searching for existing
effectivities with the supplied EffID.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
9.0.0 POM OBJECTS 1) Added functionality to create and update almost any type of object 15
using POM functions.
9.1.0 REPEAT REVS 1) Added new option ALLOW REPEAT ITEM AND REV LINES to process 4.2.1
consecutive lines with the same item and rev ids in items mode.
9.2.0 POM FIELDS 1) Added new .POM field modifier to allow a colon property to be set using 2.3.2.1
a POM function to override BMIDE rules on attributes.
POM FIELDS 2) Added new CFG option SET COLON PROPS WITH POM to supply a 2.4.2
CSV list of general property fields which are to have their values set
with POM functions.
10.0.0 MULTI ITEM 1) Added new option SEARCH FOR ITEMS BY = NAME:<NameField> to 4.2.1
UPDATE search for items by name instead of item ID, which allows multiple
items to be updated from one data line. <ItemField> is the name of the
field that contains the name to search on, e.g. NAME:ItemID searched
on name using the value from the ItemID field.
This works in items mode for updating items and also datasets mode
for creating/updating datasets attached to the found items or revisions.
MATCH ID & 2) Added new ON|OFF option MATCH ITEM BY NAME AND ID which 4.2.1
NAME checks if any of the items found using the new option SEARCH FOR
ITEMS BY (decribed above in 3)) has a matching item ID and name. If
one isn't found then, if CREATE ITEMS = ON, a new item will be
created using the fields supplied.
LATEST ONLY 3) Added new option value ONLY to the option UPDATE LATEST REV 4.2.1
which forces the latest rev to be found even if the RevID field is
supplied.
FIND OCC BY 4) Added new BOM option BOM FIND OCC BY NAME AS ID = ON|OFF 5.2.1
NAME to match occurrences during a BOM update by checking Item Name
against the value supplied in ChildID.
ADD LATEST 5) Added new option value LATEST REV to BOM UPDATE ADD 5.2.1
OCCURRENCES to always find the latest revision of a child even if
ChildRev is supplied.
NEW IDs LOG 6) Added new arg -new_items_ids_log=<New item IDs log file> to specify 2.2
a file name into which auto generated item IDs will be written to. The
file will only be created if the config option AUTO GENERATE ITEM ID
= ON.
NEW ITEM 7) New items now get name set to ID if name field not supplied.
NAME
BY PARENT 8) Changed default settings for SET OWNER BY PARENT and USE
PARENT STATUS to OFF instead of ON to stop attachments being
updated with nothing to do and providing misleading output and
potential errors.
10.0.1 DATE FORMAT 1) Added new config option TC DATE FORMAT option which must be
used in Tc 9.1 64bit.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
10.1.0 RELATION 1) Added new fields ChildOwner, ChildGroup, ChildPUID, ChildClass, 8.2.1
FIELDS ParentOwner, ParentGroup, ParentPUID and ParentClass to relations
mode to allow children and parents to be found filtered by owning user
and/or group (including existing type and name search), OR found
using their PUIDs with optional class check.
10.2.0 IDENTIFIER 1) Added ability to set a status on identifier and identifier rev objects using 13.1.1
STATUS the standard status fields and config options when using the identifier
mode. New config options RELEASE IDENTIFIERS and RELEASE
IDENTIFIER REVS were added to help control which objects get
released.
IDENTIFIER 2) Can now also set general properties on IDENTIFIERS and IDENTIFIER 2.3.2
PROPS REVS.
10.3.0 PROJECT 1) Added ability to set general properties on projects using 2.3.2
PROPERTIES PROJECT:<attr> or TC_Project:<attr>.
10.4.0 OCCURRENCE 1) Added ability to set basic occurrence effectivities with limited 5.1.1,
EFFECTIVITY functionality. 5.2.5
10.5.0 MULTI 1) Added ability to set property values with different languages. This is 2.3.2.1,
LANGUAGE done by adding the field modifier .LANG[=lang], with new configuration 2.4.2
PROPERTIES options to set the DEFAULT LANGUAGE and DEFAULT LANGUAGE
STATUS.
10.6.0 ALTERNATE / 1) Added new field AlternateRevIDs to specify rev IDs for alternate (substitute) 5.1.1
SUBSTITUTE revs for a BOM child.
REV IDS
10.7.0 BASIC AUTO 1) Added new config flag option AUTO GENERATE BASIC ITEM ID to 4.2.1
ITEM ID generate basic item ID.
GENERATION
10.8.0 CC/SC SOS 1) Completed functionality to create CC and SC SOS (Variant rule) 14.1.2
creation and update complete with defining an option set.
14.2.2
10.9.0 AUTO ITEM ID 1) Added new field AutoItemIDMapping to define a value to be written to 4.1.1
AMPPING the auto IDs log file for reference.
10.10.0 REVISION 1) Added new support to create and update revision sequences, with 4.1.2
SEQUENCES support to add datasets to specific sequences. 4.2.1
4.3.8
10.11.0 ITEM CREATE 1) Items can now be created with mandatory attributes. 2.3.2.1
MAND ATTRS 4.3.9
.FIND FLD MOD 2) Typed and un-typed reference attributes can now have objects found to 2.3.2.1
& OWNING set by using the new .FIND=<class>,<attr> field modifier. 4.3.10.1
PROJECT This can be used to set owning_project.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
POM 3) GRM relations can be created using POM functions to override BMIDE 8.3.1
RELATIONS rules that may otherwise prevent the relation from being created.
10.12.0 LEGACY O&V 1) Added new legacy O&V fields LVarOptErrorIfMsg and 5.1.6.1
ERROR IF LVarOptErrorIfCond to set Error If rules.
19.9.5
2) Option names can now indicate options on items outside of the current
BOM.
11.0.0 MULTI FIELD 1) Added support for MultiField Keys in Tc 10.1 to allow for multiple items 2.7
KEYS with the same item ID by specifying .KEY fields or just checking on
item type.
FIND OCC IN 2) Added .BOM_OCC_KEY field modifier to identify fields to use to 2.3.2.1
BOM UPDATE identify occurrences to update during a BOM update.
EXISTING O&V 3) Added O&V CHECK FOR EXISTING RULE option to stop searching 5.3.4.3
RULES for existing option and variant rules to improve performance.
11.1.0 RELATION SUB 1) Added support/fix to allow setting relation properties on sub classed 8.4.1
CLASSES relations under ImanRelation when using RELATION BMIDE
OVERRIDE to creation the relation with POM.
11.2.0 RESOURCE 1) Added .RESOURCE_POOL field modifier for .PARTICIPANT fields. 2.3.2.1
POOL
11.3.0 DATASET TAG 1) Added .TAG support for DsetName field to supply a dataset tag (PUID) 2.3.2.4
to update a dataset by tag, e.g. in the case of multiple datasets in a
revision with the same name. 9.1.1
12.0.0 PROPAGATION 1) Added propagation support from items, revs and pom objects by 2.8
supplying the new config option PROPAGATION PATH as many times
as required..
POM TAG 2) Added tag input support for pom mode by supplying the field 2.3.2.4
<Class>.pid.KEY, e.g. Folder.pid.KEY..
16.1.1
ITEM, REV TAG 3) Added .TAG support for ItemID and RevID fields to supply an item 2.3.2.4
and/or rev tag (PUID) to update an item and/or rev by tag.
4.1.1
4.1.2
ASSIGN 4) Added new config option PROJECT ASSIGN INACTIVE PROJECTS to 11.2.1
INACTIVE control assigning inactive projects to objects.
PROJECTS
DPAM UPDATE 5) Added new config option PROJECT UPDATE DPAM DATE to 11.2.1
control updating of DPAM date when assigning projects to
objects.
POM SYSTEM 6) Better support has been added to pom owner and date system 16.1.3
FIELDS attributes so that attribute names or keywords can be supplied, e.g. for
User/owning_user and Group/owning_group.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
12.1.0 APPEND & FIND 1) Got .APPEND and .FIND field modifiers working together.
12.2.0 PROJECT LIST 1) Improved processing of Project Object Relation objects when setting 2.8.5
project_list attribute with and without using propagation.
2.4.2
2) Stopped .FIND working with project_list property since this now uses
dedicated code to set the project list, and project object relations if
required.
12.3.0 ID AUTO GEN 1) Fixed problem with Auto generation of Item IDs only writing new ID to 4.1.1
the New IDs Log file for every other item.
12.5.0 POR CONTROL 1) Added new config option to specify parent classes of objects to have
their own POR created when setting owning_project.
2) Added new config option to specify parent classes for objects under
which all objects will have their own POR created when setting
owning_project when using a PROPGATION PATH.
3) When setting owning_project on an object and it has its own POR the
POR’s owning_project will also be updated.
12.6.0 ENHANCED 1) Enhanced .FIND modifier to allow ItemID and RevID keywords for 2.3.2.1
.FIND attribute names if searching for an item or item revision. Instead of
using a general enquiry on attributes these will specifically search for
an item or revision. Additional attributes cannot be included.
MULTI EFFS 2) Improved setting of revision effectivities to allow multiple effectivities 4.2.4
with options to replace them all or add additional ones with the config
option EFFECTIVITY UPDATE OPTION.
MFKs IN 3) Enhanced EffEndItem to find items using multikey fields using a single
EffEndItem MFK string, e.g.
item_id=M000001,object_type=PW6_MFK_TestType,pw6_mfk_key1=val1
which is a CSV list of attributes and values that specify all key fields.
NULL DPAM 4) Fixed problem with DPAM date not being set to NULLDATE for an
DATE object's new POR, upon setting project_list, when the option
PROJECT UPDATE DPAM DATE = OFF.
RELEASE 5) Fixed problem with revision release status line being written with blank
STATUS type and name columns. These columns now repeat the item rev type,
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
12.7.0 LEGACY O&V 1) Fixed crash on second line setting legacy Option & Variants default
DEFAULT VAL value.
.FIND WITH 2) The .FIND field modifier is now used with .KEY fields in creating MFK
.KEY AND MFK items. Previously the .FIND was only used in setting a tag reference
value and in finding an MFK item in the first place.
MULTI FIELDS 3) Enhanced the .FIND to allow attributes and values to be supplied in 2.3.2.1
WITH .FIND different fields where a field identifier code is supplied in the .FIND
header as .FIND=<FieldIdentifier> and its value supplies the class to 2.3.2.4
search in.
OOTB ITEM 4) Fixed an issue where OOTB post-action extensions, like createObject,
PSOT ACTIONS were not run after an item was created.
BAD ITEM MSG 6) Fixed an issue where subsequent lines supplying a different rev for the
same item did not recognise that the item was not previously found or
created, which resulted in the misleading message "ITEM EXISTS AS
[]" for each subsequent revision line. This is now changed to BAD
ITEM with a corresponding line written to the repeat file.
MANDATORY 7) Fixed problem where items could not be created for types that had
ITEM Description set as mandatory. If a 'Desc' or 'I:object_desc' fields is
DESCRIPTION supplied then the value will be set at item creation time, so no need to
supply .MAND.
MULTI FIELDS 8) Enhanced .KEY field modifier to take a single field identifier, i.e. 2.3.2.1
WITH .KEY .KEY=<FieldIdentifier>, to identify the fields providing the attributes
and values used in the item MFK definition. The value of the .KEY 2.3.2.4
field itself supplies the item ID.
12.8.0 FORM .TAG 1) Enhanced the FormName field in forms mode to use the .TAG 6.1.1
modifier.
12.9.0 PARTICIPANT 1) Enhanced .PARTICIPANT field modifier to use .APPEND field modifier 6.1.1
APPEND to append participants to any existing ones.
12.10.0 FORM TYPE 1) Updated Folder create for different folder types to cater for sub-classed
folder types.
12.11.0 DUPLICATE 1) Added new config option DUPLICATE FORM NAMES = ON|OFF to 6.2.1
FORMS control the creation of multiple forms with the same name in an item or
revision.
13.0.0 FOLDERS Added new folders mode to replace folder_insert and folder_create 10
modes.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
13.1.0 MFK SUPPORT Added MFK support for bom fields SubstChild and Alternates. 2.7.3
5.1.1
13.2.0 CREATE 1) Added general object create functionality using TCTYPE_create_object 16.1.4
OBJECTS to the pom mode. This allows for simpler data definition to create objects,
i.e. no need to define default attributes, and creation of more object types.
13.3.0 Tc 12 : ECM Updated for Tc 12, but had to disable ECM functions accessed using the 5.1.3
ECID field as they are now deprecated with no replacement.
14.0.0 BATCH 1) New arguments to offer batch control by specifying a batch size (for the 2.2
CONTROL, number of data lines to process) and either a starting data line or a batch
number. 2.5.1
DEFAULT
VALUES LINE 2) A default values header line and data line can now be supplied to set 2.3
default property values for any fields. These can alternatively be supplied
in configuration options. 2.3.4
14.1.0 “=”s IN ItemID 1) Added new config option ALLOW ITEMID MFK FORMAT. 4.2.1
14.4.0 BLANK VALUES 1) Added config option SET EMPTY FIELDS TO NULL = ON|OFF. 2.4.2
14.6.0 PARTICIPANTS 1) Added extra control for setting and updating participants. 2.4.2
14.7.0 BO CREATE 1) Added .BO_CREATE field modifier to work like .BO_CI, but to create 2.3.2.1.1
sub/child objects immediately rather than simply define all objects before 16.2.3.3
creating the top object.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
2) With .BO_CREATE and .BO_CI existing objects will now be found and 16.6.4
updated.
4) Fixed date field re-formatting getting done twice if the .POM field
modifier was used.
14.8.0 SECURITY Now uses specific API calls to set colon properties gov_classification, 2.8.6
ATTRS ip_classification and license_list.
14.9.0 POM ATTR 1) Allow the .FIND field modifier to be used to find objects to be set 16.6.5
.FIND on a referenced attribute.
BOM AUTO 2) Added new ON|OFF config option BOM AUTO SET FIND NO to 5.2.1
FIND NO control automatic setting of BOM occurrence Find (Seq) numbers.
CHECK MAC If set to ON this will override the SeqNo field.
ADDRESS 2.4.2
3) Added option ALLOWED MAC ADDRESSES FILE to specify a
file name with allowed MAC addresses to check if current machine
is allowed to run IPS Data Upload.
14.10.0 POM OBJECT 1) Added support for general Object field in pom mode. The
default to be supplied is a tag. It supports tags of different classes
and the format *.<attr> to specify common attributes, e.g.
*.owning_group.
14.11.0 EFF END ITEM 1) Added new effectivity update option UPDATE END ITEM to 4.1.5
UPDATE allow an existing end item effectivity to be updated. The
4.2.4
EffEndItem field will also take the .REPLACE modifier.
14.14.0 ATTACHMENTS 1) Updated item and rev attachments to be updated independently. 4.3.13
14.15.0 .MAND TABLE Added support for mandatory table attributes. 2.3.5
ATTRIBUTES
14.16.0 BOM OOTB Fixed problem with security properties not propagating OOTB 5.2.1
POR during BOM creation by using new config option
PROPAGATION 4.2.1
BOM UPDATE ITEM PORS = ON.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.
14.17.0 GLOBAL ALTS 1) Added support to set and update Global Alternates using 4.3.14
I:global_alt_list.
MFG MFK 2) Updated all item find functions in mfg mode to use new function 2.7.3.1
ITEMS to find items using MFK fields.
ORIG FILE 3) Added new field FileOrigName in datasets mode to set the 9.1.2
NAME
original file name of an imported file.
14.18.0 RDV BOM 1) Updated BOM Occ search in mfg mode, for linking, to use RDV n/a
Search search to improve performance.
14.19.0 MRP CHILD IN 1) Added support for existing BOM fields TargetParentID and 14.1.1
PARENT TargetParentRev, and new fields ProcParentID and
ProcParentRev to mrp mode to find Product and Process children
to link under specific parents.
Unrestricted Copyright © 2023 Siemens Digital Industries Software. All rights reserved.