Siebel Business Process Framework: Workflow Guide > Manipulating Data in a Workflow Process > Using Process Properties >

Using Process Properties to Manipulate Data


This topic describes how to use a process property to manipulate data. It includes the following topics:

Passing a Process Property In and Out of a Workflow Process Step

It is recommended that the Type field of the top level of a hierarchical argument not contain data. If Siebel Workflow passes a hierarchical process property to a workflow process step, then it overwrites the Type field of the top level process property for the duration of the call. It does this so that the process property matches the name of the argument that the configuration for the input argument defines. This configuration applies only for a long-running, interactive, or service workflow process.

For example, assume MyTree is a process property and that the data type for this process property is Hierarchy. MyBusSvc is a business service that contains a hierarchical input argument named SomeTree. Table 20 describes the configuration for this process property.

Table 20. Example of a Process Property in the MVPW
Input Argument
Type
Property Name

SomeTree

Process Property

MyTree

If you use the values that Table 20 describes to define the input argument, then the call to MyBusSvc receives a child in the input process property for the argument where the Process Property Type field is set to SomeTree instead of MyTree. The rest of the data in the child process property remains the same as the contents of the MyTree process property.

Siebel Workflow expects an output argument of a workflow process step that passes out a hierarchy as a child of the output property set. To locate the child, Siebel Workflow examines the Type field of the child.

The string in the Type field must match the name of the Output Argument field, as defined in the output argument applet of the step. If Siebel Workflow finds such a child, then it does the following:

  • Copies the data into the destination process property.
  • Discards the Type field on the incoming hierarchy.
  • Replaces the value that the Type field contains with the name of the process property.

Passing a Process Property by Reference

A sub process that modifies a large amount of data must copy this data through input arguments and output arguments. This situation can negatively affect performance and scalability. Pass By Reference is a feature that allows you to pass a pointer to the property set rather than passing all the data that this property set contains. For more information, see Using the Pass By Reference Feature with a Business Service.

Passing Data Through a Process Property to an Error-Workflow Process

Siebel CRM can pass more than only a system defined process property to an error-workflow process. It can pass the following information:

  • Workflow process instance. To pass a workflow process instance to a process property that resides in an error-workflow process, you must redefine these process properties in the error-workflow process. You must use the same name and data type in each of these workflow processes.
  • Property set of a workflow process instance. To pass the property set of a workflow process instance to an error-workflow process, you must define a hierarchy process property in the workflow process and in the error-workflow process. You must use this hierarchy property to pass the property set.
  • The name of a workflow process instance. To pass the name of a workflow process instance, you must define a process property in this workflow process and in the error-workflow process. You must configure Siebel CRM to pass the name of the workflow process instance through this process property.

To pass data through a process property to an error-workflow process

  1. Define an error exception connector.

    For more information, see Defining an Error Exception Connector.

  2. Click the stop step, and then define an input argument in the MVPW using values from the following table.
    Field
    Value

    Name

    %1

    Type

    Literal

    Value

    Error Message (or a valid string)

  3. In the Workflow Processes list, create a new workflow process that references the error-workflow process.

Concatenating a Process Property

The example in this topic describes how Siebel CRM can use four process properties in a workflow process to concatenate three string values. The three process properties contain the following values in the Default String property:

  • Welcome
  • to
  • Siebel

To concatenate a process property

  1. In Siebel Tools, in the Workflow Processes list, create a new workflow process using values from the following table.

    Property

    Value

    Process Name

    Concatenate

    Business Object

    Account

    Workflow Mode

    Interactive Flow

    For an example, see Creating the Workflow Process.

  2. Open the Process Designer for the workflow process you defined in Step 1, and then create a flow that resembles the following diagram:

    For more information, see Overview of Workflow Process Steps, and Diagramming a Workflow Process.

  3. In the MVPW, define four process properties using values from the following table.
    Name
    In/Out
    Business Object
    Default String
    Data Type

    ProcessProperty1

    In/Out

    Account

    Welcome

    String

    ProcessProperty2

    In/Out

    Account

    to

    String

    ProcessProperty3

    In/Out

    Account

    Siebel

    String

    ProcessProperty4

    In/Out

    Account

    (no value)

    String

    For more information, see Using the Multi Value Property Window.

  4. Click the wait step, and then click the Output Arguments tab in the MVPW.

    You can use the wait step to test and develop a workflow process. For more information, see Adding a Wait Step.

  5. Define an Output Argument for the wait step using values from the following table.
    Type
    Output Arguments
    Value

    Expression

    ProcessProperty4

    [&ProcessProperty1]+' '+[&ProcessProperty2]+' '+[&ProcessProperty3]

    The ampersand (&) identifies the text that immediately follows the ampersand as the name of a process property. This process property can also be the name of a business component field. ProcessProperty1, ProcessProperty2, and ProcessProperty3 can be of different types, such as string or date.

    You must set the Data Type property for the process property in this example to String. If you use a binary type with an expression, then an error might occur. You cannot use an expression to set a process property whose Data Type property is set to binary. An example error in this situation is a process property that includes truncated data.

  6. Validate, and then simulate the workflow process.

    For more information, see Process of Testing a Workflow.

  7. After control returns to Siebel Tools, right-click the Simulation window, and then choose Watch Window.
  8. In the Watch window, expand PS:Property Set.
  9. Note the values that Siebel Tools displays for the process properties that you defined in Step 3.
  10. Click Simulate Next.

    In the Watch window, ProcessProperty4 now contains a concatenation of values from ProcessProperty1, ProcessProperty2, and ProcessProperty3.

Referencing a Process Property

To reference a process property in an expression, you must use the following format:

[&PropName]

For example:

[&Object Id] like '99-28B1T'

where:

  • & indicates a process property
  • Object Id is the name of the process property

The following example describes how Siebel CRM can use a process property as a substitution variable. This example uses an input argument to create a message body:

The Activity #" + [&Object Id] + ", owned by " + [&First Name]+" "+[&Last Name] + " is three days past the Due Date.

where:

  • Object Id, First Name, and Last Name are defined as process properties.

For more examples of using a process property as a substitution variable, see Using Compound Expressions and Substitutions in a Search Specification and Using Substitution Variables in an Expression.

Externalizing Workflow Properties

It is recommended that you define properties for a workflow process that are externalized and that are not hard coded. Hard coding a property in a workflow process requires you to change the object definitions when you deploy the workflow process between environments. For example, if a workflow process sends an email to a customer list, and if you hard code this list in a process property, then the workflow process does not run correctly in the production environment. You must make sure the workflow process reads this kind of data dynamically. For more information, see Externalizing Properties When Using a Business Service.

Siebel Business Process Framework: Workflow Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.