Main Page | Modules | Files | Functions | Code Elements | Data Structures | Deprecated

epm/epm.h File Reference


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.

#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

Defines

Attachment Types
EPMConditionTask
Relation Types
Obsolete definitions

Typedefs

Enumerations

Functions


Define Documentation

#define EBR_decision_t   EPM_decision_t

decision on the task

Definition at line 2356 of file epm.h.

#define EBR_go   EPM_go

decision will make the workflow process get started

Definition at line 2359 of file epm.h.

#define EBR_nogo   EPM_nogo

decision will stall the workflow process

Definition at line 2358 of file epm.h.

#define EBR_undecided   EPM_undecided

no decision

Definition at line 2357 of file epm.h.

#define EPM_abort_task   EPM_abort_action

Abort action for task

Definition at line 2371 of file epm.h.

#define EPM_Acknowledge   2

Acknowledge action

Definition at line 146 of file epm.h.

#define EPM_assign_task   EPM_assign_action

Assign action for task

Definition at line 2364 of file epm.h.

#define EPM_ATT_ALL   "all"

All attachments

Definition at line 133 of file epm.h.

#define EPM_ATT_BOTH   "both"

Definition at line 132 of file epm.h.

#define EPM_ATT_COMMENT   "comment"

Comment attachment

Definition at line 128 of file epm.h.

#define EPM_ATT_INSTRUCTION   "instruction"

Instruction attachment

Definition at line 129 of file epm.h.

#define EPM_ATT_INTERPROCESS_TASK   "interprocess_task"

Interprocess task attachment

Definition at line 130 of file epm.h.

#define EPM_ATT_PROCESS   "process"

Process attachment

Definition at line 126 of file epm.h.

#define EPM_ATT_REFERENCE   "reference"

Reference attachment

Definition at line 125 of file epm.h.

#define EPM_ATT_SCHEDULE_TASK   "schedule_task"

Schedule task attachment

Definition at line 131 of file epm.h.

#define EPM_ATT_SIGNOFF   "signoff"

Signoff attachment

Definition at line 127 of file epm.h.

#define EPM_ATT_TARGET   "target"

Attachment types used as handler argument values Target attachment

Definition at line 124 of file epm.h.

#define EPM_comment_attachment   6

Comment attachment type

Definition at line 116 of file epm.h.

#define EPM_comment_size_c   4000

Definition at line 182 of file epm.h.

#define EPM_complete_task   EPM_complete_action

Complete action for task

Definition at line 2366 of file epm.h.

#define EPM_do_task   EPM_perform_action

Perform action for task

Definition at line 2372 of file epm.h.

#define EPM_inbox_query   1

Query argument to EPM_ask_assigned_tasks

Definition at line 222 of file epm.h.

#define EPM_instruction_attachment   7

Instruction attachment type

Definition at line 117 of file epm.h.

#define EPM_interprocess_task_attachment   8

Interprocess task attachment type

Definition at line 118 of file epm.h.

#define EPM_max_template_name_length   81

Maximum template name length Size of the template name

Definition at line 140 of file epm.h.

#define EPM_Notify   3

Notify action

Definition at line 147 of file epm.h.

#define EPM_Perform   0

Actions from Assignment List Perform action

Definition at line 144 of file epm.h.

#define EPM_project_task_attachment   EPM_schedule_task_attachment

Definition at line 2373 of file epm.h.

#define EPM_reference_attachment   3

Reference attachment type

Definition at line 113 of file epm.h.

#define EPM_release_status_attachment   5

Release Status attachment type

Definition at line 115 of file epm.h.

#define EPM_RESULT_Approved   "Approved"

Approved

Definition at line 175 of file epm.h.

#define EPM_RESULT_Completed   "Completed"

Completed

Definition at line 174 of file epm.h.

#define EPM_RESULT_FALSE   0

False result for condition task

Definition at line 210 of file epm.h.

#define EPM_RESULT_False   "False"

False

Definition at line 179 of file epm.h.

#define EPM_RESULT_No_error   "No_error"

No error

Definition at line 180 of file epm.h.

#define EPM_RESULT_Rejected   "Rejected"

Rejected

Definition at line 176 of file epm.h.

#define EPM_RESULT_TRUE   1

True result for condition task

Definition at line 209 of file epm.h.

#define EPM_RESULT_True   "True"

True

Definition at line 178 of file epm.h.

#define EPM_RESULT_Unable_to_complete   "Unable_to_complete"

Unable to complete

Definition at line 177 of file epm.h.

#define EPM_RESULT_UNSET   2

This is the default value for a new EPMConditionTask

Definition at line 213 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 results Unset

Definition at line 173 of file epm.h.

#define EPM_resume_task   EPM_resume_action

Resume action for task

Definition at line 2369 of file epm.h.

#define EPM_Review   1

Review action

Definition at line 145 of file epm.h.

#define EPM_schedule_task_attachment   9

Schedule task attachment type

Definition at line 119 of file epm.h.

#define EPM_signoff_attachment   4

Signoff attachment type

Definition at line 114 of file epm.h.

#define EPM_SIGNOFF_PROFILE_RELATION_TYPE   "EPM_signoff_profile"

Signoff profile relation type

Definition at line 268 of file epm.h.

#define EPM_skip_task   EPM_skip_action

Skip action for task

Definition at line 2367 of file epm.h.

#define EPM_start_task   EPM_start_action

Start action for task

Definition at line 2365 of file epm.h.

#define EPM_suspend_task   EPM_suspend_action

Suspend action for task

Definition at line 2368 of file epm.h.

#define EPM_target_attachment   1

Target attachment type

Definition at line 112 of file epm.h.

#define EPM_task_action_t   EPM_action_t

Trigger actions on the task

Definition at line 2361 of file epm.h.

#define EPM_task_state_t   EPM_state_t

Task states

Definition at line 2362 of file epm.h.

#define EPM_TEMPLATE_BASED_ON_RELATION_TYPE   "EPM_template_based_on"

Template based on relation type

Definition at line 267 of file epm.h.

#define EPM_undo_task   EPM_undo_action

Undo action for task

Definition at line 2370 of file epm.h.

#define EPM_user_attachment   1000

Attachment Types from 1000-32000 are user defined

Definition at line 136 of file epm.h.

#define SUBSCRIBED_REMOTEINBOXES_RELATION_TYPE   "subscribed_remoteinboxes"

Subscribed remote inbox relation type

Definition at line 269 of file epm.h.


Typedef Documentation

Definition at line 216 of file epm.h.

Definition at line 217 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 199 of file epm.h.

Enumerator:
EPM_rule_handler_type  Rule handler type
EPM_action_handler_type  Action handler type

Definition at line 224 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 149 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 229 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

  1. ITK_ok on success
  2. EPM_unable_to_find_subtask if there is no review task with the name as specified or name is NULL
  3. CR_already_completed if review task is already completed
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 add reviewers as adhoc, when all reviewers could not be added to profiles
n_groupmembers  (I) Group members to be added as reviewers
groupmembers  (I) n_groupmembers List of 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;

        EPM_ask_attachments(task,
                            EPM_reference_attachment,
                            &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_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_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_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_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;

            if( TC_number_of_arguments( msg.arguments ) > 0 )
            {
                get first argument

                arg = TC_next_argument( msg.arguments );
                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;
            EPM_decision_t decision = EPM_nogo;
            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