I have a workflow step where the user should create a new purchase order. This step is making me scratch my head now.
In the custom method (extension to BUS2081) I clear parameter BES before calling transaction ME21N.
After transaction execution MEGUI_PROCESS_PO (memory ID) is checked. If it does not give me a result I check parameter BES. If there is still no result I wait a few seconds (in a finite loop, increasing wait) before checking MEGUI_PROCESS_PO and BES again.
This looks fine. It works too. The result parameter of the method is defined with reference to EKKO-EBELN. The end condition says the result must exist (&_Wi_Result& EX).
However, I am currently looking at a case where the step has continued without being executed again. The technical workflow log shows me that execution took place at 11:16:57 with the result "Work item cannot be completed -> end condition is 'incorrect'".
Then, at 11:20:02 the end condition is fulfilled, but no-one has executed the work item - so how can the RESULT parameter have been changed?
I have found that a purchase order was created just 15 seconds before the end condition was fulfilled. So apparently a completely unrelated incident can influence the end condition. That isn't nice....
Any ideas?
This question will be posted to the mailing list as well.