Skip Headers
Oracle® Warehouse Builder User's Guide
10g Release 1 (10.1)

Part Number B12146-02
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

10 Designing Process Flows

After you create mappings that define the operations for moving data from sources to targets, you can create and define process flows. Process flows interrelate mappings and activities external to Warehouse Builder such as email, FTP commands, and operating system executables.

This chapter contains the following topics:

About Process Flows

A process flow describes dependencies between Warehouse Builder mappings and external activities such as email, FTP, and operating system commands.

Each process flow begins with a Start activity and concludes with an End activity for each stream in the flow. You can design a process flow to launch other process flows. Figure 10-1 shows an example of a process flow that launches a mapping MAP1. If the mapping completes successfully, Warehouse Builder sends an email notification EMAIL_SUCCEED and launches another process flow SUBPROC1. If the mapping fails, Warehouse Builder sends an email EMAIL_FAIL and ends the process flow.

Figure 10-1 Sample Process Flow

Surrounding text describes Figure 10-1 .

When you design a process flow in Warehouse Builder, you use an interface known as the Process Flow Editor. Alternatively, you can create and define process flows using the Warehouse Builder scripting language, OMB Scripting Language. For information on how to create and define process flows in OMB Plus, the scripting interface, see the Oracle Warehouse Builder Scripting Reference .

Warehouse Builder process flows comply with the XML Process Definition Language (XPDL) standard set forth by the Workflow Management Coalition (WfMC). When you generate a process flow, Warehouse Builder generates an XML file in the XPDL format. You can plug the generated XML file into any workflow engine that follows the XPDL standard.

About Process Flow Modules

Like all modules Warehouse Builder, process flow modules allow you to group objects to be deployed to a common Location. For instructions, see "Creating Process Flow Modules".

From the Warehouse Builder Deployment Manager, you can deploy process flows to Oracle Workflow or any XPDL complaint process flow engine. For information about Oracle Workflow, see the Oracle Workflow Guide. You can also execute and schedule process flows using Oracle Enterprise Manager. For information about Oracle Enterprise Manager, see the Oracle Enterprise Manager Administrator's Guide.

About Process Flow Packages

Process flow modules contain process flow packages. The process flow package is the grouping mechanism for process flows you plan to deploy as one unit. At runtime, you can launch one process flow that launches other process flows that exist in the same process flow package. For example, Figure 10-2 depicts a process flow PROC1 that includes process flow SUBPROC1. In order to add SUBPROC1 to PROC1, the process flows must be contained within the same process flow package.

For instructions on how to create a process flow package, see "Creating Process Flow Packages".

Procedure for Defining Process Flows

To define a process flow, complete the following steps:

  1. Creating Process Flow Modules

  2. Creating Process Flow Packages

  3. Creating Process Flow Definitions

  4. Adding Activities

  5. Connecting Activities

  6. Configuring Process Flows

  7. Validating and Generating Process Flows. For more information on validating code for process flows, see Chapter 12, "Validating Objects".

Creating Process Flow Modules

Before working with process flows, create a process flow module. The module is the container by which you can validate, generate, and deploy a group of process flows. Process flow modules include process flow packages which include process flows.

To create a process flow module:

  1. Right-click the Process Flows node in the navigation tree and select Create Process Flow Module.

    Warehouse Builder displays the Welcome page for the New Module Wizard.

  2. Click Next.

    The New Module Wizard displays the Name page.

  3. On the Name page, type:

    Module name: Module names must be unique within a project.

    Module status: Specify the status as Development, Quality Assurance, or Production. This status is for descriptive purposes only.

    Description: Enter an optional text description.

  4. Click Next.

    The New Module Wizard displays the Location page.

    You can select a location from the drop down box or leave the location unspecified. If you do not specify a location in the wizard, you must specify a location on the process flow module properties sheet before you can deploy process flows packages in the module.

  5. Click Next.

    The New Module Wizard displays the Finish page. Verify the name and location of the new process flow module.

  6. Click Finish.

    Warehouse Builder stores the definition for the module and inserts its name in the warehouse module navigation tree. You can now create a process flow package.

Creating Process Flow Packages

After you create a module for process flows, you can create the process flow package. The process flow package is the grouping mechanism that determines which process flows you can interrelate. At runtime, you can launch one process flow that launches other process flows that exist in the same process flow package.

To create a process flow package:

  1. Right-click a process flow module in the navigation tree and select Create Process Flow Package.

    Warehouse Builder displays the Create Process Flow Package dialog.

  2. Type a name and optional description for the process flow package.

  3. Select OK.

    You can now create a process flow definition.

Creating Process Flow Definitions

After you create a module and package for process flows, you can create the process flow definition.

To create a process flow definition:

  1. Right-click a process flow package in the navigation tree and select Create Process Flow.

    Warehouse Builder displays the Create Process Flow dialog.

  2. Type a name and optional description for the process flow.

  3. Select OK.

    Warehouse Builder launches the Process Flow and displays the Graph View tab with a Start activity and an End activity.

    You can now model the process flow with activities and transitions.

About the Process Flow Editor

