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.