This chapter provides overviews of business projects, business project workflow, and business project process definition and discusses how to:
Define invalid actions.
Define tasks.
Define phases.
Define business projects.
Clone and delete phases and business projects.
See Also
This section lists common elements and discusses:
Business project usage.
Business project architecture.
Business project workflow.
Tasks in business projects.
Invalid actions.
Time and cost tracking.
Time Units |
Enter the units for defining how long a task, phase, or business project takes to complete. Options are Minute(s), Hour(s), and Day(s). |
Enter the average and maximum amounts of time for a task, phase, or business project, measured in the units of time in the Time Units field. |
|
Displays the sum of the standard and maximum times for all tasks in a phase or all phases in a business project. A business project's calculated times are based on the assumption that all phases have transitions to their default phases. |
|
Recalculate Times |
Click to update the values in the Standard Calculated Time and Maximum Calculated Time fields. Depending on the time units, a calculated time can be rounded down to zero. For example, if a phase is measured in hours and consists of tasks that are measured in minutes, then the phase time is calculated as zero hours if the total of all the task times is less than 30 minutes. |
Currency Code and Total Cost |
Enter the cost for the task, phase, or business project (if billable), and enter the currency of the cost. The billing information fields are for informational purposes only; they do not affect billing processes. |
Business projects are structured, workflow-enabled task lists. You use business projects to coordinate and track the work involved in performing tasks.
Organizational Processes
You can create business projects to codify and manage an organization's internal business processes. For example, a help desk might create business projects for commonly performed processes, such as upgrading a user's computer. Service orders, support cases, and helpdesk cases all support this use of business projects, enabling you to:
Codify the best practices of an organization into a reusable template.
Enforce the proper sequence of tasks.
Automate work-related notifications.
Coordinate any combination of manual processes and automated processes.
Business projects can be instantiated manually (as a related object, for example), or automatically through the Active Analytics Framework (AAF) as a result of the evaluation of business rules. Only one business project can exist for each parent object. For example, you can have only one business project for each case.
Automated Processes
PeopleSoft delivers business projects that manage certain predefined application processes. For example, in PeopleSoft Order Capture, the delivered CORE_ORDER_BP business project manages the order fulfillment process. This business project coordinates automated tasks such as publishing the data to an order fulfillment system and creating an installed product record. Using a business project to manage these tasks simplifies the management of conditional logic.
Refer to the PeopleBook for a specific application to learn about application processes that you can implement using business projects.
See Also
Configuring Business Project Actions
Working with PeopleSoft Order Capture Business Projects
Tasks are the basic unit of work in a business project. Task definitions describe the work to be performed and the amount of time that the task normally takes. Phases are groups of tasks. Phases can also incorporate sub-business projects, which are business projects that are nested within other business projects.
When you set up a phase, you define the sequence of tasks in the phase.
Tasks within a single phase can be performed either in parallel or in sequence. For example, when you set up an employee in a human resources system, the first task might be to enter employee personal information into the system. After this task is complete, you might enter other information in parallel, for example, tax withholding elections and benefits elections.
A task begins when all preceding tasks or sub-business projects in a phase are complete. For example, consider a phase that starts with three parallel tasks. These tasks are followed by two other parallel tasks that cannot start until the first three tasks are complete. The first three tasks begin when the phase begins, and the next two tasks begin when the first three tasks are complete.
When you set up a phase, you indicate required tasks and sub-business projects. The sequencing of tasks and sub-business projects, however, is not affected by the phase setup. So in the preceding example, the fourth and fifth tasks do not start until all three of the previous tasks are complete, even if only one of the three preceding tasks is required.
Phase Sequencing and Phase Transitions
Phases are always performed sequentially. Consequently, tasks that are performed in parallel must all belong to the same phase. For each phase in a business project, you define the possible target phases and the conditions under which each target is appropriate. These conditions are called transition rules.
Any phase in a business project can have a transition to any other phase in the business project. This architecture enables you to loop through a phase multiple times if necessary. A business project is complete when you reach the system-defined End the Business Project phase. (You cannot modify this phase except to change the descriptive text.)
Transitions can be automatic or manual. A phase that has multiple possible targets can use a combination of automatic and manual transition rules.
Automatic transition criteria are based on the status and outcome of required tasks and sub-business projects in the start phase. If the start phase definition includes elements that are not marked as required elements, the system does not use those elements when evaluating transition criteria.
The outcome of a task or sub-business project can be Canceled, Complete - Success, or Complete - Failed. A sub-business project's outcome can be set manually or automatically, depending on how the sub-business project is defined. If the outcome is set automatically, the sub-business project is considered successful when it is complete. If the outcome is set manually, the user specifies whether the sub-business project succeeded or failed.
The system evaluates transition rules at two points:
When a task or sub-business project is completed.
Because transition rules are based on the success or failure of tasks within phases, the system evaluates transition rules at the completion of a task.
When a phase exceeds its maximum time.
You can specify that an automatic transition occurs when tasks are not completed on time. If you set up this type of transition, then when the phase starts, the system schedules a process to run when the phase exceeds its maximum time. If the phase is still in progress when the process runs, the transition occurs.
Before you can use a business project, the system must validate its phase transition rules. The following conditions cause the validation process to fail:
No default target phase exists.
Every start phase with a target phase must have a default target phase. The default target phase establishes a default path through the business project tree so that the system can calculate standard and maximum times for the business project. In addition, in an automatic transition, the system starts the default target phase when all tasks are complete but none of the transition criteria are satisfied.
Multiple targets have the same automatic transition criteria.
Automatic transition criteria enable the system to use one of multiple target phases. If multiple targets have the same automatic transition criteria, the system cannot perform the transition.
When the validation process is successful, the system marks the business project as valid and makes it available.
If you change the business project definition, you must validate it again and save it.
Sub-business projects are business projects that are incorporated into phases of other business projects. The sub-business project functions as a task in this context, even though it may be a complex and multiphased task. The standard task sequencing rules apply regardless of whether a phase has tasks, sub-business projects, or a combination of the two.
You define sub-business projects as you do main business projects. They consist of phases and tasks with specific sequencing and transition rules. Sub-business projects differ from main business projects in two ways:
Sub-business projects include a field that determines whether the outcome is set by default or explicitly.
Main business projects, which have a status but not an outcome, do not have this field.
For sub-business projects, you do not need to identify the parent object that uses the sub-business project.
The parent object for a sub-business project is always the business project to which it belongs.
A business project type indicator prevents main business projects from being used as sub-business projects. It also prevents sub-business projects from being used as main business projects. At runtime, when you prompt for a list of business projects to invoke, only main business projects appear. During the design stage, when you prompt for a list of business projects to include in a phase, only sub-business projects appear.
Like tasks and phases, sub-business projects are reusable. For example, a sub-business project for verifying a customer's credit might be embedded within several main business projects. You can even nest sub-business projects within sub-business projects.
Using the Nested_Business_Project_Start PeopleCode function, you can dynamically add sub-business projects at runtime. For example, if you use a business project for order fulfillment and sub-business projects for each item ordered, you cannot know which sub-business projects will be needed for a specific order.
PeopleSoft Order Capture components incorporate the PeopleCode that is necessary for this processing. To take advantage of it, use the CORE_ORDER_BP business project or, in the communications industry solution, the TELCO_NEW_ORDER business project as the main fulfillment business project. Then make sure that each product definition references the sub-business project that is used when a customer orders the product.
Business Project Modifications
You cannot modify tasks, phases, and sub-business projects that belong to a currently instantiated business project. After all instances of the main business project are marked complete, these objects become editable again.
Business projects are effective-dated. You cannot modify the effective-dated row of data if an instance of the business project for the effective date is currently in progress. Instead, create a new effective-dated row of data for the changes.
Changes to a business project definition do not affect existing instantiations of the business project.
See Also
Definition of Processes That Dynamically Instantiate Sub-Business Projects
Business project workflow automates the process of sending notifications and running processes. When you set up business project workflow, you specify three things:
The event that triggers the workflow action.
These events are predefined in the system, such as when a phase or business project begins, ends, or exceeds a preset time.
The workflow action that the system performs.
Workflow actions can schedule processes (for example, Application Engine processes) or send notifications.
(Optional) A workflow email template that provides notification text.
Workflow email templates are only required for workflow actions that send email notifications.
Note. Workflow email templates are only used for sending notifications from business projects and tasks that are used in business projects. When you send notifications using CRM workflow (for example, through AAF), correspondence templates are used.
When business project workflow sends a notification, the system logs the notification as an interaction, which you can view in the 360-degree view or other interaction lists. You can set up workflow actions at the task level as well.
See Also
Setting Up PeopleSoft CRM Workflow
Defining Workflow Email Templates for Business Projects
A task is the smallest unit of work in a business project. It can be performed automatically or manually.
Certain tasks can be performed without human intervention. For example, the system can update inventory balances after an order is shipped.
To automate these tasks, set up workflow to run an Application Engine process that performs the task. When you do this, you need to pass task information to the Application Engine program, and you need to make sure the program updates the task status when it is complete.
Certain tasks are assigned to and performed by people. For example, a manual task might be a physical task, such as changing the toner in a printer.
To facilitate manual tasks, set up workflow that sends the assignee an email that describes the task and includes a link to the page where the person can update the system when the task is complete. You can set up additional workflow to notify the overall business project owner whenever a task status is updated.
Default values determine how the system initially assigns a task when the business project begins. The business project owner can change default assignment information before or after the task begins.
To set up workflow that sends notifications for newly assigned tasks, associate the notification with the Beginning of Task event or the Reassignment of Task event (or both). If you send a notification at the beginning of a task, the current assignee receives the notification. Consequently, for the first task of a business project (which starts as soon as the business project starts), the default assignee always receives a notification. For subsequent tasks, the default assignee receives the notification only if you do not change the assignee before the task starts.
The system sends reassignment notifications only for tasks that are in progress, so it does not send a notification if you change the assignee before the task starts.
Note. Task assignment does not trigger notifications unless you set up notification rules based on task assignment.
If a business project is in process, certain user actions may not be appropriate. For example, you may want to prevent users from canceling orders once the shipping phase of an order fulfillment business project begins.
To prevent the action from occurring, the system calls the BusProjectInvalidAction PeopleCode function when the action is attempted. The function determines if the action is invalid for the current phase of the business project. If the action is invalid, the function returns a value of True and sets any variables in the message catalog entry that is associated with the invalid action. The application that called the function can then take appropriate action.
The only component that is delivered with a call to the BusProjectInvalidAction function is the Order Tracking component. When an invalid action occurs in this component, the application prevents the user from canceling the order and displays an error message using text from the message catalog.
See Also
Working with PeopleSoft Order Capture Business Projects
As you define a task, you can specify the standard amount of time for the task and a maximum amount of time for the task.
You can roll up that information to calculate the standard and maximum duration of phases and business projects, or you can specify phase durations and business project durations that are separate from the calculated durations. The calculated duration of a phase includes the time required for tasks and for sub-business projects. The calculated duration of a business project is based on the assumption that every transition leads to the default target.
You can set up workflow notifications based on business project, phase, and task times—both calculated times and manually entered times. These timeout notifications enable an organization to monitor delays in the completion of a business project.
As you define tasks, phases, and business projects, you can also specify costs associated with each. The PeopleSoft system does not roll up costs from tasks to phases or from phases to business projects. Likewise, the system does not use the cost information in any processing. The cost information that you specify is for informational purposes only.
This section discusses:
Events that can trigger workflow actions.
Workflow actions and email templates for business project notifications.
Delivered workflow elements for case business projects.
Business project events are conditions related to tasks, phases, and business projects. To set up business project workflow, you associate a workflow action with one of the predefined events.
You define workflow for task-related events at either the task level or the business project level. To set up workflow for every task in a business project without setting up the event for each individual task, use the business-project-level event.
Task, Phase, and Business-Project Initiation Events
Task, phase, and business project initiation events include the following:
Business project begins
Phase begins
The first phase in a business project begins immediately when the business project is invoked. Subsequent phases begin after an automatic or manual transition.
Task begins
Initiation of a business project starts at least one task in the first phase of the business project. The sequence of tasks within the phase determines when the other tasks begin. This is available only at the task level.
Task is reassigned
The assignee of a task in progress changes from a blank value to a named value. This is available only at the task level.
Task, Phase, and Business Project Completion Events
Task, phase, and business-project completion events include the following:
Business project is complete.
Phase is complete.
Phases are complete when you manually initiate a transition out of the phase or when the criteria for an automatic transition are met. This event does not require all tasks to be complete.
Phase is complete—all tasks complete.
This event does not distinguish between tasks that succeeded and tasks that failed.
Phase is complete—all tasks complete and successful.
Phase is complete—all tasks complete, any task fails.
Phase transition occurs.
Phase transition occurs—non-default.
Task is complete.
This event does not distinguish between tasks that succeeded and tasks that failed. This is available only at the task level.
Task fails.
This is available only at the task level.
Task is successful.
This is available only at the task level.
Timeout events include the following:
Business project exceeds maximum time.
Business project exceeds standard time.
Business project exceeds maximum calculated time.
Business project exceeds standard calculated time.
Phase exceeds maximum time.
Phase exceeds standard time.
Phase exceeds maximum calculated time.
Phase exceeds standard calculated time.
Task exceeds maximum time.
Task exceeds standard time.
There are two ways to define standard and maximum times for phases and business projects. You can enter a time manually, or you can have the system calculate it. When you define timeout workflow for phases and business projects, you must know whether to base the workflow on the manual or calculated time.
Workflow actions are PeopleSoft CRM workflow objects that trigger processes (for example, Application Engine processes) and notifications.
When you set up a workflow action for business project notifications, you need to select a PeopleTools business process, activity, and event. (PeopleTools events are not the same as business project events.) You do not need to use PeopleTools to create these objects. Instead, use the delivered objects described in the documentation for workflow actions.
See Defining Workflow Actions.
You define notification text for email notifications by selecting a workflow email template. Workflow email templates are used for email notifications only; worklist notifications do not include notification text.
See Defining Workflow Email Templates.
PeopleSoft delivers the following elements to use when setting up workflow for business projects in cases:
Roles for task assignees
Roles for case assignees
Workflow actions
Processes
Workflow email templates
Roles for Task Assignees
The following query roles identify the person, provider group, or role associated with a task.
Role |
Description |
Call Center BP Person Email |
Send notifications to an email address associated with a person to whom a task is assigned. |
Call Center BP Provider Email |
Send notifications to an email address associated with a provider group to which a task is assigned. |
Call Center BP Role Email |
Send notifications to the email addresses of all people associated with a role to which a task is assigned. |
Call Center BP Person Worklist |
Send notifications to the worklist associated with a person to whom a task is assigned. |
Call Center BP Provider Worklist |
Send notifications to the worklist associated with a provider group to which a task is assigned. |
Call Center BP Role Worklist |
Send notifications to the worklists of all people associated with a role to which a task is assigned. |
These query roles require three bind variables:
RC_TASK_STATUS.BUS_PROC_INSTANCE
RC_TASK_STATUS.TRANS_FROM_NODE
RC_TASK_STATUS.RC_TASK_ID
The following query roles identify the person or provider group associated with the business project's parent case. Use different roles for the notifications sent from main business projects and from sub-business projects.
Description |
Role for Main Business Projects |
Role for Sub-Business Projects |
Send an email notification to the agent assigned to the case. |
Call Center BP Case Email |
Call Center SBP Case Email |
Send a worklist notification to the agent assigned to the case. |
Call Center BP Case Worklist |
Call Center SBP Case Worklist |
Send an email notification to the provider group assigned to the case. |
Call Center BP Case Prov Email |
Call Center SBP Case Prov Eml |
Send a worklist notification to the provider group assigned to the case. |
Call Center BP Case Prov WL |
Call Center SBP Case Prov WL |
Send email notifications to each member of the provider group assigned to the case. |
Call Center BP Prov Person |
Call Center BP Prov Person |
Send worklist notifications to each member of the provider group assigned to the case. |
Call Center BP Prov Userid |
Call Center BP Prov Userid |
The query roles that identify a case assignee have only one bind variable: the business project instance (RC_BP_STATUS. BUS_PROC_INSTANCE).
PeopleSoft provides the following workflow actions that you can use with business project workflow.
Workflow Action Name |
Description |
BP_CC_Assigned_To_Email |
Send email notifications to the person to whom a task is assigned. |
BP_CC_Assigned_To_Worklist |
Send worklist notifications to the person to whom a task is assigned. The worklist notification is sent to the Task Status worklist and includes a link to the Task Status page. |
BP_CC_Case_Assigned_To_Email |
Send email notifications to the person assigned to the case with which the business project is associated. |
BP_CC_Case_Assigned_To_Worklis |
Send worklist notifications to the person assigned to the case with which the business project is associated. The worklist notification is sent to the Task Status worklist and includes a link to the Task Status page. |
BP_CC_Case_Close |
Use with a Business Project Ends event to close the associated case. This workflow action runs the RC_BP_CASE PeopleSoft Application Engine process, which closes the associated case. Note. In order for a case to be closed, it must have a successful resolution or a solvable related action. Ensure that the corresponding business project is specified as a solvable related action on the case. |
Workflow actions associated with task assignees include three routing rules for different assignment types: provider, role, and person. This configuration ensures a valid rule even if you change the assignment type for a particular instance of the task.
Workflow actions associated with case assignees include two routing rules for different assignment types: agent and provider group. Business project workflow incorporates special logic to ensure that the provider group routing is used only if the case is not assigned to an individual agent.
Processes
PeopleSoft delivers the RC_BP_CASE process as part of the BP_CC_Case_Close workflow action. The RC_BP_CASE process closes cases. By invoking the BP_CC_Case_Close workflow action when a business project is complete, you ensure that cases are automatically closed as soon as associated business projects are complete.
Delivered Templates for Email Notifications
PeopleSoft provides templates for sending email notifications that are related to events in business projects. These templates are defined in the Workflow component. You can use the templates as delivered, modify them, or create your own.
The following templates apply to business project and phase events, and they all include a link to the Business Project Status page:
BP_TRANS_NO_DEFAULT (Business Project Non-Default Transition).
BP_TRANSITION (Business Project Transition).
BP_BEGINS (Business Project Begins).
BP_COMPLETES (Business Project Completes).
BP_EXCEEDS_TIME (Business Project Exceeds Time).
PHS_BEGINS (Phase Begins).
PHS_TASKS_COMPLETE (Phase Completes).
PHS_EXCEEDS_TIME (Phase Exceeds Time).
PHS_TASKS_COMP_FAIL (Tasks in Phase Fail).
PHS_TASKS_COMP_SUCC (Tasks in Phase are Successful).
TRAF_SIG_RECEIPT (Report of Traffic Signal Problem Received).
The following templates apply to task events and include a link to the Business Project Status page:
BP_TASK_BEGINS (Business Project Task Begins).
BP_TASK_ENDS (Business Project Task Ends).
BP_TASK_EXCEEDS_TIME (Business Project Task Exceeds Time).
BP_TASK_FAILSBP (Task Fails).
BP_TASK_FAILS (Business Project Task Fails).
BP_TASK_REASSIGNED (Business Project Task Reassigned).
BP_TASK_SUCCEEDS (Business Project Task Succeeds).
The following templates apply to task events and include a link to the Task Status page:
TASK_BEGINS (Task Begins).
TASK_ENDS (Task Ends).
TASK_EXCEEDS_TIME (Task Exceeds Time).
TASK_FAILS (Task Fails).
TASK_REASSIGNED (Task Reassigned).
TASK_SUCCEEDS (Task Succeeds).
This section discusses:
Definition of workflow actions that run processes.
Definition of processes that dynamically instantiate sub-business projects.
PeopleCode for setting task status.
When a task can be performed with an Application Engine process, you use a workflow action to schedule the process. For example, the delivered order fulfillment business project includes a task with a workflow action that schedules a process. The process triggers the EIP that publishes order information to the order fulfillment system.
Follow these guidelines when creating an Application Engine process to be used with a business project:
Make sure that the state record includes the RC_BP_AE_SBR subrecord.
The fields in this record store information about the business project that is instantiated.
Make sure that the state record includes the RUN_CNTL_ID field and uses it to store the run control ID.
This process does not use any other field names (for example, RUNCNTLID).
The first step in the program should be a call to the POPULATE section in the RC_BPAET_LIB library.
This section populates the RC_BP_AE_SBR subrecord.
When the program completes a task, it can call the Trigger_Transition function to update the task status.
Fields in the RC_BP_AE_SBR Subrecord
The following fields provide the Application Engine process with information about the business project from which the process is invoked:
ACTIVITY_INSTANCE
BUS_PROC_INSTANCE
COMPONENT_ID
MAIN_ACTIVITY_ID
MAIN_ACTIVITY_INST
MARKET
NESTED_BP_IND
PARENT_ACTIVITY_ID
PARENT_ACTVTY_INST
PARENT_BP_INSTNCE
PROCESSNAME
PROCESSTYPE
RC_ACTIVITY_ID
RC_BUS_PROCESS_ID
RC_MAIN_BP_INSTNCE
RC_OUTCOME
RC_TASK_ID
RC_TASK_STATUS
SEQ_NUM
To dynamically instantiate a sub-business project at runtime, you need to:
Create a task at the point in the phase when the sub-business project is instantiated.
Set up the task to trigger an Application Engine process.
In the process, create logic to determine which sub-business project to instantiate.
In the process, call the Nested_Business_Project_Start function to instantiate the sub-business project.
Nested_Business_Project_Start Function
The Nested_Business_Project_Start function (in DERIVED_RC_BP2.RC_BUS_PROCESS_ID.FIELDFORMULA) instantiates the specified sub-business project. Use the following syntax:
&dyn_sbp_inst = nested_business_process_start(&D_nbp_id, &nbp_effdt, &D_nbp_instance, &main_bp_instance, &nbp_activity_id, &nbp_activity_instance, &component_id, &task_seq_number, &run_parallel);
The function returns the instance ID of the instantiated sub-business project.
The following table describes the function parameters:
Parameter |
Description |
&D_nbp_id |
The ID of the sub-business project to be instantiated. |
&nbp_effdt |
The effective date of the sub-business project to be instantiated. |
&D_nbp_instance |
The ID of the business project instance under which the sub-business project is instantiated. This can be either a main business project or a sub-business project. |
&main_bp_instance |
The ID of the main business project instance under which the sub-business project is instantiated. If the sub-business project is not under another sub-business project, this is the same as &D_nbp_instance. |
&nbp_activity_id |
The ID of the phase under which the sub-business project is instantiated. |
&nbp_activity_instance |
The ID of the phase instance under which the sub-business project is instantiated. |
&task_seq_number |
The sequence number of the task that triggers the workflow action that calls the Nested_Business_Project_Start function. |
&run_parallel |
Set to Y (yes) if the sub-business project runs in parallel with the task whose sequence number is &task_seq_number. Set to N (no) if the sub-business project runs after the task whose sequence number is &task_seq_number. |
Note. The values for the parameters that refer to the business project instance, phase instance, activity instance, and task sequence number are available in the state record of the Application Engine process.
PeopleSoft delivers an example of the Nested_Business_Project_Start function in the RBT_STARTSBP process.
See Also
Definition of Workflow Actions That Run Processes
Use the Trigger_Transition function (in FUNCLIB_RC_BP3.TRIGGER_TRANSITION.FIELDFORMULA) to set the status and outcome of a task or sub-business project that functions as a task. Depending on the business project definition, setting the outcome of a task or sub-business project may trigger a phase transition.
You can call this function from a process (such as an Application Engine process), from PeopleCode (for example, on the page where a user completes a task), or from an EIP.
Use the following syntax for the Trigger_Transition function:
Trigger_Transition(&Business_Proc_Instance, &Bp_Id, &Activity_Id, &Activity_Instance, &Task_Id, &Task_Seqnum, &Sub_Bp_Id, &Status, &Outcome, &Process_Type, &Process_Name)
The following table describes the function parameters:
Parameter |
Description |
&Business_Proc_Instance |
The ID of the business project instance associated with the current task or sub-business project. |
&Bp_Id |
The ID of the business project associated with the current task or sub-business project. |
&Activity_id |
The ID of the phase associated with the current task or sub-business project. |
&Activity_Instance |
The ID of the phase instance associated with the current task or sub-business project. |
&Task_Id |
The ID of the current task whose status and outcome are set. Use this only when setting status for a true task, not for a sub-business project. If you use this parameter, set the &Sub_Bp_Id parameter to spaces. |
&Task_Seqnum |
The sequence number of the current task or sub-business project. |
&Sub_Bp_Id |
The ID of the current sub-business project—the one whose status and outcome are to be set. Use this only when setting status for a sub-business project. If you use this parameter, set the &Task_Id parameter to spaces. |
&Status |
The status to assign to the current task or sub-business project. |
&Outcome |
The outcome to assign to the current task or sub-business project. |
&Process_Type |
The type of process that is setting the status and outcome, for example, Application Engine. This parameter is useful for auditing and troubleshooting. |
&Process_Name |
The name of the process that sets the status and outcome. This parameter is useful for auditing and troubleshooting. |
PeopleSoft delivers an example of the Trigger_Transition function in the BPMINITEST process.
To define invalid actions, use the Invalid Actions component.
This section provides an overview of the PeopleCode for an invalid action and discusses how to:
Define a message catalog entry for an invalid action error message.
Create invalid actions.
To enforce invalid action processing, a PeopleCode program calls the BusProjectInvalidAction PeopleCode function and passes it the business project instance and the name of the attempted action. The BusProjectInvalidAction function uses the definition of the phase that is in progress and determines if the action is invalid for that phase.
If the action is invalid, the function returns a value of True and sets any variables in the message catalog entry associated with the invalid action. The application that called the function must then take the appropriate action.
BusProjectInvalidAction Function
Use the following syntax for the BusProjectInvalidAction function:
BusProjectInvalidAction(&BPInstance, &strAction, &Msg_Set_Nbr, &Msg_Nbr);
The following table explains the function's parameters:
Parameter |
Description |
&BPInstance |
The instance of the business project that is associated with the current order, quote, or case. |
&strAction |
The invalid action name as established on the Invalid Action Definitions page. |
&Msg_Set_Nbr |
The message set number associated with the invalid action. Use a null value when calling the function; the function returns a value based on the invalid action definition. |
&Msg_Nbr |
The message number associated with the invalid action. Use a null value when calling the function; the function returns a value based on the invalid action definition. |
Strategies
To prevent users from changing a specific field, create a single invalid action definition and then use PeopleCode to pass the name of that invalid action to the BusProjectInvalidAction function every time that the field changes.
To disallow specific field values, create invalid action definitions for each disallowed value and then use PeopleCode to pass the field value to the BusProjectInvalidAction function every time that the field changes. As long as you use the exact field value as the invalid action name, one PeopleCode program suffices for all of the invalid actions.
For other invalid actions, use PeopleCode to determine when the action occurs and to pass the appropriate action name to the BusProjectInvalidAction function.
Page Name |
Object Name |
Navigation |
Usage |
RC_INVALID_ACTIONS |
Set Up CRM, Common Definitions, Business Projects, Invalid Actions, Invalid Action Definitions |
Establish names, descriptions, and associated messages for invalid actions. |
Definition of message catalog entries is discussed in the documentation for the message catalog.
See Enterprise PeopleTools 8.45 PeopleBook: PeopleSoft Application Designer
Access the Invalid Action Definitions page.
Enter the name of the action. If the invalid action is an invalid field value (for example, if users are not permitted to set the status to Canceled), use the field value as the action name. This simplifies the PeopleCode that verifies whether an action is invalid. |
|
Enter the set number and message number for the error message that the system displays when a user attempts an invalid action. After you select a message, the corresponding text appears. |
To define tasks, use the Task component.
This section discusses how to:
Create tasks.
Set up task assignment rules and workflow.
View task references.
Page Name |
Object Name |
Navigation |
Usage |
RC_TASK |
Set Up CRM, Common Definitions, Business Projects, Task, Task |
Create tasks. Describe the work to be performed and the amount of time that it takes to complete it. |
|
RC_TASK_EVENTS |
Set Up CRM, Common Definitions, Business Projects, Task, Assign/Events |
Sets up rules for assigning tasks and establish workflow processing for tasks. |
|
RC_TASK_REFERENCES |
Set Up CRM, Common Definitions, Business Projects, Task, References |
View the phases and business projects that include the selected task. |
Select if the caller is billed for this task. The external billing system can query this field for information. |
|
Select if an external process (rather than a person) performs the task and closes it. This check box is for informational purposes only. |
Access the Assign/Events page.
Assignment
Specify default assignment information for manual tasks. The business project owner can change the assignments. If you do not enter default assignment information, the business project owner must assign the tasks.
Automated tasks (which are performed by an Application Engine process) do not need to be assigned to a person. However, entering assignment information for automated tasks enables you to send the assignee notifications related to the tasks.
Select Person, Provider (provider group), or Role. |
|
Select the default person, provider group, or role to whom the system assigns the task. Notifications for a role are sent to every person in the role. Notifications for a provider group may be sent to group members or to a group worklist or email address, depending on how you set up notification workflow. To assign the task to a provider group, enter the setID to refine the list of provider groups you can select. If you set up workflow that sends a notification to the assignee, the existence of a default assignee may determine whether you associate the notification with the Beginning of Task event or the Reassignment of Task event. |
Task Event Setup
Configure workflow associated with a task. You can create multiple events for each task.
Workflow that you set up for a task is used by every business project that includes the task. If the action is an email notification, you must reference a template that has the notification text before defining the workflow.
Task Event |
Select an event to associate with workflow notification. Options are Beginning of Task, Failure of Task, Success of Task, Completion of Task, Maximum Time Exceeded, Standard Time Exceeded, and Reassignment of Task. |
Select the workflow action that is triggered. If the workflow action sends an email notification, select the workflow email template to use. The template is not required if the workflow action is to send a worklist notification. If you want the notification to include a link to the Task Status page (so that the recipient can access the page to update the task status), include the link in the workflow email template. |
See Also
Setting Up PeopleSoft CRM Workflow
Access the References page.
View the lists of phases and business projects that reference the selected task.
To define phases, use the Phase component.
This section discusses how to
Create phases.
View phase references.
Page Name |
Object Name |
Navigation |
Usage |
RC_ACTIVITY |
Set Up CRM, Common Definitions, Business Projects, Phase, Phase |
Create a phase and identify its tasks. |
|
RC_ACTIV_REFERENCE |
Set Up CRM, Common Definitions, Business Projects, Phase, References |
View the business projects that reference the phase. |
Task List
The task list can include both tasks and sub-business projects.
Use sequence numbers to establish the order in which the tasks (including sub-business projects) are performed. Tasks cannot begin until all tasks with lower sequence numbers are complete. Tasks with the same sequence number can be performed in parallel. For example, if you set up tasks with sequence numbers of 1, 2, 2, and 3, then the task with sequence number 1 must be completed first. Then the two tasks with sequence number 2 can be performed in any order. The task with sequence number 3 cannot begin until both tasks with sequence number 2 are complete. |
|
Select if the task or sub-business project is required. Phases must have at least one required task or sub-business project. The system uses this information in determining when to initiate a transition from one phase to another. Only required tasks and sub-business projects are evaluated when the system verifies that all tasks in a phase are complete. |
|
Select if the task is a sub-business project. |
|
Select the task or sub-business project to perform. The field prompts against either tasks or business projects, depending on whether the Sub Business Project check box is selected. |
Access the References page.
View the list of business projects that reference the selected phase.
To define business projects, use the Business Project component.
This section discusses how to:
Create business projects.
Define phase transitions.
Set up business project workflow.
Identify invalid actions.
Identify parent objects.
View sub-business project references.
Page Name |
Object Name |
Navigation |
Usage |
RC_BUS_PROCESS |
Set Up CRM, Common Definitions, Business Projects, Business Project, Business Project |
Create a business project and describe the project process. |
|
RC_BP_TRANSITIONS |
Set Up CRM, Common Definitions, Business Projects, Business Project, Transitions |
Create the hierarchical structure for the phases in the business project and define the transition rules that determine which phase to start. |
|
RC_BP_EVENTS |
Set Up CRM, Common Definitions, Business Projects, Business Project, Events |
Establish workflow processing for the selected business project. |
|
RC_BP_INVALID_ACTN |
Set Up CRM, Common Definitions, Business Projects, Business Project, Invalid Actions |
Identify actions that are not allowed during specified phases. |
|
RC_BUS_PROC_PARENT |
Set Up CRM, Common Definitions, Business Projects, Business Project, Parent Object |
Establish the relationship between the business project and a parent object. This page is not available for sub-business projects. |
|
RC_SBP_REFERENCES |
Set Up CRM, Common Definitions, Business Projects, Business Project, References |
View the business projects that include the selected sub-business project. This page is not available for main business projects. |
Access the Business Project page.
Business projects must be current, active, and validated in order to be used.
Enter the status of the business project definition as of the effective date. The default value (and the value to use when you create or modify a row of data) is Inactive. Change the status to Active when the business project is ready for use. |
|
Type |
Select the type of business project. Options are Main Business Project and Sub-Business Project. If you select Sub-Business Project, the Parent page is not available, because it pertains only to main business projects. If you select Main Business Project, the References page is not available. |
Note. This field appears only if the business project is a sub-business project. Select to determine how the outcome (success or failure) of a completed sub-business project is determined. Options are:
|
|
Click the button to check for conditions that render the business project invalid. If no such conditions exist, the project is valid, and the Validated check box is automatically selected. |
See Also
To define the phases within a business project, you create transition definitions that pair a source phase with a target phase. A phase can appear in multiple transition definitions. When a phase has multiple target phases, transition rules determine which target is used at runtime. Because any phase can have a transition to any other phase, the system can loop through a phase multiple times at runtime.
The left side of the Transitions page provides an alphabetical list of all source phases and their possible targets. Select a target phase to see the associated transition definition on the right side of the page.
Start Phase |
Enter the first phase in the business project. |
Transition Definition
Enter a phase that can initiate a transition to another phase. |
|
Click to delete the current transition definition and all transition definitions with the same source phase. |
|
Automatic |
Select to use transition rules that determine when the system initiates a transition to the specified targets. |
Manual |
Select to initiate a transition to the specified target only when a user manually initiates the transition. A source phase with multiple targets can have a combination of automatic and manual transitions. |
Target Phase |
Select a phase that can follow the source phase. The list on the left side of the page is updated immediately. |
Click to add a new transition definition with the same source phase as the current definition. (The Add button for the Source Phase field creates a new transition definition with the target phase as the new source phase.) |
|
Select to make the target phase the default target for the source phase. If all required tasks within a phase are complete and none of the automatic transition criteria for the phase have been satisfied, then the system initiates a transition to the default target phase, even if the target phase has a manual transition. You can only set one default target phase for each source phase. |
Use these fields to set criteria for automatic transitions to the current target phase. These fields are not available for entry when the start phase is set up for manual transitions.
All tasks completed successfully |
Select to initiate a transition to the current target phase only after all required tasks in the source phase have the status Complete - Success. |
All tasks completed, but one failed |
Select to initiate a transition to the current target phase after all required tasks are complete but one or more has the status Complete - Failed. |
The tasks do not complete in time |
Select to initiate a transition to the target phase when the required tasks in the start phase are not completed on time. The allowable time is based on the Maximum Time field on the Phase page. If you do not enter a maximum time, the allowable time is based on the maximum calculated time for the phase. If the maximum time or maximum calculated time is zero, the transition happens immediately. |
Any task fails and all tasks not completed |
Select to initiate a transition to the current target phase immediately after any required task has the status Complete - Failed. The system does not wait for the completion (successful or failed) of the other tasks in the phase. |
Business Project Validation
Click the button to check for conditions that render the business project invalid. If no such conditions exist, the project is valid, and the Validated check box is automatically selected. |
Select an event to associate with a workflow notification. Options are:
|
|
Select the workflow action to trigger when the associated event occurs. If the workflow action sends an email notification, select the template to use to construct the email. |
See Also
Setting Up PeopleSoft CRM Workflow
Access the Invalid Actions page.
Select the phase during which the specified actions are invalid. |
|
Enter the actions that are invalid during the specified phase. |
|
Displays the message that appears if a user attempts the action during the phase. You can change the message on the Invalid Actions Definition page. |
Access the Parent Object page.
Establish the relationship between the business project and the parent object, which is an object such as a case or an order that can invoke the business project. This page does not apply to sub-business projects.
Access the References page.
View the lists of phases and business projects that reference the selected sub-business project. This page does not apply to main business projects.
To clone and delete phases, use the Phase Save As and Delete Phase components.
To clone and delete business projects, use the Business Project Save As and Delete Business Project components.
This section discusses how to:
Clone phases or business projects.
Delete phases or business projects.
Page Name |
Object Name |
Navigation |
Usage |
RC_BP_SAVEAS |
Set Up CRM, Common Definitions, Business Projects, Business Project Save As, Business Project Definitions Save As |
Clone an existing business project. |
|
RC_ACT_SAVEAS |
Set Up CRM, Common Definitions, Business Projects, Phase Save As, Phase Definitions Save As |
Clone an existing phase. |
|
RC_BP_DELETE |
Set Up CRM, Common Definitions, Business Projects, Delete Business Project, Delete Business Projects Definition |
Delete a business project. |
|
RC_ACT_DELETE |
Set Up CRM, Common Definitions, Business Projects, Delete Phase, Delete Phase Definitions |
Delete a phase. |
Access the Business Project Definitions Save As page or the Phase Definitions Save As page.
Select the object to clone, and enter a name and description for the object to be created. If you are cloning a business project, you must also select whether to save the new business project as a main business project or a sub-business project.
When you save the page, the new object is created. Newly created business projects are inactive and must be validated before they are active.
Access the Delete Phase Definitions page or the Delete Business Projects Definition page.
Select the objects to delete. You cannot delete business projects that have already been instantiated. Likewise, you cannot delete sub-business projects that are incorporated into a phase.
When you save the page, the objects are deleted.