Once you create a process flow module and package, use the Process Flow Editor to create, design, and edit process flows. The Process Flow Editor includes a variety of activities that you add and then connect with transitions to design a flow.

Activity represents units of work in a process flow. These unit of work can involve components internal or external to Warehouse Builder.

Transitions indicate the sequence and conditions in which to launch activities.

Figure 10-2 shows the Process Flow Editor with a sample process flow. Activities display as icons on the canvas. In this example, the activities include a start, a mapping activity, 2 email activities, a subprocess, and two end activities. Arrows between the activities represent the transitions.

Figure 10-2 Process Flow Editor

Surrounding text describes Figure 10-2 .

The Process Flow Editor has of the following components:

Figure 10-3 Indicator Bar on the Process Flow Editor

Surrounding text describes Figure 10-3 .

In the left corner are Naming Mode, Rename Mode, Read/Write, and Validation Mode.

In the right corner are the percent zoom indicator and the navigation mode. In the preceding figure, the zoom level is at 140% and the navigation mode is set to Select Mode.

When you select an activity or transition from the canvas, the text you entered for the description appears on the indicator bar. In the preceding figure, the description reads, ÒMAP1 loads staging area tables.Ó

To display the Process Flow Editor:

  1. From Process Flows on the navigation tree, select a process flow module. If no process flow modules are listed, create a process flow module. For instructions, see "Creating Process Flow Modules".

  2. Select a process flow package from a process flow module. If no process flow packages are listed, create a process flow package. For instructions, see "Creating Process Flow Packages".

  3. Select a process flow from the navigation tree as shown in Figure 10-4. If no process flows are listed in the process flow package, right-click the process flow package and select Create Process Flow.

    Figure 10-4 Process Flow in the Navigation Tree

    Surrounding text describes Figure 10-4 .
  4. After you create a process flow definition, you can open it by double-clicking on the process flow in the navigation tree.

    Or, select a process flow and then from the Object menu, select Editor. Or, select a process flow and type Ctrl and the letter O. Or, Right-click a process flow, and select Editor... from the pop-up menu.

    Warehouse Builder displays the Process Flow Editor. By default, the Process Flow Editor displays the Graph View in the select mode.

Navigating in the Process Flow Editor

The Process Flow Editor includes a variety of tools to assist you in navigating, selecting, and viewing objects on the canvas. Commands you use frequently when designing process flows include the following:


Surrounding text describes SelectMode.gif.

Select mode: Use Select mode to select objects on the canvas. When you select an activity, the editor displays a blue border around the activity and you can edit, move, or delete the activity. You can edit the activity in the Activity View or you can right click for more options. When you select a transition, the editor changes the arrow from black to blue. You can edit the transition in the Transition View or right click for more options. To activate the Select mode, click the icon in the toolbar or select Edit and Select mode from the menu.


Surrounding text describes CreateTransition.gif.

Create transition: Use the create transition mode to connect activities on the canvas. Create transition is a drawing tool only. To edit or delete a transition, switch to the select mode and select the transition. To activate the create transition mode, click the icon in the toolbar or select Edit and Create transition from the menu.

For navigating and displaying complex process flows, you may find the following tools useful:

  • Panning

  • Interactive zoom

  • Zoom in

  • Zoom out

  • Fit in window

  • Auto layout

  • Birds eye view

  • Zoom

  • Center

For more information on these and other tools available in the Process Flow Editor, see "Process Flow Editor Menu and Toolbar".

About Activities

The basic design elements for a process flow include activities and transitions. Activities represent units of work for the process flow. When you design a process flow in Warehouse Builder, you select activities from the Process Flow Editor toolbox and drag them onto the canvas.

For a description of each activity, see "Using Activities in Process Flows".

Adding Activities

To add an activity to a process flow:

  1. Select an activity from the Toolbox and drag it onto the canvas.

    When you add transformations, mappings, and subprocesses, select the object from the Add Activity dialog.

    The Process Flow Editor displays the activity on the canvas and lists the activity on the Activity Panel, which is located at the lower left corner of the Process Flow Editor.

  2. In the Activity Panel, select the activity.

    You can rename the activity or accept the default name.

    You can add an optional description for the activity. This description appears on the indicator bar at the bottom of the Process Flow Editor when you select the activity in the canvas.

    To navigate and modify complex process flows easily, add descriptions for each activity.

  3. In the Activity Panel, expand the activity by clicking on the plus icon to the left of the activity name.

    The Process Flow Editor displays the parameters for the activity. These properties vary according to the type of activity. Figure 10-5, for example, shows the properties for an FTP activity.

    Figure 10-5 Parameters for an FTP activity

    Surrounding text describes Figure 10-5 .
  • Parameter: The name of the activity parameter, such as COMMAND and PARAMETER in Figure 10-5. For information about a specific parameter, look up the activity by name under "Using Activities in Process Flows".

  • Datatype: For all activities except the Start activity, the parameter datatype is read-only. Warehouse Builder assigns the appropriate datatype for all default parameters.

  • Direction: The parameter direction is read-only. A direction of IN indicates that the parameter is an input parameter for the activity.

  • Binding: Use binding to pass in parameters from outside the process flow. If you assign a parameter in Binding, it overrides any text you assign to Value. For more information on binding, see "Binding and Passing Parameters to Activities".

  • Value: Warehouse Builder assigns default values to some parameters. To override the default, type in a new value.

  • Description: You can type an optional description for each property.

