|
ITK Function Reference
(V10000.1.0.60_20160308.00) |
#include <bom/bom_attr.h>#include <bom/bom_errors.h>#include <bom/bom_tokens.h>#include <bom/bomwriter.h>#include <bom/bomove_errors.h>#include <fclasses/tc_basic.h>#include <rdv/rdv.h>#include <tccore/workspaceobject.h>#include <bom/libbom_exports.h>#include <bom/libbom_undef.h>Go to the source code of this file.
Functions | |
| BOM_API int | BOM_add_option_rev_value (tag_t option_rev, const char *value, int *an_index) |
| BOM_API int | BOM_ask_index_of_opt_rev_value (tag_t option_rev, const char *value, int *an_index) |
| BOM_API int | BOM_ask_option_data (tag_t option, tag_t *owning_item, char **name, char **description) |
| BOM_API int | BOM_ask_option_of_rev (tag_t option_rev, tag_t *option) |
| BOM_API int | BOM_ask_option_rev_mode (tag_t option_rev, int *mode) |
| BOM_API int | BOM_ask_option_rev_value (tag_t option_rev, int an_index, char **value) |
| BOM_API int | BOM_create_bomsetlines_for_input_lines (BOM_bomset_create_criteria_t bomset_create_criteria, tag_t *input_lines, int input_lines_count, int *bomset_count, BOM_bomset_input_info_t **bomset_input_info) |
| BOM_API int | BOM_create_option (tag_t owning_item, const char *name, const char *description, int mode, tag_t *option, tag_t *option_rev) |
| BOM_API int | BOM_create_window_from_snapshot (tag_t snapshot_folder, tag_t *bom_window) |
| BOM_API int | BOM_declare_option (tag_t itemrev, tag_t optionrev, tag_t *ve, tag_t *veb) |
| BOM_API int | BOM_exit_module (void) |
| BOM_API int | BOM_expand_bomset_lines (BOM_bomset_input_info_t bomset_input_info, BOM_bomset_output_info_t *bomset_output_info) |
| BOM_API int | BOM_export_configured_nx_assembly (tag_t bomLine, const char *namingFormat, int noOfValidExcludes, const tag_t *excludedTags, char **zipFileTicket, char **logFileTicket) |
| BOM_API int | BOM_find_variant_rule_and_or_sos (tag_t item_revision, const char *rule_name, tag_t relation_type, logical consider_PSEVariantsMode_pref, int *n_objects_found, tag_t **objects) |
| BOM_API int | BOM_item_ask_option_handle (tag_t window, const tag_t item, const char *name, int *option) |
| Returns the Option id for the given item and Option name. More... | |
| BOM_API int | BOM_item_module_list_options (tag_t window, tag_t item, int *count, int **options) |
| Gets the list of option names on the item corresponding to the bom line. More... | |
| BOM_API int | BOM_line_add_absocc_relation (tag_t lineTag, tag_t relType, tag_t secObject, tag_t *newRelation) |
| BOM_API int | BOM_line_add_optional_item (tag_t bom_line, tag_t item, tag_t rev, tag_t bomview) |
| BOM_API int | BOM_line_ask_absocc_relation (tag_t lineTag, tag_t sourceApn, char *relName, logical configuredOnly, int *relCount, tag_t **relations) |
| BOM_API int | BOM_line_ask_attribute_external (int attribute, logical *attribute_is_external) |
| BOM_API int | BOM_line_ask_can_search_for_vi_from_parent (tag_t line, logical *reuseIdIsPossible) |
| BOM_API int | BOM_line_ask_load_state (tag_t bom_line, int *load_state) |
| BOM_API int | BOM_line_ask_optional_items (tag_t bom_line, int *count, tag_t **opt_items, tag_t **opt_views) |
| BOM_API int | BOM_line_ask_packed_lines (tag_t bom_line, int *count, tag_t **packed) |
| BOM_API int | BOM_line_ask_unit_occurrence_effectivity (tag_t bomline, logical intersectWithConfigurationEff, logical *occEffExists, logical *isAlwaysEffective, int *effyInfoCount, WSOM_effectivity_info_t ***effectivityInfo) |
| BOM_API int | BOM_line_ask_window (tag_t bom_line, tag_t *window) |
| BOM_API int | BOM_line_assign_child_line (tag_t line, tag_t sourceLine, char *occType, tag_t *newChildLine) |
| BOM_API int | BOM_line_clear_all_stops (tag_t line) |
| BOM_API int | BOM_line_clear_stop (tag_t line) |
| BOM_API int | BOM_line_configure_in_vi (tag_t line, tag_t variant_item) |
| BOM_API int | BOM_line_create_add_ice (tag_t line, tag_t *new_ice) |
| BOM_API int | BOM_line_create_remove_ice (tag_t line, tag_t *new_ice) |
| BOM_API int | BOM_line_create_rollup_report (tag_t bomline, tag_t rollup_template, tag_t folder, const char *name, const char *description, tag_t *report_dataset) |
| BOM_API int | BOM_line_create_vi (tag_t line, logical is_linked_to_generic_component, const char *item_id, const char *item_name, const char *type_name, const char *rev_id, tag_t *new_item, tag_t *new_rev) |
| BOM_API int | BOM_line_create_vi_structures (tag_t line, logical is_linked_to_generic_component, tag_t *new_item, tag_t *new_rev) |
| BOM_API int | BOM_line_find_candidates_with_fix_option (int n_broken_links, tag_t *broken_links, int n_scope, tag_t *scope, int n_properties, char **properties, int n_operators, char **operators, tag_t revision_rule, logical quick_search, logical auto_fix, int **n_candidates, tag_t **candidates) |
| BOM_API int | BOM_line_find_preferred_JT_refset (tag_t bom_line, tag_t item_revision, logical ignore_overrides, tag_t *jtfile, char **refset_name, logical *jt_override) |
| BOM_API int | BOM_line_get_child_bomlines_from_clone_stable_uid (tag_t bom_line, int countin, char **clone_stable_uids, int *count, tag_t **children) |
| BOM_API int | BOM_line_get_clone_stable_id_chain (tag_t bomline, const char *root_str, char **cli_chain) |
| BOM_API int | BOM_line_is_stopped (tag_t line, logical *is_stopped) |
| BOM_API int | BOM_line_list_predecessors (tag_t bom_line, int *count, tag_t **pred) |
| BOM_API int | BOM_line_list_related_substitutes (tag_t bom_line, int *n_items, tag_t **related_occs, tag_t **related_items) |
| BOM_API int | BOM_line_map_vi_requirements_from_parent (tag_t line, int n, tag_t *items, char **options, int *ops, int *valueTypes, char **lowValues, char **highValues, int *n_out, tag_t **items_out, char ***options_out, int **ops_out, int **valueTypes_out, char ***lowValues_out, char ***highValues_out) |
| BOM_API int | BOM_line_occ_validate (int count, tag_t *lines, logical recurse, int *err_count, int **ifails, tag_t **err_lines) |
| BOM_API int | BOM_line_relate_substitutes (int num_of_lines, tag_t *bom_lines, tag_t *substitute_set) |
| BOM_API int | BOM_line_remove_absocc_property (tag_t bomLine, char *propertyName, tag_t contextBomLine) |
| BOM_API int | BOM_line_remove_absocc_relation (tag_t lineTag, tag_t sourceApn, tag_t relation) |
| BOM_API int | BOM_line_remove_incremental_changes (tag_t line, int n, tag_t *ices) |
| BOM_API int | BOM_line_remove_optional_item (tag_t bom_line, tag_t item, tag_t rev, tag_t bomview) |
| BOM_API int | BOM_line_remove_related_substitutes (int n_lines, tag_t *lines) |
| BOM_API int | BOM_line_replace_absocc_relation (tag_t lineTag, tag_t sourceApn, tag_t relation, tag_t newSecondary, tag_t *newRelation) |
| BOM_API int | BOM_line_set_stop (tag_t line) |
| BOM_API int | BOM_line_suppress_lines (int count, const tag_t *lines, const logical *suppression_flags, int *err_count, int **ifails, tag_t **err_lines) |
| BOM_API int | BOM_list_option_rev_values (tag_t option_rev, int *n_values, int **indexes) |
| BOM_API int | BOM_modified_bvr (tag_t line) |
| BOM_API int | BOM_new_option (tag_t itemrev, const char *optname, const char *optdesc, int mode, tag_t *option, tag_t *optionrev, tag_t *ve, tag_t *veb) |
| BOM_API int | BOM_ok_to_modify_obj_in_ic (tag_t window_tag, tag_t object_tag, logical *modifiable) |
| BOM_API int | BOM_option_describe2 (int option, tag_t *item, char **option_name, char **desc, int *visibility, int *option_type, int *value_type, int *based_on, logical *has_default) |
| Returns the details for an Option defined on item. More... | |
| BOM_API int | BOM_option_where_declared (const char *item, const char *option, int *count, tag_t **item_revs) |
| BOM_API int | BOM_option_where_declared2 (const tag_t item, const char *option, int *count, tag_t **item_revs) |
| For the given Item returns the item revision on which Option is declared. More... | |
| BOM_API int | BOM_option_where_used (const char *item, const char *option, int *count, tag_t **objs) |
| BOM_API int | BOM_option_where_used2 (const tag_t item, const char *option, int *count, tag_t **objs) |
| For the given Item returns the item revision on which Option is Used. More... | |
| BOM_API int | BOM_remove_option_rev_value (tag_t option_rev, int an_index) |
| BOM_API int | BOM_revise_option (tag_t revision_in, tag_t *new_revision) |
| BOM_API int | BOM_set_option_data (tag_t option, const char *name, const char *description) |
| BOM_API int | BOM_set_option_rev_value (tag_t option_rev, int an_index, const char *value) |
| BOM_API int | BOM_set_pack_compare (void *function) |
| BOM_API int | BOM_set_window_config_context (tag_t window, tag_t config_context) |
| BOM_API int | BOM_update_for_variants_on_bomline (tag_t bomline) |
| BOM_API int | BOM_update_for_variants_on_itemrev (tag_t item_rev) |
| BOM_API int | BOM_update_for_variants_on_occ (tag_t parent_bvr, tag_t occurrence) |
| BOM_API int | BOM_update_pse (tag_t bvr) |
| BOM_API int | BOM_variant_expr_default (tag_t option, int value, tag_t *default_ve) |
| BOM_API int | BOM_variant_expr_error_if (tag_t cond_ve, const char *warning_text, tag_t *error_if_ve) |
| BOM_API int | BOM_variant_expr_load_if (tag_t cond_ve, tag_t *load_if_ve) |
| BOM_API int | BOM_variant_expr_set_if (tag_t cond_ve, tag_t option, int value, tag_t *set_if_ve, tag_t *assign_ve) |
| BOM_API int | BOM_variant_expr_split_default (tag_t default_ve, tag_t *option, int *value) |
| BOM_API int | BOM_variant_expr_split_error_if (tag_t error_if_ve, char **warning_text, tag_t *cond_ve) |
| BOM_API int | BOM_variant_expr_split_load_if (tag_t load_if_ve, tag_t *cond_ve) |
| BOM_API int | BOM_variant_expr_split_set_if (tag_t set_if_ve, tag_t *option, int *value, tag_t *cond_ve) |
| BOM_API int | BOM_verify_part_structure (tag_t line, int *cntCompleteLines, tag_t **completeLinesTags, int *cntIncompleteLines, tag_t **incompleteLinesTags, int *cntSkippedLines, tag_t **skippedLinesTags) |
| BOM_API int | BOM_window_ask_absocc_context (tag_t window, tag_t *rootLine) |
| BOM_API int | BOM_window_ask_absocc_edit_mode (tag_t window, logical *absOccEditMode) |
| BOM_API int | BOM_window_ask_generic_components (tag_t window, int *generic_component_count, tag_t **generic_component_lines) |
| BOM_API int | BOM_window_ask_option_value (tag_t window, tag_t option, tag_t *option_rev, int *value, int *how_set, char **where_set) |
| BOM_API int | BOM_window_ask_option_values (tag_t window, tag_t option, tag_t *option_rev, int *count, int **values, int **how_sets, char ***where_sets) |
| BOM_API int | BOM_window_ask_options (tag_t window, int *n_options, tag_t **options, tag_t **option_revisions) |
| BOM_API int | BOM_window_filter_unconfigured_classic_variants (tag_t window) |
| BOM_API int | BOM_window_filters_unconfigured_classic_variants (tag_t window, logical *filter_unconfigured) |
| BOM_API int | BOM_window_find_option (tag_t window, tag_t item, const char *option_name, tag_t *option, tag_t *option_rev) |
| BOM_API int | BOM_window_get_bomline_from_apprPathNode (tag_t window, tag_t pathNode, tag_t intermediateParentLine, tag_t *pathNodeBomLine) |
| BOM_API int | BOM_window_get_line_from_clone_stable_id_chain (tag_t window, const char *cs_chain, tag_t *line) |
| BOM_API int | BOM_window_get_occ_type_filter (tag_t window_tag, int *count, char ***typeList) |
| BOM_API int | BOM_window_hide_gcs_cps (tag_t window) |
| BOM_API int | BOM_window_hide_incremental_changes (tag_t bom_window) |
| BOM_API int | BOM_window_hide_occ_type_filter (tag_t window_tag) |
| BOM_API int | BOM_window_hide_suppressed (tag_t window) |
| BOM_API int | BOM_window_hide_unconfigured (tag_t window) |
| BOM_API int | BOM_window_set_absocc_context (tag_t window, tag_t rootLine) |
| BOM_API int | BOM_window_set_absocc_edit_mode (tag_t window, logical absOccEditMode) |
| BOM_API int | BOM_window_set_closure_rule (tag_t window, tag_t closure_rule, int n_variables, char **variable_names, char **variable_values) |
| BOM_API int | BOM_window_set_occ_type_filter (tag_t window_tag, int count, char **typeList) |
| BOM_API int | BOM_window_set_option_value (tag_t window, tag_t option, int value) |
| BOM_API int | BOM_window_set_option_values (tag_t window, tag_t option, int value_count, int *values) |
| BOM_API int | BOM_window_show_gcs_cps (tag_t window) |
| BOM_API int | BOM_window_show_incremental_changes (tag_t bom_window) |
| BOM_API int | BOM_window_show_occ_type_filter (tag_t window_tag) |
| BOM_API int | BOM_window_show_suppressed (tag_t window) |
| BOM_API int | BOM_window_show_unconfigured (tag_t window) |
| BOM_API int | BOM_window_shows_gcs_cps (tag_t window, logical *shows_gcs_cp) |
| BOM_API int | BOM_window_shows_suppressed (tag_t window, logical *shows_suppressed) |
| BOM_API int | BOM_window_shows_unconfigured (tag_t window, logical *shows_unconfigured) |
| BOM_API int | BOM_window_unset_option_value (tag_t window, tag_t option) |
| BOM_API int | BOM_world_newIrfWhereConfigured (tag_t rev) |
| BOM_API int | BOM_writer_delete (void *block) |
| BOM_API int | BOM_writer_get_plmxml_builders (int *count, char ***names, char ***descriptions) |
| BOM_API int | BOM_writer_new_format_ajt (BOM_writer_format **p) |
| BOM_API int | BOM_writer_new_format_empty (BOM_writer_format **p) |
| BOM_API int | BOM_writer_new_format_flatten (BOM_writer_format **p) |
| BOM_API int | BOM_writer_new_format_plmxml (BOM_writer_format **p) |
| BOM_API int | BOM_writer_new_output_file (BOM_writer_output **p) |
| BOM_API int | BOM_writer_new_output_smstring (BOM_writer_output **p) |
| BOM_API int | BOM_writer_new_traversal (BOM_writer_traversal **p) |
| BOM_API int | BOM_writer_write_bomwindow (tag_t bom_window, BOM_writer_output *output_p, BOM_writer_format *format_p, BOM_writer_traversal *traversal_p) |
BOM Setup Functions | |
| BOM_API int | BOM_init_module (void) |
BOM Window Functions | |
| BOM_API int | BOM_create_window (tag_t *window) |
| BOM_API int | BOM_close_window (tag_t window) |
| BOM_API int | BOM_refresh_window (tag_t window) |
| BOM_API int | BOM_ask_window_config_rule (tag_t window, tag_t *config_rule) |
| BOM_API int | BOM_set_window_config_rule (tag_t window, tag_t config_rule) |
| BOM_API int | BOM_set_window_pack_all (tag_t window, logical pack_all) |
| BOM_API int | BOM_window_ask_state_logical (tag_t window, int state, logical *answer) |
| BOM_API int | BOM_set_window_top_line (tag_t window, tag_t item, tag_t item_revision, tag_t bv, tag_t *top_bom_line) |
| BOM_API int | BOM_set_window_top_line_using_occgrp (tag_t window, tag_t occGrp, tag_t *top_bom_line) |
| BOM_API int | BOM_set_window_top_line_using_proxy (tag_t window, tag_t proxy, tag_t *top_bom_line) |
| BOM_API int | BOM_set_window_top_line_bvr (tag_t window, tag_t bvr, tag_t *top_bom_line) |
| BOM_API int | BOM_ask_window_top_line (tag_t window, tag_t *top_bom_line) |
| BOM_API int | BOM_ask_window_ignore_ove_errors_on_expand (tag_t bom_window, logical *ignore) |
| BOM_API int | BOM_set_window_ignore_ove_errors_on_expand (tag_t bom_window, logical ignore) |
| BOM_API int | BOM_ask_window_ove_message_error_level (tag_t bom_window, int *level) |
| BOM_API int | BOM_set_window_ove_message_error_level (tag_t bom_window, int level) |
| BOM_API int | BOM_ask_window_active_arrangement (tag_t bom_window, tag_t *arrangement) |
| BOM_API int | BOM_set_window_active_arrangement (tag_t bom_window, tag_t arrangement) |
| BOM_API int | BOM_set_window_ignore_arrangements (tag_t bom_window, logical ignore) |
| BOM_API int | BOM_line_ask_used_arrangement (tag_t bomline, tag_t *arrangement) |
| BOM_API int | BOM_window_ask_effectivity_grprevs (tag_t window, int *count, tag_t **effGrpRevList) |
| BOM_API int | BOM_window_set_effectivity_grprevs (tag_t window, int n_effrevs, tag_t *effGrpRevList) |
| BOM_API int | BOM_window_ask_is_modified (tag_t window, logical *is_modified) |
| BOM_API int | BOM_save_window (tag_t window) |
| BOM_API int | BOM_window_revert_all_pending_edits (tag_t window) |
| BOM_API int | BOM_line_revert_pending_edits (int bom_line_count, tag_t *bom_lines) |
| BOM_API int | BOM_set_window_sort_compare_fn (tag_t window, void *function, void *client_data) |
BOM Line Functions | |
| BOM_API int | BOM_line_ask_child_lines (tag_t bom_line, int *count, tag_t **children) |
| BOM_API int | BOM_line_ask_all_child_lines (tag_t bom_line, int *count, tag_t **children) |
| BOM_API int | BOM_line_subset_child_lines_occs (tag_t bom_line, int n_occs, const tag_t *occs, int *n_child_lines, tag_t **children) |
| BOM_API int | BOM_line_subset_child_lines_occ_notes (tag_t bom_line, tag_t occ_note_type, int n_note_patterns, const char **notes_patterns, int *n_child_lines, tag_t **children) |
| BOM_API int | BOM_line_ask_remote_object (tag_t bom_line, tag_t *remote_object) |
| BOM_API int | BOM_line_get_remote_children (tag_t bom_line, int *n_remote, tag_t **remote_children) |
| BOM_API int | BOM_line_cut (tag_t bom_line) |
| BOM_API int | BOM_line_move_to (tag_t new_parent, int count, tag_t *bom_lines) |
| BOM_API int | BOM_line_remove_level (int count, tag_t *bom_lines) |
| BOM_API int | BOM_line_split_occurrence (const char *quantity, tag_t bom_line) |
| BOM_API int | BOM_line_replace_in_context (tag_t bom_line, tag_t item_rev) |
| BOM_API int | BOM_line_insert_level (int count, tag_t *bom_lines, tag_t item, tag_t view_type) |
| BOM_API int | BOM_line_copy (tag_t new_parent, tag_t to_be_copied, tag_t view_type, tag_t *new_line) |
| BOM_API int | BOM_line_fix_broken_links (int count, const tag_t *broken_links, const tag_t *candidate_lines) |
| BOM_API int | BOM_line_find_broken_links (tag_t bom_line, logical quick_search, int *count, tag_t **broken_links) |
| BOM_API int | BOM_line_resequence (tag_t bom_line, int start_number, int incre_number, logical recursive) |
| BOM_API int | BOM_line_unload_below (tag_t line) |
| BOM_API int | BOM_line_add (tag_t bom_line, tag_t item_folder, tag_t item_revision_folder, tag_t bv, tag_t *new_line) |
| BOM_API int | BOM_line_add_with_occ_type (tag_t bom_line, tag_t item_folder, tag_t item_revision_folder, tag_t bv, char *occType, tag_t *new_line) |
| BOM_API int | BOM_line_add_gde (tag_t bomline, tag_t childGDE, char *occType, tag_t *newLine) |
BOM Occurrence Sequencing | |
| BOM_API int | BOM_line_add_predecessor (tag_t bom_line, tag_t predline) |
| BOM_API int | BOM_line_remove_predecessor (tag_t bom_line, tag_t predline) |
| BOM_API int | BOM_line_replace (tag_t bom_line, tag_t item_folder, tag_t item_revision_folder, tag_t bv) |
| BOM_API int | BOM_line_change_to_replace (tag_t deletedBOMLine, tag_t addedBOMLine) |
| BOM_API int | BOM_line_is_replaceable (tag_t bom_line, logical *verdict) |
| BOM_API int | BOM_line_set_precise (tag_t bom_line, logical precise) |
| BOM_API int | BOM_line_pack (tag_t bom_line) |
| BOM_API int | BOM_line_unpack (tag_t bom_line) |
| BOM_API int | BOM_line_is_packed (tag_t bom_line, logical *verdict) |
| BOM_API int | BOM_line_replace_gde (tag_t gde_line, tag_t new_gde) |
BOM Attribute Functions | |
Used to ask about attributes of a BOM line, and update some of them. After updating the attribute, BOM_save_window must be called to commit the change. | |
| BOM_API int | BOM_line_list_attributes (int *count, int **attributes) |
| BOM_API int | BOM_line_look_up_attribute (const char *attribute_name, int *attribute) |
| BOM_API int | BOM_line_look_up_inherited_attr (const char *class_name, const char *attribute_name, int *attribute) |
| BOM_API int | BOM_line_ask_attribute_name (int attribute, char **attribute_name) |
| BOM_API int | BOM_line_ask_attribute_uname (int attribute, char **attribute_user_name) |
| BOM_API int | BOM_line_ask_attribute_mode (int attribute, int *attribute_mode) |
| BOM_API int | BOM_line_ask_attribute_ro (int attribute, logical *attribute_is_read_only) |
| BOM_API int | BOM_line_set_attribute_int (tag_t bom_line, int attribute, int value) |
| BOM_API int | BOM_line_ask_attribute_int (tag_t bom_line, int attribute, int *value) |
| BOM_API int | BOM_line_set_attribute_logical (tag_t bom_line, int attribute, logical value) |
| BOM_API int | BOM_line_ask_attribute_logical (tag_t bom_line, int attribute, logical *value) |
| BOM_API int | BOM_line_set_attribute_tag (tag_t bom_line, int attribute, tag_t value) |
| BOM_API int | BOM_line_ask_attribute_tag (tag_t bom_line, int attribute, tag_t *value) |
| BOM_API int | BOM_line_set_attribute_string (tag_t bom_line, int attribute, const char *value) |
| BOM_API int | BOM_line_ask_attribute_string (tag_t bom_line, int attribute, char **value) |
| BOM_API int | BOM_line_set_attribute_double (tag_t bom_line, int attribute, double value) |
| BOM_API int | BOM_line_ask_attribute_double (tag_t bom_line, int attribute, double *value) |
BOM Substitute Functions | |
| BOM_API int | BOM_line_ask_has_substitutes (tag_t bom_line, logical *has_substitutes) |
| BOM_API int | BOM_line_ask_is_substitute (tag_t bom_line, logical *is_substitute) |
| BOM_API int | BOM_line_show_substitutes (tag_t bom_line) |
| BOM_API int | BOM_line_hide_substitutes (tag_t bom_line) |
| BOM_API int | BOM_line_list_substitutes (tag_t bom_line, int *n_substitutes, tag_t **substitute_lines) |
| BOM_API int | BOM_line_add_substitute (tag_t bom_line, tag_t item, tag_t item_revision, tag_t bom_view, tag_t *new_line) |
| BOM_API int | BOM_line_prefer_substitute (tag_t bom_line, logical *is_temporary) |
| BOM_API int | BOM_window_show_substitutes (tag_t bom_window) |
| BOM_API int | BOM_window_hide_substitutes (tag_t bom_window) |
BOM Window Variation Functions | |
Common Return Values BOM_variant_error_condition - The new variant data triggered a variant rule check in one (or more) of the BOM windows being updated. | |
| BOM_API int | BOM_window_ask_vrule (tag_t bom_window, tag_t *vrule, logical *modified) |
| BOM_API int | BOM_window_ask_vrules (tag_t window, int *count, tag_t **variant_rules, logical **modified) |
| BOM_API int | BOM_window_apply_full_vrule (tag_t bom_window, tag_t vrule) |
| BOM_API int | BOM_window_apply_partial_vrule (tag_t bom_window, tag_t vrule) |
| BOM_API int | BOM_window_apply_overlay_variant_rules (tag_t window, int svr_count, tag_t *svr_list, int svr_mode, int *count, tag_t **variant_rule_list) |
| BOM_API int | BOM_window_show_variants (tag_t bom_window) |
| BOM_API int | BOM_window_hide_variants (tag_t bom_window) |
BOM Variant Data Functions | |
| BOM_API int | BOM_new_variant_expression (tag_t v1, int opcode, tag_t v2, const char *str, tag_t *expr) |
| BOM_API int | BOM_set_variant_expression (tag_t expr, tag_t v1, int opcode, tag_t v2, const char *str) |
| BOM_API int | BOM_ask_variant_expression (tag_t expr, tag_t *v1, int *opcode, tag_t *v2, char **str) |
| BOM_API int | BOM_variant_expression_as_text (tag_t expr, char **str) |
| BOM_API int | BOM_new_variant_e_block (tag_t *block) |
| BOM_API int | BOM_ask_variant_e_block (tag_t block, int *n, tag_t **exprs) |
| BOM_API int | BOM_set_variant_e_block (tag_t block, int n, const tag_t *exprs) |
| BOM_API int | BOM_line_ask_variant_e_block (tag_t line, tag_t *block) |
| BOM_API int | BOM_line_set_variant_e_block (tag_t line, tag_t block) |
| BOM_API int | BOM_variant_e_block_add (tag_t veb, tag_t ve) |
| BOM_API int | BOM_variant_e_block_remove (tag_t veb, tag_t ve) |
| BOM_API int | BOM_variant_e_block_replace (tag_t veb, tag_t veOut, tag_t veIn) |
BOM Variant Rule Functions | |
| BOM_API int | BOM_window_ask_variant_rule (tag_t window, tag_t *bomvariantlist) |
| BOM_API int | BOM_window_ask_variant_rules (tag_t window, int *count, tag_t **bom_variant_rules) |
| BOM_API int | BOM_window_ask_varconfig_mode (tag_t window, int *var_config_mode) |
| BOM_API int | BOM_window_set_varconfig_mode (tag_t window, int var_config_mode) |
| BOM_API int | BOM_variant_rule_copy (tag_t src_bomvariantlist, tag_t dst_window, tag_t *dst_bomvariantlist) |
| BOM_API int | BOM_variant_rule_set_copy_action (int action) |
| BOM_API int | BOM_variant_rule_ask_copy_action (int *action) |
| BOM_API int | BOM_variant_rule_apply (tag_t bomvariantlist) |
| BOM_API int | BOM_variant_rule_apply_to (tag_t src_bomvariantlist, tag_t dst_bomvariantlist) |
| BOM_API int | BOM_variant_rule_delete (tag_t bomvariantlist) |
| BOM_API int | BOM_variant_rule_apply_full_vrule (tag_t bomvariantlist, tag_t vrule, logical *list_changed) |
| BOM_API int | BOM_variant_rule_apply_partial_vrule (tag_t bomvariantlist, tag_t vrule, logical *list_changed) |
| BOM_API int | BOM_variant_rule_ask_vrule (tag_t bomvariantlist, tag_t *vrule, logical *modified) |
| BOM_API int | BOM_variant_rule_find_option (tag_t bomvariantlist, tag_t item, const char *name, tag_t *option, tag_t *option_rev) |
| BOM_API int | BOM_variant_rule_find_options (tag_t bomvariantlist, tag_t item, const char *name, int *n_options, tag_t **options) |
| BOM_API int | BOM_variant_rule_ask_option_rev (tag_t bomvariantlist, tag_t option, tag_t *option_rev) |
| BOM_API int | BOM_variant_rule_ask_options (tag_t bomvariantlist, int *n, tag_t **options, tag_t **option_revs) |
| BOM_API int | BOM_variant_rule_set_option_value (tag_t bomvariantlist, tag_t option, int value) |
| BOM_API int | BOM_variant_rule_set_option_values (tag_t bom_variant_list, tag_t option, int value_count, int *values) |
| BOM_API int | BOM_variant_rule_ask_option_value (tag_t bomvariantlist, tag_t option, tag_t *option_rev, int *value, int *how_set, char **where_set) |
| BOM_API int | BOM_variant_rule_ask_option_values (tag_t bom_variant_list, tag_t option, tag_t *option_rev, int *count, int **values, int **how_sets, char ***where_sets) |
| BOM_API int | BOM_variant_rule_unset_option_value (tag_t bomvariantlist, tag_t option) |
| BOM_API int | BOM_variant_rule_unset_option_values (tag_t bomvariantlist, int n_options, tag_t *options) |
| BOM_API int | BOM_variant_rule_clear_option_values (tag_t bomvariantlist) |
| BOM_API int | BOM_variant_rule_evaluate (tag_t bomvariantlist) |
BOM Variant Clause List Functions | |
Common Return Values BOM_variant_invalid_cond_clause - The specified clause position is not valid. | |
| BOM_API int | BOM_variant_new_clause_list (tag_t bom_window, tag_t *clause_list) |
| BOM_API int | BOM_variant_condition_to_clause_list (tag_t bom_window, tag_t condition_ve, tag_t *clause_list) |
| BOM_API int | BOM_variant_join_clause_list (tag_t clause_list, tag_t *conditon_ve) |
| BOM_API int | BOM_variant_delete_clause_list (tag_t clause_list) |
| BOM_API int | BOM_variant_clause_append (tag_t clause_list, int join, tag_t option, int op, const char *value) |
| BOM_API int | BOM_variant_clause_insert (tag_t clause_list, int pos, int join, tag_t option, int op, const char *value) |
| BOM_API int | BOM_variant_clause_replace (tag_t clause_list, int pos, int join, tag_t option, int op, const char *value) |
| BOM_API int | BOM_variant_clause_delete (tag_t clause_list, int n_clauses, int pos[]) |
| BOM_API int | BOM_variant_clause_move_up (tag_t clause_list, int n_clauses, int pos[]) |
| BOM_API int | BOM_variant_clause_move_down (tag_t clause_list, int n_clauses, int pos[]) |
| BOM_API int | BOM_variant_clause_toggle_brackets (tag_t clause_list, int n_clauses, int pos[]) |
| BOM_API int | BOM_variant_clause_list_size (tag_t clause_list, int *n_clauses) |
| BOM_API int | BOM_variant_clause_list_text (tag_t clause_list, int *n_clauses, char ***text) |
| BOM_API int | BOM_variant_clause_text (tag_t clause_list, int pos, char **text) |
| BOM_API int | BOM_variant_clause_details (tag_t clause_list, int pos, int *join, tag_t *option, int *op, char **value) |
| BOM_API int | BOM_variant_clause_valid_ops (tag_t clause_list, int n_clauses, int pos[], int *op_flags) |
| BOM_API int | BOM_variant_clause_validate_ops (tag_t clause_list, logical auto_validate) |
BOM Modular Variants Functions | |
Configuration This is the set of ITK functions required to configure a structure. BOM_line_ask_sos Authoring ITK The following ITKs deal with the creation and editing of Modular Variants. It essentially provides a way to getting and setting MVL. MVL has 2 distinct areas - the option declaration statements and the language expressions. These are dealt with via separate functions in the ITK. BOM_line_ask_mvl_condition Additional ITK | |
| BOM_API int | BOM_line_ask_sos (tag_t bom_line, tag_t *sos) |
| BOM_API int | BOM_line_clear_sos (tag_t bom_line, logical doUpdates) |
| BOM_API int | BOM_sos_apply (tag_t sos, logical doUpdates) |
| BOM_API int | BOM_sos_apply_list (int count, tag_t *sos, logical doUpdates) |
| BOM_API int | BOM_sos_free (tag_t sos) |
| BOM_API int | BOM_window_ask_ove_messages (tag_t bom_window, int *count, int **severities, char ***messages, tag_t **lines) |
| BOM_API int | BOM_line_ove_validate (tag_t line, logical recurse, int *count, int **error_types, tag_t **lines, int **options) |
| BOM_API int | BOM_decompose_ove_path (const char *path, int *count, char ***pathElements) |
| BOM_API int | BOM_sos_ask_entries (tag_t sos, int *count, int **options, char ***paths) |
| BOM_API int | BOM_sos_ask_entry_int (tag_t sos, int option, const char *path, int *value, int *how_set) |
| BOM_API int | BOM_sos_ask_entry_double (tag_t sos, int option, const char *path, double *value, int *how_set) |
| BOM_API int | BOM_sos_ask_entry_logical (tag_t sos, int option, const char *path, logical *value, int *how_set) |
| BOM_API int | BOM_sos_ask_entry_display (tag_t sos, int option, const char *path, char **value, int *how_set) |
| BOM_API int | BOM_sos_set_entry_int (tag_t sos, int option, const char *path, int value, int how_set) |
| BOM_API int | BOM_sos_set_entry_double (tag_t sos, int option, const char *path, double value, int how_set) |
| BOM_API int | BOM_sos_set_entry_logical (tag_t sos, int option, const char *path, logical value, int how_set) |
| BOM_API int | BOM_sos_set_entry_string (tag_t sos, int option, const char *path, const char *value, int how_set) |
| BOM_API int | BOM_sos_unset_entry (tag_t sos, int option, const char *path) |
| BOM_API int | BOM_option_describe (int option, char **item, char **option_name, char **desc, int *visibility, int *option_type, int *value_type, int *based_on, logical *has_default) |
| BOM_API int | BOM_ask_option_path (int option, char **path) |
| BOM_API int | BOM_option_ask_allowed_strings (int option, int *count, char ***values, char **default_value) |
| BOM_API int | BOM_option_ask_allowed_ints (int option, int *count, int **mins, int **maxs, int **range_types, int *default_value) |
| BOM_API int | BOM_option_ask_allowed_reals (int option, int *count, double **mins, double **maxs, int **range_types, double *default_value) |
| BOM_API int | BOM_option_ask_logical_default (int option, logical *default_value) |
| BOM_API int | BOM_line_ask_mvl_condition (tag_t line, char **condition) |
| BOM_API int | BOM_line_set_mvl_condition (tag_t line, const char *condition) |
| BOM_API int | BOM_line_ask_mvl (tag_t line, char **mvl) |
| BOM_API int | BOM_line_set_mvl (tag_t line, const char *mvl) |
| BOM_API int | BOM_module_list_options (tag_t window, const char *module_id, int *count, int **options) |
| BOM_API int | BOM_module_ask_option_text (int option, char **text) |
| BOM_API int | BOM_module_ask_option_handle (tag_t window, const char *module_id, const char *name, int *option) |
| BOM_API int | BOM_line_define_option (tag_t line, const char *text) |
| BOM_API int | BOM_line_delete_option (tag_t line, int option) |
| BOM_API int | BOM_line_modify_option (tag_t line, int option, const char *text) |
SOS Storage and Retrieval | |
| BOM_API int | BOM_sos_db_read (tag_t db_sos, tag_t config) |
| BOM_API int | BOM_sos_db_create (const char *db_sos_name, tag_t config, tag_t *db_sos) |
| BOM_API int | BOM_sos_db_set (tag_t db_sos, tag_t config) |
| BOM_API int | BOM_sos_db_create_partial (const char *db_sos_name, tag_t config, int count, tag_t *items, char **options, logical *isModular, tag_t *db_sos) |
| BOM_API int | BOM_sos_db_set_partial (tag_t db_sos, tag_t config, int count, tag_t *items, char **options, logical *isModular) |
| BOM_API int | BOM_sos_db_contents (tag_t db_sos, int *count, tag_t **items, char ***options, int **optionTypes, int **valueTypes, int **howSet, char ***values) |
| BOM_API int | BOM_sos_db_option_query (int n, tag_t *items, char **options, int *n_matches, tag_t **matches) |
| BOM_API int | BOM_sos_db_query (int n, tag_t *items, char **options, int *ops, int *valueTypes, char **lowValues, char **highValues, int *n_matches, tag_t **matches) |
BOM Variant configuration functions | |
| BOM_API int | BOM_create_variant_config (tag_t bom_vrule, int count, tag_t *bomsoslist, tag_t *bom_variant_config) |
| BOM_API int | BOM_create_window_variant_config (tag_t bom_window, int mode, tag_t *bom_variant_config) |
| BOM_API int | BOM_create_bomline_variant_config (tag_t bom_line, int mode, tag_t *bom_variant_config) |
| BOM_API int | BOM_delete_variant_config (tag_t bom_variant_config) |
| BOM_API int | BOM_variant_config_apply (tag_t bom_variant_config) |
| BOM_API int | BOM_variant_config_clear (tag_t bom_variant_config) |
| BOM_API int | BOM_variant_config_evaluate (tag_t bom_variant_config) |
| BOM_API int | BOM_variant_config_copy (tag_t source_config, logical deepCopy, tag_t *new_config) |
| BOM_API int | BOM_set_variant_config_bomvrule (tag_t bom_variant_config, tag_t bom_vrule, int mode) |
| BOM_API int | BOM_set_variant_config_bomsos (tag_t bom_variant_config, tag_t bom_line, tag_t bom_sos, int mode) |
| BOM_API int | BOM_ask_variant_config (tag_t bom_variant_config, tag_t *bom_vrule, int *count, tag_t **bomsoslist) |
| BOM_API int | BOM_ask_variant_config_context (tag_t bom_variant_config, tag_t *bom_window, tag_t *root_bom_line) |
BOM Compare Functions | |
Common Return Values BOM_no_current_compare - The BOMCompare has not yet been supplied to BOM_compare_execute (or BOM_compare, for the standard internal compare), or an error occurred during the last such call that invalidated the comparison. | |
| BOM_API int | BOM_compare_create (tag_t *bomcompare) |
| BOM_API int | BOM_compare_delete (tag_t bomcompare) |
| BOM_API int | BOM_compare_ask_modes (logical visible_only, int *n_modes, char ***mode_names) |
| BOM_API int | BOM_compare_visit_engine (tag_t bomcompare, BOM_compare_engine_visitor_t *enter_engine, BOM_compare_engine_visitor_t *leave_engine, BOM_compare_set_visitor_t *visit_set, void *user_data) |
| BOM_API int | BOM_compare_ask_mode (tag_t bomcompare, char **mode_name) |
| BOM_API int | BOM_compare_ask_output_mode (tag_t bomcompare, int *output_mode) |
| BOM_API int | BOM_compare_ask_root_bomlines (tag_t bomcompare, tag_t *bomline1, tag_t *bomline2) |
| BOM_API int | BOM_compare_ask_engine_root_bomlines (tag_t bomcompareengine, tag_t *bomline1, tag_t *bomline2) |
| BOM_API int | BOM_compare_define_mode (const char *mode_name, int traversal_mode, tag_t compare_desc, logical visible, logical autopack, logical virtualunpack) |
| BOM_API int | BOM_compare_ask_mode_info (const char *mode_name, int *traversal_mode, tag_t *compare_desc, logical *visible, logical *autopack, logical *virtualunpack) |
| BOM_API int | BOM_compare_set_visibility (const char *mode_name, logical visible) |
| BOM_API int | BOM_compare_reports_unchanged (const char *mode_name, logical *reports_unchanged) |
| BOM_API int | BOM_compare_set_rpt_unchanged (const char *mode_name, logical report_unchanged) |
| BOM_API int | BOM_compare (tag_t line1, tag_t line2, int mode, int output) |
| BOM_API int | BOM_compare_execute (tag_t bomcompare, tag_t bomline1, tag_t bomline2, const char *mode_name, int output_to) |
| BOM_API int | BOM_compare_clear (tag_t compare_context) |
| BOM_API int | BOM_compare_suppress (tag_t compare_context, int output) |
| BOM_API int | BOM_compare_list_bomlines (tag_t cmp_item, int *count1, tag_t **bomline_list1, int *count2, tag_t **bomline_list2) |
| BOM_API int | BOM_compare_ask_difference (tag_t cmp_item, int *diff_flags) |
| BOM_API int | BOM_compare_ask_qty (tag_t cmp_item, double *qty1, double *qty2) |
| BOM_API int | BOM_compare_ask_rev (tag_t cmp_item, char **rev1, char **rev2) |
| BOM_API int | BOM_compare_ask_seqno (tag_t cmp_item, char **seqno) |
| BOM_API int | BOM_compare_list_diffs (tag_t line, int *diff_count, tag_t **diff_lines, int **diff_flags) |
| BOM_API int | BOM_compare_list_diffs_context (tag_t line, tag_t context, int *diff_count, tag_t **diff_lines, int **diff_flags) |
| BOM_API int | BOM_compare_report (tag_t compare_context, int *report_length, char ***report_lines, tag_t **report_items) |
| BOM_API int | BOM_compare_report_size (tag_t compare_context, int *report_width, int *column_spacer, int *column_count, int **column_width) |
BOM Snapshot Folder creation functions | |
| BOM_API int | BOM_create_snapshot (tag_t bom_window, const char *name, const char *desc, tag_t *snapshot_folder) |
BOM Baseline Functions | |
| BOM_API int | BOM_create_baseline (tag_t bom_window, const char *name, const char *desc, const char *rel_proc_name, const char *jobName, const char *jobDescription, tag_t *baseline_rev) |
| BOM_API int | BOM_create_baseline_with_baseline_label (tag_t bom_window, const char *name, const char *desc, const char *rel_proc_name, const char *jobName, const char *baseline_label_name, const char *jobDescription, tag_t *baseline_rev) |
| BOM_API int | BOM_dryrun_baseline (tag_t bom_window, const char *rel_proc_name, char **logFileName, char **fullLogFileName, logical *error_registered) |
BOM Post-Configuration functions | |
| BOM_API int | BOM_line_force_config (tag_t bomline, logical force_parents_too, int override_status) |
| BOM_API int | BOM_window_clear_all_forced_configs (tag_t bomwindow) |
| BOM_API int | BOM_start_forced_config (tag_t *transaction) |
| BOM_API int | BOM_end_forced_config (tag_t transaction) |
BOM Publish Functions | |
| BOM_API int | BOM_create_publish_link (const char *name, const char *type, tag_t source_line, int target_count, const tag_t *target_lines, tag_t *publishLink) |
| BOM_API int | BOM_publishlink_add_targets (tag_t source_line, int target_count, const tag_t *target_lines, tag_t *publishLink) |
| BOM_API int | BOM_publishlink_delete_targets (tag_t source_line, int target_count, const tag_t *target_lines, tag_t *publishLink) |
| BOM_API int | BOM_publishlink_find_targets_in_window (tag_t source_line, tag_t target_bom_window, int *targets_count, tag_t **target_lines) |
| BOM_API int | BOM_publish_data (tag_t source_line, int target_count, const tag_t *target_lines, const int data_flags, const char *publishLinkName, const char *publishLinkTypeName, tag_t *publishLink) |
| BOM_API int | BOM_delete_publishlink_for_source (tag_t source_line) |
| BOM_API int | BOM_publishlink_find_source_in_window (tag_t target_line, tag_t source_bom_window, tag_t *source_line) |
| BOM_API int | BOM_publishlink_delete_target (tag_t target_line, tag_t *publishLink) |
| BOM_API int | BOM_publishlink_ask_source_context_bv (tag_t target_line, tag_t *source_bom_view) |
| BOM_API int | BOM_ask_publishlink_for_source (tag_t source_line, tag_t *publish_link) |
| BOM_API int | BOM_ask_publishlink_for_target (tag_t target_line, tag_t *publish_link) |
The BOM module attempts to present a higher level interface to product structure than the PS module, at a level that is useful to the programmer writing a user interface to product structure manipulation.
This interface might be a Product Structure Editor on a workstation, or on a VT100 or PC, equally it might be a report – eg a bill of materials on a printer or a file to be exported to some other system.
Basically the BOM module has the concept of windows onto bills of material, which consist of lines containing attributes such as item name, structure revision, sequence number or user-defined attributes attached to items, item revisions, BOMViews, BOMView revisions and occurrences.
These windows may have different associated configuration rules, so the bills they display may overlap; it is the responsibility of the BOM module to ensure that changes made in one window are notified to users of other windows which happen to be displaying the same data. (Note that this refers to multiple windows within one session, this is not attempting to synchronise two separate sessions even if they happen to be displaying windows on the same X server display.)
The simple user of the BOM module, for example someone who wants to print an exploded bill, can write a program along the lines of:
where print_bill is a recursive routine that resembles:
The programmer writing a Product Structure Editor can create many BOM windows, can register callbacks for notification of changes to BOM lines within those windows and can do all the obvious operations on given BOM lines (create, delete, modify, enquire attributes).
Packing
There is a flag (which defaults to off) to say whether to pack all lines where possible. The user can call pack for any particular line, in which case it is collapsed with any matching lines in the same assembly. Matching is defined by a user-registered callback function, which is defaulted to one that compares IRFs and BVRs and if they match deem the lines to match. All lines have a pack count attribute, which will be zero for unpacked lines, and non-zero for the pack master line. Pack master lines may not be modified. Apart from the pack master line packed lines are not reported. If a line is packed it will become the master, and all others in the pack will disappear.
Definition in file bom.h.