/* Copyright 2020 Siemens Digital Industries Software ================================================== Copyright 2019. Siemens Product Lifecycle Management Software Inc. All Rights Reserved. ================================================== Copyright 2020 Siemens Digital Industries Software */ /** @file Include file to define entry points for user defined entry points. */ #ifndef BOM_CLONE_USER_EXITS_H #define BOM_CLONE_USER_EXITS_H #include #include #include /** @defgroup BOM_CLONE_BMF_USER_EXIT_MSG User exit messages for structure clone @ingroup USER_EXIT The user exits defined here are called during cloning a structure. @{ */ /** @{ Duplicate operation valid values for structure clone. */ #define STRUCTURE_CLONE_OPERATION_CLONE 0 /**< Instructs structure clone to Clone the component. */ #define STRUCTURE_CLONE_OPERATION_REFERENCE 1 /**< Instructs structure clone to Reference the component */ #define STRUCTURE_CLONE_OPERATION_REVISE 2 /**< Instructs structure clone to Revise the component */ #define STRUCTURE_CLONE_OPERATION_REPLACE 3 /**< Instructs structure clone to Replace the component */ #define STRUCTURE_CLONE_OPERATION_IGNORE 5 /**< Instructs structure clone to Ignore the component */ /** @} */ /** @{ Cloning type valid values for processing cloned structure. */ #define ITEM_REVISION_CLONE 0 /**< Indicates if clone operation is being executed using Item Revisions */ #define BOMLINE_CLONE 1 /**< Indicates if clone operation is being executed using BOMLines */ /** @} */ #ifdef __cplusplus extern "C" { #endif /** Retrieves the clone action that would be used for a given BOM Line during a structure clone operation. @returns
  • #ITK_ok on success.
  • #BOM_invalid_tag if @p bomline is invalid.
*/ extern BOM_API int USER_bom_clone_get_clone_action( const tag_t bom_line, /**< (I) BOM Line to get a clone action. */ logical* use_default_action, /**< (O) Use default clone action for @p bom_line. If this is returned as true, @p clone_action will be ignored.*/ int* clone_action /**< (O) The clone action. Expected values are:
  • #STRUCTURE_CLONE_OPERATION_CLONE
  • #STRUCTURE_CLONE_OPERATION_REFERENCE
  • #STRUCTURE_CLONE_OPERATION_REVISE
  • #STRUCTURE_CLONE_OPERATION_REPLACE
  • #STRUCTURE_CLONE_OPERATION_IGNORE
*/ ); /** @deprecated #USER_bom_clone_process_cloned_structure deprecated in Teamcenter 12.3. Use #USER_bomline_process_cloned_structure instead. Processes cloned objects after clone operation is complete.
Customizers need to replace the base action for the user exit BMF_USER_bom_clone_process_cloned_structure to address their business needs. @returns
  • #ITK_ok on success.
  • #BOM_invalid_tag if the @p source_window is invalid.
  • #BOM_invalid_tag if the @p cloned_top_item_rev is invalid.
*/ TC_DEPRECATED("12.3","USER_bom_clone_process_cloned_structure","USER_bomline_process_cloned_structure") extern BOM_API int USER_bom_clone_process_cloned_structure( const tag_t source_window, /**< (I) BOM Window on which clone operation is initiated. */ const tag_t cloned_top_item_rev, /**< (I) Top Item Revision of the cloned structure. */ const int n_source_items_or_revs_for_clone, /**< (I) Number of Item Revisions to be cloned. */ const tag_t* source_items_or_revs_for_clone, /**< (I) n_source_items_or_revs_for_clone List of Item Revisions to be cloned. */ const tag_t* cloned_items_or_revs, /**< (I) n_source_items_or_revs_for_clone List of cloned Item Revisions. */ const int n_source_occurrences_for_clone, /**< (I) Number of PSOccurrences to be cloned. */ const tag_t* source_occurrences_for_clone, /**< (I) n_source_occurrences_for_clone List of PSOccurrences to be cloned. */ const tag_t* cloned_occurrences /**< (I) n_source_occurrences_for_clone List of cloned PSOccurrences. */ ); /** Processes cloned objects after clone operation is complete.
Customizers need to replace the base action for the user exit BMF_USER_bomline_process_cloned_structure to address their business needs. The following are cloning type options for @p cloning_type.
  • #ITEM_REVISION_CLONE
  • #BOMLINE_CLONE
@returns
  • #ITK_ok on success.
  • #BOM_invalid_tag if the @p cloned_top_item_rev is invalid.
*/ 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. Expected values are:
  • #ITEM_REVISION_CLONE
  • #BOMLINE_CLONE
*/ const int n_source_bom_lines, /**< (I) Number of BOMLines to be cloned. */ const tag_t* source_bom_lines, /**< (I) n_source_bom_lines List of BOMLines to be cloned. */ const tag_t* cloned_occurrences /**< (I) n_source_bom_lines List of cloned PSOccurrences. */ ); /** @} */ #ifdef __cplusplus } #endif #include #endif