ITK Function Reference

(12.1)
Modules | Macros | Functions
Persistent Object Manager (POM)

Modules

 Enquiry (ENQ)
 
 Errors
 
 Mapping
 
 Tokens
 
 User Authentication
 

Macros

#define NULLCLASS   ((tag_t)0)
 
#define NULLDATE   (POM_null_date())
 
#define NULLTAG   ((tag_t)0)
 

Functions

POMAPI int POM_acknowledge_error (int error_code)
 
POMAPI int POM_allocate_tag (tag_t *new_tag)
 
POMAPI int POM_append_attr_chars (int n_instances, const tag_t *instance_tags, tag_t attr_id, int n_values, const char *values)
 
POMAPI int POM_append_attr_dates (int n_instances, const tag_t *instance_tags, tag_t attr_id, int n_values, const date_t *values)
 
POMAPI int POM_append_attr_doubles (int n_instances, const tag_t *instance_tags, tag_t attr_id, int n_values, const double *values)
 
POMAPI int POM_append_attr_ints (int n_instances, const tag_t *instance_tags, tag_t attr_id, int n_values, const int *values)
 
POMAPI int POM_append_attr_logicals (int n_instances, const tag_t *instance_tags, tag_t attr_id, int n_values, const logical *values)
 
POMAPI int POM_append_attr_nulls (int n_instances, const tag_t *instance_tags, tag_t attr_id, int n_values)
 
POMAPI int POM_append_attr_strings (int n_instances, const tag_t *instance_tags, tag_t attr_id, int n_values, char **values)
 
POMAPI int POM_append_attr_tags (int n_instances, const tag_t *instance_tags, tag_t attr_id, int n_values, const tag_t *values)
 
POMAPI int POM_ask_accessor_instances (tag_t accessor, int *n_instances, tag_t **instances)
 
POMAPI int POM_ask_any_unsaved_info (logical *answer)
 
POMAPI int POM_ask_archive_date (tag_t instance, date_t *archive_date)
 
POMAPI int POM_ask_archive_info (tag_t instance, char **archive_info)
 
