com.unica.publicapi.plan.api
Interface IPlanAPI


public interface IPlanAPI

IPlanAPI defines the public Plan Application Programming Interface.

Author:
Jim Flowers (jflowers@unica.com)

Field Summary
static java.lang.String APPROVAL_ATTRIBUTE_APPROVER
          An array of user handles providing the approver of the Approval object It is required when creating a new approval.
static java.lang.String APPROVAL_ATTRIBUTE_DESCRIPTION
          A String defining the approval description.
static java.lang.String APPROVAL_ATTRIBUTE_METHOD
          Deprecated. from plan7.5 approval does not contain approval methods, approval method is defined by the approver sequence
static java.lang.String APPROVAL_ATTRIBUTE_OWNER
          An array of user handles providing the owner of the Approval object.
static java.lang.String APPROVAL_ATTRIBUTE_SECURITY_POLICY
          An optional String object defining name of the approval security policy, if not specified while approval creation default security policy is applied to approval
static java.lang.String APPROVAL_ATTRIBUTE_STATEENUM
          A ApprovalStateEnum enumerated type represents the current state of the approval.
static java.lang.String APPROVAL_ATTRIBUTE_SUBJECT
          A String defining the approval subject.
static java.lang.String APPROVAL_ATTRIBUTE_TARGETDUEDATE
          The overall target due date of current approval process.
static java.lang.String ASSET_ATTRIBUTE_ASSET_CODE
           
static java.lang.String ASSET_ATTRIBUTE_DESCRIPTION
           
static java.lang.String ASSET_ATTRIBUTE_EXPIRATION_DATE
           
static java.lang.String ASSET_ATTRIBUTE_FILE
           
static java.lang.String ASSET_ATTRIBUTE_KEYWORDS
           
static java.lang.String ASSET_ATTRIBUTE_NAME
           
static java.lang.String ASSET_ATTRIBUTE_OWNERS
           
static java.lang.String ASSET_ATTRIBUTE_PREVIEW_FILE
           
static java.lang.String ASSET_ATTRIBUTE_THUMBNAIL_FILE
           
static java.lang.String ASSET_ATTRIBUTE_USAGE_GUIDELINES
           
static java.lang.String ASSET_ATTRIBUTE_VERSION_NAME
           
static java.lang.String ASSET_FOLDER_ATTRIBUTE_DESCRIPTION
           
static java.lang.String ASSET_FOLDER_ATTRIBUTE_NAME
           
static java.lang.String ASSET_LIBRARY_ATTRIBUTE_DESCRIPTION
           
static java.lang.String ASSET_LIBRARY_ATTRIBUTE_NAME
           
static java.lang.String ASSET_LIBRARY_ATTRIBUTE_STATEENUM
           
static java.lang.String ASSET_OWNER_ROLE
          This is not an Asset attribute.
static java.lang.String ATTACHMENT_ATTRIBUTE_ATTACHMENT
           
static java.lang.String ATTACHMENT_ATTRIBUTE_COMMENTS
           
static java.lang.String ATTACHMENT_ATTRIBUTE_FOLDER_ID
           
static java.lang.String ATTACHMENT_ATTRIBUTE_TYPEENUM
           
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_ACTUAL
          Double Represents Actual budget for Financial Account
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_ALL
          Double Represents all budget information i.e.
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_ALLOTTED
          Double Represents Allotted Budget to Financial Account
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_APR
          Double Represents Financial Account Budget for month of Apr
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_AUG
          Double Represents Financial Account Budget for month of Aug
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_AVAILABLE
          Double Represents Available Budget for Financial Account
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_COMMITTED
          Double Represents Committed Budget for Financial Account
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_DEC
          Double Represents Financial Account Budget for month of Dec
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_FEB
          Double Represents Financial Account Budget for month of Feb
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_FORECAST
          Double Represents Forecast Budget for Financial Account
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_JAN
          Double Represents Financial Account Budget for month of Jan
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_JUL
          Double Represents Financial Account Budget for month of Jul
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_JUN
          Double Represents Financial Account Budget for month of Jun
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_MAR
          Double Represents Financial Account Budget for month of Mar
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_MAY
          Double Represents Financial Account Budget for month of May
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_NOV
          Double Represents Financial Account Budget for month of Nov
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_OCT
          Double Represents Financial Account Budget for month of Oct
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_Q1
          Double Represents budget information of Financial Account for Q1
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_Q2
          Double Represents budget information of Financial Account for Q2
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_Q3
          Double Represents budget information of Financial Account for Q3
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_Q4
          Double Represents budget information of Financial Account for Q3
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_REMAINING
          Double Represents Remaining budget for Financial Account Budget
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_SEP
          Double Represents Financial Account Budget for month of Sep
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_TOTAL
          Double Represents total budget information of Financial Account
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_TYPE
          Double Represents Financial Account budget type
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_UNCOMMITTED
          Double Represents Un-committed budget for Financial Account
static java.lang.String FINANCIAL_ACCOUNT_BUDGET_YEAR
          Double Represents Financial Account budget fiscal year
static java.lang.String FINANCIAL_ACCOUNT_DESCRIPTION
          String Represents Financial Account description
static java.lang.String FINANCIAL_ACCOUNT_NAME
          String Represents Financial Account Name
static java.lang.String FINANCIAL_ACCOUNT_NUMBER
          String Represents Financial Account Number
static java.lang.String FINANCIAL_ACCOUNT_SECURITY_POLICY
          String Represents Financial Account Security Policy
static java.lang.String FINANCIAL_ACCOUNT_SOURCE_ACCOUNT
          Handle Represents Parent Financial Account
static java.lang.String FINANCIAL_ACCOUNT_TEAM_MEMBERS
          Handle Represents Financial Account Team Members
static java.lang.String GRID_ATTRIBUTE_NAME
          Read-only String defining the name of the grid.
static java.lang.String INVOICE_DATE
          Date Represents Invoice Date
static java.lang.String INVOICE_DUE_DATE
          Date Represents Invoice Due Date
static java.lang.String INVOICE_LINE_ITEM_COST
          Double Represents Invoice Line Item cost
static java.lang.String INVOICE_LINE_ITEM_COST_CATEGORY
          String Represents Invoice Line Item cost category
static java.lang.String INVOICE_LINE_ITEM_COST_PER_UNIT
          Double Represents Invoice Line Item cost per uniit
static java.lang.String INVOICE_LINE_ITEM_DESCRIPTION
          String Represents Invoice Line Item Description
static java.lang.String INVOICE_LINE_ITEM_QUANTITY
          Integer Represents Invoice Line Item quantity
static java.lang.String INVOICE_LINE_ITEM_SOURCE_ACCOUNT
          Handle Represents Invoice Line Item source account
static java.lang.String INVOICE_LINE_ITEM_SOURCE_PLAN_OBJECT
          Deprecated. since object code can be ambiguous, use IPlanAPI.INVOICE_LINE_ITEM_SOURCE_PLAN_OBJECT_ID String Represents Invoice Line Item plan object
static java.lang.String INVOICE_LINE_ITEM_SOURCE_PLAN_OBJECT_ID
          Integer Represents Invoice Line Item plan object id
static java.lang.String INVOICE_NOTES
          String Represents Invoice Notes
static java.lang.String INVOICE_NUMBER
          String Represents Invoice number
static java.lang.String INVOICE_OWNER
          User Represents Invoice owner
static java.lang.String INVOICE_PAID_DATE
          Calendar Represents Invoice Paid Date
static java.lang.String INVOICE_PAYMENT_TERMS
          String Represents Invoice Payment Terms
static java.lang.String INVOICE_PURCHASE_ORDER_NUMBER
          String Represents Invoice Purchase Order Number
static java.lang.String INVOICE_SECURITY_POLICY
          StringRepresents Invoice Security Policy Name
static java.lang.String INVOICE_STATE_TRANSITION_COMMENT
          String Represents Invoice State transition comment
static java.lang.String INVOICE_STATUS
          InvoiceStatusEnum Represents Invoice Payment Terms
static java.lang.String INVOICE_VENDOR_CODE
          String Represents Invoice Vender Code
static java.lang.String LINE_ITEM_LINKED_APPROVAL
          Handle Represents Approval linked to (Project/Invoice) Line Item, if line item has any budget linked approval to it.
static java.lang.String MARKETING_OBJECT_ATTRIBUTE_ATTACHMENTS
          Handle defining attachments for the their parent object like a project or a marketing object.
static java.lang.String MARKETING_OBJECT_ATTRIBUTE_CODE
          An optional String defining an alphanumeric code that uniquely identifies the marketing object.
static java.lang.String MARKETING_OBJECT_ATTRIBUTE_DESCRIPTION
           
static java.lang.String MARKETING_OBJECT_ATTRIBUTE_NAME
          Read-only String defining the name of the marketing object.
static java.lang.String MARKETING_OBJECT_ATTRIBUTE_OWNER
          An array of PlanUserHandle providing the list of the Marketing Object owners.
static java.lang.String MARKETING_OBJECT_ATTRIBUTE_SECURITY_POLICY
          An optional String object defining name of the marketing object security policy, if not specified while marketing object creation default security policy is applied to marketing object
static java.lang.String MARKETING_OBJECT_ATTRIBUTE_STATE
          A String object (note type) defining the current state of the marketing object.
static java.lang.String MARKETING_OBJECT_ATTRIBUTE_TEMPLATENAME
          Read-only String defining the name of the template used to create the marketing object.
static java.lang.String MARKETING_OBJECT_ATTRIBUTE_TEMPLATETYPE
          Read-only String defining the unique template type used to create the marketing object.
static java.lang.String PLAN_NAMESPACE_PREFIX
          "uap" prefix is reserved for the Unica Plan attribute name space
static java.lang.String PROJECT_ATTRIBUTE_ATTACHMENTS
          Handle defining attachments for the their parent object like a project or a marketing object.
static java.lang.String PROJECT_ATTRIBUTE_BUDGET_GRANULARITY
          An optional String object defining budget granularity level for project.
static java.lang.String PROJECT_ATTRIBUTE_CODE
          An optional String defining an alphanumeric code that uniquely identifies the project.
static java.lang.String PROJECT_ATTRIBUTE_DESCRIPTION
          Optional String describing the project.
static java.lang.String PROJECT_ATTRIBUTE_ENDDATE
          As with start date, but defines the date the project will end.
static java.lang.String PROJECT_ATTRIBUTE_ISREQUEST
          Read-only Boolean indicating if this project is a project request true or a "real" project.
static java.lang.String PROJECT_ATTRIBUTE_NAME
          String defining the name of the project.
static java.lang.String PROJECT_ATTRIBUTE_SECURITY_POLICY
          An optional String object defining name of the project security policy, if not specified while project creation default security policy is applied to project
static java.lang.String PROJECT_ATTRIBUTE_STARTDATE
          An optional Date object defining the date the project started.
static java.lang.String PROJECT_ATTRIBUTE_STATEENUM
          A ProjectStateEnum enumerated type giving the current state of the project.
static java.lang.String PROJECT_ATTRIBUTE_TEMPLATENAME
          Read-only String defining the unique name of the template used to create the project.
static java.lang.String PROJECT_BUDGET_ACTUAL_SPENT
          Represents project budget line item account code
static java.lang.String PROJECT_BUDGET_ALLOCATION_PERIOD
          Represents project budget allocation period
static java.lang.String PROJECT_BUDGET_ALLOCATION_YEAR
          Represents key for project budget allocation period for yearly or quarterly
static java.lang.String PROJECT_BUDGET_LINE_ITEM_ALLOCATION
          Represents key for line item sub project budget allocation
static java.lang.String PROJECT_BUDGET_LINE_ITEM_COMMITTED_AMOUNT
          Represents project budget line item committed amount
static java.lang.String PROJECT_BUDGET_LINE_ITEM_COST_CATEGORY
          Represents project budget line item cost category
static java.lang.String PROJECT_BUDGET_LINE_ITEM_COST_CATEGORY_ID
          Represents project budget line item cost category id
static java.lang.String PROJECT_BUDGET_LINE_ITEM_DESCRIPTION
          Represents project budget line item description
static java.lang.String PROJECT_BUDGET_LINE_ITEM_EXPENDITURE_DATE
          Represents project budget line item expenditure date
static java.lang.String PROJECT_BUDGET_LINE_ITEM_FORECAST_AMOUNT
          Represents project budget line item forecast amount
static java.lang.String PROJECT_BUDGET_LINE_ITEM_ID
          Represents unique ID for project budget line item
static java.lang.String PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT
          Represents project budget line item source account
static java.lang.String PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT_CODE
          Represents project budget line item account code
static java.lang.String PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT_ID
          Represents project budget line item account id
static java.lang.String PROJECT_BUDGET_MONTH
           
static java.lang.String PROJECT_BUDGET_PERIOD
           
static java.lang.String PROJECT_BUDGET_QUARTER
           
static java.lang.String PROJECT_BUDGET_TOTAL
           
static java.lang.String PROJECT_BUDGET_TOTAL_COMMITTED
          Represents project budget line item account code
static java.lang.String PROJECT_BUDGET_TOTAL_FORCAST
          Represents project budget line item account code
static java.lang.String PROJECT_BUDGET_TYPE
           
static java.lang.String PROJECT_BUDGET_WEEK
           
static java.lang.String PROJECT_BUDGET_YEAR
           
static java.lang.String PROJECT_LINKED_PROGRAM_ID
          This is not a project base attribute, but it will be exposed in get and set project attributes.
static java.lang.String PROJECT_MEMBER_ROLE_UNASSIGNED
          This is not a Project attribute.
static java.lang.String PROJECT_REQUEST_ATTRIBUTE_NAME
          String defining the name of the project request.
static java.lang.String PROJECT_REQUEST_ATTRIBUTE_RECIPIENTS
          String defining the list of project request recipients.
static java.lang.String PROJECT_REQUEST_RECIPIENT_DURATION
          String defining the user of project request recipient.
static java.lang.String PROJECT_REQUEST_RECIPIENT_INSTRUCTIONS
          String defining the instructions of project request recipient.
static java.lang.String PROJECT_REQUEST_RECIPIENT_IS_PROJECT_OWNER
          String defining the owner of project request recipient.
static java.lang.String PROJECT_REQUEST_RECIPIENT_IS_REQUIRED
          String defining project request recipient is required or not.
static java.lang.String PROJECT_REQUEST_RECIPIENT_ROLE
          String defining the role of project request recipient.
static java.lang.String PROJECT_REQUEST_RECIPIENT_SEQUENCE
          String defining the sequence of project request recipient.
static java.lang.String PROJECT_REQUEST_RECIPIENT_USER
          String defining the user of project request recipient.
static java.lang.String PROJECT_REVIEWER_ROLE_UNASSIGNED
          This is not a Project attribute.
static java.lang.String TASK_ATTRIBUTE_ACTUALDURATION
          Deprecated. Use TASK_ATTRIBUTE_ACTUALDURATION_DETAILED
static java.lang.String TASK_ATTRIBUTE_ACTUALDURATION_DETAILED
          Optional String object, the actual duration for the task Format for duration is DD-HH-MM, e.g.
static java.lang.String TASK_ATTRIBUTE_ACTUALEFFORT
          Deprecated. Use TASK_ATTRIBUTE_ACTUALEFFORT_DETAILED
static java.lang.String TASK_ATTRIBUTE_ACTUALEFFORT_DETAILED
          Optional String object, the actual effort to complete the task.
static java.lang.String TASK_ATTRIBUTE_ACTUALENDDATE
          Optional Date As with actual end date, but defines the date the task actually ended (or is forecast to end if in the future).
static java.lang.String TASK_ATTRIBUTE_ACTUALSTARTDATE
          Optional Date object defining the date the task actually started (or is forecast to start if in the future).
static java.lang.String TASK_ATTRIBUTE_CODE
          An optional String defining an alphanumeric code that uniquely identifies the task.
static java.lang.String TASK_ATTRIBUTE_COMMENT
          Optional String defining a comment for the task.
static java.lang.String TASK_ATTRIBUTE_DEPENDENT_TASKS
          Read Only WorkflowTasHandle defining dependent tasks for the task.
static java.lang.String TASK_ATTRIBUTE_ISSTAGE
          The Boolean indicating if this task is a stage.
static java.lang.String TASK_ATTRIBUTE_MEMBER
          PlanUserHandle or PlanTeamHandle that defines assigned member of a workflow task.
static java.lang.String TASK_ATTRIBUTE_MEMBER_ROLE
          The Integer object defining the id of the member role on a workflow task
static java.lang.String TASK_ATTRIBUTE_MILESTONE
          Optional String describing the milestone associated with this task.
static java.lang.String TASK_ATTRIBUTE_NAME
          Read-only String defining the name of the task.
static java.lang.String TASK_ATTRIBUTE_PARENT_TASKS
          A array of WorkflowTaskHandle defining parent tasks this task is depending on.
static java.lang.String TASK_ATTRIBUTE_REVIEWER
          PlanUserHandle or PlanTeamHandle that defines reviewer of a workflow task.
static java.lang.String TASK_ATTRIBUTE_REVIEWER_ROLE
          The Integer object defining the id of the reviewr role on a workflow task
static java.lang.String TASK_ATTRIBUTE_STAGE_NUMBER
          The Integer object defining the stage number on a workflow task
static java.lang.String TASK_ATTRIBUTE_STATEENUM
          A TaskStateEnum enumerated type defining the current state of the task.
static java.lang.String TASK_ATTRIBUTE_TARGETDURATION
          Deprecated. Use TASK_ATTRIBUTE_TARGETDURATION_DETAILED
static java.lang.String TASK_ATTRIBUTE_TARGETDURATION_DETAILED
          Optional String object, the target duration for the task, Format for effort is DD-HH-MM, e.g.
static java.lang.String TASK_ATTRIBUTE_TARGETEFFORT
          Deprecated. Use TASK_ATTRIBUTE_TARGETEFFORT_DETAILED
static java.lang.String TASK_ATTRIBUTE_TARGETEFFORT_DETAILED
          Optional String object, the target estimated effort to complete the task Format for effort is DD-HH-MM, e.g.
static java.lang.String TASK_ATTRIBUTE_TARGETENDDATE
          Optional Date As with scheduled end date, but defines the date the task is (was) scheduled to end.
static java.lang.String TASK_ATTRIBUTE_TARGETSTARTDATE
          Optional Date object defining the date the task is (was) scheduled to start.
static java.lang.String TASK_DATE_RIPPLING_ATTRIBUTE_ACTUAL_OR_TARGET_FLAG
          Boolean defining whether ripple forecast/actual dates or target dates.
static java.lang.String TASK_DATE_RIPPLING_ATTRIBUTE_COMPRESS_SLACK
          Boolean defining whether compressing slack time.
static java.lang.String TEAM_ATTRIBUTE_APPROVAL_MANAGER_CAN_ROUTE_APPROVALS_TO_MEMBERS
           
static java.lang.String TEAM_ATTRIBUTE_APPROVAL_MEMBERS_CAN_RETURN_TEAM_ASSIGNED_APPROVALS
           
static java.lang.String TEAM_ATTRIBUTE_APPROVAL_MEMBERS_CAN_TAKE_OWNERSHIP_OF_TEAM_ASSIGNED_APPROVALS
           
static java.lang.String TEAM_ATTRIBUTE_DESCRIPTION
           
static java.lang.String TEAM_ATTRIBUTE_MANAGERS
           
static java.lang.String TEAM_ATTRIBUTE_MEMBERS
           
static java.lang.String TEAM_ATTRIBUTE_NAME
           
static java.lang.String TEAM_ATTRIBUTE_PROJ_REQ_MANAGER_CAN_ROUTE_PROJ_REQ_TO_MEMBERS
           
static java.lang.String TEAM_ATTRIBUTE_PROJ_REQ_MEMBERS_CAN_TAKE_OWNERSHIP_OF_TEAM_ASSIGNED_PROJ_REQ
           
static java.lang.String TEAM_ATTRIBUTE_SKILL_SETS
           
static java.lang.String TEAM_ATTRIBUTE_TASK_MANAGER_CAN_ROUTE_WORK_TO_MEMBERS
           
static java.lang.String TEAM_ATTRIBUTE_TASK_MEMBERS_CAN_ACCEPT_TEAM_ASSIGNED_TASKS
           
static java.lang.String TEAM_ATTRIBUTE_TASK_MEMBERS_CAN_RETURN_TEAM_ASSIGNED_TASKS
           
static java.lang.String USER_ATTRIBUTE_EMAIL
           
static java.lang.String USER_ATTRIBUTE_FIRST_NAME
           
static java.lang.String USER_ATTRIBUTE_LAST_NAME
           
static java.lang.String USER_ATTRIBUTE_LOCALE
           
static java.lang.String USER_ATTRIBUTE_LOGIN
           
static java.lang.String USER_ATTRIBUTE_ROLES
           
static java.lang.String XREF_APPROVALS_REF_TO_MO
           
static java.lang.String XREF_MO_MOD_BY_PROJECT
           
static java.lang.String XREF_MO_REF_BY_MO
           
static java.lang.String XREF_MO_REF_BY_PROJECT
           
static java.lang.String XREF_MO_REF_TO_MO
           
static java.lang.String XREF_PROJECTS_MODIFIY_MO
           
static java.lang.String XREF_PROJECTS_REF_TO_MO
           
 
Method Summary
 Handle addInvoiceLineItem(IExecutionContext context, Handle handle, AttributeMap attributeMap)
          API to add new line item in invoice
 Handle addProjectBudgetLineItem(IExecutionContext context, Handle hProject, AttributeMap attributeMap)
          Use this API to add new project budget line item
 void addProjectRequestRecepients(IExecutionContext context, Handle hProjectRequest, AttributeMap[] attributeMap)
          Add new project request recipient to project request
 Handle appendAttachment(IExecutionContext context, Handle hParent, AttributeMap attachmentAttributes)
           
 Handle appendGridRow(IExecutionContext context, Handle hGrid, AttributeMap rowAttributeMap)
          Append a new grid row to the specified object, applying the supplied grid row attributes.
 Handle copyProject(IExecutionContext context, Handle hProject, ProjectCopyTypeEnum copyEnum, boolean copyParentLink)
          Use this API to copy existing project instance and to create new project.
 void copyProjectResources(IExecutionContext context, Handle hProjectSource, Handle hProjectDestination)
          API to copy resource (People tab of project) from source project to destination project.
 Handle createApproval(IExecutionContext context, AttributeMap attributeMap)
          Create a new approval component with specified attributes and user information from the execution context.
 Handle createAsset(IExecutionContext context, Handle hAssetLibrary, AttributeMap attributes)
           
 Handle createAssetFolder(IExecutionContext context, Handle parentHandle, AttributeMap attributeMap)
           
 Handle createFinancialAccount(IExecutionContext context, AttributeMap attributeMap)
          API to create new financial account.
 Handle createInvoice(IExecutionContext context, AttributeMap attributeMap)
          API to create new Invoice in Plan
 Handle createMarketingObject(IExecutionContext context, java.lang.String templateType, java.lang.String templateName, AttributeMap attributeMap)
          Create a new marketing object component from the named template, applying the specified attributes and user information from the execution context.
 Handle createProject(IExecutionContext context, java.lang.String templateName, AttributeMap attributeMap)
          Create a new project component from the named template, applying the specified attributes and user information from the execution context.
 Handle createProjectRequest(IExecutionContext context, java.lang.String templateName, AttributeMap attributeMap)
          Create a new project request instance from the named template, applying the specified
