ITK Function Reference

(V10000.1.0.60_20160308.00)
Data Structures | Macros | Typedefs | Enumerations | Functions
epm.h File Reference
#include <epm/cr.h>
#include <tc/tc_startup.h>
#include <tccore/tctype.h>
#include <epm/epm_errors.h>
#include <tc/tc_arguments.h>
#include <tccore/workspaceobject.h>
#include <epm/libepm_exports.h>
#include <epm/libepm_undef.h>

Go to the source code of this file.

Data Structures

struct  EPM_action_message_s
 
struct  EPM_resource_list_s
 
struct  EPM_rule_message_s
 

Macros

#define EPM_abort_action   9
 
#define EPM_Acknowledge   2
 
#define EPM_add_attachment_action   101
 
#define EPM_approve_action   104
 
#define EPM_assign_action   1
 
#define EPM_assign_approver_action   109
 
#define EPM_claim_action   203
 
#define EPM_comment2_size_c   4000
 
#define EPM_comment_size_c   4000
 
#define EPM_complete_action   4
 
#define EPM_complete_on_complete_action   EPM_complete_action
 
#define EPM_demote_action   107
 
#define EPM_fail_action   10
 
#define EPM_inbox_query   1
 
#define EPM_max_template_name_length   81
 
#define EPM_Notify   3
 
#define EPM_notify_action   110
 
#define EPM_Perform   0
 
#define EPM_perform_action   100
 
#define EPM_perform_signoffs_task   "perform-signoffs"
 
#define EPM_promote_action   106
 
#define EPM_refuse_action   108
 
#define EPM_reject_action   105
 
#define EPM_remove_attachment_action   102
 
#define EPM_restart_on_complete_action   200
 
#define EPM_restart_on_fail_action   201
 
#define EPM_RESULT_Approved   "Approved"
 
#define EPM_RESULT_Completed   "Completed"
 
#define EPM_RESULT_False   "False"
 
#define EPM_RESULT_No_error   "No_error"
 
#define EPM_RESULT_Rejected   "Rejected"
 
#define EPM_RESULT_True   "True"
 
#define EPM_RESULT_Unable_to_complete   "Unable_to_complete"
 
#define EPM_RESULT_Unset   "Unset"
 
#define EPM_resume_action   7
 
#define EPM_Review   1
 
#define EPM_select_signoff_team_task   "select-signoff-team"
 
#define EPM_skip_action   5
 
#define EPM_start_action   2
 
#define EPM_start_on_complete_action   EPM_start_action
 
#define EPM_start_on_fail_action   EPM_fail_action
 
#define EPM_start_on_start_action   202
 
#define EPM_suspend_action   6
 
#define EPM_undo_action   8
 
#define EPM_user_action   1000
 
#define EPM_user_size_c   163
 
Attachment Types
#define EPM_target_attachment   1
 
#define EPM_reference_attachment   3
 
#define EPM_signoff_attachment   4
 
#define EPM_release_status_attachment   5
 
#define EPM_comment_attachment   6
 
#define EPM_instruction_attachment   7
 
#define EPM_interprocess_task_attachment   8
 
#define EPM_schedule_task_attachment   9
 
#define EPM_ATT_TARGET   "target"
 
#define EPM_ATT_REFERENCE   "reference"
 
#define EPM_ATT_PROCESS   "process"
 
#define EPM_ATT_SIGNOFF   "signoff"
 
#define EPM_ATT_COMMENT   "comment"
 
#define EPM_ATT_INSTRUCTION   "instruction"
 
#define EPM_ATT_INTERPROCESS_TASK   "interprocess_task"
 
#define EPM_ATT_SCHEDULE_TASK   "schedule_task"
 
#define EPM_ATT_BOTH   "both"
 
#define EPM_ATT_ALL   "all"
 
#define EPM_user_attachment   1000
 
EPMConditionTask
#define EPM_RESULT_TRUE   1
 
#define EPM_RESULT_FALSE   0
 
#define EPM_RESULT_UNSET   2
 
Relation Types
#define EPM_TEMPLATE_BASED_ON_RELATION_TYPE   "EPM_template_based_on"
 
#define EPM_SIGNOFF_PROFILE_RELATION_TYPE   "EPM_signoff_profile"
 
#define SUBSCRIBED_REMOTEINBOXES_RELATION_TYPE   "subscribed_remoteinboxes"
 
Obsolete definitions
#define EBR_decision_t   EPM_decision_t
 
#define EBR_undecided   EPM_undecided
 
#define EBR_nogo   EPM_nogo
 
#define EBR_go   EPM_go
 
#define EPM_task_action_t   EPM_action_t
 
#define EPM_task_state_t   EPM_state_t
 
#define EPM_assign_task   EPM_assign_action
 
#define EPM_start_task   EPM_start_action
 
#define EPM_complete_task   EPM_complete_action
 
#define EPM_skip_task   EPM_skip_action
 
#define EPM_suspend_task   EPM_suspend_action
 
#define EPM_resume_task   EPM_resume_action
 
#define EPM_undo_task   EPM_undo_action
 
#define EPM_abort_task   EPM_abort_action
 
#define EPM_do_task   EPM_perform_action
 
#define EPM_project_task_attachment   EPM_schedule_task_attachment
 

Typedefs

typedef int(* EPM_action_handler_t )(EPM_action_message_t)
 
typedef struct EPM_action_message_s EPM_action_message_t
 
typedef int EPM_action_t
 
typedef enum EPM_decision_e EPM_decision_t
 
typedef enum EPM_handler_type_e EPM_handler_type_t
 
typedef enum EPM_path_type_e EPM_path_type_t
 
typedef struct EPM_resource_list_s EPM_resource_list_t
 
typedef EPM_decision_t(* EPM_rule_handler_t )(EPM_rule_message_t)
 
typedef struct EPM_rule_message_s EPM_rule_message_t
 
typedef enum EPM_signoff_decision_e EPM_signoff_decision_t
 
typedef enum EPM_state_e EPM_state_t
 
typedef enum EPMTaskType EPM_task_type_t
 

Enumerations

enum  EPM_decision_e { EPM_nogo, EPM_undecided, EPM_go }
 
enum  EPM_handler_type_e { EPM_rule_handler_type, EPM_action_handler_type }
 
enum  EPM_path_type_e { EPM_success_path_type, EPM_failure_path_type, EPM_restart_success_path_type, EPM_refail_failure_path_type }
 
enum  EPM_signoff_decision_e { EPM_no_decision = 0, EPM_approve_decision = 'Y', EPM_reject_decision = 'N' }
 
enum  EPM_state_e {
  EPM_unassigned = (1 << 0), EPM_pending = (1 << 1), EPM_started = (1 << 2), EPM_completed = (1 << 3),
  EPM_skipped = (1 << 4), EPM_aborted = (1 << 5), EPM_failed = (1 << 6), EPM_suspended = (1 << 7)
}
 
enum  EPMTaskType {
  eEPMDoTask, eEPMReviewTask, eEPMSelectSignoffTask, eEPMPerformSignoffTask,
  eEPMAcknowledgeTask, eEPMConditionTask, eEPMNotifyTask, eEPMRouteTask,
  eEPMOrTask, eEPMSyncTask, eEPMAddStatusTask, eECMImpactAnalysisTask,
  eECMPrepareECOTask, eECMChecklistTask, eEPMValidateTask, eEPMUnknownTask
}
 

Functions

EPM_API int EPM_add_attachments (tag_t task, int count, const tag_t *attachments, const int *attachment_types)
 
EPM_API int EPM_add_release_status_to_process (tag_t job, tag_t release_status)
 
EPM_API int EPM_add_resource_pool_recipients_for_preference (tag_t task, int *count, tag_t **recipient_tags)
 
EPM_API int EPM_add_reviewers (tag_t job, const char *review_task_name, int add_excess_as_adhoc, int n_groupmembers, tag_t *groupmembers)
 
EPM_API int EPM_add_reviewers_on_task (tag_t sst_task, logical add_excess_as_adhoc, int n_group_members, const tag_t *group_members)
 
EPM_API int EPM_add_subscribed_resource_pools (tag_t user, int count, const tag_t *resourcepools)
 
EPM_API int EPM_ask_accessor_tags (tag_t group, logical allow_subgroups, tag_t role, int *n_accessors, tag_t **accessors)
 
EPM_API int EPM_ask_action_string (EPM_action_t action, char string[WSO_name_size_c+1])
 
EPM_API int EPM_ask_action_string2 (EPM_action_t action, char **string)
 
EPM_API int EPM_ask_active_job_for_target (tag_t target_object, int *count, tag_t **jobs)
 
EPM_API int EPM_ask_all_attachments (tag_t task, int *count, tag_t **attachments, int **attachment_types)
 
EPM_API int EPM_ask_all_procedure_names (int *procedure_count, char ***procedure_names)
 
EPM_API int EPM_ask_assigned_process_templates (int number_of_object_type_names, char **object_type_names, const char *group_name, int *count, tag_t **process_templates)
 
EPM_API int EPM_ask_assigned_processes (tag_t object_type, const char *group_name, int *count, char ***process_names)
 
EPM_API int EPM_ask_assigned_tasks (tag_t responsible_party, int query, int *count, tag_t **tasks)
 
EPM_API int EPM_ask_attachment_string (int attachment_type, char type_string[WSO_name_size_c+1])
 
EPM_API int EPM_ask_attachment_string2 (int attachment_type, char **type_string)
 
EPM_API int EPM_ask_attachments (tag_t task, int attachment_type, int *count, tag_t **attachments)
 
EPM_API int EPM_ask_audit_file (tag_t job, tag_t *audit_file)
 
EPM_API int EPM_ask_decision (tag_t task_tag, tag_t user, EPM_signoff_decision_t *decision, char **comments, date_t *decision_date)
 
EPM_API int EPM_ask_default_process (const char object_type[WSO_name_size_c+1], char process_name[WSO_name_size_c+1])
 
EPM_API int EPM_ask_default_process2 (const char *object_type, char **process_name)
 
EPM_API int EPM_ask_default_process_for (tag_t workspace_object, char process_name[WSO_name_size_c+1])
 
EPM_API int EPM_ask_default_process_for2 (tag_t workspace_object, char **process_name)
 
EPM_API int EPM_ask_description (tag_t task, char description[WSO_desc_size_c+1])
 
EPM_API int EPM_ask_description2 (tag_t task, char **description)
 
EPM_API int EPM_ask_if_released (tag_t workspace_object, int *is_released)
 
EPM_API int EPM_ask_job (tag_t task, tag_t *job)
 
EPM_API int EPM_ask_late_task_recipients (tag_t task, int *count, tag_t **recipients)
 
EPM_API int EPM_ask_name (tag_t task, char name[WSO_name_size_c+1])
 
EPM_API int EPM_ask_name2 (tag_t task, char **name)
 
EPM_API int EPM_ask_out_of_office (tag_t user, tag_t *delegate, date_t *start_date, date_t *end_date)
 
EPM_API int EPM_ask_parent_processes (tag_t subprocess_tag, int *count, tag_t **parent_processes_tags)
 
EPM_API int EPM_ask_parent_task (tag_t task, tag_t *parent_task)
 
EPM_API int EPM_ask_participants_for_token (tag_t task, const char *token, int *gmcount, tag_t **gmtags, int *rpcount, tag_t **rptags)
 
EPM_API int EPM_ask_procedure_name (tag_t job, char procedure_name[WSO_name_size_c+1])
 
EPM_API int EPM_ask_procedure_name2 (tag_t job, char **procedure_name)
 
EPM_API int EPM_ask_quorum (tag_t task_tag, int *quorum)
 
EPM_API int EPM_ask_recipients_for_token (tag_t task, const char *token, int *count, tag_t **recipient_tags)
 
EPM_API int EPM_ask_release_statuses (tag_t job, int *count, tag_t **release_status_objects)
 
EPM_API int EPM_ask_remote_inbox (tag_t user, tag_t site, tag_t *remote_inbox)
 
EPM_API int EPM_ask_required_profile_names (tag_t task, int *count, char ***required_profile_names)
 
EPM_API int EPM_ask_required_reviewer_types (tag_t task, int *count, tag_t **required_accessors)
 
EPM_API int EPM_ask_required_roles (tag_t job, tag_t task, int *count, char ***required_role_names)
 
EPM_API int EPM_ask_resource_pool_group_role (tag_t resourcepool, tag_t *group, tag_t *role, logical *allow_subgroup)
 
EPM_API int EPM_ask_resource_pool_subscribers (tag_t resourcepool, int *u_count, tag_t **u_tags)
 
EPM_API int EPM_ask_resourcepool (tag_t group, tag_t role, logical allow_subgroup, logical all_members, tag_t *resourcepool)
 
EPM_API int EPM_ask_responsible_party (tag_t task, tag_t *responsible_party)
 
EPM_API int EPM_ask_review_task_name (const tag_t task_tag, char review_task_name[WSO_name_size_c+1])
 
EPM_API int EPM_ask_review_task_name2 (const tag_t task_tag, char **review_task_name)
 
EPM_API int EPM_ask_review_task_names (tag_t task_tag, int *count, char ***review_task_names)
 
EPM_API int EPM_ask_root_task (tag_t job_or_task, tag_t *root_task)
 
EPM_API int EPM_ask_state (tag_t task, EPM_state_t *state)
 