Binding and Passing Parameters to Activities

You can pass in external values into a process flow. To dynamically change the values passed to various activities at runtime, execute the process flow with different parameter values.

You can input values to activity parameters based on parameters you defined for the Start activity. This is referred to as binding. To bind an activity, the activity parameter must match the datatype and direction of the input parameter in the Start activity. If you want to pass in a date into the process flow, verify that the date is in the format 'mm-dd-yyyy'.

To pass values to an activity:

  1. To add an input parameter to the process flow, select the Start activity and select Add at the bottom of the Activity Panel.

    The Process Flow Editor adds a parameter under the Start activity as shown in Figure 10-6.

    Figure 10-6 Adding a parameter to a Start activity

    Surrounding text describes Figure 10-6 .
  2. Set the properties for the parameter.

    Change the parameter name and datatype as necessary. You cannot alter the direction and binding. The direction is IN, indicating that the parameter is an input parameter only. For value, type the parameter value.

  3. Select the activity you want to receive the parameter.

    In this step, select an activity other than the start activity you used in the previous steps of these instructions.

  4. Expand the activity to receive the parameter, select its parameter, and select Binding.

    The Process Flow Editor displays a list of start activity input parameters matching the datatype and direction of the activity parameter you selected. Figure 10-7 shows PARM_DAY defined in START1 and selected as input for parameter Z2 in the transformation activity NEW_TIME.

    Figure 10-7 Binding an Activity Parameter

    Surrounding text describes Figure 10-7 .

About Transitions

Use transitions to indicate the sequence and conditions in which activities occur in the process flow. You can use transitions to execute an activity based on the completion state of the preceding activity.

Table 10-1 lists the types of conditions you can specify for a transition and shows the associated icons on the canvas.

Table 10-1 Types of Conditions for Transitions

Icon Transition Description
Surrounding text describes TransNotSpecified.gif.

Unconditional

When you add a transition to the canvas, by default, the transition has no condition applied to it. The Process Flow Editor continues the flow once the preceding activity completes. The process flow continues regardless of the ending state of the previous activity.

Surrounding text describes TransSuccess.gif.

Success

The Process Flow Editor continues the flow only if the preceding activity ends in success.

Surrounding text describes TransWarning.gif.

Warning

The Process Flow Editor continues the flow only if the preceding activity ends with warnings.

Surrounding text describes TransError.gif.

Error

The Process Flow Editor continues the flow only if the preceding activity ends in error.


If the activity has only one outgoing activity, you can specify any of the four conditions listed in Table 10-1. When you add multiple outgoing transitions to an activity, ensure that the conditions do not conflict. A conflict occurs when the process flow logic can evaluate to more than one outgoing transition being true. For a single activity, you can specify either an unconditional outgoing transition OR one of each of the following transition conditions: SUCCESS, WARNING, and ERROR. Transition conditions are evaluated in the following order: SUCCESS, WARNING, ERROR, and UNCONDITIONAL.

Figure 10-8 shows a portion of a process flow in which different activities are triggered based on the three possible completion states of MAP1. Since only one of these conditions can be satisfied at a time, there is no conflict. If you attempt to add an unconditional transition or another conditional transition, two transition conditions would be true and the process flow would be invalid.

Figure 10-8 Outgoing Transition Conditions

Surrounding text describes Figure 10-8 .

Connecting Activities

To create dependencies using transitions:

  1. From the Process Flow Editor, select Edit and Create Transition or select the Create Transition icon from the menu bar.

    The Process Flow Editor displays the cursor as a small horizontal arrow, indicating that you can now use the mouse button to connect activities.

  2. Place the cursor over an activity you want to connect from and press the left mouse button. Continue to press the left mouse button until you place the cursor over the second activity.

    The Process Flow Editor displays an arrow between the two activities and adds an entry in the Transition Panel.

  3. In the Transition Panel, select the transition. The Transition Panel displays the following properties for each transition:

    From: This property is read-only and indicates the first activity in the connection.

    To: This property is read-only and indicates the second activity in the connection.

    Condition: You can specify a success, error, or warning condition for a transition. When you select a condition, the Process Flow Editor displays the associated icon inserted into the transition line on the canvas.

    Description: You can type an optional description for the transition. When you select the transition on the canvas, the description displays on the indicator bar.

Using Activities in Process Flows

This section begins with a table that summarizes all activities followed by detailed explanations for using each activity. Activities are presented in alphabetical order.

Table 10-2 lists each activity and shows the associated icon in the Process Flow Editor. It also lists the number of incoming and outgoing transitions allowed for each activity.

Table 10-2 Process Flow Activities

Icon Activity Brief Description Incoming Transitions Outgoing Transitions
Surrounding text describes AND.gif.

AND