attributes and user information from the execution context.
 void dateRipplingForWorkflowTasks(IExecutionContext context, Handle handle, AttributeMap attributeMap)
          Do date rippling for the Project Workflow.
 void deleteApprovalItemByName(IExecutionContext context, Handle hApproval, java.lang.String itemName)
          Delete a single approval item within an Approval process.
 void deleteAsset(IExecutionContext context, Handle hAsset)
           
 void deleteGridRow(IExecutionContext context, Handle hGridRow)
          Delete an existing grid row.
 void deleteInvoiceLineItem(IExecutionContext context, Handle hInvoiceLineItem)
          Use this API to delete a invoice line item
 void deleteProjectLineItem(IExecutionContext context, Handle hProjectLineItem)
          Use this API to delete a project line item
 void disableFinancialAccount(IExecutionContext context, Handle handle)
          API to disable financial account
 void discardProjectBudgetChanges(IExecutionContext context, Handle handle)
          Use this API to discard changes done in project budget
 void enableFinancialAccount(IExecutionContext context, Handle handle)
          API to enable financial account
 void finalizeProjectBudgetChanges(IExecutionContext context, Handle handle, AttributeMap attrMap)
          Use this API to finalize changes done in project budget
 Handle findApprovalByAttribute(IExecutionContext context, java.lang.String ApprovalAttributeName, java.lang.Object[] ApprovalAttributeValues)
          Find the Approval object that matches the supplied attributes.
 Handle findAssetByAttribute(IExecutionContext context, Handle hAssetLibrary, java.lang.String attributeName, java.lang.Object attributeValue)
           
 Handle findAssetLibraryByAttribute(IExecutionContext context, java.lang.String attributeName, java.lang.Object attributeValue)
          Finds an asset library that matches the supplied attribute.
 Handle findFinancialAccountByNumber(IExecutionContext context, java.lang.String accountNumber)
          API to find financial account by account number
 Handle findInvoiceByNumberAndVendor(IExecutionContext context, java.lang.String invoiceNumber, java.lang.String vendorCode)
          API to find invoice by number and vendor code
 Handle findMarketingObjectByAttribute(IExecutionContext context, java.lang.String type, java.lang.String moAttributeName, java.lang.Object[] moAttributeValues)
          Finds the marketing object that matches the supplied attribute.
 Handle findProjectByAttribute(IExecutionContext context, java.lang.String name, java.lang.Object[] values)
          Finds the project that matches the supplied attribute.
 Handle findProjectRequestByAttribute(IExecutionContext context, java.lang.String name, java.lang.Object[] values)
          Finds the project request that matches the supplied attribute.
 Handle findSubProjectParent(IExecutionContext context, Handle hProject)
          Find the parent project of an existing project, if defined.
 Handle findSubProjectRoot(IExecutionContext context, Handle hProject)
          Find the root project of an existing project, if defined.
 Handle findTeamByAttribute(IExecutionContext context, java.lang.String attributeName, java.lang.Object attributeValue)
           
 Handle findUserByAttribute(IExecutionContext context, java.lang.String attributeName, java.lang.Object[] attributeValues)
           
 Handle findWorkflowTaskByAttribute(IExecutionContext context, Handle hProject, java.lang.String taskAttributeName, java.lang.Object[] taskAttributeValues)
          Finds the workflow task that matches the supplied attribute.
 java.lang.Object[] getApprovalItems(IExecutionContext context, Handle hApproval)
          Get all of the ordered approval items within an Approval object.
 AttributeMap getAttributes(IExecutionContext context, Handle handle)
          Fetches the attribute map of the object instance given by the specified handle.
 AttributeMap getFinancialAccountBudget(IExecutionContext context, Handle handle, AttributeMap attributeMap)
          Use this API to get financial account budget information
 java.util.List getMemberRoles(IExecutionContext context, Handle hProject)
          Find the member roles for an existing project, if defined.
 java.util.List getMembersByParticipationLevel(IExecutionContext context, Handle hProject, ProjectParticipantLevelEnum participantLevel)
          Return members for a specific paricipation level for an existing project.
 java.util.List getMembersByRole(IExecutionContext context, Handle handle, java.lang.String roleName)
          Return a list of members for a specific member role for an existing object.
 java.util.List getMembersByRoleType(IExecutionContext context, Handle handle, java.lang.String roleType)
           
 Handle getParentHandle(IExecutionContext context, Handle childHandle)
          Returns the parent handle for a particular child handle.
 AttributeMap getProjectBudget(IExecutionContext context, Handle handle, AttributeMap attributeMap)
           
 AttributeMap getProjectBudgetLineItemAllocation(IExecutionContext context, Handle handle, AttributeMap attributeMap)
          Allocations (total, yearly, quarterly) of project line items is returned by the parameters passed in attributeMap Parameter
 AttributeMap getProjectBudgetLineItemSummary(IExecutionContext context, Handle hProject, boolean getLastVersion)
          Use this API to get project line item summary information i.e.
 java.util.List getProjectLineItems(IExecutionContext context, Handle hProject, boolean getLastVersion)
          Deprecated. use IPlanAPI.listProjectLineItems() to get list of ProjectLineItemHandle and to get attributes of individual line item, use IPlanAPI.getAttributes() providing ProjectLineItemHandle
 AttributeMap[] getRequestRecipients(IExecutionContext context, Handle hProjectRequest)
          Get all request recipients of project request
 java.util.List getReviewerRoles(IExecutionContext context, Handle hProject)
          Find the reviewer roles for an existing project, if defined.
 java.util.List getReviewersByRole(IExecutionContext context, Handle hProject, java.lang.String roleName)
          Return a list of reviewers for a specific reviewer role for an existing project.
 AttributeMap getSubProjectAllocation(IExecutionContext context, Handle handle, AttributeMap attributeMap)
          Allocations (total, yearly, quarterly) of sub project is returned by the parameters passed in attributeMap Parameter
 AttributeMap getSubProjectBudgetSummary(IExecutionContext context, Handle handle, AttributeMap attributeMap)
          Use this API function to extract Sub Project Budget information.
 Handle getWorkflowTaskParentProject(IExecutionContext context, Handle hTask)
          Returns the parent project for a particular task.
 java.util.Map getXrefByMarketingObject(IExecutionContext context, Handle hMarketingObject)
          List all of the cross references regarding with this Marketing Object.
 java.util.Map getXrefByProject(IExecutionContext context, Handle hProject)
          List all of the cross references regarding with this Project.
 void linkProjectChildren(IExecutionContext context, Handle hParent, Handle[] hChildren)
          Links (adds) one or more projects to a common parent project; all projects must already exist.
 java.util.List listAllProjectChildren(IExecutionContext context, Handle hParent)
          Lists the all child projects of an existing parent project, if defined.
 java.util.List listApprovals(IExecutionContext context, AttributeMap attributeMap)
          Lists all approvals whose attributes match those specified.
 java.util.List listAssetFolders(IExecutionContext context, Handle hAssetLibrary, AttributeMap attributes)
           
 java.util.List listAssetLibraries(IExecutionContext context, AttributeMap attributeMap)
          Lists all asset libraries whose attributes match those specified; only asset libraries that the client has read permissions are considered.
 java.util.List listAssets(IExecutionContext context, Handle hAssetLibrary, AttributeMap attributes)
           
 java.util.List listFinancialAccounts(IExecutionContext context, boolean includeDisabled)
          API to list financial Account
 java.util.List listGridRows(IExecutionContext context, Handle hGrid, AttributeMap rowAttributeMap)
          Lists all the grid rows whose attributes match those specified for the object; only grids that the client has read permissions for are considered.
 java.util.List listInvoiceLineItems(IExecutionContext context, Handle handle)
          API to list all line items of an Invoice
 java.util.List listInvoices(IExecutionContext context)
          API to list all available invoices
 java.util.List listMarketingObjectGrids(IExecutionContext context, Handle hMarketingObject)
          Lists the grids bound to the specified marketing object, if defined.
 java.util.List listMarketingObjects(IExecutionContext context, AttributeMap attributeMap)
          Lists all the marketing objects whose attributes match those specified; only marketing objects that the client has read permissions for are considered.
 java.util.List listPossibleMemberRolesForTask(IExecutionContext context, Handle hTask)
           
 java.util.List listPossibleMembersForTask(IExecutionContext context, Handle hTask)
           
 java.util.List listPossibleReviewerRolesForTask(IExecutionContext context, Handle hTask)
           
 java.util.List listPossibleReviewersForTask(IExecutionContext context, Handle hTask)
           
 java.util.List listProjectChildren(IExecutionContext context, Handle hParent)
          Lists the child projects of an existing parent project, if defined.
 java.util.List listProjectGrids(IExecutionContext context, Handle hProject)
          Lists the grids bound to the supplied project, if defined.
 java.util.List listProjectLineItems(IExecutionContext context, Handle hProject, boolean getLastVersion)
          Use this API to get list of all project line item handles
 java.util.List listProjectRequests(IExecutionContext context, AttributeMap attributeMap)
          Lists all projects request whose attributes match those specified; only project requests that the client has read permissions for are considered.
 java.util.List listProjects(IExecutionContext context, AttributeMap attributeMap)
          Lists all projects whose attributes match those specified; only projects that the client has read permissions for are considered.
 java.util.List listTeams(IExecutionContext context, AttributeMap attributes)
           
 java.util.List listUsers(IExecutionContext context, AttributeMap attributes)
           
 java.util.List listWorkflowTasks(IExecutionContext context, Handle hProject, AttributeMap taskAttributeMap)
          Lists all the workflow tasks whose attributes match those specified; only tasks that the client has read permissions for are considered.
 java.util.List listWorkflowTasksForProject(IExecutionContext context, Handle hProject)
           
 java.util.List listWorkflowTasksForUser(IExecutionContext context, Handle hUser)
           
 void setMembersByParticipationLevel(IExecutionContext context, Handle hProject, Handle[] users, ProjectParticipantLevelEnum participantLevel, boolean appendOrReplace)
          Update members for a specific paricipation level for an existing project.
 void setMembersByRole(IExecutionContext context, Handle hProject, Handle[] users, java.lang.String roleName, boolean appendOrReplace)
          Update members for a specific member role for an existing Plan objects.
 void setReviewersByRole(IExecutionContext context, Handle hProject, Handle[] users, java.lang.String roleName, boolean appendOrReplace)
          Update reviewers for a specific reviewer role for an existing project.
 void transitionApprovalStateByHandle(IExecutionContext context, Handle hApproval, ApprovalStateEnum stateEnum, java.lang.String comments)
          Change the approval state of an existing approval to a new state.
 void transitionAssetStateByCode(IExecutionContext context, java.lang.String code, AssetStateEnum stateEnum, java.lang.String comments)
           
 void transitionInvoiceState(IExecutionContext context, Handle handle, InvoiceStateEnum stateEnum, AttributeMap attributeMap)
          API to update state of the Invoice
 void transitionMarketingObjectStateByHandle(IExecutionContext context, Handle hMarketingObject, java.lang.String state, java.lang.String comments)
          Transition a supplied Marketing Object's state to the new state.
 void transitionProjectRequestStateByHandle(IExecutionContext context, Handle hProjectRequest, ProjectStateEnum stateEnum, java.lang.String comments)
          Finds the project request and transition its state to the new state.

On resubmitting returned request, request 'Re-approval Rule' would be:
If project request returned and then resubmitted, request is processed by all recipients again

To accept request by recipient, "onBehalfOfUserID" user id should be valid recipinet's id.
 void transitionProjectStateByCode(IExecutionContext context, java.lang.String code, ProjectStateEnum stateEnum)
          Deprecated.  
 void transitionProjectStateByHandle(IExecutionContext context, Handle hProject, ProjectStateEnum stateEnum, java.lang.String comments)
          Overloaded API with comments parameters.
 void transitionWorkflowTaskStateByHandle(IExecutionContext context, Handle hTask, TaskStateEnum taskStateEnum, java.lang.String comments)
          Overloaded API with comments parameters.
 void transitionWorkflowTaskStateByName(IExecutionContext context, java.lang.String projectCode, java.lang.String taskName, TaskStateEnum taskStateEnum)
          Deprecated. use @see Finds the workflow task that has the specified project code and task name and transitions its state to the new state.

Convenience API; identical to making the following API calls:

  1. findProjectByAttribute() using the code attribute name and the code parameter value
  2. findWorkflowTaskByAttribute() using the project handle above with a name attribute equal to the name parameter above
  3. updateAttributes() for the task returned above, using the state parameter as the uapStateEnum attribute value.
 void unlinkProjectChildren(IExecutionContext context, Handle hParent, Handle[] hChildren)
          Unlinks one or more child projects from their common parent project; all projects must already exist.
 void updateApprovalItems(IExecutionContext context, Handle hApproval, java.lang.Object[] approvalItems, java.lang.String[] instructions)
          This method updates one or more approval item(s) within a single Approval object.
 void updateAttribute(IExecutionContext context, Handle handle, java.lang.String attributeName, java.lang.Object[] attributeValues)
          Update the attribute of the object instance given by the specified handle.
 void updateAttributes(IExecutionContext context, Handle handle, AttributeMap attributeMap)
          Update one or more attributes of the object instance given by the specified handle.
 void updateFinancialAccountBudget(IExecutionContext context, Handle sourceAccount, int fiscalYear, AttributeMap attributeMap)
          API to update account budget information in one call you can update budget information for one financial year
 void updateMembersByRoleType(IExecutionContext context, Handle handle, java.lang.String roleType, Handle[] hUser)
           
 void updateProjectLineItemAllocation(IExecutionContext context, Handle handle, AttributeMap attributeMap)
          Use this API function to update project line item allocation
 void updateProjectRequestRecepient(IExecutionContext context, Handle hProjectRequest, Handle userHandle, AttributeMap attributeMap)
          Update project request recipients.
 void updateSubProjectAllocation(IExecutionContext context, Handle handle, Handle hSubProject, AttributeMap attributeMap)
          Use this API function to update sub project allocation
 

Field Detail

PLAN_NAMESPACE_PREFIX

static final java.lang.String PLAN_NAMESPACE_PREFIX
"uap" prefix is reserved for the Unica Plan attribute name space

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_NAME

static final java.lang.String PROJECT_ATTRIBUTE_NAME
String defining the name of the project. If specified, not guaranteed unique.

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_DESCRIPTION

static final java.lang.String PROJECT_ATTRIBUTE_DESCRIPTION
Optional String describing the project.

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_STATEENUM

static final java.lang.String PROJECT_ATTRIBUTE_STATEENUM
A ProjectStateEnum enumerated type giving the current state of the project.

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_CODE

static final java.lang.String PROJECT_ATTRIBUTE_CODE
An optional String defining an alphanumeric code that uniquely identifies the project. This code may be autogenerated by Plan; once the project is created, this attribute is read-only.

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_TEMPLATENAME

static final java.lang.String PROJECT_ATTRIBUTE_TEMPLATENAME
Read-only String defining the unique name of the template used to create the project.

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_STARTDATE

static final java.lang.String PROJECT_ATTRIBUTE_STARTDATE
An optional Date object defining the date the project started.

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_ENDDATE

static final java.lang.String PROJECT_ATTRIBUTE_ENDDATE
As with start date, but defines the date the project will end.

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_ISREQUEST

static final java.lang.String PROJECT_ATTRIBUTE_ISREQUEST
Read-only Boolean indicating if this project is a project request true or a "real" project.

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_ATTACHMENTS

static final java.lang.String PROJECT_ATTRIBUTE_ATTACHMENTS
Handle defining attachments for the their parent object like a project or a marketing object.

See Also:
Constant Field Values

PROJECT_MEMBER_ROLE_UNASSIGNED

static final java.lang.String PROJECT_MEMBER_ROLE_UNASSIGNED
This is not a Project attribute. It is used to update the unassigned member roles when calling

See Also:
Constant Field Values

PROJECT_REVIEWER_ROLE_UNASSIGNED

static final java.lang.String PROJECT_REVIEWER_ROLE_UNASSIGNED
This is not a Project attribute. It is used to update the unassigned review roles when calling

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_SECURITY_POLICY

static final java.lang.String PROJECT_ATTRIBUTE_SECURITY_POLICY
An optional String object defining name of the project security policy, if not specified while project creation default security policy is applied to project

Since:
7.5.0.1
See Also:
Constant Field Values

PROJECT_LINKED_PROGRAM_ID

static final java.lang.String PROJECT_LINKED_PROGRAM_ID
This is not a project base attribute, but it will be exposed in get and set project attributes. It is used to get/set linkage to a program.

See Also:
Constant Field Values

PROJECT_ATTRIBUTE_BUDGET_GRANULARITY

static final java.lang.String PROJECT_ATTRIBUTE_BUDGET_GRANULARITY
An optional String object defining budget granularity level for project. Value for this attribute should be of type BudgetPeriodEnum Only BudgetPeriodEnum.QUARTERLY, BudgetPeriodEnum.MONTHLY and BudgetPeriodEnum.WEEKLY are allowed as values for this attribute If not specified default granularity of quarterly will be used.

See Also:
Constant Field Values

PROJECT_REQUEST_ATTRIBUTE_NAME

static final java.lang.String PROJECT_REQUEST_ATTRIBUTE_NAME
String defining the name of the project request. If specified, not guaranteed unique.

See Also:
Constant Field Values

PROJECT_REQUEST_ATTRIBUTE_RECIPIENTS

static final java.lang.String PROJECT_REQUEST_ATTRIBUTE_RECIPIENTS
String defining the list of project request recipients.

See Also:
Constant Field Values

PROJECT_REQUEST_RECIPIENT_ROLE

static final java.lang.String PROJECT_REQUEST_RECIPIENT_ROLE
String defining the role of project request recipient.

See Also:
Constant Field Values

PROJECT_REQUEST_RECIPIENT_USER

static final java.lang.String PROJECT_REQUEST_RECIPIENT_USER
String defining the user of project request recipient.

See Also:
Constant Field Values

PROJECT_REQUEST_RECIPIENT_DURATION

static final java.lang.String PROJECT_REQUEST_RECIPIENT_DURATION
String defining the user of project request recipient.

See Also:
Constant Field Values

PROJECT_REQUEST_RECIPIENT_SEQUENCE

static final java.lang.String PROJECT_REQUEST_RECIPIENT_SEQUENCE
String defining the sequence of project request recipient.

See Also:
Constant Field Values

PROJECT_REQUEST_RECIPIENT_IS_PROJECT_OWNER

static final java.lang.String PROJECT_REQUEST_RECIPIENT_IS_PROJECT_OWNER
String defining the owner of project request recipient.

See Also:
Constant Field Values

PROJECT_REQUEST_RECIPIENT_IS_REQUIRED

static final java.lang.String PROJECT_REQUEST_RECIPIENT_IS_REQUIRED
String defining project request recipient is required or not.

See Also:
Constant Field Values

PROJECT_REQUEST_RECIPIENT_INSTRUCTIONS

static final java.lang.String PROJECT_REQUEST_RECIPIENT_INSTRUCTIONS
String defining the instructions of project request recipient.

See Also:
Constant Field Values

TASK_ATTRIBUTE_NAME

static final java.lang.String TASK_ATTRIBUTE_NAME
Read-only String defining the name of the task. If specified, not guaranteed unique except by convention.

See Also:
Constant Field Values

TASK_ATTRIBUTE_STATEENUM

static final java.lang.String TASK_ATTRIBUTE_STATEENUM
A TaskStateEnum enumerated type defining the current state of the task.

See Also:
Constant Field Values

TASK_ATTRIBUTE_TARGETSTARTDATE

static final java.lang.String TASK_ATTRIBUTE_TARGETSTARTDATE
Optional Date object defining the date the task is (was) scheduled to start.

See Also:
Constant Field Values

TASK_ATTRIBUTE_TARGETENDDATE

static final java.lang.String TASK_ATTRIBUTE_TARGETENDDATE
Optional Date As with scheduled end date, but defines the date the task is (was) scheduled to end.

See Also:
Constant Field Values

TASK_ATTRIBUTE_TARGETDURATION

static final java.lang.String TASK_ATTRIBUTE_TARGETDURATION
Deprecated. Use TASK_ATTRIBUTE_TARGETDURATION_DETAILED
Optional Float object, the target duration for the task, in days.

See Also:
Constant Field Values

TASK_ATTRIBUTE_TARGETDURATION_DETAILED

static final java.lang.String TASK_ATTRIBUTE_TARGETDURATION_DETAILED
Optional String object, the target duration for the task, Format for effort is DD-HH-MM, e.g. 2 days 5 hours and 30 min will be represented by 02DD-05HH-30MM

Since:
7.5
See Also:
Constant Field Values

TASK_ATTRIBUTE_TARGETEFFORT

static final java.lang.String TASK_ATTRIBUTE_TARGETEFFORT
Deprecated. Use TASK_ATTRIBUTE_TARGETEFFORT_DETAILED
Optional Float object, the target estimated effort to complete the task Effort is measured in days (Partial days are allowed).

See Also:
Constant Field Values

TASK_ATTRIBUTE_TARGETEFFORT_DETAILED

static final java.lang.String TASK_ATTRIBUTE_TARGETEFFORT_DETAILED
Optional String object, the target estimated effort to complete the task Format for effort is DD-HH-MM, e.g. 2 days 5 hours and 30 min will be represented by 02DD-05HH-30MM

Since:
7.5
See Also:
Constant Field Values

TASK_ATTRIBUTE_ACTUALSTARTDATE

static final java.lang.String TASK_ATTRIBUTE_ACTUALSTARTDATE
Optional Date object defining the date the task actually started (or is forecast to start if in the future).

See Also:
Constant Field Values

TASK_ATTRIBUTE_ACTUALENDDATE

static final java.lang.String TASK_ATTRIBUTE_ACTUALENDDATE
Optional Date As with actual end date, but defines the date the task actually ended (or is forecast to end if in the future).

See Also:
Constant Field Values

TASK_ATTRIBUTE_ACTUALDURATION

static final java.lang.String TASK_ATTRIBUTE_ACTUALDURATION
Deprecated. Use TASK_ATTRIBUTE_ACTUALDURATION_DETAILED
Optional Float object, the actual duration for the task, in days.

See Also:
Constant Field Values

TASK_ATTRIBUTE_ACTUALDURATION_DETAILED

static final java.lang.String TASK_ATTRIBUTE_ACTUALDURATION_DETAILED
Optional String object, the actual duration for the task Format for duration is DD-HH-MM, e.g. 2 days 5 hours and 30 min will be represented by 02DD-05HH-30MM

