'Instance-independent' container

Huba H huba.horompoly at amd.com
Fri Aug 17 14:28:19 EDT 2001


Hello Helena,
Gruezi wohl.
First of all many thanks for your reply. I understand there is no real
'instance-independent' way to setup a common container that all wf instances
can communicate to.
I liked your idea of creating an object type with attributes to hold the
approvers. I experiemented with this approach:
1. I define a container based on this object type in the main workflow.
2. I pass the same object to all subworkflows, who update and read the
attribute of the object. This way -I hope- all subworkflows share the same
object instance. In this case the subworkflows wouldn't have to report back
their own list of approvers to the main workflow.
I have the following questions on that:
-If I use an object instance to hold the approvers, what happens in case of
system crach/restart: can the object be retreived from the WF (container)
log, or it has to be re-constructed.
-When I define the object type in the main wf: does the workflow engine
automatically creates an object instance for me, which I can pass to the
subworkflows, or I have to create the instance explicitely in a task by i.e
defining a key field (for example based on the Work ITem ID), and pass the
key with the object instance along all the time in the container to the
subworkflows ?
-Can I have a 'direct' (container) operation to set the attribute of an
object instance defined in the container (in this case the attribute would
be the list of approvers) ? In the container operations I was able to pick
only the entire object as the target, instead of the components (i.e. the
attributes).
Sorry for the overwhelming questions if you have answer to any of those I'd
appreciate your help.
Thanks much,
Huba Horompoly
 
 
 
 
 
-----Original Message-----
From: Svanikier, Helena [mailto:helena.svanikier at sap.com]
Sent: Thursday, August 16, 2001 12:11 AM
To: SAP-WUG at MITVMA.MIT.EDU
Subject: Re: 'Instance-independent' container
 
 
Hello Huba
 
How about having one subworkflow per approval level? This way after the
processing of all approvals on one level you can execute a background method
in your main workflow, that determines the next approvers based on the
information you have from the first approval level. Then call your
subworkflow for approval on the second level etc.
Or you could determine the positions or users that need to approve in object
attributes and using these on each approval level for your dynamic parallel
subflows? So you would have an attribute for the heads of cost centres that
need to approve, an attribute for the directors that need to approve etc.
 
Then design your workflow, so that one subworkflow only handles one level of
approval. Collect the approvers in the subworkflow and move them back to
your main workflow. Call the next subworkflow for your second approval level
and add your list of approvers to the container of the subworkflow. Either
use this list as excluded agents or you could have an if statement in the
subwf which checks whether the approver for this level already exists in the
list of approvers, the set the approval result to 'o.k.' and exit the
subworkflow.
 
Hope this helps
Helena Svanikier
Workflow Consultant SAP Switzerland
 
-----Original Message-----
From: Huba H [mailto:huba.horompoly at amd.com]
Sent: Mittwoch, 15. August 2001 19:03
To: SAP-WUG at MITVMA.MIT.EDU
Subject: 'Instance-independent' container
 
 
Hi WUG Members,
We are impleneting approval flows based on multiple cost centers (1 cost
center = 1 department) based on the CC-s entered for the transactions (PO,
Preq, etc.).
The approval flows run parallel for each Cost Center. The main WF spawns the
approval (sub)flows in a dynamic parallel session manner, the number of
branches running parallel equals the number of Cost Centers within the
transaction.
In order to avoid sending the same WI to the same approver, I maintain a
list of approvers in the container, and assign it to the 'excluded agents'
(it is necessary , because multiple Cost Centers roll-up to the same level
higher in the hierarchy (director, VP) ). My problem is that -of course- the
subworkflows do not see each other's approval list, which means, when they
roll-up to the higher level there is no way to tell whether another branch
(from other CC) already sent out the approval WI to this particular director
or VP.
Is there a way to define 'global' or 'instance-independent' container
variables (in this case the approval list) that is visible from each sub
workflow instance running parallel to each other that belong to the same
main WF ? I'd rather shy away of using custom db tables for this purpose...
Your help is highly appraciated,
Thanks very much,
Huba Horompoly
 


More information about the SAP-WUG mailing list