Use the AND activity to specify the completion of all incoming activities before launching another activity.

2 or more allowed

1 unconditional transition only

Surrounding text describes email.gif.

Email


Use the Email activity to send email. For example, send notifications about the status of activities in the process flow.

1 or more allowed

1 unconditional transition OR up to 3 conditional transitions

Surrounding text describes EndSuccess.gif.

End


By default, Warehouse Builder adds an END_SUCCESS to each process flow. You can include up to 3 End activities in the flow: success, error, or warning.

1 or more allowed

not allowed

Surrounding text describes ExternalProcess.gif.

External Process


Use the external process activity to represent an activity not defined by Warehouse Builder and to incorporate it into a process flow.

1 or more allowed

1 unconditional transition OR up to 3 conditional transitions

Surrounding text describes file_exists.gif.

File Exists


Use the File Exists activity to check if a file is located on a specified drive or directory. The File Exists activity waits for the file to arrive before resuming the process flow.

1 or more allowed

1 unconditional transition OR up to 3 conditional transitions

Surrounding text describes fork.gif.

FORK


Use the Fork activity to launch two or more activities after completing an activity.

1 or more allowed

2 or more unconditional transitions

Surrounding text describes ftp.gif.

FTP


Use the FTP activity to launch a file transfer protocol command during a process flow. For example, use FTP to move data files to the machine where a mapping executes.

1 or more allowed

1 unconditional transition OR up to 3 conditional transitions

Surrounding text describes mapping.gif.

Mapping


Use the Mapping activity to add an existing mapping to the process flow.

1 or more allowed

1 unconditional transition OR up to 3 conditional transitions

Surrounding text describes OR.gif.

OR


Use the OR activity to launch an activity after the completion of any of two or more specified activities.

2 or more allowed

1 unconditional transition only

Surrounding text describes start.gif.

Start


By default, Warehouse Builder adds a Start activity to each process flow. You can pass parameters in a process flow through the Start activity.

not allowed

1 unconditional transition only

Surrounding text describes subprocess.gif.

Subprocess


Use the Subprocess activity to embed an existing process flow within the process flow.

1 or more allowed

1 unconditional transition OR up to 3 conditional transitions

Surrounding text describes Transform.gif.

Transform


Use the Transform activity to add an existing transformation to the process flow.

1 or more allowed

1 unconditional transition OR up to 3 conditional transitions


AND

Use the AND activity to specify the completion of two or more activities before resuming the process flow. The AND activity can have two or more incoming transitions but can have only one unconditional outgoing transition.

Surrounding text describes AND.gif.

To correctly design process flows with an AND activity, you must place a FORK activity upstream of the AND. Also, the number of transitions going into the AND must be less than or equal to the number of outgoing transitions from the upstream FORK. The FORK is the only activity that enables you to assign multiple unconditional transitions and therefore ensure the completion of multiple activities as required by the AND activity.

Figure 10-9 shows the AND and FORK activities in a process flow. In this example, AND_ACTIVITY triggers downstream activities based on the completion of MAP1 and MAP2. The process flow is valid because the FORK activity has 3 outgoing transitions while AND_ACTIVITY has 2 incoming transitions. The process flow would also be valid if the transition and activities associated with MAP3 were deleted.

Figure 10-9 AND Activity in a Process Flow

Surrounding text describes Figure 10-9 .

Email

You can instruct Warehouse Builder to send email notifications after the completion of an activity in a process flow. You may find this useful, for example, for notifying administrators when activities such as mappings end in error or warnings.

Surrounding text describes email.gif.

Table 10-3 lists the parameters you set for the email activity.

Table 10-3 Email Activity Parameters

Parameter Description

SMTP Server

The name of outgoing mail server. The default value is Local Host.

Port

The port number for the outgoing mail server. The default value is 25.

From_Address

The email address from which process flow notifications are sent.

Reply_To_Address

The email address or mailing list to that recipients should respond.

To_Address

The email address(es) or mailing list(s) that receive the process flow notification. Use a comma or a semi-colon to separate multiple email addresses.

CC_Address

The email address(es) or mailing list(s) that receive a copy of the process flow notification. Use a comma or a semi-colon to separate multiple email addresses

BCC_Adress

The email address(es) or mailing list(s) that receive a blind copy of the process flow notification. Use a comma or a semi-colon to separate multiple email addresses

Importance

The level of importance for the notification. You can type in any text such as, for example, High, Medium, or Low.

Subject

The text that appears in the email subject line.

Message_Body

The text that appears in the body of the email. To type in or paste text, select Value at the bottom of the Activity panel. The Process Flow Editor does not limit you on the amount of text you can enter.


For email addresses, you can enter the email address with or without the display name. For example, the following entries are correct:

jack.emp@oracle.com

Jack Emp<jack.emp@oracle.com>

Jack Emp[jack.emp@oracle.com]

Jack Emp[jack.emp@oracle.com],Jill Emp[jill.emp@oracle.com]

Jack Emp[jack.emp@oracle.com];Jill Emp[jill.emp@oracle.com]

End

Every path in the process flow must terminate in an End activity.