POMAPI int POM_ask_attr_char (tag_t instance_tag, tag_t attr_id, char *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_chars (tag_t instance_tag, tag_t attr_id, int start, int n_values, char **values, logical **is_it_null, logical **is_it_empty)
 
POMAPI int POM_ask_attr_date (tag_t instance_tag, tag_t attr_id, date_t *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_dates (tag_t instance_tag, tag_t attr_id, int start, int n_values, date_t **values, logical **is_it_null, logical **is_it_empty)
 
POMAPI int POM_ask_attr_double (tag_t instance_tag, tag_t attr_id, double *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_doubles (tag_t instance_tag, tag_t attr_id, int start, int n_values, double **values, logical **is_it_null, logical **is_it_empty)
 
POMAPI int POM_ask_attr_initial_char (tag_t class_id, tag_t attr_id, char *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_initial_date (tag_t class_id, tag_t attr_id, date_t *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_initial_double (tag_t class_id, tag_t attr_id, double *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_initial_int (tag_t class_id, tag_t attr_id, int *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_initial_logical (tag_t class_id, tag_t attr_id, logical *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_initial_string (tag_t class_id, tag_t attr_id, char **value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_initial_utc_date (tag_t class_id, tag_t attr_id, date_t *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_int (tag_t instance_tag, tag_t attr_id, int *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_ints (tag_t instance_tag, tag_t attr_id, int start, int n_values, int **values, logical **is_it_null, logical **is_it_empty)
 
POMAPI int POM_ask_attr_logical (tag_t instance_tag, tag_t attr_id, logical *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_logicals (tag_t instance_tag, tag_t attr_id, int start, int n_values, logical **values, logical **is_it_null, logical **is_it_empty)
 
POMAPI int POM_ask_attr_lower_char (tag_t class_id, tag_t attr_id, char *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_lower_date (tag_t class_id, tag_t attr_id, date_t *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_lower_double (tag_t class_id, tag_t attr_id, double *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_lower_int (tag_t class_id, tag_t attr_id, int *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_lower_string (tag_t class_id, tag_t attr_id, char **value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_lower_utc_date (tag_t class_id, tag_t attr_id, date_t *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_string (tag_t instance_tag, tag_t attr_id, char **value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_strings (tag_t instance_tag, tag_t attr_id, int start, int n_values, char ***values, logical **is_it_null, logical **is_it_empty)
 
POMAPI int POM_ask_attr_tag (tag_t instance_tag, tag_t attr_id, tag_t *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_tags (tag_t instance_tag, tag_t attr_id, int start, int n_values, tag_t **values, logical **is_it_null, logical **is_it_empty)
 
POMAPI int POM_ask_attr_upper_char (tag_t class_id, tag_t attr_id, char *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_upper_date (tag_t class_id, tag_t attr_id, date_t *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_upper_double (tag_t class_id, tag_t attr_id, double *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_upper_int (tag_t class_id, tag_t attr_id, int *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_upper_string (tag_t class_id, tag_t attr_id, char **value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_upper_utc_date (tag_t class_id, tag_t attr_id, date_t *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_utc_date (tag_t instance_tag, tag_t attr_id, date_t *value, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_ask_attr_utc_dates (tag_t instance_tag, tag_t attr_id, int start, int n_values, date_t **values, logical **is_it_null, logical **is_it_empty)
 
POMAPI int POM_ask_authenticated_groups (int *n_groups, tag_t **groups)
 
POMAPI int POM_ask_database_info (char **database_name, char **database_version, char **database_banner)
 
POMAPI int POM_ask_default_group (tag_t *group_tag)
 
POMAPI int POM_ask_domain_of_char (tag_t class_id, tag_t attr_id, int *n_values, char **values)
 
POMAPI int POM_ask_domain_of_date (tag_t class_id, tag_t attr_id, int *n_values, date_t **values)
 
POMAPI int POM_ask_domain_of_double (tag_t class_id, tag_t attr_id, int *n_values, double **values)
 
POMAPI int POM_ask_domain_of_int (tag_t class_id, tag_t attr_id, int *n_values, int **values)
 
POMAPI int POM_ask_domain_of_logical (tag_t class_id, tag_t attr_id, int *n_values, logical **values)
 
POMAPI int POM_ask_domain_of_string (tag_t class_id, tag_t attr_id, int *n_values, char ***values)
 
POMAPI int POM_ask_domain_of_tag (tag_t class_id, tag_t attr_id, int *n_values, tag_t **values)
 
POMAPI int POM_ask_earliest_date (date_t *value)
 
POMAPI int POM_ask_env_info (int what_to_ask_about, logical *logical_current_value, int *int_current_value, double *double_current_value, tag_t *tag_current_value, char **string_current_value)
 
POMAPI int POM_ask_group (char **group_name_string, tag_t *group_tag)
 
POMAPI int POM_ask_group_name (tag_t group, char **name)
 
POMAPI int POM_ask_group_tag (const char *group_name_string, tag_t *group_tag)
 
POMAPI int POM_ask_index_of_char (tag_t instance_tag, tag_t attr_id, char value, int *values_index)
 
POMAPI int POM_ask_index_of_date (tag_t instance_tag, tag_t attr_id, date_t value, int *values_index)
 
POMAPI int POM_ask_index_of_double (tag_t instance_tag, tag_t attr_id, double value, int *values_index)
 
POMAPI int POM_ask_index_of_int (tag_t instance_tag, tag_t attr_id, int value, int *values_index)
 
POMAPI int POM_ask_index_of_logical (tag_t instance_tag, tag_t attr_id, logical value, int *values_index)
 
POMAPI int POM_ask_index_of_null (tag_t instance_tag, tag_t attr_id, int *values_index)
 
POMAPI int POM_ask_index_of_string (tag_t instance_tag, tag_t attr_id, const char *value, int *values_index)
 
POMAPI int POM_ask_index_of_tag (tag_t instance_tag, tag_t attr_id, tag_t value, int *values_index)
 
POMAPI int POM_ask_instance_lock (tag_t instance, int *lock_token)
 
POMAPI int POM_ask_instance_state (tag_t instance, int *state_token)
 
POMAPI int POM_ask_instances_locks (int n_instances, const tag_t *instances, int **lock_token)
 
POMAPI int POM_ask_instances_states (int n_instances, const tag_t *instances, int **state_tokens)
 
POMAPI int POM_ask_latest_date (date_t *value)
 
POMAPI int POM_ask_logins (logical *enable_logins)
 
POMAPI int POM_ask_member (tag_t *member_tag)
 
POMAPI int POM_ask_owner (tag_t instance_tag, tag_t *user_tag, tag_t *group_tag)
 
POMAPI int POM_ask_retry_count (int *count)
 
POMAPI int POM_ask_server_info (int *node_type, char **node_name)
 
POMAPI int POM_ask_session (tag_t *session)
 
POMAPI int POM_ask_site_config_file (int index, logical leave_loaded, char **text, logical *has_changed)
 
POMAPI int POM_ask_top_class (tag_t *class_id)
 
POMAPI int POM_ask_user_default_group (tag_t user, tag_t *group_tag)
 
POMAPI int POM_ask_user_id (tag_t user, char **id)
 
POMAPI int POM_ask_user_name (tag_t user, char **name)
 
POMAPI int POM_ask_users_accessors (int n_user_accs, tag_t *user_accs, int *n_accessors, tag_t **accessors)
 
POMAPI int POM_attr_to_apid (tag_t class_id, tag_t attr_id, int *apid)
 
POMAPI int POM_auto_login (void)
 
POMAPI int POM_check_password (tag_t user_tag, const char *password_string, logical *answer)
 
POMAPI int POM_class_to_cpid (tag_t class_id, int *cpid)
 
POMAPI int POM_clear_attr (int n_instances, const tag_t *instance_tags, tag_t attr_id)
 
POMAPI int POM_compare_attr_ids (tag_t attr_id1, tag_t attr_id2, logical *answer)
 
POMAPI int POM_compare_class_ids (tag_t class_id1, tag_t class_id2, logical *answer)
 
POMAPI int POM_compare_dates (date_t date1, date_t date2, int *answer)
 
POMAPI int POM_convert_date (int conversion, date_t original_date, date_t *converted_date)
 
POMAPI int POM_copy_over (tag_t source, tag_t target)
 
POMAPI int POM_create_file (const char *application, int version, tag_t *file)
 
POMAPI int POM_dbname_of_att (tag_t class_id, tag_t attr_id, char **table, char **base)
 
POMAPI int POM_define_func_index (const char *index_name, tag_t class_id, int n_attrs, const tag_t *attr_ids, logical is_unique, const char *expr)
 
POMAPI int POM_delete_accessor (tag_t accessor)
 
POMAPI int POM_delete_group (tag_t a_group)
 
POMAPI int POM_delete_instances (int n_instances, const tag_t *instance_tags)
 
POMAPI int POM_delete_instances_by_enq (tag_t enquiry_id, int *n_instances, tag_t **instances)
 
POMAPI int POM_delete_member (tag_t a_member)
 
POMAPI int POM_delete_user (tag_t a_user)
 
POMAPI int POM_describe_class_index (const char *index_name, tag_t class_id, int *n_attrs, tag_t **attr_ids, int **pos, char ***expr)
 
POMAPI int POM_describe_error (int error_code, char **string)
 
POMAPI int POM_describe_token (int token, char **string)
 
POMAPI int POM_exit_module (void)
 
POMAPI int POM_file_add_instance (tag_t file, tag_t instance)
 
POMAPI int POM_file_add_unsaved_instance (tag_t file, tag_t instance)
 
POMAPI int POM_file_ask_candidate_keys (tag_t pom_file, int *n_key_strings, char ***key_strings)
 
POMAPI int POM_file_ask_contents (tag_t file, int *n_instances, tag_t **instances)
 
POMAPI int POM_file_ask_conv_attr_info (tag_t file, const char *class_name, int *count, char ***attrs, int **states)
 
POMAPI int POM_file_ask_conv_class_info (tag_t file, int *count, char ***classes, int **states)
 
POMAPI int POM_file_ask_data (tag_t file, tag_t class_id, tag_t instance, int *n_values, char ***values)
 
POMAPI int POM_file_ask_destination (tag_t file, tag_t *destination)
 
POMAPI int POM_file_ask_selected (tag_t file, int *n_instances, tag_t **instances)
 
POMAPI int POM_file_ask_xmit_file (const char *pathname, char **xmitname)
 
POMAPI int POM_file_is_included (tag_t file, tag_t instance, logical *is_included)
 
POMAPI int POM_file_is_recovered (tag_t file, tag_t instance, logical *is_recovered)
 
POMAPI int POM_file_recover_instance (tag_t file, tag_t instance)
 
POMAPI int POM_file_replace_tag (tag_t file, tag_t original_tag, tag_t replacement_tag)
 
POMAPI int POM_file_select_instance (tag_t file, tag_t instance)
 
POMAPI int POM_file_set_candidate_key (tag_t pom_file, tag_t instance, int n_attributes, const tag_t *attributes)
 
POMAPI int POM_file_set_data (tag_t file, tag_t class_id, tag_t instance, int n_values, char **values)
 
POMAPI int POM_file_set_destination (tag_t file, tag_t destination)
 
POMAPI int POM_file_set_stub_data (int n_entries, tag_t *tags, char **names, char **values)
 
POMAPI int POM_file_transfer_instance (tag_t file, tag_t instance)
 
POMAPI int POM_file_view_instance (tag_t file, tag_t instance)
 
POMAPI int POM_find_accessor (int n_instances, const tag_t *instances, tag_t *accessor)
 
POMAPI int POM_find_h_groups (const char *group_pattern, tag_t root_group, int *n_groups, tag_t **groups)
 
POMAPI int POM_free (void *space)
 
POMAPI int POM_freeze (tag_t instance_to_freeze)
 
POMAPI int POM_get_char_ordering (char **string)
 
POMAPI int POM_get_earliest_date (date_t *value)
 
POMAPI int POM_get_earliest_utc_date (date_t *value)
 
POMAPI int POM_get_latest_date (date_t *value)
 
POMAPI int POM_get_latest_utc_date (date_t *value)
 
POMAPI int POM_get_object_property (tag_t instance, int bit_to_get, logical *verdict)
 
POMAPI int POM_get_user (char **user_name_string, tag_t *user_tag)
 
POMAPI int POM_get_user_id (char **user_id_string)
 
POMAPI int POM_get_version (int *version)
 
POMAPI int POM_init_group (tag_t new_group, const char *name, int privilege)
 
POMAPI int POM_init_h_group (tag_t group, const char *name, int privilege, tag_t parent_group)
 
POMAPI int POM_init_member (tag_t new_member, tag_t user, tag_t group, logical as_ga)
 
POMAPI int POM_init_module (void)
 
POMAPI int POM_init_user (tag_t new_user, const char *user_id, const char *user_name, const char *password)
 
POMAPI int POM_insert_attr_chars (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const char *values)
 
POMAPI int POM_insert_attr_dates (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const date_t *values)
 
POMAPI int POM_insert_attr_doubles (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const double *values)
 
POMAPI int POM_insert_attr_ints (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const int *values)
 
POMAPI int POM_insert_attr_logicals (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const logical *values)
 
POMAPI int POM_insert_attr_nulls (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values)
 
POMAPI int POM_insert_attr_strings (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, char **values)
 
POMAPI int POM_insert_attr_tags (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const tag_t *values)
 
POMAPI int POM_instance_exists (tag_t instance_tag, logical *verdict)
 
POMAPI int POM_is_cached (tag_t instance, logical *is_cached)
 
POMAPI int POM_is_database_there (int *state)
 
POMAPI int POM_is_frozen (tag_t instance, logical *verdict)
 
POMAPI int POM_is_loaded (tag_t instance, logical *verdict)
 
POMAPI int POM_is_newly_created (tag_t instance, logical *answer)
 
POMAPI int POM_is_possible_earliest_date (const date_t *value, logical *result)
 
POMAPI int POM_is_possible_earliest_utc_date (const date_t *value, logical *result)
 
POMAPI int POM_is_running (logical *logged_in)
 
POMAPI int POM_is_sub_group (tag_t group, tag_t sub_group, logical *answer)
 
POMAPI int POM_is_tag_valid (tag_t tag, logical *answer)
 
POMAPI int POM_length_of_attr (tag_t instance, tag_t attr_id, int *length)
 
POMAPI int POM_list_connected_sessions (int *count, char ***descriptors)
 
POMAPI int POM_list_group_members (tag_t a_group, int *n_members, tag_t **members)
 
POMAPI int POM_load_class_extent (const char *aclass, int *n_instances, tag_t **instances, int lock_type)
 
POMAPI int POM_load_instances_possible_by_enquiry (const char *enq_id, const char *class_name, int *n_instances, tag_t **instances, int *n_failures, tag_t **failed_instances)
 
POMAPI int POM_location_of_instance (tag_t instance, tag_t *location)
 
POMAPI int POM_lock_instances_for_reference (unsigned int n_ref_instances, const tag_t *ref_instances, unsigned int *n_failed_ref_instances, tag_t **failed_ref_instances)
 
POMAPI int POM_login (const char *user_name, const char *password, const char *group_name)
 
POMAPI int POM_login_sponsored (const char *user_name, const char *password, const char *sponsored_user_name, const char *sponsored_group_name)
 
POMAPI int POM_logout (logical ignore_unsaved_stuff)
 
POMAPI int POM_look_for_lost_locks (int *n_lost, tag_t **lost, int **why, char ***who)
 
POMAPI int POM_lookup_imc (int site_id, tag_t *imc)
 
POMAPI int POM_modify_char (int n_instances, const tag_t *instance_tags, tag_t attr_id, char value)
 
POMAPI int POM_modify_char_by_enq (tag_t enquiry_id, tag_t attr_id, char value, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_chars (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const char *values)
 
POMAPI int POM_modify_chars_by_enq (tag_t enquiry_id, tag_t attr_id, int start, int n_values, const char *values, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_date (int n_instances, const tag_t *instance_tags, tag_t attr_id, date_t value)
 
POMAPI int POM_modify_date_by_enq (tag_t enquiry_id, tag_t attr_id, date_t value, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_dates (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const date_t *values)
 
POMAPI int POM_modify_dates_by_enq (tag_t enquiry_id, tag_t attr_id, int start, int n_values, const date_t *values, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_double (int n_instances, const tag_t *instance_tags, tag_t attr_id, double value)
 
POMAPI int POM_modify_double_by_enq (tag_t enquiry_id, tag_t attr_id, double value, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_doubles (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const double *values)
 
POMAPI int POM_modify_doubles_by_enq (tag_t enquiry_id, tag_t attr_id, int start, int n_values, const double *values, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_int (int n_instances, const tag_t *instance_tags, tag_t attr_id, int value)
 
POMAPI int POM_modify_int_by_enq (tag_t enquiry_id, tag_t attr_id, int value, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_ints (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const int *values)
 
POMAPI int POM_modify_ints_by_enq (tag_t enquiry_id, tag_t attr_id, int start, int n_values, const int *values, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_logical (int n_instances, const tag_t *instance_tags, tag_t attr_id, logical value)
 
POMAPI int POM_modify_logical_by_enq (tag_t enquiry_id, tag_t attr_id, logical value, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_logicals (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const logical *values)
 
POMAPI int POM_modify_logicals_by_enq (tag_t enquiry_id, tag_t attr_id, int start, int n_values, const logical *values, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_null (int n_instances, const tag_t *instance_tags, tag_t attr_id)
 
POMAPI int POM_modify_null_by_enq (tag_t enquiry_id, tag_t attr_id, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_nulls (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values)
 
POMAPI int POM_modify_nulls_by_enq (tag_t enquiry_id, tag_t attr_id, int start, int n_values, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_string (int n_instances, const tag_t *instance_tags, tag_t attr_id, const char *value)
 
POMAPI int POM_modify_string_by_enq (tag_t enquiry_id, tag_t attr_id, const char *value, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_strings (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, char **values)
 
POMAPI int POM_modify_strings_by_enq (tag_t enquiry_id, tag_t attr_id, int start, int n_values, char **values, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_tag (int n_instances, const tag_t *instance_tags, tag_t attr_id, tag_t value)
 
POMAPI int POM_modify_tag_by_enq (tag_t enquiry_id, tag_t attr_id, tag_t value, int *n_instances, tag_t **instances)
 
POMAPI int POM_modify_tags (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const tag_t *values)
 
POMAPI int POM_modify_tags_by_enq (tag_t enquiry_id, tag_t attr_id, int start, int n_values, const tag_t *values, int *n_instances, tag_t **instances)
 
POMAPI int POM_new_group (const char *name, int privilege, tag_t *new_group)
 
POMAPI int POM_new_h_group (const char *name, int privilege, tag_t parent_group, tag_t *new_group)
 
POMAPI int POM_new_member (tag_t user, tag_t group, logical as_ga, tag_t *new_member)
 
POMAPI int POM_new_user (const char *user_id, const char *user_name, const char *password, tag_t *new_user)
 
POMAPI date_t POM_null_date (void)
 
POMAPI date_tPOM_null_date_ptr (void)
 
POMAPI int POM_order_instances (tag_t class_id, int n_instances, const tag_t *instances, int n_attrs, const tag_t *attr_ids, const int *up_or_down_tokens, tag_t **ordered_instances)
 
POMAPI int POM_pack_strings (int n_strings, char **strings, char ***packed_strings)
 
POMAPI int POM_preinit_pattern_match (int pattern)
 
POMAPI int POM_read_file (const char *pathname, char **application, int *version, tag_t *file)
 
POMAPI int POM_refresh_instances (int n_instances, const tag_t *instances, tag_t class_to_load_as, int lock_type)
 
POMAPI int POM_refresh_instances_any_class (int n_instances, const tag_t *instances, int lock_type)
 
POMAPI int POM_regen_schema_file (const char *initial_user, const char *initial_password, const char *initial_group)
 
POMAPI int POM_remove_from_attr (int n_instances, const tag_t *instances, tag_t attr_id, int position, int number)
 
POMAPI int POM_reorder_attr (int n_instances, const tag_t *instances, tag_t attr_id, int start, int number, int newstart)
 
POMAPI int POM_replace_string_value (const char *class_name, const char *attr_name, const char *old_str_value, const char *new_str_value, logical match_exact_value)
 
POMAPI int POM_revert_attr (const tag_t instance, tag_t attr_id)
 
POMAPI int POM_set_archive_date (tag_t instance, date_t archive_date)
 
POMAPI int POM_set_archive_date_null (tag_t instance)
 
POMAPI int POM_set_archive_info (tag_t instance, const char *archive_info)
 
POMAPI int POM_set_archive_info_null (tag_t instance)
 
POMAPI int POM_set_attr_char (int n_instances, const tag_t *instance_tags, tag_t attr_id, char value)
 
POMAPI int POM_set_attr_chars (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const char *values)
 
POMAPI int POM_set_attr_date (int n_instances, const tag_t *instance_tags, tag_t attr_id, date_t value)
 
POMAPI int POM_set_attr_dates (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const date_t *values)
 
POMAPI int POM_set_attr_double (int n_instances, const tag_t *instance_tags, tag_t attr_id, double value)
 
POMAPI int POM_set_attr_doubles (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const double *values)
 
POMAPI int POM_set_attr_int (int n_instances, const tag_t *instance_tags, tag_t attr_id, int value)
 
POMAPI int POM_set_attr_ints (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const int *values)
 
POMAPI int POM_set_attr_logical (int n_instances, const tag_t *instance_tags, tag_t attr_id, logical value)
 
POMAPI int POM_set_attr_logicals (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const logical *values)
 
POMAPI int POM_set_attr_null (int n_instances, const tag_t *instance_tags, tag_t attr_id)
 
POMAPI int POM_set_attr_nulls (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values)
 
POMAPI int POM_set_attr_string (int n_instances, const tag_t *instance_tags, tag_t attr_id, const char *value)
 
POMAPI int POM_set_attr_strings (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, char **values)
 
POMAPI int POM_set_attr_tag (int n_instances, const tag_t *instance_tags, tag_t attr_id, tag_t value)
 
POMAPI int POM_set_attr_tags (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const tag_t *values)
 
POMAPI int POM_set_attr_utc_date (int n_instances, const tag_t *instance_tags, tag_t attr_id, date_t value)
 
POMAPI int POM_set_attr_utc_dates (int n_instances, const tag_t *instance_tags, tag_t attr_id, int start, int n_values, const date_t *values)
 
POMAPI int POM_set_backup_date (tag_t instance, date_t backup_date)
 
POMAPI int POM_set_creation_date (tag_t instance, date_t creation_date)
 
POMAPI int POM_set_creation_utc_date (tag_t instance, date_t creation_date)
 
POMAPI int POM_set_default_group (tag_t group_tag)
 
POMAPI int POM_set_env_info (int what_to_set, logical logical_value_to_set, int int_value_to_set, double double_value_to_set, tag_t tag_value_to_set, const char *string_value_to_set)
 
POMAPI int POM_set_group (const char *group_name_string, tag_t *group_tag)
 
POMAPI int POM_set_group_by_tag (tag_t group_tag)
 
POMAPI int POM_set_group_name (tag_t group, const char *name)
 
POMAPI int POM_set_group_parent (tag_t group, tag_t parent)
 
POMAPI int POM_set_group_privilege (tag_t group, int privilege)
 
POMAPI int POM_set_instance_location (tag_t instance, tag_t location)
 
POMAPI int POM_set_logins (logical enable_logins)
 
POMAPI int POM_set_member_group (tag_t member, tag_t group)
 
POMAPI int POM_set_member_is_ga (tag_t member, logical is_ga)
 
POMAPI int POM_set_member_user (tag_t member, tag_t user)
 
POMAPI int POM_set_modification_date (tag_t instance, date_t modification_date)
 
POMAPI int POM_set_modification_user (tag_t instance, tag_t modification_user)
 
POMAPI int POM_set_modification_utc_date (tag_t instance, date_t modification_date)
 
POMAPI int POM_set_object_property (tag_t instance, int bit_to_set, logical value)
 
POMAPI int POM_set_owners (int n_instances, tag_t *instances, tag_t owning_user, tag_t owning_group)
 
POMAPI int POM_set_owning_group (tag_t instance, tag_t group)
 
POMAPI int POM_set_owning_user (tag_t instance, tag_t user)
 
POMAPI int POM_set_password (tag_t user_tag, const char *old_password_string, const char *new_password_string)
 
POMAPI int POM_set_retry_count (int count)
 
POMAPI int POM_set_retry_interval (int retry_interval)
 
POMAPI int POM_set_site_config_file (int index, const char *text)
 
POMAPI int POM_set_user_default_group (tag_t user, tag_t group_tag)
 
POMAPI int POM_set_user_id (tag_t user, const char *id)
 
POMAPI int POM_set_user_license_status (tag_t a_user, int new_status, int license_level, int *purchased, int *used)
 
POMAPI int POM_set_user_license_status2 (tag_t a_user, int new_status, int license_level, const char *license_bundle, int *purchased, int *used)
 
POMAPI int POM_set_user_license_status_with_server (tag_t a_user, int new_status, int license_level, const char *license_bundle, const char *license_server, int *purchased, int *used)
 
POMAPI int POM_set_user_name (tag_t user, const char *name)
 
POMAPI int POM_site_id (int *site)
 
POMAPI int POM_sql_drop_view (const char *view_name)
 
POMAPI int POM_sql_view_exists (const char *view_name, logical *answer)
 
POMAPI int POM_sql_view_of_class (tag_t class_id, int n_attrs, const tag_t *attr_ids, char **column_names, const char *view_name)
 
POMAPI int POM_start (const char *user_name, const char *password, const char *group_name, tag_t *user_tag, tag_t *topmost_class_id, int *pom_version)
 
POMAPI int POM_stop (logical ignore_unsaved_stuff)
 
POMAPI int POM_string_to_token (const char *string, int *token)
 
POMAPI int POM_tag_to_uid (tag_t tag, char **string)
 
POMAPI int POM_type_of_att (tag_t class_id, tag_t attr_id, int *type)
 
POMAPI int POM_unfreeze (tag_t instance_to_unfreeze)
 
POMAPI int POM_unload_file (tag_t file)
 
POMAPI int POM_unload_instances (int n_instances, const tag_t *instance_tags)
 
POMAPI int POM_unlock_reference_instances (unsigned int n_ref_instances, const tag_t *ref_instances)
 
POMAPI int POM_who_locked_instance (tag_t inst, char **user_name, date_t *login_date, char **node_name)
 
POMAPI int POM_who_locked_instances (int n_instances, tag_t *insts, logical **is_modify_locked, char ***user_names, date_t **login_dates, char ***node_names)
 
POMAPI int POM_write_file (tag_t file, const char *pathname, int os_protection)
 
POMAPI int POM_write_transmit_file (void)
 

Some maxima

#define POM_MAX_NAME_LENGTH   27
 
#define POM_MAX_ATTR_ARRAY_LENGTH   INT_MAX
 
#define POM_MAX_MAX_STRING_LENGTH   4000
 
#define POM_MAX_INDEXED_STRING_LENGTH   450
 
#define POM_MAX_NOTE_LENGTH   4000
 
#define POM_MAX_ATTRS_IN_CLASS   1000
 
#define POM_MAX_TOTAL_ATTRS_IN_CLASS   1000
 
#define POM_MAX_ATTRS_IN_INDEX   16
 
#define POM_MAX_IN_UNIQUE_SET   16
 
#define POM_MAX_ATTRS_IN_ENQUIRY   50
 
#define POM_MAX_ATTRS_IN_ORDER   127
 
#define POM_MAX_ENQUIRIES   99999
 
#define POM_MAX_INSTANCES   100
 
#define POM_license_level_author   0
 
#define POM_license_level_consumer   1
 
#define POM_license_level_occasional   2
 
#define POM_license_level_viewer   3
 
#define POM_license_level_user   4
 
#define POM_license_level_admin   5
 
#define POM_license_level_max   5
 

Valid input parameters for the #POM_set_user_license_status ITK

#define POM_USER_STATUS_ACTIVE   0
 
#define POM_USER_STATUS_INACTIVE   1
 

Basic POM Functions

Columns names made public via pom_tokens.inc (for generating sql).Error codes returned by POM Input tokens Macro commands

POMAPI int POM_define_index (const char *index_name, tag_t class_id, int n_attrs, const tag_t *attr_ids, logical is_unique)
 
POMAPI int POM_remove_index (const char *index_name, tag_t class_id)
 
POMAPI int POM_superclasses_of_class (tag_t class_id, int *n_ids, tag_t **superclass_ids)
 
POMAPI int POM_subclasses_of_class (tag_t class_id, int *n_ids, tag_t **subclass_ids)
 
POMAPI int POM_is_descendant (tag_t class_id, tag_t sub_class_id, logical *answer)
 
POMAPI int POM_class_id_of_class (const char *class_name, tag_t *class_id)
 
POMAPI int POM_does_class_exist (const char *class_name, logical *exists)
 
POMAPI int POM_name_of_class (tag_t class_id, char **class_name)
 
POMAPI int POM_describe_class (tag_t class_id, int n_names, char **attr_names, char **application_name, int *descriptor, int *n_attrs, tag_t **attr_ids)
 
POMAPI int POM_describe_attrs (tag_t class_id, int n_attrs, const tag_t *attr_ids, char ***names, int **types, int **max_string_lengths, tag_t **referenced_classes, int **lengths, int **descriptors, int **attr_failures)
 
POMAPI int POM_describe_index (const char *index_name, tag_t class_id, int *n_attrs, tag_t **attr_ids)
 
POMAPI int POM_indexes_of_class (tag_t class_id, int *n_indexes, char ***index_names)
 
POMAPI int POM_indexes_of_attr (tag_t class_id, tag_t attr_id, int *n_indexes, char ***index_names)
 

POM Functions for Instances

POMAPI int POM_refresh_required (tag_t instance, logical *verdict)
 
POMAPI int POM_save_required (tag_t instance, logical *verdict)
 
POMAPI int POM_modifiable (tag_t instance, logical *verdict)
 
POMAPI int POM_attr_id_of_attr (const char *attr_name, const char *class_name, tag_t *attr_id)
 
POMAPI int POM_attr_exists (const char *attr_name, const char *class_name, logical *exists)
 
POMAPI int POM_instances_of_class (tag_t class_id, logical include_subclasses, int *n_instances, tag_t **instance_tags)
 
POMAPI int POM_class_of_instance (tag_t instance_tag, tag_t *class_id)
 
POMAPI int POM_loaded_class_of_instance (tag_t instance_tag, tag_t *class_id)
 
POMAPI int POM_negate_enquiry (tag_t enquiry_id, tag_t *new_enquiry_id)
 
POMAPI int POM_scope_enquiry (tag_t enquiry_id, tag_t scope)
 
POMAPI int POM_select_instances (int n_instances, const tag_t *instance_tags, int n_attrs, const tag_t *attr_ids, tag_t class_to_load_as, int lock_type)
 
POMAPI int POM_select_instances_by_enq (tag_t enquiry_id, int n_attrs, const tag_t *attr_ids, tag_t class_to_load_as, int lock_type, int *n_instances, tag_t **instances)
 
POMAPI int POM_referencers_of_instance (tag_t instance_tag, int n_levels, int where_to_search, int *n_instances, tag_t **ref_instances, int **instance_levels, int **instance_where_found, int *n_classes, tag_t **ref_classes, int **class_levels, int **class_where_found)
 
POMAPI int POM_create_instance (tag_t class_id, tag_t *instance_tag)
 
POMAPI int POM_copy_instances (int n_instances, const tag_t *instance_tags, tag_t **new_instances)
 
POMAPI int POM_save_instances (int n_instances, const tag_t *instance_tags, logical whether_to_unload)
 
POMAPI int POM_load_instances_any_class (int n_instances, const tag_t *instances, int lock_type)
 
POMAPI int POM_load_instances (int n_instances, const tag_t *instance_tags, tag_t class_to_load_as, int lock_type)
 
POMAPI int POM_load_instances_possible (int n_instances, const tag_t *instances, int *n_ret_instances, tag_t **ret_instances)
 
POMAPI int POM_load_instances_by_enq (tag_t enquiry_id, tag_t class_to_load_as, int lock_type, int *n_instances, tag_t **instances)
 

POM Functions for Users and Groups

POMAPI int POM_is_user_sa (logical *verdict)
 
POMAPI int POM_is_user_ga (tag_t group, logical *verdict)
 

POM System Functions

POMAPI int POM_place_markpoint (int *markpoint_number)
 
POMAPI int POM_roll_to_markpoint (int markpoint_number, logical *state_has_changed)
 
POMAPI int POM_forget_markpoint (int markpoint_number)
 
POMAPI int POM_cache_for_session (tag_t *value)
 
POMAPI int POM_install_application (const char *name, const char *password)
 
POMAPI int POM_is_application_installed (const char *application_name, const char *application_password, logical *result)
 
POMAPI int POM_register_application (const char *application_name, const char *application_password, int *application_id, int *application_code)
 
POMAPI int POM_is_application_registered (const char *application_name, const char *application_password, logical *result)
 
POMAPI int POM_identify_application (int application_id, int application_code, logical permission)
 
POMAPI int POM_is_application_identified (int application_id, int application_code, logical *result)
 
POMAPI int POM_check_reference (tag_t instance_tag, tag_t attr_id, tag_t *class_id_of_reference, logical *is_it_null, logical *is_it_empty)
 
POMAPI int POM_set_timeout (double timeout_value)
 
POMAPI int POM_ask_timeout (double *timeout_value)
 
POMAPI int POM_explain_last_error (int *error_code, int *argument_number, char **function_name, char **explanation)
 

Miscellaneous POM Functions

POMAPI int POM_tag_to_string (tag_t tag, char **string)
 
POMAPI int POM_string_to_tag (const char *string, tag_t *tag)
 
POMAPI int POM_uids_to_tags (const int n_uids, const char **uids, const tag_t cparam, const int *cpids, tag_t **tags)
 

Detailed Description

The Persistent Object Manager (POM) forms part of the Data Management architectural layer of the ITK. POM provides the interface between the object-oriented design methodology of the Teamcenter applications and the Relational Database Management System (RDBMS) upon which it is implemented.

It is suggested that AOM be used by code using Teamcenter supplied classes (i.e., datasets, Items, etc.) and POM be used directly when dealing with your extensions to the schema.

For example, a Form can use a POM class to store the data. Any searches or reports against the same must be done through POM since the AOM only loads classes known to the C++ encapsulation. This layer cannot be user extended at present.

Also, the POM should not be used directly against AOM loaded classes since the correspondence between the POM object and its C++ encapsulation can be broken (with unpredictable results).

Note
POM ITK module does not support relations (typed or untyped) for tag data types.

The Initial Data Model The following paragraphs describe the POM's initial data model.
This consists of the "basic types" and the Core Objects and Attributes.

Basic Types

Type Description
short Integer attribute (C two byte signed short). Access via POM int functions.
float Real attributes (C single precision floating point). Access via POM double functions.
note Note attributes are used for long text fields (up to 1950 bytes). These can be longer than regular strings, but involve storage overhead. Access via POM string functions.
int Integer attributes (C four byte signed integer). Access via POM int functions.
double Real attributes (C double precision floating point). Access via POM double functions.
char Char attributes (C single byte character). Access via POM char functions.
string String attributes (C strings). Access via POM string functions.
tag Tag attributes (tags are used as references to POM instances and classes). Defined in unidefs.h. Access via POM tag functions.
logicalLogical attributes (true/false state). Defined in unidefs.h. Access via POM logical functions.
date Date attributes. Year (four digits), month (zero to eleven), day (one to thirty-one) hour (zero to twenty three), minutes and seconds (both zero to fifty nine), and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900). Defined in unidefs.h. Access via POM date functions.

Fixed and variable length arrays of these also exist.

There are also the types:

Attributes cannot hold values of these types; they are available purely at the level of the POM interface.

Core Classes

This topic shows the initial classes and their attribute definitions, in the syntax which would be used to define them in a textual definition file if they didn't already exist.

database class POM_object

    superclass OM_tagged_object
    private POM
    uninstantiable

attribute pid

    int
    attribute timestamp
    string []
database class POM_system_class

superclass POM_object
private POM
uninstantiable
database class POM_application_object

    superclass POM_object
    private POM

attribute owning_user

    untyped_reference
    public_read

attribute owning_group

    untyped_reference
    public_read

attribute acl_bits

    int

attribute creation_date

    date
    public_read

attribute last_mod_date

    date
    public_read

attribute last_mod_user

    untyped_reference
    public_read

attribute archive_date

    date
    NULL_valid
    initial_value
    public_read

attribute archive_info

    string [127]

attribute backup_date

    date
    NULL_valid
    initial_value
    public_read
database class POM_group

    superclass POM_system_class
    private USER

attribute name

    string [31]
    public_read
    NULL_valid
    unique

attribute privilege

    int
    public_read
    NULL_valid
database class POM_user

    superclass POM_system_class
    private USER

attribute user_id

    string [31]
    public_read
    NULL_valid
    unique

attribute password

    string [31]
    NULL_valid

attribute user_name

    string [127]
    public_read
    NULL_valid

attribute status

    int
    public_read
    NULL_valid

attribute def_acl

    int
    NULL_valid

attribute default_group

    ext_reference
    public_read
    NULL_valid
database class POM_member

    superclass POM_system_class
    private USER

attribute user

    typed_reference POM_user
    public_read
    NULL_valid

attribute group

    typed_reference POM_group
    public_read
    NULL_valid

attribute ga

    logical
    public_read
    NULL_valid

Macro Definition Documentation

#define NULLCLASS   ((tag_t)0)

Definition at line 300 of file pom.h.

#define NULLDATE   (POM_null_date())

Definition at line 301 of file pom.h.

#define NULLTAG   ((tag_t)0)

Definition at line 299 of file pom.h.

#define POM_license_level_admin   5

Definition at line 369 of file pom.h.

#define POM_license_level_author   0

Define license_level symbolic names PR6433704 - Moved from pom.h. To be deprecated soon after we introduce set user license status API in sa module.

Definition at line 364 of file pom.h.

#define POM_license_level_consumer   1

Definition at line 365 of file pom.h.

#define POM_license_level_max   5

Definition at line 370 of file pom.h.

#define POM_license_level_occasional   2

Definition at line 366 of file pom.h.

#define POM_license_level_user   4

Definition at line 368 of file pom.h.

#define POM_license_level_viewer   3

Definition at line 367 of file pom.h.

#define POM_MAX_ATTR_ARRAY_LENGTH   INT_MAX

Definition at line 311 of file pom.h.

#define POM_MAX_ATTRS_IN_CLASS   1000

Attributes defined in a class. (Limited by columns in table, and columns in view, so actually long arrays and transient attributes shouldn't count towards these)

Definition at line 331 of file pom.h.

#define POM_MAX_ATTRS_IN_ENQUIRY   50

Predicates in 'where' clause (number of enquiries which can be combined) (Arrays count once per element in enquiry, plus once for join)

Definition at line 351 of file pom.h.

#define POM_MAX_ATTRS_IN_INDEX   16

Attributes in index limited by DB columns in index

Definition at line 341 of file pom.h.

#define POM_MAX_ATTRS_IN_ORDER   127

Attributes in 'order by' clause

Definition at line 354 of file pom.h.

#define POM_MAX_ENQUIRIES   99999

Definition at line 356 of file pom.h.

#define POM_MAX_IN_UNIQUE_SET   16

Attributes in unique set limited by DB columns in index

Definition at line 344 of file pom.h.

#define POM_MAX_INDEXED_STRING_LENGTH   450

Maximum length of an indexed string attribute. Limitation based on MSSQL support where maximum index key size is 900 bytes. This translates to 450 NVARCHAR characters.

Definition at line 321 of file pom.h.

#define POM_MAX_INSTANCES   100

Limited by length of 'in' clause

Definition at line 359 of file pom.h.

#define POM_MAX_MAX_STRING_LENGTH   4000

Maximum length of a string attribute. (Oracle CHAR limit)

Definition at line 314 of file pom.h.

#define POM_MAX_NAME_LENGTH   27

Class and attribute name length same as OM

Definition at line 309 of file pom.h.

#define POM_MAX_NOTE_LENGTH   4000

Maximum length of a string attribute. (Oracle CHAR limit)

Definition at line 324 of file pom.h.

#define POM_MAX_TOTAL_ATTRS_IN_CLASS   1000

Attributes defined in class and all its superclass. (Limited by columns in table, and columns in view, so actually long arrays and transient attributes shouldn't count towards these)

Definition at line 338 of file pom.h.

#define POM_USER_STATUS_ACTIVE   0

Definition at line 378 of file pom.h.

#define POM_USER_STATUS_INACTIVE   1

Definition at line 379 of file pom.h.

Function Documentation

POMAPI int POM_acknowledge_error ( int  error_code)

Verifies if the input error code is the last error encountered in POM.


Supports rollback using markpoints: YES.

Parameters
error_code(I) POM error code
POMAPI int POM_allocate_tag ( tag_t new_tag)

Allocates a new tag value.


Supports rollback using markpoints: NO.

Parameters
new_tag(O) Value of tag allocated
POMAPI int POM_append_attr_chars ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  n_values,
const char *  values 
)

Adds the specified values to the end of the specified VLAs.

VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to append the specified values to
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) ID of the VLA attribute
n_values(I) Number of values to be appended
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_append_attr_dates ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  n_values,
const date_t values 
)

Adds the specified values to the end of the specified VLAs.

VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance with a VLA attribute is created, that VLA attribute is initialized to zero length.

Note
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to append the specified values to
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) ID of the VLA attribute
n_values(I) Number of values to be appended
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_append_attr_doubles ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  n_values,
const double *  values 
)

Adds the specified values to the end of the specified VLAs.

VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to append the specified values to
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) ID of the VLA attribute
n_values(I) Number of values to be appended
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_append_attr_ints ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  n_values,
const int *  values 
)

Adds the specified values to the end of the specified VLAs.

VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to append the specified values to
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) ID of the VLA attribute
n_values(I) Number of values to be appended
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_append_attr_logicals ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  n_values,
const logical values 
)

Adds the specified values to the end of the specified VLAs.

VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to append the specified values to
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) ID of the VLA attribute
n_values(I) Number of values to be appended
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_append_attr_nulls ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  n_values 
)
Parameters
n_instances(I)
instance_tags(I) n_instances
attr_id(I)
n_values(I)
POMAPI int POM_append_attr_strings ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  n_values,
char **  values 
)

Adds the specified values to the end of the specified VLAs.

VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to append the specified values to
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) ID of the VLA attribute
n_values(I) Number of values to be appended
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_append_attr_tags ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  n_values,
const tag_t values 
)

Adds the specified values to the end of the specified VLAs.

VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to append the specified values to
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) ID of the VLA attribute
n_values(I) Number of values to be appended
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_ask_accessor_instances ( tag_t  accessor,
int *  n_instances,
tag_t **  instances 
)

Returns the tag associated with a POM accessor; refreshes the accessor instance (therefore it need not be loaded for this call).


Supports rollback using markpoints: YES.

Parameters
accessor(I) Accessor instance
n_instances(O) Number of tags represented in accessor
instances(OF) n_instances Tags of the accessor
POMAPI int POM_ask_any_unsaved_info ( logical answer)

This function is used to determine whether there are any POM instances that have been modified and not yet saved. This includes all newly created instances.


Supports rollback using markpoints: YES.

Parameters
answer(O) True or false
POMAPI int POM_ask_archive_date ( tag_t  instance,
date_t archive_date 
)

Returns the date that the instance was archived. The instance must be loaded. The date returned by this function will be in local time.


Supports rollback using markpoints: YES.

Parameters
instance(I)
archive_date(O)
POMAPI int POM_ask_archive_info ( tag_t  instance,
char **  archive_info 
)

Returns the archive information string associated with the instance. The instance must be loaded.


Supports rollback using markpoints: YES.

Parameters
instance(I)
archive_info(OF)
POMAPI int POM_ask_attr_char ( tag_t  instance_tag,
tag_t  attr_id,
char *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the specified attribute, for the specified instance.

Returns attribute values for loaded instances only. POM_ask_attr_char will return the attribute's current value for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
value(O) Single value
is_it_null(O) Single flag or array of flags to indicate which values are NULL
is_it_empty(O) Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_chars ( tag_t  instance_tag,
tag_t  attr_id,
int  start,
int  n_values,
char **  values,
logical **  is_it_null,
logical **  is_it_empty 
)

Returns n_values of values of the specified array-valued attribute, for the specified instance, starting from the position start.

Returns attribute values for loaded instances only.

POM_ask_attr_char will return the attribute's current value for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
start(I) Position of the first array value to ask (for array returns only)
n_values(I) Number of values in array (for array returns only)
values(OF) n_values Single value or array of (not NULL and not empty) attribute values
is_it_null(OF) n_values Single flag or array of flags to indicate which values are NULL
is_it_empty(OF) n_values Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_date ( tag_t  instance_tag,
tag_t  attr_id,
date_t value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the specified attribute, for the specified instance.

Returns attribute values for loaded instances only.

POM_ask_attr_date will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.

Note
This function returns date in local time.
See Also
POM_ask_attr_utc_date


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
value(O) Single value
is_it_null(O) Single flag or array of flags to indicate which values are NULL
is_it_empty(O) Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_dates ( tag_t  instance_tag,
tag_t  attr_id,
int  start,
int  n_values,
date_t **  values,
logical **  is_it_null,
logical **  is_it_empty 
)

Returns n_values of values of the specified array-valued attribute, for the specified instance, starting from the position start.

Returns attribute values for loaded instances only.

POM_ask_attr_dates will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.

Note
This function returns date in local time.
See Also
POM_ask_attr_utc_dates


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
start(I) Position of the first array value to ask (for array returns only)
n_values(I) Number of values in array (for array returns only)
values(OF) n_values Single value or array of (not NULL and not empty) attribute values
is_it_null(OF) n_values Single flag or array of flags to indicate which values are NULL
is_it_empty(OF) n_values Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_double ( tag_t  instance_tag,
tag_t  attr_id,
double *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the specified attribute, for the specified instance.

Returns attribute values for loaded instances only.

POM_ask_attr_double will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
value(O) Single value
is_it_null(O) Single flag or array of flags to indicate which values are NULL
is_it_empty(O) Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_doubles ( tag_t  instance_tag,
tag_t  attr_id,
int  start,
int  n_values,
double **  values,
logical **  is_it_null,
logical **  is_it_empty 
)

Returns n_values of values of the specified array-valued attribute, for the specified instance, starting from the position start.

Returns attribute values for loaded instances only.

POM_ask_attr_doubles will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
start(I) Position of the first array value to ask (for array returns only)
n_values(I) Number of values in array (for array returns only)
values(OF) n_values Single value or array of (not NULL and not empty) attribute values
is_it_null(OF) n_values Single flag or array of flags to indicate which values are NULL
is_it_empty(OF) n_values Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_initial_char ( tag_t  class_id,
tag_t  attr_id,
char *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the initial value for an attribute which has been defined to have an initial value.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_initial_date ( tag_t  class_id,
tag_t  attr_id,
date_t value,
logical is_it_null,
logical is_it_empty 
)

Returns the initial value for an attribute which has been defined to have an initial value.

Note
These functions return the date in local time.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_initial_double ( tag_t  class_id,
tag_t  attr_id,
double *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the initial value for an attribute which has been defined to have an initial value.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_initial_int ( tag_t  class_id,
tag_t  attr_id,
int *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the initial value for an attribute which has been defined to have an initial value.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_initial_logical ( tag_t  class_id,
tag_t  attr_id,
logical value,
logical is_it_null,
logical is_it_empty 
)

Returns the initial value for an attribute which has been defined to have an initial value.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_initial_string ( tag_t  class_id,
tag_t  attr_id,
char **  value,
logical is_it_null,
logical is_it_empty 
)

Returns the initial value for an attribute which has been defined to have an initial value.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(OF)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_initial_utc_date ( tag_t  class_id,
tag_t  attr_id,
date_t value,
logical is_it_null,
logical is_it_empty 
)

Returns the initial value for an attribute which has been defined to have an initial value.

Note
These functions return the date in UTC time.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_int ( tag_t  instance_tag,
tag_t  attr_id,
int *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the specified attribute, for the specified instance.

Returns attribute values for loaded instances only.

POM_ask_attr_int will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
value(O) Single value
is_it_null(O) Single flag or array of flags to indicate which values are NULL
is_it_empty(O) Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_ints ( tag_t  instance_tag,
tag_t  attr_id,
int  start,
int  n_values,
int **  values,
logical **  is_it_null,
logical **  is_it_empty 
)

Returns n_values of values of the specified array-valued attribute, for the specified instance, starting from the position start.

Returns attribute values for loaded instances only.

POM_ask_attr_ints will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
start(I) Position of the first array value to ask (for array returns only)
n_values(I) Number of values in array (for array returns only)
values(OF) n_values Single value or array of (not NULL and not empty) attribute values
is_it_null(OF) n_values Single flag or array of flags to indicate which values are NULL
is_it_empty(OF) n_values Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_logical ( tag_t  instance_tag,
tag_t  attr_id,
logical value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the specified attribute, for the specified instance.

Returns attribute values for loaded instances only.

POM_ask_attr_logical will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
value(O) Single value
is_it_null(O) Single flag or array of flags to indicate which values are NULL
is_it_empty(O) Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_logicals ( tag_t  instance_tag,
tag_t  attr_id,
int  start,
int  n_values,
logical **  values,
logical **  is_it_null,
logical **  is_it_empty 
)

Returns n_values of values of the specified array-valued attribute, for the specified instance, starting from the position start.

Returns attribute values for loaded instances only.

POM_ask_attr_logicals will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
start(I) Position of the first array value to ask (for array returns only)
n_values(I) Number of values in array (for array returns only)
values(OF) n_values Single value or array of (not NULL and not empty) attribute values
is_it_null(OF) n_values Single flag or array of flags to indicate which values are NULL
is_it_empty(OF) n_values Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_lower_char ( tag_t  class_id,
tag_t  attr_id,
char *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the lower-bound for an attribute which has been defined to have a lower-bound.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_lower_date ( tag_t  class_id,
tag_t  attr_id,
date_t value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the lower-bound for an attribute which has been defined to have a lower-bound.

Note
These functions return the date in local time.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_lower_double ( tag_t  class_id,
tag_t  attr_id,
double *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the lower-bound for an attribute which has been defined to have a lower-bound.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_lower_int ( tag_t  class_id,
tag_t  attr_id,
int *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the lower-bound for an attribute which has been defined to have a lower-bound.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_lower_string ( tag_t  class_id,
tag_t  attr_id,
char **  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the lower-bound for an attribute which has been defined to have a lower-bound.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(OF)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_lower_utc_date ( tag_t  class_id,
tag_t  attr_id,
date_t value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the lower-bound for an attribute which has been defined to have a lower-bound.

Note
This function returns date in UTC time.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_string ( tag_t  instance_tag,
tag_t  attr_id,
char **  value,
logical is_it_null,
logical is_it_empty 
)

POM_ask_attr_string will return the attribute's current value for the given instance.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
value(OF) Single value
is_it_null(O) Single flag or array of flags to indicate which values are NULL
is_it_empty(O) Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_strings ( tag_t  instance_tag,
tag_t  attr_id,
int  start,
int  n_values,
char ***  values,
logical **  is_it_null,
logical **  is_it_empty 
)

Returns values of the specified array-valued attribute, for the specified instance, starting from the position start.

POM_ask_attr_strings will return the attribute's current value for the given instance.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
start(I) Position of the first array value to ask (for array returns only)
n_values(I) Number of values in array (for array returns only)
values(OF) n_values Single value or array of (not NULL and not empty) attribute values
is_it_null(OF) n_values Single flag or array of flags to indicate which values are NULL
is_it_empty(OF) n_values Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_tag ( tag_t  instance_tag,
tag_t  attr_id,
tag_t value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the specified attribute, for the specified instance.

Returns attribute values for loaded instances only.

POM_ask_attr_tag will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
value(O) Single value
is_it_null(O) Single flag or array of flags to indicate which values are NULL
is_it_empty(O) Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_tags ( tag_t  instance_tag,
tag_t  attr_id,
int  start,
int  n_values,
tag_t **  values,
logical **  is_it_null,
logical **  is_it_empty 
)

Returns n_values of values of the specified array-valued attribute, for the specified instance, starting from the position start.

Returns attribute values for loaded instances only.

POM_ask_attr_tags will return the attribute's current value in the session for the given instance.

The value returned is the value the attribute had when the instance was loaded. Meanwhile, if the instance has been modified by another session, the value in the database can be different.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask attribute value
attr_id(I) ID of array-valued attribute
start(I) Position of the first array value to ask (for array returns only)
n_values(I) Number of values in array (for array returns only)
values(OF) n_values Single value or array of (not NULL and not empty) attribute values
is_it_null(OF) n_values Single flag or array of flags to indicate which values are NULL
is_it_empty(OF) n_values Single flag or array of flags to indicate which values are empty
POMAPI int POM_ask_attr_upper_char ( tag_t  class_id,
tag_t  attr_id,
char *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the upper-bound for an attribute which has been defined to have an upper-bound. Returns invalid attr_id if attribute initial value not set or attribute not defined for this class.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class in which to describe attribute
attr_id(I) ID of attribute to describe
value(O) Attribute's initial value, lower bound, or upper bound (if it is set)
is_it_null(O) Whether the initial value, lower bound or upper bound is NULL
is_it_empty(O) Whether the initial value, lower bound, or upper bound is empty
POMAPI int POM_ask_attr_upper_date ( tag_t  class_id,
tag_t  attr_id,
date_t value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the upper-bound for an attribute which has been defined to have an upper-bound. Returns invalid attr_id if attribute initial value not set or attribute not defined for this class.

Note
These functions return the date in local time.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class in which to describe attribute
attr_id(I) ID of attribute to describe
value(O) Attribute's initial value, lower bound, or upper bound (if it is set)
is_it_null(O) Whether the initial value, lower bound or upper bound is NULL
is_it_empty(O) Whether the initial value, lower bound, or upper bound is empty
POMAPI int POM_ask_attr_upper_double ( tag_t  class_id,
tag_t  attr_id,
double *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the upper-bound for an attribute which has been defined to have an upper-bound. Returns invalid attr_id if attribute initial value not set or attribute not defined for this class.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class in which to describe attribute
attr_id(I) ID of attribute to describe
value(O) Attribute's initial value, lower bound, or upper bound (if it is set)
is_it_null(O) Whether the initial value, lower bound or upper bound is NULL
is_it_empty(O) Whether the initial value, lower bound, or upper bound is empty
POMAPI int POM_ask_attr_upper_int ( tag_t  class_id,
tag_t  attr_id,
int *  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the upper-bound for an attribute which has been defined to have an upper-bound.

Returns invalid attr_id if attribute initial value not set or attribute not defined for this class.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class in which to describe attribute
attr_id(I) ID of attribute to describe
value(O) Attribute's initial value, lower bound, or upper bound (if it is set)
is_it_null(O) Whether the initial value, lower bound or upper bound is NULL
is_it_empty(O) Whether the initial value, lower bound, or upper bound is empty
POMAPI int POM_ask_attr_upper_string ( tag_t  class_id,
tag_t  attr_id,
char **  value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the upper-bound for an attribute which has been defined to have an upper-bound. Returns invalid attr_id if attribute initial value not set or attribute not defined for this class.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class in which to describe attribute
attr_id(I) ID of attribute to describe
value(OF) Attribute's initial value, lower bound, or upper bound (if it is set)
is_it_null(O) Whether the initial value, lower bound or upper bound is NULL
is_it_empty(O) Whether the initial value, lower bound, or upper bound is empty
POMAPI int POM_ask_attr_upper_utc_date ( tag_t  class_id,
tag_t  attr_id,
date_t value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the upper-bound for an attribute which has been defined to have an upper-bound.

Note
These functions return the date in UTC time. Returns invalid attr_id if attribute initial value not set or attribute not defined for this class.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_utc_date ( tag_t  instance_tag,
tag_t  attr_id,
date_t value,
logical is_it_null,
logical is_it_empty 
)

Returns the value of the specified attribute, for the specified instance.

Returns attribute values for loaded instances only.

POM_ask_attr_utc_date will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.

Note
This function returns date in UTC time.
See Also
POM_ask_attr_date


Supports rollback using markpoints: YES.

Parameters
instance_tag(I)
attr_id(I)
value(O)
is_it_null(O)
is_it_empty(O)
POMAPI int POM_ask_attr_utc_dates ( tag_t  instance_tag,
tag_t  attr_id,
int  start,
int  n_values,
date_t **  values,
logical **  is_it_null,
logical **  is_it_empty 
)

Returns n_values of values of the specified array-valued attribute, for the specified instance, starting from the position start.

Returns attribute values for loaded instances only.

POM_ask_attr_dates will return the attribute's current value in the session for the given instance. Meanwhile, if the instance has been modified by another session, the value in the database can be different.

Note
This function returns date in UTC time.
See Also
POM_ask_attr_dates


Supports rollback using markpoints: YES.

Parameters
instance_tag(I)
attr_id(I)
start(I)
n_values(I)
values(OF) n_values
is_it_null(OF) n_values
is_it_empty(OF) n_values
POMAPI int POM_ask_authenticated_groups ( int *  n_groups,
tag_t **  groups 
)

Returns the valid groups for the user.

if Access manager mode is set to AM_MODE_ALL_GROUPS then all the groups where the user is an active member are returned. Otherwise the current group is returned.

See Also
AM_set_mode


Supports rollback using markpoints: YES.

Parameters
n_groups(O)
groups(OF)
POMAPI int POM_ask_database_info ( char **  database_name,
char **  database_version,
char **  database_banner 
)

Gets database information including name, version, and banner.

Returns
  • POM_ok on success
  • Any other errors resulting from Database query
Parameters
database_name(OF) The database type ("Oracle", "SQL Server", etc).
database_version(OF) The version number ("12.1", "2017", etc).
database_banner(OF) The complete banner information of the database ("Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production").
POMAPI int POM_ask_default_group ( tag_t group_tag)

Returns the tag of the current users default group. This is the group which the user will be logged into if the POM_start call is given an empty string for the group. The default group can be NULLTAG in which case the user has no default group.


Supports rollback using markpoints: YES.

Parameters
group_tag(O)
POMAPI int POM_ask_domain_of_char ( tag_t  class_id,
tag_t  attr_id,
int *  n_values,
char **  values 
)

Returns an ordered list of all the values that the specified attribute takes for database instances (with duplicate values removed from this list).

For example, if the class_id is "User" and the attr_id is "user_name," this function returns a list of all the user names in the database.


Supports rollback using markpoints: YES.

Parameters
class_id(I) Tag of the class
attr_id(I) Tag of the attribute for which the domain is to be found
n_values(O) Number of unique values found for this attribute
values(OF) n_values Array of values
POMAPI int POM_ask_domain_of_date ( tag_t  class_id,
tag_t  attr_id,
int *  n_values,
date_t **  values 
)

Returns an ordered list of all the values that the specified attribute takes for database instances (with duplicate values removed from this list).

For example, if the class_id is "User" and the attr_id is "user_name," this function returns a list of all the user names in the database.


Supports rollback using markpoints: YES.

Parameters
class_id(I) Tag of the class
attr_id(I) Tag of the attribute for which the domain is to be found
n_values(O) Number of unique values found for this attribute
values(OF) n_values Array of values
POMAPI int POM_ask_domain_of_double ( tag_t  class_id,
tag_t  attr_id,
int *  n_values,
double **  values 
)

Returns an ordered list of all the values that the specified attribute takes for database instances (with duplicate values removed from this list).

For example, if the class_id is "User" and the attr_id is "user_name," this function returns a list of all the user names in the database.


Supports rollback using markpoints: YES.

Parameters
class_id(I) Tag of the class
attr_id(I) Tag of the attribute for which the domain is to be found
n_values(O) Number of unique values found for this attribute
values(OF) n_values Array of values
POMAPI int POM_ask_domain_of_int ( tag_t  class_id,
tag_t  attr_id,
int *  n_values,
int **  values 
)

Returns an ordered list of all the values that the specified attribute takes for database instances (with duplicate values removed from this list).

For example, if the class_id is "User" and the attr_id is "user_name," this function returns a list of all the user names in the database.


Supports rollback using markpoints: YES.

Parameters
class_id(I) Tag of the class
attr_id(I) Tag of the attribute for which the domain is to be found
n_values(O) Number of unique values found for this attribute
values(OF) n_values Array of values
POMAPI int POM_ask_domain_of_logical ( tag_t  class_id,
tag_t  attr_id,
int *  n_values,
logical **  values 
)

Returns an ordered list of all the values that the specified attribute takes for database instances (with duplicate values removed from this list).

For example, if the class_id is "User" and the attr_id is "user_name," this function returns a list of all the user names in the database.


Supports rollback using markpoints: YES.

Parameters
class_id(I) Tag of the class
attr_id(I) Tag of the attribute for which the domain is to be found
n_values(O) Number of unique values found for this attribute
values(OF) n_values Array of values
POMAPI int POM_ask_domain_of_string ( tag_t  class_id,
tag_t  attr_id,
int *  n_values,
char ***  values 
)

Returns an ordered list of all the values that the specified attribute takes for database instances (with duplicate values removed from this list).

For example, if the class_id is "User" and the attr_id is "user_name," this function returns a list of all the user names in the database.


Supports rollback using markpoints: YES.

Parameters
class_id(I) Tag of the class
attr_id(I) Tag of the attribute for which the domain is to be found
n_values(O) Number of unique values found for this attribute
values(OF) n_values Array of values
POMAPI int POM_ask_domain_of_tag ( tag_t  class_id,
tag_t  attr_id,
int *  n_values,
tag_t **  values 
)

Returns an ordered list of all the values that the specified attribute takes for database instances (with duplicate values removed from this list).

For example, if the class_id is "User" and the attr_id is "user_name," this function returns a list of all the user names in the database.


Supports rollback using markpoints: YES.

Parameters
class_id(I) Tag of the class
attr_id(I) Tag of the attribute for which the domain is to be found
n_values(O) Number of unique values found for this attribute
values(OF) n_values Array of values
POMAPI int POM_ask_earliest_date ( date_t value)

Retrieves the earliest valid date in POM.

Deprecated:
It will be removed from Tc13
Use POM_get_earliest_date() or POM_get_earliest_utc_date() as replacements for this API.


Supports rollback using markpoints: YES.

Returns
Parameters
value(O) Earliest date value
POMAPI int POM_ask_env_info ( int  what_to_ask_about,
logical logical_current_value,
int *  int_current_value,
double *  double_current_value,
tag_t tag_current_value,
char **  string_current_value 
)

Returns the specified environmental information.


Supports rollback using markpoints: YES.

Parameters
what_to_ask_about(I) Token to indicate what to ask about. One of the other five parameters is the current value, the others should be ignored.
Tokens:
POM_rollback_switch
POM_ds_checking_switch
POM_log_sql_switch
POM_error_traceback_switch
logical_current_value(O)
int_current_value(O)
double_current_value(O)
tag_current_value(O)
string_current_value(OF)
POMAPI int POM_ask_group ( char **  group_name_string,
tag_t group_tag 
)

Returns the name of the group (as handed to POM_set_group or POM_start), and the tag (as returned also by POM_set_group). The name is from the specific group. To get a "hierarchical" group name, use POM_ask_group_name.


Supports rollback using markpoints: YES.

Parameters
group_name_string(OF) Name of group
group_tag(O) Tag of the user whose default group is to be asked
POMAPI int POM_ask_group_name ( tag_t  group,
char **  name 
)

Returns the name of a group. Name is a full hierarchical group to the group tag given. The format of the name is �<group-name>.<super-group>.<root-group-name>� with as many �super-group� names as the hierarchy involves between the given tag and the root (where parent group is null_tag).


Supports rollback using markpoints: YES.

Parameters
group(I) Tag of group
name(OF) Name of group
POMAPI int POM_ask_group_tag ( const char *  group_name_string,
tag_t group_tag 
)

Get tag for a group object from its name.


Supports rollback using markpoints: YES.

Parameters
group_name_string(I) Name of group
group_tag(O) Tag of group
POMAPI int POM_ask_index_of_char ( tag_t  instance_tag,
tag_t  attr_id,
char  value,
int *  values_index 
)

Finds the index of the first occurrence of the given value in an attribute.

Note
If the given value is not found returns values_index = -1.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance
attr_id(I) Attribute ID
value(I) Value to search for in the given attribute for the given instance of the type appropriate for the attribute
values_index(O) Index into attribute at which the given value or NULL value was found
POMAPI int POM_ask_index_of_date ( tag_t  instance_tag,
tag_t  attr_id,
date_t  value,
int *  values_index 
)

Finds the index of the first occurrence of the given value in an attribute.

Note
If the given value is not found returns values_index = -1.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance
attr_id(I) Attribute ID
value(I) Value to search for in the given attribute for the given instance of the type appropriate for the attribute
values_index(O) Index into attribute at which the given value or NULL value was found
POMAPI int POM_ask_index_of_double ( tag_t  instance_tag,
tag_t  attr_id,
double  value,
int *  values_index 
)

Finds the index of the first occurrence of the given value in an attribute.

Note
If the given value is not found returns values_index = -1.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance
attr_id(I) Attribute ID
value(I) Value to search for in the given attribute for the given instance of the type appropriate for the attribute
values_index(O) Index into attribute at which the given value or NULL value was found
POMAPI int POM_ask_index_of_int ( tag_t  instance_tag,
tag_t  attr_id,
int  value,
int *  values_index 
)

Finds the index of the first occurrence of the given value in an attribute.

Note
If the given value is not found returns values_index = -1.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance
attr_id(I) Attribute ID
value(I) Value to search for in the given attribute for the given instance of the type appropriate for the attribute
values_index(O) Index into attribute at which the given value or NULL value was found
POMAPI int POM_ask_index_of_logical ( tag_t  instance_tag,
tag_t  attr_id,
logical  value,
int *  values_index 
)

Finds the index of the first occurrence of the given value in an attribute.

Note
If the given value is not found returns values_index = -1.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance
attr_id(I) Attribute ID
value(I) Value to search for in the given attribute for the given instance of the type appropriate for the attribute
values_index(O) Index into attribute at which the given value or NULL value was found
POMAPI int POM_ask_index_of_null ( tag_t  instance_tag,
tag_t  attr_id,
int *  values_index 
)

Finds the index of the first occurrence of a NULL in an attribute.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance
attr_id(I) Attribute ID
values_index(O) Index into attribute at which the given value or NULL value was found
POMAPI int POM_ask_index_of_string ( tag_t  instance_tag,
tag_t  attr_id,
const char *  value,
int *  values_index 
)

Finds the index of the first occurrence of the given value in an attribute.

Note
If the given value is not found returns values_index = -1.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance
attr_id(I) Attribute ID
value(I) Value to search for in the given attribute for the given instance of the type appropriate for the attribute
values_index(O) Index into attribute at which the given value or NULL value was found
POMAPI int POM_ask_index_of_tag ( tag_t  instance_tag,
tag_t  attr_id,
tag_t  value,
int *  values_index 
)

Finds the index of the first occurrence of the given value in an attribute.

Note
If the given value is not found returns values_index = -1.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance
attr_id(I) Attribute ID
value(I) Value to search for in the given attribute for the given instance of the type appropriate for the attribute
values_index(O) Index into attribute at which the given value or NULL value was found
POMAPI int POM_ask_instance_lock ( tag_t  instance,
int *  lock_token 
)

Finds the current lock type (POM_no_lock, POM_read_lock, POM_modify_lock, or POM_delete_lock). If an instance is not loaded then a return code of POM_inst_not_loaded can be expected. If the instance is newly created (and therefore not locked) the return code of POM_inst_newly_created can be expected.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of the instance
lock_token(O) Lock type held on the instance (see pom_tokens.h)
POMAPI int POM_ask_instance_state ( tag_t  instance,
int *  state_token 
)

Retrieves a token indicating the state of the instance.
Supports rollback using markpoints: YES.

Returns
Parameters
instance(I) Tag of the instance whose state is being enquired
state_token(O) Token indicating current state of the instance
POM_inst_is_not_loaded
POM_inst_is_loaded
POM_inst_is_loaded_for_modify
POM_inst_is_new
POM_inst_is_modified
POM_inst_is_selected
POM_inst_is_selected_modified
POMAPI int POM_ask_instances_locks ( int  n_instances,
const tag_t instances,
int **  lock_token 
)
Finds the current lock type (#POM_no_lock, #POM_read_lock, #POM_modify_lock, or #POM_delete_lock)
for each instance passed.
Returns


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances.
instances(I) n_instances Instances to find lock tokens for.
lock_token(OF) n_instances Lock type held on each instance (see pom_tokens.h)
POMAPI int POM_ask_instances_states ( int  n_instances,
const tag_t instances,
int **  state_tokens 
)

Retrieves an array of tokens indicating the state of each input instance.
Supports rollback using markpoints: YES.

Returns
Parameters
n_instances(I) Number of instances.
instances(I) n_instances Instances whose state is being enquired
state_tokens(OF) n_instances Token indicating current state of each input instance
POM_inst_is_not_loaded
POM_inst_is_loaded
POM_inst_is_loaded_for_modify
POM_inst_is_new
POM_inst_is_modified
POM_inst_is_selected
POM_inst_is_selected_modified
POMAPI int POM_ask_latest_date ( date_t value)

Retrieves the latest (maximum) valid date in POM.

Deprecated:
It will be removed from Tc13
Use POM_get_latest_date() or POM_get_latest_utc_date() as replacements for this API.


Supports rollback using markpoints: YES.

Returns
Parameters
value(O) Latest date value
POMAPI int POM_ask_logins ( logical enable_logins)

Finds out whether other processes are currently allowed to login to POM.


Supports rollback using markpoints: YES.

Parameters
enable_logins(O) Whether logins are enabled or disabled
POMAPI int POM_ask_member ( tag_t member_tag)

Returns the tag of the current member. The member is a loaded form of the database link that gives the user authority to log into the chosen group.


Supports rollback using markpoints: YES.

Parameters
member_tag(O) Tag of the member
POMAPI int POM_ask_owner ( tag_t  instance_tag,
tag_t user_tag,
tag_t group_tag 
)

Returns the owning user and group for the specified instance. This function returns attribute values for loaded instances only.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to ask owner
user_tag(O) Tag of owning user
group_tag(O) Tag of owning group
POMAPI int POM_ask_retry_count ( int *  count)

Returns the number of retries that should be attempted if an attempt to obtain a modify lock is blocked by another user.


Supports rollback using markpoints: YES.

Parameters
count(O) Number of retries that should be attempted
POMAPI int POM_ask_server_info ( int *  node_type,
char **  node_name 
)

Returns the node type and name for the DB server.

Note
This is not necessarily the node upon which the RDBMS server processes are located. The information is recorded when the Teamcenter system is installed. Node types recognized are defined in pom_tokens.h.


Supports rollback using markpoints: YES.

Parameters
node_type(O) ID for one of the node types supported (see pom_tokens.h)
node_name(OF) Name of the node from which the DB was installed
POMAPI int POM_ask_session ( tag_t session)

Get current session.


Supports rollback using markpoints: YES.

Parameters
session(O) Tag of current session
POMAPI int POM_ask_site_config_file ( int  index,
logical  leave_loaded,
char **  text,
logical has_changed 
)
Deprecated:
It will be removed in Tc12. Returns information about configuration file for current site.


Supports rollback using markpoints: YES.

Parameters
index(I) Valid values are POM_site_config_file_preferences, POM_site_config_file_overlay, POM_site_config_file_definition, POM_site_config_definition_runtime
leave_loaded(I) Flags whether to leave the site configuration data loaded in POM
text(OF) Site configuration related data
has_changed(O)
POMAPI int POM_ask_timeout ( double *  timeout_value)

Returns the session-wide timeout value, as set by POM_set_timeout.


Supports rollback using markpoints: YES.

Parameters
timeout_value(O) Current value of timeout (in seconds)
POMAPI int POM_ask_top_class ( tag_t class_id)

Returns the tag of the topmost class in the POM class hierarchy.


Supports rollback using markpoints: YES.

Parameters
class_id(O) ID of class
POMAPI int POM_ask_user_default_group ( tag_t  user,
tag_t group_tag 
)

Returns the currently set default group for the specified user. The user object must be loaded at the time. Only system administrators can ask about the default group for users other than themselves.


Supports rollback using markpoints: YES.

Parameters
user(I) Tag of group
group_tag(O) Tag of the user whose default group is to be asked
POMAPI int POM_ask_user_id ( tag_t  user,
char **  id 
)

Gets the unique ID for the given, loaded, user.


Supports rollback using markpoints: YES.

Parameters
user(I) Tag ID of a user instance
id(OF) Returned memory containing the ID of the user
POMAPI int POM_ask_user_name ( tag_t  user,
char **  name 
)

Gets the name for the given, loaded, user.


Supports rollback using markpoints: YES.

Parameters
user(I) Tag ID of a user instance
name(OF) Returned memory containing the name of the user
POMAPI int POM_ask_users_accessors ( int  n_user_accs,
tag_t user_accs,
int *  n_accessors,
tag_t **  accessors 
)

Returns the accessor information for users.


Supports rollback using markpoints: YES.

Parameters
n_user_accs(I) Count of users
user_accs(I) n_user_accs Array of tag of users
n_accessors(O) Count of accessors
accessors(OF) n_accessors Array of tag of accessors
POMAPI int POM_attr_exists ( const char *  attr_name,
const char *  class_name,
logical exists 
)

Determines whether an attribute of the given name exists in the given class.


Supports rollback using markpoints: YES.

Parameters
attr_name(I) Name of attribute
class_name(I) Name of class
exists(O) True or false
POMAPI int POM_attr_id_of_attr ( const char *  attr_name,
const char *  class_name,
tag_t attr_id 
)

Returns the attr_id for the specified attribute in the specified class.


Supports rollback using markpoints: YES.

Parameters
attr_name(I) Name of attribute
class_name(I) Name of class
attr_id(O) Attribute identifier
POMAPI int POM_attr_to_apid ( tag_t  class_id,
tag_t  attr_id,
int *  apid 
)

Converts the external class/attribute identifiers into the internal integer attribute identifier.

This function is to be used with POM_site_id and POM_class_to_cpid so that the user is able to obtain the local site identifier and internal identifiers for classes and attributes. These are required so that the POM tables that have their entries specified by a combination of these identifiers can be accessed properly.


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
apid(O)
POMAPI int POM_auto_login ( void  )

Logs in to POM using the current operating system user name as the Teamcenter user ID. No password authentication is performed within Teamcenter.

For a call to this function to be successful, there must be a Teamcenter user with an identical user ID to the operating system user name of the caller of this function. Also, that user must have a default group set (and be a valid member of that group).

Note
POM must be in an initialized state prior to calling this function. See POM_init_module.


Supports rollback using markpoints: NO.

POMAPI int POM_cache_for_session ( tag_t value)

This function allows a tag value to be registered with the rollback mechanism so that, if a rollback occurs, the value is reset to its original value. Apart from rollback scenario, this function also resets the value on a POM_exit_module call.

static tag_t enq_created = null_tag;
if (enq_created == null_tag)
{
// Create enquiry
...
POM_cache_for_session( &enq_created );
enq_created = 1;
}
//Make use of enquiry

Lets assume the above code to create enquiry was called after a markpoint was created. If a rollback is called then object for the enquiry created will be thrown away (as it was created after markpoint was placed) and its tag will become invalid. POM_cache_for_session can help detect this and recreate the enquiry.

See Also
POM_place_markpoint
Parameters
value(I)
POMAPI int POM_check_password ( tag_t  user_tag,
const char *  password_string,
logical answer 
)

Checks the password for the specified user. The given string is compared with the stored password and the argument answer indicates if they match. For security purposes, the password is stored in an encrypted form, and is never decrypted or returned through the interface.

Note
This function only operates for loaded user instances.


Supports rollback using markpoints: YES.

Parameters
user_tag(I) Tag of user for which to check password
password_string(I) Possible password
answer(O) Whether password is correct
POMAPI int POM_check_reference ( tag_t  instance_tag,
tag_t  attr_id,
tag_t class_id_of_reference,
logical is_it_null,
logical is_it_empty 
)

Returns the type of the specified attribute of the specified loaded instance.

Ideally this is always the same type as that which POM_describe_attrs returns. Therefore, this permits checking for consistency between the class definition and the instance information. If the reference is NULL, then is_it_null is returned as TRUE. This can or can not indicate an error, depending on whether the attribute is allowed to contain NULL or not. If the reference is EMPTY, then is_it_empty is returned as TRUE.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance for which to check reference
attr_id(I) ID of attribute to check
class_id_of_reference(O) ID of class to which attribute refers
is_it_null(O) Whether attribute is NULL
is_it_empty(O) Whether attribute is empty
POMAPI int POM_class_id_of_class ( const char *  class_name,
tag_t class_id 
)

Returns the ID of a class which is specified by its name.


Supports rollback using markpoints: YES.

Parameters
class_name(I) Name of class
class_id(O) ID of class
POMAPI int POM_class_of_instance ( tag_t  instance_tag,
tag_t class_id 
)

Finds out the class to which the instance belongs.

This is the class in which the instance was instantiated, not necessarily the one in which it was loaded in this session (it is possible to load the instance as an instance of its own class or any superclass thereof - go to POM_load_instances).

The loaded class of an instance can be obtained by using POM_loaded_class_of_instance.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I)
class_id(O)
POMAPI int POM_class_to_cpid ( tag_t  class_id,
int *  cpid 
)

Converts the external class identifier into the internal integer representation for a class.

This function is to be used with POM_site_id and POM_attr_to_apid so that the user is able to obtain the local site identifier and internal identifiers for classes and attributes. These are required so that the POM tables that have their entries specified by a combination of these identifiers can be accessed directly.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class
cpid(O) Internal class identifier
POMAPI int POM_clear_attr ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id 
)

Clears all values from the specified VLA setting its length to zero.

Note
VLAs are array attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance of a class with a VLA attribute is created that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
POMAPI int POM_compare_attr_ids ( tag_t  attr_id1,
tag_t  attr_id2,
logical answer 
)

Compares two attribute ids for equality.


Supports rollback using markpoints: YES.

Parameters
attr_id1(I) Tag of attribute identifier
attr_id2(I) Tag of attribute identifier
answer(O) Returns true if input attributes are equal
POMAPI int POM_compare_class_ids ( tag_t  class_id1,
tag_t  class_id2,
logical answer 
)

Compares two class identifiers for equality.


Supports rollback using markpoints: YES.

Parameters
class_id1(I) Tag of class
class_id2(I) Tag of class
answer(O) Return true, if input class identifiers are equal
POMAPI int POM_compare_dates ( date_t  date1,
date_t  date2,
int *  answer 
)

Compares two dates for equality.

The result is returned in answer as

0 if dates are equal
1 if date1 is later than date2
-1 if date1 is earlier than date2


Supports rollback using markpoints: YES.

Parameters
date1(I) First date
date2(I) Second date
answer(O) 0, 1 or -1 as appropriate
POMAPI int POM_convert_date ( int  conversion,
date_t  original_date,
date_t converted_date 
)

Converts original_date to converted date according to the conversion token specified. Appropriate tokens are:

POM_gmt_to_local
POM_local_to_gmt

Note
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
conversion(I)
original_date(I)
converted_date(O)
POMAPI int POM_copy_instances ( int  n_instances,
const tag_t instance_tags,
tag_t **  new_instances 
)

Creates copies of a set of existing instances (which need not be loaded in the session) as follows:

Application-maintained attribute values are copied

System-maintained attribute values (such as "creation_date") are set appropriately The copy is created as an instance of the class in which the original instance was instantiated, even if the original instance is loaded as an instance of some superclass. Inconsistent attribute values (e.g., duplicate uniquely-valued ones) are only checked for when saving (i.e., in DB, not in DS). If any attributes for the relevant class are forced to be unique, then copying the values from the old instances into the new instances would clearly create unsaveable instances. Therefore these attributes are left EMPTY in the new instances, so that the application can readily recognize the instances as unsaveable.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to copy
instance_tags(I) n_instances Tags of instances to copy
new_instances(OF) n_instances Tags of new instances
POMAPI int POM_copy_over ( tag_t  source,
tag_t  target 
)

Performs a copy that will copy attribute settings from one instance to another instance of the same class. This avoids the need to read each attribute and set the corresponding attribute in the target instance.


Supports rollback using markpoints: YES.

Parameters
source(I) Instance to copy from
target(I) Instance to copy the values into
POMAPI int POM_create_file ( const char *  application,
int  version,
tag_t file 
)

Create a file in POM cache. Objects can be added to this file and then POM_write_file can be used to write the file to disk.

Note
the input parameter application and version is for the caller to store auxiallary information. The application input parameters isnt related to any POM application.
See Also
POM_file_add_instance


Supports rollback using markpoints: NO.

Parameters
application(I) Name of application
version(I) Version of application
file(O) Tag of file created
POMAPI int POM_create_instance ( tag_t  class_id,
tag_t instance_tag 
)

Creates an instance of the specified class. Each attribute is set to the appropriate initial value if one exists, otherwise it is EMPTY and POM_set_attr_<type> must be used to set a value before trying to save the instance.

To delete an instance that has not yet been saved, use POM_unload_instances.

It is possible that the class is only partially-defined, for example if an attribute has been defined to have a lower bound but that lower bound has not yet been set. In this casefails with "improperly defined class."


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class to instantiate
instance_tag(O) Tag of new instance
POMAPI int POM_dbname_of_att ( tag_t  class_id,
tag_t  attr_id,
char **  table,
char **  base 
)

Takes a class identifier and an attribute identifier and returns the textual names of the SQL database table and column within that table in which the attribute is stored.

It is expected that this function will be used to directly access the values of the specified attribute for specific instances, or to produce a query over all values of this attribute in a given class.


Supports rollback using markpoints: YES.

Parameters
class_id(I) Class ID of the class in which the attribute appears
attr_id(I) Attribute ID of the attribute in question
table(OF) Textual name of the database table
base(OF) Column name in the above table
POMAPI int POM_define_func_index ( const char *  index_name,
tag_t  class_id,
int  n_attrs,
const tag_t attr_ids,
logical  is_unique,
const char *  expr 
)

Create a functional index.


Supports rollback using markpoints: NO.

Parameters
index_name(I) Name of functional index
class_id(I) Tag of class
n_attrs(I) Count of attribute identifiers
attr_ids(I) n_attrs Array of tag of attribute identifiers
is_unique(I) Flag whether index stores unique values
expr(I) Function to apply on the attributes. For example, POM_index_func_upper or POM_index_func_substr
POMAPI int POM_define_index ( const char *  index_name,
tag_t  class_id,
int  n_attrs,
const tag_t attr_ids,
logical  is_unique 
)

Defines an index by:

  • taking an existing class
  • a number of attributes which are already associated with that class
  • adding that index definition to the class definition.

Restrictions:

A particular class cannot have two indexes of the same name, but two different classes can. Therefore, the name of an existing index is not always enough to specify it unambiguously. The addition of a class_id will remove this ambiguity.

The is_unique flag is used to indicate whether or not the index allows duplicate values in the attributes that it covers.


Supports rollback using markpoints: NO.

Parameters
index_name(I) Name of index
class_id(I) ID of class for which to define index
n_attrs(I) Number of attributes in index
attr_ids(I) n_attrs IDs of attributes in index
is_unique(I) Whether or not to make the index unique
POMAPI int POM_delete_accessor ( tag_t  accessor)

Deletes the POM accessor of the given tag.

Note
AM does not reference the POM instances via a POM attribute, so there is not referential integrity associated with this instance. Naturally any ACL referring to a deleted instance in POM will not be usable for obtaining access to the ACL'd instance.


Supports rollback using markpoints: YES.

Parameters
accessor(I) Accessor instance
POMAPI int POM_delete_group ( tag_t  a_group)

Takes the tag of a group object and deletes it from the database. It will only attempt to delete the group if the current user is a Teamcenter system administrator, and will only be able to delete it if it is not referenced from any other POM object - (i.e., this implies that there must be no users linked to this group by member objects.

When a user logs into POM, the appropriate group object is locked so that it cannot be deleted. Additionally, this lock is updated whenever the user changes group.


Supports rollback using markpoints: YES.

Parameters
a_group(I) Tag of the group to delete
POMAPI int POM_delete_instances ( int  n_instances,
const tag_t instance_tags 
)

Deletes the specified instances from the database. The instance must not be referenced or loaded by this, or any other POM session. Instances that have not been saved cannot be deleted, they can only be unloaded which will have the same effect as deleting. If a class is application protected the instance of that class can only be deleted by that application.


Supports rollback using markpoints: YES.

Parameters
n_instances(I)
instance_tags(I) n_instances
POMAPI int POM_delete_instances_by_enq ( tag_t  enquiry_id,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and deletes the resulting instances from the database. When the enquiry produces no instances, then n_instances is 0, and instances is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
n_instances(O) Number of instances to delete
instances(OF) n_instances Tags of instances to delete
POMAPI int POM_delete_member ( tag_t  a_member)

Takes the tag of a member object and deletes it from the database. From this point on, the user specified will be unable to log in to the listed group. If that user is currently logged in, this will not prevent him from setting his current group (the deletion will only take effect after he has logged out).


Supports rollback using markpoints: YES.

Parameters
a_member(I) Tag of the member object to delete
POMAPI int POM_delete_user ( tag_t  a_user)

Takes the tag of a user object and deletes it from the database. It will only attempt to delete the specified user if the current user is a Teamcenter system administrator, and will only be able to delete it if it is not referenced from any other POM object (i.e., this implies that there must be no member objects linking this user to any groups). When a user logs into POM, the appropriate user object is locked so that it cannot be deleted.


Supports rollback using markpoints: YES.

Parameters
a_user(I) Tag of the user to delete
POMAPI int POM_describe_attrs ( tag_t  class_id,
int  n_attrs,
const tag_t attr_ids,
char ***  names,
int **  types,
int **  max_string_lengths,
tag_t **  referenced_classes,
int **  lengths,
int **  descriptors,
int **  attr_failures 
)

Returns the definition of attributes for a specified class.

For each attribute:

  • If its type is not "string," then the corresponding element of max_string_lengths is 0
  • If its type is not "typed reference," then the corresponding element of referenced_classes is NULLTAG

Since this does not affect the stored data anywhere, it is possible for this function to "partially" succeed: when this occurs it can return a description for some of the attributes while complaining about others.

For each attr_id:

  • If the attempt to describe it in this class is successful, then its name, type, length and descriptor are returned in the appropriate arrays, and 0 is returned in the attr_failures array
  • If the attempt to describe it fails, then the values in the name, type, length and descriptor arrays do not have any predictable value, and the failure code (e.g., for "attribute not defined for this class") is returned in the attr_failures array

The failure code returned by itself is 0 unless NONE of the attributes can be described, in which case it is the value of attr_failures_[0]. Therefore, if only one attribute is being described, the failure code is exactly the failure code applying to that one attribute.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class in which to describe attributes
n_attrs(I) Number of attributes to describe
attr_ids(I) n_attrs ID of attributes to describe
names(OF) n_attrs Names of attribute
types(OF) n_attrs Types of attribute. Choose one of the following:
POM_int, POM_short, POM_logical, POM_float,
POM_double, POM_char, POM_string, POM_date,
POM_typed_reference, POM_untyped_reference, POM_note, POM_long_string
max_string_lengths(OF) n_attrs Maximum allowable lengths of strings (only if type is POM_string, otherwise 0)
referenced_classes(OF) n_attrs IDs of classes referenced by attributes (only if type is POM_typed_reference, otherwise NULLTAG)
lengths(OF) n_attrs Lengths of attribute - 1 for simple, >1 for array
descriptors(OF) n_attrs Sum of the following tokens:
POM_null_is_valid, POM_is_unique, POM_has_lowerbound,
POM_has_upperbound, POM_has_initial_value, POM_is_classvariable,
POM_cannot_be_frozen, POM_public, POM_public_read, POM_public_write
attr_failures(OF) n_attrs Array, each element being 0 or the code for the appropriate failure.
POMAPI int POM_describe_class ( tag_t  class_id,
int  n_names,
char **  attr_names,
char **  application_name,
int *  descriptor,
int *  n_attrs,
tag_t **  attr_ids 
)

Returns part, or all, of the definition of a class.

Allows the specification of the attribute-definitions to be returned.

To specify all of the attributes in the definition of the class set:

n_names = 0
attr_names = NULL


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class to describe
n_names(I) Number of attributes of interest
attr_names(I) n_names Names of attributes of interest
application_name(OF) Name of application associated with class
descriptor(O) Sum of class tokens
n_attrs(O) Number of returned attributes
attr_ids(OF) n_attrs
POMAPI int POM_describe_class_index ( const char *  index_name,
tag_t  class_id,
int *  n_attrs,
tag_t **  attr_ids,
int **  pos,
char ***  expr 
)

Returns information about a index created for a class.


Supports rollback using markpoints: YES.

Parameters
index_name(I) Name of index
class_id(I) Tag of class
n_attrs(O) Count of attribute identifiers
attr_ids(OF) n_attrs Array of tag of attribute identifiers
pos(OF)
expr(OF)
POMAPI int POM_describe_error ( int  error_code,
char **  string 
)

Returns a string describing the specified error code. For example, for the error POM_logins_are_disabled, the returned string would be POM_logins_are_disabled.

The descriptions returned by POM_describe_error are the same as those returned by POM_explain_last_error, but POM_describe_error can be called with any error code at any time.


Supports rollback using markpoints: YES.

Parameters
error_code(I) Error code to describe
string(OF) String describing error code
POMAPI int POM_describe_index ( const char *  index_name,
tag_t  class_id,
int *  n_attrs,
tag_t **  attr_ids 
)

Returns the attributes for the specified index of the specified class.


Supports rollback using markpoints: YES.

Parameters
index_name(I) Name of index
class_id(I) ID in which to describe index
n_attrs(O) Number of attributes in index
attr_ids(OF) n_attrs IDs of attributes in index
POMAPI int POM_describe_token ( int  token,
char **  string 
)

Returns a string describing the specified token. For example, for the token POM_int, the returned string might be "integer."


Supports rollback using markpoints: YES.

Parameters
token(I) Token to describe
string(OF) String describing token
POMAPI int POM_does_class_exist ( const char *  class_name,
logical exists 
)

Returns whether a class exists or not.


Supports rollback using markpoints: YES.

Parameters
class_name(I)
exists(O)
POMAPI int POM_exit_module ( void  )

Shuts down the POM module.


Supports rollback using markpoints: NO.

POMAPI int POM_explain_last_error ( int *  error_code,
int *  argument_number,
char **  function_name,
char **  explanation 
)

Explains why the last POM function call failed.

  • The returned information includes:
  • The error code (in error_code)
  • Which argument caused to fail (in argument_number)
  • The name of the function that failed (in function_name)

A description of what the failure code means (in explanation)


Supports rollback using markpoints: YES.

Parameters
error_code(O) Error code returned by last failing function
argument_number(O) Argument that caused failure, or zero if all arguments were successfully checked
function_name(OF) Textual name of last failing function
explanation(OF) Text of error code
POMAPI int POM_file_add_instance ( tag_t  file,
tag_t  instance 
)

Adds an object to a POM file.


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
instance(I) Tag of object
POMAPI int POM_file_add_unsaved_instance ( tag_t  file,
tag_t  instance 
)

Add an unsaved instance to a POM file.


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
instance(I) Tag of an unsaved object
POMAPI int POM_file_ask_candidate_keys ( tag_t  pom_file,
int *  n_key_strings,
char ***  key_strings 
)

Returns the string values candidate keys set in the POM file.


Supports rollback using markpoints: YES.

Parameters
pom_file(I) Tag of file
n_key_strings(O) Count of candidate strings
key_strings(OF) n_key_strings
POMAPI int POM_file_ask_contents ( tag_t  file,
int *  n_instances,
tag_t **  instances 
)

Returns the number of objects in a POM file.


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
n_instances(O) Count of instances
instances(OF) n_instances Array of tag of objects
POMAPI int POM_file_ask_conv_attr_info ( tag_t  file,
const char *  class_name,
int *  count,
char ***  attrs,
int **  states 
)

This API provides information about schema changes related to the instances in the file.

POM_file_ask_conv_class_info returns information about classes that are different. This API returns some more information about particular classes and which attributes are new (POM_conv_attr_new) or removed (POM_conv_attr_removed).

See Also
POM_file_ask_conv_class_info


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
class_name(I) Name of class
count(O) Count of attributes
attrs(OF) count Array of attribute names
states(OF) count Array of attribute states. Valid values are POM_conv_attr_new or POM_conv_attr_removed.
POMAPI int POM_file_ask_conv_class_info ( tag_t  file,
int *  count,
char ***  classes,
int **  states 
)

This API provides information about any schema changes related to the instances in the file.

Apart from names of classes which are different, information about whether the class has been removed (POM_conv_class_removed) or changed (POM_conv_class_changed).

See Also
POM_file_ask_conv_attr_info


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
count(O) Count of classes
classes(OF) count Array of classes
states(OF) count Array of class state. Valid values are POM_conv_class_changed or POM_conv_class_removed
POMAPI int POM_file_ask_data ( tag_t  file,
tag_t  class_id,
tag_t  instance,
int *  n_values,
char ***  values 
)

Get additional information set for an instance in a file.

See Also
POM_file_set_data


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
class_id(I) Tag of class
instance(I) Tag of object
n_values(O) Count of values
values(OF) n_values Array for string values
POMAPI int POM_file_ask_destination ( tag_t  file,
tag_t destination 
)

Gets the destination site for the file.


Supports rollback using markpoints: NO.

Parameters
file(I)
destination(O)
POMAPI int POM_file_ask_selected ( tag_t  file,
int *  n_instances,
tag_t **  instances 
)

Returns an array of selected instances. Specific instances can be selected using POM_file_select_instance API. When a file is unloaded, the selected instances are cleared.


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
n_instances(O) Count of selected instances
instances(OF) n_instances Selected instances
POMAPI int POM_file_ask_xmit_file ( const char *  pathname,
char **  xmitname 
)

A POM file refers to a file which contains information about the schema for the file. This file is referred as the transmit file. This APIs helps getting path of transmit file from a POM file.

See Also
POM_write_transmit_file


Supports rollback using markpoints: YES.

Parameters
pathname(I) Full path of file wrttien via POM
xmitname(OF) Full path of the transmit file
POMAPI int POM_file_is_included ( tag_t  file,
tag_t  instance,
logical is_included 
)

Returns if the inputs instance is included in the file.


Supports rollback using markpoints: YES.

Parameters
file(I)
instance(I)
is_included(O)
POMAPI int POM_file_is_recovered ( tag_t  file,
tag_t  instance,
logical is_recovered 
)

Returns true if the object has been already recovered from the file.

See Also
POM_file_recover_instance


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
instance(I) Tag of object
is_recovered(O) returns true if object is already recovered
POMAPI int POM_file_recover_instance ( tag_t  file,
tag_t  instance 
)

Updates the database with the object in the file.


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
instance(I) Tag of object from file to be updated in database
POMAPI int POM_file_replace_tag ( tag_t  file,
tag_t  original_tag,
tag_t  replacement_tag 
)

Replaces an object in a POM file.


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
original_tag(I) Tag of object in the file to be replaced
replacement_tag(I) Tag of the replacement object
POMAPI int POM_file_select_instance ( tag_t  file,
tag_t  instance 
)

Adds to a list of selected instances in a file. USe POM_file_ask_selected to know the selected instances.


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
instance(I) Tag of object
POMAPI int POM_file_set_candidate_key ( tag_t  pom_file,
tag_t  instance,
int  n_attributes,
const tag_t attributes 
)

Typically when an object is recovered from a POM file, its internal unique identifer is used to find the object in database. In some scenarios the application may want to use some other attributes to find the object. This API enables setting attributes as candidate keys which can be used to find the object in database during recovery.


Supports rollback using markpoints: YES.

Parameters
pom_file(I) Tag of file
instance(I) Tag of object
n_attributes(I) Count of attributes
attributes(I) n_attributes Array of tag of attributes
POMAPI int POM_file_set_data ( tag_t  file,
tag_t  class_id,
tag_t  instance,
int  n_values,
char **  values 
)

Set additional information about instances in a file.

See Also
POM_file_ask_data


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
class_id(I) Tag of class
instance(I) Tag of object in the file
n_values(I) Count of values
values(I) n_values Array of string values
POMAPI int POM_file_set_destination ( tag_t  file,
tag_t  destination 
)

Sets the destination site for file.


Supports rollback using markpoints: NO.

Parameters
file(I)
destination(I)
POMAPI int POM_file_set_stub_data ( int  n_entries,
tag_t tags,
char **  names,
char **  values 
)

This API helps adding some additional information about stubs in the file.


Supports rollback using markpoints: YES.

Parameters
n_entries(I) Count of entries
tags(I) n_entries Array of tags of stubs
names(I) n_entries Array of attribute names
values(I) n_entries Array of values of the attributes
POMAPI int POM_file_transfer_instance ( tag_t  file,
tag_t  instance 
)

For a POM file a destination site can be set using POM_file_set_destination. After the destination site is set, this API helps setting the owning site of the input object in the file to be the destination site.

See Also
POM_file_set_destination


Supports rollback using markpoints: YES.

Parameters
file(I) Tag of file
instance(I) Tag of object
POMAPI int POM_file_view_instance ( tag_t  file,
tag_t  instance 
)

Verifies the instance in the file. Any issues are reported as error.


Supports rollback using markpoints: YES.

Parameters
file(I)
instance(I)
POMAPI int POM_find_accessor ( int  n_instances,
const tag_t instances,
tag_t accessor 
)

Finds the generic accessor instance that represents the combination of the instances supplied in instances. For example, "role in group" is represented by a pair of tags of a role and a group. If this combination already exists then the tag of that instance is returned in accessor. Otherwise, an instance is created. The instances must be of different class as the order of storage is based upon a sort by class. This allows efficient querying and non-duplication when presented with the same set of tags in different orders.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of tags represented in accessor
instances(I) n_instances Tags of the accessor
accessor(O) Accessor instance
POMAPI int POM_find_h_groups ( const char *  group_pattern,
tag_t  root_group,
int *  n_groups,
tag_t **  groups 
)

Find all groups satisfying the input pattern in the sub-tree rooted at input root group.

The pattern may be: null or "", meaning "any group" simple, e.g. "a" or "a", meaning "any group of this name" compound e.g. "a.b.c" or "a..c", meaning "any group of this full name" (relative to the root_group) (with the special case of "a." meaning "any root group of this name"). The root group may be null_tag, meaning "look in the whole group tree".


Supports rollback using markpoints: YES.

Parameters
group_pattern(I) Group search pattern.
root_group(I) Tag of root group
n_groups(O) Count of groups returned
groups(OF) n_groups Array of tag of groups
POMAPI int POM_forget_markpoint ( int  markpoint_number)

Discards information associated with a markpoint. This frees up resources associated with the markpoint. This is the counterpart to POM_roll_to_markpoint.

Parameters
markpoint_number(I) Markpoint number as recorded from earlier call to POM_place_markpoint
POMAPI int POM_free ( void *  space)

Frees the memory. Can be used to free memory allocated by POM ITKs.


Supports rollback using markpoints: YES.

Parameters
space(I)
POMAPI int POM_freeze ( tag_t  instance_to_freeze)

Freezes an instance so that all of its freezable attributes can no longer be modified.


Supports rollback using markpoints: YES.

Parameters
instance_to_freeze(I)
POMAPI int POM_get_char_ordering ( char **  string)

Returns the ordering on the character set in use. This is useful knowledge when creating an enquiry which selects on a string-valued attribute, for example, by saying "all names greater than "W'" to return all names beginning with X, Y, or Z.


Supports rollback using markpoints: NO.

Parameters
string(OF) String of characters in order
POMAPI int POM_get_earliest_date ( date_t value)

Retrieves the earliest valid date in POM for the local time zone.


Supports rollback using markpoints: YES.

Returns
Parameters
value(O) Earliest date value in the local time zone
POMAPI int POM_get_earliest_utc_date ( date_t value)

Retrieves the earliest valid date in POM in UTC.


Supports rollback using markpoints: YES.

Returns
Parameters
value(O) Earliest date value in UTC
POMAPI int POM_get_latest_date ( date_t value)

Retrieves the latest (maximum) valid date in POM for the local time zone.


Supports rollback using markpoints: YES.

Returns
Parameters
value(O) Latest date value for the local time zone
POMAPI int POM_get_latest_utc_date ( date_t value)

Retrieves the latest (maximum) valid date in POM in UTC.


Supports rollback using markpoints: YES.

Returns
Parameters
value(O) Latest date value in UTC
POMAPI int POM_get_object_property ( tag_t  instance,
int  bit_to_get,
logical verdict 
)

Getter function for the object_properties bit flags on POM_object.

Tokens: POM_object_mask_frozen POM_object_mask_has_ixr POM_object_mask_is_locked


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of instance to test
bit_to_get(I) The object property flag to test for
verdict(O) True or false
POMAPI int POM_get_user ( char **  user_name_string,
tag_t user_tag 
)

Returns the name of the logged-in user and the tag corresponding to the user instance.


Supports rollback using markpoints: YES.

Parameters
user_name_string(OF) Name of user
user_tag(O) Tag of user
POMAPI int POM_get_user_id ( char **  user_id_string)

Gets the user ID (the unique ID string for a user) for the currently logged in user.


Supports rollback using markpoints: YES.

Parameters
user_id_string(OF) Unique ID for the currently logged in user
POMAPI int POM_get_version ( int *  version)

Used to determine POM's version number.


Supports rollback using markpoints: YES.

Parameters
version(O) POM version number
POMAPI int POM_identify_application ( int  application_id,
int  application_code,
logical  permission 
)

Sets the application-context in which subsequent POM calls occur. This function allows an application to identify itself to POM. POM will then allow the application to perform protected operations on classes with which the application is associated, and then to make itself anonymous again so that subsequently, POM will not allow those operations.

The permission argument should be TRUE when the application wishes to identify itself, and FALSE for anonymity. For example, the Configuration Manager (CM) is the only application allowed to save objects of the class "cm_product." So the following sequence of calls succeeds:

POM_identify_application (<cm-name>, true);
POM_save_instances (1, &<tag-of-cm-product-instance>, unload_flag)
(&n_fails, &fail_tags, &reasons);
POM_identify_application (<cm-name>, false);

However, if CM does not identify itself first, then the call to POM_save_instances fails with "application has insufficient privilege."


Supports rollback using markpoints: YES.

Parameters
application_id(I) Indicates which application is allowing/disallowing access to its instances
application_code(I) Authenticates that application
permission(I) Indicates whether access to its instances is allowed or not
POMAPI int POM_indexes_of_attr ( tag_t  class_id,
tag_t  attr_id,
int *  n_indexes,
char ***  index_names 
)

Returns the indexes defined for the specified attribute.


Supports rollback using markpoints: YES.

Parameters
class_id(I) Class ID of the class in which the attribute appears
attr_id(I) Attribute ID of the attribute in question
n_indexes(O) Number of indexes in class
index_names(OF) n_indexes Names of indexes in class
POMAPI int POM_indexes_of_class ( tag_t  class_id,
int *  n_indexes,
char ***  index_names 
)

Returns the indexes defined for the specified class.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class
n_indexes(O) Number of indexes in class
index_names(OF) n_indexes Names of indexes in class
POMAPI int POM_init_group ( tag_t  new_group,
const char *  name,
int  privilege 
)

Initializes a group.

Restrictions:

  • You must be logged in as a system administrator to use this function.
  • The name is forced to lower case before being set.

Return values: POM_invalid_string - Invalid name - null or exceeds POM_MAX_NOTE_LENGTH
POM_invalid_value - Invalid privilege - must be 0 or 1.


Supports rollback using markpoints: YES.

Parameters
new_group(I) The group to initialize
name(I) The group's new name
privilege(I) The group's new SA privilege (1 if it is an SA group, 0 if not)
POMAPI int POM_init_h_group ( tag_t  group,
const char *  name,
int  privilege,
tag_t  parent_group 
)

Initializes a group object.

Restrictions: You must be logged in as a System Administrator to use this function.


Supports rollback using markpoints: YES.

Parameters
group(I) Tag of group
name(I) Name of group
privilege(I) Group Privilege (1 for system admin group else 0 )
parent_group(I) Tag of parent group
POMAPI int POM_init_member ( tag_t  new_member,
tag_t  user,
tag_t  group,
logical  as_ga 
)

Takes a tag of an instance of the class POM_member, or a subclass of same, and sets to the specified values the:

  • Reference to a group
  • Reference to a user
  • Status of that user in that group

The user must be a Teamcenter system administrator (or the group administrator of the specified group) to "init" a member. No instance of a subclass of the class POM_member can be saved until it has been initialized by this function (since it will contain empty attributes). This ensures that no unprivileged user can create member objects.

This function allows the caller to create a member which has extra attributes they have defined in a subclass of POM_member.


Supports rollback using markpoints: YES.

Parameters
new_member(I) Tag of the new member
user(I) User to be made a member of the group given
group(I) Group to grant the user membership of
as_ga(I) Whether to grant group administrator privilege to the member
POMAPI int POM_init_module ( void  )

Initializes the POM module, establishes contact with the underlying RDBMS, and loads the schema file containing the class definitions.


Supports rollback using markpoints: NO.

POMAPI int POM_init_user ( tag_t  new_user,
const char *  user_id,
const char *  user_name,
const char *  password 
)

Takes a tag of an instance of the class POM_user, or a subclass of same, and sets to the values specified the:

  • user_id (forced to lower case)
  • user_name
  • password

The user must be a Teamcenter system administrator to "init" a user.

This function allows the caller to create a user which has extra attributes they have defined in a subclass of POM_user.


Supports rollback using markpoints: YES.

Parameters
new_user(I) Tag of the new user
user_id(I) Login name for the user
user_name(I) Full name for the user
password(I) User's password
POMAPI int POM_insert_attr_chars ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const char *  values 
)

Inserts the specified value into the specified VLA attribute at the specified position.

The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.

Note
VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I)
instance_tags(I) n_instances
attr_id(I)
start(I)
n_values(I)
values(I) n_values
POMAPI int POM_insert_attr_dates ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const date_t values 
)

Inserts the specified value into the specified VLA attribute at the specified position.

The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.

Note
VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
n_instances(I)
instance_tags(I) n_instances
attr_id(I)
start(I)
n_values(I)
values(I) n_values
POMAPI int POM_insert_attr_doubles ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const double *  values 
)

Inserts the specified value into the specified VLA attribute at the specified position.

The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.

Note
VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I)
instance_tags(I) n_instances
attr_id(I)
start(I)
n_values(I)
values(I) n_values
POMAPI int POM_insert_attr_ints ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const int *  values 
)

Inserts the specified value into the specified VLA attribute at the specified position.

The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.

Note
VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I)
instance_tags(I) n_instances
attr_id(I)
start(I)
n_values(I)
values(I) n_values
POMAPI int POM_insert_attr_logicals ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const logical values 
)

Inserts the specified value into the specified VLA attribute at the specified position.

The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.

Note
VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I)
instance_tags(I) n_instances
attr_id(I)
start(I)
n_values(I)
values(I) n_values
POMAPI int POM_insert_attr_nulls ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values 
)
Parameters
n_instances(I)
instance_tags(I) n_instances
attr_id(I)
start(I)
n_values(I)
POMAPI int POM_insert_attr_strings ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
char **  values 
)

Inserts the specified value into the specified VLA attribute at the specified position.

The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.

Note
VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I)
instance_tags(I) n_instances
attr_id(I)
start(I)
n_values(I)
values(I) n_values
POMAPI int POM_insert_attr_tags ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const tag_t values 
)

Inserts the specified value into the specified VLA attribute at the specified position.

The maximum value for start is the length of the VLA, at which point the insert becomes equivalent to an append.

Note
VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance of a class with a VLA attribute is created, that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I)
instance_tags(I) n_instances
attr_id(I)
start(I)
n_values(I)
values(I) n_values
POMAPI int POM_install_application ( const char *  name,
const char *  password 
)

This function causes the POM to record the name and password of the new application. This allows that application to call POM_register_application - which compares the password given then to the one given here to authenticate the application.

This function is restricted to Teamcenter system administrators only.


Supports rollback using markpoints: NO.

Parameters
name(I) Unique ID for application
password(I) Password for the application of the given name
POMAPI int POM_instance_exists ( tag_t  instance_tag,
logical verdict 
)

Tests that an instance is a valid instance.
This is useful when using POM_no_lock on loaded data, since "no lock" implies no referential integrity other sessions can delete data that is loaded via POM_no_lock.
Note that a stub "exists" so you can reference a non-local object, but when you load one you will get a POM_inst_not_local error.
Verdict will be true for the following cases:

  • Newly created but not yet saved instance. No Database trip will be incurred.
  • Loaded instance locked with POM_modify_lock or POM_read_lock. No Database trip will be incurred.
  • Instance is online (i.e there is a record in POM_object). This will incur a database trip.
  • There is a stub record for this object. This will incur a database trip.


Verdict will be false if none of the above is true or the tag is configured to a logically deleted versionable instance.
Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of the instance
verdict(O) True if the instance does exist in the DB
POMAPI int POM_instances_of_class ( tag_t  class_id,
logical  include_subclasses,
int *  n_instances,
tag_t **  instance_tags 
)

Returns all the instances of the specified class.

When the include_subclasses is TRUE, instances of subclasses (and subclasses of subclasses, etc.) are also returned.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class
include_subclasses(I) Whether to include instances of subclasses too
n_instances(O) Number of instances
instance_tags(OF) n_instances Tags of instances
POMAPI int POM_is_application_identified ( int  application_id,
int  application_code,
logical result 
)

checks if the input application is set currently. see POM_identify_application for more information.


Supports rollback using markpoints: YES.

Parameters
application_id(I) Session time identifier for the application
application_code(I) code used to authenticate the user of an application_id
result(O) returns true, if input application-context is set.
POMAPI int POM_is_application_installed ( const char *  application_name,
const char *  application_password,
logical result 
)

Checks whether an application is installed or not.


Supports rollback using markpoints: YES.

Parameters
application_name(I) Unique ID for application
application_password(I) Password for the application of the given name
result(O) returns true if input application is installed
POMAPI int POM_is_application_registered ( const char *  application_name,
const char *  application_password,
logical result 
)

Check if an application is already registered in a session.


Supports rollback using markpoints: YES.

Parameters
application_name(I) Unique ID for application
application_password(I) Password for the application of the given name
result(O) True if the application is currently registered
POMAPI int POM_is_cached ( tag_t  instance,
logical is_cached 
)

Indicates whether or not this object is a local cache. An object is counted as a cache if its master copy resides at a different IMC.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of the object
is_cached(O) Indication of whether or not the object is cached
POMAPI int POM_is_database_there ( int *  state)

(Does not need a prior POM_init call) Attempts to connect to the database and returns state:

  • 0 - database is present and appears to be installed
  • 1 - can connect to the database, but it appears not to have POM tables installed
  • 2 - can't connect to the database


Supports rollback using markpoints: YES.

Parameters
state(O)
POMAPI int POM_is_descendant ( tag_t  class_id,
tag_t  sub_class_id,
logical answer 
)

Finds out if one class is anywhere in the class structure below another class.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of possible superclass
sub_class_id(I) ID of possible subclass
answer(O) Whether it is a subclass or not
POMAPI int POM_is_frozen ( tag_t  instance,
logical verdict 
)

Checks whether the given instance is frozen


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of instance to test
verdict(O) True or false
POMAPI int POM_is_loaded ( tag_t  instance,
logical verdict 
)

Checks whether the given instance is loaded in the callers DS or not. Newly created instances are counted as loaded as they are already present in DS.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of instance to test
verdict(O) True or false
POMAPI int POM_is_newly_created ( tag_t  instance,
logical answer 
)

Determines whether the specified instance has ever been saved to the database.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of instance to test
answer(O) True or false
POMAPI int POM_is_possible_earliest_date ( const date_t value,
logical result 
)

Retrieves true if the specified local time-zone date value is possibly an earliest date value otherwise returns false.
For historical reasons the POM_ask_earliest_date() value might possibly have been stored in the database in a range of date-time values between 1900 01 01 00:00:00 UTC and 1900 01 03 00:00:00 UTC, not including the end points. Output value is true if the specified date is between these two date-time values otherwise it is false.


Supports rollback using markpoints: YES.

Returns
Parameters
value(I) Local time-zone date to be checked for possible earliest date
result(O) True if value is an earliest date value, otherwise false
POMAPI int POM_is_possible_earliest_utc_date ( const date_t value,
logical result 
)

Retrieves true if the specified UTC date value is possibly an earliest date value otherwise returns false.
For historical reasons the POM_ask_earliest_date() value might possibly have been stored in the database in a range of date-time values between 1900 01 01 00:00:00 UTC and 1900 01 03 00:00:00 UTC, not including the end points. Output value is true if the specified date is between these two date-time values otherwise it is false.


Supports rollback using markpoints: YES.

Returns
Parameters
value(I) UTC date to be checked for possible earliest date
result(O) True if value is an earliest date value, otherwise false
POMAPI int POM_is_running ( logical logged_in)

Used to check whether POM is running (i.e., whether a user is logged in).


Returns

  • POM_not_yet_started (and logged_in false) if POM_init_module has not been called
  • POM_ok and logged_in false if POM is initialised, but no user is logged in
  • POM_ok and logged_in true if POM is initialised and a user is logged in


Supports rollback using markpoints: YES.

Parameters
logged_in(O) True or false
POMAPI int POM_is_sub_group ( tag_t  group,
tag_t  sub_group,
logical answer 
)

Returns if a group is a sub-group of the input group.


Supports rollback using markpoints: YES.

Parameters
group(I) Tag of parent group
sub_group(I) Tag of sub-group
answer(O)
POMAPI int POM_is_tag_valid ( tag_t  tag,
logical answer 
)

Validates the given tag. For a tag to be valid it must correspond to an instance of a POM class.

Note
Tags of the classes and attributes themselves are not considered to be valid.


Supports rollback using markpoints: YES.

Parameters
tag(I) Tag to validate
answer(O) Returns true if tag is valid
POMAPI int POM_is_user_ga ( tag_t  group,
logical verdict 
)

Returns whether current user is group administrator of input group.


Supports rollback using markpoints: YES.

Parameters
group(I)
verdict(O)
POMAPI int POM_is_user_sa ( logical verdict)

The argument verdict is set to true if the current user is logged in under a privileged group.


Supports rollback using markpoints: YES.

Parameters
verdict(O) Logical result
POMAPI int POM_length_of_attr ( tag_t  instance,
tag_t  attr_id,
int *  length 
)

Find the current length of an attribute. This is most useful with VLAs, where the length of the attribute can change on a per instance basis.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag identifier for instance
attr_id(I) ID for attribute
length(O) Returned length
POMAPI int POM_list_connected_sessions ( int *  count,
char ***  descriptors 
)

Gives a count of the number of active sessions currently connected to the database For each session gives some text that describes the session.


Supports rollback using markpoints: YES.

Parameters
count(O)
descriptors(OF)
POMAPI int POM_list_group_members ( tag_t  a_group,
int *  n_members,
tag_t **  members 
)

Returns an array containing all the members of the specified group.


Supports rollback using markpoints: YES.

Parameters
a_group(I)
n_members(O)
members(OF) n_members
POMAPI int POM_load_class_extent ( const char *  aclass,
int *  n_instances,
tag_t **  instances,
int  lock_type 
)

Load all instances of input class. Note: This should only be used when you are loading instances of a class that have small population.


Supports rollback using markpoints: YES.

Parameters
aclass(I) Name of class
n_instances(O) count of objects
instances(OF) n_instances Array of tag of objects
lock_type(I) Only POM_no_lock lock_type is supported by this function.
POMAPI int POM_load_instances ( int  n_instances,
const tag_t instance_tags,
tag_t  class_to_load_as,
int  lock_type 
)

Loads the specified set of instances from the database, creating DS copies of them. The class_to_load_as argument is ignored (early versions allowed you to load just some superclass attributes). Note that all the instances must be of the same class. (You can use load_instances_any_class to load a mixture of classes) Note than none of the instances may be loaded already. (You can call POM_refresh_instances on loaded or unloaded instances)

If the lock type is POM_modify_lock, the instances are locked for modification, and no other session can lock them for modification or delete at the same time. If the lock type is POM_delete_lock, the instances are locked for delete, and no other session can lock them for modification or delete or create a reference to them at the same time. A POM_read_lock permits other sessions to lock instances for read or for modification. A POM_no_lock writes nothing to the database and hence has no impact on other sessions.

When lock_type is set to POM_delete_lock subsequent calls to POM_ask_attr_<type> functions on any of these instances will return POM_inst_locked_for_delete and will not return the attribute value as long as the instance's lock type remains POM_delete_lock.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to load
instance_tags(I) n_instances Tags of instances to load
class_to_load_as(I) ID of class to load instances as
lock_type(I) Indicates the type of lock required, can be either POM_no_lock, POM_read_lock, POM_modify_lock, or POM_delete_lock.
POMAPI int POM_load_instances_any_class ( int  n_instances,
const tag_t instances,
int  lock_type 
)

Loads the specified set of instances from the database, creating DS copies of them.

If lock_for_modify is true, the instances are locked for modification, and no other session can lock them for modification at the same time. Otherwise they are locked for read, and other sessions can lock them for read or for modification. Locks are obtained in class, instance_oid order

When lock_type is set to POM_delete_lock subsequent calls to POM_ask_attr_<type> functions on any of these instances will return POM_inst_locked_for_delete and will not return the attribute value as long as the instance's lock type remains POM_delete_lock.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to load
instances(I) n_instances Tags of instances to load
lock_type(I) Indicates the type of lock required, can be either POM_no_lock, POM_read_lock, POM_modify_lock, or POM_delete_lock.
POMAPI int POM_load_instances_by_enq ( tag_t  enquiry_id,
tag_t  class_to_load_as,
int  lock_type,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and loads the resulting set of instances from the database, creating DS copies of them. the class_to_load_as argument is ignored. If any instances cannot be loaded, then none of them are.

When lock_type is set to POM_delete_lock subsequent calls to POM_ask_attr_<type> functions on any of these instances will return POM_inst_locked_for_delete and will not return the attribute value as long as the instance's lock type remains POM_delete_lock.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
class_to_load_as(I) ID of class to load instances as
lock_type(I) Indicates the type of lock required, can be either POM_no_lock, POM_read_lock, POM_modify_lock, or POM_delete_lock.
n_instances(O) Number of instances to load
instances(OF) n_instances Instances to be loaded
POMAPI int POM_load_instances_possible ( int  n_instances,
const tag_t instances,
int *  n_ret_instances,
tag_t **  ret_instances 
)

Load a list of instances in such a way that any failures due to access controls or due to the instance being already loaded are ignored. The list of instances that are loaded is returned. This contains both instances that were already loaded and the ones that managed to load.

Note
Passing in the same tag multiple times will cause this routine to error. The caller of this routine must ensure that all input tags are unique values.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to load
instances(I) n_instances Instances to be loaded
n_ret_instances(O) Number of instances now loaded
ret_instances(OF) n_ret_instances Instances that are now loaded
POMAPI int POM_load_instances_possible_by_enquiry ( const char *  enq_id,
const char *  class_name,
int *  n_instances,
tag_t **  instances,
int *  n_failures,
tag_t **  failed_instances 
)

Load instances via a query.


Supports rollback using markpoints: YES.

Parameters
enq_id(I) Name of the enquiry
class_name(I) Name of the class
n_instances(O) Count of loaded objects
instances(OF) n_instances Array of tag of loaded objects
n_failures(O) Count of objects that satisy the query but couldnt be loaded
failed_instances(OF) n_failures Array of tag of objects that satisfy the query but couldnt be loaded
POMAPI int POM_loaded_class_of_instance ( tag_t  instance_tag,
tag_t class_id 
)

This is the class of the instance as it has been loaded in, not necessarily the one in which it was created (it is possible to load the instance as an instance of its own class, or any superclass thereof - go to POM_load_instances).

The DB class of an instance can be obtained using POM_class_of_instance.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance
class_id(O) ID of class to which instance belongs
POMAPI int POM_location_of_instance ( tag_t  instance,
tag_t location 
)

Get owning site for an object.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of object
location(O) Tag of owning site
POMAPI int POM_lock_instances_for_reference ( unsigned int  n_ref_instances,
const tag_t ref_instances,
unsigned int *  n_failed_ref_instances,
tag_t **  failed_ref_instances 
)

Locks the given list of tags for reference to prevent them from been deleted.

Returns
  • POM_ok on success
  • Any other errors resulting from Database query
Parameters
n_ref_instances(I) Number of instances to lock
ref_instances(I) n_ref_instances Tags of instances to lock
n_failed_ref_instances(O) Number of instances that failed to lock
failed_ref_instances(OF) n_failed_ref_instances tags that failed to lock
POMAPI int POM_login ( const char *  user_name,
const char *  password,
const char *  group_name 
)

Logs the named user into POM, which must have been already initialized.


Supports rollback using markpoints: NO.

Parameters
user_name(I)
password(I)
group_name(I)
POMAPI int POM_login_sponsored ( const char *  user_name,
const char *  password,
const char *  sponsored_user_name,
const char *  sponsored_group_name 
)

Logs the sponsored user into POM, which must have been already initialized.
The sponsored_user_name is the user that will be logged in, and actions will run as that user.
The user_name and password are used to authenticate the sponsoring user.
The sponsored_user_name and sponsored_group_name are used to authenticate the sponsored user.
Supports rollback using markpoints: NO.

Returns
Parameters
user_name(I) Sponsoring user
password(I) Sponsoring users password
sponsored_user_name(I) Sponsored user
sponsored_group_name(I) Group of the sponsored user
POMAPI int POM_logout ( logical  ignore_unsaved_stuff)

Logs the user out from POM. If ignore_unsaved_stuff is false, the POM will return an error and not log out if there are unsaved instances. If ignore_unsaved_stuff is true, the POM will logout.


Supports rollback using markpoints: NO.

Parameters
ignore_unsaved_stuff(I) Whether to log out even though there are unsaved changes in DS
POMAPI int POM_look_for_lost_locks ( int *  n_lost,
tag_t **  lost,
int **  why,
char ***  who 
)

When you lock something for modify you expect to be able to save it later. However there are a few cases when you might lose your lock. Attempting to save your object after losing the lock will give you an error, but you might want to find out ahead of time. Reasons you might lose your lock are:- POM_lost_lock_session_gone The database is shut down and restarted (without you connected) and then someone else wants your lock, so they assume your process had crashed and gone away, so claim your lock. POM_lost_lock_session_gone Someone runs clearlocks in the same circumstances. POM_lost_lock_session_killed Someone runs clearlocks assert dead and asserts your session to be dead. POM_lost_lock_stolen Someone with SA privilege asserts his right to steal your lock. POM_lost_lock_dont_know The lock has gone, but the auditing tables have not been installed This function will return POM_ok even if it finds some locks missing.


Supports rollback using markpoints: YES.

Parameters
n_lost(O) Number of my locks that are now missing
lost(OF) n_lost Objects that have lost their locks
why(OF) n_lost Reasons the locks were lost
who(OF) n_lost Strings to describe the session that stole the lock
POMAPI int POM_lookup_imc ( int  site_id,
tag_t imc 
)

Returns the tag of the IMC object for the given site..


Supports rollback using markpoints: YES.

Parameters
site_id(I)
imc(O)
POMAPI int POM_modifiable ( tag_t  instance,
logical verdict 
)

Checks whether the given instance is loaded in the callers DS for modify. Newly created instances are counted as modifiable.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of instance to test
verdict(O) True or false
POMAPI int POM_modify_char ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
char  value 
)

For the specified instances (which must all be in the same class), this function changes the specified attribute to the specified value.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
value(I) Value to which to set attribute
POMAPI int POM_modify_char_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
char  value,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, this function changes the specified attribute to the specified value. When the enquiry produces no instances, then n_instances is 0, and "instances" is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
value(I) Value to which to set attribute
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_chars ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const char *  values 
)

For the specified instances (which must all be in the same class), this function changes (all or some of) the specified array-valued attribute to the specified array of values.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
POMAPI int POM_modify_chars_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
int  start,
int  n_values,
const char *  values,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, changes (all or some of) the specified array-valued attribute to the specified array of values. When the enquiry produces no instances, then n_instances is 0, and instances is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_date ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
date_t  value 
)

For the specified instances (which must all be in the same class), this function changes the specified attribute to the specified value.

Note
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
value(I) Value to which to set attribute
POMAPI int POM_modify_date_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
date_t  value,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, this function changes the specified attribute to the specified value. When the enquiry produces no instances, then n_instances is 0, and "instances" is NULL.

Note
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
value(I) Value to which to set attribute
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_dates ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const date_t values 
)

For the specified instances (which must all be in the same class), this function changes (all or some of) the specified array-valued attribute to the specified array of values.

Note
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
POMAPI int POM_modify_dates_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
int  start,
int  n_values,
const date_t values,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, changes (all or some of) the specified array-valued attribute to the specified array of values. When the enquiry produces no instances, then n_instances is 0, and instances is NULL.

Note
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_double ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
double  value 
)

For the specified instances (which must all be in the same class), this function changes the specified attribute to the specified value.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
value(I) Value to which to set attribute
POMAPI int POM_modify_double_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
double  value,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, this function changes the specified attribute to the specified value. When the enquiry produces no instances, then n_instances is 0, and "instances" is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
value(I) Value to which to set attribute
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_doubles ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const double *  values 
)

For the specified instances (which must all be in the same class), this function changes (all or some of) the specified array-valued attribute to the specified array of values.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
POMAPI int POM_modify_doubles_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
int  start,
int  n_values,
const double *  values,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, changes (all or some of) the specified array-valued attribute to the specified array of values. When the enquiry produces no instances, then n_instances is 0, and instances is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_int ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  value 
)

For the specified instances (which must all be in the same class), this function changes the specified attribute to the specified value.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
value(I) Value to which to set attribute
POMAPI int POM_modify_int_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
int  value,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, this function changes the specified attribute to the specified value. When the enquiry produces no instances, then n_instances is 0, and "instances" is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
value(I) Value to which to set attribute
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_ints ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const int *  values 
)

For the specified instances (which must all be in the same class), this function changes (all or some of) the specified array-valued attribute to the specified array of values.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
POMAPI int POM_modify_ints_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
int  start,
int  n_values,
const int *  values,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, changes (all or some of) the specified array-valued attribute to the specified array of values. When the enquiry produces no instances, then n_instances is 0, and instances is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_logical ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
logical  value 
)

For the specified instances (which must all be in the same class), this function changes the specified attribute to the specified value.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
value(I) Value to which to set attribute
POMAPI int POM_modify_logical_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
logical  value,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, this function changes the specified attribute to the specified value. When the enquiry produces no instances, then n_instances is 0, and "instances" is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
value(I) Value to which to set attribute
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_logicals ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const logical values 
)

For the specified instances (which must all be in the same class), this function changes (all or some of) the specified array-valued attribute to the specified array of values.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
POMAPI int POM_modify_logicals_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
int  start,
int  n_values,
const logical values,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, changes (all or some of) the specified array-valued attribute to the specified array of values. When the enquiry produces no instances, then n_instances is 0, and instances is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_null ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id 
)

For the specified instances (which must all be in the same class), this function changes the specified attribute to NULL.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
POMAPI int POM_modify_null_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and for the resulting instances, changes the specified attribute to NULL. When the enquiry produces no instances, then n_instances is 0, and instances_tags is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_nulls ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values 
)

For the specified instances, this function changes (all or some of) the specified array-valued attribute to NULL.

The attribute must exist for all the instances, therefore there must be a class with that attribute, and the instances must be in that class or a subclass of it.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
POMAPI int POM_modify_nulls_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
int  start,
int  n_values,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and for the resulting instances, changes (all or some of) the specified array-valued attribute to NULL.

When the enquiry produces no instances, then n_instances is 0, and instances_tags is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_string ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
const char *  value 
)

For the specified instances (which must all be in the same class), this function changes the specified attribute to the specified value.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
value(I) Value to which to set attribute
POMAPI int POM_modify_string_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
const char *  value,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, this function changes the specified attribute to the specified value. When the enquiry produces no instances, then n_instances is 0, and "instances" is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
value(I) Value to which to set attribute
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_strings ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
char **  values 
)

For the specified instances (which must all be in the same class), this function changes (all or some of) the specified array-valued attribute to the specified array of values.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
POMAPI int POM_modify_strings_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
int  start,
int  n_values,
char **  values,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, changes (all or some of) the specified array-valued attribute to the specified array of values. When the enquiry produces no instances, then n_instances is 0, and instances is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_tag ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
tag_t  value 
)

For the specified instances (which must all be in the same class), this function changes the specified attribute to the specified value.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
value(I) Value to which to set attribute
POMAPI int POM_modify_tag_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
tag_t  value,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, this function changes the specified attribute to the specified value. When the enquiry produces no instances, then n_instances is 0, and "instances" is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
value(I) Value to which to set attribute
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_modify_tags ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const tag_t values 
)

For the specified instances (which must all be in the same class), this function changes (all or some of) the specified array-valued attribute to the specified array of values.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to modify
instance_tags(I) n_instances Tags of instances to modify
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
POMAPI int POM_modify_tags_by_enq ( tag_t  enquiry_id,
tag_t  attr_id,
int  start,
int  n_values,
const tag_t values,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, changes (all or some of) the specified array-valued attribute to the specified array of values. When the enquiry produces no instances, then n_instances is 0, and instances is NULL.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
attr_id(I) ID of attribute
start(I) Index of first element in array to set
n_values(I) Number of values to set
values(I) n_values
n_instances(O) Number of instances to modify
instances(OF) n_instances Tags of instances to modify
POMAPI int POM_name_of_class ( tag_t  class_id,
char **  class_name 
)

Returns the name of a class which is specified by its ID.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class
class_name(OF) Name of class
POMAPI int POM_negate_enquiry ( tag_t  enquiry_id,
tag_t new_enquiry_id 
)
Parameters
enquiry_id(I)
new_enquiry_id(O)
POMAPI int POM_new_group ( const char *  name,
int  privilege,
tag_t new_group 
)

Creates a new group (an instance of the class "POM_group").

Note
The name is forced to lower case before being set.

Restrictions:

You must be logged in as a System Administrator to use this function.

Return values: POM_invalid_string - Invalid name null or exceeds POM_MAX_NOTE_LENGTH
POM_invalid_value - Invalid privilege - must be 0 or 1.


Supports rollback using markpoints: YES.

Parameters
name(I) The new group's name
privilege(I) The new group's SA privilege (1 if it is an SA group, 0 if not)
new_group(O) The new group
POMAPI int POM_new_h_group ( const char *  name,
int  privilege,
tag_t  parent_group,
tag_t new_group 
)

Creates a new group and add it as a sub-group in the input parent group.

Restrictions: You must be logged in as a System Administrator to use this function.


Supports rollback using markpoints: YES.

Parameters
name(I) Name of group
privilege(I) Group Privilege (1 for system admin group else 0 )
parent_group(I) Tag of parent group
new_group(O) Tag of created group
POMAPI int POM_new_member ( tag_t  user,
tag_t  group,
logical  as_ga,
tag_t new_member 
)

Creates an instance of the class POM_member, and sets to the specified values the:

  • user
  • group
  • "ga" status

The tag of the member created is returned in the argument new_member. To create a member instance, the calling user must be either a Teamcenter system administrator or the group administrator of the group in which the member will reside. The as_ga flag allows a member to be deemed a group administrator of the group.


Supports rollback using markpoints: YES.

Parameters
user(I) User to be made a member of the group given
group(I) Group to grant the user membership of
as_ga(I) Whether to grant group administrator privilege to the member
new_member(O) Tag of the new member
POMAPI int POM_new_user ( const char *  user_id,
const char *  user_name,
const char *  password,
tag_t new_user 
)

Creates an instance of the class POM_user and sets to the values specified the:

  • user_id (forced to lower case)
  • user_name
  • password

The tag of the user created is returned in new_user. The user must be a Teamcenter system administrator to create a user.


Supports rollback using markpoints: YES.

Parameters
user_id(I) Login name for the user
user_name(I) Full name for the user
password(I) User's password
new_user(O) Tag of the new user
POMAPI date_t POM_null_date ( void  )
POMAPI date_t* POM_null_date_ptr ( void  )
POMAPI int POM_order_instances ( tag_t  class_id,
int  n_instances,
const tag_t instances,
int  n_attrs,
const tag_t attr_ids,
const int *  up_or_down_tokens,
tag_t **  ordered_instances 
)

This function takes a class ID and an array of attributes (which must be attributes of the specified class) and an array of POM_order_ascending / POM_order_descending tokens (which must be the same size as the array of attributes). It also takes an array of loaded POM instances, all of which must be instances of the class specified (or subclasses thereof). It returns an ordered array of POM objects.

Attributes which are NULL are taken to be equal to other NULL values. NULL values are ordered after non-NULL values when ordering in ascending order, and vice-versa (i.e., NULL values are logically greater than all non-NULL values).

Note
The instances must be loaded and currently, only one attribute can be specified for the ordering. None of the attributes being ordered can be empty, or array attributes.


Supports rollback using markpoints: YES.

Parameters
class_id(I) Class ID containing the attributes
n_instances(I) Number of instances to sort
instances(I) n_instances Array of instances to sort
n_attrs(I) Number of attributes to compare
attr_ids(I) n_attrs Array of attributes
up_or_down_tokens(I) n_attrs POM_order_ascending / POM_order_descending tokens
ordered_instances(OF) n_instances Returned array of instances
POMAPI int POM_pack_strings ( int  n_strings,
char **  strings,
char ***  packed_strings 
)

Given an array of strings, this API copies them into a contiguous memory block. The output array of packed strings can be accessed similar to input array of unpacked strings. The packed representation can be freed with a single MEM_free call.


Supports rollback using markpoints: YES.

Parameters
n_strings(I) Count of strings
strings(I) n_string Array of unpacked strings
packed_strings(OF) Packed string array
POMAPI int POM_place_markpoint ( int *  markpoint_number)

Places a "markpoint" (i.e., notes the state of the DS). Markpoints are places in a POM session that can be returned to within the current POM session. Certain POM calls (i.e., saving and removing classes) cannot be undone and will prevent markpoints placed earlier from being returned to.

Information about whether a function supports rollback or not is provided in the documentation of each function. Functions which support rollback are subject to conditions noted in POM_roll_to_markpoint. Other ITK modules should not be assumed to be markpoint safe unless specifically stated as such.

Note
Once POM_place_markpoint has been called, POM is prepared to undo any changes made during that session to the point specified. It therefore has to store the state of everything it changes. This can require substantial amounts of system memory.
POM_forget_markpoint will free up system resources that were used for POM_place_markpoint.
Parameters
markpoint_number(O) Integer to identify markpoint
POMAPI int POM_preinit_pattern_match ( int  pattern)

Sets the wild card characters using the input pattern.
It registers the preference driven wildcards so POM login matches group name using them instead of POM�s default.


Valid values for the input pattern are:

  • 1: the wild card character '_'
  • 2: the wild card character '.'
  • 3: the wild card character '?'
Returns
  • POM_ok if the input pattern match style is valid and the operation has succeeded.
  • POM_invalid_value if the input pattern match style is invalid.


Supports rollback using markpoints: YES.

Parameters
pattern(I) Input pattern match style
POMAPI int POM_read_file ( const char *  pathname,
char **  application,
int *  version,
tag_t file 
)

A file written using POM_write_file can be read back into POM cache using this API.

See Also
POM_file_view_instance POM_file_recover_instance POM_unload_file


Supports rollback using markpoints: NO.

Parameters
pathname(I)
application(OF)
version(O)
file(O)
POMAPI int POM_referencers_of_instance ( tag_t  instance_tag,
int  n_levels,
int  where_to_search,
int *  n_instances,
tag_t **  ref_instances,
int **  instance_levels,
int **  instance_where_found,
int *  n_classes,
tag_t **  ref_classes,
int **  class_levels,
int **  class_where_found 
)

Returns the instances and classes in the database which contain references to the specified instance.

n_levels must be �1� � the function is defined to allow possibility of this being extended to multiple levels in a single request.

The where_to_search argument allows the search domain to be specified as Data Search, Data Base, or Data Search and Data Base.

Each returned instance or class has a corresponding entry in the _levels array saying how many levels away it was. At present this will always be �1�.

If a class is found to be referencing an instance, then there will be a class variable (a typed or untyped reference) that contains the reference. Class variables are always updated in the DB, therefore the class_where_found return value will always be POM_in_db_only. All the instances of that class are added to the list of instances.


Supports rollback using markpoints: YES.

Parameters
instance_tag(I) Tag of instance
n_levels(I) Number of levels to search
where_to_search(I) Where to search
POM_in_ds_only
POM_in_db_only
POM_in_ds_and_db
n_instances(O) Number of referencing instances
ref_instances(OF) n_instances Tags of referencing instances
instance_levels(OF) n_instances Levels of referencing instances
instance_where_found(OF) n_instances Where the instance was found
n_classes(O) Number of referencing classes
ref_classes(OF) n_classes Tags of referencing classes
class_levels(OF) n_classes Levels of referencing classes
class_where_found(OF) n_classes Where the class was found (always DB)
POMAPI int POM_refresh_instances ( int  n_instances,
const tag_t instances,
tag_t  class_to_load_as,
int  lock_type 
)

Refreshes the specified set of instances. For instances which are locked-for-modification, this restores the attributes to the values they had when the instances were loaded. For read-only instances the values are reread from the database if the instances have been modified by another POM session.

The type of lock held on the instance can be altered. Instances that were originally read-locked can be locked for modification (if no other session is currently modifying the instance) and instances which are no longer going to be modified can have their locks "degraded" to read-only locks. Locks are obtained in class, instance_oid order

The class_to_load_as argument is ignored (early versions allowed you to load just some superclass attributes).

When lock_type is set to POM_delete_lock subsequent calls to POM_ask_attr_<type> functions on any of these instances will return POM_inst_locked_for_delete and will not return the attribute value as long as the instance's lock type remains POM_delete_lock.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to refresh
instances(I) n_instances Tags of instances to refresh
class_to_load_as(I)
lock_type(I) Indicates the type of lock required, can be either POM_no_lock, POM_read_lock, POM_modify_lock, or POM_delete_lock.
POMAPI int POM_refresh_instances_any_class ( int  n_instances,
const tag_t instances,
int  lock_type 
)

Refreshes the specified set of instances.

For instances which are locked-for-modification this restores the attributes to the values they had when the instances were loaded.

For read-only instances the values are re-read from the database if the instances have been modified by another POM session. If the instance was not originally loaded, it will be loaded (in this sense this function is superior to POM_load_instances_any_class because it will deal with POM objects in any loaded state). The instances to be refreshed are each refreshed to their actual class - so if they were originally loaded as a superclass of their actual class, the missing attributes will be loaded. The instances specified do not have to be all of the same class.

In addition the type of lock held on the instance can be altered. Instances that were originally read-locked can be locked for modification - if no other session is currently modifying the instance - and instances which are no longer going to be modified can have their locks "degraded" to read-only locks. Locks are obtained in class, instance_oid order

When lock_type is set to POM_delete_lock subsequent calls to POM_ask_attr_<type> functions on any of these instances will return POM_inst_locked_for_delete and will not return the attribute value as long as the instance's lock type remains POM_delete_lock.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to refresh
instances(I) n_instances Tags of instances to refresh
lock_type(I) Indicates the type of lock required, can be either POM_no_lock, POM_read_lock, POM_modify_lock, or POM_delete_lock.
POMAPI int POM_refresh_required ( tag_t  instance,
logical verdict 
)

Checks whether the given instance, loaded for read in the callers DS, requires a refresh or not. This function tests whether the DB representation of the instance is different to the loaded instances. For instances loaded for read this implies that some other session has modified the instance since it was loaded.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of instance to test
verdict(O) True or false
POMAPI int POM_regen_schema_file ( const char *  initial_user,
const char *  initial_password,
const char *  initial_group 
)

Regenerates the schema files based on information in the database. Typically schema file needs to be updated after schema changes are made in the database.


Supports rollback using markpoints: NO.

Parameters
initial_user(I) Name of user
initial_password(I) Password of user
initial_group(I) Group of user
POMAPI int POM_register_application ( const char *  application_name,
const char *  application_password,
int *  application_id,
int *  application_code 
)

Registers the applications existence in the calling session. The password is compared to the encrypted password stored in the database to validate the application. Since this operation involves some database usage it is reasonably slow. For this reason it returns an application identifier and code word so that the application can identify itself quickly throughout the rest of the session. See POM_identify_application.


Supports rollback using markpoints: YES.

Parameters
application_name(I) Name of the application being registered
application_password(I) Password used to authenticate the application
application_id(O) Session time identifier for the application
application_code(O) Code used to authenticate the user of an application_id
POMAPI int POM_remove_from_attr ( int  n_instances,
const tag_t instances,
tag_t  attr_id,
int  position,
int  number 
)

Removes "number" elements from the specified VLA at the specified position. (The rest of the VLA effectively moves down to fill the gap, so the length is reduced by "number.")

Note
VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance of a class, with a VLA attribute is created that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I)
instances(I) n_instances
attr_id(I)
position(I)
number(I)
POMAPI int POM_remove_index ( const char *  index_name,
tag_t  class_id 
)

Removes an index definition from the class definition.


Supports rollback using markpoints: NO.

Parameters
index_name(I) Name of index
class_id(I) ID of class from which to remove index
POMAPI int POM_reorder_attr ( int  n_instances,
const tag_t instances,
tag_t  attr_id,
int  start,
int  number,
int  newstart 
)

Extracts the part of the VLA VLA[start...start + number] and inserts it at VLA[newstart], that is, the "newstart"th position of the VLA after the extraction has taken place.

For example, if the VLA is

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Then start =5, number =3, newstart =10 produces

1 2 3 4 5 9 10 11 12 13 6 7 8 14 15

So that what was the fifth element is now the tenth. Remember that VLAs use "C" type indexing (from zero up) for arrays.

If newstart is large enough that the reordering would leave a gap between the end of the current list and newstart, then fails. This happens if newstart + number > "length."

Note
VLAs are attributes which can have a variable number of elements of their declared type. The data type of the VLA and class type (for typed references) or string length (for notes and strings) is declared when the attribute is defined. When an instance of a with a VLA attribute is created that VLA attribute is initialized to zero length.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to reorder
instances(I) n_instances Array of n_instances tags of these instances
attr_id(I) ID of the VLA attribute
start(I) Position in the VLA to move the values from
number(I) Number of values to be moved
newstart(I) Destination for the values moved
POMAPI int POM_replace_string_value ( const char *  class_name,
const char *  attr_name,
const char *  old_str_value,
const char *  new_str_value,
logical  match_exact_value 
)

Replaces the attribute value for ALL instances of a class. This function is not supported on a class storing versionable data except when the attribute name is "object_type". This is to support the case of changing the name of a TC type.

Restrictions: You must be logged in as a System Administrator to use this function.


Supports rollback using markpoints: YES.

Parameters
class_name(I) Name of class
attr_name(I) Name of attribute
old_str_value(I) Old value of attribute
new_str_value(I) New value of attribute
match_exact_value(I) Whether old value should match exactly or not
POMAPI int POM_revert_attr ( const tag_t  instance,
tag_t  attr_id 
)

Reverts the value of the attribute specified to that last saved to the database.


Supports rollback using markpoints: YES.

Parameters
instance(I)
attr_id(I)
POMAPI int POM_roll_to_markpoint ( int  markpoint_number,
logical state_has_changed 
)

Attempts to undo all the POM commands that have been executed since the specified markpoint was placed. Note: rolls to just before the markpoint, so leaves the markpoint deleted.

There are conditions where POM_roll_to_markpoint will not undo the POM commands executed since the specified markpoint was placed. These include:

  • Data changed by another session.
  • The markpoint has expired.
  • POM calls that cannot be undone were called since POM_place_markpoint. The POM_place_markpoint description lists the functions that cannot be undone.
  • System problems such as loss of DB connection or a memory full condition.

Descriptions of the changed data and markpoint expiration conditions follow.

POM_roll_to_markpoint can undo changes made since the corresponding POM_place_markpoint call made within the same session. If a second session finds and modifies the data made within these boundaries the first session cannot undo the changes made by the second session. For example, if you, a user, create and save an object and someone else, another user, finds and references it, the rollback cannot succeed because the new object has been referenced. Also, if you saved the object and its lock was released then someone else could change it further. At this point you cannot rollback your change because that would require the other user to first undo their change. In general the reliability of the rollback can be improved if any creates are kept private as long as possible and any locks obtained after the markpoint was placed are retained until after the rollback/forget point. Where possible it is better to use a single POM_save_instances call within the markpoint boundary function calls (POM_place_markpoint and POM_forget_markpoint/POM_roll_to_markpoint).

After a markpoint expires, a POM_roll_to_markpoint call cannot undo changes made since the corresponding POM_place_markpoint call. A markpoint expires when POM_forget_markpoint is called or the markpoint is removed from the system's revolving queue of markpoints. The system maintains a revolving queue of markpoints. (There are 200 places in the queue.) As new markpoints are placed and the queue length reaches the maximum number of places then old markpoints are automatically expired. This frees up memory, but the automatically expired markpoints cannot be used for rollbacks. The typical usage is for smaller operations like item create and dataset save which require few markpoints. Some operations may use a lot of system memory but only one place in the markpoint queue. On the other hand, some other operations could use all the places in the markpoint queue.

Parameters
markpoint_number(I) Identifier of target markpoint
state_has_changed(O) Determines whether the rollback actually changed anything
POMAPI int POM_save_instances ( int  n_instances,
const tag_t instance_tags,
logical  whether_to_unload 
)

Saves a set of instances to the database, optionally discarding the DS information. The set of instances to save may include instances to delete from the database.

Instances being processed by POM_save_instances must be either newly created instances or have been locked by passing POM_modify_lock or POM_delete_lock in the lock_type input parameter to a function that loads or refreshes instances. These include:

Returns POM_ok on success or a POM error indicating the type of failure that occurred.

Returns
  • POM_ok on success
  • POM error indicating the type of failure that occurred.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to save
instance_tags(I) n_instances Tags of instances to save
whether_to_unload(I) Whether to unload instances after saving (same for each instance)
POMAPI int POM_save_required ( tag_t  instance,
logical verdict 
)

Checks whether the given instance, newly created or loaded for modify in the callers DS, has been modified or not. This tests whether the DS representation of the instance has been altered since the instance was loaded. The result is always false for instances loaded for read as they cannot be altered.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of instance to test
verdict(O) True or false
POMAPI int POM_scope_enquiry ( tag_t  enquiry_id,
tag_t  scope 
)
Parameters
enquiry_id(I)
scope(I)
POMAPI int POM_select_instances ( int  n_instances,
const tag_t instance_tags,
int  n_attrs,
const tag_t attr_ids,
tag_t  class_to_load_as,
int  lock_type 
)

Selects the values of the specified attributes for the specified instances. Values for attributes that are not specified are empty.

The instances are considered to be loaded (and can be refreshed to a fully loaded state later). See POM_refresh_instances.

This function loads the value for the specified instances into the DS, it does not return them. Use POM_ask_attr_<type>s to return the values.

All the instances must contain all the specified attributes, though they do not need to be of the same class. If the instances are all of the same class, NULLTAG can be specified as the class_to_load_as. If the instances are of different classes then a class ID must be specified. This class ID must be a class that contains all the attributes AND is a valid superclass for all the instances (the actual class of an instance is counted as a valid superclass).

Tokens:

POM_order_ascending
POM_order_descending

When lock_type is set to POM_delete_lock subsequent calls to POM_ask_attr_<type> functions on any of these instances will return POM_inst_locked_for_delete and will not return the attribute value as long as the instance's lock type remains POM_delete_lock.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to select
instance_tags(I) n_instances Tags of instances to select
n_attrs(I) Number of attributes to select
attr_ids(I) n_attrs IDs of attributes to select
class_to_load_as(I) Class ID the instances are to be selected as
lock_type(I) Indicates the type of lock required, can be either POM_no_lock, POM_read_lock, POM_modify_lock, or POM_delete_lock.
POMAPI int POM_select_instances_by_enq ( tag_t  enquiry_id,
int  n_attrs,
const tag_t attr_ids,
tag_t  class_to_load_as,
int  lock_type,
int *  n_instances,
tag_t **  instances 
)

Executes the specified enquiry and, for the resulting instances, selects the values of the specified attributes, ordered according to the values of the specified order-attributes. Values for attributes that are not specified are empty.

Each attribute can be ordered in ascending or descending order. The instances are ordered on the value of each attribute in turn, starting with the first attribute in the array.

If the enquiry produces no instances, n_instances is 0, and instances is NULL.

This function loads the value for the specified instances into the DS, it does not return them. Use POM_ask_attr_<type>s to return the values.

If any instances cannot be selected, then none of them are.

Tokens:

POM_order_ascending
POM_order_descending

When lock_type is set to POM_delete_lock subsequent calls to POM_ask_attr_<type> functions on any of these instances will return POM_inst_locked_for_delete and will not return the attribute value as long as the instance's lock type remains POM_delete_lock.


Supports rollback using markpoints: YES.

Parameters
enquiry_id(I) ID of enquiry to execute to select instances
n_attrs(I) Number of attributes to select
attr_ids(I) n_attrs IDs of attributes to select
class_to_load_as(I) Class ID the instances are to be selected as
lock_type(I) Indicates the type of lock required, can be either POM_no_lock, POM_read_lock, POM_modify_lock, or POM_delete_lock.
n_instances(O) Number of instances to select
instances(OF) n_instances Tags of instances to select
POMAPI int POM_set_archive_date ( tag_t  instance,
date_t  archive_date 
)

Sets the date specifying when the instance was archived. The instance must be loaded for modify, and must be saved afterwards to permanently record the date. An Teamcenter system administrator can set this value on any object. An ordinary user must be the owning user of the object to use this function.

Note
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
instance(I)
archive_date(I)
POMAPI int POM_set_archive_date_null ( tag_t  instance)

Sets the archive date attribute to NULL for a POM application object instance.


Supports rollback using markpoints: YES.

Parameters
instance(I) Instance in which to set the archive date to NULL
POMAPI int POM_set_archive_info ( tag_t  instance,
const char *  archive_info 
)

Sets the archive information string associated with the instance. The instance must be loaded for modify, and must be saved afterwards to permanently record the information. An Teamcenter system administrator can set this value on any object. An ordinary user must be the owning user of the object to use this function.


Supports rollback using markpoints: YES.

Parameters
instance(I)
archive_info(I)
POMAPI int POM_set_archive_info_null ( tag_t  instance)

Sets the archive info attribute to NULL for a POM application object instance.


Supports rollback using markpoints: YES.

Parameters
instance(I) Instance in which to set the archive date to NULL
POMAPI int POM_set_attr_char ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
char  value 
)

Changes the specified attribute to the specified value for each of the specified instances (which must all be in the same class). The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
value(I)
POMAPI int POM_set_attr_chars ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const char *  values 
)

Changes (all or some of) the specified array-valued attribute to the specified array of values for each of the specified instances (which must all be in the same class). The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
start(I) Position in the VLA to start setting values
n_values(I) Number of values to be set
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_set_attr_date ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
date_t  value 
)

Changes the specified attribute to the specified value for each of the specified instances (which must all be in the same class). The changes occur in the DS only.

Note
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
value(I)
POMAPI int POM_set_attr_dates ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const date_t values 
)

Changes (all or some of) the specified array-valued attribute to the specified array of values for each of the specified instances (which must all be in the same class). The changes occur in the DS only.

Note
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).
See Also
POM_set_attr_utc_dates


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
start(I) Position in the VLA to start setting values
n_values(I) Number of values to be set
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_set_attr_double ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
double  value 
)

Changes the specified attribute to the specified value for each of the specified instances (which must all be in the same class). The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
value(I)
POMAPI int POM_set_attr_doubles ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const double *  values 
)

Changes (all or some of) the specified array-valued attribute to the specified array of values for each of the specified instances (which must all be in the same class). The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
start(I) Position in the VLA to start setting values
n_values(I) Number of values to be set
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_set_attr_int ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  value 
)

Changes the specified attribute to the specified value for each of the specified instances (which must all be in the same class). The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of tags of these instances
attr_id(I) Attribute ID
value(I)
POMAPI int POM_set_attr_ints ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const int *  values 
)

Changes (all or some of) the specified array-valued attribute to the specified array of values for each of the specified instances (which must all be in the same class). The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
start(I) Position in the VLA to start setting values
n_values(I) Number of values to be set
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_set_attr_logical ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
logical  value 
)

Changes the specified attribute to the specified value for each of the specified instances (which must all be in the same class). The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
value(I)
POMAPI int POM_set_attr_logicals ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const logical values 
)

Changes (all or some of) the specified array-valued attribute to the specified array of values for each of the specified instances (which must all be in the same class). The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
start(I) Position in the VLA to start setting values
n_values(I) Number of values to be set
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_set_attr_null ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id 
)

Changes the specified attributes to NULL for the specified instances. The changes occur in the DS only. The attribute must exist for all the instances, therefore there must be a class with that attribute, and the instances must be in that class or a subclass of it.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
POMAPI int POM_set_attr_nulls ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values 
)

Changes (all or some of) the specified array-valued attribute to NULL for the specified instances. The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
start(I) Position in the VLA to start setting values
n_values(I) Number of values to be set
POMAPI int POM_set_attr_string ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
const char *  value 
)

Changes the specified attribute to the specified value for each of the specified instances (which must all be in the same class). The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
value(I)
POMAPI int POM_set_attr_strings ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
char **  values 
)

Changes (all or some of) the specified array-valued attribute to the specified array of values for each of the specified instances (which must all be in the same class). The changes occur in the DS only.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
start(I) Position in the VLA to start setting values
n_values(I) Number of values to be set
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_set_attr_tag ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
tag_t  value 
)

Changes the specified attribute to the specified value for each of the specified instances (which must all be in the same class). The changes occur in the DS only.

No attribute of attr_id in instance_tags may be set to an instance value that is locked with POM_delete_lock.

Returns POM_ok on success or a POM error indicating the type of failure that occurred.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
value(I) value to set in attribute with attr_id in each element of instance_tags.
POMAPI int POM_set_attr_tags ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const tag_t values 
)

Changes (all or some of) the specified array-valued attribute to the specified array of values for each of the specified instances (which must all be in the same class). The changes occur in the DS only.

No attribute of attr_id in instance_tags may be set to values that include instances that are locked with POM_delete_lock.

Returns POM_ok on success or a POM error indicating the type of failure that occurred.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
start(I) Position in the VLA to start setting values
n_values(I) Number of values to be set
values(I) n_values array of instances to set in attribute with attr_id in each element of instance_tags.
POMAPI int POM_set_attr_utc_date ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
date_t  value 
)

Changes the specified attribute to the specified value for each of the specified instances (which must all be in the same class). The changes occur in the DS only.

Note
This function accepts the date in UTC time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).
Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
value(I)
POMAPI int POM_set_attr_utc_dates ( int  n_instances,
const tag_t instance_tags,
tag_t  attr_id,
int  start,
int  n_values,
const date_t values 
)

Changes (all or some of) the specified array-valued attribute to the specified array of values for each of the specified instances (which must all be in the same class). The changes occur in the DS only.

Note
This function accepts the date in UTC time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).
See Also
POM_set_attr_dates


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to set
instance_tags(I) n_instances Array of n_instances tags of these instances
attr_id(I) Attribute ID
start(I) Position in the VLA to start setting values
n_values(I) Number of values to be set
values(I) n_values Array of n_values of the appropriate type
POMAPI int POM_set_backup_date ( tag_t  instance,
date_t  backup_date 
)