EPM_API int EPM_ask_state_string (EPM_state_t state, char string[WSO_name_size_c+1])
 
EPM_API int EPM_ask_state_string2 (EPM_state_t state, char **string)
 
EPM_API int EPM_ask_sub_processes (tag_t parent_process_tag, int *count, tag_t **secondary_processes_tags)
 
EPM_API int EPM_ask_sub_task (tag_t task, const char *sub_task_name, tag_t *sub_task)
 
EPM_API int EPM_ask_sub_tasks (tag_t task, int *count, tag_t **tasks)
 
EPM_API int EPM_ask_subscribed_remote_inboxes (tag_t user, int *count, tag_t **site_tags)
 
EPM_API int EPM_ask_subscribed_resource_pools (tag_t user, int *count, tag_t **resourcepools)
 
EPM_API int EPM_ask_task_dependencies (const tag_t task, int *nb_of_predecessors, tag_t **predecessor_tasks)
 
EPM_API int EPM_ask_task_due_date (tag_t task, date_t *due_date)
 
EPM_API int EPM_ask_task_duration (tag_t task, int *yrs, int *wks, int *dys, int *hrs, int *mns)
 
EPM_API int EPM_ask_task_forms (const tag_t task, int *count, tag_t **forms)
 
EPM_API int EPM_ask_task_late (tag_t task, logical *late_flag)
 
EPM_API int EPM_ask_task_result_dependency (const tag_t dependent_task, const tag_t predecessor_task, int *result)
 
EPM_API int EPM_ask_tasks (const tag_t process, EPM_state_t task_state, int *count, tag_t **tasks)
 
EPM_API int EPM_ask_template_access (tag_t task_tag, int *nb_of_accessors, char ***group_names, char ***role_names, int **access_codes)
 
EPM_API int EPM_ask_typed_attachments (tag_t task, const char *object_type, int *count, tag_t **attachments)
 
EPM_API int EPM_ask_unassigned_profile_names (tag_t task, int *count, char ***unassigned_profile_names)
 
EPM_API int EPM_ask_unassigned_profiles (tag_t job, tag_t task, int *count, tag_t **unassigned_profile_tags)
 
EPM_API int EPM_ask_unassigned_roles (tag_t job, tag_t task, int *count, char ***unassigned_role_names)
 
EPM_API int EPM_ask_users_late_tasks (tag_t user, int *count, tag_t **late_tasks)
 
EPM_API int EPM_assign_assignment_list (tag_t process, tag_t assignment_list)
 
EPM_API int EPM_assign_responsible_party (tag_t task, tag_t responsible_party)
 
EPM_API int EPM_assign_responsible_party_with_comments (tag_t task, tag_t responsible_party, const char *comments)
 
EPM_API int EPM_assign_to_all_tasks (tag_t assignment_list, int num_of_templates, const tag_t *task_templates, const EPM_resource_list_t *resources, tag_t process)
 
EPM_API int EPM_assignment_list_create (const char *list_name, int desc_length, char **desc_array, tag_t proc_template, logical is_shared, int resources_count, const tag_t *templates_array, const EPM_resource_list_t *resources, tag_t *new_assn_List)
 
EPM_API int EPM_assignment_list_describe (tag_t assn_list, char **list_name, int *desc_length, char ***desc_array, logical *is_shared, tag_t *proc_template, int *resources_count, tag_t **templates_array, tag_t **resources)
 
EPM_API int EPM_assignment_list_edit (tag_t assn_list, const char *list_name, int desc_length, char **desc_array, tag_t proc_template, logical is_shared, int resources_count, const tag_t *templates_array, const EPM_resource_list_t *resources)
 
EPM_API int EPM_assignment_list_extent (int *n_instances, tag_t **instance_tags)
 
EPM_API int EPM_assnlist_get_proc_template (tag_t assn_list, tag_t *process_template)
 
EPM_API int EPM_attach_sub_processes (tag_t parent_process_tag, int count, const tag_t *secondary_processes_tags)
 
EPM_API int EPM_check_access (tag_t task, const char *privilege, logical *verdict)
 
EPM_API int EPM_claim_as_surrogate (tag_t task_or_signoff, logical xfer_checkouts, int *exceptions_count, tag_t **exceptions_list)
 
EPM_API int EPM_claim_task (tag_t task_tag, tag_t signoff)
 
EPM_API int EPM_clear_process_stage (const tag_t task)
 
EPM_API int EPM_create_assigned_process (const char *name, const char *description, tag_t process_template, const char *privileged_user, int user_count, char **user_list, date_t due_date, int attachment_count, const tag_t *attachment_list, const int *attachment_types, const char *container_uid, char *relation_name, tag_t *new_process)
 
EPM_API int EPM_create_participant (tag_t assignee, tag_t participant_type, tag_t *participant)
 
EPM_API int EPM_create_process (const char *name, const char *description, const tag_t process_template, int attachment_count, const tag_t *attachments, const int *attachment_types, tag_t *new_process)
 
EPM_API int EPM_create_process_deferred_start (const char *name, const char *description, const tag_t process_template, int attachment_count, const tag_t *attachments, const int *attachment_types, tag_t *new_process)
 
EPM_API int EPM_demote_task (const tag_t task_tag, const char *comments)
 
EPM_API int EPM_find_assignment_lists (tag_t resource, int *num_of_lists, tag_t **lists)
 
EPM_API int EPM_find_status_type (const char *status_type, tag_t *status)
 
EPM_API int EPM_get_adhoc_signoff_selection_done (tag_t task, logical *selection_done)
 
EPM_API int EPM_get_all_assignment_lists (int *n_own_lists, tag_t **own_list_tags, int *n_group_lists, tag_t **group_list_tags, int *n_other_lists, tag_t **other_list_tags)
 
EPM_API int EPM_get_assignment_list (char *list_name, tag_t *assn_list)
 
EPM_API int EPM_get_assignmentlists_by_job (tag_t job_tag, int *n_own_lists, tag_t **own_list_tags, int *n_group_lists, tag_t **group_list_tags, int *n_other_lists, tag_t **other_list_tags)
 
EPM_API int EPM_get_condition_task_result (tag_t task, int *condition)
 
EPM_API int EPM_get_current_surrogates (int user_count, const tag_t *users, int *surrogate_count, tag_t **surrogate_users)
 
EPM_API int EPM_get_participant (const char *participant_value, tag_t task, tag_t *member, tag_t *rp, logical *is_resourcepool)
 
EPM_API int EPM_get_participants (const char *participant_value, tag_t task, int *member_count, tag_t **members, int *rp_count, tag_t **rps, logical single_participant)
 
EPM_API int EPM_get_participanttype (char *type_name, tag_t *participant_type)
 
EPM_API int EPM_get_resource_pool (tag_t group, tag_t role, logical allow_subgroup, tag_t *resourcepool)
 
EPM_API int EPM_get_resource_pool_name (tag_t resourcepool, char **resourcepool_name)
 
EPM_API int EPM_get_task_result (tag_t task, char **result)
 
EPM_API int EPM_get_type_tasks (const tag_t job_tag, const EPM_task_type_t task_type, int *number_of_tasks, tag_t **task_tags)
 
EPM_API int EPM_get_wait_for_undecided_reviewers (tag_t task, int *undecided_reviewer_count)
 
EPM_API int EPM_init_module ()
 
EPM_API int EPM_is_task_claimable (tag_t task, logical *allow_claim)
 
EPM_API int EPM_is_valid_performer (tag_t task, logical *valid)
 
EPM_API int EPM_promote_task (const tag_t task_tag, const char *comments)
 
EPM_API int EPM_refresh_entire_job (tag_t job)
 
EPM_API int EPM_refresh_job (tag_t job)
 
EPM_API int EPM_register_action_handler (const char *handler_name, const char *handler_description, EPM_action_handler_t function_pointer)
 
EPM_API int EPM_register_rule_handler (const char *handler_name, const char *handler_description, EPM_rule_handler_t function_pointer)
 
EPM_API int EPM_release_claim (tag_t task_or_signoff, logical xfer_checkouts, int *exceptions_count, tag_t **exceptions_list)
 
EPM_API int EPM_remove_all_subscribed_remote_inboxes (tag_t user)
 
EPM_API int EPM_remove_attachments (tag_t task, int count, const tag_t *attachments)
 
EPM_API int EPM_remove_release_status (tag_t job, tag_t release_status)
 
EPM_API int EPM_remove_status_from_targets (tag_t release_status, tag_t root_tag)
 
EPM_API int EPM_remove_sub_processes (tag_t parent_process_tag, int count, const tag_t *secondary_processes_tags)
 
EPM_API int EPM_remove_subscribed_resource_pools (tag_t user, int count, const tag_t *resourcepools)
 
EPM_API int EPM_remove_surrogate_user (tag_t user, tag_t surrogate_user, int *count, tag_t **claimed_tasks)
 
EPM_API int EPM_remove_task_hold (tag_t task_tag)
 
EPM_API int EPM_replace_resource_in_lists (int count, const tag_t *assn_lists, tag_t old_resource, tag_t new_resource)
 
EPM_API int EPM_reset_task_due_date (tag_t task)
 
EPM_API int EPM_resource_list_create (int count, const tag_t *resources, const tag_t *profiles, const int *actions, int rev_quorum, int ack_quorum, int wait_for_undecided_reviewers, tag_t *resource_list)
 
EPM_API int EPM_resource_list_describe (tag_t resource_list, int *rev_quorum, int *ack_quorum, int *wait_for_undecided_reviewers, int *count, tag_t **resources, tag_t **profiles, int **actions)
 
EPM_API int EPM_resource_list_edit (tag_t resource_list, int count, const tag_t *resources, const tag_t *profiles, const int *actions, int rev_quorum, int ack_quorum, int wait_for_undecided_reviewers)
 
EPM_API int EPM_search_task_in_job (tag_t task, const char *task_name, tag_t *sub_task)
 
EPM_API int EPM_set_adhoc_signoff_selection_done (tag_t task, logical selection_done)
 
EPM_API int EPM_set_condition_task_result (tag_t task, int condition)
 
EPM_API int EPM_set_decision (tag_t task_tag, tag_t user, CR_signoff_decision_t descision, const char comments[CR_comment_size_c+1], const logical auto_complete)
 
EPM_API int EPM_set_late_task_recipients (tag_t task, int count, const tag_t *recipient_tags)
 
EPM_API int EPM_set_out_of_office (tag_t user, tag_t delegate, date_t start_date, date_t end_date)
 
EPM_API int EPM_set_out_of_office_dates (tag_t user, date_t start_date, date_t end_date)
 
EPM_API int EPM_set_out_of_office_delegate (tag_t user, tag_t delegate)
 
EPM_API int EPM_set_secure_task_decision (tag_t task_tag, tag_t signoff_tag, CR_signoff_decision_t descision, const char comments[CR_comment_size_c+1], const char *password)
 
EPM_API int EPM_set_secure_task_decision2 (tag_t task_tag, tag_t signoff_tag, CR_signoff_decision_t descision, const char *comments, const char *password)
 
EPM_API int EPM_set_subscribed_remote_inboxes (tag_t user, int count, const tag_t *site_tags)
 
EPM_API int EPM_set_surrogate_user (tag_t user, tag_t surrogate_user, date_t start_date, date_t end_date)
 
EPM_API int EPM_set_task_decision (tag_t task_tag, tag_t signoffTag, CR_signoff_decision_t descision, const char comments[CR_comment_size_c+1])
 
EPM_API int EPM_set_task_decision2 (tag_t task_tag, tag_t signoff_tag, CR_signoff_decision_t descision, const char *comments)
 
EPM_API int EPM_set_task_due_date (tag_t task, date_t due_date)
 
EPM_API int EPM_set_task_duration (tag_t task, int years, int weeks, int days, int hours, int minutes)
 
EPM_API int EPM_set_task_late (tag_t task, logical late_flag)
 
EPM_API int EPM_set_task_result (tag_t task, const char *result)
 
EPM_API int EPM_trigger_action (tag_t task, EPM_action_t action, const char *comments)
 
EPM_API int EPM_trigger_action_if_privileged (tag_t task, EPM_action_t action, const char *comments)
 
EPM_API int EPM_trigger_secure_action (tag_t task, EPM_action_t action, const char *comments, const char *password)
 

Detailed Description

This header file declares all data types and constants to be used by clients of the Enterprise Process Modelling classes (EPM).

Definition in file epm.h.

Macro Definition Documentation

#define EBR_decision_t   EPM_decision_t

decision on the task

Definition at line 2451 of file epm.h.

#define EBR_go   EPM_go

decision will make the workflow process get started

Definition at line 2454 of file epm.h.

#define EBR_nogo   EPM_nogo

decision will stall the workflow process

Definition at line 2453 of file epm.h.

#define EBR_undecided   EPM_undecided

no decision

Definition at line 2452 of file epm.h.

#define EPM_abort_task   EPM_abort_action

Abort action for task

Definition at line 2466 of file epm.h.

#define EPM_Acknowledge   2

Acknowledge action

Definition at line 152 of file epm.h.

#define EPM_assign_task   EPM_assign_action

Assign action for task

Definition at line 2459 of file epm.h.

#define EPM_ATT_ALL   "all"

All attachments

Definition at line 139 of file epm.h.