Surrounding text describes EndSuccess.gif.

When you first create a process flow, Warehouse Builder includes a success type End activity by default. Use end types to indicate the type of logic contained in a path. Since a given activity such as a mapping has three possible outcomes, the Process Flow Editor includes three ending types, as shown in Table 10-4. You can use these ending types to design error handling logic for the process flow.

Table 10-4 Types of End Activities

Icon End Type Description
Surrounding text describes EndSuccess.gif.

Success

Indicates that the path or paths contain logic dependent upon the successful completion of an upstream activity.

Surrounding text describes EndWarning.gif.

Warning

Indicates that the path or paths contain logic dependent upon an upstream activity completing with warnings.

Surrounding text describes EndError.gif.

Error

Indicates that the path or paths contain logic dependent upon an upstream activity completing with errors.


You can design a process flow to include one, two, or all three types of endings. You can use each ending type only once; duplicate ending types are not allowed. Each End activity can have a single or multiple incoming transitions.

In Figure 10-10, END_SUCCESS has three incoming transitions, each dependent upon the successful completion of upstream activities. END_ERROR has one incoming transition from an email activity that runs when any of the upstream mapping activities completes with errors.

Figure 10-10 End Activities in a Process Flow

Surrounding text describes Figure 10-10 .

By default, every process flow includes an END_SUCCESS. Although you cannot change an end activity to another type, you can add others of different types.

To add end activities to a process flow:

  1. From the toolbox on the Process Flow Editor, drag and drop the End icon onto the canvas.

    The Process Flow Editor displays a dialog for adding end activities, as shown in Figure 10-11.

    Figure 10-11 Add End Activity Dialog

    Surrounding text describes Figure 10-11 .
  2. Select from the list of available end types.

    Warehouse Builder does not allow you to select ending types already present in the process flow.

  3. Select OK.

    Warehouse Builder adds the End activity or activities to the canvas.

External Process

The external process activity enables you to incorporate into a process flow an activity not defined within Warehouse Builder.

Surrounding text describes ExternalProcess.gif.

You can specify one or more incoming transitions to launch a external process activity. For outgoing transitions, you can either specify one unconditional transition or one of each of the three conditional transitions.

If you specify conditional outgoing transitions, you can configure the activity to base its status on it return value. For more information on Use Return as Status, see"Configuring Process Flows".

During code generation, Warehouse Builder generates a job control code (TCL script) for external processes that you can deploy as part of the Warehouse Builder workflow.

Table 10-5 lists the parameters you set for the FTP activity.

Table 10-5 External Process Activity Parameters

Parameter Description

Command

The command to execute the external process you defined. Type the path and file name such as c:\winnt\system32\cmd.exe .

Parameter List

The list of parameters to be passed to the external process. Type the path and file name such as ?/c?c:\\temp\\run.bat .

The Process Flow Editor interprets the first character you type to be the separator. For example, the Process Flow Editor interprets the following entry as /c and dir.

?/c?dir?

Use the backslash as the escape character. For example, the Process Flow Editor interprets the following entry as -l and -s and /.

/-l/-s/\//

You can also enter the substitution variables listed in Table 10-6.

Success Threshold

Designates the completion status.Type in the highest return value from the operating system that indicates a successful completion. When the operating system returns a higher value, it indicates that the command failed. The default value is 0.

Script

You can enter a script here or type in a filename for a script. If you type in a filename, use the ${Task.Input} variable in the paramter list to pass the filename.

To type in or paste text, select Value at the bottom of the Activity panel. The Process Flow Editor does not limit you on the amount of text you can enter.

Each carriage return in the script is equivalent to pressing the Enter key. Therefore, end the script with a carriage return to ensure that the last line is sent.


Table 10-6 lists the substitute variables you can enter for the FTP activity.

Table 10-6 Substitute Variables for the External Process Activity

Variable Value

${Working.Host}

The host value for the working location.

${Working.User}

The user value for the working location.

${Working.Password}

The password value for the working location.

${Working.Rootpath}

The root path value for the working location.

${Task.Input}

Use this variable when you type in a filename for the script parameter. ${Task.Input} passes the filename you entered for the script parameter.

Under parameter list, you could type the following, using the question mark as the separator:

?Ó-s:${Task.Input}?


File Exists

Use the File Exists activity to verify the existence of a file before executing the next activity. In the Activities panel, type a string value for the path of the file.

Surrounding text describes file_exists.gif.

The time out setting for the workflow engine determines how long the File Exist activity waits for a file. If the file does not arrive before the time out setting expires, the File Exists activity terminates with errors.

FORK

Use the FORK activity to launch multiple, concurrent activities after the completion of an activity.

Surrounding text describes fork.gif.

You can assign multiple incoming transitions to a FORK. The FORK is the only activity that enables you to assign multiple unconditional outgoing transitions for parallel execution. For example, in Figure 10-12, the process flow executes the activities named FTP, FDS, and EMAIL in parallel after completing MAP1.

Figure 10-12 FORK Activity Ensures Parallel Execution

Surrounding text describes Figure 10-12 .