Updates the backup date attribute in the given instance. This attribute cannot be directly updated via POM_set_attr_date due to application protection. This function allows the update, but only for system administrators.

Restrictions:

You must be a Teamcenter system administrator to use this function (since you are updating audit trail information).

Note
This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
instance(I)
backup_date(I)
POMAPI int POM_set_creation_date ( tag_t  instance,
date_t  creation_date 
)

Sets the creation date in a POM application object. This is intended to be used in upgrade programs that wish to retain audit info. This is only callable by a Teamcenter system administrator. If the creation date has not been set at the point that it is saved, then it will be automatically set.

Note on use with versionable instances: In general it only makes sense to call POM_set_creation_date on an unsaved first version, but in theory (e.g., if you wanted to correct a previously incorrect value) you could set the creation date on an existing instance, in which case it would follow the usual rules and hence only update latest, leaving historical versions with the previous value.

This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
instance(I) Instance in which to set the creation date
creation_date(I) New date to be set in instance
POMAPI int POM_set_creation_utc_date ( tag_t  instance,
date_t  creation_date 
)

Sets the creation date using the GMT instead of the local time (as POM_set_creation_date does).


Supports rollback using markpoints: YES.

Returns
Parameters
instance(I) Instance in which to set the creation date
creation_date(I) New date to be set in instance
POMAPI int POM_set_default_group ( tag_t  group_tag)

