You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
141 lines
6.1 KiB
141 lines
6.1 KiB
/*
|
|
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 <unidefs.h>
|
|
#include <common/tc_deprecation_macros.h>
|
|
#include <bom/libbom_exports.h>
|
|
|
|
/**
|
|
@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
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#BOM_invalid_tag if @p bomline is invalid.
|
|
</ul>
|
|
*/
|
|
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:
|
|
<ul>
|
|
<li>#STRUCTURE_CLONE_OPERATION_CLONE
|
|
<li>#STRUCTURE_CLONE_OPERATION_REFERENCE
|
|
<li>#STRUCTURE_CLONE_OPERATION_REVISE
|
|
<li>#STRUCTURE_CLONE_OPERATION_REPLACE
|
|
<li>#STRUCTURE_CLONE_OPERATION_IGNORE
|
|
</ul> */
|
|
);
|
|
|
|
/**
|
|
|
|
@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.
|
|
<br/>Customizers need to replace the base action for the user exit BMF_USER_bom_clone_process_cloned_structure to address their business needs.
|
|
|
|
@returns
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#BOM_invalid_tag if the @p source_window is invalid.
|
|
<li>#BOM_invalid_tag if the @p cloned_top_item_rev is invalid.
|
|
</ul>
|
|
*/
|
|
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.
|
|
<br/>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.
|
|
<ul>
|
|
<li>#ITEM_REVISION_CLONE
|
|
<li>#BOMLINE_CLONE
|
|
</ul>
|
|
|
|
@returns
|
|
<ul>
|
|
<li>#ITK_ok on success.
|
|
<li>#BOM_invalid_tag if the @p cloned_top_item_rev is invalid.
|
|
</ul>
|
|
*/
|
|
|
|
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:
|
|
<ul>
|
|
<li>#ITEM_REVISION_CLONE
|
|
<li>#BOMLINE_CLONE
|
|
</ul>
|
|
*/
|
|
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 <bom/libbom_undef.h>
|
|
#endif
|