November 10, 2015

What are the limitations of Siebel Workflows?

This question was asked by one of readers of this blog, and it quickly got me intrigued to research for answer. While doing research I compared the capabilities of Siebel workflow vs Siebel scripting, and got amazed with results.




I started of by listing things which I thought wont be possible in workflows however I got surprised with its capabilities as I dig deeper. I am classifying results as Myths, Facts and Limitations.

Myths

Myth 1: Run time events doesn't work from workflows.

Absolutely wrong, runtime events are tagged to bus comps and work the same in workflow as they work on UI.

Myth 2: Can't update read-only fields in workflows.

One might think that as it is not possible to set admin mode to true in workflow thus it wont be possible to update read only fields. But that is simply a myth.The fact is that there is no need to set admin mode to true in workflows, read only user properties are inactivated for workflows all the time!

Myth 3: There is no way to associate and disassociate records of MVG BusComp in workflows.

If Siebel operation is used on detail bus comp, delete operation acts like dis-associate and insert like an associate.

Myth 4: Workflow can not query based on calculated fields.

Not True. Siebel Operation search spec can be created using Calculated fields, however be cautious of performance impact in case you plan to use calculated fields in search spec.

Facts


Fact 1: Cannot query on child BC directly in Siebel workflows. Workflow always queries Primary bus comp first.

True, however I don't consider it as limitation as one can create workflow based on a different BO which has child bus comp as primary buscomp, and there are many business services available which can query data from another BO without creating another sub process.

Fact 2: There is no way to change primary record in MVG in workflows.

This one I am not too sure about, would like to know from the experts, how they have overcome this problem.

Limitations


Limitation 1: It is not possible to change view mode in Workflows?
Siebel Operation step always queries database with "All View" view mode there is no way to change this pragmatically.


Limitation 2: It is not possible to pass variable by reference in to a workflow.
This seems to be the minor limitation of the workflow, however it does not limit the capability or usage in anyway.


Limitation 3: There is no native way of executing Clib functions in workflows.
There are lot of functions available for execution in workflows however Clib is not one of them. Thus if there is a need to call Clib function through workflow you will have to call a custom business service.


Limitation 4: There no native way to execute methods on application or BC level.
Agreed as limitation unless someone suggests any way out. Some BusComps exposes some methods that can be executed only with scripting. For Example: 1. RepriceAll Method on Quote Item and Order Items. 2. GetFile Methods on Attachment Buscomp etc..

 

Limitation 5: It is not possible to set sort spec on Siebel operation?
This seems to be the only glaring Limitation of workflow/Siebel Operation that Siebel operation does not contain any way to query based in a sort spec. Arguably one can say sort spec can be specified on bus comp, however it wont be wise to clone buscomp just to change the sort order. Would like to know what readers think?



I don't believe that this list is complete in anyway, hoping to get some answers from community. Please feel free to contribute your thoughts on this topic, would be more than happy to be proved incorrect on the points above.

6 comments :

  1. Err...I am a little surprised with the revelation that read only user properties are remove everytime for workflows. I faced that read-only issue myself, in workflows. And we used to turn the property off using scripting..to get it working with WFs. Is this feature documented ?


    If I could add more: 1) Cannot change query mode (fowardbackward). This should not be a problem but somtimes affects performance. 2) Can maintain only one BO instance per workflow. We have had to have two BO instances for some crazy business requirements, and scripting gets this done. 3) Can't use commands like GetChild AddChild for tricky integration requirements in WF.

    ReplyDelete
    Replies
    1. I had the same reaction regarding the read only fields. however it seems to be the feature of workflow since Siebel 8.1 and there is no intention of oracle to fix it. It makes sense a bit as well.

      When was the last time it didnt let you update read only fields? was it Siebel 8?

      -Jim

      Delete
  2. I couldn't update one field at closing of Opty BC as BC is getting read only by BC Read Only user property. I was working on Siebel 8.2.

    Vishal

    ReplyDelete
    Replies
    1. Hi Vishal, I have tried this on parent buscomp and it always used to update the field. What error did you get when workflow tried to updates? Is there any script on the object? Jim

      Delete
  3. "There is no way to change primary record in MVG in workflows"

    What do you mean? Of course there is, you just need to update the parent...

    ReplyDelete
  4. Great post. I found a way relatively native for Limitation 4: "There no native way to execute methods on application or BC level":

    You can use BS: "SIS OM PMT Service" and its method: "Invoke BC Method" as workflow step avoiding use of scripting

    More info: https://docs.oracle.com/cd/E14004_01/books/OrderMgtInfra/OrdMgtMethods34.html

    ReplyDelete