#define EPM_ATT_BOTH   "both"

Target and Reference attachments, target + reference

Definition at line 138 of file epm.h.

#define EPM_ATT_COMMENT   "comment"

Comment attachment

Definition at line 134 of file epm.h.

#define EPM_ATT_INSTRUCTION   "instruction"

Instruction attachment

Definition at line 135 of file epm.h.

#define EPM_ATT_INTERPROCESS_TASK   "interprocess_task"

Interprocess task attachment

Definition at line 136 of file epm.h.

#define EPM_ATT_PROCESS   "process"

Process attachment

Definition at line 132 of file epm.h.

#define EPM_ATT_REFERENCE   "reference"

Reference attachment

Definition at line 131 of file epm.h.

#define EPM_ATT_SCHEDULE_TASK   "schedule_task"

Schedule task attachment

Definition at line 137 of file epm.h.

#define EPM_ATT_SIGNOFF   "signoff"

Signoff attachment

Definition at line 133 of file epm.h.

#define EPM_ATT_TARGET   "target"

Attachment types used as handler argument valuesTarget attachment

Definition at line 130 of file epm.h.

#define EPM_comment_attachment   6

Comment attachment type

Definition at line 122 of file epm.h.

#define EPM_comment_size_c   4000

Definition at line 188 of file epm.h.

#define EPM_complete_task   EPM_complete_action

Complete action for task

Definition at line 2461 of file epm.h.

#define EPM_do_task   EPM_perform_action

Perform action for task

Definition at line 2467 of file epm.h.

#define EPM_inbox_query   1

Query argument to EPM_ask_assigned_tasks

Definition at line 228 of file epm.h.

#define EPM_instruction_attachment   7

Instruction attachment type

Definition at line 123 of file epm.h.

#define EPM_interprocess_task_attachment   8

Interprocess task attachment type

Definition at line 124 of file epm.h.

#define EPM_max_template_name_length   81

Maximum template name length Size of the template name

Definition at line 146 of file epm.h.

#define EPM_Notify   3

Notify action

Definition at line 153 of file epm.h.

#define EPM_Perform   0

Actions from Assignment List Perform action

Definition at line 150 of file epm.h.

#define EPM_project_task_attachment   EPM_schedule_task_attachment

Definition at line 2468 of file epm.h.

#define EPM_reference_attachment   3

Reference attachment type

Definition at line 119 of file epm.h.

#define EPM_release_status_attachment   5

Release Status attachment type

Definition at line 121 of file epm.h.

#define EPM_RESULT_Approved   "Approved"

Approved

Definition at line 181 of file epm.h.

#define EPM_RESULT_Completed   "Completed"

Completed

Definition at line 180 of file epm.h.

#define EPM_RESULT_False   "False"

False

Definition at line 185 of file epm.h.

#define EPM_RESULT_FALSE   0

False result for condition task

Definition at line 216 of file epm.h.

#define EPM_RESULT_No_error   "No_error"

No error

Definition at line 186 of file epm.h.

#define EPM_RESULT_Rejected   "Rejected"

Rejected

Definition at line 182 of file epm.h.

#define EPM_RESULT_True   "True"

True

Definition at line 184 of file epm.h.

#define EPM_RESULT_TRUE   1

True result for condition task

Definition at line 215 of file epm.h.

#define EPM_RESULT_Unable_to_complete   "Unable_to_complete"

Unable to complete

Definition at line 183 of file epm.h.

#define EPM_RESULT_Unset   "Unset"
Result settingTasks that use setting
EPM_RESULT_Unset Do Review/PSO/Route/Ack EPMTask Cond (Auto/Manual) SST Validate
EPM_RESULT_Completed Do EPMTask SST
EPM_RESULT_Approved Review/PSO/Route/Ack
EPM_RESULT_Rejected Review/PSO/Route/Ack
EPM_RESULT_Unable_to_complete Do EPMTask Cond (Manual)
EPM_RESULT_True Cond (Auto/Manual)
EPM_RESULT_False Cond (Auto/Manual)
EPM_RESULT_No_error Validate

Task resultsUnset

Definition at line 179 of file epm.h.

#define EPM_RESULT_UNSET   2

This is the default value for a new EPMConditionTask

Definition at line 219 of file epm.h.

#define EPM_resume_task   EPM_resume_action

Resume action for task

Definition at line 2464 of file epm.h.

#define EPM_Review   1

Review action

Definition at line 151 of file epm.h.

#define EPM_schedule_task_attachment   9

Schedule task attachment type

Definition at line 125 of file epm.h.

#define EPM_signoff_attachment   4

Signoff attachment type

Definition at line 120 of file epm.h.

#define EPM_SIGNOFF_PROFILE_RELATION_TYPE   "EPM_signoff_profile"

Signoff profile relation type

Definition at line 274 of file epm.h.

#define EPM_skip_task   EPM_skip_action

Skip action for task

Definition at line 2462 of file epm.h.

#define EPM_start_task   EPM_start_action

Start action for task

Definition at line 2460 of file epm.h.

#define EPM_suspend_task   EPM_suspend_action

Suspend action for task

Definition at line 2463 of file epm.h.

#define EPM_target_attachment   1

Target attachment type

Definition at line 118 of file epm.h.

#define EPM_task_action_t   EPM_action_t

Trigger actions on the task

Definition at line 2456 of file epm.h.

#define EPM_task_state_t   EPM_state_t

Task states

Definition at line 2457 of file epm.h.

#define EPM_TEMPLATE_BASED_ON_RELATION_TYPE   "EPM_template_based_on"

Template based on relation type

Definition at line 273 of file epm.h.

#define EPM_undo_task   EPM_undo_action

Undo action for task

Definition at line 2465 of file epm.h.

#define EPM_user_attachment   1000

Attachment Types from 1000-32000 are user defined

Definition at line 142 of file epm.h.

#define SUBSCRIBED_REMOTEINBOXES_RELATION_TYPE   "subscribed_remoteinboxes"

Subscribed remote inbox relation type

Definition at line 275 of file epm.h.

Typedef Documentation

typedef int(* EPM_action_handler_t)(EPM_action_message_t)

Definition at line 222 of file epm.h.

Resource list used in Process Assignment Lists

typedef EPM_decision_t(* EPM_rule_handler_t)(EPM_rule_message_t)

Definition at line 223 of file epm.h.

Enumeration Type Documentation

Enumerator
EPM_nogo 

Constraints for rule/rule handler not satisfied, action and state transition should not occur

EPM_undecided 

Still unknown whether it is a go or nogo decision due to insufficient or pending data

EPM_go 

Rule/rule handler passed - constraints satisfied

Definition at line 205 of file epm.h.

Enumerator
EPM_rule_handler_type 

Rule handler type

EPM_action_handler_type 

Action handler type

Definition at line 230 of file epm.h.

Enumerator
EPM_success_path_type 

Success path

EPM_failure_path_type 

Failure path

EPM_restart_success_path_type 

Restart success path

EPM_refail_failure_path_type 

Refail failure path

Definition at line 155 of file epm.h.

Enumerator
eEPMDoTask 

Do Task type

eEPMReviewTask 

Review task type

eEPMSelectSignoffTask 

Select Signoff task type

eEPMPerformSignoffTask 

Perform Signoff task type

eEPMAcknowledgeTask 

Acknowledge task type

eEPMConditionTask 

Condition task type

eEPMNotifyTask 

Notify task type

eEPMRouteTask 

Route task type

eEPMOrTask 

OR task type

eEPMSyncTask 

Sync task type

eEPMAddStatusTask 

Add Status task type

eECMImpactAnalysisTask 

Impact Analysis task type

eECMPrepareECOTask 

Prepare ECO task type

eECMChecklistTask 

Checklist task type

eEPMValidateTask 

EPMValidate task type

eEPMUnknownTask 

Unknown task type

Definition at line 235 of file epm.h.

Function Documentation

EPM_API int EPM_add_attachments ( tag_t  task,
int  count,
const tag_t attachments,
const int *  attachment_types 
)

Adds an array of attachments to the given task. The total number of attachments is passed as count. See also EPM_ask_attachments and EPM_ask_all_attachments.

  1. ITK_ok on success
  2. EPM_invalid_object if error getting parent process
  3. EPM_task_belongs_to_same_process: For interprocess task attachment type, if supplied task process and current process is same
  4. EPM_task_circular_dependency: For interprocess task attachment type, if supplied task causes circular dependency
  5. EPM_not_a_task_or_process: For interprocess task attachment type, if supplied task tag is neither a task or process
  6. EPM_duplicate_reviewer: For signoff attachment type, if duplicate signoff member found
  7. EPM_object_already_attached if attachment object is already present on the task
Parameters
task(I) Task on which the attachments are to be added
count(I) Number of attachments to be attached
attachments(I) Attachments to be attached to the task
attachment_types(I) List of attachment types
EPM_API int EPM_add_release_status_to_process ( tag_t  job,
tag_t  release_status 
)

Adds release status to the list of release status objects for the given job.

Parameters
job(I) Job on which release status is to be set
release_status(I) The release status tag
EPM_API int EPM_add_resource_pool_recipients_for_preference ( tag_t  task,
int *  count,
tag_t **  recipient_tags 
)

Get recipients based on preference value.

  1. ITK_ok on success
  2. CXPOM_wrong_class: For $PROJECT token, if the first project class corresponding to the first attachment of the root task is wrong
Parameters
task(I) Task tag
count(O) Number of recipients for preference
recipient_tags(OF) count List of recipients
EPM_API int EPM_add_reviewers ( tag_t  job,
const char *  review_task_name,
int  add_excess_as_adhoc,
int  n_groupmembers,
tag_t groupmembers 
)

Adds group members as reviewers for a review task

Deprecated:
This function is deprecated and will be removed from Tc12. From Tc10 onwards, please use EPM_add_reviewers_on_task
Returns
Parameters
job(I) Job on which the review task is defined
review_task_name(I) Name of the review task
add_excess_as_adhoc(I) If true then adds reviewers which could not be added to profiles as adhoc
n_groupmembers(I) Group members to be added as reviewers
groupmembers(I) n_groupmembers List of reviewers
EPM_API int EPM_add_reviewers_on_task ( tag_t  sst_task,
logical  add_excess_as_adhoc,
int  n_group_members,
const tag_t group_members 
)

Adds group members as reviewers for a select signoff team task

Returns
Parameters
sst_task(I) select signoff team task to add reviewers
add_excess_as_adhoc(I) If true then adds reviewers which could not be added to profiles as adhoc
n_group_members(I) Number of group members to be added as reviewers
group_members(I) Group members to be added as reviewers
EPM_API int EPM_add_subscribed_resource_pools ( tag_t  user,
int  count,
const tag_t resourcepools 
)

Adds subscribed resource pools to user's Inbox.

Parameters
user(I) The user tag
count(I) The number of subscribed resource pools to be added into user�s Inbox
resourcepools(I) The subscribed resourcepool tags to be added into the user�s Inbox
EPM_API int EPM_ask_accessor_tags ( tag_t  group,
logical  allow_subgroups,
tag_t  role,
int *  n_accessors,
tag_t **  accessors 
)

Given the name or pattern of a group and the name of a role return corresponding tags: the groups if not null, else the roles if not null, else the accessors (presumably role-in-group).

  1. ITK_ok on success
  2. CR_given_neither_group_nor_role if neither group nor role is specified
  3. CR_invalid_group_name if invalid group is entered
