I understand the mechanics...
yes I should have known that .. :oops:
I think EXEC_STRING was a new function introduced along the way, START PROCESS has always been available as far as I can remember
You could probably use it in some cases in place of START PROCESS as you say.
But in my case START PROCESS is ideal because I can create a number of complex processes and then give each one a meaningful name and then make each process available for the USER to select from a drop-down text attribute on the object
Example :
I have a Product object that becomes part of the SalesOrderlineItems , WorksOrderLineItems, etc . When a user creates the inventory by setting up each Product, the user can assign from the drop-down list on the Product what process must be run to build the sub-assembly that the product is made up off ( So the process selection is user driven at product setup time).
When a SalesOrder is taken, depending on what product is used on the SalesOrderLineitem, START PROCESS then fires off the creation of the new WorksOrder object based on the process name embedded in the Product code of each SalesOrdeLine Item
So rather than have all the rules to cater for 30 types of subassemblies on the SalesorderItem, a simple START PROCESS bypasses the overhead of rule evaluation and makes it a neat and simplified way of doing it
Also in complex rule setup (especially when leveraging object rules and chaining new objects to be created based on the newly created current object) START PROCESS guarantees the right CONTEXT is always in place