TeamcenterKnowledge

Configuration utilities > Business Modeler IDE

migrate_propagation_data

Details about the background of this utility and when to use it are described in SFB-Teamcenter-8001528. The bulletin title is ProjectObjectRelation (POR) proliferation. Issue: For objects created prior to Tc 11.2.2 that have security attributes assigned, the following undesired data conditions can exist after upgrading to 11.2.2 or 11.2.3: Unnecessary ProjectObjectRelation (POR) objects are created during various actions which trigger propagation. Affected Software: Teamcenter 11.2.2 and 11.2.3, and environments upgraded to Teamcenter 11.2.2 or 11.2.3 that use: Project level security ADA Licenses IP_Classification Gov_Classification and security attribute propagation Project Object Relation (POR) proliferation The underlying issue is resolved in the following Teamcenter releases and later releases in the patch and minor release series. These release streams contain the server code changes to address the proliferation issue. Tc11.2.2.1_a01_4 Tc11.2.2.1_b01_4 Tc 11.2.3.1_a01_1 Tc 11.2.3_c01_1 Tc 11.3 Impact: Proliferation of superfluous POR objects Performance and lock issues with objects having legacy PORs when the data with security attribute assigned is used Propagation functionality is unaffected Remedy: Apply the "one time use" migrate_propagation_data utility. Fixes and migrates legacy ProjectObjectRelation (POR) propagation data in order to support multiple propagation groups. This utility can remedy the following data conditions: Duplicate propagation groups for the same security attributes Data conditions with "No Group" redundant values Empty propagation group values All these data conditions are analyzed in scope of common owning top-level object. Syntax migrate_propagation_data [-u=user-ID {-p=password | -pf=password-file} -g=group] [-mode=dryRunMode | fixMode] [-migrate=1] [-deleteSuperfluous=1] [-deletePORWithAllNullAttr=1] [-toplevelCleanupObjOutputFile=filename] [-toplevelMigrationObjOutputFile=filename] [-filePath=file path] [-noGroupCount=1] [-vlaCheckRequired=1] [-defer_bp_inserts=1] [-insert_deferred_bps=1] [-fixSingleGroup=group] [-bypass=1] [-verbose=1] [-superfluous_use_lsd=1] [-h] Arguments -u Specifies the user ID. This must be a user with Teamcenter administration privileges. If this argument is used without a value, the operating system user name is used. Note If Security Services single sign-on (SSO) is enabled for your server, the -u and -p arguments are authenticated externally through SSO rather than being authenticated against the Teamcenter database. If you do not supply these arguments, the utility attempts to join an existing SSO session. If no session is found, you are prompted to enter a user ID and password. -p Specifies the clear text password. This argument is mutually exclusive with the -pf argument. -pf Specifies the full path and filename of the password file. For information about managing password files, see Manage password files. This argument is mutually exclusive with the -p argument. -g Specifies the group associated with the user. If used without a value, the user's default group is assumed. -mode Different modes for running the utility. Report is written to syslog. Set TC_KEEP_SYSTEM_LOG to true to keep the syslog file. dryRunMode In dry run mode, no modification is made to the data. The utility will report in the syslog the list of objects for which duplicate ProjectObjectRelation (POR) exist and the number of duplicate POR objects. fixMode In fix mode, duplicate ProjectObjectRelation (POR) associated with the objects are deleted. The utility will report the objects for which PORs are deleted in the syslog file. -filePath An input file containing UIDs of objects which have PORs in need of processing; these are associated with the POR via top-level references. Specify each UID on a separate line. -migrate=1 Performs migration of objects provided in the owning top-level object UID (objects having their own PORs) list in input file specified by the -filePath argument. -deleteSuperfluous=1 Superfluous POR are POR where another POR for same owning top level object exists with same group association (for example, explicit group or “No Group” for the same security attributes. Performs cleanup of superfluous POR in the database (no input file of UIDs required) as follows: Propagation works correctly only when the object has PORs with valid propagation group values. Because PORs with propagation group as empty (NULL entry or empty string in the database column for propagation group) is not valid, propagation does not work as expected. Clean all POR with “”/empty group and convert to “No Group”; this data condition may occur for Microsoft SQL Server platform only for releases >=11.2.2 and <11.2.3. You can optionally specify a list of top-level object UIDs. For POR with “No Group”, find and remove any other POR associated to the same top-level objects. The security values on the superfluous PORs are merged with the corresponding security values on “No Group” POR. For POR with duplicate groups, find and remove all such duplicate PORs. The security values on the superfluous PORs are merged with the corresponding security values on same security group POR. Note Both the –migrate and –deleteSuperfluous arguments can be run in dryRunMode as well (see usage below). -deletePORWithAllNullAttr=1 Deletes POR having "No Group" and all null security attributes. These POR cannot be migrated and they are not required for re-propagation. However, note that this code will not scrutinize any additional custom security attributes. If such custom security attributes are used, it is advised not to invoke fixMode for this use case and leave these in the system. -toplevelCleanupObjOutputFile Runs a query against the entire database to find all UID of top-level objects with “No Group” POR, which needs to be cleaned. You can use this file as the input for the -filePath option with the -deleteSuperfluous option to clean up such objects. -toplevelMigrationObjOutputFile Runs a query against the entire database to find all UID of top-level objects with “No Group” POR which need to be migrated. You can use this file as the input for the -filePath option with the -migrate option to migrate such objects. -noGroupCount=1 Displays the total number of POR with “No Group” in the database -vlaCheckRequired=1 Checks for ProjectObjectRelation (POR) with inconsistent project_list VLAs or license_list VLA (for example, VLA count different from actual number of projects/licenses). -defer_bp_inserts Defers inserting records to backpointer table. Until these deferred records are inserted back into the backpointer table, “where referenced” does not see POR objects referencing workspace objects for the newly cloned POR. Customers with huge POR data which requires cloning can reduce POR migration time by deferring inserting records to backpointer table. POR migration clones the PORs and some portion of time is spent in inserting records into backpointer table. These backpointer records maintain the references of cloned POR with top-level object. The number of records to insert into the backpointer table is determined by the number of PORs, which need to be cloned during POR migration. The number of cloned PORs depends on security data conditions. The deferred records are inserted to a temporary table that can be processed later using the -insert_deferred_bps option. -insert_deferred_bps Inserts deferred records for cloned POR from the temporary table into the backpointer table. -fixSingleGroup=group Performs migration/clone for a single group only when used with the migrate/clone mode. -bypass=1 Allows the migration of objects even through duplicate PORs may exist and were not first cleaned when set as part of POR migration. -verbose=1 Displays relevant debug information if the verbose mode is activated by default. -superfluous_use_lsd=1 Applies to the superfluous POR deletion mode. When this argument is set, the winning POR from among a set of POR for the same top-level object and same group to be the one with latest lsd. If not set, the POR with security attributes most closely matching those of the associated top-level object is chosen. This is the default behavior. -h Displays help for this utility. Examples Note The following is a sequence of usage commands: Find the number of "No Group" POR objects: Usage 1. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -noGroupCount=1 Cleanup command usage: Usage 2. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -toplevelCleanupObjOutputFile=filename Usage 3a. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=dryRunMode -deleteSuperfluous=1 -filePath=name Usage 3b. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=fixMode -deleteSuperfluous=1 -filePath=name Usage 4a. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=dryRunMode -deleteSuperfluous=1 Usage 4b. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=fixMode -deleteSuperfluous=1 Usage 4c. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=fixMode -deleteSuperfluous=1 -verbose=1 Usage 4c. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=fixMode -deleteSuperfluous=1 -superfluous_use_lsd=1 Migrate command usage: Usage 5. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group toplevelMigrationObjOutputFile=filename Usage 6a. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=dryRunMode -migrate=1 -filePath=name Usage 6b. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=fixMode -migrate=1 -filePath=name Usage 7a. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=fixMode -migrate=1 -filePath=name -defer_bp_inserts=1 Usage 7b. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -insert_deferred_bps=1 Usage 7c. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=fixMode -migrate=1 -fixSingleGroup=group Usage 7d. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=fixMode -migrate=1 -bypass=1 Additional checks: Usage 8. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -mode=fixMode -deletePORWithAllNullAttr=1 Usage 9. Copy migrate_propagation_data -u=Tc-admin-user -p=password -g=group -vlaCheckRequired=1 Related Topics BMIDE for Data Model Design

Source: https://docs.sw.siemens.com/documentation/external/PL20251212545240207/en-US/tc_help/utilities_reference/coz1737253683897/avc1737253684501/xid1472702.html · retrieved Fri Jul 31 2026 00:00:00 GMT+0000 (Coordinated Universal Time)