Parameters
group(I) Group in which the accesors are to be searched. Can be NULL. In this case, n_accesors = 1 and accesors = role
allow_subgroups(I) If true then search in the sub-groups
role(I) Role in which the accessors are to be searched. Can be NULL.
n_accessors(O) Number of accessors depending upon group, role.
accessors(OF) n_accessors List of accessors
EPM_API int EPM_ask_action_string ( EPM_action_t  action,
char  string[WSO_name_size_c+1] 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_ask_action_string2

Outputs the name of the action. Returns any one of the following actions: ASSIGN, START, PERFORM, COMPLETE, SUSPEND, RESUME, SKIP, ABORT, REFUSE, UNDO, REJECT, or HALT.

Parameters
action(I)
string(O)
EPM_API int EPM_ask_action_string2 ( EPM_action_t  action,
char **  string 
)

Outputs the name of the action. Returns any one of the following actions: The returned string is localized in the server locale. The possible values (for a server running in English) and their associated TextServer keys are as follows:

  • Assign: the key is "EPM_action_1".
  • Start: the key is "EPM_action_2".
  • Complete: the key is "EPM_action_4".
  • Suspend: the key is "EPM_action_6".
  • Resume: the key is "EPM_action_7".
  • Skip: the key is "EPM_action_5".
  • Abort: the key is "EPM_action_9".
  • Undo: the key is "EPM_action_8".
  • Fail: the key is "EPM_action_10".
  • Perform: the key is "EPM_action_100".
  • Add Attachment: the key is "EPM_action_101".
  • Remove Attachment: the key is "EPM_action_102".
  • Approve: the key is "EPM_action_104".
  • Reject: the key is "EPM_action_105".
  • Promote: the key is "EPM_action_106".
  • Demote: the key is "EPM_action_107".
  • Refuse: the key is "EPM_action_108".
  • Assign Approver: the key is "EPM_action_109".
  • Notify: the key is "EPM_action_110".
Parameters
action(I) Action for which the name is required
string(OF) Name of the action
EPM_API int EPM_ask_active_job_for_target ( tag_t  target_object,
int *  count,
tag_t **  jobs 
)

Gets list of jobs for which the given object is one of the target objects in the job. Only the jobs which are in process are returned. Those jobs that are already completed are not listed.

Parameters
target_object(I) Target object on which the jobs are to be searched
count(O) Number of jobs
jobs(OF) count List of jobs in which target_object is a one of the targets
EPM_API int EPM_ask_all_attachments ( tag_t  task,
int *  count,
tag_t **  attachments,
int **  attachment_types 
)

Gets all the objects attached to the given task and corresponding attachment types. The total number of attachments is stored in variable count. The following are valid attachment types: EPM_target_attachment, EPM_reference_attachment, EPM_signoff_attachment, or EPM_release_status_attachment.

Parameters
task(I) Task on which the attachments are requested
count(O) Number of attachments
attachments(OF) count List of attachments
attachment_types(OF) count List of attachment types
EPM_API int EPM_ask_all_procedure_names ( int *  procedure_count,
char ***  procedure_names 
)

Allocates an array of strings and fills it with all the procedure names in the system.

Parameters
procedure_count(O) Number of procedures
procedure_names(OF) procedure_count List of procedure names
EPM_API int EPM_ask_assigned_process_templates ( int  number_of_object_type_names,
char **  object_type_names,
const char *  group_name,
int *  count,
tag_t **  process_templates 
)
Deprecated:
This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_workflow_templates_base or EPM_ask_workflow_templates

This function returns a list of process templates assigned to the group and object types. If there are multiple object types, only the common assigned templates will be returned. If no object type is specified, it will return all the templates assigned to the group_name.

When there is no object types and no group name passed in, the function will return all the templates.

Parameters
number_of_object_type_names(I) The number of object type tags. It can be 0.
object_type_names(I) The tags of the object type. It can be null.
group_name(I) The name of the group. It can be null.
count(O) The number of templates returned
process_templates(OF) count List of names of the templates. MEM_free this.
EPM_API int EPM_ask_assigned_processes ( tag_t  object_type,
const char *  group_name,
int *  count,
char ***  process_names 
)
Deprecated:
This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_workflow_templates_base or EPM_ask_workflow_templates

Returns a list of the names of processes which are being assigned in the given object type and group.

Restrictions:

The user is responsible for freeing the memory for the array of process names. Call the MEM_free(...) routine to free memory for the entire list. This call to MEM_free also frees the memory for the individual strings at the same time.

Parameters
object_type(I) Tag of Object Type for which assigned processes are asked
group_name(I) Name of Group for which assigned processes are asked
count(O) Count for the assigned processes
process_names(OF) count Output array for assigned processes
EPM_API int EPM_ask_assigned_tasks ( tag_t  responsible_party,
int  query,
int *  count,
tag_t **  tasks 
)

Gets an array of tasks assigned to the given responsible party. Always give EPM_inbox_query as the query argument.

Parameters
responsible_party(I) Responsible party for which assigned tasks are required
query(I) Takes following values: 0 - eliminates tasks which are completed or skipped 1 - eliminates tasks which are completed or skipped or suspended 2 - only includes tasks which are started
count(O) Number of tasks assigned to responsible party
tasks(OF) count List of tasks
EPM_API int EPM_ask_attachment_string ( int  attachment_type,
char  type_string[WSO_name_size_c+1] 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_ask_attachment_string2

Outputs the name of the attachment associated with the input attachment type. The following are valid attachment types: EPM_target_attachment, EPM_reference_attachment, EPM_signoff_attachment, EPM_release_status_attachment, or EPM_user_attachment.

Note
Attachment types from 1000-32000 are user defined.
Parameters
attachment_type(I)
type_string(O)
EPM_API int EPM_ask_attachment_string2 ( int  attachment_type,
char **  type_string 
)

Outputs the name of the attachment associated with the input attachment type. The following are valid attachment types: EPM_target_attachment, EPM_reference_attachment, EPM_signoff_attachment, EPM_release_status_attachment, or EPM_user_attachment.

The returned string is localized in the server locale. The possible values (for a server running in English) and their associated TextServer keys are as follows:

  • Target: key is "EPM_attachment_1".
  • Reference: key is "EPM_attachment_3".
  • Signoff: key is "EPM_attachment_4".
  • ReleaseStatus: key is "EPM_attachment_5".
  • Comment: key is "EPM_attachment_6".
  • Instruction: key is "EPM_attachment_7".
Note
Attachment types from 1000-32000 are user defined.
Parameters
attachment_type(I) One of the attachment types like EPM_target_attachment, EPM_reference_attachment etc
type_string(OF) Name of the attachment type for ex. Target, Reference etc
EPM_API int EPM_ask_attachments ( tag_t  task,
int  attachment_type,
int *  count,
tag_t **  attachments 
)

Gets all the objects attached to the given task (for the given attachment type). The total number of attached objects is stored as count. This function requires the task and the attachment_type as inputs. The following are valid attachment types: EPM_target_attachment, EPM_reference_attachment, EPM_signoff_attachment, or EPM_release_status_attachment. Rule or action handlers dealing with target or reference attachment types should use the root task.

tag_t task;
int count;
POM-tag_t* attachments;
&count,
&attachments);
Parameters
task(I) Task on which the attachments are requested
attachment_type(I) Specific attachment type like EPM_target_attachment, EPM_reference_attachment etc
count(O) Number of attachments of specified type on the task
attachments(OF) count List of attachments
EPM_API int EPM_ask_audit_file ( tag_t  job,
tag_t audit_file 
)

Gets the tag to the audit file. The audit file is an ImanFile in text format where all actions to all tasks have been written to. It is a chronological history of actions taken on a job.

Parameters
job(I) Job for which the audit file is required
audit_file(O) Tag of the audit file for the job
EPM_API int EPM_ask_decision ( tag_t  task_tag,
tag_t  user,
EPM_signoff_decision_t decision,
char **  comments,
date_t decision_date 
)

Gets the decision, comments and decision date from when the given user performed a signoff.

  1. ITK_ok on success
  2. EPM_no_decision if no decision has been made
  3. EPM_unknown if user is specified and no signoffs are present
Parameters
task_tag(I) Task on which the decision, comments and date is required
user(I) User for which the decision, comments and date is required
decision(O) Decision taken by the user for the task
comments(OF) Comments from the user
decision_date(O) Date on which the decision was taken
EPM_API int EPM_ask_default_process ( const char  object_type[WSO_name_size_c+1],
char  process_name[WSO_name_size_c+1] 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_ask_default_process2

Returns the default review process name that is assigned to a given object type. This review process is based on the current login group.

Parameters
object_type(I)
process_name(O)
EPM_API int EPM_ask_default_process2 ( const char *  object_type,
char **  process_name 
)

Gets the default review process name that is assigned to a given object type. This review process is based on the current login group.

Parameters
object_type(I) Object for which default process is required
process_name(OF) Default review process name
EPM_API int EPM_ask_default_process_for ( tag_t  workspace_object,
char  process_name[WSO_name_size_c+1] 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_ask_default_process_for2

Returns the default review process name for a given Work that is assigned to a given object type. This review process is based on the current login group.

Parameters
workspace_object(I)
process_name(O)
EPM_API int EPM_ask_default_process_for2 ( tag_t  workspace_object,
char **  process_name 
)

Gets the default review process name for a given Work that is assigned to a given object type. This review process is based on the current login group.

Parameters
workspace_object(I) Workspace object
process_name(OF) Review process for this object based on the current login group
EPM_API int EPM_ask_description ( tag_t  task,
char  description[WSO_desc_size_c+1] 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_ask_description2

Returns the description of the given task.

Parameters
task(I)
description(O)
EPM_API int EPM_ask_description2 ( tag_t  task,
char **  description 
)

Gets the description of the given task.

Parameters
task(I) Task of which description is required
description(OF) Description on the task
EPM_API int EPM_ask_if_released ( tag_t  workspace_object,
int *  is_released 
)

Checks whether the workspace object is released.

Parameters
workspace_object(I) Workspace object on which the released status is to be checked
is_released(O) The value 0 indicates not released, while 1 indicates released
EPM_API int EPM_ask_job ( tag_t  task,
tag_t job 
)

Given the task, returns the corresponding job.

Parameters
task(I) Task of which job is required
job(O) Job for the task
EPM_API int EPM_ask_late_task_recipients ( tag_t  task,
int *  count,
tag_t **  recipients 
)

Gets the task's recipient tags. They are the tags of all users, groups, alias lists that will receive email notification when task become late (not completed before the due date).

Parameters
task(I) The task tag
count(O) The number of recipients in this task
recipients(OF) count Array of task's recipient tags. They are user tags, group tags or alias list tags that match the criteria in the above description.
EPM_API int EPM_ask_name ( tag_t  task,
char  name[WSO_name_size_c+1] 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_ask_name2

Returns the name of the given task.

Parameters
task(I)
name(O)
EPM_API int EPM_ask_name2 ( tag_t  task,
char **  name 
)

Gets the name of the given task.

Parameters
task(I) Task of which name is required
name(OF) Name of the task
EPM_API int EPM_ask_out_of_office ( tag_t  user,
tag_t delegate,
date_t start_date,
date_t end_date 
)

Get out-of-office attributes for a user. This function gives the user�s delegatee, start date and end date if the user is out of office.

Parameters
user(I) The user tag
delegate(O) The delegate tag. It can be an user tag, a groupmember tag or a resourcepool tag.
start_date(O) The start date
end_date(O) The end date
EPM_API int EPM_ask_parent_processes ( tag_t  subprocess_tag,
int *  count,
tag_t **  parent_processes_tags 
)

Gets parent processes for a sub-process.

Parameters
subprocess_tag(I) Subprocess for which its parent processes are required
count(O) Number of parent processes for the subprocess
parent_processes_tags(OF) count List of parent processes
EPM_API int EPM_ask_parent_task ( tag_t  task,
tag_t parent_task 
)

Gets parent task of the given task.

  1. ITK_ok on success
  2. EPM_job_corrupted if job is corrupt
Parameters
task(I) Task for which parent task is required
parent_task(O) Parent task
EPM_API int EPM_ask_participants_for_token ( tag_t  task,
const char *  token,
int *  gmcount,
tag_t **  gmtags,
int *  rpcount,
tag_t **  rptags 
)

Gets the list of participants depending on the token type. The "token" can take values like $PROPOSED_REVIEWERS, $PROPOSED_RESPONSIBLE_PARTY ...

  1. ITK_ok on success
  2. WSOUIF_object_not_found for addresslist type, if address list is not found for the participant
  3. EPM_target_object_not_attached for $TARGET, if no target attachments are found for the task
Parameters
token(I) Task tag
gmcount(I) Represents intended recipients of a notification like $PROPOSED_REVIEWERS, $PROPOSED_RESPONSIBLE_PARTY ...
gmtags(O) Number of group members
rpcount(OF) gmcount List of group member tags for participants
rptags(O) Number resource pools (OF) rpcount List of resource pools for participants
EPM_API int EPM_ask_procedure_name ( tag_t  job,
char  procedure_name[WSO_name_size_c+1] 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_ask_procedure_name2

Returns name of the procedure for the given job.

Parameters
job(I)
procedure_name(O)
EPM_API int EPM_ask_procedure_name2 ( tag_t  job,
char **  procedure_name 
)

Gets name of the procedure for the given job.

  1. ITK_ok on success
  2. EPM_template_not_found if template corresponding to the procedure_name is not found
Parameters
job(I) Job for which the procedure name is requested
procedure_name(OF) Procedure name for the job
EPM_API int EPM_ask_quorum ( tag_t  task_tag,
int *  quorum 
)

Gets minimum number of signoffs (approvals) required to complete the specified task.

  1. ITK_ok on success
  2. PROP_invalid_object if the input task is null
Parameters
task_tag(I) Task to ask quorum on
quorum(O) Quorum count for the task
EPM_API int EPM_ask_recipients_for_token ( tag_t  task,
const char *  token,
int *  count,
tag_t **  recipient_tags 
)

Gets the list of recipients depending on the token type. The "token" can take values like $PROPOSED_REVIEWERS, $PROPOSED_RESPONSIBLE_PARTY ...

  1. ITK_ok on success
  2. CXPOM_wrong_class for $PROJECT token, if the first project class corresponding to the first attachment of the root task is wrong
Parameters
task(I) The task tag
token(I) Token represents intended recipients of a notification.
count(O) The count holds the number of recipients.
recipient_tags(OF) count List of user tags for recipients
EPM_API int EPM_ask_release_statuses ( tag_t  job,
int *  count,
tag_t **  release_status_objects 
)

Gets the list of release status objects for the given job. Release status objects contain effectivity and release information that will be applied to the target objects.

Parameters
job(I) Job on which the release status objects are to be requested
count(O) Number of release status objects
release_status_objects(OF) count List of release status objects for the job
EPM_API int EPM_ask_remote_inbox ( tag_t  user,
tag_t  site,
tag_t remote_inbox 
)

Gets the tag of the remote inbox corresponding to the site

Parameters
user(I) The user tag
site(I) The site tag
remote_inbox(O) The remote inbox corresponding to the site
EPM_API int EPM_ask_required_profile_names ( tag_t  task,
int *  count,
char ***  required_profile_names 
)

Gets all the required signoff profiles for the task.

  1. ITK_ok on success
  2. EPM_internal_error if signoff profile obtained is invalid
Parameters
task(I) Task tag
count(O) Number of required signoff profiles
required_profile_names(OF) count List of profiles
EPM_API int EPM_ask_required_reviewer_types ( tag_t  task,
int *  count,
tag_t **  required_accessors 
)

Gets required accessors for a review task.

  1. ITK_ok on success
  2. CR_given_neither_group_nor_role if group and role are null when obtaining accessors
  3. CR_invalid_group_name if group name is invalid
Parameters
task(I) Task tag
count(O) Number of accesors
required_accessors(OF) count List of accessors depending on the signoff profiles of the task
EPM_API int EPM_ask_required_roles ( tag_t  job,
tag_t  task,
int *  count,
char ***  required_role_names 
)
Deprecated:
This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_required_profile_names
Parameters
job(I)
task(I)
count(O)
required_role_names(OF) count
EPM_API int EPM_ask_resource_pool_group_role ( tag_t  resourcepool,
tag_t group,
tag_t role,
logical allow_subgroup 
)

Asks resource pool group, role, and if subgroups are allowed.

Parameters
resourcepool(I) The given resource pool tag
group(O) The group tag
role(O) The role tag
allow_subgroup(O) The flag indicating if subgroups are allowed
EPM_API int EPM_ask_resource_pool_subscribers ( tag_t  resourcepool,
int *  u_count,
tag_t **  u_tags 
)

Asks resource pool subscribers.

Parameters
resourcepool(I) The given resource pool object
u_count(O) The user count
u_tags(OF) u_count List of user tags
EPM_API int EPM_ask_resourcepool ( tag_t  group,
tag_t  role,
logical  allow_subgroup,
logical  all_members,
tag_t resourcepool 
)

Gets the resource pool object given a group, role, a flag indicating if sub groups are allowed. and a flag indicating if all members should be included in the resource pool This method will create and save a resourcepool object if no such resourcepool object exists in the data base.

  1. ITK_ok on success
  2. EPM_internal_error if unable to find or create resource pool
Parameters
group(I) The Group tag
role(I) The role tag
allow_subgroup(I) The flag indicating if subgroups are allowed
all_members(I) The flag indicating if it is all members type resource pool
resourcepool(O) The resource pool tag
EPM_API int EPM_ask_responsible_party ( tag_t  task,
tag_t responsible_party 
)

Given the task, this routine gets corresponding responsible party.

Parameters
task(I) Task on which the respnsible party is requested
responsible_party(O) Assigned responsible party
EPM_API int EPM_ask_review_task_name ( const tag_t  task_tag,
char  review_task_name[WSO_name_size_c+1] 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_ask_review_task_name2

This function will return the task name if the task is a review task, or the subtask of a review task, such as select-signoff-team and perform-signoff task. This function will work properly with parallel tasks.

Parameters
task_tag(I) The task tag
review_task_name(O) The name of the review task
EPM_API int EPM_ask_review_task_name2 ( const tag_t  task_tag,
char **  review_task_name 
)

Gets the task name if the task is a review task, or the subtask of a review task, such as select-signoff-team and perform-signoff task. This function will work properly with parallel tasks.

Parameters
task_tag(I) The task tag
review_task_name(OF) The name of the review task
EPM_API int EPM_ask_review_task_names ( tag_t  task_tag,
int *  count,
char ***  review_task_names 
)

Gets a list of the names of all release levels for the given release procedure.

Note
The user is responsible for freeing the memory for the array of release level names. Call MEM_free to free memory for the entire list. This call to MEM_free also frees the memory for the individual strings at the same time.
char** names;
int n;
EPM_ask_review_task_names(task_tag, &n, &names);
MEM_free(names);
Parameters
task_tag(I) Task on which review task names are required
count(O) Number of review tasks
review_task_names(OF) count List of review tasks
EPM_API int EPM_ask_root_task ( tag_t  job_or_task,
tag_t root_task 
)

Gets root task of the given task or job.

Parameters
job_or_task(I) Job or task for which root task is required
root_task(O) Root task of the job or task
EPM_API int EPM_ask_state ( tag_t  task,
EPM_state_t state 
)

Gets the existing state of the task.

Parameters
task(I) Task on which the state is requested
state(O) Existing state of the task
EPM_API int EPM_ask_state_string ( EPM_state_t  state,
char  string[WSO_name_size_c+1] 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_ask_state_string2

Given the state of the task, this routine returns corresponding character string. The string can have any one of the following values: Unassigned, Pending, Started, Completed, Suspended, or Skipped.

Parameters
state(I)
string(O)
EPM_API int EPM_ask_state_string2 ( EPM_state_t  state,
char **  string 
)

Given the state of the task, this routine returns corresponding character string. The returned string is localized in the server locale. The possible values (for a server running in English) and their associated TextServer keys are as follows:

  • Unassigned: the key is "EPM_state_1".
  • Pending: the key is "EPM_state_2".
  • Started: the key is "EPM_state_4".
  • Completed: the key is "EPM_state_8".
  • Skipped: the key is "EPM_state_16".
  • Aborted: the key is "EPM_state_32"
  • Failed: the key is "EPM_state_64"
  • Suspended: the key is "EPM_state_128".
Parameters
state(I) State of the task for which the name is required
string(OF) Name of the task state
EPM_API int EPM_ask_sub_processes ( tag_t  parent_process_tag,
int *  count,
tag_t **  secondary_processes_tags 
)

Gets sub-processes attached to a parent process.

  1. ITK_ok on success
  2. POM_invalid_tag if parent process tag is invalid
Parameters
parent_process_tag(I) Parent process on which sub-processes are to be obtained
count(O) Number of subprocesses
secondary_processes_tags(OF) count List of subprocesses
EPM_API int EPM_ask_sub_task ( tag_t  task,
const char *  sub_task_name,
tag_t sub_task 
)

Gets the subtask with the given name.

Parameters
task(I) Task for which sub-task is required
sub_task_name(I) Name of the subtask
sub_task(O) Subtask corresponding to name, NULLTAG if task not found
EPM_API int EPM_ask_sub_tasks ( tag_t  task,
int *  count,
tag_t **  tasks 
)

Gets an array of subtasks attached to the task.

Parameters
task(I) Task for which all its sub-tasks are required
count(O) Number of subtasks
tasks(OF) count List of subtasks
EPM_API int EPM_ask_subscribed_remote_inboxes ( tag_t  user,
int *  count,
tag_t **  site_tags 
)

Gets the subscribed resource pools inboxes.

Parameters
user(I) The user tag
count(O) The number of sites whose inbox are subscribed
site_tags(OF) count Sites whose inbox are subscribed by the user
EPM_API int EPM_ask_subscribed_resource_pools ( tag_t  user,
int *  count,
tag_t **  resourcepools 
)

Gets the subscribed resource pools Inboxes.

Parameters
user(I) The user tag
count(O) The number of subscribed resource pools inboxes
resourcepools(OF) count List of resourcepool objects whose inboxes are subscribed by the user
EPM_API int EPM_ask_task_dependencies ( const tag_t  task,
int *  nb_of_predecessors,
tag_t **  predecessor_tasks 
)

Provides a list of tags to predecessor tasks with respect to the given task instantiation. This ITK function does not deal with task definitions but with a task instantiation. Predecessors are currently determined by the names of the sibling tasks that appear as arguments in the check-completion handler of the given task.

Parameters
task(I) Task on which the predecessors are required
nb_of_predecessors(O) Number of predecessors found
predecessor_tasks(OF) nb_of_predecessors List of predecessors found for the task
EPM_API int EPM_ask_task_due_date ( tag_t  task,
date_t due_date 
)

Gets the task�s due date given the task tag.

Parameters
task(I) The task tag
due_date(O) The task�s due date
EPM_API int EPM_ask_task_duration ( tag_t  task,
int *  yrs,
int *  wks,
int *  dys,
int *  hrs,
int *  mns 
)

Gets the task duration for a task. The task�s duration will be the total of: years(yrs) + weeks(wks) + days(dys) + hours(hrs) + minutes(mns)

Parameters
task(I) The task tag
yrs(O) The whole number of years of the task�s duration (yrs)
wks(O) The whole number of weeks of the task�s duration (wks)
dys(O) The whole number of days of the task�s duration (dys)
hrs(O) The whole number of hours of the task�s duration (hrs)
mns(O) The whole number of minutes of the task�s duration (mns)
EPM_API int EPM_ask_task_forms ( const tag_t  task,
int *  count,
tag_t **  forms 
)

Gets all forms attached to this task.

Parameters
task(I) Task on which forms are required
count(O) Number of forms
forms(OF) count List of forms for the task
EPM_API int EPM_ask_task_late ( tag_t  task,
logical late_flag 
)

Gets the task�s late flag given a task tag.

Parameters
task(I) The task tag
late_flag(O) The task�s late flag
EPM_API int EPM_ask_task_result_dependency ( const tag_t  dependent_task,
const tag_t  predecessor_task,
int *  result 
)

Gets the dependency between the task and the predecessor task.

Parameters
dependent_task(I) Task on which the dependency is required
predecessor_task(I) Predecessor of the dependent task
result(O) Can be one of 0 ,1 or 2 depending on the predecessor task
EPM_API int EPM_ask_tasks ( const tag_t  process,
EPM_state_t  task_state,
int *  count,
tag_t **  tasks 
)

Gets the tasks of a specific state from the process.

Parameters
process(I) Process for which the tasks are required
task_state(I) Tasks only of this state will be returned
count(O) Number of tasks of the specific state
tasks(OF) count List of tasks
EPM_API int EPM_ask_template_access ( tag_t  task_tag,
int *  nb_of_accessors,
char ***  group_names,
char ***  role_names,
int **  access_codes 
)

Get the following information about accessors in a specified release procedure level: number of accessors, groups to which accessors belong, roles to which accessors belong, and the access each accessor has to the target object.

  1. ITK_ok on success
  2. EPM_no_acl_defined_for_release_level if no ACLS defined for this task template
Parameters
task_tag(I) Task to find access
nb_of_accessors(O) Total number of accessors
group_names(OF) nb_of_accessors Strings giving accessor groups. MEM_free this list of strings.
role_names(OF) nb_of_accessors Strings giving accessor roles. MEM_free this list of strings.
access_codes(OF) nb_of_accessors Values giving access list for each accessor. MEM_free this list. Go to Access Masks for additional information about constructing access masks.
EPM_API int EPM_ask_typed_attachments ( tag_t  task,
const char *  object_type,
int *  count,
tag_t **  attachments 
)

Gets all target objects of a given type.

Parameters
task(I) Task on which the attachments are requested
object_type(I) Type of objects to be returned
count(O) Number of attachments of object type
attachments(OF) count List of attachments of the specified object type
EPM_API int EPM_ask_unassigned_profile_names ( tag_t  task,
int *  count,
char ***  unassigned_profile_names 
)

Gets unassigned profile names for the task.

  1. ITK_ok on success
  2. EPM_internal_error if signoff profile obtained is invalid
Parameters
task(I) Task tag
count(O) Number of unassigned profiles for the task
unassigned_profile_names(OF) count List of profiles
EPM_API int EPM_ask_unassigned_profiles ( tag_t  job,
tag_t  task,
int *  count,
tag_t **  unassigned_profile_tags 
)

Gets unassigned profiles for this task.

  1. ITK_ok on success
  2. EPM_internal_error if signoff profile obtained is invalid
Parameters
job(I) Job of the task
task(I) Task for which unassigned profiles are required
count(O) Number of unassigned profiles for the task
unassigned_profile_tags(OF) count List of profiles
EPM_API int EPM_ask_unassigned_roles ( tag_t  job,
tag_t  task,
int *  count,
char ***  unassigned_role_names 
)
Deprecated:
This function is deprecated and will be removed from Tc12.1. In Tc10.1 onwards, please use EPM_ask_unassigned_profile_names
Parameters
job(I)
task(I)
count(O)
unassigned_role_names(OF) count
EPM_API int EPM_ask_users_late_tasks ( tag_t  user,
int *  count,
tag_t **  late_tasks 
)

Finds all the tasks that are late in the responsible Party�s Inbox. Those tasks are not already completed or not suspended.

Parameters
user(I) The user tag. This can be either a user tag or a resource pool tag.
count(O) The number of all the tasks that are late and not-yet completed but not suspended, in this user�s Inbox .
late_tasks(OF) count Array of all the tasks that are late and not-yet completed but not suspended, in this responsible party�s Inbox.
EPM_API int EPM_assign_assignment_list ( tag_t  process,
tag_t  assignment_list 
)

This ITK assigns an assignment list to a process.

  1. ITK_ok on success
  2. EPM_assignment_list_ask_attr_failed if failed to fetch task_templates or resources attributes of assignment list
  3. EPM_resource_list_wrong_values if resource count and action count are different
  4. EPM_failed_to_assign_resource if failed to assign resource for a task
Parameters
process(I) Process to be assigned
assignment_list(I) List to which the process is to be assigned
EPM_API int EPM_assign_responsible_party ( tag_t  task,
tag_t  responsible_party 
)

Assigns responsible party to the given task. Responsible party can be either a user or a resource pool.

Parameters
task(I) Task for which the respnsible party is to be assigned
responsible_party(I) New responsible party for the task
EPM_API int EPM_assign_responsible_party_with_comments ( tag_t  task,
tag_t  responsible_party,
const char *  comments 
)

Assigns responsible party to the given task. Responsible party can be either a user or a resource pool.
This method also logs the comment. If the comment parameter is empty/null then the comment will not be saved.

Returns
Parameters
task(I) Task for which the respnsible party is to be assigned
responsible_party(I) New responsible party for the task
comments(I) Comments for the task
EPM_API int EPM_assign_to_all_tasks ( tag_t  assignment_list,
int  num_of_templates,
const tag_t task_templates,
const EPM_resource_list_t resources,
tag_t  process 
)

Assigns all the tasks in a workflow process:

  • if the assignment list is not null, using the assignment list
  • if the assignment list if null, it assigns all the tasks using the resources list.
    In such a case the parameters num_of_templates, task_templates and resources should be specified.


The function returns

Parameters
assignment_list(I) Assignment list using which tasks from the process are assigned. Can be NULLTAG
num_of_templates(I) Number of task templates
task_templates(I) Task templates to which the resources are to be assigned
resources(I) Resources to be assigned to task templates
process(I) Process to be assigned to assignment list
EPM_API int EPM_assignment_list_create ( const char *  list_name,
int  desc_length,
char **  desc_array,
tag_t  proc_template,
logical  is_shared,
int  resources_count,
const tag_t templates_array,
const EPM_resource_list_t resources,
tag_t new_assn_List 
)

Creates a Process Assignment List for a workflow process template.

  1. ITK_ok on success
  2. EPM_assignment_list_creation_failed if creation of resource list failed
Parameters
list_name(I) Name of the new assignment list
desc_length(I) Length of the description
desc_array(I) Description of the process assignment list
proc_template(I) Process template for which the list is created
is_shared(I) If true, create a shared assignment list
resources_count(I) Count of resources array
templates_array(I) List of task templates to assign the resources to
resources(I) Resource list to be included in the assignment list
new_assn_List(O) New assignment list
EPM_API int EPM_assignment_list_describe ( tag_t  assn_list,
char **  list_name,
int *  desc_length,
char ***  desc_array,
logical is_shared,
tag_t proc_template,
int *  resources_count,
tag_t **  templates_array,
tag_t **  resources 
)

Provides the details like process templates, resources etc of the process assignment list.

  1. ITK_ok on success
  2. EPM_assignment_list_ask_attr_failed if error occured while extracting name, description, task templates or resources
  3. EPM_no_proc_template_found if no process templates for the assignment list are found
Parameters
assn_list(I) Assignmnet list tag
list_name(OF) Name of the assignment list
desc_length(O) Description of the list
desc_array(OF) desc_length Descriptions
is_shared(O) True if assignment list is shared
proc_template(O) Process template in assignment list
resources_count(O) Number of resources
templates_array(OF) resources_count List of templates
resources(OF) resources_count List of resources
EPM_API int EPM_assignment_list_edit ( tag_t  assn_list,
const char *  list_name,
int  desc_length,
char **  desc_array,
tag_t  proc_template,
logical  is_shared,
int  resources_count,
const tag_t templates_array,
const EPM_resource_list_t resources 
)

Modifies an existing Process Assignment List.

  1. ITK_ok on success
  2. EPM_assignment_list_modification_failed if resources is NULL or if failed to append the task templates and resources
Parameters
assn_list(I) Assignment list to be edited
list_name(I) Assignment list name
desc_length(I) Decription length
desc_array(I) Decription of assignment list
proc_template(I) Process template
is_shared(I) If true, create a shared list
resources_count(I) Count of resources array
templates_array(I) List of task templates to assign the resources to
resources(I) Resources for the assignment list
EPM_API int EPM_assignment_list_extent ( int *  n_instances,
tag_t **  instance_tags 
)

Returns all the assignment list objects in the database.

Parameters
n_instances(O) Number of instances
instance_tags(OF) n_instances List of instances
EPM_API int EPM_assnlist_get_proc_template ( tag_t  assn_list,
tag_t process_template 
)

Fetches the process template for a particular assignment list.

  1. ITK_ok on success
  2. EPM_no_proc_template_found if process template not found
Parameters
assn_list(I) Assignment list
process_template(O) Process template for the assignment list
EPM_API int EPM_attach_sub_processes ( tag_t  parent_process_tag,
int  count,
const tag_t secondary_processes_tags 
)

Attaches sub-processes to a parent process.

  1. ITK_ok on success
  2. EPM_invalid_operation if subprocess is not of type EPMProcess
  3. EPM_cannot_attach_parent_process_to_task if subprocess is the parent process itself
  4. EPM_internal_error if error while extracing all subprocesses of parent process
  5. EPM_object_already_attached if sub-process to be attached is already a subprocess of the parent
Parameters
parent_process_tag(I) Parent process on which sub-processes are to be attached
count(I) Number of subprocesses
secondary_processes_tags(I) count List of subprocesses
EPM_API int EPM_check_access ( tag_t  task,
const char *  privilege,
logical verdict 
)
Parameters
task(I) Task tag
privilege(I) Privilege name. Choices are READ, WRITE, DELETE, CHANGE, PROMOTE, DEMOTE, COPY, IMPORT, EXPORT, TRANSFER_IN and TRANSFER_OUT.
verdict(O) Specifies whether the privilege is granted or revoked.
EPM_API int EPM_claim_as_surrogate ( tag_t  task_or_signoff,
logical  xfer_checkouts,
int *  exceptions_count,
tag_t **  exceptions_list 
)

Sets the logged in user as the active surrogate on task or signoff.
Any exceptions encountered during tranfer of surrogates are stored in exceptions_list.

  1. ITK_ok on success
  2. EPM_internal_error if current user tag obtained is NULLTAG
  3. EPM_not_valid_surrogate if signoff, and signoff user is not a valid surrogate or if current user cannot be set as surrogate for task
  4. EPM_standin_action_not_supported if responsible party for the task is a resourcepool
Parameters
task_or_signoff(I) Task or signoffs on which the logged-in user is assigned a surrogate
xfer_checkouts(I) If true, transfer the checked out objects from the old surrogate to new
exceptions_count(O) Number of exceptions encountered during transfer of checkouts
exceptions_list(OF) exceptions_count List of exceptions
EPM_API int EPM_claim_task ( tag_t  task_tag,
tag_t  signoff 
)

This function allows the logged-in user to claim a task assigned to a resource pool.

Return:

  1. ITK_ok on success
  2. EPM_no_privilege_to_assign if user do not have sufficient privileges to assign
  3. EPM_delegate if delegate fails
Parameters
task_tag(I) Tag of the task to be claimed
signoff(I) Tag of the signoff object, for a perform-signoff task
EPM_API int EPM_clear_process_stage ( const tag_t  task)

Clears the process stage list for the task.

Parameters
task(I) Task for which the process stage needs to be cleared
EPM_API int EPM_create_assigned_process ( const char *  name,
const char *  description,
tag_t  process_template,
const char *  privileged_user,
int  user_count,
char **  user_list,
date_t  due_date,
int  attachment_count,
const tag_t attachment_list,
const int *  attachment_types,
const char *  container_uid,
char *  relation_name,
tag_t new_process 
)

Creates a new process based on the given parameters. The new process�s tag will be returned. This ITK is typically used to initiate a Workflow process from a Schedule.

  1. ITK_ok on success
  2. EPM_template_not_found if process temmplate is null
  3. SA_finding_user if privileged is not specified and valid user cannot be found
  4. WS_infodba_cannot_create_wsobjects if current logged-in user is infodba
  5. EPM_unable_to_initiate_process: Unable to initiate process
  6. EPM_job_corrupted if root task of the newly created process is invalid
  7. EPM_target_not_workspaceobject if target type attachment is not a WSO object
  8. WSO_already_archived if target WSO is already archived
  9. EPM_target_modified if EPM_RELEASE_MODIFIED_BVR envt variable is defined, target is of type BVR and BVR is modified
  10. CR_in_release_process if multiple processes preference is set to OFF and target WSO is referenced in more than one task
Parameters
name(I) Process name
description(I) Process description
process_template(I) Existing process template
privileged_user(I) Privileged user of a task
user_count(I) Count of users
user_list(I) List of users to assign
due_date(I) Due date
attachment_count(I) Attachment count
attachment_list(I) Attachment list
attachment_types(I) Attachment types
container_uid(I) Container object to relate process to
relation_name(I) Relation to use with container. If this is NULL, its value is altered based on container class name. For Folder classname, relationName is set to contents. For Item classname, relationName is set to value of preferance Item_default_relation
new_process(O) New process
EPM_API int EPM_create_participant ( tag_t  assignee,
tag_t  participant_type,
tag_t participant 
)

Creates a Participant object of type participant_type and sets its attribute to the specified assignee.

  1. ITK_ok on success
  2. ITK_internal_error if unable to save new participant for assignee
Parameters
assignee(I) The assignee tag. This can be either a group member tag or a resource pool tag.
participant_type(I) The type of participant that needs to be created
participant(O) The tag of the new participant object
EPM_API int EPM_create_process ( const char *  name,
const char *  description,
const tag_t  process_template,
int  attachment_count,
const tag_t attachments,
const int *  attachment_types,
tag_t new_process 
)

Creates a new process with the process name, description, process template tag, and attachments (like target or reference). The new process will be started and it�s tag will be returned.

  1. ITK_ok on success
  2. WS_infodba_cannot_create_wsobjects if current logged-in user is infodba
  3. EPM_target_not_workspaceobject if target type attachment is not a WSO object
  4. WSO_already_archived if target WSO is already archived
  5. EPM_target_modified if EPM_RELEASE_MODIFIED_BVR envt variable is defined, target is of type BVR and BVR is modified
  6. CR_in_release_process if multiple processes preference is set to OFF and target WSO is referenced in more than one task
Parameters
name(I) Name of the process
description(I) Process description
process_template(I) Process template tag
attachment_count(I) Number of attachments
attachments(I) Attachments to the process
attachment_types(I) Attachment types like target or reference
new_process(O) New process
EPM_API int EPM_create_process_deferred_start ( const char *  name,
const char *  description,
const tag_t  process_template,
int  attachment_count,
const tag_t attachments,
const int *  attachment_types,
tag_t new_process 
)

Creates a process with process name, description, process template tag, and attachments (like target or reference) as arguments. The newly created process will not start. The new process�s tag will be returned.

  1. ITK_ok on success
  2. WS_infodba_cannot_create_wsobjects if current logged-in user is infodba
  3. EPM_target_not_workspaceobject if target type attachment is not a WSO object
  4. WSO_already_archived if target WSO is already archived
  5. EPM_target_modified if EPM_RELEASE_MODIFIED_BVR envt variable is defined, target is of type BVR and BVR is modified
  6. CR_in_release_process if multiple processes preference is set to OFF and target WSO is referenced in more than one task
EPM_API int EPM_demote_task ( const tag_t  task_tag,
const char *  comments 
)

Demote the task.

  1. ITK_ok on success
  2. EPM_access_denied if demote action is denied on the task for logged-in user
Parameters
task_tag(I) The task tag
comments(I) Demote comments
EPM_API int EPM_find_assignment_lists ( tag_t  resource,
int *  num_of_lists,
tag_t **  lists 
)

Finds all the assignment lists where the given resource has been used.

  1. ITK_ok on success
  2. POM_no_attr_of_this_name if attribute resource does not exists for class EPMAssignmentList or EPMResourceList
Parameters
resource(I) Resource to be searched
num_of_lists(O) Number of lists in which the resource is found
lists(OF) num_of_lists List of assignment lists
EPM_API int EPM_find_status_type ( const char *  status_type,
tag_t status 
)

Gets the status_type object of the given name.

  1. ITK_ok on success
  2. CR_type_not_found if status type not found
Parameters
status_type(I) Status type name
status(O) Status type tag
EPM_API int EPM_get_adhoc_signoff_selection_done ( tag_t  task,
logical selection_done 
)

Gets the logical is_done property of a task.

Parameters
task(I) The task tag
selection_done(O) The task�s is_done logical property
EPM_API int EPM_get_all_assignment_lists ( int *  n_own_lists,
tag_t **  own_list_tags,
int *  n_group_lists,
tag_t **  group_list_tags,
int *  n_other_lists,
tag_t **  other_list_tags 
)

Retrieves all the assignment lists of the logged-in user, of its group and also other assignments lists.

Parameters
n_own_lists(O) Number of assignment lists of logged-in user
own_list_tags(OF) n_own_lists List of assignment lists owned by logged-in user
n_group_lists(O) Number of assignment lists of group of logged-in user
group_list_tags(OF) n_group_lists List of assignment lists of the logged-in user's group
n_other_lists(O) Number of all other assignments lists
other_list_tags(OF) n_other_lists List of other assignment lists
EPM_API int EPM_get_assignment_list ( char *  list_name,
tag_t assn_list 
)

Finds the assignment list by the name.

Parameters
list_name(I) Name of the assignment list
assn_list(O) Assignment list tag
EPM_API int EPM_get_assignmentlists_by_job ( tag_t  job_tag,
int *  n_own_lists,
tag_t **  own_list_tags,
int *  n_group_lists,
tag_t **  group_list_tags,
int *  n_other_lists,
tag_t **  other_list_tags 
)

Fetches the assignments lists for a particular job.

Parameters
job_tag(I) Job on which the lists are required
n_own_lists(O) Logged-in user assignment list count
own_list_tags(OF) n_own_lists List of assignment lists
n_group_lists(O) Logged-in user group assignment list count
group_list_tags(OF) n_group_lists List of group assignment lists
n_other_lists(O) Other assignment list count
other_list_tags(OF) n_other_lists List of other assignment lists
EPM_API int EPM_get_condition_task_result ( tag_t  task,
int *  condition 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_get_task_result

Gets the condition result of a task.

Parameters
task(I) The task tag
condition(O) The task�s condition result value. It can be:
EPM_RESULT_FALSE
EPM_RESULT_TRUE
EPM_RESULT_UNSET (null)
EPM_API int EPM_get_current_surrogates ( int  user_count,
const tag_t users,
int *  surrogate_count,
tag_t **  surrogate_users 
)

Gets current surrogates for the users as of current date. If users contains an tags which are not TC users, those tags are ignored.

Parameters
user_count(I) Number of users
users(I) User list for which surrogates are requested
surrogate_count(O) Number of surrogates for users
surrogate_users(OF) surrogate_count List of surrogates
EPM_API int EPM_get_participant ( const char *  participant_value,
tag_t  task,
tag_t member,
tag_t rp,
logical is_resourcepool 
)

Gets a single participant which correspond to the keywords specified in the participant_value string.

  1. ITK_ok on success
  2. WSOUIF_object_not_found for addresslist type, if address list is not found for the participant
  3. EPM_target_object_not_attached for $TARGET, if no target attachments are found for the task
Parameters
participant_value(I) The keyword for which the member is required. For ex. $PROCESSOWNER, user:Smith, resourcepool:manufacturing::engineer etc.
task(I) The task for which the participant_value is to be evaluated.
member(O) The group member corresponding to the participant_ value.
rp(O) The resource pool corresponding to the participant_ value.
is_resourcepool(O) Indicates if the member being returned is a resource pool.
EPM_API int EPM_get_participants ( const char *  participant_value,
tag_t  task,
int *  member_count,
tag_t **  members,
int *  rp_count,
tag_t **  rps,
logical  single_participant 
)

Gets a list of participants which correspond to the keywords specified in the participant_value string.

  1. ITK_ok on success
  2. WSOUIF_object_not_found for addresslist type, if address list is not found for the participant
  3. EPM_target_object_not_attached for $TARGET, if no target attachments are found for the task
Parameters
participant_value(I) The keyword for which the members are required. For ex. $PROCESSOWNER, user:Smith, resourcepool:manufacturing::engineer etc. Can be comma-seperated list
task(I) The task for which the participant_value is to be evaluated.
member_count(O) The total number of group members corresponding to participant_type.
members(OF) member_count Group members corresponding to participant_type.
rp_count(O) The total number of resource pools corresponding to participant_type.
rps(OF) rp_count Resource pools corresponding to participant_type.
single_participant(I) If true, members of only first participant_type (in a comma-seperated list) are returned.
EPM_API int EPM_get_participanttype ( char *  type_name,
tag_t participant_type 
)

Gets the participant type based on the type name.

Parameters
type_name(I) Participant type name
participant_type(O) Participant type for the name
EPM_API int EPM_get_resource_pool ( tag_t  group,
tag_t  role,
logical  allow_subgroup,
tag_t resourcepool 
)

Gets the resource pool object given a group, role, and a flag indicating if sub groups are allowed. This method will create and save a resourcepool object if no such resourcepool object exists in the data base.

  1. ITK_ok on success
  2. EPM_internal_error if unable to find or create resource pool
Parameters
group(I) The Group tag
role(I) The role tag
allow_subgroup(I) The flag indicating if subgroups are allowed
resourcepool(O) The resource pool tag
EPM_API int EPM_get_resource_pool_name ( tag_t  resourcepool,
char **  resourcepool_name 
)

Asks resource pool name.

Parameters
resourcepool(I) The given resource pool object
resourcepool_name(OF) Display name for given resource pool object
EPM_API int EPM_get_task_result ( tag_t  task,
char **  result 
)

Gets the result of a task.

Parameters
task(I) The task tag
result(OF) The task�s result value. It can be: EPM_RESULT_Unset EPM_RESULT_Completed EPM_RESULT_Approved EPM_RESULT_Rejected EPM_RESULT_Unable_to_complete EPM_RESULT_True EPM_RESULT_False EPM_RESULT_No_error It can be any string for a Condition task.
EPM_API int EPM_get_type_tasks ( const tag_t  job_tag,
const EPM_task_type_t  task_type,
int *  number_of_tasks,
tag_t **  task_tags 
)

Gets the number of tasks and tasks' tags of a given task type, such as all the review tasks, in a job.

Parameters
job_tag(I) The tag of the job that contains the tasks
task_type(I) Task type
number_of_tasks(O) Number of tasks found with the specified type in the job
task_tags(OF) number_of_tasks Tags of those tasks
EPM_API int EPM_get_wait_for_undecided_reviewers ( tag_t  task,
int *  undecided_reviewer_count 
)

Gets the wait_for_undecided_reviewers value of a Review task.

Parameters
task(I) The task tag
undecided_reviewer_count(O) The Review task�s wait_for_undecided_reviewers value. It can be: 0 or 1
EPM_API int EPM_init_module ( )

This ITK is used to initialize the EPM module and register some workflow handlers.

EPM_API int EPM_is_task_claimable ( tag_t  task,
logical allow_claim 
)
Parameters
task(I) Tag of the task to be checked for claim
allow_claim(O) The flag indicating if task is claimable or not
EPM_API int EPM_is_valid_performer ( tag_t  task,
logical valid 
)

Checks whether the current user is a valid performer for the task.

Parameters
task(I) Task tag
valid(O) True if user is a valid performer else false
EPM_API int EPM_promote_task ( const tag_t  task_tag,
const char *  comments 
)

Promote the task.

  1. ITK_ok on success
  2. EPM_access_denied if promote action is denied on the task for logged-in user
  3. EPM_interprocess_task_dependency_not_met if failed to complete interdependent tasks
Parameters
task_tag(I) The task tag
comments(I) Promote comments
EPM_API int EPM_refresh_entire_job ( tag_t  job)

Refreshes the job and all of its tasks.

  1. ITK_ok on success
  2. ITK_internal_error if refresh job fails for unknown error
Parameters
job(I) Job to be refreshed
EPM_API int EPM_refresh_job ( tag_t  job)

Reloads the job and all of the tasks in the job. If any other ITK or Workspace sessions have modified the job since it was last loaded, then calling this function assures that all values asked for will be the most current values in the database.

Note
This function is called automatically before a change is made to a task, so it is only needed before calling an EPM_ask_xxx function.
  1. ITK_ok on success
  2. EPM_invalid_argument if job tag is NULLTAG
Parameters
job(I) Workflow process to be reloaded. Also its tasks, signoffs and release levels will be reloaded
EPM_API int EPM_register_action_handler ( const char *  handler_name,
const char *  handler_description,
EPM_action_handler_t  function_pointer 
)

Registers an action handler for a given handlerName. The handlerName must match the name you interactively supply to the Handler Name field found on the Task Definition window.

#include <epm/epm.h>
int EPM_system( EPM_action_message_t msg )
{
int err = ITK_ok;
char* arg = 0;
{
get first argument
System( arg );
}
return err; return an ITK error code if an error occurred
}
USER_register_callbacks()
{
int err = EPM_register_action_handler( "system",
"The first argument to handler gets sent as argument to system()",
EPM_system);
}
  1. ITK_ok on success
  2. EPM_duplicate_registration if action handler with the same name already exists
Parameters
handler_name(I) Is a character string that must match the Handler Name field on the Task Definition window
handler_description(I) A character string that should describe what the handler does and what arguments it takes. The string displays in the Task Definition window.
function_pointer(I) The address to the function being registered
EPM_API int EPM_register_rule_handler ( const char *  handler_name,
const char *  handler_description,
EPM_rule_handler_t  function_pointer 
)

Registers a rule handler for a given handlerName. The handlerName is the name you interactively supply to the Handler Name field found on the Task Definition window.

Example(s): The following is a sample rule handler EPM_check_responsible_party, which is registered using USER_register_callbacks.

EPM_decision_t EPM_check_responsible_party(EPM_rule_message_t msg)
{
int s;
char* userName;
tag_t aUserTag, responsibleParty;
s = EPM_ask_responsible_party(msg.task, &responsibleParty);
if (responsibleParty, NULLTAG)
{
decision = EPM_go;
}
if(s == ITK_ok && decision == EPM_nogo)
{
s = POM_get_user (&userName, &aUserTag);
MEM_free (userName);
if (s == ITK_ok)
{
if (aUserTag, responsibleParty)
decision = EPM_go;
}
}
return decision;
}
USER_register_callbacks()
{
s=EPM_register_rule_handler("check_responsible_party",
"Success when logged in user is the responsible party for this task",
EPM_check_responsible_party);
}
  1. ITK_ok on success
  2. EPM_duplicate_registration if rule handler with the same name already exists
Parameters
handler_name(I) Is a character string that identifies the handler. This string is then input into the Handler Name field on the Task Definition window when you want to use it.
handler_description(I) Is a character string that should describe what the handler does and what arguments it takes. The string displays in the Task Definition window.
function_pointer(I) Is the address to the function being registered
EPM_API int EPM_release_claim ( tag_t  task_or_signoff,
logical  xfer_checkouts,
int *  exceptions_count,
tag_t **  exceptions_list 
)

Releases the claim from active surrogate on task or signoff.

  1. ITK_ok on success
  2. EPM_internal_error if current user tag obtained is NULLTAG
  3. EPM_not_valid_surrogate if signoff, and signoff user is not a valid surrogate or current user is not the responsible party of the task
Parameters
task_or_signoff(I) Task or surrogate on which the claim is to be released
xfer_checkouts(I) If true, transfer the checkouts from surrogate user to owner
exceptions_count(O) Number of exceptions encountered during transfer of checkouts
exceptions_list(OF) exceptions_count List of exceptions
EPM_API int EPM_remove_all_subscribed_remote_inboxes ( tag_t  user)

Gets the subscribed resource pools inboxes.

Parameters
user(I) The user tag
EPM_API int EPM_remove_attachments ( tag_t  task,
int  count,
const tag_t attachments 
)

Removes objects attached to the task. Tags of the objects to be deleted are stored in the array of attachments.

  1. ITK_ok on success
  2. EPM_already_completed if task is already completed
  3. CXPOM_value_not_in_list if attachment to be removed is not found
  4. EPM_job_corrupted if job is corrupt when detaching target attachment from task
  5. EPM_cannot_remove_task_from_wso: Error during removal of the tasks from the target release status list
Parameters
task(I) Task on which the attachment is to be removed
count(I) Number of attachments to be removed
attachments(I) List of attachments to be removed
EPM_API int EPM_remove_release_status ( tag_t  job,
tag_t  release_status 
)

Removes the specified release status from the list of release statuses of the job. This also deletes the release_status from the database.

  1. ITK_ok on success
  2. EPM_already_completed if root task is completed
  3. CXPOM_value_not_in_list if release status attachment is not found
Parameters
job(I) Job on which the release_status is to be removed
release_status(I) Release status that is to be removed
EPM_API int EPM_remove_status_from_targets ( tag_t  release_status,
tag_t  root_tag 
)

Removes the release status from target objects.

  1. ITK_ok on success
  2. CXPOM_wrong_class if the input release_status is a tag to an object other than a release status object
  3. CXPOM_invalid_tag if input root_tag is a tag to an object other than a task object
Parameters
root_tag(I) Release status tag (I) Root task tag
EPM_API int EPM_remove_sub_processes ( tag_t  parent_process_tag,
int  count,
const tag_t secondary_processes_tags 
)

Removes sub-processes attached to a task.

  1. ITK_ok on success
  2. POM_invalid_tag if parent process tag is invalid
Parameters
parent_process_tag(I) Parent process on which sub-processes are to be removed
count(I) Number of subprocesses
secondary_processes_tags(I) count List of subprocesses
EPM_API int EPM_remove_subscribed_resource_pools ( tag_t  user,
int  count,
const tag_t resourcepools 
)

Removes subscribed resource pools from user�s Inbox.

Parameters
user(I) The user tag
count(I) The number of subscribed resource pools to be removed from the user�s Inbox
resourcepools(I) The resource pool objects that will be removed from the user Inbox
EPM_API int EPM_remove_surrogate_user ( tag_t  user,
tag_t  surrogate_user,
int *  count,
tag_t **  claimed_tasks 
)

Removes the surrogate user for user inbox.

Parameters
user(I) User for which surrogate user is to be removed
surrogate_user(I) Surrogate user
count(O) Number of claimed tasks
claimed_tasks(OF) count List of claimed tasks
EPM_API int EPM_remove_task_hold ( tag_t  task_tag)

This function sets action handler EPM-hold to "false" in order for a subsequent.

  1. ITK_ok on success
  2. EPM_complete_action to be able to complete a task if all other conditions are met
Parameters
task_tag(I) The task tag
EPM_API int EPM_replace_resource_in_lists ( int  count,
const tag_t assn_lists,
tag_t  old_resource,
tag_t  new_resource 
)

Replaces or removes the resource in the given Assignment Lists.
If new_resource is a NULLTAG then old resource will be removed.

  1. ITK_ok on success
  2. EPM_assignment_list_ask_attr_failed if no resource attribute query failed
  3. EPM_failed_to_replace_resource if failed to replace or remove resource
Parameters
count(I) Number of assignment lists
assn_lists(I) Count number of assignment lists from which the resource should be replaced
old_resource(I) Resource to be replaced
new_resource(I) New resource that replaces the old resource. If NULLTAG then old resource will be removed
EPM_API int EPM_reset_task_due_date ( tag_t  task)

Reset task due date to NULL for a task.

Parameters
task(I) The task tag
EPM_API int EPM_resource_list_create ( int  count,
const tag_t resources,
const tag_t profiles,
const int *  actions,
int  rev_quorum,
int  ack_quorum,
int  wait_for_undecided_reviewers,
tag_t resource_list 
)

Creates an EPMResourceList Business Object.

Parameters
count(I) Number of resources, profiles and actions
resources(I) Resources to be added to the object
profiles(I) Profiles to be added to the object
actions(I) Action types to be added to the object
rev_quorum(I) Review quorum
ack_quorum(I) Acknowledge quorum
wait_for_undecided_reviewers(I) If true, wait for undecided reviewers
resource_list(O) The new resource list created
EPM_API int EPM_resource_list_describe ( tag_t  resource_list,
int *  rev_quorum,
int *  ack_quorum,
int *  wait_for_undecided_reviewers,
int *  count,
tag_t **  resources,
tag_t **  profiles,
int **  actions 
)

Gets details like resources, profiles actions etc from the existing EPMResourceList Business Object.

  1. ITK_ok on success
  2. EPM_resource_list_wrong_values if resource count and action count are different
Parameters
resource_list(I) Resourcelist business object
rev_quorum(O) Review quorum
ack_quorum(O) Acknowledge quorum
wait_for_undecided_reviewers(O) Wait for undecided reviewers setting
count(O) Number of resources, profiles and actions
resources(OF) count List of resources from the resourceList
profiles(OF) count List of profiles from the resourceList
actions(OF) count List of actions from the resourceList
EPM_API int EPM_resource_list_edit ( tag_t  resource_list,
int  count,
const tag_t resources,
const tag_t profiles,
const int *  actions,
int  rev_quorum,
int  ack_quorum,
int  wait_for_undecided_reviewers 
)

Modifies an existing EPMResourceList Business Object.

Parameters
resource_list(I) Resourcelist business object
count(I) Number of resources, profiles and actions
resources(I) Resources to be added to the object
profiles(I) Profiles to be added to the object
actions(I) Action types to be added to the object
rev_quorum(I) Review quorum
ack_quorum(I) Acknowledge quorum
wait_for_undecided_reviewers(I) Wait for undecided reviewers setting
EPM_API int EPM_search_task_in_job ( tag_t  task,
const char *  task_name,
tag_t sub_task 
)

Retrieves a task from a process given a task name.

Parameters
task(I) Task within a job from which the sub-task is required
task_name(I) The task name to find
sub_task(O) Task from the job corresponding to the task_name
EPM_API int EPM_set_adhoc_signoff_selection_done ( tag_t  task,
logical  selection_done 
)

Sets the logical is_done property for a task.

Parameters
task(I) The task tag
selection_done(I) The task�s is_done logical property
EPM_API int EPM_set_condition_task_result ( tag_t  task,
int  condition 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_set_task_result

Sets the condition result for a task, given the task tag.

Parameters
task(I) The task tag
condition(I) The task�s condition result value to be set. It can be:
EPM_RESULT_FALSE
EPM_RESULT_TRUE
EPM_RESULT_UNSET (null)
EPM_API int EPM_set_decision ( tag_t  task_tag,
tag_t  user,
CR_signoff_decision_t  descision,
const char  comments[CR_comment_size_c+1],
const logical  auto_complete 
)

This function will set the decision on a review task.

Deprecated:
This function is deprecated. Please use EPM_set_task_decision instead.
Parameters
task_tag(I) The tag of a perform signoff task or a review task
user(I) The tag of user who is setting the decision
descision(I) The decision
comments(I) The comments
auto_complete(I) This arguement will control if a EPM_complete_action is triggered on the task after the decision is set to CR_approve_decision.
EPM_API int EPM_set_late_task_recipients ( tag_t  task,
int  count,
const tag_t recipient_tags 
)

Sets the recipients for a task. These are the tags of all users, groups, alias lists that will be sent emails when the task are not completed before the due date.

Parameters
task(I) The task tag
count(I) The number of recipients in this task
recipient_tags(I) Array of task's recipients tags. They can be user tags, group tags or alias list tags.
EPM_API int EPM_set_out_of_office ( tag_t  user,
tag_t  delegate,
date_t  start_date,
date_t  end_date 
)

Set out-of-office for a user. This function includes:

  1. Assigning delegatee
  2. Setting out-of-office start date and end date
  3. Reset out-of-office when set delegate, startDate and endDate to NULL

Restrictions: User without System Admin privilege will not be allowed to set the out-of-office for other users. Group Administrators will only be able to set the out-of-office for users within their group.

Parameters
user(I) The user tag.
delegate(I) The delegatee tag. It can be a user tag, a groupmember tag or a resource pool tag.
start_date(I) The start date. The date when the user starts being out-of-office.
end_date(I) The end date. The date when the user ends his out-of-office time.
EPM_API int EPM_set_out_of_office_dates ( tag_t  user,
date_t  start_date,
date_t  end_date 
)

Set the start date and end date for a user when he is out of office.

Restrictions: User without System Admin privilege will not be allowed to set the out-of-office for other users. Group Administrators will only be able to set the out-of-office for users within their group.

Parameters
user(I) The user tag
start_date(I) The start date. The date when the user starts being out-of-office.
end_date(I) The end date. The date when the user ends his out-of-office time.
EPM_API int EPM_set_out_of_office_delegate ( tag_t  user,
tag_t  delegate 
)

Assigns the delegatee for a user, when he is out of office.

Restrictions: User without System Admin privilege will not be allowed to set the out-of-office for other users. Group Administrators will only be able to set the out-of-office for users within their group.

Parameters
user(I) The user tag
delegate(I) The delegatee tag. It can be a user tag, a groupmember tag or a resource pool tag.
EPM_API int EPM_set_secure_task_decision ( tag_t  task_tag,
tag_t  signoff_tag,
CR_signoff_decision_t  descision,
const char  comments[CR_comment_size_c+1],
const char *  password 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_set_secure_task_decision2

This function will set the decision on a secure review task.

Parameters
task_tag(I) The tag of a perform signoff task or a review task
signoff_tag(I) The tag of signoff
descision(I) The decision
comments(I) The comments
password(I) Password of signoff user
EPM_API int EPM_set_secure_task_decision2 ( tag_t  task_tag,
tag_t  signoff_tag,
CR_signoff_decision_t  descision,
const char *  comments,
const char *  password 
)

Sets the decision on a secure review task.

  1. ITK_ok on success
  2. EPM_inbox_folder_out_of_date if signoff type is groupmember, and logged-in user is different from signoff user/surrogate user
  3. EPM_role_and_group_does_not_match_required: For any other signoff object types, logged-in user is different from signoff user/surrogate user
  4. EPM_select_signoff_team_not_completed if select-signoff task is not commplete
  5. EPM_incorrect_pass_for_secure_task if password for a secure task does not match with that of the logged in user
Parameters
task_tag(I) The tag of a perform signoff task or a review task
signoff_tag(I) The tag of signoff
descision(I) The decision
comments(I) The comments
password(I) Password of signoff user
EPM_API int EPM_set_subscribed_remote_inboxes ( tag_t  user,
int  count,
const tag_t site_tags 
)

Adds subscribed remote inboxes to User Inbox

Parameters
user(I) The user tag
count(I) Number of remote inboxes to be subscribed to the User Inbox
site_tags(I) Sites whose remote inbox objects will be subscribed by the user
EPM_API int EPM_set_surrogate_user ( tag_t  user,
tag_t  surrogate_user,
date_t  start_date,
date_t  end_date 
)

Sets the surrogate user for user inbox.

Parameters
user(I) User for which surrogate user is required
surrogate_user(I) Surrogate user
start_date(I) Start date for the surrogate
end_date(I) End date till the surrogate is active
EPM_API int EPM_set_task_decision ( tag_t  task_tag,
tag_t  signoffTag,
CR_signoff_decision_t  descision,
const char  comments[CR_comment_size_c+1] 
)
Deprecated:
This function is deprecated and will be removed from Tc12. In Tc10 onwards, please use EPM_set_task_decision2

This function will set the decision on a review task.

Parameters
task_tag(I) The tag of a perform signoff task or a review task
signoffTag(I) The tag of signoff
descision(I) The decision
comments(I) The comments
EPM_API int EPM_set_task_decision2 ( tag_t  task_tag,
tag_t  signoff_tag,
CR_signoff_decision_t  descision,
const char *  comments 
)

Sets the decision on a review task.

  1. ITK_ok on success
  2. EPM_inbox_folder_out_of_date if signoff type is groupmember, and logged-in user is different from signoff user/surrogate user
  3. EPM_role_and_group_does_not_match_required: For any other signoff object types, logged-in user is different from signoff user/surrogate user
  4. EPM_select_signoff_team_not_completed if select-signoff task is not commplete
Parameters
task_tag(I) The tag of a perform signoff task or a review task
signoff_tag(I) The tag of signoff
descision(I) The decision
comments(I) The comments
EPM_API int EPM_set_task_due_date ( tag_t  task,
date_t  due_date 
)

Sets the task�s due date for a task.

Parameters
task(I) The task tag
due_date(I) The task�s due date
EPM_API int EPM_set_task_duration ( tag_t  task,
int  years,
int  weeks,
int  days,
int  hours,
int  minutes 
)

Sets the task duration for a task. The task�s duration is the total of : years(yrs) + weeks(wks) + days(dys) + hours(hrs) + minutes(mns)

The function will reset the task�s duration if all integer inputs are zeroes (0). In this case, EPM_ask_task_duration will get the duration from a task's EPMTaskDefinition.

Parameters
task(I) The task tag
years(I) The whole number of years to be set for duration (yrs)
weeks(I) The whole number of weeks to be set for duration (wks)
days(I) The whole number of days to be set for duration (dys)
hours(I) The whole number of hours to be set for duration (hrs)
minutes(I) The whole number of minutes to be set for duration (mns)
EPM_API int EPM_set_task_late ( tag_t  task,
logical  late_flag 
)

Sets the task�s late flag for a task, and also triggers the emailing of all the late task recipients.

Restrictions: This function requires that you set the ByPassPrivilege.

Parameters
task(I) The task tag
late_flag(I) The task�s late flag
EPM_API int EPM_set_task_result ( tag_t  task,
const char *  result 
)

Sets the result for a task, given the task tag.

Parameters
task(I) The task tag
result(I) The task�s result value to be set. It can be: EPM_RESULT_Unset EPM_RESULT_Completed EPM_RESULT_Approved EPM_RESULT_Rejected EPM_RESULT_Unable_to_complete EPM_RESULT_True EPM_RESULT_False EPM_RESULT_No_error It can be any string for a Condition task.
EPM_API int EPM_trigger_action ( tag_t  task,
EPM_action_t  action,
const char *  comments 
)

Causes the specified action to execute for the specified task assuming that the business rules listed in the procedure all pass. The action and comments are recorded in the audit file.

  1. ITK_ok on success
  2. EPM_access_denied if demote action is denied on the task for logged-in user
Parameters
task(I) Task on which the action is to be triggered
action(I) Trigger action on the task
comments(I) Comments during the trigger to be recorded in the audit file
EPM_API int EPM_trigger_action_if_privileged ( tag_t  task,
EPM_action_t  action,
const char *  comments 
)

Causes the specified action to execute for the specified task assuming that the business rules listed in the procedure all pass. The action and comments are recorded in the audit file. Also checks that the logged in user is a valid user to complete a do task.

  1. ITK_ok on success
  2. EPM_access_denied if demote action is denied on the task for logged-in user
  3. EPM_incorrect_pass_for_secure_task if password for a secure task does not match with that of the logged in user
Parameters
task(I) Task on which the action is to be triggered
action(I) Trigger action on the task
comments(I) Comments during the trigger to be recorded in the audit file
EPM_API int EPM_trigger_secure_action ( tag_t  task,
EPM_action_t  action,
const char *  comments,
const char *  password 
)

Causes the specified action to execute for the specified secure task assuming that the business rules listed in the process definition pass. The action and comments are recorded in the audit file.

Restrictions:

The ITK program must have logged into the POM as the user assigned to this task�s responsible party in order for this function to work.

  1. ITK_ok on success
  2. EPM_access_denied if demote action is denied on the task for logged-in user
  3. EPM_incorrect_pass_for_secure_task if password for a secure task does not match with that of the logged in user
Parameters
task(I) The tag of the secure task
action(I) EPM_action associated with the task that is to be performed
comments(I) Comments to be recorded along with the action
password(I) Password of current user performing the action