Sets the current users default group. This is the group which the user will be logged into if the POM_start call is given a NULLTAG for the group. The change occurs in the DS only, therefore the instance of the current user must be loaded for modify before this function can be called. To make this change permanent, the instance must at some point be saved back to the database.

If the group_tag is NULLTAG then this corresponds to "no default group", and any following attempts to log into POM without specifying a group will fail.


Supports rollback using markpoints: YES.

Parameters
group_tag(I) Tag of group
POMAPI int POM_set_env_info ( int  what_to_set,
logical  logical_value_to_set,
int  int_value_to_set,
double  double_value_to_set,
tag_t  tag_value_to_set,
const char *  string_value_to_set 
)

Sets the specified environmental information.

Currently it can be used to:

  • Enable/disable rollback
  • Enable/disable in-DS attribute-value-checking (for e.g. duplication of unique attributes, or for checking against upper/lower bounds)
  • Enable/disable POM journaling (writing functions and arguments to the system log - for debugging and bug reporting)
  • Enable/disable argument checking
  • Enable/disable logging the SQL processed to the file
  • Enable/disable creation of tracebacks from the ERROR system
  • Disable/enable access manager checks (value is "false" for AM bypass is disabled - AM checks are enabled by default). Requires Sys Admin privilege to change (intended for data migration utilities).
  • Disable/enable updating last modifying user and last modify dates when instances are saved (value is "true" for Attr bypass disabled (note: counter intuitive given AM bypass token). Requires Sys Admin privilege to change )intended for data migration utilities).
  • Setting pattern match characters for queries
    • the wildcard_one character will match any single character
    • the wildcard_any character will match a sequence of characters
    • the wildcard_escape charcter flags the following character as "not being special"
    • By default these are _ % and ~ so the string Hello_world% will match anything followed by Hello world% where the space between Hello and world can be any single character
  • Set the location of the directory where POM transmit files live (defaults to the POM_TRANSMIT_DIR environment variable)
  • Set the import mode (to one of POM_import_raise_error, POM_import_always_map, POM_import_default_to_map, POM_import_default_to_current or POM_import_default_as_apt)
  • Set the importing user and group (if importing in a mapping mode)
  • Enable/disable automatic unique constraint checking for private versions
  • Set POM as disabled (this can be used if we have lost a database connexion, or run out of memory) - in this mode most POM functions will simply return POM_api_disabled
  • Select the action to be taken if a database operation requires retrying
