Hi all,

I have a Net called 'Errors'. It will find the errors in a module, populate a list data type, and then the user is to respond to all errors. Currently, 'ErrorList' is simply a YListStringType, which is created with an initial value in the Net, and then the user can add more values using the web service in the task 'GetErrors'.

ErrorList is then passed onto a Multiple Instance task called 'FixErrors'. ErrorList will eventually be populated by a query, or the variable in the database will be updated directly by a client. ErrorList will often be empty.

What is the best way to deal with a case with zero error instances? Is this something handled by workflow patterns? I have been unable to find anything in 2.3 User Manual or 'YAWL and its Support Environment'.

Should I have a Split condition at GetErrors which bypasses FixErrors? How then would I include the ErrorList variable without giving it an initial value? If I run Validate with no initial value for a ListType variable I get "An uninitialised data value will cause an error at runtime".

Will I have to do a Split condition at a level up, so that I avoid the Task where the ListType variable is initialised? Or is there a way to handle zero instances that I am missing?

Thanks for your time.

Hey Conrad,

is it possible to publish your workflow to understand better your problem?

 

 

I don't see an alternative without initalising the ListType. You can check if in your first item is your initialised value and set the splitter at this condition.