Introduction to Intermediate Events Introduction to the Timer Catch Event

6-34 Modeling and Implementation Guide for Oracle Business Process Management Figure 6–43 Example of an Expanded Subprocess This figure shows an example of an expanded subprocess. It shows three flow objects in a straight line: A service task, a subprocess, and a user task. Each is connected by a sequence flow. The expanded subprocess displays the flow objects contained within the subprocess. It also displays a minus icon that can be used to collapse the subprocess. Like other types of processes, subprocesses have start and end events and contain their own flow. A subprocess must begin with a none start event and end with a none end event. Subprocesses do not contain swimlanes. Subprocesses also behave like activities. They can have incoming and outgoing sequence flows. They also contain data associations that define the data objects used within the subprocesses. Subprocesses can also contain timer, message, and boundary events. If necessary, your process can contain nested subprocesses. However, you should use nested subprocesses only when necessary to make your process more readable.

6.9.1 Subprocesses and Sequence Flows

The flow objects within a subprocess cannot have sequence flows that connect to flow objects outside the subprocess. Like other flow objects, subprocesses have incoming and outgoing sequence flows.

6.9.2 Subprocesses in Context

Figure 6–44 show an example of a subprocess. In this example, a subprocess is used to group the service task used to process a sales quote. Figure 6–44 Example of a Subprocess This graphic shows a start event labeled Receive Quote From Supplier, which has a sequence flow extending to a User task labeled EnterQuote. A sequence flow extends from the EnterQuote task to the expanded subprocess, illustrated as a rounded rectangle containing a process. From the subprocess, a sequence flow extends to an end task labeled Send Response to Supplier. Modeling Business Processes with Oracle BPM 6-35

6.9.3 Looping Subprocesses

You can configure a subprocess to repeat numerous within the context of a process flow. This is something that a process analyst should consider when designing a process, but the implementation is generally performed by process developers.

6.10 Changing the Value of Data Objects in Your Process

This section describes how to use the script task to change the values of data objects within your process.

6.10.1 Introduction to the Script Task

The script task is used to change values of data objects within your process. The script task is used when you want to model this explicitly this within your business process or when you must change the values of data objects outside of another flow object. It is often used to set initial values of data objects at the beginning of a process. Figure 6–45 shows the default notation for the script task. Figure 6–45 The Script Task The script task is represented by a yellow rectangle with a scroll icon in the middle. Script tasks are generally added to a process by process developers who are responsible for defining the behavior of data objects within a process and process-based application.

6.10.1.1 The Script Task in Context

Figure 6–46 shows two examples of the script task used at the beginning of the Sales Quote example process. The Sales Quote example process uses a script task to set initial values for data objects at the beginning of a the process and to set values for several business indicators. Figure 6–46 The Script Task within the Sales Quote Example Project This graphic shows a start event with a sequence flow extending to a script task labeled Initialize Quote.