Token Type POM Initial Value ITK Initial Value
POM_rollback_switch* logicalfalse (OFF) false (OFF)
POM_ds_checking_switch* logicalfalse (OFF) false (OFF)
POM_error_traceback_switch*logicaltrue (ON) true (ON)
POM_log_sql_switch logicalOFF OFF
POM_journaling_switch logicaltrue (ON) true (ON)
POM_arg_checking_switch* logicaltrue (ON) true (ON)
POM_timeout_strategy* int 0 (don't retry)0 (don't retry)
POM_timeout_interval* int 0 (don't retry)0 (don't retry)
POM_bypass_access_check logicalfalse (OFF) false (OFF)
POM_bypass_attr_update logicaltrue (ON) true (ON)
POM_wildcard_character_one*int '_' 95, 0x5F '.' 46, 0x2E
POM_wildcard_character_any*int '' 37, 0x25 '*' 42, 0x2A
POM_escape_character* int '~' 126, 0x7E '~' 126, 0x7E
POM_transmit_directory* string $POM_TRANSMIT_DIR $POM_TRANSMIT_DIR
POM_import_mode* int POM_import_default_to_current POM_import_default_to_current
POM_import_to_user* tag unset unset/nulltag
POM_import_to_group* tag unset unset/nulltag
POM_disable_api* logicalfalse (POM enabled) false (POM enabled)
POM_enable_set_attr_callbacks*logicalfalse (POM enabled) false (POM enabled)- true
POM_check_private_uniqueness_switch*logicaltrue (ON) true (ON)
Note
Some ITK initial values may be changed by the login process.
Only for use with SPLM guidance.

