Workflow to process multiple rows

August 6th, 2008

There’s no standard loop construction (For/While/Do) in Siebel Workflow, but there are still a couple of ways to have a Workflow Process handle multiple rows.

Update Operation

For a simple update to a child entity use a Siebel Operation. When a Workflow Process has a Business Object then a Siebel Operation Update step defined for a child Business Component will update all records that are children of the selected record in the Primary Buisiness Component. The update can be filtered to specific records by specifying  a SearchSpec on the Update.

This technique can be expanded through the use of Runtime Events: define an Event on the child BusComp to catch a simple update operation and trigger further processing of the record.

Siebel Update Workflow

Bear in mind that for this to work then the Object Id process property must specify a valid record in the Primary Business Component. Also, watch out for this gotcha if you’re trying to dynamically update a field.

Sub Process SearchSpec

An alternative way to process more complicated actions is to call a sub-process for multiple rows. In this case a Workflow Process is defined as normal to act on a single record specified through the Object Id. Then to have this workflow run for multiple rows, define a new ‘wrapper’ workflow and add a Sub Process step to call the original process. To this Sub Process step add the Input Argument SearchSpec, supplying a search specification through the Value in the normal way.

When the wrapper workflow is executed, the SearchSpec is applied to the primary Business Component of the sub-process and the child workflow is run once for each row returned.

Siebel Sub Process Workflow

Entry Filed under: Siebel,Workflow


  • 1. Jim  |  August 14th, 2008 at 5:52 am

    Does this actually work? Can you really process multiple records by specifying “SearchSpec” as an input to the subprocess? I’m curious to find out because this will definitely be helpful to me in creating different workflows.

  • 2. stuandgravy  |  August 14th, 2008 at 9:01 am

    Works for me, Jim. Try it out.

  • 3. Kevin  |  September 9th, 2008 at 9:42 am

    Cool Tip! I used to build a complex loop diagram in my workflow to achieve this.

  • 4. Paul  |  September 15th, 2008 at 12:47 pm

    Siebel 8 provides a NextRecord operation that has been specifically built to loop through child records of a business object – but you can also fool it to loop through the parent by having the parent as a copied object under the BO without a link specified. This is pretty handy. See bookshelf/Metalink for examples.

  • 5. Karan  |  October 3rd, 2008 at 3:20 pm

    There is a business Service, available OOTB for SIA :
    SIA BC Utility Service , which has a BCNextRecord method to loop through records.

    I am trying to work out how to use this. No Doco for this Business Service, yet!

  • 6. Dan  |  October 24th, 2008 at 2:27 am

    I have a problem and wondering if you know any way to achieve this.

    I have propertyset with multiple child propertysets. I need to loop through each child, ps.GetChild(i) record and pass it to sub process in next step.

    Is there a way to do this from workflow?


  • 7. palani  |  April 24th, 2009 at 5:18 pm

    Will it work same process siebel V

  • 8. Nitin Jain  |  May 20th, 2009 at 5:38 am


    I appreciate the post, but I beg to differ with your opinion that there are no standard Siebel ways to do the looping through workflows.

    Check out the post below:

  • 9. Liu Lei  |  May 7th, 2011 at 8:37 am

    Very Good. Could you please exchange the link with my personal blog site?


August 2008
« May    

Most Recent Posts