Hi JP,

On 6/6/06, JP Singh <[EMAIL PROTECTED]> wrote:
>
> Hi John,
>
> I see an interesting situation. When I thought everything is fine it was
> not.
>
> While calling a child process from parent process all the variables from
> parent workitem to child workitem are passed with current value.
>
> Whereas calling parent process from child process erases all values. In
> effect it starts a fresh problem. I have tried to send the values like this:
>
> <subprocess ref="docflow"
> fields="author_name=(${field:customer_name})"/>
>
> Hoever it does not work.

Don't mix fields (attributes) and variables.
I have lots of difficulties understanding your post as you mix those
two notions.


> I am pasting the PDL below:
>
> ?xml version="1.0" encoding="UTF-8"?>
> <process-definition
>  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>
> xsi:noNamespaceSchemaLocation="http://www.openwfe.org/flowdef_r1.5.0.xsd";
>  name="docflow"
>
>  revision="1.0">
>
>  <description language="default">
>  concurrence example base version working littlebit don't change
>  </description>
>
>  <sequence>
>  <set field="author_name" value="fill this field" />
>  <set field="FilePath" value="" type="string" />
>  <set field="Name" value=" " type="string"/>
>  <set field="FileName" value="" type="string" />
>  <set field="approved1" value="true" type="boolean" />
>  <set field="approved2" value="false" type="boolean" />
>  <set field="sentdgn" value="false" type="boolean" />
> <cursor>
> <loop>
> <participant ref="designer" filter="derw" />
> <participant ref="reviewer1" filter="re1rw"/>
> <until>
> <equals field-value="approved1" other-value="true"/>
>  </until>
> </loop>
> <cursor>

Why are you putting a <loop> inside of the <cursor> ?

>  <loop>
> <participant
>  ref="reviewer2" filter="re2rw"/>
>  <subprocess ref="final-round"/>
>  <until>
>  <equals field-value="approved2" other-value="true" />
>  </until>
>  </loop>
> </cursor>
> </cursor>
> </sequence>
>
> <process-definition name="final-round">
> <cursor>
> <if>
>  <equals field-value="approved2" other-value="false" />
> <if>
> <equals field-value="sentdgn" other-value="true" />
> <sequence>
> <participant ref="reviewer1" filter="designer-filter" forget="true"/>
> <!--<participant ref="designer" filter="derw"/> -->
> <subprocess ref="docflow"
> fields="author_name=(${field:customer_name})"/>
>  <!--<subprocess ref="de-re1" /> -->
> </sequence>
> <sequence>
>  <participant ref="reviewer1" filter="re1rw" />
> <subprocess ref="docflow"
>
> fields="author_name=(${field:customer_name})"/>
> </sequence>
> </if>
> </if>
> </cursor>
>  </process-definition>

Your flow looks OK, but I'm sure you could make it simpler.

Why do you need to call the main process as a subprocess ? Couldn't
you simply <rewind> the core cursor ?
http://www.openwfe.org/docbook/build/ch06s03.html#expression_cursor_rewind

JP, next time you send me your process definition, could you please
format it ? Indentation will be easier for me to read it and to try to
grasp your idea.


Thanks in advance,

-- 
John Mettraux   -///-   http://jmettraux.openwfe.org


_______________________________________________
OpenWFE - Open source WorkFlow Engine
OpenWFE-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openwfe-users

Reply via email to