Since:
7.5
See Also:
Constant Field Values

TASK_ATTRIBUTE_ACTUALEFFORT

static final java.lang.String TASK_ATTRIBUTE_ACTUALEFFORT
Deprecated. Use TASK_ATTRIBUTE_ACTUALEFFORT_DETAILED
Optional Float object, the actual effort to complete the task. Effort is measured in days (Partial days are allowed).

See Also:
Constant Field Values

TASK_ATTRIBUTE_ACTUALEFFORT_DETAILED

static final java.lang.String TASK_ATTRIBUTE_ACTUALEFFORT_DETAILED
Optional String object, the actual effort to complete the task. Format for effort is DD-HH-MM, e.g. 2 days 5 hours and 30 min will be represented by 02DD-05HH-30MM

Since:
7.5
See Also:
Constant Field Values

TASK_ATTRIBUTE_MILESTONE

static final java.lang.String TASK_ATTRIBUTE_MILESTONE
Optional String describing the milestone associated with this task.

See Also:
Constant Field Values

TASK_ATTRIBUTE_COMMENT

static final java.lang.String TASK_ATTRIBUTE_COMMENT
Optional String defining a comment for the task.

See Also:
Constant Field Values

TASK_ATTRIBUTE_DEPENDENT_TASKS

static final java.lang.String TASK_ATTRIBUTE_DEPENDENT_TASKS
Read Only WorkflowTasHandle defining dependent tasks for the task.

See Also:
Constant Field Values

TASK_ATTRIBUTE_PARENT_TASKS

static final java.lang.String TASK_ATTRIBUTE_PARENT_TASKS
A array of WorkflowTaskHandle defining parent tasks this task is depending on.

See Also:
Constant Field Values

TASK_ATTRIBUTE_CODE

static final java.lang.String TASK_ATTRIBUTE_CODE
An optional String defining an alphanumeric code that uniquely identifies the task. This code may be autogenerated by Plan???; once the task is created, this attribute is read-only.

See Also:
Constant Field Values

TASK_ATTRIBUTE_MEMBER

static final java.lang.String TASK_ATTRIBUTE_MEMBER
PlanUserHandle or PlanTeamHandle that defines assigned member of a workflow task.

See Also:
Constant Field Values

TASK_ATTRIBUTE_MEMBER_ROLE

static final java.lang.String TASK_ATTRIBUTE_MEMBER_ROLE
The Integer object defining the id of the member role on a workflow task

See Also:
Constant Field Values

TASK_ATTRIBUTE_REVIEWER

static final java.lang.String TASK_ATTRIBUTE_REVIEWER
PlanUserHandle or PlanTeamHandle that defines reviewer of a workflow task.

See Also:
Constant Field Values

TASK_ATTRIBUTE_REVIEWER_ROLE

static final java.lang.String TASK_ATTRIBUTE_REVIEWER_ROLE
The Integer object defining the id of the reviewr role on a workflow task

See Also:
Constant Field Values

TASK_ATTRIBUTE_STAGE_NUMBER

static final java.lang.String TASK_ATTRIBUTE_STAGE_NUMBER
The Integer object defining the stage number on a workflow task

See Also:
Constant Field Values

TASK_ATTRIBUTE_ISSTAGE

static final java.lang.String TASK_ATTRIBUTE_ISSTAGE
The Boolean indicating if this task is a stage.

See Also:
Constant Field Values

TASK_DATE_RIPPLING_ATTRIBUTE_COMPRESS_SLACK

static final java.lang.String TASK_DATE_RIPPLING_ATTRIBUTE_COMPRESS_SLACK
Boolean defining whether compressing slack time.

See Also:
Constant Field Values

TASK_DATE_RIPPLING_ATTRIBUTE_ACTUAL_OR_TARGET_FLAG

static final java.lang.String TASK_DATE_RIPPLING_ATTRIBUTE_ACTUAL_OR_TARGET_FLAG
Boolean defining whether ripple forecast/actual dates or target dates. true - to ripple forecast/actual dates false - to ripple target dates

See Also:
Constant Field Values

MARKETING_OBJECT_ATTRIBUTE_NAME

static final java.lang.String MARKETING_OBJECT_ATTRIBUTE_NAME
Read-only String defining the name of the marketing object. If specified, not guaranteed unique except by convention.

See Also:
Constant Field Values

MARKETING_OBJECT_ATTRIBUTE_DESCRIPTION

static final java.lang.String MARKETING_OBJECT_ATTRIBUTE_DESCRIPTION
See Also:
Constant Field Values

MARKETING_OBJECT_ATTRIBUTE_STATE

static final java.lang.String MARKETING_OBJECT_ATTRIBUTE_STATE
A String object (note type) defining the current state of the marketing object. Marketing object state and state transitions are completely custom, so a client must know the state names and transitions a priori.

See Also:
Constant Field Values

MARKETING_OBJECT_ATTRIBUTE_TEMPLATETYPE

static final java.lang.String MARKETING_OBJECT_ATTRIBUTE_TEMPLATETYPE
Read-only String defining the unique template type used to create the marketing object.

See Also:
Constant Field Values

MARKETING_OBJECT_ATTRIBUTE_TEMPLATENAME

static final java.lang.String MARKETING_OBJECT_ATTRIBUTE_TEMPLATENAME
Read-only String defining the name of the template used to create the marketing object. Note that unlike other Plan components, marketing object template names are only guaranteed unique within a particular template type.

See Also:
Constant Field Values

MARKETING_OBJECT_ATTRIBUTE_CODE

static final java.lang.String MARKETING_OBJECT_ATTRIBUTE_CODE
An optional String defining an alphanumeric code that uniquely identifies the marketing object. This code may be autogenerated by Plan; once the marketing object is created, this attribute is read-only.

See Also:
Constant Field Values

MARKETING_OBJECT_ATTRIBUTE_OWNER

static final java.lang.String MARKETING_OBJECT_ATTRIBUTE_OWNER
An array of PlanUserHandle providing the list of the Marketing Object owners.

See Also:
Constant Field Values

MARKETING_OBJECT_ATTRIBUTE_ATTACHMENTS

static final java.lang.String MARKETING_OBJECT_ATTRIBUTE_ATTACHMENTS
Handle defining attachments for the their parent object like a project or a marketing object.

See Also:
Constant Field Values

MARKETING_OBJECT_ATTRIBUTE_SECURITY_POLICY

static final java.lang.String MARKETING_OBJECT_ATTRIBUTE_SECURITY_POLICY
An optional String object defining name of the marketing object security policy, if not specified while marketing object creation default security policy is applied to marketing object

Since:
7.5.0.1
See Also:
Constant Field Values

GRID_ATTRIBUTE_NAME

static final java.lang.String GRID_ATTRIBUTE_NAME
Read-only String defining the name of the grid. If specified, not guaranteed unique except by convention.

See Also:
Constant Field Values

XREF_MO_REF_BY_MO

static final java.lang.String XREF_MO_REF_BY_MO
See Also:
Constant Field Values

XREF_MO_REF_TO_MO

static final java.lang.String XREF_MO_REF_TO_MO
See Also:
Constant Field Values

XREF_PROJECTS_MODIFIY_MO

static final java.lang.String XREF_PROJECTS_MODIFIY_MO
See Also:
Constant Field Values

XREF_PROJECTS_REF_TO_MO

static final java.lang.String XREF_PROJECTS_REF_TO_MO
See Also:
Constant Field Values

XREF_APPROVALS_REF_TO_MO

static final java.lang.String XREF_APPROVALS_REF_TO_MO
See Also:
Constant Field Values

XREF_MO_MOD_BY_PROJECT

static final java.lang.String XREF_MO_MOD_BY_PROJECT
See Also:
Constant Field Values

XREF_MO_REF_BY_PROJECT

static final java.lang.String XREF_MO_REF_BY_PROJECT
See Also:
Constant Field Values

APPROVAL_ATTRIBUTE_OWNER

static final java.lang.String APPROVAL_ATTRIBUTE_OWNER
An array of user handles providing the owner of the Approval object. It is required when creating a new approval.

See Also:
Constant Field Values

APPROVAL_ATTRIBUTE_APPROVER

static final java.lang.String APPROVAL_ATTRIBUTE_APPROVER
An array of user handles providing the approver of the Approval object It is required when creating a new approval. The order of approvers in the array represents the order of a sequential approval process

See Also:
Constant Field Values

APPROVAL_ATTRIBUTE_SUBJECT

static final java.lang.String APPROVAL_ATTRIBUTE_SUBJECT
A String defining the approval subject. It is required when creating a new approval.

See Also:
Constant Field Values

APPROVAL_ATTRIBUTE_DESCRIPTION

static final java.lang.String APPROVAL_ATTRIBUTE_DESCRIPTION
A String defining the approval description.

See Also:
Constant Field Values

APPROVAL_ATTRIBUTE_STATEENUM

static final java.lang.String APPROVAL_ATTRIBUTE_STATEENUM
A ApprovalStateEnum enumerated type represents the current state of the approval.

See Also:
Constant Field Values

APPROVAL_ATTRIBUTE_TARGETDUEDATE

static final java.lang.String APPROVAL_ATTRIBUTE_TARGETDUEDATE
The overall target due date of current approval process.

See Also:
Constant Field Values

APPROVAL_ATTRIBUTE_METHOD

