Dear Workflow Experts,
I have a problem, when calling an asynchronous method from another BOR object instance, as that always opens a new session and it's not processed with the same Workplace' session. So I need some help, if anyone has ideas, how to solve it.
Problem Description
Called method: BUS2081.edit() which is defined as "dialog" and "asynchronous"
Calling method: ZWFINV.edit() which is also defined as being "dialog" and "asynchronous"
Within the calling method, there's a switch, which business object is to be called, so subtyping the BUS2081.edit() method is not an option here.
The coding within the ZWFINV.edit() method is as following
BEGIN_METHOD EDIT CHANGING CONTAINER.
* ... some other stuff here
swc_call_method_asynch bor_2081 'EDIT' container.
END_METHOD.
Now what happends, when I use a Workflow-Task, defined for ZWFINV.edit-Execution (also asynchronous dialog task) the workitem execution always opens a new session, in which the BUS2081.edit() method is processed.
Requested behaviour
I'd like to use the current session for the method execution.
Further information
A task that directly executes a BUS2081.edit() method is working fine, and no additional session is execute.
When I change the algorithm from within the ZWFINV.edit() method in a way, that the BUS2081.edit() method is called synchronously, I get another problem.
BEGIN_METHOD EDIT CHANGING CONTAINER.
* ... some other stuff here
swc_call_method bor_2081 'EDIT' container.
END_METHOD.
Now instead nothing happends: A double click on the workitem does not execute the BUS2081.edit() method at all.
I also have no opportunity for a system-wide delegation, as the BUS2081 object is used at a different project, so I cannot extend or subtype it.
... and yes, I usually use ABAP-OO-Workflow, where all these problems don't exists ... and there're other one in return :-)
Are there any ideas how to handle that?
With the very best wishes
Florin