Creating sample date for Multiple Instance Tasks

Printer-friendly version
Tags: 

Hello everybody,

I've got a problem regarding the test data for a multiple instance task.
Since me and my team doesn't have a database yet, we have to write some XML code in the output bindings of the tasks which are thought of as a database connection - e.g. the task "Collect_Candidates" will become a database connection, but right now it'll only have to give 2 or 3 example candidates which I wanted to define in the output bindings.

However, I can't save the example candidates due to an error. I'm not the best in writing great XML-Code, but I think the code I've written is valid and not the problem.
Could anyone please check the code?

Thanks a lot in advance.

Image: 
ahense's picture

Can you please attach the YAWL specification?

 

Of course, you can find the Attachment below.
And thanks a lot for the fast reply!

http://www.yaug.org/sites/default/files/3_Selektion_V4.1Johannes.yawl

ahense's picture

You must delete the outermost bracket in your output mapping, i. e. <Bewerberliste>   </Bewerberliste>. YAWL always expects the content of the element without the element itself. This is a common misunderstanding when starting to work with YAWL.

You can have the YAWL editor generate a correct XML value for you by changing the scope of the net variable "Bewerberliste" to "Local", click on the three dots of initial value, and then click on the two circles.

 

That worked, thanks!

However, I've not gotten a new error message:
I can't save the file due to an missing output binding, as it says that at one point I'm returning null. The strange point is, that I checked all output bindings and have no "null" binding.

Is this a common error?

Image: 
ahense's picture

It is hard to know why this happens without looking at the specification. A good idea in cases like this might be to delete the task and decomposition, save, restart the editor, and recreate task and decomposition from scratch.

 

After completely recreating the process, I was able to save the specification and to launch a case. However, I get a strange error message when entering the MI-Task. It still seems as if the first task in the MI-Task is wrong, because when I automate this task I don't get any error, but the case somehow disappears (not assigned to any role or admin). Could you please, once again, help me out here?

PS: I didn't finish the input binding in the last task, because I wanted to implement the process incrementally by testing each step. It worked, until I added the different tasks in the subnet.

Image: 
ahense's picture

This looks like uninitialised variables. Datatypes other than string need to be initialised properly - otherwise the XML is rejected. Let's have a closer look at it tomorrow...

 

It seems like I had some issues with the editor. Some of the ouput/input bindings disappeared, without me noticing it. Somehow, I also had some problems with local variables - they weren't accessible from the "upper net", and turning them into InputOutput variables had an error as a consequence. I was able to build a workaround by initializing these variables with some default values (e.g. 'x' for strings) and directly overwriting them when possible.
Turns out it's not always that easy to use YAWL..