Figure 10-13 shows the same activities without the FORK activity. In this case, only one of the activities runs based on the completion state of MAP1.

Figure 10-13 Absence of FORK Activity Results in Conditional Execution

Surrounding text describes Figure 10-13 .

The Process Flow Editor does not limit you on the number of outgoing transitions or concurrent activities you can assign from a FORK. When designing for concurrent execution, design the FORK based on limitations imposed by the workflow engine or server you use to run the process flow.

FTP

Use the FTP activity to transfer files from one location to another.

Surrounding text describes ftp.gif.

You can specify one or more incoming transitions to launch an FTP activity. For outgoing transitions, you can either specify one unconditional transition or one of each of the three conditional transitions.

If you specify conditional outgoing transitions, configure the FTP activity to base its status on it return value. For example, the operating system returns a value of 1 when the FTP command completes successfully. If you set Use Return as Status to true on the configuration properties window, the process flow continues along the success transition. For more information on Use Return as Status, see"Configuring Process Flows".

Table 10-7 lists the parameters you set for the FTP activity.

Table 10-7 FTP Activity Parameters

Parameter Description

Command

The file transfer protocol command such as c:\WINNT\System32\ftp.exe .

Parameter List

The list of parameters to be passed to the FTP command such as /usr/bin/ftp . The Process Flow Editor interprets the first character you type to be the separator. For example, the Process Flow Editor interprets the following entry as two parameters, /c and dir.

?/c?dir?

Use the backslash as the escape character. For example, the Process Flow Editor interprets the following entry as three parameters, -l and -s and /.

/-l/-s/\//

You can also enter the substitution variables listed in Table 10-8.

Success Threshold

Designates the FTP command completion status.Type in the highest return value from the operating system that indicates a successful completion. When the operating system returns a higher value, it indicates that the command failed. The default value is 0.

Script

You can enter a script here or type in a filename for a script. If you type in a filename, use the ${Task.Input} variable in the paramter list to pass the filename.

To type or paste text, select Value at the bottom of the Activity panel. The Process Flow Editor does not limit you on the amount of text you can enter.

Each carriage return in the script is equivalent to pressing the Enter key. Therefore, end the script with a carriage return to ensure that the last line is sent.


Table 10-8 lists the substitute variables you can enter for the FTP activity. The variables related to working and remote locations depend on values you set when you configure the process flow. For more information, see"Configuring Process Flows".

Table 10-8 Substitute Variables for the FTP Activity

Variable Value

${Working.Host}

The host value for the working location.

${Working.User}

The user value for the working location.

${Working.Password}

The password value for the working location.

${Working.Rootpath}

The root path value for the working location.

${Remote.Host}

The host value for the remote location.

${Remote.User}

The user value for the remote location.

${Remote.Password}

The password value for the remote location.

${Remote.RootPath}

The root path value for the remote location.

${Task.Input}

Use this variable when you type in a filename for the script parameter. ${Task.Input} passes the filename you entered for the script parameter.

Under parameter list, you could type the following, using the question mark as the separator:

?Ó-s:${Task.Input}?


Mapping

Use the mapping activity to add an existing mapping that you defined and configured in the Mapping Editor.

Surrounding text describes mapping.gif.

You can assign multiple incoming transitions to a mapping activity. For outgoing transitions, assign 1 unconditional transition or up to one of each of the unconditional transitions.

When you add a mapping to a process flow, you can view its configuration properties in the Activities panel. The mapping activity in the Process Flow Editor inherits its properties from the mapping in the Mapping Editor. In the Process Flow Editor, you cannot change a property datatype or direction.

You can, however, assign new values that affect the process flow only and do not change the settings for the mapping in the Mapping Editor. For example, if you change the operating mode from set-based to row-based in the Process Flow Editor, the process flow executes in row-based mode. The original mapping retains set-based mode as its operating mode. If want to change the properties for the underlying mapping, see "Configuring Mappings Reference".

If a mapping contains a Mapping Input Parameter operator, specify a value according to its datatype. The Process Flow Editor expects to receive a PL/SQL expression when you add a Mapping Input Parameter operator to a mapping. If the Mapping Input Parameter is a string, enclose the string in double quotes.

If you want to update a process flow with changes you made to a mapping in the Mapping Editor, delete the mapping activity from the process flow and add the mapping activity again.

OR

Use the OR activity to launch an activity based on the completion of one of a multiple number of upstream activities. You can assign multiple incoming transitions and only one unconditional outgoing transition to an OR activity.

Surrounding text describes OR.gif.

An OR activity in a process flow ensures that downstream activities are triggered only once for each run of a process flow. For example, in Figure 10-14, the SUBPROC1 launches once any one of the three upstream Mapping activities completes.

Figure 10-14 The OR activity in an process flow

Surrounding text describes Figure 10-14 .

The Process Flow Editor enables you to omit the OR activity and assign transitions from each of the three Mapping activities to SUBPROC1 shown in Figure 10-14. However, this logic would launch SUBPROC1 three times within the same run of a process flow. Avoid this by using an OR activity.

Start