The POM_timeout_strategy / POM_timeout_interval pair of "switches" determine the action that POM takes whenever a database operation requires to be retired (due to a deadlock detected by the database server, etc.). The "strategies" available are:

0 Do not retry but return with an error code.
POM_timeout_strategy_flat On each retry, wait for POM_timeout_interval seconds before retrying.
POM_timeout_strategy_linearOn each retry, wait for a linearly increasing period of time, starting from POM_timeout_interval seconds.
POM_timeout_strategy_exp Use an exponentially increasing delay between successive retries.

When the amount of time spent retrying the operation exceeds that specified by POM_set_timeout, POM returns with an error code to indicate that the call failed.


Supports rollback using markpoints: NO.

Parameters
what_to_set(I) Token to indicate what to set. One of the other five parameters is the value to set (the others are ignored)
logical_value_to_set(I)
int_value_to_set(I)
double_value_to_set(I)
tag_value_to_set(I)
string_value_to_set(I)
POMAPI int POM_set_group ( const char *  group_name_string,
tag_t group_tag 
)

Sets the group to the named group, and returns the tag of the group. The group must be a valid group for the user. A side effect of using this function is that any privileges that may have been set by the user (e.g. POM_bypass_access_check) will be cleared.


Supports rollback using markpoints: YES.

