TeamcenterKnowledge

Engineering BOM Management ─ Deployment and Administration

Configuring the duplication (cloning) of structures

You can configure the duplication (cloning) of structures, which can occur at either the Item Revision or Occurrence level. You can further customize the duplication process using user exits to override duplication for specific BOM lines (for example, standard parts), and establish equivalence between source and cloned lines post-duplication.

A structure is duplicated (cloned) using the Duplicate command. The cloning action is either executed at the Item Revision level or the Occurrence level. The site administrator must set the AWBUseOccurrenceLevelStructureClone preference to configure the duplication behavior at either the item revision level or at the occurrence level. The default value of the preference is False and this implies item revision level duplicate.

<preference name="AWBUseOccurrenceLevelStructureClone" type="Logical"
  array="false" disabled="false" protectionScope="Site" envEnabled="false">
  <preference_description>
    Defines if the structure clone operation should be executed at occurrence level.
    Occurrence level structure cloning is supported from platform TC12.3 onwards.
    If this is set to true and platform supports Occurrence level clone execution,
    structure clone operation is executed at Occurrence level.
    If this is set to true and platform does not support Occurrence level clone
    execution, clone operation is executed at Item Revision level.
    If this is set to false, structure clone operation is executed at Item
    Revision level.
  </preference_description>
  <context name="Teamcenter">
    <value>false</value>
  </context>
</preference>

You can customize the duplication operation by implementing the following user exits:

Override the duplication for certain BOM lines (for example, standard parts), using the following preprocess user exit, USER_bom_clone_get_operation. It gets the operation for a BOMLine during structure clone. If use_default_operation is true, duplicate_operation is ignored and the default operation configured by the system is used. If the user exit is not overridden, the default operation configured by the system is used.

Valid operations for duplicate_operation:

  • STRUCTURE_CLONE_OPERATION_CLONE
  • STRUCTURE_CLONE_OPERATION_REFERENCE
  • STRUCTURE_CLONE_OPERATION_REVISE
  • STRUCTURE_CLONE_OPERATION_REPLACE
  • STRUCTURE_CLONE_OPERATION_IGNORE
extern TCCORE_API int USER_bom_clone_get_operation(
  const tag_t bomline,          /* (I) BOMLine to get duplicate operation. */
  bool* use_default_operation,  /* (O) Use default duplicate operation for bomline. */
  int* duplicate_operation      /* (O) Duplicate operation for bomline. */
);

Establish a post-process equivalence between the source and cloned lines using the following post-process user exit, USER_bomline_process_cloned_structure. This user exit is invoked only once after the duplication process is complete. It establishes a relationship between the source and the cloned structures.

Cloning type options for cloning_type:

  • ITEM_REVISION_CLONE
  • BOMLINE_CLONE
extern BOM_API int USER_bomline_process_cloned_structure(
  const tag_t cloned_top_item_rev,     /* (I) Top Item Revision of the cloned structure. */
  const int cloning_type,              /* (I) Cloning type for clone operation. */
  const int n_source_bom_lines,        /* (I) Number of BOMLines to be cloned. */
  const tag_t* source_bom_lines,       /* (I) List of BOMLines to be cloned. */
  const tag_t* cloned_occurrences      /* (I) List of cloned PSOccurrences. */
);

Note: The USER_bom_clone_process_cloned_structure post-processor exit does not work. Use the USER_bomline_process_cloned_structure post-process user exit for this.

Source: https://docs.sw.siemens.com/en-US/doc/282219420/PL20251212545240207.ebom_admin/xid1801634 · retrieved 2026-07-11