By default, each process flow includes one start activity. You can set input parameters for the start activity that become the input parameters for the complete process flow.

Surrounding text describes start.gif.

To add parameters to a Start activity:

  1. In the Activity Panel on the Process Flow Editor, select the Start activity.

  2. Select Add at the bottom of the Activity Panel and on top of the indicator bar.

    The Process Flow Editor adds a parameter under the Start activity as shown in Figure 10-15.

    Figure 10-15 Parameter added to a Start activity

    Surrounding text describes Figure 10-15 .
  3. Set the properties for the parameter.

    Change the parameter name and datatype as necessary. You cannot alter its direction and binding. The direction is IN, indicating that the parameter is an input parameter only. For value, type the parameter value.You can overwrite this value at runtime.

  4. You can now use the parameter as input to other activities in the process flow. For instructions, see "Binding and Passing Parameters to Activities".

Subprocess

Use a subprocess activity to launch a previously created process flow. From one process flow, you can launch any other process flow that is contained within the same process flow package.

Surrounding text describes subprocess.gif.

Once you add a subprocess to a process flow, use it in your design similar to any other activity. You can assign multiple incoming transitions. For outgoing transitions, assign either 1 unconditional outgoing transition or up to 3 outgoing conditional transitions.

The END activities within the subprocess apply to the Subprocess only and do not function as a termination point in the process flow.

An important difference between a subprocess and other activities is that you can view the contents of a subprocess, but you cannot edit its contents in the parent process flow. To edit a subprocess, open its underlying process flow from the navigation tree. With the exception of renaming a process flow, the Process Flow Editor propagates changes from child process flows to its parent process flows.

Note:

Use caution when renaming process flows. If you rename a process flow referenced by another process flow, the parent process flow becomes invalid. You must delete the invalid subprocess and add a new subprocess associated with the new name for the child process flow.

To add subprocess activities to a process flow:

  1. From the toolbox in the Process Flow Editor, drag and drop the Subprocess activity icon onto the canvas.

    Warehouse Builder displays a dialog to select and add a process flow as a subprocess.

  2. Expand the process flow module and select a process flow from the same process flow package as the parent process flow.

    Warehouse Builder displays the process flow as a subprocess activity on the parent process flow.

  3. To view the contents of the subprocess, right-click the subprocess and select Expand Node.

    The Process Flow Editor displays the graph for the subprocess surrounded by a blue border.

Transform

When you add transformations from the Warehouse Builder transformation library to a process flow using the Transform activity, the Process Flow Editor displays the parameters for the transformation in the Activity panel.

Surrounding text describes Transform.gif.

You can specify one or more incoming transitions to launch a transform activity. For outgoing transitions, you can either specify one unconditional transition or one of each of the three conditional transitions.

If you specify conditional outgoing transitions, you can configure the activity to base its status on its return value. For more information on Use Return as Status, see"Configuring Process Flows".

If you want to update a process flow with changes you made to a transformation, delete the transform activity from the process flow and add the transform activity again.

Process Flow Editor Menu and Toolbar

This section contains reference information on the following design components in the Process Flow Editor:

Menu Bar

Use the following menu options for designing a process flow within the Process Flow Editor:

Process Flow

Table 10-9 lists the options available under Process Flow on the menu bar.

Table 10-9 Menu Bar: Process Flow

Menu Item Description

Open

Opens another process flow editor within the current warehouse module. If you try to open a process flow that is already open, the Process Flow Editor switches to that process flow.

Validate

Validates the current process flow and all activities. After the validation completes, Warehouse Builder displays the Validation Details Dialog.

Generate

Use to display a sample of the code that will be generated for the current process flow. Warehouse Builder displays the generated script in the Code View tab.

Print Setup

Use to set printing options including scale, margins, and multi-page options.

Print Preview

Displays the print preview for the process flow. You can change the zoom and print setup properties.

Print

Prints the contents of the process flow canvas.

Save As

Saves the process flow diagram to the location you specify. You can use the diagram in documents or web pages to enhance reports and documentation. You can save mapping diagrams either as JPEG (.jpg) or Scalable Vector Graphics (.svg) files.

Properties

Launches the properties window for the process flow.

Close Window

Closes the Process Flow Editor.


Edit

Table 10-10 lists the options available under Edit on the menu bar.

Table 10-10 Menu Bar: Edit

Menu Item Description

Select Mode

The select mode is the default mode when you launch the Process Flow Editor. Use the select mode when you select and move activities on the canvas.

Create transition

Use the create transition mode when you connect activities on the canvas or select existing transitions.

Panning

Use panning to move the objects on the canvas horizontally and vertically. When you select the panning option from the Edit menu, the cursor displays as a hand. While pressing the left mouse button, move the mouse horizontally and vertically to move the objects on the canvas.

Interactive zoom

Use interactive zoom to decrease or enlarge the size of the objects on the canvas. When you select the interactive zoom option from the Edit menu, the cursor displays as a magnifying glass with an up and down arrow at its center. To reduce the objects on the canvas, hold down the left mouse button and move the mouse upward. To enlarge the objects on the canvas, hold down the left mouse button and move the mouse downward. Release the left mouse button when the objects display at the desired size.