Parameters
group_name_string(I) Name of group
group_tag(O) Tag of group
POMAPI int POM_set_group_by_tag ( tag_t  group_tag)

Switches the login group for the user. The current user must be member of the input group.


Supports rollback using markpoints: YES.

Parameters
group_tag(I) Tag of group
POMAPI int POM_set_group_name ( tag_t  group,
const char *  name 
)

Sets the name of the supplied group to the given name. The user must either be a Teamcenter system administrator or the group administrator for the given group. Also refer to SA_set_group_name.


Supports rollback using markpoints: YES.

Parameters
group(I) Tag of group
name(I) Name to be given to the supplied group
POMAPI int POM_set_group_parent ( tag_t  group,
tag_t  parent 
)

Sets the parent group for a group.


Supports rollback using markpoints: YES.

Parameters
group(I) Tag of group
parent(I) Tag of parent group
POMAPI int POM_set_group_privilege ( tag_t  group,
int  privilege 
)

Sets the privilege attribute of the supplied group to be the specified value (0 or 1). When set to "1" any user logging into the specified group will have system administrator privileges. When set to "0" any user logging into the specified group will only have the rights of an "ordinary" user.


Supports rollback using markpoints: YES.

Parameters
group(I) Tag of group
privilege(I) Privilege (value) attribute of the supplied group
POMAPI int POM_set_instance_location ( tag_t  instance,
tag_t  location 
)

