<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2722" name=GENERATOR></HEAD>
<BODY>
<DIV><FONT face=Arial size=2><SPAN class=078352315-12112005>I think I 
have&nbsp;come across a real show-stopper in the new approval solution I am 
working on. Since I have now been twisting my head for hours, trying to change 
the solution to parallell processing and realising that that won't work either I 
now hope someone reads this message has a brilliant idea. Otherwise it is 
probably time to go back to the design stage again.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=078352315-12112005></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=078352315-12112005>One basic idea 
behind the solution was that workflows should not be stopped unless it was 
necessary (so attachments would be available), and therefore the design was 
created so it would listen for significant events and then do what should be 
done before it went back to listening again.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=078352315-12112005></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=078352315-12112005>In the design I have 
a workflow which is started per document. This workflow has to be created for 
each document type (requisition, order, service entry and so on). It evaluates 
the document and decides if it is ready and needs to be approved at all. If 
approval is required a generic subworkflow for approval is 
started.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=078352315-12112005></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=078352315-12112005>The workflow for 
approval finds out which objects are responsible for approval and creates one 
event for each such responsible object. This event is captured in a parellell 
branch which listens for the event, starts a subworkflow and loops back to 
listen for the event. However - and I could kick myself for not thinking about 
this before now - when the subworkflow is started the main workflow waits for it 
to complete. So when the document is changed and there is another approver in 
addition to the original one, there is no-one listening for the event because 
the loop hasn't completed its circle!</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=078352315-12112005></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=078352315-12112005>What I need is a 
multistep task that can be started in background so the flow continues. As far 
as I can see there is no such thing, at least in version 
4.6C.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN class=078352315-12112005>I've been thinking 
about ways to circumvent the problem, e.g. having a parallell branch that 
completes after a minute, but that will only cause the subworkflow to be killed 
when the other branch completes.</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=078352315-12112005></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=078352315-12112005>I just changed it to 
a parallell processing step so all the subworkflows can be started in parallell 
when there are multiple approvers at first, but that doesn't solve the real 
problem which is related to changes. I'm being driven back inch by inch and it 
is rather depressing....</SPAN></FONT></DIV>
<DIV><FONT face=Arial size=2><SPAN 
class=078352315-12112005></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2><SPAN class=078352315-12112005>Right now I only see 
one solution: if there are any changes in responsibility, kill all the active 
subworkflows and start new ones. I'm hoping someone else sees a better 
solution.</SPAN></FONT></DIV>
<DIV align=left><FONT face=Arial size=2>-- </FONT></DIV>
<DIV align=left><FONT face=Arial size=2>Kjetil Kilhavn, Statoil ØFT 
KTJ&nbsp;ITS&nbsp;BKS SAP Basis</FONT></DIV><p></p><p><font size=1>-------------------------------------------------------------------<br>The information contained in this message may be CONFIDENTIAL and is<br>intended for the addressee only. Any unauthorised use, dissemination of the<br>information or copying of this message is prohibited. If you are not the<br>addressee, please notify the sender immediately by return e-mail and delete<br>this message.<br>Thank you.</font size></BODY></HTML>