Rename

Launches the Rename dialog to rename the object selected on the process flow canvas. This menu option is enabled for activities.

Delete

Deletes the selected object from the process flow canvas. This menu option is enabled for activities and transitions.


View

Table 10-11 lists the options available under View on the menu bar.

Table 10-11 Menu Bar: View

Menu Item Description

Zoom

Zooms the canvas to the selected level of magnification. When you select zoom from the View menu, you can select from the following magnification levels: 200%, 150%, 100%, 75%, 50%, and 25%.

Fit in Window

Resizes all objects to fit on the canvas.

Auto Layout

Resizes and rearranges all the objects on the canvas based on a default layout for process flows. Use auto layout to display objects in sequential order, from left to right. The start activity displays on the left and end activities on the right.

Center

Centers the objects on the canvas.

Expand Subprocess

Displays the graph for the subprocess on the canvas. The subprocess graph is enclosed by a blue border.

View Subprocess

Displays the subprocess in the Process Flow Editor.

Return to parent

After using the view subprocess command, use return to parent to activate the Process Flow Editor for the parent process flow.

View Validation Messages

Launches the Validation Status dialog.


Window

Table 10-12 lists the options available under Window on the menu bar.

Table 10-12 Menu Bar: Window

Menu Item Description

Show/Hide Birds Eye View

Use to display or remove the Birds Eye View on the canvas.

Show/Hide Activities Panel

Use to display or remove the activity panel on the canvas. When you select to show the activity panel, Warehouse Builder displays the activity panel in the lower left corner of the Process Flow Editor.

Show/Hide Transition Panel

Use to display or remove the transition panel on the canvas. When you select to show the transition panel, Warehouse Builder displays the transition panel in the lower left corner of the Process Flow Editor.

Arrange All

Arranges all the viewers in the process flow editor.


Help

Table 10-13 lists the options available under Help on the menu bar.

Table 10-13 .Menu Bar: Help

Menu Item Description

Contents

Launches the online help viewer with the ÒContentsÓ tab selected. Expand the content tree to view the table of contents.

Index

Launches the online help viewer with the Index tab selected.

Search

Launches the online help with the Search tab selected.

Topics

Launches the online help viewer for the selected topic.

About Oracle Warehouse Builder

Launches the About Warehouse Builder dialog.


Toolbar

Table 10-14 lists the buttons on the Process Flow Editor tool bar in order of appearance.

Table 10-14 Process Flow Editor Toolbar

Button Description

Toggle Tool Palette

Toggles the palette display on and off.

Print

Prints the contents of the editor.

Save As

Saves the process flow diagram to the location you specify. You can use the diagram in documents or web pages to enhance reports and documentation. You can save mapping diagrams either as JPEG (.jpg) or Scalable Vector Graphics (.svg) files.

Validate

Validates the current process flow. After the validation completes, Warehouse Builder displays the Validation Results dialog.

Synchronize

Synchronizes the process flow with any updates to the repository since you opened the process flow. Other users may have made changes that affect the current process flow. This will check for changes and make the necessary updates.

Select mode

The select mode is the default mode when you launch the Process Flow Editor. Use the select mode to select objects on the canvas. When you select an activity, the editor displays a blue border around the activity and you can edit, move, or delete the activity. When you select a transition, the editor changes the arrow from black to blue and you can edit the transition.

Create Transition

Use the create transition mode to connect activities on the canvas.

Panning

Use panning to move the objects on the canvas horizontally and vertically. When you select the panning option from the Edit menu, the cursor displays as a hand. While pressing the left mouse button, move the mouse horizontally and vertically to move the objects on the canvas.

Interactive zoom

Use interactive zoom to decrease or enlarge the size of the objects on the canvas. When you select the interactive zoom option from the Edit menu, the cursor displays as a magnifying glass with an up and down arrow at its center. To reduce the objects on the canvas, hold down the left mouse button and move the mouse upward. To enlarge the objects on the canvas, hold down the left mouse button and move the mouse downward. Release the left mouse button when the objects display at the desired size.

Zoom in

The zoom in option appears as a magnifying glass with a plus sign (+) at its center. Click the icon to increase the magnification of the objects on the canvas.

Zoom out

The zoom out option appears as a magnifying glass with a negative sign (-) at its center. Click the icon to decrease the magnification of the objects on the canvas.

Fit in window

Resizes all objects to fit on the canvas.

Auto layout

Resizes and rearranges all the objects on the canvas based on a default layout for process flows. Use auto layout to display objects in sequential order, from left to right. The start activity displays on the left and end activities on the right.

Birds eye view

Displays the Birds Eye View on the canvas.

Expand subprocess

Displays the graph for the subprocess on the canvas. The subprocess graph is enclosed by a blue border.

Visit child process

Launches the Process Flow Editor for the subprocess.

Return to parent

After using the view subprocess command, use return to parent to activate the Process Flow Editor for the parent process flow.

Properties

Launches the Process Flow Properties dialog.

Help

Invokes the online help set.