Sets the owning site of an object.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of object
location(I) Tag of owning site
POMAPI int POM_set_logins ( logical  enable_logins)

Enables or disables logins to POM (i.e., successful calls to POM_start) from other processes.

Note
If the process that has disabled logins logs out (using POM_stop), logins will be re-enabled. If the process that has disabled logins dies unexpectedly (without calling POM_stop, further attempts to log in will be blocked unless the user is attempting to log in under a privileged group, when logins will be re-enabled.

Restrictions: Only a Teamcenter system administrator can call this function.


Supports rollback using markpoints: YES.

Parameters
enable_logins(I) Whether to enable or disable logins
POMAPI int POM_set_member_group ( tag_t  member,
tag_t  group 
)

Sets the group attribute of the specified member instance to be the supplied group tag.

Both the member and the user must be loaded. The current user (the person logged in) must either be a Teamcenter system administrator or the group administrator of the group referenced from the member as well as the group administrator of the specified group.


Supports rollback using markpoints: YES.

Parameters
member(I) Tag of member
group(I) Tag of group
POMAPI int POM_set_member_is_ga ( tag_t  member,
logical  is_ga 
)

Sets the group administrator attribute for the supplied group to be the specified value.

The member must be loaded. The current user must either be a Teamcenter system administrator or the group administrator for the given group.


Supports rollback using markpoints: YES.

Parameters
member(I) Tag of member
is_ga(I) Value for the ga attribute
POMAPI int POM_set_member_user ( tag_t  member,
tag_t  user 
)

Sets the user attribute of the specified member instance to be the supplied user tag.

Both the member and the user must be loaded. The current user (the person logged in) must either be a Teamcenter system administrator or the group administrator of the given group.


Supports rollback using markpoints: YES.

Parameters
member(I) Tag of member
user(I) Tag of user
POMAPI int POM_set_modification_date ( tag_t  instance,
date_t  modification_date 
)

Sets the modification date in a POM application object. This is intended to be used in upgrade programs that wish to retain audit info. This is only callable by a Teamcenter system administrator.

Note
By default, the POM will automatically update the modification date (and last modifying user) so upgrade programs that set these fields themselves should use POM_set_env_info to set POM_bypass_attr_update in order to avoid the automatic update. Note that this flag must be set to FALSE to avoid the last modification date being updated when you save the instance.

This function accepts the date in local time and must be later than minimum specified by POM_ask_earlier_date (currently 2nd Jan 1900).


Supports rollback using markpoints: YES.

Parameters
instance(I) Instance in which to set the last-mod-date
modification_date(I) New date to be set in instance
POMAPI int POM_set_modification_user ( tag_t  instance,
tag_t  modification_user 
)

Sets the last modifying user in a POM application object. This is intended to be used in upgrade programs that wish to retain audit info. This is only callable by a Teamcenter system administrator.

Note
By default the POM will automatically update the last modifying user (and modification date) so upgrade programs that set these fields themselves should use POM_set_env_info to set POM_bypass_attr_update to avoid the automatic update.


Supports rollback using markpoints: YES.

Parameters
instance(I) Instance in which to set the archive date/info or set the archive date/info to null or to modify
modification_user(I) New user to be set in instance
POMAPI int POM_set_modification_utc_date ( tag_t  instance,
date_t  modification_date 
)

Sets the modification date using the GMT instead of the local time (as POM_set_modification_date does).


Supports rollback using markpoints: YES.

Returns
Parameters
instance(I) Instance in which to set the last-mod-date
modification_date(I) New date to be set in instance
POMAPI int POM_set_object_property ( tag_t  instance,
int  bit_to_set,
logical  value 
)

Setter function for the object_properties bit flags on POM_object

Tokens: POM_object_mask_frozen POM_object_mask_has_ixr POM_object_mask_is_locked


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of instance to test
bit_to_set(I) The object property flag to set
value(I) True or false
POMAPI int POM_set_owners ( int  n_instances,
tag_t instances,
tag_t  owning_user,
tag_t  owning_group 
)

Sets the owning user and group on a list of objects.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Count of objects
instances(I) n_instances Array of tag of objects
owning_user(I) Tag of user
owning_group(I) Tag of group
POMAPI int POM_set_owning_group ( tag_t  instance,
tag_t  group 
)

Sets the owning group of an object.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of object
group(I) Tag of group
POMAPI int POM_set_owning_user ( tag_t  instance,
tag_t  user 
)

Sets the owning user of an object.


Supports rollback using markpoints: YES.

Parameters
instance(I) Tag of object
user(I) Tag of user
POMAPI int POM_set_password ( tag_t  user_tag,
const char *  old_password_string,
const char *  new_password_string 
)

Sets the password for the specified user.checks that the old password is correct, except when a Teamcenter system administrator calls this function, in which case the old password can be NULL.

Note
When Teamcenter Security Services are installed and the TC_SSO_SERVICE environment variable is set in the tc_profilevars file, passwords are managed by an external identity service provider rather than Teamcenter. In this case, the POM_set_password function returns POM_op_not_supported (the ability to change a password in Portal and ITK is disabled).
This function operates on loaded instances only.


Supports rollback using markpoints: NO.

Parameters
user_tag(I) Tag of user for whom to set password
old_password_string(I) Old password
new_password_string(I) New password
POMAPI int POM_set_retry_count ( int  count)

Sets the number of retries that should be attempted if an attempt to obtain a modify lock is blocked by another user.


Supports rollback using markpoints: YES.

Parameters
count(I) Number of retries that should be attempted
POMAPI int POM_set_retry_interval ( int  retry_interval)

Sets the time used as the basis for the retry interval. The actual length of time waited between retries will depend upon the timeout strategy. See POM_set_env_info( POM_timeout_strategy ). This function is equivalent to using POM_set_env_info( POM_timeout_interval ).


Supports rollback using markpoints: YES.

Parameters
retry_interval(I) Base time in seconds to wait between retries
POMAPI int POM_set_site_config_file ( int  index,
const char *  text 
)
Deprecated:
It will be removed in Tc12. Stores information related to site configuration file.


Supports rollback using markpoints: YES.

Parameters
index(I) Valid values are POM_site_config_file_preferences, POM_site_config_file_overlay, POM_site_config_file_definition, POM_site_config_definition_runtime
text(I) Site configuration related data
POMAPI int POM_set_timeout ( double  timeout_value)

Sets a session-wide timeout value, used when the application tries to lock an instance for change by calling a POM function such as POM_modify_<type>.

The timeout value is used to determine the period during which the POM function repeatedly tries to lock the instance. If the POM function is not successful in getting the lock at any time during this period, then it gives up, and returns the appropriate failure as described for the function, such as "instance already locked-for-change somewhere else."

The timeout period can be specified as any positive value. Zero or any negative value means "do not wait, just try once."


Supports rollback using markpoints: YES.

Parameters
timeout_value(I) Value to which to set timeout (in seconds)
POMAPI int POM_set_user_default_group ( tag_t  user,
tag_t  group_tag 
)

Sets the default group for the specified user to the group specified. The user object must be loaded for modify and must be saved again afterwards for this change to be made permanent. Only system administrators can set the default group for users other than themselves.


Supports rollback using markpoints: YES.

Parameters
user(I) Tag of the user whose default group is to be set
group_tag(I) Tag of group
POMAPI int POM_set_user_id ( tag_t  user,
const char *  id 
)

Sets the unique ID for the given, modifiable, user. The caller must be a Teamcenter system administrator. Note that it will not allow to change unique ID of those users who are already logged in.


Supports rollback using markpoints: YES.

Parameters
user(I) Tag ID of a user instance
id(I) New ID for the user
POMAPI int POM_set_user_license_status ( tag_t  a_user,
int  new_status,
int  license_level,
int *  purchased,
int *  used 
)

Sets the license_level and status of the user identified by a_user. The caller must be a Teamcenter system administrator. The status is not interpreted by POM and is provided for the caller to classify users. The number of purchased and used licenses for the specified license_level is returned.

Returns
Parameters
a_user(I) Tag of an existing user
new_status(I) Status to grant to the user.
Valid values are:
license_level(I) License level to grant to the user.
Valid values are:
purchased(O) Number of purchased licenses
used(O) Number of used licenses
POMAPI int POM_set_user_license_status2 ( tag_t  a_user,
int  new_status,
int  license_level,
const char *  license_bundle,
int *  purchased,
int *  used 
)

Sets the license_level and status of the user identified by a_user based on license bundle to be assigned to the user. The caller must be a Teamcenter system administrator. The status is not interpreted by POM and is provided for the caller to classify users. The number of purchased and used licenses for the specified license_level is returned.

Parameters
a_user(I) Tag of an existing user
new_status(I) Status to grant to the user
license_level(I) License level to grant to the user
license_bundle(I) License bundle to assign to the user
purchased(O) Number of purchased licenses
used(O) Number of used licenses
POMAPI int POM_set_user_license_status_with_server ( tag_t  a_user,
int  new_status,
int  license_level,
const char *  license_bundle,
const char *  license_server,
int *  purchased,
int *  used 
)

Sets the license level and status of the user based on a license bundle and the license server to be assigned to the user.
The caller must be a Teamcenter system administrator.
The status is not interpreted by POM and is provided for the caller to classify users.
The number of purchased and used licenses for the specified license level is also retrieved.

Returns
Parameters
a_user(I) Tag of an existing user
new_status(I) Status to grant to the user
license_level(I) License level to grant to the user
license_bundle(I) License bundle to assign to the user
license_server(I) License Server to assign to the user
purchased(O) Number of purchased licenses
used(O) Number of used licenses
POMAPI int POM_set_user_name ( tag_t  user,
const char *  name 
)

Sets the name for the given, modifiable, user. The caller must be either a Teamcenter system administrator or be setting the name for the currently logged in user.


Supports rollback using markpoints: YES.

Parameters
user(I) Tag ID of a user instance
name(I) New name for the user
POMAPI int POM_site_id ( int *  site)

Returns the site ID of the local POM installation. This function is to be used with POM_attr_to_apid and POM_class_to_cpid so that the user is able to obtain the local site identifier and internal identifiers for classes and attributes. These are required so that the POM tables that have their entries specified by a combination of these identifiers can be accessed properly.


Supports rollback using markpoints: YES.

Parameters
site(O) Local site ID
POMAPI int POM_sql_drop_view ( const char *  view_name)

Drops the named view. This can be used to remove views created via POM_sql_view_of_class.


Supports rollback using markpoints: NO.

Parameters
view_name(I)
POMAPI int POM_sql_view_exists ( const char *  view_name,
logical answer 
)

Tests that the view of the given name exists.


Supports rollback using markpoints: YES.

Parameters
view_name(I)
answer(O) True if the given view does exist
POMAPI int POM_sql_view_of_class ( tag_t  class_id,
int  n_attrs,
const tag_t attr_ids,
char **  column_names,
const char *  view_name 
)

Creates a database view over the selected attributes in the given class.

The view is given the name supplied and the columns are aliased with the column names supplied.

The view cannot include array attributes (either fixed length or VLA) or class variable attributes.


Supports rollback using markpoints: NO.

Parameters
class_id(I) ID of class
n_attrs(I) Number of attributes to be covered by the view
attr_ids(I) n_attrs Array of attribute identifiers
column_names(I) n_attrs Array of names for each column of the view
view_name(I) Name of the view to be created
POMAPI int POM_start ( const char *  user_name,
const char *  password,
const char *  group_name,
tag_t user_tag,
tag_t topmost_class_id,
int *  pom_version 
)

Logs in to POM. This must be the first call to POM - if any other POM function is called before this one, then that function will fail with "POM_start not yet called."

The group_name can be a zero-length string, in which case the users default group will be selected, providing that the user is still a member of that group. If the default group cannot be selected, or had not been set, then the attempt to start POM will be blocked.

Note
This function is a composite of the following functions:
POM_login(user_name, password, group_name);
POM_get_user(&dummy_name, &user_tag);
POM_ask_top_class(&topmost_class_id);
POM_get_version(&pom_version);


Supports rollback using markpoints: NO.

Parameters
user_name(I) Login name of the user
password(I) Password
group_name(I) Name of group
user_tag(O) Tag of user
topmost_class_id(O) ID of class POM_object
pom_version(O) Integer to identify version of POM
POMAPI int POM_stop ( logical  ignore_unsaved_stuff)

Logs out of POM. If the argument ignore_unsaved_stuff is false, and there are unsaved instances in the DS, the attempt to log out fails.

Note
This function is a composite of the following functions:
POM_logout(ignore_unsaved_stuff);


Supports rollback using markpoints: NO.

Parameters
ignore_unsaved_stuff(I) Whether to log out even though there are unsaved changes in DS
POMAPI int POM_string_to_tag ( const char *  string,
tag_t tag 
)

Converts the specified string (a representation of a tag) to the corresponding tag.


Supports rollback using markpoints: YES.

Parameters
string(I) String representation of tag
tag(O)
POMAPI int POM_string_to_token ( const char *  string,
int *  token 
)

Returns the token value for input token name. For example, when the input name "POM_is_unique" is supplied, this function will provide the token POM_is_unique.


Supports rollback using markpoints: YES.

Parameters
string(I)
token(O)
POMAPI int POM_subclasses_of_class ( tag_t  class_id,
int *  n_ids,
tag_t **  subclass_ids 
)

Finds the subclass(es) for a specified class. It will only return the direct subclasses of the class.

Takes a class_id and returns an array of subclass_ids.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class
n_ids(O) Number of subclasses
subclass_ids(OF) n_ids IDs of subclasses
POMAPI int POM_superclasses_of_class ( tag_t  class_id,
int *  n_ids,
tag_t **  superclass_ids 
)

Finds the superclass(es) for a specified class. It will only return the direct superclasses of the specified class - combined with single inheritance this implies that it will only return one class ID.

Takes a class_id and returns an array of superclass_ids.


Supports rollback using markpoints: YES.

Parameters
class_id(I) ID of class
n_ids(O) Number of superclasses
superclass_ids(OF) n_ids IDs of superclasses
POMAPI int POM_tag_to_string ( tag_t  tag,
char **  string 
)

Converts the specified tag to a string representation, so that the tag can be passed as an argument to another process.

Note
The output of POM_tag_to_string contains alphanumeric characters as well as the dollar sign ($) and underscore (_). Therefore, if this string is to be parsed by a UNIX shell, you should enclose it in single quotes (') to ensure that it will be interpreted properly.


Supports rollback using markpoints: YES.

Parameters
tag(I)
string(OF) String representation of tag
POMAPI int POM_tag_to_uid ( tag_t  tag,
char **  string 
)

Internally, POM stores references to other POM objects as uids. Additionally, each row in the database table corresponding to a POM object is identified by the uid of the tag of the object.


Supports rollback using markpoints: YES.

Parameters
tag(I)
string(OF) UID is returned as a string
POMAPI int POM_type_of_att ( tag_t  class_id,
tag_t  attr_id,
int *  type 
)

Returns the array type of the attribute identified by class_id and attr_id.

The return types cover:

  • non-array
  • small-array
  • large-array
  • variable-length-array


Supports rollback using markpoints: YES.

Parameters
class_id(I)
attr_id(I)
type(O) Array type of attribute
POMAPI int POM_uids_to_tags ( const int  n_uids,
const char **  uids,
const tag_t  cparam,
const int *  cpids,
tag_t **  tags 
)

Registers the cpids for the list of uids passed in and returns a list of tags. The initial implementation of this function does not support passing in lwo classes.

Note
The cparam and cpids parameters are optional. Also, a -1 can be passed in for all POM_Object classes, not lwo classes.


Supports rollback using markpoints: YES.

Returns
Parameters
n_uids(I) Number of uids to get tags for
uids(I) n_uids List of uids to get tags
cparam(I) The cparam to get tags.-optional
cpids(I) The cpids for the uids-optional.
tags(OF) n_uids The tags for the uids passed in
POMAPI int POM_unfreeze ( tag_t  instance_to_unfreeze)

Unfreezes an instance so that all of its freezable attributes can be unfrozen and modified.


Supports rollback using markpoints: YES.

Parameters
instance_to_unfreeze(I)
POMAPI int POM_unload_file ( tag_t  file)

Unloads a file from POM cache.

See Also
POM_read_file


Supports rollback using markpoints: NO.

Parameters
file(I)
POMAPI int POM_unload_instances ( int  n_instances,
const tag_t instance_tags 
)

Unloads the specified instances from DS (i.e., discards the information about those instances.

If an instance has not been saved, this has the effect of deleting the instance entirely. For this reason, if an instance has not been saved to the database and is referenced by another unsaved instance, then it can not be loaded or deleted. Either the reference to this object has to be changed (or set to NULL), or both the referencer and referencee must be unloaded simultaneously.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) Number of instances to unload
instance_tags(I) n_instances Tags of instances to unload
POMAPI int POM_unlock_reference_instances ( unsigned int  n_ref_instances,
const tag_t ref_instances 
)

Removes the reference lock created on the given list of tags.

Returns
  • POM_ok on success
  • Any other errors resulting from Database query
Parameters
n_ref_instances(I) Number of instances to unlock
ref_instances(I) n_ref_instances tags of instances to be unlocked
POMAPI int POM_who_locked_instance ( tag_t  inst,
char **  user_name,
date_t login_date,
char **  node_name 
)

Finds the user ID, login date, and node for the user who has a modify lock on the given instance. This can be used to give detailed error reports in the event of an attempt to modify an instance failing due to POM_inst_in_use. This function is limited to modify locks, as they are exclusive, and does not report any users holding read or "no" locks.

The information reported is obtained from a class POM_session which is populated upon login with information regarding the users: ID, process ID (internal field), login date, and node name. This class is not application protected, and can be queried or read by the user to determine who is logged into the system.

The process ID field is private, however, and should not be used. Its internal purpose is to find the locks for a given session, but its format is unpublished and should not be depended upon, as it may change without notice.


Supports rollback using markpoints: YES.

Parameters
inst(I) Tag of instance to test
user_name(OF) User found to be locking instance
login_date(O) Date that user logged in
node_name(OF) Node at which that user is logged in
POMAPI int POM_who_locked_instances ( int  n_instances,
tag_t insts,
logical **  is_modify_locked,
char ***  user_names,
date_t **  login_dates,
char ***  node_names 
)

Bulk access equivalent of POM_who_locked_instance Returned names and date arrays will have NULL entries for non-locked instances

Returns POM_ok on success or a POM error indicating the type of failure that occurred.


Supports rollback using markpoints: YES.

Parameters
n_instances(I) count of instance to test
insts(I) n_instances Tags of instance to test
is_modify_locked(OF) n_instances true if the corresponding instance is locked, false otherwise
user_names(OF) n_instances Users found to be locking instance
login_dates(OF) n_instances Dates that user logged in
node_names(OF) n_instances Nodes at which that user is logged in
POMAPI int POM_write_file ( tag_t  file,
const char *  pathname,
int  os_protection 
)

Write the input POM file to the supplied disk location.

The OS projection flags to be supplied during writing file can be three and four-digit octal numbers representing modes. With three-digit octal notation, each numeral represents a different component of the permission set: user class, group class, and "others" class respectively. For example, "-rwxr-xr-x" would be represented as 755 in three-digit octal. For more information about modes visit http://en.wikipedia.org/wiki/File_system_permissions#Octal_notation


Supports rollback using markpoints: NO.

Parameters
file(I) Tag of file
pathname(I) Full path name of the file
os_protection(I) Three or four digit octal numbers representing modes.
POMAPI int POM_write_transmit_file ( void  )

Writes the transmit file. The file is written to the path set in the environment variable POM_transmit_directory .

See Also
POM_set_env_info


Supports rollback using markpoints: NO.