Siebel Business Process Framework: Workflow Guide > Options for Configuring a Workflow Process > Configuring Events >

Configuring Run-Time Events


A workflow process can use run-time events to do the following:

  • Allow real time monitoring of events
  • Minimizes scripting and calling for a workflow policy

A workflow process can use the following types of events:

  • Application event
  • Business component event
  • Applet event

A run-time event allows Siebel CRM to reply in real time to a user interaction. To start or resume a workflow process, you can define a run-time event on a connector that emanates from a start step, wait step, or user interact step. To define a run-time event, you can use the following properties of the WF Step Branch:

  • Event Object Type
  • Event Object
  • Event
  • Sub Event
  • Event Cancel Flag

For more information, see Starting a Workflow Process, and Siebel Personalization Administration Guide.

Using Run-Time Events with a Long-Running Workflow Process

It is recommended that you do not configure Siebel CRM to use a run-time event to start a long-running workflow process because a run-time event is specifically related to a single user and a single session. It originates from Personalization functionality. Instead, it is recommended that you use an interactive workflow process or a service workflow process to handle a run-time event. After this workflow process finishes, Siebel CRM can create a user event that notifies a long-running workflow process.

Using Run-Time Events with a User Interact Step

If the Immediate Post Changes property of a business component field is TRUE, then Siebel CRM supports using the SetFieldValue event with a user interact step. If the field value changes, and if Immediate Post Changes is TRUE, then Siebel CRM does an immediate roundtrip to the Siebel Server, and then immediately recalculates the field or refreshes the view. It bypasses the PreSetFieldValue event in the browser script.

Siebel CRM does not support the following events with a user interact step:

  • The DisplayRecord event.
  • The DisplayApplet event.
  • The Login event. You can use the WebSessionStart event instead.

For more information, see Configuring Siebel Business Applications.

Using Run-Time Events in a Business Object Context

Siebel CRM starts a workflow process that references a run-time event only if it detects the run-time event in the same business object context that the workflow process references. For example, assume the WriteRecord event starts a workflow process, and that the Business Object property for this workflow process is set to Service Request. To update the record, the user clicks the Service Requests List screen tab, updates the Status field, and then steps off the record. Siebel CRM writes the record in the context of the Service Request business object, and then starts the run-time event that is defined on the workflow process.

If the user updates the Status field in a context other than the service request business object context, then Siebel CRM does not start the run-time event. For example, assume the user drills down on a Contact, clicks the Service Requests view tab, updates the Status field, and then steps off the record. In this situation, Siebel CRM writes the service request record in the context of the Contact business object and it does not start the run-time event.

Defining a Run-Time Event in a Many-to-One Relationship

The example in this topic defines a run-time event in a many-to-one relationship. If you define a run-time event to start a workflow process in reply to a change that a user makes in a record that contains a many-to-one relationship with a parent, then you must configure Siebel CRM to start the workflow process according to the child ROW_ID. For example, assume you require Siebel CRM to start a workflow process if the user updates a field in the activity of a service request. A service request can contain one or many activities, so Siebel CRM must start the workflow process according to the activity ROW_ID and not according to the service request. If you start the workflow process according to the service request ROW_ID, then the following occurs:

  • If the user changes data in the form applet for the service request, then Siebel CRM starts the workflow process.
  • If the user changes data in the activities list applet, then Siebel CRM does not start the workflow process.

To define a run-time event in a many-to-one relationship

  1. Optional. For educational purposes, you can examine a one to many relationship:
    1. In the Siebel client, navigate to the Service Request screen, and then the Service Request List view.
    2. Create a new service request.
    3. Click the SR# field.
    4. Use the Activities list to create two new activities.
    5. In the Activities list view, the top service request form displays fields for the parent service request, while the bottom activities list displays multiple activities for the parent.
  2. In Siebel Tools, in the Workflow Processes list, create a new workflow process using values in the following table.

    Property

    Value

    Process Name

    Update Service Request

    Business Object

    Service Request

    Workflow Mode

    Interactive Flow

    The workflow process references the Service Request business object. The run-time event that this workflow process uses occurs on the start step. It references the Action business component, which is a child of the Service Request business object. It includes a wait step for testing purposes. A wait step requires an Interactive Flow. For more information, see Adding a Wait Step. For an example, see Creating the Workflow Process.

  3. Open the Process Designer for the workflow process you defined in Step 2, and then define a workflow that resembles the workflow in the following figure.

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

  4. Click the Id Triggered connector, and then use the Properties window to define values described in the following table.

    Property

    Value

    Event Object Type

    BusComp

    Event

    WriteRecord

    Event Object

    Action

  5. Click the canvas, making sure no workflow process step or connector is chosen.
  6. In the MVPW, right-click, and then add a new process property using values from the following table.

    Field

    Value

    Name

    ActionBCRowId%

    In/Out

    In/Out

    Business Object

    Service Request

    For more information, see Using Process Properties.

    To capture the activity ROW_ID, you define a process property, and then use a wait step that reads a field from the child business component into the process property in the output argument for the wait step. It does not modify the underlying data.

  7. Click the Get Activity Id step, and then click the Output Arguments tab in the MVPW.
  8. Right-click, choose New Record, and then create a new record using values from the following table.

    Field

    Value

    Property Name

    ActionBCRowId%

    Type

    Expression

    Value

    Id

    Business Component Name

    Action

    For testing purposes, this step reads the activity ROW_ID, which is the Id field, into the ActionBCRowId% process property. You do not need to define input arguments for the wait step.

  9. Validate, and then simulate the workflow process.

    For more information, see Process of Testing a Workflow.

  10. Implement this configuration in your production workflow.

    This example demonstrates how you can start a workflow process according to changes that Siebel CRM makes to a child in a many-to-one relationship. It includes steps that test the configuration. In a production environment, if it is not necessary to capture the child ROW_ID, then you can define the trigger for the run-time event on the connector that emanates from the start step, as described in step Step 4.

Using a Run-Time Event with the Updated By Field

If a workflow process step includes a run-time event that uses a processing mode that runs locally to start or resume a workflow process, then the value in the Updated By field identifies the user who is currently logged into Siebel CRM.

Run-Time Events That You Cannot Use to Start a Workflow Process

To start a workflow process, Siebel CRM cannot use a run-time event that might not return a result. It can start a workflow process only in the record context of a business component. If business component record context does not exist, then Siebel CRM cannot start the workflow process and attempting to use the BusComp Query event to start it will fail.

Using a Run-Time Event More Than One Time

You cannot use the same run-time event more than one time in a given workflow process.

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