static final java.lang.String APPROVAL_ATTRIBUTE_METHOD
Deprecated. from plan7.5 approval does not contain approval methods, approval method is defined by the approver sequence
Approval method attribute indicates the methodology of the approval process. The valid approval methods are
  • ApprovalMethodEnum.SIMULTANEOUS: simultaneous approval process
  • ApprovalMethodEnum.SEQUENTIAL: sequential approval process

    The default is ApprovalMethodEnum.SIMULTANEOUS

    See Also:
    ApprovalMethodEnum, Constant Field Values

  • APPROVAL_ATTRIBUTE_SECURITY_POLICY

    static final java.lang.String APPROVAL_ATTRIBUTE_SECURITY_POLICY
    An optional String object defining name of the approval security policy, if not specified while approval creation default security policy is applied to approval

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    ATTACHMENT_ATTRIBUTE_TYPEENUM

    static final java.lang.String ATTACHMENT_ATTRIBUTE_TYPEENUM
    See Also:
    Constant Field Values

    ATTACHMENT_ATTRIBUTE_ATTACHMENT

    static final java.lang.String ATTACHMENT_ATTRIBUTE_ATTACHMENT
    See Also:
    Constant Field Values

    ATTACHMENT_ATTRIBUTE_COMMENTS

    static final java.lang.String ATTACHMENT_ATTRIBUTE_COMMENTS
    See Also:
    Constant Field Values

    ATTACHMENT_ATTRIBUTE_FOLDER_ID

    static final java.lang.String ATTACHMENT_ATTRIBUTE_FOLDER_ID
    See Also:
    Constant Field Values

    USER_ATTRIBUTE_LAST_NAME

    static final java.lang.String USER_ATTRIBUTE_LAST_NAME
    See Also:
    Constant Field Values

    USER_ATTRIBUTE_FIRST_NAME

    static final java.lang.String USER_ATTRIBUTE_FIRST_NAME
    See Also:
    Constant Field Values

    USER_ATTRIBUTE_ROLES

    static final java.lang.String USER_ATTRIBUTE_ROLES
    See Also:
    Constant Field Values

    USER_ATTRIBUTE_LOGIN

    static final java.lang.String USER_ATTRIBUTE_LOGIN
    See Also:
    Constant Field Values

    USER_ATTRIBUTE_EMAIL

    static final java.lang.String USER_ATTRIBUTE_EMAIL
    See Also:
    Constant Field Values

    USER_ATTRIBUTE_LOCALE

    static final java.lang.String USER_ATTRIBUTE_LOCALE
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_NAME

    static final java.lang.String TEAM_ATTRIBUTE_NAME
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_DESCRIPTION

    static final java.lang.String TEAM_ATTRIBUTE_DESCRIPTION
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_SKILL_SETS

    static final java.lang.String TEAM_ATTRIBUTE_SKILL_SETS
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_TASK_MANAGER_CAN_ROUTE_WORK_TO_MEMBERS

    static final java.lang.String TEAM_ATTRIBUTE_TASK_MANAGER_CAN_ROUTE_WORK_TO_MEMBERS
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_TASK_MEMBERS_CAN_ACCEPT_TEAM_ASSIGNED_TASKS

    static final java.lang.String TEAM_ATTRIBUTE_TASK_MEMBERS_CAN_ACCEPT_TEAM_ASSIGNED_TASKS
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_TASK_MEMBERS_CAN_RETURN_TEAM_ASSIGNED_TASKS

    static final java.lang.String TEAM_ATTRIBUTE_TASK_MEMBERS_CAN_RETURN_TEAM_ASSIGNED_TASKS
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_APPROVAL_MANAGER_CAN_ROUTE_APPROVALS_TO_MEMBERS

    static final java.lang.String TEAM_ATTRIBUTE_APPROVAL_MANAGER_CAN_ROUTE_APPROVALS_TO_MEMBERS
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_APPROVAL_MEMBERS_CAN_TAKE_OWNERSHIP_OF_TEAM_ASSIGNED_APPROVALS

    static final java.lang.String TEAM_ATTRIBUTE_APPROVAL_MEMBERS_CAN_TAKE_OWNERSHIP_OF_TEAM_ASSIGNED_APPROVALS
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_APPROVAL_MEMBERS_CAN_RETURN_TEAM_ASSIGNED_APPROVALS

    static final java.lang.String TEAM_ATTRIBUTE_APPROVAL_MEMBERS_CAN_RETURN_TEAM_ASSIGNED_APPROVALS
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_PROJ_REQ_MANAGER_CAN_ROUTE_PROJ_REQ_TO_MEMBERS

    static final java.lang.String TEAM_ATTRIBUTE_PROJ_REQ_MANAGER_CAN_ROUTE_PROJ_REQ_TO_MEMBERS
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_PROJ_REQ_MEMBERS_CAN_TAKE_OWNERSHIP_OF_TEAM_ASSIGNED_PROJ_REQ

    static final java.lang.String TEAM_ATTRIBUTE_PROJ_REQ_MEMBERS_CAN_TAKE_OWNERSHIP_OF_TEAM_ASSIGNED_PROJ_REQ
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_MANAGERS

    static final java.lang.String TEAM_ATTRIBUTE_MANAGERS
    See Also:
    Constant Field Values

    TEAM_ATTRIBUTE_MEMBERS

    static final java.lang.String TEAM_ATTRIBUTE_MEMBERS
    See Also:
    Constant Field Values

    ASSET_ATTRIBUTE_NAME

    static final java.lang.String ASSET_ATTRIBUTE_NAME
    See Also:
    Constant Field Values

    ASSET_ATTRIBUTE_DESCRIPTION

    static final java.lang.String ASSET_ATTRIBUTE_DESCRIPTION
    See Also:
    Constant Field Values

    ASSET_ATTRIBUTE_OWNERS

    static final java.lang.String ASSET_ATTRIBUTE_OWNERS
    See Also:
    Constant Field Values

    ASSET_ATTRIBUTE_ASSET_CODE

    static final java.lang.String ASSET_ATTRIBUTE_ASSET_CODE
    See Also:
    Constant Field Values

    ASSET_ATTRIBUTE_KEYWORDS

    static final java.lang.String ASSET_ATTRIBUTE_KEYWORDS
    See Also:
    Constant Field Values

    ASSET_ATTRIBUTE_EXPIRATION_DATE

    static final java.lang.String ASSET_ATTRIBUTE_EXPIRATION_DATE
    See Also:
    IPlanAPI#findAssetByAttribute(IExecutionContext, Handle, String, Object), all Asset objects those expiration dates earlier than the specified one will be returned., Constant Field Values

    ASSET_ATTRIBUTE_VERSION_NAME

    static final java.lang.String ASSET_ATTRIBUTE_VERSION_NAME
    See Also:
    Constant Field Values

    ASSET_ATTRIBUTE_USAGE_GUIDELINES

    static final java.lang.String ASSET_ATTRIBUTE_USAGE_GUIDELINES
    See Also:
    Constant Field Values

    ASSET_ATTRIBUTE_FILE

    static final java.lang.String ASSET_ATTRIBUTE_FILE
    See Also:
    Constant Field Values

    ASSET_ATTRIBUTE_PREVIEW_FILE

    static final java.lang.String ASSET_ATTRIBUTE_PREVIEW_FILE
    See Also:
    Constant Field Values

    ASSET_ATTRIBUTE_THUMBNAIL_FILE

    static final java.lang.String ASSET_ATTRIBUTE_THUMBNAIL_FILE
    See Also:
    Constant Field Values

    ASSET_OWNER_ROLE

    static final java.lang.String ASSET_OWNER_ROLE
    This is not an Asset attribute. It is used to get or update the owner roles of Assets when calling

    See Also:
    Constant Field Values

    ASSET_LIBRARY_ATTRIBUTE_NAME

    static final java.lang.String ASSET_LIBRARY_ATTRIBUTE_NAME
    See Also:
    Constant Field Values

    ASSET_LIBRARY_ATTRIBUTE_DESCRIPTION

    static final java.lang.String ASSET_LIBRARY_ATTRIBUTE_DESCRIPTION
    See Also:
    Constant Field Values

    ASSET_LIBRARY_ATTRIBUTE_STATEENUM

    static final java.lang.String ASSET_LIBRARY_ATTRIBUTE_STATEENUM
    See Also:
    Constant Field Values

    ASSET_FOLDER_ATTRIBUTE_NAME

    static final java.lang.String ASSET_FOLDER_ATTRIBUTE_NAME
    See Also:
    Constant Field Values

    ASSET_FOLDER_ATTRIBUTE_DESCRIPTION

    static final java.lang.String ASSET_FOLDER_ATTRIBUTE_DESCRIPTION
    See Also:
    Constant Field Values

    PROJECT_BUDGET_TYPE

    static final java.lang.String PROJECT_BUDGET_TYPE
    See Also:
    Constant Field Values

    PROJECT_BUDGET_PERIOD

    static final java.lang.String PROJECT_BUDGET_PERIOD
    See Also:
    Constant Field Values

    PROJECT_BUDGET_QUARTER

    static final java.lang.String PROJECT_BUDGET_QUARTER
    See Also:
    Constant Field Values

    PROJECT_BUDGET_MONTH

    static final java.lang.String PROJECT_BUDGET_MONTH
    See Also:
    Constant Field Values

    PROJECT_BUDGET_WEEK

    static final java.lang.String PROJECT_BUDGET_WEEK
    See Also:
    Constant Field Values

    PROJECT_BUDGET_YEAR

    static final java.lang.String PROJECT_BUDGET_YEAR
    See Also:
    Constant Field Values

    PROJECT_BUDGET_TOTAL

    static final java.lang.String PROJECT_BUDGET_TOTAL
    See Also:
    Constant Field Values

    INVOICE_NUMBER

    static final java.lang.String INVOICE_NUMBER
    String Represents Invoice number

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_VENDOR_CODE

    static final java.lang.String INVOICE_VENDOR_CODE
    String Represents Invoice Vender Code

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_OWNER

    static final java.lang.String INVOICE_OWNER
    User Represents Invoice owner

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_SECURITY_POLICY

    static final java.lang.String INVOICE_SECURITY_POLICY
    StringRepresents Invoice Security Policy Name

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_PURCHASE_ORDER_NUMBER

    static final java.lang.String INVOICE_PURCHASE_ORDER_NUMBER
    String Represents Invoice Purchase Order Number

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_DATE

    static final java.lang.String INVOICE_DATE
    Date Represents Invoice Date

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_DUE_DATE

    static final java.lang.String INVOICE_DUE_DATE
    Date Represents Invoice Due Date

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_NOTES

    static final java.lang.String INVOICE_NOTES
    String Represents Invoice Notes

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_PAYMENT_TERMS

    static final java.lang.String INVOICE_PAYMENT_TERMS
    String Represents Invoice Payment Terms

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_STATUS

    static final java.lang.String INVOICE_STATUS
    InvoiceStatusEnum Represents Invoice Payment Terms

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_LINE_ITEM_DESCRIPTION

    static final java.lang.String INVOICE_LINE_ITEM_DESCRIPTION
    String Represents Invoice Line Item Description

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_LINE_ITEM_SOURCE_PLAN_OBJECT

    static final java.lang.String INVOICE_LINE_ITEM_SOURCE_PLAN_OBJECT
    Deprecated. since object code can be ambiguous, use IPlanAPI.INVOICE_LINE_ITEM_SOURCE_PLAN_OBJECT_ID String Represents Invoice Line Item plan object
    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_LINE_ITEM_SOURCE_PLAN_OBJECT_ID

    static final java.lang.String INVOICE_LINE_ITEM_SOURCE_PLAN_OBJECT_ID
    Integer Represents Invoice Line Item plan object id

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_LINE_ITEM_SOURCE_ACCOUNT

    static final java.lang.String INVOICE_LINE_ITEM_SOURCE_ACCOUNT
    Handle Represents Invoice Line Item source account

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_LINE_ITEM_COST_CATEGORY

    static final java.lang.String INVOICE_LINE_ITEM_COST_CATEGORY
    String Represents Invoice Line Item cost category

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_LINE_ITEM_COST_PER_UNIT

    static final java.lang.String INVOICE_LINE_ITEM_COST_PER_UNIT
    Double Represents Invoice Line Item cost per uniit

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_LINE_ITEM_QUANTITY

    static final java.lang.String INVOICE_LINE_ITEM_QUANTITY
    Integer Represents Invoice Line Item quantity

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_LINE_ITEM_COST

    static final java.lang.String INVOICE_LINE_ITEM_COST
    Double Represents Invoice Line Item cost

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_STATE_TRANSITION_COMMENT

    static final java.lang.String INVOICE_STATE_TRANSITION_COMMENT
    String Represents Invoice State transition comment

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    INVOICE_PAID_DATE

    static final java.lang.String INVOICE_PAID_DATE
    Calendar Represents Invoice Paid Date

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    LINE_ITEM_LINKED_APPROVAL

    static final java.lang.String LINE_ITEM_LINKED_APPROVAL
    Handle Represents Approval linked to (Project/Invoice) Line Item, if line item has any budget linked approval to it.

    Since:
    8.5.0.0
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_NAME

    static final java.lang.String FINANCIAL_ACCOUNT_NAME
    String Represents Financial Account Name

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_TEAM_MEMBERS

    static final java.lang.String FINANCIAL_ACCOUNT_TEAM_MEMBERS
    Handle Represents Financial Account Team Members

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_NUMBER

    static final java.lang.String FINANCIAL_ACCOUNT_NUMBER
    String Represents Financial Account Number

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_SECURITY_POLICY

    static final java.lang.String FINANCIAL_ACCOUNT_SECURITY_POLICY
    String Represents Financial Account Security Policy

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_DESCRIPTION

    static final java.lang.String FINANCIAL_ACCOUNT_DESCRIPTION
    String Represents Financial Account description

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_SOURCE_ACCOUNT

    static final java.lang.String FINANCIAL_ACCOUNT_SOURCE_ACCOUNT
    Handle Represents Parent Financial Account

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_JAN

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_JAN
    Double Represents Financial Account Budget for month of Jan

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_FEB

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_FEB
    Double Represents Financial Account Budget for month of Feb

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_MAR

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_MAR
    Double Represents Financial Account Budget for month of Mar

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_APR

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_APR
    Double Represents Financial Account Budget for month of Apr

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_MAY

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_MAY
    Double Represents Financial Account Budget for month of May

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_JUN

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_JUN
    Double Represents Financial Account Budget for month of Jun

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_JUL

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_JUL
    Double Represents Financial Account Budget for month of Jul

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_AUG

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_AUG
    Double Represents Financial Account Budget for month of Aug

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_SEP

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_SEP
    Double Represents Financial Account Budget for month of Sep

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_OCT

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_OCT
    Double Represents Financial Account Budget for month of Oct

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_NOV

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_NOV
    Double Represents Financial Account Budget for month of Nov

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_DEC

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_DEC
    Double Represents Financial Account Budget for month of Dec

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_ALLOTTED

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_ALLOTTED
    Double Represents Allotted Budget to Financial Account

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_FORECAST

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_FORECAST
    Double Represents Forecast Budget for Financial Account

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_AVAILABLE

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_AVAILABLE
    Double Represents Available Budget for Financial Account

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_COMMITTED

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_COMMITTED
    Double Represents Committed Budget for Financial Account

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_UNCOMMITTED

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_UNCOMMITTED
    Double Represents Un-committed budget for Financial Account

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_ACTUAL

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_ACTUAL
    Double Represents Actual budget for Financial Account

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_REMAINING

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_REMAINING
    Double Represents Remaining budget for Financial Account Budget

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_ALL

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_ALL
    Double Represents all budget information i.e. Budget allotted, Forecast, Available, Committed, Uncommitted, Actual and Remaining for Financial Account Budget

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_Q1

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_Q1
    Double Represents budget information of Financial Account for Q1

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_Q2

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_Q2
    Double Represents budget information of Financial Account for Q2

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_Q3

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_Q3
    Double Represents budget information of Financial Account for Q3

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_Q4

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_Q4
    Double Represents budget information of Financial Account for Q3

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_TOTAL

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_TOTAL
    Double Represents total budget information of Financial Account

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_YEAR

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_YEAR
    Double Represents Financial Account budget fiscal year

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    FINANCIAL_ACCOUNT_BUDGET_TYPE

    static final java.lang.String FINANCIAL_ACCOUNT_BUDGET_TYPE
    Double Represents Financial Account budget type

    Since:
    7.5.0.1
    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_ID

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_ID
    Represents unique ID for project budget line item

    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_DESCRIPTION

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_DESCRIPTION
    Represents project budget line item description

    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_EXPENDITURE_DATE

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_EXPENDITURE_DATE
    Represents project budget line item expenditure date

    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT
    Represents project budget line item source account

    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_COST_CATEGORY

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_COST_CATEGORY
    Represents project budget line item cost category

    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_COST_CATEGORY_ID

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_COST_CATEGORY_ID
    Represents project budget line item cost category id

    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_COMMITTED_AMOUNT

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_COMMITTED_AMOUNT
    Represents project budget line item committed amount

    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_FORECAST_AMOUNT

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_FORECAST_AMOUNT
    Represents project budget line item forecast amount

    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT_ID

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT_ID
    Represents project budget line item account id

    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT_CODE

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT_CODE
    Represents project budget line item account code

    See Also:
    Constant Field Values

    PROJECT_BUDGET_ACTUAL_SPENT

    static final java.lang.String PROJECT_BUDGET_ACTUAL_SPENT
    Represents project budget line item account code

    See Also:
    Constant Field Values

    PROJECT_BUDGET_TOTAL_COMMITTED

    static final java.lang.String PROJECT_BUDGET_TOTAL_COMMITTED
    Represents project budget line item account code

    See Also:
    Constant Field Values

    PROJECT_BUDGET_TOTAL_FORCAST

    static final java.lang.String PROJECT_BUDGET_TOTAL_FORCAST
    Represents project budget line item account code

    See Also:
    Constant Field Values

    PROJECT_BUDGET_ALLOCATION_PERIOD

    static final java.lang.String PROJECT_BUDGET_ALLOCATION_PERIOD
    Represents project budget allocation period

    See Also:
    Constant Field Values

    PROJECT_BUDGET_ALLOCATION_YEAR

    static final java.lang.String PROJECT_BUDGET_ALLOCATION_YEAR
    Represents key for project budget allocation period for yearly or quarterly

    See Also:
    Constant Field Values

    PROJECT_BUDGET_LINE_ITEM_ALLOCATION

    static final java.lang.String PROJECT_BUDGET_LINE_ITEM_ALLOCATION
    Represents key for line item sub project budget allocation

    See Also:
    Constant Field Values
    Method Detail

    getAttributes

    AttributeMap getAttributes(IExecutionContext context,
                               Handle handle)
                               throws InvalidHandleException
    Fetches the attribute map of the object instance given by the specified handle.

    Parameters:
    context - the client execution context
    handle - handle of the object instance containing the desired attributes
    Returns:
    AttributeMap of zero or more attributes
    Throws:
    InvalidHandleException - the specified handle is invalid
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to read the object attributes (unchecked)

    updateAttribute

    void updateAttribute(IExecutionContext context,
                         Handle handle,
                         java.lang.String attributeName,
                         java.lang.Object[] attributeValues)
                         throws InvalidHandleException,
                                AttributeNotFoundException,
                                InvalidAttributeException,
                                NotLockedException
    Update the attribute of the object instance given by the specified handle.

    Convenience API--see updateAttributes() below.

    Parameters:
    context - the client execution context
    handle - handle of the object instance to be updated
    attributeName - the name of the attribute to update
    attributeValues - an array of zero or more attribute values; this array will overwrite the matched attribute's existing values
    Throws:
    InvalidHandleException - the specified handle is invalid
    AttributeNotFoundException - one or more specified attributes do no exist for the object instance
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-values, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update the object attribute (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for object (unchecked)

    getMembersByRoleType

    java.util.List getMembersByRoleType(IExecutionContext context,
                                        Handle handle,
                                        java.lang.String roleType)
                                        throws InvalidHandleException,
                                               InvalidAttributeException
    Parameters:
    context - the client execution context
    handle - handle of the object instance
    roleType - a role type for the given object instance.
    Returns:
    A list of @see PlanUser or @see PlanTeam handles will be return if the object instance has members associated with it. Each list element will be of type Handle.
    Throws:
    InvalidHandleException - the specified handle is invalid
    InvalidAttributeException - roleType is invalid, e.g., roleType doesn't exist, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to read the object attributes (unchecked)

    updateMembersByRoleType

    void updateMembersByRoleType(IExecutionContext context,
                                 Handle handle,
                                 java.lang.String roleType,
                                 Handle[] hUser)
                                 throws InvalidHandleException,
                                        InvalidAttributeException
    Parameters:
    context - the client execution context
    handle - handle of the object instance
    roleType - a role type for the given object instance.
    hUser - a list of PlanUser or PlanTeam handles to be updated.
    Throws:
    InvalidHandleException - the specified handle is invalid
    InvalidAttributeException - either roleType or hUser is invalid, e.g., roleType doesn't exist or or hUser hanlde is not instance of PlanUser nor PlanTeam, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to read the object attributes (unchecked)

    updateAttributes

    void updateAttributes(IExecutionContext context,
                          Handle handle,
                          AttributeMap attributeMap)
                          throws InvalidHandleException,
                                 AttributeNotFoundException,
                                 InvalidAttributeException,
                                 NotLockedException
    Update one or more attributes of the object instance given by the specified handle.

    The update logic is as follows; for each attribute contained in the supplied attributeMap:

    Note, this API does not support adding new attributes.

    In all cases, the attribute update is subject to the usual security constraints and validation. Its the clients responsibility to determine which standard and custom attributes are required by a particular object instance, the correct types, etc.

    Parameters:
    context - the client execution context
    handle - handle of the object instance to be updated
    attributeMap - map of attributes to be updated
    Throws:
    InvalidHandleException - the specified handle is invalid
    AttributeNotFoundException - one or more specified attributes do no exist for the object instance
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-values, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update one or more object attributes (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for object (unchecked)

    getMembersByRole

    java.util.List getMembersByRole(IExecutionContext context,
                                    Handle handle,
                                    java.lang.String roleName)
                                    throws InvalidHandleException,
                                           InvalidAttributeException
    Return a list of members for a specific member role for an existing object. The return data type could be either @see PlanUserHandle or @see PlanTeamHandle. Supported Plan objects: 1. Project - work roles of the Project people tab. Possible roles: @see #getMemberRoles(IExecutionContext, Handle). 2. Asset (Asset owners) Possible roles: @link #ASSET_OWNER_ROLE

    Parameters:
    context - the clients execution context
    handle - of an existing Plan object. Throws InvalidHandleException if the Plan object does not exist.
    roleName - a role name Throws InvalidAttributeException if the role does not exist.
    Returns:
    The return data type is either @see PlanUserHandle or @see PlanTeamHandle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a Plan object or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    InvalidAttributeException

    setMembersByRole

    void setMembersByRole(IExecutionContext context,
                          Handle hProject,
                          Handle[] users,
                          java.lang.String roleName,
                          boolean appendOrReplace)
                          throws InvalidHandleException,
                                 InvalidAttributeException
    Update members for a specific member role for an existing Plan objects. Supported Plan objects: 1. Project - work roles of the Project people tab. Possible roles: @see #getMemberRoles(IExecutionContext, Handle). 2. Asset (Asset owners) Possible roles: @link #ASSET_OWNER_ROLE

    Parameters:
    context - the clients execution context
    handle - of an existing Plan object. Throws InvalidHandleException if the Plan object does not exist.
    users - that will be appened to the member role or replace existing members with the new members. The data type is either @see PlanUserHandle or @see PlanTeamHandle. To delete all members for a specific member role, pass in null. Throws InvalidAttributeException if the role does not exist.
    roleName - a role name from @see #getReviewersByRole(IExecutionContext, Handle, String); Throws InvalidAttributeException if the role does not exist.
    appendOrReplace - true - append new members to existing members for the given role false - replace existing members with new members.
    Throws:
    IllegalHandleException - the specified handle does not refer to a Plan object or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    InvalidAttributeException

    createProject

    Handle createProject(IExecutionContext context,
                         java.lang.String templateName,
                         AttributeMap attributeMap)
                         throws TemplateNotFoundException,
                                InvalidAttributeException
    Create a new project component from the named template, applying the specified attributes and user information from the execution context. Default workflow and grid components will be created implicitly if defined by the specified project template.

    Child projects can be linked to the created parent project as needed; see linkProjectChildren().

    Parameters:
    context - the clients execution context.
    templateName - the name of the template to use to create this project. The named template must exist on the Plan server and the client must have read permissions for that instance. The template provides, among other things, the definition of required and optional attributes, default values, etc.
    attributeMap - optional map of attributes to update and/or add. Any supplied attributes will overwrite the default values derived from the projects template; others are left untouched. Its up to the client to determine the attributes required by the project, their types, etc.
    Returns:
    handle of the created project
    Throws:
    TemplateNotFoundException - the specified template doesn't exist
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to create projects or read their templates (unchecked)
    DataException - problems encountered accessing data (unchecked)

    createProjectRequest

    Handle createProjectRequest(IExecutionContext context,
                                java.lang.String templateName,
                                AttributeMap attributeMap)
                                throws TemplateNotFoundException,
                                       InvalidAttributeException
    Create a new project request instance from the named template, applying the specified
    attributes and user information from the execution context.

    Parameters:
    context - The clients execution context.
    templateName - the name of the template to use to create this project request.
    The named template must exist on the Plan server and the client must have
    read permissions for that instance. The template provides, among other
    things, the definition of required and optional attributes, default values, etc.
    attributeMap - attribute map must contain following parameters:
  • IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_NAME : Value for this key must be string and this would be name of project request. This is required parameter.
  • IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_DESCRIPTION : Value for this key must be string and would be the description of project request. This is optional parameter.
  • IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_START_DATE : Value for this key must be java.util.Date object. This represents start date of project which will get created using project request. This is optional parameter.
  • IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_END_DATE : Value for this key must be java.util.Date object. This represents end date of project which will get created using project request. This is an optional parameter
  • IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_RECIPIENTS : Value for this key must be array of AttributeMap.

    Attribute map of recipient (IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_RECIPIENTS) contain following parameters:
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_ROLE : Value for this key must be a string array with single value. Value of string must be role id key from DB which represents appropriate role used for request template. This is optional parameter. If value for this key is not defined then it will take default value for recipient role i.e. Unassigned.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_USER : Value for this key must be a string array with single value. Value of string must be login id of user. This user will be assigned as a recipient in project request. This is required parameter.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_DURATION : Value for this key must be a string array with single value. Value of string must be in 00D-00H-00M format. Where value for D (days) must be between 01 and 99. Value for H (hours) must be between beginningOfDay and beginningOfDay + numberOfHoursPerDay parameters configured in platform. This is required parameter. If value for this key is not defined then it will take default duration i.e. 01D-00H-00M.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_SEQUENCE : Value for this key must be a string array with single ;value. Value of string must a numeric value between 1 and 99. This is required parameter.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_PROJECT_OWNER : Value for this key must be a string array with single value. Value of string must be a boolean (true or false) value. This is optional parameter. But in recipients there must be only one project owner. If value for this parameter is set as true then value for respective attribute for key IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_REQUIRED must be true (boolean).
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_REQUIRED : Value for this key must be a string array with single value. Value of string must be a boolean (true or false) value. This is optional parameter. If value for this key is not defined then it will take default value i.e. false.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_INSTRUCTIONS : Value for this key must be a string array with single value. Value of string should not be greater than 1024 characters. This is optional parameter.

    User can also add custom attributes with appropriate key and value.
    Returns:
    handle of the created project request
    Throws:
    TemplateNotFoundException - the specified template doesn't exist
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.

  • listProjects

    java.util.List listProjects(IExecutionContext context,
                                AttributeMap attributeMap)
                                throws InvalidAttributeException
    Lists all projects whose attributes match those specified; only projects that the client has read permissions for are considered. Once retrieved, each handle can be used to interrogate the project further, e.g., read or update its attributes via the attribute APIs, link or unlink children, link Marketing Objects, etc.

    Note, this API is intended as a simple way for a client to use server-side discovery to identify projects of interest; more complicated discovery can be done by combining this API with client-side attribute processing.

    Parameters:
    context - the clients execution context
    attributeMap - optional map of attributes to match. The implied boolean operator is AND. The match algorithm works as follows:
    • determine the list of all projects
    • for each project, evaluate if all query attributes match:
      • for each supplied query attribute:
        • if the query attribute is equal to a project attribute, continue to next attribute (Equal in this context means name & typeEnum are identical and contents of values fields are type equivalent.
        • else no match (including attribute doesnt exist) => skip to next project
      • if all query attributes matched, add project handle to match list
    • return array of handles of matched projects

    If the attributeMap parameter is not specified, all current projects that the client has read security permissions for are returned. Throws InvalidAttributeException if one or more of the query attributes is invalid (e.g., empty map, an attribute has the wrong type, etc.).

    Returns:
    A list of zero or more matched projects; each list element will be of type Handle.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list projects (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), updateAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap), findProjectByAttribute(com.unica.publicapi.plan.api.IExecutionContext, java.lang.String, java.lang.Object[])

    listProjectRequests

    java.util.List listProjectRequests(IExecutionContext context,
                                       AttributeMap attributeMap)
                                       throws InvalidAttributeException
    Lists all projects request whose attributes match those specified; only project requests that the client has read permissions for are considered. Once retrieved, each handle can be used to interrogate the project request further.

    Parameters:
    context - The clients execution context
    attributeMap - Optional map of attributes to match. This attribute map contains following parameters:
  • IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_NAME : Value for this key must be string and this would be name of project request. This is required parameter.
  • IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_DESCRIPTION : Value for this key must be string and would be the description of project request. This is optional parameter.
  • IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_START_DATE : Value for this key must be java.util.Date object. This represents start date of project which will get created using project request. This is optional parameter.
  • IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_END_DATE : Value for this key must be java.util.Date object. This represents end date of project which will get created using project request. This is optional parameter

    IPlanAPI.PROJECT_REQUEST_ATTRIBUTE_RECIPIENTS : Value for this key must be array of AttributeMap. Attribute map of recipient contain following parameters:
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_ROLE : Value for this key must be a string array with single value. Value of string must be role id key from DB which represents appropriate role used for request template. This is optional parameter. If value for this key is not defined then it will take default for recipient role i.e. Unassigned.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_USER : Value for this key must be a string array with single value. Value of string must be login id of user. This user will be assigned as a recipient in project request. This is required parameter.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_DURATION : Value for this key must be a string array with single value. Value of string must be in 00D-00H-00M format. Where value for D (days) must be between 01 and 99. Value for H (hours) must be between beginningOfDay and beginningOfDay + numberOfHoursPerDay parameters configured in platform. This is required parameter. If value for this key is not defined then it will take default duration i.e. 01D-00H-00M.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_SEQUENCE : Value for this key must be a string array with single value. Value of string must a numeric value between 1 and 99. This is required parameter.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_PROJECT_OWNER : Value for this key must be a string array with single value. Value of string must be a boolean (true or false) value. This is optional parameter. But in recipients there must be only one project owner. If value for this parameter is set as true then value for respective attribute for key IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_REQUIRED must be true.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_REQUIRED : Value for this key must be a string array with single value. Value of string must be a boolean (true or false) value. This is optional parameter. If value for this key is not defined then it will take default value i.e. false.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_INSTRUCTIONS : Value for this key must be a string array with single value. Value of string should not be greater than 1024 characters. This is optional parameter.

    User can also add custom attributes with appropriate key and value.
    Returns:
    A list of zero or more matched project requests; each list element will be of type project request handle
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.

  • findProjectByAttribute

    Handle findProjectByAttribute(IExecutionContext context,
                                  java.lang.String name,
                                  java.lang.Object[] values)
                                  throws InvalidAttributeException,
                                         MultipleItemsFoundException
    Finds the project that matches the supplied attribute.

    Convenience API; similar to listProjects(), using a single attribute whose name and value are the same as the parameters above, except only one project is returned.

    Parameters:
    context - the clients execution context
    name - name of attribute to match against
    values - array of attribute values to match against (all specified values must match)
    Returns:
    The handle of the matched project or null if no project matched. If more than one project matches, i.e., the attribute is not unique, MultipleItemsFoundException is thrown. Use listProjects() if this policy doesnt suit your needs.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    MultipleItemsFoundException - more than one project matched the attribute(s) specified
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list projects (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    listProjects(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.AttributeMap)

    findProjectRequestByAttribute

    Handle findProjectRequestByAttribute(IExecutionContext context,
                                         java.lang.String name,
                                         java.lang.Object[] values)
                                         throws InvalidAttributeException,
                                                MultipleItemsFoundException
    Finds the project request that matches the supplied attribute.

    Parameters:
    context - the clients execution context
    name - name of attribute to match against
    values - array of attribute values to match against (all specified values must match)
    Returns:
    The handle of the matched project request or null if no project matched. If more than one project request matches, i.e., the attribute is not unique, MultipleItemsFoundException is thrown. Use listProjectRequests() if this policy doesnt suit your needs.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    MultipleItemsFoundException - more than one project matched the attribute(s) specified

    getRequestRecipients

    AttributeMap[] getRequestRecipients(IExecutionContext context,
                                        Handle hProjectRequest)
                                        throws InvalidHandleException
    Get all request recipients of project request

    Parameters:
    context - the clients execution context
    hProjectRequest - Must be a valid project request handle
    Returns:
    Array of recipients available in project request
    Throws:
    InvalidHandleException

    addProjectRequestRecepients

    void addProjectRequestRecepients(IExecutionContext context,
                                     Handle hProjectRequest,
                                     AttributeMap[] attributeMap)
                                     throws InvalidHandleException,
                                            InvalidAttributeException
    Add new project request recipient to project request

    Parameters:
    context - the clients execution context
    hProjectRequest - Must be a valid project request handle
    attributeMap - Attribute map must contain attributes of recipients. This must contain following parameters:
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_ROLE : Value for this key must be a string array with single value. Value of string must be role id key from DB which represents appropriate role used for request template. This is optional parameter. If value for this key is not defined then it will take default for recipient role i.e. Unassigned.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_USER : Value for this key must be a string array with single value. Value of string must be login id of user. This user will be assigned as a recipient in project request. This is required parameter.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_DURATION : Value for this key must be a string array with single value. Value of string must be in 00D-00H-00M format. Where value for D (days) must be between 01 and 99. Value for H (hours) must be between beginningOfDay and beginningOfDay + numberOfHoursPerDay parameters configured in platform. This is required parameter. If value for this key is not defined then it will take default duration i.e. 01D-00H-00M.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_SEQUENCE : Value for this key must be a string array with single value. Value of string must a numeric value between 1 and 99. This is required parameter.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_PROJECT_OWNER : Value for this key must be a string array with single value. Value of string must be a boolean (true or false) value. This is optional parameter. But in recipients there must be only one project owner. If value for this parameter is set as true then value for respective attribute for key IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_REQUIRED must be true.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_REQUIRED : Value for this key must be a string array with single value. Value of string must be a boolean (true or false) value. This is optional parameter. If value for this key is not defined then it will take default value i.e. false.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_INSTRUCTIONS : Value for this key must be a string array with single value. Value of string should not be greater than 1024 characters. This is optional parameter.
    Throws:
    InvalidHandleException - the specified project request handle is invalid
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-values, etc.

  • updateProjectRequestRecepient

    void updateProjectRequestRecepient(IExecutionContext context,
                                       Handle hProjectRequest,
                                       Handle userHandle,
                                       AttributeMap attributeMap)
                                       throws InvalidHandleException,
                                              InvalidAttributeException
    Update project request recipients.

    Parameters:
    context - the clients execution context
    hProjectRequest - Must be a valid project request handle
    userHandle - user handle (recipient) to update recipient
    attributeMap - Attribute map must contain attributes of recipients to update. This attribute must contain following parameters:
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_ROLE : Value for this key must be a string array with single value. Value of string must be role id key from DB which represents appropriate role used for request template. This is optional parameter. If value for this key is not defined then it will take default for recipient role i.e. Unassigned.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_DURATION : Value for this key must be a string array with single value. Value of string must be in 00D-00H-00M format. Where value for D (days) must be between 01 and 99. Value for H (hours) must be between beginningOfDay and beginningOfDay + numberOfHoursPerDay parameters configured in platform. This is required parameter. If value for this key is not defined then it will take default duration i.e. 01D-00H-00M.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_SEQUENCE : Value for this key must be a string array with single value. Value of string must a numeric value between 1 and 99. This is required parameter.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_PROJECT_OWNER : Value for this key must be a string array with single value. Value of string must be a boolean (true or false) value. This is optional parameter. But in recipients there must be only one project owner. If value for this parameter is set as true then value for respective attribute for key IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_REQUIRED must be true.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_IS_REQUIRED : Value for this key must be a string array with single value. Value of string must be a boolean (true or false) value. This is optional parameter. If value for this key is not defined then it will take default value i.e. false.
  • IPlanAPI.PROJECT_REQUEST_RECIPIENT_INSTRUCTIONS : Value for this key must be a string array with single value. Value of string should not be greater than 1024 characters. This is optional parameter.
    Throws:
    InvalidHandleException - the specified project request and/or user handle is invalid
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-values, etc.

  • transitionProjectStateByCode

    void transitionProjectStateByCode(IExecutionContext context,
                                      java.lang.String code,
                                      ProjectStateEnum stateEnum)
                                      throws ProjectNotFoundException,
                                             MultipleItemsFoundException,
                                             InvalidStateTransitionException
    Deprecated. 

    Finds the project assigned the supplied unique project code and transition its state to the new state.

    Convenience API; identical to making the following API calls:

    1. findProjectByAttribute() using the code attribute with the same value as the code parameter.
    2. updateAttribute() using the handle to the matched project and the state parameter above.

    Parameters:
    context - the clients execution context
    code - unique project code to match against (equivalent to value of code project attribute). A ProjectNotFoundException is thrown if no project exists with that code. If more than one project matches, i.e., the attribute is not unique, a MultipleItemsFoundException is thrown.
    stateEnum - a ProjectStateEnum enumerated type of the new project state to transition to (see uapStateEnum attribute definition). An InvalidStateTransitionException is thrown if the state transition is not allowed.
    Throws:
    ProjectNotFoundException - no project was found for the specified code
    MultipleItemsFoundException - more than one project matched the code specified
    InvalidStateTransitionException - the specified state transition is invalid given the current project state
    AttributeNotFoundException - one or more specified attributes do no exist for the object instance
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-values, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update the object attribute (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for object (unchecked)
    See Also:
    findProjectByAttribute(com.unica.publicapi.plan.api.IExecutionContext, java.lang.String, java.lang.Object[]), updateAttribute(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, java.lang.String, java.lang.Object[])

    transitionProjectStateByHandle

    void transitionProjectStateByHandle(IExecutionContext context,
                                        Handle hProject,
                                        ProjectStateEnum stateEnum,
                                        java.lang.String comments)
                                        throws InvalidAttributeException,
                                               InvalidHandleException,
                                               InvalidStateTransitionException
    Overloaded API with comments parameters.

    Finds the project assigned the supplied unique project code and transition its state to the new state.

    Convenience API; identical to making the following API calls:

    1. findProjectByAttribute() using the code attribute with the same value as the code parameter.
    2. updateAttribute() using the handle to the matched project and the state parameter above.

    Parameters:
    context - the clients execution context
    code - unique project code to match against (equivalent to value of code project attribute). A ProjectNotFoundException is thrown if no project exists with that code. If more than one project matches, i.e., the attribute is not unique, a MultipleItemsFoundException is thrown.
    stateEnum - a ProjectStateEnum enumerated type of the new project state to transition to (see uapStateEnum attribute definition). An InvalidStateTransitionException is thrown if the state transition is not allowed.
    comments - the comments for the state transition which are sent by Notification Service
    Throws:
    ProjectNotFoundException - no project was found for the specified code
    MultipleItemsFoundException - more than one project matched the code specified
    InvalidStateTransitionException - the specified state transition is invalid given the current project state
    AttributeNotFoundException - one or more specified attributes do no exist for the object instance
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-values, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update the object attribute (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for object (unchecked)
    InvalidHandleException
    See Also:
    findProjectByAttribute(com.unica.publicapi.plan.api.IExecutionContext, java.lang.String, java.lang.Object[]), updateAttribute(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, java.lang.String, java.lang.Object[])

    transitionProjectRequestStateByHandle

    void transitionProjectRequestStateByHandle(IExecutionContext context,
                                               Handle hProjectRequest,
                                               ProjectStateEnum stateEnum,
                                               java.lang.String comments)
                                               throws InvalidAttributeException,
                                                      InvalidHandleException,
                                                      InvalidStateTransitionException
    Finds the project request and transition its state to the new state.

    On resubmitting returned request, request 'Re-approval Rule' would be:
    If project request returned and then resubmitted, request is processed by all recipients again

    To accept request by recipient, "onBehalfOfUserID" user id should be valid recipinet's id.

    Parameters:
    context - the clients execution context
    hProjectRequest - code unique project request code to match against (equivalent to value of code project request attribute). A ProjectNotFoundException is thrown if no project request exists with that code. If more than one project request matches, i.e., the attribute is not unique, a MultipleItemsFoundException is thrown.
    stateEnum - a ProjectStateEnum enumerated type of the new project request state to transition to (see uapStateEnum attribute definition). An InvalidStateTransitionException is thrown if the state transition is not allowed.
    comments - the comments for the state transition which are sent by Notification Service
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-values, etc.
    InvalidHandleException - no project request was found for the specified code
    InvalidStateTransitionException - the specified state transition is invalid given the current project state

    linkProjectChildren

    void linkProjectChildren(IExecutionContext context,
                             Handle hParent,
                             Handle[] hChildren)
                             throws InvalidHandleException,
                                    CircularityException,
                                    ListTooLargeException
    Links (adds) one or more projects to a common parent project; all projects must already exist.

    Child projects may in turn have their own children--or have this done by later use of this API. The API will detect circular references, i.e., A => B => C => A, and return a CircularityException.

    Parameters:
    context - the clients execution context
    hParent - handle of an existing parent project to link children to. Throws InvalidHandleException if the parent project does not exist; throws NotLockedException if the client does not hold an edit lock for the referenced project.
    hChildren - array of one or more handles of existing projects to link as children. Throws InvalidHandleException if one or more of the child projects does not exist; ; throws a ListTooLargeException if the server cannot process the number of children specified in one request (because of circularity detection). In this case, the client should break up the request into multiple calls, e.g., less than 500.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    CircularityException - linking one or more of the specified children would cause a circular reference
    ListTooLargeException - the server cannot process the number of children specified in one request
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update a project's list of children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for the parent project (unchecked)
    InvalidHandleException
    See Also:
    unlinkProjectChildren(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.Handle[])

    unlinkProjectChildren

    void unlinkProjectChildren(IExecutionContext context,
                               Handle hParent,
                               Handle[] hChildren)
                               throws InvalidHandleException
    Unlinks one or more child projects from their common parent project; all projects must already exist.

    All children must in fact be linked to the specified parent, otherwise InvalidHandleException is thrown. Note that this API does not affect nested children, i.e., if A => B => C, then unlinking B from A will not affect the B => C link.

    Parameters:
    context - the clients execution context
    hParent - handle of an existing parent project. Throws InvalidHandleException if the parent project does not exist; throws NotLockedException if the client does not hold an edit lock for the referenced project.
    hChildren - array of handles of existing child projects to unlink from the parent. Throws InvalidHandleException if one or more of the child projects is not currently linked to the specified parent.
    Throws:
    IllegalHandleException - the specified handle(s) does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update a project's list of children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for the parent project (unchecked)
    InvalidHandleException
    See Also:
    linkProjectChildren(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.Handle[])

    listProjectChildren

    java.util.List listProjectChildren(IExecutionContext context,
                                       Handle hParent)
                                       throws InvalidHandleException
    Lists the child projects of an existing parent project, if defined. Only the direct children of the parent are listed.

    Parameters:
    context - the clients execution context
    hParent - handle of an existing parent project containing desired children. Throws InvalidHandleException if the parent project does not exist.
    Returns:
    A List of zero or more child projects; each list element will be of type Handle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    See Also:
    linkProjectChildren(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.Handle[]), getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle)

    listAllProjectChildren

    java.util.List listAllProjectChildren(IExecutionContext context,
                                          Handle hParent)
                                          throws InvalidHandleException
    Lists the all child projects of an existing parent project, if defined. No matter how deep the tree is, all children of the parent are listed so there may be performance impact if this API invokes inappropriately.

    Parameters:
    context - the clients execution context
    hParent - handle of an existing parent project containing desired children. Throws InvalidHandleException if the parent project does not exist.
    Returns:
    A List of zero or more child projects; each list element will be of type Handle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    See Also:
    listProjectChildren(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), linkProjectChildren(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.Handle[]), getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle)

    listProjectGrids

    java.util.List listProjectGrids(IExecutionContext context,
                                    Handle hProject)
                                    throws InvalidHandleException
    Lists the grids bound to the supplied project, if defined. The grid APIs can be used to access the grid once retrieved.

    Parameters:
    context - the clients execution context
    hProject - handle of an existing project containing desired grid(s). Throws InvalidHandleException if the project does not exist or the handle is invalid.
    Returns:
    A List of zero or more grids; each list element will be of type Handle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project grids (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), listGridRows(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap)

    findSubProjectParent

    Handle findSubProjectParent(IExecutionContext context,
                                Handle hProject)
                                throws InvalidHandleException
    Find the parent project of an existing project, if defined. Only the direct parent of the project is listed. There will be one and only one parent returned, if defined. Use @see #findSubProjectRoot if a user would like to find the root project.

    Parameters:
    context - the clients execution context
    hProject - handle of an existing project. Throws InvalidHandleException if the project does not exist.
    Returns:
    A Handle of zero or one parent projects; It will be of type Handle. Null value will be returned if the existing project is the root/top level project or it's not linked.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    See Also:
    linkProjectChildren(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.Handle[]), findSubProjectRoot(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle)

    findSubProjectRoot

    Handle findSubProjectRoot(IExecutionContext context,
                              Handle hProject)
                              throws InvalidHandleException
    Find the root project of an existing project, if defined. Only the direct root of the project is listed. There will be one and only one root returned, if defined. If the project is the root or standalone, itself will be returned. The same function can be achieved by @see #linkProjectChildren but for better performance, use @see #findSubProjectRoot.

    Parameters:
    context - the clients execution context
    hProject - handle of an existing project. Throws InvalidHandleException if the project does not exist.
    Returns:
    A Handle of the root projects; It will be of type Handle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    See Also:
    linkProjectChildren(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.Handle[]), findSubProjectParent(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle)

    getMemberRoles

    java.util.List getMemberRoles(IExecutionContext context,
                                  Handle hProject)
                                  throws InvalidHandleException
    Find the member roles for an existing project, if defined. Member roles are defined in project xml.

    Parameters:
    context - the clients execution context
    hProject - handle of an existing project. Return an empty list if the project does not exist.
    Returns:
    A list of the member roles; They will be String.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException

    getReviewerRoles

    java.util.List getReviewerRoles(IExecutionContext context,
                                    Handle hProject)
                                    throws InvalidHandleException
    Find the reviewer roles for an existing project, if defined. Reviewer roles are defined in project xml.

    Parameters:
    context - the clients execution context
    hProject - handle of an existing project. Return an empty list if the project does not exist.
    Returns:
    A list of the member roles; They will be String.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException

    getReviewersByRole

    java.util.List getReviewersByRole(IExecutionContext context,
                                      Handle hProject,
                                      java.lang.String roleName)
                                      throws InvalidHandleException,
                                             InvalidAttributeException
    Return a list of reviewers for a specific reviewer role for an existing project. The return data type is either @see PlanUserHandle or @see PlanTeamHandle.

    Parameters:
    context - the clients execution context
    hProject - handle of an existing project. Throws InvalidHandleException if the project does not exist.
    roleName - a role name from @see #getReviewersByRole(IExecutionContext, Handle, String); Throws InvalidAttributeException if the role does not exist.
    Returns:
    The return data type is either @see PlanUserHandle or @see PlanTeamHandle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    InvalidAttributeException

    setReviewersByRole

    void setReviewersByRole(IExecutionContext context,
                            Handle hProject,
                            Handle[] users,
                            java.lang.String roleName,
                            boolean appendOrReplace)
                            throws InvalidHandleException,
                                   InvalidAttributeException
    Update reviewers for a specific reviewer role for an existing project.

    Parameters:
    context - the clients execution context
    hProject - handle of an existing project. Throws InvalidHandleException if the project does not exist.
    users - that will be appened to the reviewer role or replace existing reviewers with the new reviewers. The data type is either @see PlanUserHandle or @see PlanTeamHandle. To delete all reviewers for a specific reviewer role, pass in null. Throws InvalidAttributeException if the role does not exist.
    roleName - a role name from @see #getReviewersByRole(IExecutionContext, Handle, String); Throws InvalidAttributeException if the role does not exist.
    appendOrReplace - true - append new reviewers to existing reviewers for the given role false - replace existing reviewers with new reviewers.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    InvalidAttributeException

    getMembersByParticipationLevel

    java.util.List getMembersByParticipationLevel(IExecutionContext context,
                                                  Handle hProject,
                                                  ProjectParticipantLevelEnum participantLevel)
                                                  throws InvalidHandleException,
                                                         InvalidAttributeException
    Return members for a specific paricipation level for an existing project. The return data type is either @see PlanUserHandle or @see PlanTeamHandle.

    Parameters:
    context - the clients execution context
    hProject - handle of an existing project. Throws InvalidHandleException if the project does not exist.
    participantLevel - an enum indicates different participation levels.
    Returns:
    The return data type is either @see PlanUserHandle or @see PlanTeamHandle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    InvalidAttributeException

    setMembersByParticipationLevel

    void setMembersByParticipationLevel(IExecutionContext context,
                                        Handle hProject,
                                        Handle[] users,
                                        ProjectParticipantLevelEnum participantLevel,
                                        boolean appendOrReplace)
                                        throws InvalidHandleException,
                                               InvalidAttributeException
    Update members for a specific paricipation level for an existing project.

    Parameters:
    context - the clients execution context
    hProject - handle of an existing project. Throws InvalidHandleException if the project does not exist.
    users - that will be appened to the member role or replace existing members with the new members. The data type is either @see PlanUserHandle or @see PlanTeamHandle. To delete all reviewers for a specific reviewer role, pass in null. Throws InvalidAttributeException if the role does not exist.
    participantLevel - an enum indicates different participation levels.
    appendOrReplace - true - append new members to existing members for the given participation level false - replace existing members with new members.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list project children (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    InvalidAttributeException

    listWorkflowTasks

    java.util.List listWorkflowTasks(IExecutionContext context,
                                     Handle hProject,
                                     AttributeMap taskAttributeMap)
                                     throws InvalidHandleException,
                                            InvalidAttributeException
    Lists all the workflow tasks whose attributes match those specified; only tasks that the client has read permissions for are considered. Once retrieved, each task handle can be used to read or update its attributes via the attribute APIs.

    Note, this API is intended as a simple way for a client to use server-side discovery to identify projects of interest; more complicated discovery can be done by combining this API with client-side attribute processing.

    Parameters:
    context - the clients execution context
    hProject - handle of the parent project. Throws InvalidHandleException if the handle doesnt refer to a project or the project does not exist.
    taskAttributeMap - optional map of task attributes to match. Match logic is similar to the ListProjects() API, above. If the attributeMap parameter is not specified, all current workflow tasks associated with the parent project are returned. Throws InvalidAttributeException if one or more of the specified attributes is invalid.
    Returns:
    A List of zero or more matched tasks; each list element will be of type Handle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list workflow tasks (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), updateAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap)

    findWorkflowTaskByAttribute

    Handle findWorkflowTaskByAttribute(IExecutionContext context,
                                       Handle hProject,
                                       java.lang.String taskAttributeName,
                                       java.lang.Object[] taskAttributeValues)
                                       throws InvalidHandleException,
                                              InvalidAttributeException,
                                              MultipleItemsFoundException
    Finds the workflow task that matches the supplied attribute.

    Convenience API; similar to listWorkflowTasks() using a single attribute whose name and value are the same as the parameters above, except only one task is returned.

    Parameters:
    context - the clients execution context
    hProject - handle of the parent project. Throws InvalidHandleException if the handle doesnt refer to a project or the project does not exist.
    taskAttributeName - name of task attribute to match against.
    taskAttributeValues - array of task attribute values to match against (all must match)
    Returns:
    Handle of the matched task or null if no task matched. If more than one task matches, i.e., the attribute is not unique, MultipleItemsFoundException is thrown. Use listWorkflowTasks() if this policy doesnt suit your needs.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    MultipleItemsFoundException - more than one task matched the attribute(s) specified
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list projects (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    See Also:
    listWorkflowTasks(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap)

    transitionWorkflowTaskStateByName

    void transitionWorkflowTaskStateByName(IExecutionContext context,
                                           java.lang.String projectCode,
                                           java.lang.String taskName,
                                           TaskStateEnum taskStateEnum)
                                           throws ProjectNotFoundException,
                                                  TaskNotFoundException,
                                                  MultipleItemsFoundException,
                                                  InvalidStateTransitionException
    Deprecated. use @see Finds the workflow task that has the specified project code and task name and transitions its state to the new state.

    Convenience API; identical to making the following API calls:

    1. findProjectByAttribute() using the code attribute name and the code parameter value
    2. findWorkflowTaskByAttribute() using the project handle above with a name attribute equal to the name parameter above
    3. updateAttributes() for the task returned above, using the state parameter as the uapStateEnum attribute value.

    Parameters:
    context - the clients execution context
    projectCode - unique project code to match against (equivalent to value of the code project attribute). Throws MultipleItemsFoundException if more than one project matched specified code.
    taskName - the task name to match against. Throws MultipleItemsFoundException if more than one task matched specified name.
    taskStateEnum - a TaskStateEnum enumerated type defining the new task state to transition to. Throws IllegalStateTransitionException if the state transition is not allowed by the task.
    Throws:
    ProjectNotFoundException - a project was not found for the specified project code
    TaskNotFoundException - a workflow task was not found for the specified task name
    MultipleItemsFoundException - more than one project or task matched
    InvalidStateTransitionException - the specified state transition is invalid given the current task state
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update a workflow task (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for the workflow task (unchecked)

    transitionWorkflowTaskStateByHandle

    void transitionWorkflowTaskStateByHandle(IExecutionContext context,
                                             Handle hTask,
                                             TaskStateEnum taskStateEnum,
                                             java.lang.String comments)
                                             throws InvalidAttributeException,
                                                    InvalidHandleException,
                                                    InvalidStateTransitionException
    Overloaded API with comments parameters.

    Finds the workflow task that has the specified project code and task name and transitions its state to the new state.

    Convenience API; identical to making the following API calls:

    1. findProjectByAttribute() using the code attribute name and the code parameter value
    2. findWorkflowTaskByAttribute() using the project handle above with a name attribute equal to the name parameter above
    3. updateAttributes() for the task returned above, using the state parameter as the uapStateEnum attribute value.
    4. If a user tries to disable a Task, please note that, the relationships between the task and its dependent Tasks will be removed implicitly.

    Parameters:
    context - the clients execution context
    projectCode - unique project code to match against (equivalent to value of the code project attribute). Throw MultipleItemsFoundException if more than one project matched specified code.
    taskName - the task name to match against. Throw MultipleItemsFoundException if more than one task matched specified name.
    taskStateEnum - a TaskStateEnum enumerated type defining the new task state to transition to. Throw IllegalStateTransitionException if the state transition is not allowed by the task.
    comments - the comments for the state transition which are sent by Notification Service
    Throws:
    ProjectNotFoundException - a project was not found for the specified project code
    TaskNotFoundException - a workflow task was not found for the specified task name
    MultipleItemsFoundException - more than one project or task matched
    InvalidStateTransitionException - the specified state transition is invalid given the current task state
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update a workflow task (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for the workflow task (unchecked)
    InvalidAttributeException
    InvalidHandleException

    getWorkflowTaskParentProject

    Handle getWorkflowTaskParentProject(IExecutionContext context,
                                        Handle hTask)
                                        throws InvalidHandleException
    Returns the parent project for a particular task.

    Parameters:
    context - the client's execution context
    hTask - handle of the task
    Returns:
    handle of the parent project
    Throws:
    InvalidHandleException - the specified task handle is invalid
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update a workflow task (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for the workflow task (unchecked)

    listPossibleMemberRolesForTask

    java.util.List listPossibleMemberRolesForTask(IExecutionContext context,
                                                  Handle hTask)
                                                  throws InvalidHandleException
    Parameters:
    context - the clients execution context
    hTask - handle of the task. Throws InvalidHandleException if the handle doesnt refer to a task or the task does not exist.
    Returns:
    A List of zero or more member roles; each list element will be of type Integer.
    Throws:
    InvalidHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list workflow tasks (unchecked)
    DataException - problems encountered accessing data (unchecked)

    listPossibleMembersForTask

    java.util.List listPossibleMembersForTask(IExecutionContext context,
                                              Handle hTask)
                                              throws InvalidHandleException
    Parameters:
    context - the clients execution context
    hTask - handle of the task. Throws InvalidHandleException if the handle doesnt refer to a task or the task does not exist.
    Returns:
    A List of zero or more users and/or teams; each list element will be of type PlanUserHandle or PlanTeamHandle.
    Throws:
    InvalidHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list workflow tasks (unchecked)
    DataException - problems encountered accessing data (unchecked)

    listPossibleReviewerRolesForTask

    java.util.List listPossibleReviewerRolesForTask(IExecutionContext context,
                                                    Handle hTask)
                                                    throws InvalidHandleException
    Parameters:
    context - the clients execution context
    hTask - handle of the task. Throws InvalidHandleException if the handle doesnt refer to a task or the task does not exist.
    Returns:
    A List of zero or more reviwer roles; each list element will be of type Integer.
    Throws:
    InvalidHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list workflow tasks (unchecked)
    DataException - problems encountered accessing data (unchecked)

    listPossibleReviewersForTask

    java.util.List listPossibleReviewersForTask(IExecutionContext context,
                                                Handle hTask)
                                                throws InvalidHandleException
    Parameters:
    context - the clients execution context
    hTask - handle of the task. Throws InvalidHandleException if the handle doesnt refer to a task or the task does not exist.
    Returns:
    A List of zero or more users; each list element will be of type Handle.
    Throws:
    InvalidHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list workflow tasks (unchecked)
    DataException - problems encountered accessing data (unchecked)

    listWorkflowTasksForUser

    java.util.List listWorkflowTasksForUser(IExecutionContext context,
                                            Handle hUser)
                                            throws InvalidHandleException
    Parameters:
    context - the clients execution context
    hUser - handle of the user. Throws InvalidHandleException if the handle doesnt refer to a user or a team.
    Returns:
    A List of zero or more matched tasks; each list element will be of type Handle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a user or team or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list workflow tasks (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException

    listWorkflowTasksForProject

    java.util.List listWorkflowTasksForProject(IExecutionContext context,
                                               Handle hProject)
                                               throws InvalidHandleException
    Parameters:
    context - the clients execution context
    hProject - handle of the project. Throws InvalidHandleException if the handle doesnt refer to a project or the project doesn't exist.
    Returns:
    A List of zero or more matched tasks; each list element will be of type Handle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a project or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list workflow tasks (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException

    dateRipplingForWorkflowTasks

    void dateRipplingForWorkflowTasks(IExecutionContext context,
                                      Handle handle,
                                      AttributeMap attributeMap)
                                      throws InvalidHandleException,
                                             AttributeNotFoundException,
                                             InvalidAttributeException,
                                             NotLockedException
    Do date rippling for the Project Workflow. Either acutal or forecast of all tasks in the given Project Workflow will be updated based on the second argument, a Workflow Task handle.

    In all cases, the attribute update is subject to the usual security constraints and validation. Its the clients responsibility to determine which standard and custom attributes are required by a particular object instance, the correct types, etc.

    Parameters:
    context - the client execution context
    handle - handle of a Workflow Task
    attributeMap - map of attributes to be updated. Either @see IPlanAPI.DATE_RIPPLING_ATTRIBUTE_ACTUAL_DATES
    Throws:
    InvalidHandleException - the specified handle is invalid
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update one or more object attributes (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for object (unchecked)
    AttributeNotFoundException
    InvalidAttributeException

    createMarketingObject

    Handle createMarketingObject(IExecutionContext context,
                                 java.lang.String templateType,
                                 java.lang.String templateName,
                                 AttributeMap attributeMap)
                                 throws TemplateTypeNotFoundException,
                                        TemplateNotFoundException,
                                        InvalidAttributeException
    Create a new marketing object component from the named template, applying the specified attributes and user information from the execution context. One or more default grids will be created implicitly if defined by the specified template.

    Parameters:
    context - the clients execution context
    templateType - the name of the template type to use to create this marketing object.
    templateName - the name of the template to use to create this marketing object. The named template must exist on the server and the client must have read permissions for that instance. The template provides, among other things, the definition of required and optional attributes. Throws TemplateNotFoundException if the named template could not be found.
    attributeMap - map of attributes to update and/or add. Any supplied attributes will overwrite the default values derived from the marketing objects template; others are left untouched. Its up to the client to determine the attributes required by the template, their types, etc.
    Returns:
    Handle of the created marketing object.
    Throws:
    TemplateTypeNotFoundException - the specified template type doesn't exist
    TemplateNotFoundException - the specified template doesn't exist
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to create marketing objects or read their templates (unchecked)
    DataException - problems encountered accessing data (unchecked)

    listMarketingObjects

    java.util.List listMarketingObjects(IExecutionContext context,
                                        AttributeMap attributeMap)
                                        throws InvalidAttributeException
    Lists all the marketing objects whose attributes match those specified; only marketing objects that the client has read permissions for are considered.

    Once retrieved, each handle can be used to interrogate the marketing object further, e.g., read or update its attributes via the attribute APIs, link to a project or other marketing object, etc.

    Note, this API is intended as a simple way for a client to use server-side discovery to identify marketing objects of interest; more complicated discovery can be done by combining this API with client-side attribute processing.

    Parameters:
    context - the clients execution context
    attributeMap - optional map of attributes to match. Match logic is similar to the ListProjects() API, above. If the attributeMap parameter is not specified, all current marketing objects are returned. WARNING: this list could be very large.
    Returns:
    A list of zero or more matched marketing objects; each list element will be of type Handle.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list marketing objects (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), updateAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap), findMarketingObjectByAttribute(com.unica.publicapi.plan.api.IExecutionContext, java.lang.String, java.lang.String, java.lang.Object[])

    findMarketingObjectByAttribute

    Handle findMarketingObjectByAttribute(IExecutionContext context,
                                          java.lang.String type,
                                          java.lang.String moAttributeName,
                                          java.lang.Object[] moAttributeValues)
                                          throws InvalidAttributeException,
                                                 MultipleItemsFoundException
    Finds the marketing object that matches the supplied attribute.

    Convenience API; similar to listMarketingObjects() using a single attribute whose name and value are the same as the parameters above, except only one marketing object is returned.

    Parameters:
    context - the clients execution context
    type - a string defining the type of marketing object, e.g., "creatives"
    moAttributeName - name of marketing object attribute to match against
    moAttributeValues - array of marketing object attribute values to match against (all must match).
    Returns:
    Handle of the matched marketing object or null if no object matched. If more than one object matches, i.e., the attribute is not unique, a MultipleItemsFoundException is thrown. Use listMarketingObjects() if this policy doesnt suit your needs.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    MultipleItemsFoundException - more than one marketing object matched the attribute(s) specified
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list marketing object (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    listMarketingObjects(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.AttributeMap)

    listMarketingObjectGrids

    java.util.List listMarketingObjectGrids(IExecutionContext context,
                                            Handle hMarketingObject)
                                            throws InvalidHandleException
    Lists the grids bound to the specified marketing object, if defined.

    Parameters:
    context - the clients execution context
    hMarketingObject - handle of an existing marketing object containing desired grid(s). Throws InvalidHandleException if the marketing object does not exist or the handle is invalid.
    Returns:
    A list of zero or more grids; each list element will be of type Handle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a marketing object or is corrupt
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list marketing object grids (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), listGridRows(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap)

    transitionMarketingObjectStateByHandle

    void transitionMarketingObjectStateByHandle(IExecutionContext context,
                                                Handle hMarketingObject,
                                                java.lang.String state,
                                                java.lang.String comments)
                                                throws InvalidStateTransitionException,
                                                       InvalidAttributeException,
                                                       InvalidHandleException
    Transition a supplied Marketing Object's state to the new state. Marketing Object state is defined in the globalstates.xml. The "id" attribute is considered a valid state

    Parameters:
    context - the clients execution context
    hMarketingObject - a valid Marketing Object handle
    state - the new marketing object state to transition to. An InvalidStateTransitionException is thrown if the state transition is not allowed or the state is not a valid state
    comments - the comments for the state transition which are sent by Notification Service
    Throws:
    InvalidStateTransitionException - the specified state transition is invalid given the current marketing object state
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidHandleException - the specified handle is invalid
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update the object attribute (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for object (unchecked)

    appendGridRow

    Handle appendGridRow(IExecutionContext context,
                         Handle hGrid,
                         AttributeMap rowAttributeMap)
                         throws InvalidHandleException,
                                InvalidAttributeException
    Append a new grid row to the specified object, applying the supplied grid row attributes. The parent grid must already exist.

    Parameters:
    context - the clients execution context
    hGrid - handle to an existing grid object to be updated
    rowAttributeMap - map of attributes (columns) to update and/or add to the new grid row. These attributes will overwrite any default values derived from the grid's template. Note, there are no standard grid row attributes--it's the clients responsibility to determine which attributes are required, proper date types, etc.
    Returns:
    handle to the created grid row
    Throws:
    InvalidHandleException - the specified grid handle is invalid
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-values, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update one or more object attributes (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for the parent grid object (unchecked)

    deleteGridRow

    void deleteGridRow(IExecutionContext context,
                       Handle hGridRow)
                       throws InvalidHandleException
    Delete an existing grid row.

    Parameters:
    context - the clients execution context
    hGridRow - handle to an existing grid row to be updated
    Throws:
    InvalidHandleException - the specified grid row handle is invalid
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update one or more object attributes (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for the parent grid object (unchecked)

    listGridRows

    java.util.List listGridRows(IExecutionContext context,
                                Handle hGrid,
                                AttributeMap rowAttributeMap)
                                throws InvalidHandleException,
                                       InvalidAttributeException
    Lists all the grid rows whose attributes match those specified for the object; only grids that the client has read permissions for are considered. Once retrieved, each grid row handle can be used to read or update its attributes (columns) via the attribute APIs.

    Note, this API is intended as a simple way for a client to use server-side discovery to identify grid data of interest; more complicated discovery can be done by combining this API with client-side attribute processing.

    Parameters:
    context - the clients execution context
    hGrid - handle of the parent grid object. Throws InvalidHandleException if the handle doesnt refer to a grid object or the grid doesnt exist.
    rowAttributeMap - optional map of grid row attributes to match. If this parameter is not specified, all rows currently bound to the parent grid object are returned.
    Returns:
    list of zero or more matched rows; each list element will be of type Handle.
    Throws:
    IllegalHandleException - the specified handle does not refer to a grid, the grid does not exist, or the handle is corrupt
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list grid rows (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), updateAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap)

    getXrefByMarketingObject

    java.util.Map getXrefByMarketingObject(IExecutionContext context,
                                           Handle hMarketingObject)
                                           throws InvalidHandleException
    List all of the cross references regarding with this Marketing Object. There are five types of cross references on Marketing Object:
  • XREF_MO_REF_BY_MO - Marketing Objects that are referenced by a given Marketing Object handle
  • XREF_MO_REF_TO_MO - Marketing Objects reference to a give Marketing Object handle
  • XREF_PROJECTS_MODIFIY_MO - Projects modify a given Marketing Object handle
  • XREF_PROJECTS_REF_TO_MO - Projects reference to a given Marketing Object handle
  • XREF_APPROVALS_REF_TO_MO - Approvals reference to a given Marketing Object handle


    The available cross reference types are returned as a map object. Each cross reference type maps to a list of object handles. The list can be null if there are no corresponding objects.


    In order to retrieve the object handles, this is an example code,

          Map map = getXrefByMarketingObject(context, hMarketingObject);
          List moList = map.get(IPlanAPI.XREF_MO_REF_BY_MO);
          if (moList != null) // the list can be null
          {
              Iterator iterator = moList.iterator();
              while (iterator.hasNext())
              {
                  Handle moHandle = (Handle) iterator.next();
                  ...
              }
          }
     

    Parameters:
    context - the clients execution context
    hMarketingObject - handle of an existing marketing object containing desired cross references. Throws InvalidHandleException if the marketing object does not exist or the handle is invalid.
    Returns:
    A map consisting of five types of cross references is returned. Each type of cross references maps to a list of object handles.
    Throws:
    InvalidHandleException - the specified Marketing Object handle is invalid

  • getXrefByProject

    java.util.Map getXrefByProject(IExecutionContext context,
                                   Handle hProject)
                                   throws InvalidHandleException
    List all of the cross references regarding with this Project. There are only two types of cross references on Project:
  • XREF_MO_MOD_BY_PROJECT - Marketing Objects that are modified by a given Project handle
  • XREF_MO_REF_BY_PROJECT - Marketing Objects that are referred by a given Project handle


    The available cross reference types are returned as a map object. Each cross reference type maps to a list of object handles. The list can be null if there are no corresponding objects.


    In order to retrieve the object handles, this is an example code,

          Map map = getXrefByProject(context, hProject);
          List moList = map.get(IPlanAPI.XREF_MO_MOD_BY_PROJECT);
          if (moList != null)  // the list can be null
          {
              Iterator iterator = moList.iterator();
              while (iterator.hasNext())
              {
                  Handle moHandle = (Handle) iterator.next();
                  ...
              }
          }
     

    Parameters:
    context - the clients execution context
    hProject - handle of an existing project containing desired cross references. Throws InvalidHandleException if the project does not exist or the handle is invalid.
    Returns:
    A map consisting of two types of cross references is returned. Each type of cross references maps to a list of object handles.
    Throws:
    InvalidHandleException - the specified Project handle is invalid

  • listApprovals

    java.util.List listApprovals(IExecutionContext context,
                                 AttributeMap attributeMap)
                                 throws InvalidAttributeException
    Lists all approvals whose attributes match those specified. Only approvals that the client has read permissions are considered. Once retrieved, each handle can be used to interrogate the approvals further, e.g., state transition update its attributes via the attribute.

    Note, this API is intended as a simple way for a client to use server-side discovery to identify approvals of interest; more complicated discovery can be done by combining this API with client-side attribute processing.

    Parameters:
    context - the clients execution context
    attributeMap - optional map of attributes to match. The implied boolean operator is AND. The match algorithm works as follows:
    • determine the list of all approvals
    • for each project, evaluate if all query attributes match:
      • for each supplied query attribute:
        • if the query attribute is equal to a project attribute, continue to next attribute (Equal in this context means name & typeEnum are identical and contents of values fields are type equivalent.
        • else no match (including attribute doesnt exist) => skip to next project
      • if all query attributes matched, add project handle to match list
    • return array of handles of matched approvals

    If the attributeMap parameter is not specified, all current approvals that the client has read security permissions for are returned. Throws InvalidAttributeException if one or more of the query attributes is invalid (e.g., empty map, an attribute has the wrong type, etc.).

    Returns:
    A list of zero or more matched approvals; each list element will be of type Handle.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list approvals (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), updateAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap), findApprovalByAttribute(com.unica.publicapi.plan.api.IExecutionContext, java.lang.String, java.lang.Object[])

    findApprovalByAttribute

    Handle findApprovalByAttribute(IExecutionContext context,
                                   java.lang.String ApprovalAttributeName,
                                   java.lang.Object[] ApprovalAttributeValues)
                                   throws InvalidAttributeException,
                                          MultipleItemsFoundException
    Find the Approval object that matches the supplied attributes.

    Convenience API; similar to listApprovals() using a single attribute whose name and value are the same as the parameters above, except only one marketing object is returned.

    Parameters:
    context - the clients execution context
    ApprovalAttributeName - name of approval attribute to match against
    ApprovalAttributeValues - array of approval attribute values to match against (all must match).
    Returns:
    Handle of the matched approvals or null if no object matched. If more than one object matches, i.e., the attribute is not unique, a MultipleItemsFoundException is thrown. Use listApprovals() if this policy doesnt suit your needs.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    MultipleItemsFoundException - more than one approvals matched the attribute(s) specified
    InvalidExecutionContextException - the specified execution context is invalid (unchecked exception)
    AuthorizationException - the user bound to the client execution context is not authorized to list approvals (unchecked exception)
    DataException - problems encountered accessing data (unchecked exception)
    See Also:
    listApprovals(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.AttributeMap)

    createApproval

    Handle createApproval(IExecutionContext context,
                          AttributeMap attributeMap)
                          throws InvalidAttributeException
    Create a new approval component with specified attributes and user information from the execution context. The minimal required attributes are approval owner, approval subject and approvers.

    This method does not add the approval items. To add approval items, please use updateApprovalItems(IExecutionContext, Handle, Object[], String[])

    Parameters:
    context - the clients execution context.
    attributeMap - optional map of attributes to update and/or add. Any supplied attributes will overwrite the default values derived from the approvals template; others are left untouched. Its up to the client to determine the attributes required by the approval, their types, etc.
    Returns:
    handle of the created approval
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to create approvals or read their templates (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    updateApprovalItems(IExecutionContext, Handle, Object[], String[])

    transitionApprovalStateByHandle

    void transitionApprovalStateByHandle(IExecutionContext context,
                                         Handle hApproval,
                                         ApprovalStateEnum stateEnum,
                                         java.lang.String comments)
                                         throws InvalidHandleException,
                                                InvalidAttributeException,
                                                InvalidStateTransitionException
    Change the approval state of an existing approval to a new state. The handle of the existing approval is passed. The rules for the state transition of an approval should be aligned with Plan. If the state change is invalid, InvalidStateTransitionException is thrown.

    Parameters:
    context - the clients execution context
    handle - the handle of existing approval that is desired to change state
    stateEnum - a ApprovalStateEnum enumerated type of the new approval state to transition to (see uapStateEnum attribute definition). An InvalidStateTransitionException is thrown if the state transition is not allowed.
    comments - the comments for the state transition which are sent by Notification Service
    Throws:
    InvalidHandleException - the specified handle does not refer to a approval or is corrupt
    InvalidStateTransitionException - the specified state transition is invalid given the current approval state
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update the object attribute (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for object (unchecked)
    See Also:
    findApprovalByAttribute(com.unica.publicapi.plan.api.IExecutionContext, java.lang.String, java.lang.Object[]), updateAttribute(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, java.lang.String, java.lang.Object[])

    updateApprovalItems

    void updateApprovalItems(IExecutionContext context,
                             Handle hApproval,
                             java.lang.Object[] approvalItems,
                             java.lang.String[] instructions)
                             throws ApprovalNotFoundException,
                                    InvalidHandleException,
                                    InvalidItemException,
                                    java.io.IOException
    This method updates one or more approval item(s) within a single Approval object. The approval item can be any combination of the two types, Marketing Object handle, java.io.File object. Other than these two types, InvalidItemException is thrown. If the approvalItems exist, the existing items are updated to new version. If not, the items are newly added to Approval object

    The item instructions are passed as instructions parameter. The order of the instructions String array is consisting with the order of approvalItems Object array.

    Update the exiting items

    Since each approval item within an Approval object has item sequence, if one want to update particular approval items, one need to put the right item in the right place of the item array. For example, there is an Approval containing 3 items and the items are order as "MO1", "MO2", "File1". If one only wants to update item "File1", one needs to constructed an array as

      Object [] items = Object [] {null, null, new File("myFile.txt")};
      String [] instructions = new String [3];
      try
      {
          IPlanAPI.updateApprovalItems(context, hApproval, approvalItems, instructions);
      }catch(Exception e)
      {
          ...
      }
     
    The same manner applies when updating item instructions. if one want to update particular item instructions, one need to put right instructions in the right place of the instruction array. If there is no need to update items, one needs to provide an empty Object array with number of the items in size. For example, there is an Approval containing 3 items, one want to update the comments of the last 2 items, on needs to constructed the array as
      Object [] approvalItems = new Object [3];
      String [] instructions = new String [] {null, "comment2", "comment3"};
      ...
     

    Append additional items

    If one want to append new items in addition to the existing approval items, one need to provide the padding object in the item array. For example,

     File file1 = new File(myFile.txt);
     Object [] approvalItems = new Object [] {null, null, null, moHandle1, file1};
     ...
     
    By doing that, moHandle1 and file1 items are appended to the end of the exiting items.

    Update existing and append additional items

    If one want to update the exiting as well as append new items, one need to put updating items in the right order and put the new items at the end. Padding object is used if necessary. For example, there is 3 items Approval object. One want to update the first items and append two new items, one need to construct the array as

     File file1 = new File(myFile.txt);
     File newFile = new File("newFile.txt");
     Object [] approvalItems = new Object [] {newFile, null, null, moHandle, file1};
     String [] instructions = new String [] {"updated file", null, null,
                                      "new MO", "new file"};
     

    Parameters:
    context - context the clients execution context
    hApproval - handle the handle of existing approval that is desired to update its approval items
    approvalItems - any combination of Marketing Object handle, java.io.File object.
    instructions - the items instructions that corresponding to approval items.
    Throws:
    ApprovalNotFoundException - the desired approval object is not found
    InvalidItemException - - invalid item or invalid item type
    InvalidHandleException - the specified Approval handle is invalid
    java.io.IOException - - Approval items have file I/O execptions
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update the object attribute (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for object (unchecked)
    See Also:
    getApprovalItems(IExecutionContext, Handle), #deleteApprovalItem(IExecutionContext, Handle, Object)

    deleteApprovalItemByName

    void deleteApprovalItemByName(IExecutionContext context,
                                  Handle hApproval,
                                  java.lang.String itemName)
                                  throws ApprovalNotFoundException,
                                         InvalidHandleException,
                                         ItemNotFoundException
    Delete a single approval item within an Approval process. If the desired item is not found, ItemNotFoundException is thrown. If the two or more approval items have the duplicated name, the earlier item is deleted.

    Parameters:
    context - context the clients execution context
    hApproval - the handle of existing approval that is desired to delete its approval items
    itemName - - that name of an approval item that is desired to be deleted. If the item is Marketing object, it is the name of the Marketing Object. If the item is a file, it is the name of the file include the file extension name.
    Throws:
    ApprovalNotFoundException - - the desired approval object is not found
    ItemNotFoundException - - the desired item is not found
    InvalidHandleException - the specified Approval handle is invalid
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update the object attribute (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for object (unchecked)
    See Also:
    getApprovalItems(IExecutionContext, Handle), updateApprovalItems(IExecutionContext, Handle, Object[], String[])

    getApprovalItems

    java.lang.Object[] getApprovalItems(IExecutionContext context,
                                        Handle hApproval)
                                        throws ApprovalNotFoundException,
                                               InvalidHandleException
    Get all of the ordered approval items within an Approval object. The return is an object array of any combination of the two types, Marketing Object handle or java.io.File object. To distinguish the java object type, one needs to use instanceof. See the following example

     Object [] items = getApprovalItems(context, approval);
    
     for(int i = 0; i < items; i ++)
     {
         if(items[i] instanceof MarketingObjectHandle)
         {
              //do something...
         }else if(items[i] instanceof java.io.File)
         {
              //do something...
         }
     }
     
    If the return is null, it means the Approval object doesn't have any items.

    Parameters:
    context - context the clients execution context
    hApproval - handle the handle of existing approval that is desired to delete its approval items
    Returns:
    All approval items within an Approval object. If no items are found, null is returned.
    Throws:
    ApprovalNotFoundException - the desired approval object is not found
    InvalidHandleException - the specified Approval handle is invalid
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    updateApprovalItems(IExecutionContext, Handle, Object[], String[]), #deleteApprovalItem(IExecutionContext, Handle, Object)

    appendAttachment

    Handle appendAttachment(IExecutionContext context,
                            Handle hParent,
                            AttributeMap attachmentAttributes)
                            throws InvalidHandleException,
                                   InvalidAttributeException
    Parameters:
    context - the clients execution context
    hParent - handle to an existing project or marketing object to be updated
    attachmentAttributes - map of attributes to update and/or add to the new attachment.
    Returns:
    handle of the created attachment
    Throws:
    InvalidHandleException - the specified handle is invalid
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-values, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update one or more object attributes (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for the parent object (unchecked)

    listUsers

    java.util.List listUsers(IExecutionContext context,
                             AttributeMap attributes)
                             throws InvalidAttributeException
    Parameters:
    context - the clients execution context
    attributeMap - optional map of attributes to match. The implied boolean operator is AND. The match algorithm works as follows:
    • determine the list of all users
    • for each user, evaluate if all query attributes match:
      • for each supplied query attribute:
        • if the query attribute is equal to a user attribute, continue to next attribute (Equal in this context means name & typeEnum are identical and contents of values fields are type equivalent.
        • else no match (including attribute doesnt exist) => skip to next user
      • if all query attributes matched, add user handle to match list
    • return array of handles of matched users

    If the attributeMap parameter is not specified, all current users that have read security permissions for are returned. Throws InvalidAttributeException if one or more of the query attributes is invalid (e.g., empty map, an attribute has the wrong type, etc.).

    Returns:
    A list of zero or more matched users; each list element will be of type Handle.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list projects (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), updateAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap), #findUserByAttribute(IExecutionContext, String, Object)

    findUserByAttribute

    Handle findUserByAttribute(IExecutionContext context,
                               java.lang.String attributeName,
                               java.lang.Object[] attributeValues)
                               throws InvalidAttributeException,
                                      MultipleItemsFoundException
    Parameters:
    context - the clients execution context
    name - name of attribute to match against
    values - array of attribute values to match against (all specified values must match)
    Returns:
    The handle of the matched user or null if no user matched. If more than one user matches, i.e., the attribute is not unique, MultipleItemsFoundException is thrown. Use listTeams() if this policy doesnt suit your needs.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    MultipleItemsFoundException - more than one user matched the attribute(s) specified
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list users (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    listUsers(IExecutionContext, AttributeMap)

    listTeams

    java.util.List listTeams(IExecutionContext context,
                             AttributeMap attributes)
                             throws InvalidAttributeException
    Parameters:
    context - the clients execution context
    attributeMap - optional map of attributes to match. The implied boolean operator is AND. The match algorithm works as follows:
    • determine the list of all teams
    • for each team, evaluate if all query attributes match:
      • for each supplied query attribute:
        • if the query attribute is equal to a team attribute, continue to next attribute (Equal in this context means name & typeEnum are identical and contents of values fields are type equivalent.
        • else no match (including attribute doesnt exist) => skip to next team
      • if all query attributes matched, add team handle to match list
    • return array of handles of matched teams

    If the attributeMap parameter is not specified, all current teams that have read security permissions for are returned. Throws InvalidAttributeException if one or more of the query attributes is invalid (e.g., empty map, an attribute has the wrong type, etc.).

    Returns:
    A list of zero or more matched teams; each list element will be of type Handle.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the team bound to the client execution context is not authorized to list projects (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), updateAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap), findTeamByAttribute(IExecutionContext, String, Object)

    findTeamByAttribute

    Handle findTeamByAttribute(IExecutionContext context,
                               java.lang.String attributeName,
                               java.lang.Object attributeValue)
                               throws InvalidAttributeException,
                                      MultipleItemsFoundException
    Parameters:
    context - the clients execution context
    name - name of attribute to match against
    values - array of attribute values to match against (all specified values must match)
    Returns:
    The handle of the matched team or null if no team matched. If more than one team matches, i.e., the attribute is not unique, MultipleItemsFoundException is thrown. Use listTeams() if this policy doesnt suit your needs.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    MultipleItemsFoundException
    MultipleItemsFoundException - more than one team matched the attribute(s) specified
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the team bound to the client execution context is not authorized to list teams (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    listTeams(IExecutionContext, AttributeMap)

    getParentHandle

    Handle getParentHandle(IExecutionContext context,
                           Handle childHandle)
                           throws InvalidHandleException
    Returns the parent handle for a particular child handle. Supported modules: Tasks, Project Grids, Project Grid Rows, Marketing Object Grids, Marketing Object Grid Rows, Project Attachments, and Marketing Object Attachments.

    Parameters:
    context - the client's execution context
    childHandle - handle of the child
    Returns:
    handle of the parent For Tasks, this API returns a Project Handle For Project Grids/Grid Rows, this API returns a Project Handle For Marketing Object Grids/Grid Rows, this API returns a Marketing Object Handle For Project Attachment, this API returns a Project Handle For Marketing Object Attachment, this API returns a Marketing Object Handle
    Throws:
    InvalidHandleException - the specified child handle is invalid
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update a workflow task (unchecked)
    DataException - problems encountered accessing data (unchecked)

    createAsset

    Handle createAsset(IExecutionContext context,
                       Handle hAssetLibrary,
                       AttributeMap attributes)
                       throws InvalidAttributeException,
                              InvalidHandleException
    Parameters:
    context - the clients execution context
    hAssetLibrary - a handle of an asset library or an asset folder. A new Asset will be created within the asset library
    attributeMap - map of attributes to update and/or add. Any supplied attributes will overwrite the default values; others are left untouched. Its up to the client to determine the attributes
    Returns:
    Handle of the created asset object.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidHandleException - the specified asset library handle is invalid
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to create marketing objects or read their templates (unchecked)
    DataException - problems encountered accessing data (unchecked)

    listAssets

    java.util.List listAssets(IExecutionContext context,
                              Handle hAssetLibrary,
                              AttributeMap attributes)
                              throws InvalidHandleException,
                                     InvalidAttributeException
    Parameters:
    context - the clients execution context
    hAssetLibrary - a handle of an asset library or an asset folder. All returning assets will be within the asset library.
    attributeMap - optional map of attributes to match. The implied boolean operator is AND. The match algorithm works as follows:
    • determine the list of all assets within a given asset library
    • for each asset, evaluate if all query attributes match:
      • for each supplied query attribute:
        • if the query attribute is equal to a asset attribute, continue to next attribute (Equal in this context means name & typeEnum are identical and contents of values fields are type equivalent.
        • else no match (including attribute doesnt exist) => skip to next asset
      • if all query attributes matched, add asset handle to match list
    • return array of handles of matched assets

    If the attributeMap parameter is not specified, all current assets that are in the given asset library and the client has read security permissions for are returned. Throws InvalidAttributeException if one or more of the query attributes is invalid (e.g., empty map, an attribute has the wrong type, etc.).

    Returns:
    A list of zero or more matched assets; each list element will be of type Handle.
    Throws:
    InvalidHandleException - the specified asset library handle is invalid
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list projects (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), updateAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap), findAssetByAttribute(IExecutionContext, Handle, String, Object)

    listAssetFolders

    java.util.List listAssetFolders(IExecutionContext context,
                                    Handle hAssetLibrary,
                                    AttributeMap attributes)
                                    throws InvalidHandleException,
                                           InvalidAttributeException
    Throws:
    InvalidHandleException
    InvalidAttributeException

    findAssetByAttribute

    Handle findAssetByAttribute(IExecutionContext context,
                                Handle hAssetLibrary,
                                java.lang.String attributeName,
                                java.lang.Object attributeValue)
                                throws InvalidHandleException,
                                       InvalidAttributeException,
                                       MultipleItemsFoundException
    Parameters:
    context - the clients execution context
    name - name of attribute to match against
    values - array of attribute values to match against (all specified values must match)
    Returns:
    The handle of the matched asset or null if no asset matched. If more than one asset matches, i.e., the attribute is not unique, MultipleItemsFoundException is thrown. Use listAssets() if this policy doesnt suit your needs.
    Throws:
    InvalidHandleException - the specified asset library handle is invalid
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    MultipleItemsFoundException - more than one asset matched the attribute(s) specified
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list assets (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    listAssets(IExecutionContext, Handle, AttributeMap)

    deleteAsset

    void deleteAsset(IExecutionContext context,
                     Handle hAsset)
                     throws InvalidHandleException
    Parameters:
    context - the clients execution context
    hAsset - handle to an existing asset to be updated
    Throws:
    InvalidHandleException - the specified asset handle is invalid
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update one or more object attributes (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for the asset object (unchecked)

    transitionAssetStateByCode

    void transitionAssetStateByCode(IExecutionContext context,
                                    java.lang.String code,
                                    AssetStateEnum stateEnum,
                                    java.lang.String comments)
                                    throws AssetNotFoundException,
                                           MultipleItemsFoundException,
                                           InvalidStateTransitionException
    Parameters:
    context - the clients execution context
    code - unique asset code to match against (equivalent to value of code asset attribute). A AssetNotFoundException is thrown if no asset exists with that code. If more than one asset matches, i.e., the attribute is not unique, a MultipleItemsFoundException is thrown.
    stateEnum - a AssetStateEnum enumerated type of the new asset state to transition to (see uapStateEnum attribute definition). An InvalidStateTransitionException is thrown if the state transition is not allowed.
    comments - comments for this transition
    Throws:
    AssetNotFoundException - no asset was found for the specified code
    MultipleItemsFoundException - more than one asset matched the code specified
    InvalidStateTransitionException - the specified state transition is invalid given the current asset state
    AttributeNotFoundException - one or more specified attributes do no exist for the object instance
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-values, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to update the object attribute (unchecked)
    DataException - problems encountered accessing data (unchecked)
    NotLockedException - client did not acquire proper write locks for object (unchecked)
    See Also:
    findAssetByAttribute(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, java.lang.String, java.lang.Object), updateAttribute(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, java.lang.String, java.lang.Object[])

    listAssetLibraries

    java.util.List listAssetLibraries(IExecutionContext context,
                                      AttributeMap attributeMap)
                                      throws InvalidAttributeException
    Lists all asset libraries whose attributes match those specified; only asset libraries that the client has read permissions are considered. Once retrieved, each handle can be used to interrogate the asset library further, e.g., read or update its attributes via the attribute APIs, create an asset, update an asset, etc.

    Note, this API is intended as a simple way for a client to use server-side discovery to identify asset library of interest; more complicated discovery can be done by combining this API with client-side attribute processing.

    Parameters:
    context - the clients execution context
    attributeMap - optional map of attributes to match. The implied boolean operator is AND. The match algorithm works as follows:
    • determine the list of all asset libraries
    • for each asset library, evaluate if all query attributes match:
      • for each supplied query attribute:
        • if the query attribute is equal to a asset library attribute, continue to next attribute (Equal in this context means name & typeEnum are identical and contents of values fields are type equivalent.
        • else no match (including attribute doesnt exist) => skip to next asset library
      • if all query attributes matched, add asset library handle to match list
    • return array of handles of matched asset libraries

    If the attributeMap parameter is not specified, all current asset libraries that have read security permissions for are returned. Throws InvalidAttributeException if one or more of the query attributes is invalid (e.g., empty map, an attribute has the wrong type, etc.).

    Returns:
    A list of zero or more matched asset libraries; each list element will be of type Handle.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list projects (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    getAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle), updateAttributes(com.unica.publicapi.plan.api.IExecutionContext, com.unica.publicapi.plan.api.Handle, com.unica.publicapi.plan.api.AttributeMap), findAssetLibraryByAttribute(IExecutionContext, String, Object)

    findAssetLibraryByAttribute

    Handle findAssetLibraryByAttribute(IExecutionContext context,
                                       java.lang.String attributeName,
                                       java.lang.Object attributeValue)
                                       throws InvalidAttributeException,
                                              MultipleItemsFoundException
    Finds an asset library that matches the supplied attribute.

    Convenience API; similar to listAssetLibraries(), using a single attribute whose name and value are the same as the parameters above, except only one asset is returned.

    Parameters:
    context - the clients execution context
    name - name of attribute to match against
    values - array of attribute values to match against (all specified values must match)
    Returns:
    The handle of the matched asset library or null if no asset library matched. If more than one asset library matches, i.e., the attribute is not unique, MultipleItemsFoundException is thrown. Use listAssetLibraries() if this policy doesnt suit your needs.
    Throws:
    InvalidAttributeException
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    MultipleItemsFoundException - more than one asset libraries matched the attribute(s) specified
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to list asset libraries (unchecked)
    DataException - problems encountered accessing data (unchecked)
    See Also:
    listAssetLibraries(IExecutionContext, AttributeMap)

    createAssetFolder

    Handle createAssetFolder(IExecutionContext context,
                             Handle parentHandle,
                             AttributeMap attributeMap)
                             throws InvalidAttributeException,
                                    InvalidHandleException
    Parameters:
    context - the clients execution context
    parentHandle - the folder's parent handle. It could be an @link AssetLibraryHandle or @link AssetFolderHandle
    attributeMap - map of attributes to update and/or add. Any supplied attributes will overwrite the default values; others are left untouched. Its up to the client to determine the attributes.
    Returns:
    Handle of the created asset folder object.
    Throws:
    InvalidAttributeException - one or more specified attributes is invalid, e.g., incorrect type, not multi-valued, etc.
    InvalidExecutionContextException - the specified execution context is invalid (unchecked)
    AuthorizationException - the user bound to the client execution context is not authorized to create marketing objects or read their templates (unchecked)
    DataException - problems encountered accessing data (unchecked)
    InvalidHandleException

    getProjectBudget

    AttributeMap getProjectBudget(IExecutionContext context,
                                  Handle handle,
                                  AttributeMap attributeMap)
                                  throws InvalidHandleException,
                                         InvalidAttributeException
    Parameters:
    context: - API execution context
    handle: - Must be a valid project handle
    attributeMap: - Parameter to determine type of budget

    attributeMap must contain key IPlanAPI.PROJECT_BUDGET_TYPE. Value for this key should be one of the following:

    • BudgetTypeEnum.TOTAL : Give this value if project total is required
    • BudgetTypeEnum.FORECAST: Give this value if project forecast total is required
    • BudgetTypeEnum.COMMITTED: Give this value if life of project committed total is required
    • BudgetTypeEnum.ACTUAL: Give this value if life of project actual total is required
    • BudgetTypeEnum.ALLOCATED: Give this value if life of project allocations total is required

    attributeMap must contain key IPlanAPI.PROJECT_BUDGET_PERIOD Parameter to determine period of budget total. Value for this key should be one of the following:

    • BudgetPeriodEnum.ALL : Give this value if life of object total is required i.e. total displayed in total view of budget tab
    • BudgetPeriodEnum.YEARLY: Give this value if year total is required i.e. total displayed in detailed view of budget tab
    • BudgetPeriodEnum.QUARTERLY: Give this value if quarterly total is required i.e. total displayed in detailed view of budget tab
    • BudgetPeriodEnum.MONTHLY: Give this value if monthly total is required i.e. total displayed in detailed view of budget tab
    • BudgetPeriodEnum.WEEKLY: Give this value if weekly total is required i.e. total displayed in detailed view of budget tab
    For budget period other than BudgetPeriodEnum.ALL user need to provide year in attributeMap with key IPlanAPI.PROJECT_BUDGET_YEAR

    For budget period BudgetPeriodEnum.QUARTERLY, user may provide optional quarter value with IPlanAPI.PROJECT_BUDGET_QUARTER key in attributeMap and QuarterEnum instance for required quarter as the value. e.g. QuarterEnum.Q1, QuarterEnum.Q2, etc. If IPlanAPI.PROJECT_BUDGET_QUARTER is not specified then returned attribute map will contain all four quarter's information as specified in Returns section.

    For budget period BudgetPeriodEnum.MONTHLY, user may provide optional month value with IPlanAPI.PROJECT_BUDGET_MONTH key in attributeMap and MonthEnum instance for required month as the value. e.g. MonthEnum.JANUARY, MonthEnum.FEBRUARY, etc. If IPlanAPI.PROJECT_BUDGET_MONTH is not specified then returned attribute map will contain all twelve month's information as specified in Returns section.

    For budget period BudgetPeriodEnum.WEEKLY, user may provide optional week value with IPlanAPI.PROJECT_BUDGET_WEEK key in attributeMap and WeekEnum instance for required week as the value. e.g. WeekEnum.WEEK_1, WeekEnum.WEEK_2, etc. If IPlanAPI.PROJECT_BUDGET_WEEK is not specified then returned attribute map will contain all 53 week's information as specified in Returns section.

    Returns:
    Returned AttributeMap will contain one entry with key ${Provided BudgetTypeEnum}.name().{Provided BudgetPeriodEnum}.name().IPlanAPI.PROJECT_BUDGET_TOTAL� and value in double format for BudgetPeriodEnum.ALL and BudgetPeriodEnum.YEARLY or if appropriate period value (quarter, month or week) is specified for other budget periods

    For budget period BudgetPeriodEnum.QUARTERLY, BudgetPeriodEnum.MONTHLY or BudgetPeriodEnum.WEEKLY, if no appropriate period value is specified then returned attribute map will contain all entries as applicable for specified budget period with key as follows

    • {Provided BudgetTypeEnum}.name().{Provided QuarterEnum}.name().IPlanAPI.PROJECT_BUDGET_TOTAL for project with quarterly budget granularity
    • {Provided BudgetTypeEnum}.name().{Provided MonthEnum}.name().IPlanAPI.PROJECT_BUDGET_TOTAL for project with monthly budget granularity
    • {Provided BudgetTypeEnum}.name().{Provided WeekEnum}.name().IPlanAPI.PROJECT_BUDGET_TOTAL for project with weekly budget granularity
    Throws:
    Throws:
    InvalidHandleException: - if handle provided is not a valid project handle
    InvalidAttributeException: - If parameters in attributeMap are invalid or budget period specified do not matches project budget granularity
    InvalidHandleException
    InvalidAttributeException

    createInvoice

    Handle createInvoice(IExecutionContext context,
                         AttributeMap attributeMap)
                         throws InvalidAttributeException,
                                AuthorizationException
    API to create new Invoice in Plan

    Parameters:
    context - API execution context
    attributeMap -

    attribute map must contain following parameters

    • IPlanAPI.INVOICE_NUMBER: Value for this key must be string array and should not be blank
    • IPlanAPI.INVOICE_VENDOR_CODE: Value for this key must be code of the valid vendor defined in plan, if specified vender does not exist in plan then InvalidAttributeException will be thrown as described in Throws section
    • IPlanAPI.INVOICE_OWNER: Value for this key must be valid plan user handle
    • IPlanAPI.INVOICE_SECURITY_POLICY: Value for this key must be name of the valid security policy defined in plan, if specified security policy does not exist in plan then InvalidAttributeException will be thrown as described in Throws section

    attributeMap can contain following optional parameters

    • IPlanAPI.INVOICE_PURCHASE_ORDER_NUMBER: Value for this key must be String array
    • IPlanAPI.INVOICE_DATE: Value for this key must be Date array
    • IPlanAPI.INVOICE_DUE_DATE: Value for this key must be Date array
    • IPlanAPI.INVOICE_NOTES: Value for this key must be String array
    • IPlanAPI.INVOICE_PAYMENT_TERMS: Value for this key must be String array

    attributeMap can also contain attributes defined in custom tabs
    Returns:
    handle of the created invoice
    Throws:
    InvalidAttributeException - If parameters specified in attributeMap are not valid
    AuthorizationException - the user bound to the client execution context is not authorized to create invoice
    Since:
    7.5.0.1

    findInvoiceByNumberAndVendor

    Handle findInvoiceByNumberAndVendor(IExecutionContext context,
                                        java.lang.String invoiceNumber,
                                        java.lang.String vendorCode)
                                        throws InvalidAttributeException
    API to find invoice by number and vendor code

    Parameters:
    context - API execution context
    invoiceNumber - Invoice number to find
    vendorCode - vendor Code to find
    Returns:
    handle of Invoice if found else null
    Throws:
    InvalidAttributeException - if invalid invoice number or vendor code is specified
    Since:
    7.5.0.1

    listInvoices

    java.util.List listInvoices(IExecutionContext context)
    API to list all available invoices

    Parameters:
    context - API execution context
    Returns:
    List of invoice handles, if no invoice found then list size will be zero
    Since:
    7.5.0.1

    addInvoiceLineItem

    Handle addInvoiceLineItem(IExecutionContext context,
                              Handle handle,
                              AttributeMap attributeMap)
                              throws InvalidHandleException,
                                     InvalidAttributeException
    API to add new line item in invoice

    Parameters:
    context: - API execution context
    handle: - Must be a valid invoice handle
    AttributeMap, - attribute map must contain following parameters
    • IPlanAPI.INVOICE_LINE_ITEM_DESCRIPTION: Value for this key must be array of String and should not be blank
    • IPlanAPI.INVOICE_LINE_ITEM_SOURCE_PLAN_OBJECT_ID: Value for this key must be valid id for project or program in Integer array format
    attributeMap can contain following optional parameters
    • IPlanAPI.INVOICE_LINE_ITEM_SOURCE_ACCOUNT: Value for this key must be valid account handle array
    • IPlanAPI.INVOICE_LINE_ITEM_COST_CATEGORY: Value for this key will be code of the cost category
    • IPlanAPI.INVOICE_LINE_ITEM_COST_PER_UNIT: Value for this key must be valid double array
    • IPlanAPI.INVOICE_LINE_ITEM_QUANTITY:Value for this key must be valid integer array
    • IPlanAPI.INVOICE_LINE_ITEM_COST: Value for this key must be valid double array
    Returns:
    handle of the created invoice line item
    Throws:
    InvalidHandleException: - if handle provided is not a valid invoice handle
    InvalidAttributeException: - If parameters specified are not valid
    InvalidHandleException
    InvalidAttributeException
    Since:
    7.5.0.1

    deleteInvoiceLineItem

    void deleteInvoiceLineItem(IExecutionContext context,
                               Handle hInvoiceLineItem)
                               throws InvalidHandleException,
                                      InvalidAttributeException
    Use this API to delete a invoice line item

    Parameters:
    context - API execution context
    hInvoiceLineItem - Must be a valid invoice line item handle
    Throws:
    InvalidHandleException - If handle provided is not a valid invoice line item handle or parent invoice is not in draft state
    InvalidAttributeException - If line item is linked to any rule driven approval in In Progress state

    listInvoiceLineItems

    java.util.List listInvoiceLineItems(IExecutionContext context,
                                        Handle handle)
                                        throws InvalidHandleException
    API to list all line items of an Invoice

    Parameters:
    context: - API execution context
    handle: - Must be a valid invoice handle
    Throws:
    InvalidHandleException, - if handle is invalid
    InvalidHandleException
    Since:
    7.5.0.1

    transitionInvoiceState

    void transitionInvoiceState(IExecutionContext context,
                                Handle handle,
                                InvoiceStateEnum stateEnum,
                                AttributeMap attributeMap)
                                throws InvalidHandleException,
                                       InvalidStateTransitionException,
                                       InvalidAttributeException
    API to update state of the Invoice

    Parameters:
    context: - API execution context
    handle: - Must be a valid invoice handle
    stateEnum: - InvoiceStateEnum enumerated type of the new invoice state to transition to. An InvalidStateTransitionException is thrown if the state transition is not allowed.
    attributeMap: - must contain following key with string array as value IPlanAPI.INVOICE_STATE_TRANSITION_COMMENT If state is changed to PAID then attributeMap must contain following key with Calendar array IPLANAPI.INVOICE_PAID_DATE
    Throws:
    InvalidHandleException - if handle is not a valid invoice handle
    InvalidStateTransitionException - the specified state transition is invalid given the current project state
    InvalidAttributeException
    Since:
    UMO 8.5, If invoice has any line items, which will trigger rule driven approval then transition to PAYABLE state requires following additional attributes IPLANAPI.APPROVAL_ATTRIBUTE_TARGETDUEDATE, 7.5.0.1

    createFinancialAccount

    Handle createFinancialAccount(IExecutionContext context,
                                  AttributeMap attributeMap)
                                  throws InvalidHandleException,
                                         InvalidAttributeException
    API to create new financial account. This API creates account without budget information. Use updateFinancialAccountBudget API to update budget information for account.

    Parameters:
    context - API execution context
    attributeMap - attributeMap must contain following key value pair
    • IPLANAPI.FINANCIAL_ACCOUNT_NAME: name of the account, array of one String value
    • IPLANAPI.FINANCIAL_ACCOUNT_TEAM_MEMBERS: Array of user handles
    • IPLANAPI.FINANCIAL_ACCOUNT_NUMBER: number of the account, array of one String value
    • IPLANAPI.FINANCIAL_ACCOUNT_SECURITY_POLICY: name of the security policy assigned to this account, array of one String value
    attributeMap can contain following optional key value pair
    • IPLANAPI.FINANCIAL_ACCOUNT_DESCRIPTION: Description for account, array of one String value
    • IPLANAPI.FINANCIAL_ACCOUNT_SOURCE_ACCOUNT: Source account, if specified then newly created account will be child account of the source account otherwise newly created account will be top level account, array of one financial account handle
    Returns:
    handle of newly created financial account
    Throws:
    InvalidHandleException, - if sourceAccount handle is specified and not a valid financial account
    InvalidAttributeException - if attributes specified in attributeMap is/are invalid
    InvalidHandleException
    Since:
    7.5.0.1

    enableFinancialAccount

    void enableFinancialAccount(IExecutionContext context,
                                Handle handle)
                                throws InvalidHandleException,
                                       InvalidStateTransitionException
    API to enable financial account

    Parameters:
    context - API execution context
    handle - Must be a valid account handle.
    Throws:
    InvalidHandleException - if handle is not a valid account handle
    InvalidStateTransitionException - the enabling account is not valid
    Since:
    7.5.0.1

    disableFinancialAccount

    void disableFinancialAccount(IExecutionContext context,
                                 Handle handle)
                                 throws InvalidHandleException,
                                        InvalidStateTransitionException
    API to disable financial account

    Parameters:
    context - API execution context
    handle - Must be a valid account handle.
    Throws:
    InvalidHandleException - if handle is not a valid account handle
    InvalidStateTransitionException - the disabling account is not valid
    Since:
    7.5.0.1

    listFinancialAccounts

    java.util.List listFinancialAccounts(IExecutionContext context,
                                         boolean includeDisabled)
    API to list financial Account

    Parameters:
    context - API execution context
    includeDisabled - set this flag to get disabled accounts in list
    Returns:
    List of account handles, If found none then list size will be zero
    Since:
    7.5.0.1

    findFinancialAccountByNumber

    Handle findFinancialAccountByNumber(IExecutionContext context,
                                        java.lang.String accountNumber)
                                        throws InvalidAttributeException
    API to find financial account by account number

    Parameters:
    context - API execution context
    accountNumber - account number
    Returns:
    handle of the account if found else Null
    Throws:
    InvalidAttributeException - if invalid account number is specified
    Since:
    7.5.0.1

    updateFinancialAccountBudget

    void updateFinancialAccountBudget(IExecutionContext context,
                                      Handle sourceAccount,
                                      int fiscalYear,
                                      AttributeMap attributeMap)
                                      throws InvalidHandleException,
                                             InvalidAttributeException
    API to update account budget information in one call you can update budget information for one financial year

    Parameters:
    context: - API execution context
    sourceAccount: - Must be a valid account handle.
    fiscalYear: - Financial year (in yyyy format) for which budget needs to be updated
    attributeMap: - AttributeMap must contain at least one key from the following list and value must be valid double value
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JAN
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_FEB
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAR
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_APR
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAY
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUN
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUL
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_AUG
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_SEP
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_OCT
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_NOV
  • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_DEC
  • Throws:
    InvalidHandleException - if handle is not a valid account handle
    InvalidAttributeException - the specified attributes are not valid
    Since:
    7.5.0.1

    getFinancialAccountBudget

    AttributeMap getFinancialAccountBudget(IExecutionContext context,
                                           Handle handle,
                                           AttributeMap attributeMap)
                                           throws InvalidHandleException,
                                                  InvalidAttributeException
    Use this API to get financial account budget information

    Parameters:
    context: - API execution context
    handle: - handle of financial account
    attributeMap: -

    attribute Map must contain following key values

    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_YEAR: value for this key must be valid year (format yyyy) for which budget information is required
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_TYPE: Following are the valid values for this key
      • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_ALLOTTED: To get allotted Budget
      • IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_FORECAST: To get forecast budget
      • IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_AVAILABLE: To get available budget
      • IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_COMMITTED: To get committed budget
      • IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_UNCOMMITTED: To get un-committed budget
      • IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_ACTUAL: To get actual budget
      • IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_REMAINING: To get remaining budget
      • IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_ALL: To get all budget information i.e. Budget allotted, Forecast, Available, Committed, Uncommitted, Actual and Remaining

    Returns:
    attributeMap:

    If IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_ALLOTTED was selected while calling this API then returned attributeMap will contain IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_ALLOTTED as key and attributemap as value. AttributeMap returned in value will have following keys with values in double format representing allotted budget

    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JAN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_FEB
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_APR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAY
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUL
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_AUG
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_SEP
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_OCT
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_NOV
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q1
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q2
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q3
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q4
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_TOTAL

    If IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_ FORECAST was selected while calling this API then returned attributeMap will contain IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_ FORECAST as key and attributemap as value. AttributeMap returned in value will have following keys with values in double format representing allotted budget

    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JAN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_FEB
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_APR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAY
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUL
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_AUG
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_SEP
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_OCT
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_NOV
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q1
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q2
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q3
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q4
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_TOTAL

    If IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_ AVAILABLE was selected while calling this API then returned attributeMap will contain IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_ AVAILABLE as key and attributemap as value. AttributeMap returned in value will have following keys with values in double format representing allotted budget

    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JAN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_FEB
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_APR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAY
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUL
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_AUG
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_SEP
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_OCT
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_NOV
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q1
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q2
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q3
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q4
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_TOTAL

    If IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_COMMITTED was selected while calling this API then returned attributeMap will contain IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_COMMITTED as key and attributemap as value. AttributeMap returned in value will have following keys with values in double format representing allotted budget

    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JAN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_FEB
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_APR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAY
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUL
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_AUG
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_SEP
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_OCT
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_NOV
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q1
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q2
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q3
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q4
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_TOTAL

    If IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_ UNCOMMITTED was selected while calling this API then returned attributeMap will contain IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_ UNCOMMITTED as key and attributemap as value. AttributeMap returned in value will have following keys with values in double format representing allotted budget

    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JAN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_FEB
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_APR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAY
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUL
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_AUG
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_SEP
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_OCT
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_NOV
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q1
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q2
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q3
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q4
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_TOTAL

    If IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_ACTUAL was selected while calling this API then returned attributeMap will contain IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_ACTUAL as key and attributemap as value. AttributeMap returned in value will have following keys with values in double format representing allotted budget

    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JAN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_FEB
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_APR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAY
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUL
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_AUG
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_SEP
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_OCT
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_NOV
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q1
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q2
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q3
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q4
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_TOTAL

    If IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_ REMAINING was selected while calling this API then returned attributeMap will contain IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_ REMAINING as key and attributemap as value. AttributeMap returned in value will have following keys with values in double format representing allotted budget

    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JAN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_FEB
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_APR
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_MAY
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUN
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_JUL
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_AUG
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_SEP
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_OCT
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_NOV
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q1
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q2
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q3
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_Q4
    • IPLANAPI.FINANCIAL_ACCOUNT_BUDGET_TOTAL

    If IPLANAPI. FINANCIAL_ACCOUNT_BUDGET_ALL was selected while calling this API then returned attributeMap will contain all the keys defined above with attributemap as value.

    Throws:
    InvalidHandleException - if handle is not a valid account handle
    InvalidAttributeException - the specified attributes are not valid
    Since:
    7.5.0.1

    copyProject

    Handle copyProject(IExecutionContext context,
                       Handle hProject,
                       ProjectCopyTypeEnum copyEnum,
                       boolean copyParentLink)
                       throws InvalidHandleException,
                              TemplateNotFoundException
    Use this API to copy existing project instance and to create new project.

    Parameters:
    context - API execution context
    hProject - Must be a valid project handle
    copyEnum - Type of metrics to copy project
    • ProjectCopyTypeEnum.COPY_USING_PROJECT_METRICS : Give this value to copy project from "Copy using the Metrics from project"
    • ProjectCopyTypeEnum.COPY_USING_ TEMMPLATE_METRICS: Give this value to copy project from "Copy using the Metrics from project template"
    copyParentLink - if true and if source project has parent then link to parent will be copied
    Returns:
    Handle of the copied new project object
    Throws:
    InvalidHandleException - if handle provided is not a valid project handle
    TemplateNotFoundException - if template of source project not found
    Since:
    7.5.0.1

    copyProjectResources

    void copyProjectResources(IExecutionContext context,
                              Handle hProjectSource,
                              Handle hProjectDestination)
                              throws InvalidHandleException,
                                     InvalidAttributeException
    API to copy resource (People tab of project) from source project to destination project. Template for source and destination project must be same. Following rules will be applied while doing resource copy

    Parameters:
    context - API execution context
    hProjectSource - Must be a valid project handle and source project
    hProjectDestination - Must be a valid project handle and destination project
    Throws:
    InvalidHandleException - if handle provided is not a valid project handle OR template of source and destination project are different OR source and destination project handle points to same project
    InvalidAttributeException - If source project contains disabled team

    addProjectBudgetLineItem

    Handle addProjectBudgetLineItem(IExecutionContext context,
                                    Handle hProject,
                                    AttributeMap attributeMap)
                                    throws InvalidHandleException,
                                           InvalidAttributeException
    Use this API to add new project budget line item

    Parameters:
    context - API execution context
    handle - Must be a valid project handle
    attributeMap - Attribute map must contain following parameters:
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_DESCRIPTION: Value for this key must be String and should not be blank
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_EXPENDITURE_DATE: Value for this key must be Date
    AttributeMap can contain following optional parameters
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT: Value for this key will be Handle to Account
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_COST_CATEGORY: Value for this key will be code of the cost category
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_COMMITTED_AMOUNT: Value for this key will be Committed amount in double format
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_FORECAST_AMOUNT: Value for this key will be forecast amount in double format Please note @since UMO 8.5.0 planAPI.finalizeProjectBudgetChanges() must be called explicitely to finalize changes done by this API. Earlier finalize API was getting called through addProjectBudgetLineItems() and updateAttributes(ProjectLineItemHandle) API which may not be desired in case if rollback to original version is required.
    Returns:
    Handle of created project line item
    Throws:
    InvalidHandleException - if handle provided is not a valid project handle
    InvalidAttributeException - If parameters specified in attributeMap are not valid

  • deleteProjectLineItem

    void deleteProjectLineItem(IExecutionContext context,
                               Handle hProjectLineItem)
                               throws InvalidHandleException,
                                      InvalidAttributeException
    Use this API to delete a project line item

    Parameters:
    context - API execution context
    hProjectLineItem - Must be a valid project line item handle
    Throws:
    InvalidHandleException - If handle provided is not a valid project line item handle or project is not in active state
    InvalidAttributeException

    listProjectLineItems

    java.util.List listProjectLineItems(IExecutionContext context,
                                        Handle hProject,
                                        boolean getLastVersion)
                                        throws InvalidHandleException,
                                               InvalidAttributeException
    Use this API to get list of all project line item handles

    Parameters:
    context - API execution context
    handle - Must be a valid project handle
    getLastVersion - if specified as true then return values will be last version otherwise values returned will be current values. If specified as true and last version is not available then API will return current values.
    Returns:
    List of Project Line Item handles, if found none then list size will be zero
    Throws:
    InvalidHandleException - If handle provided is not a valid project handle
    InvalidAttributeException - If parameters getLastVersion is specified as true and last version is not available

    getProjectLineItems

    java.util.List getProjectLineItems(IExecutionContext context,
                                       Handle hProject,
                                       boolean getLastVersion)
                                       throws InvalidHandleException,
                                              InvalidAttributeException
    Deprecated. use IPlanAPI.listProjectLineItems() to get list of ProjectLineItemHandle and to get attributes of individual line item, use IPlanAPI.getAttributes() providing ProjectLineItemHandle

    Parameters:
    context - API execution context
    handle - Must be a valid project handle
    getLastVersion - if specified as true then return values will be last version otherwise values returned will be current values. If specified as true and last version is not available then API will return current values.
    Returns:
    List of AttributeMap, each attribute map contained in list will re-present one project budget line item
    AttributeMap will contain following keys and values:
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_DESCRIPTION: Value for this key will be String
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_EXPENDITURE_DATE: Value for this key will be Date
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_SOURCE_ACCOUNT: Value for this key will be Handle to Account
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_COST_CATEGORY: Value for this key will be Name of the cost category
  • IPlanAPI.PROJECT_BUDGET_LINE_ITEM_COMMITTED_AMOUNT: Value for this key will be Committed amount in double format
  • IPlanAPI. PROJECT_BUDGET_LINE_ITEM_FORECAST_AMOUNT: Value for this key will be forecast amount in double format
    Throws:
    InvalidHandleException - If handle provided is not a valid project handle
    InvalidAttributeException - If parameters getLastVersion is specified as true and last version is not available
    Since:
    UMO 8.2.0.1 Use this API to get all project line items with their details i.e. i.e. Item Description, Expenditure Date, Source Account, Cost Category, Committed Amount, Forecast Amount

  • getProjectBudgetLineItemSummary

    AttributeMap getProjectBudgetLineItemSummary(IExecutionContext context,
                                                 Handle hProject,
                                                 boolean getLastVersion)
                                                 throws InvalidHandleException,
                                                        InvalidAttributeException
    Use this API to get project line item summary information i.e. Actual Spent, Total Committed Amount, Total Forecast Amount

    Parameters:
    context - API execution context
    handle - Must be a valid project handle
    getLastVersion - if specified as true then return values will be last version otherwise values returned will be current values. If specified as true and last version is not available then API will return current values.
    Returns:
    Returned AttributeMap. AttributeMap will contain following keys and double as value:
  • IPlanAPI.PROJECT_BUDGET_ACTUAL_SPENT
  • IPlanAPI.PROJECT_BUDGET_TOTAL_COMMITTED
  • IPlanAPI.PROJECT_BUDGET_TOTAL_FORCAST
    Throws:
    InvalidHandleException - if handle provided is not a valid project handle
    InvalidAttributeException - If parameters getLastVersion is specified as true and last version is not available

  • getSubProjectBudgetSummary

    AttributeMap getSubProjectBudgetSummary(IExecutionContext context,
                                            Handle handle,
                                            AttributeMap attributeMap)
                                            throws InvalidHandleException,
                                                   InvalidAttributeException
    Use this API function to extract Sub Project Budget information. Type of total (total, forecast, committed, actual) returned is determined by the parameters passed in attributeMap Parameter.

    Parameters:
    context: - API execution context
    handle: - Must be a valid parent project handle
    attributeMap: - Parameter to determine type of budget attributeMap must contain key IPlanAPI.PROJECT_BUDGET_TYPE. Value for this key should be one of the following:
  • BudgetTypeEnum.FORECAST: Give this value if project forecast total is required.
  • BudgetTypeEnum.COMMITTED: Give this value if life of project committed total is required
  • BudgetTypeEnum.ACTUAL: Give this value if life of project actual total is required
  • BudgetTypeEnum.ALLOCATED: Give this value if life of project allocations total is required
  • BudgetTypeEnum.TOTAL: Give this value if life of project total is required Returns:
    Returns:
    Returned AttributeMap will contain one entry with key as name of provided budget Type and value in double format Throws:
    Throws:
    InvalidHandleException: - if handle provided is not a valid project handle
    InvalidAttributeException: - If parameters in attributeMap are invalid
    InvalidHandleException
    InvalidAttributeException

  • finalizeProjectBudgetChanges

    void finalizeProjectBudgetChanges(IExecutionContext context,
                                      Handle handle,
                                      AttributeMap attrMap)
                                      throws InvalidHandleException,
                                             InvalidAttributeException
    Use this API to finalize changes done in project budget

    Parameters:
    context: - API execution context
    handle: - Must be a valid project handle
    attrMap: - Should have target due date (IPLANAPI.APPROVAL_ATTRIBUTE_TARGETDUEDATE) and optional description (IPLANAPI.APPROVAL_ATTRIBUTE_DESCRIPTION) attributes if approval is required for finalization
    Throws:
    InvalidHandleException - if handle provided is not a valid project handle or project is not in active state
    InvalidAttributeException - If no changes available in project budget to finalize

    discardProjectBudgetChanges

    void discardProjectBudgetChanges(IExecutionContext context,
                                     Handle handle)
                                     throws InvalidHandleException,
                                            InvalidAttributeException
    Use this API to discard changes done in project budget

    Parameters:
    context: - API execution context
    handle: - Must be a valid project handle
    Throws:
    InvalidHandleException - if handle provided is not a valid project handle or project is not in active state
    InvalidAttributeException - If no changes available in project budget to discard

    getProjectBudgetLineItemAllocation

    AttributeMap getProjectBudgetLineItemAllocation(IExecutionContext context,
                                                    Handle handle,
                                                    AttributeMap attributeMap)
                                                    throws InvalidHandleException,
                                                           InvalidAttributeException
    Allocations (total, yearly, quarterly) of project line items is returned by the parameters passed in attributeMap Parameter

    Parameters:
    context - API execution context
    handle - Must be a valid project handle
    attributeMap - Parameters to determine period of allocation attributeMap must contain key IPlanAPI.PROJECT_BUDGET_ALLOCATION_PERIOD.
    Value for this key should be one of the following:
  • BudgetPeriodEnum.ALL: Give this value if life of object total allocation is required i.e. total displayed in total view of budget tab
  • BudgetPeriodEnum.YEARLY: Give this value if year total is required i.e. total displayed in detailed view of budget tab.
  • BudgetPeriodEnum.QUARTERLY: Give this value if quarterly total is required i.e. total displayed in detailed view of budget tab.
  • BudgetPeriodEnum.MONTHLY: Give this value if monthly total is required i.e. total displayed in detailed view of budget tab.
  • BudgetPeriodEnum.WEEKLY: Give this value if weekly total is required i.e. total displayed in detailed view of budget tab.
    For budget period other than BudgetPeriodEnum.ALL, user need to provide year in attributeMap with key IPlanAPI.PROJECT_BUDGET_ALLOCATION_YEAR
    Returns:
    Returned AttributeMap
    If budget allocation period is specified as BudgetPeriodEnum.ALL or BudgetPeriodEnum.YEARLY then returned attribute map will contain IPlanAPI.PROJECT_BUDGET_LINE_ITEM_ALLOCATION as key and budget information in double format
    For other allocation periods (BudgetPeriodEnum.QUARTERLY, BudgetPeriodEnum.MONTHLY and BudgetPeriodEnum.WEEKLY) returned attribute map will contain IPlanAPI.PROJECT_BUDGET_LINE_ITEM_ALLOCATION as key and attribute map as value.
    Value attribute map will contain entries according to budget period (4 for QUARTERLY, 12 for MONTHLY and 53 for WEEKLY) with budget value for each entry in double format:
    Throws:
    InvalidHandleException - If handle provided is not a valid project handle
    InvalidAttributeException - If parameters in attributeMap are invalid or budget period does not matches budget granularity of project

  • getSubProjectAllocation

    AttributeMap getSubProjectAllocation(IExecutionContext context,
                                         Handle handle,
                                         AttributeMap attributeMap)
                                         throws InvalidHandleException,
                                                InvalidAttributeException
    Allocations (total, yearly, quarterly) of sub project is returned by the parameters passed in attributeMap Parameter

    Parameters:
    context - API execution context
    handle - Must be a valid parent project handle
    attributeMap - Parameters to determine period of allocation attributeMap must contain key IPlanAPI.PROJECT_BUDGET_ALLOCATION_PERIOD.
    Value for this key should be one of the following:
  • BudgetPeriodEnum.ALL: Give this value if life of object total allocation is required i.e. total displayed in total view of budget tab
  • BudgetPeriodEnum.YEARLY: Give this value if year total is required i.e. total displayed in detailed view of budget tab.
  • BudgetPeriodEnum.QUARTERLY: Give this value if quarterly total is required i.e. total displayed in detailed view of budget tab.
  • BudgetPeriodEnum.MONTHLY: Give this value if monthly total is required i.e. total displayed in detailed view of budget tab.
  • BudgetPeriodEnum.WEEKLY: Give this value if weekly total is required i.e. total displayed in detailed view of budget tab.
    For budget period other than BudgetPeriodEnum.ALL, user need to provide year in attributeMap with key IPlanAPI.PROJECT_BUDGET_ALLOCATION_YEAR
    Returns:
    Returned AttributeMap
    If budget allocation period is specified as BudgetPeriodEnum.ALL or BudgetPeriodEnum.YEARLY then returned attribute map will contain handle of sub project as key and budget information in double format for each sub project handle
    For other allocation periods (BudgetPeriodEnum.QUARTERLY, BudgetPeriodEnum.MONTHLY and BudgetPeriodEnum.WEEKLY) returned attribute map will contain sub project handle as key and attribute map as value.
    Value attribute map will contain entries according to budget period (4 for QUARTERLY, 12 for MONTHLY and 53 for WEEKLY) with budget value for each entry in double format:
    Throws:
    InvalidHandleException - If handle provided is not a valid project handle
    InvalidAttributeException - If parameters in attributeMap are invalid or budget period does not matches budget granularity of project

  • updateProjectLineItemAllocation

    void updateProjectLineItemAllocation(IExecutionContext context,
                                         Handle handle,
                                         AttributeMap attributeMap)
                                         throws InvalidHandleException,
                                                InvalidAttributeException
    Use this API function to update project line item allocation

    Parameters:
    context - API execution context
    handle - Must be a valid project handle for which allocation needs to update
    attributeMap - To update project total allocation provide following keys with allocation as value in double format:
    To update project line item allocation provide following keys with allocation as value in double format
  • For project with budget granularity BudgetGranularityEnum.QUARTERLY : keys for all quarters in the format QuarterEnum.Qn.name()
  • For project with budget granularity BudgetGranularityEnum.MONTHLY : keys for all months in the format MonthEnum.Month.name()
  • For project with budget granularity BudgetGranularityEnum.WEEKLY : keys for all weeks in the format WeekEnum.Wn.name()
    Throws:
    InvalidHandleException - if handle provided is not a valid project handle
    InvalidAttributeException - If parameters in attributeMap are invalid

  • updateSubProjectAllocation

    void updateSubProjectAllocation(IExecutionContext context,
                                    Handle handle,
                                    Handle hSubProject,
                                    AttributeMap attributeMap)
                                    throws InvalidHandleException,
                                           InvalidAttributeException
    Use this API function to update sub project allocation

    Parameters:
    context - API execution context
    handle - Must be a valid parent project handle for which allocation needs to update
    hSubProject - Must be a valid sub project handle for which allocation needs to update
    attributeMap - To update project total allocation provide following keys with allocation as value in double format:
    To update sub project allocation provide following keys with allocation as value in double format
  • For project with budget granularity BudgetGranularityEnum.QUARTERLY : keys for all quarters in the format QuarterEnum.Qn.name()
  • For project with budget granularity BudgetGranularityEnum.MONTHLY : keys for all months in the format MonthEnum.Month.name()
  • For project with budget granularity BudgetGranularityEnum.WEEKLY : keys for all weeks in the format WeekEnum.Wn.name()
    Throws:
    InvalidHandleException - if handle provided is not a valid project handle
    InvalidAttributeException - If parameters in attributeMap are invalid