How to know if a workflow instance have already been executed
Cristiana D'Agosto
cristiana.dagosto at au1.ibm.com
Sun Jun 19 19:48:35 EDT 2005
Hi Kjetil,
you are correct, my pseudo-code is actually like this:
1 - bus2081.completedtorelease
2 - Receiver FM is called
3 - Within FM:
if withholding tax is applicable then
------ if withholding tax approval workflow has not been executed for this
invoice then
-------------- start withholding tax approval workflow
-------else
-------------- start release for posting approval worlflow
------ end if
else
-------- start release for posting approval workflow
end if
It realy seems to be a timing issue. When I use SWUE to test it, it works
fine.
I guess the problem is that the last step of the withholding tax approval
worklow is an asynchronous task. In the last step, the AP guys complete
the withholding tax details in the invoice and then press the Save as
Complete button. When this happens, the event completedchanged is raised
and the workflow is completed (completedchanged is a terminating event for
the last task of the withholding tax approval workflow); then the event
completedtorelease is raised but it does not trigger my next workflow,
actually, looking at the event trace log, the name of the receiver type is
() - it doesn't start any workflows whatsoever.
There is anything I could do to delay the completedtorelease event being
published so quickly? I tried using the event queue, but the same problem
happens.
Any other ideas???
Much thanks,
Cristiana
_________________________________
Cristiana d'Agosto
IBM Business Consulting Services
Mobile: +61 417 927 224
cristiana.dagosto at au1.ibm.com
"Kjetil Kilhavn" <KJETILK at statoil.com>
Sent by: sap-wug-bounces at mit.edu
16/06/2005 04:38 PM
Please respond to
"SAP Workflow Users' Group"
To
"SAP Workflow Users' Group" <sap-wug at mit.edu>
cc
Subject
RE: How to know if a workflow instance have already been executed
In your pseudocode you have a bug as far as I can see, but I suppose that
doesn't apply to the real code. You state that if the withholding tax
approval has been executed you should start the withholding tax approval
------ if withholding tax approval workflow has not been executed for this
invoice or it is not set to completed nor to started then
-------------- start release for posting approval worlflow
-------else
-------------- start withholding tax approval workflow
Perhaps you should just check that the workflow is not cancelled? If it is
the type W item you check it can be selected (reserved) as well, and
committed if confirmation of completion is required. It can of course also
be in error or cancelled. If it is the type F item you check I suppose
completed and ready should cover what you want.
You can usually check if there is a timing issue by debugging. If it works
when you are debugging and doesn't work otherwise it is most likely a
timing issue. Otherwise you should dump the information you find about the
work items to see what statuses are reported.
--
Kjetil Kilhavn, Statoil KTJ IT BKS
From: sap-wug-bounces at mit.edu [mailto:sap-wug-bounces at mit.edu] On Behalf
Of Cristiana D'Agosto
Sent: 16. juni 2005 03:26
To: SAP Workflow Users' Group
Subject: How to know if a workflow instance have already been executed
4.7
>From MIR7, upon selecting button Save as Completed, obj type/event
bus2081.completedtorelease is published.
In my client, this event can start more than one customized workflows:
withholding tax approval and release for posting workflow.
I have a receiver FM that is testing if the withholding tax approval
workflow should start (based on Vendor master data); if it doesnt then the
release for posting workflow starts.
Withholding tax approval wf : goes to the agent to enter details on
regards to withholding tax and then goes to AP. The AP guys then enter
whatever they have to in the invoice and click Save as Completed -
bus2081.completedtorelease is published and bus2081.completedtoreleased is
published.
I need to control that workflow for withholding tax approval does not
start again.
How in my receiver FM can I check if the withholding tax approval workflow
has been completed or it is being processed ? The withholding tax approval
should only start once (if applicable, depends on vendor master data).
If the vendor in the invoice is subject to withholding tax, I am using FM
SWI_WORKITEMS_OF_OBJECT_GET to retrieve all the workflows that have
started for my objkey and then checking if there is any instance of the
withholding tax approval that is set to either 'completed' or 'started' -
but I think the events happen too fast and table swwwihead doesn't get
update on time.
The client would like to have the users always using button Save as
Completed.
1 - bus2081.completedtorelease
2 - Receiver FM is called
3 - Within FM:
if withholding tax is applicable then
------ if withholding tax approval workflow has not been executed for this
invoice or it is not set to completed nor to started then
-------------- start release for posting approval worlflow
-------else
-------------- start withholding tax approval workflow
------ end if
else
-------- start release for posting approval workflow
end if
Any ideas on how to achieve what I need?
Much thanks for any help!
Regards,
Cristiana
_________________________________
Cristiana d'Agosto
IBM Business Consulting Services
Mobile: +61 417 927 224
cristiana.dagosto at au1.ibm.com
-------------------------------------------------------------------
The information contained in this message may be CONFIDENTIAL and is
intended for the addressee only. Any unauthorised use, dissemination of
the
information or copying of this message is prohibited. If you are not the
addressee, please notify the sender immediately by return e-mail and
delete
this message.
Thank you._______________________________________________
SAP-WUG mailing list
SAP-WUG at mit.edu
http://mailman.mit.edu/mailman/listinfo/sap-wug
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.mit.edu/pipermail/sap-wug/attachments/20050620/2c1b7646/attachment.htm
More information about the SAP-WUG
mailing list