cancel
Showing results for 
Search instead for 
Did you mean: 

Pass/receive WF data between clients

Former Member
0 Kudos

Hi,

Can someone please help with following.

I have a WF(1) that is started in client 010 for example with class instance.

In WF(1) I have a step with class method and there I am executing function module with RFC destination - client 020.

I am successfully getting all data in 020 WF(2) and processing it.

In the end I need to pass data back to client 010 WF(1), which is stopped on waiting step, that waits for event, that is additionally defined in WF header.

Now when passing all data back to client 010 I am getting ERROR.

Maybe someone had same problem and is it possible at all to pass data back to already running WF from other client?

How it should look approximately?

Thank you.

Accepted Solutions (0)

Answers (2)

Answers (2)

pokrakam
Active Contributor
0 Kudos

Now when passing all data back to client 010 I am getting ERROR.

It would really really help if you told us the error message.

How are you passing data back? SAP_WAPI_CREATE_EVENT with a remote destination works nicely for raising a remote event. All you need is to put the right data into the container and bind it back to your WF.

Former Member
0 Kudos

Hi Mike,

Thanks for your reply.

In WF log I see following:

EXECUTE_METHOD_OBJECT_SYNC - Dereferencing the NULL reference

Executing batch work item - Exception CX_SY_REF_IS_INITIAL triggered by CL_SWF_UTL_RUN_CLIF_METHOD====CCIMP in line 86 with text

This error message is on client 020 side.

I am passing same WF key from 010 to 020 and then raising event with same key.

Main question is: how to pass data back to already running WF. With same WF key.

Can I change WF container on its runtime?

WF(1) in 010 is holding big object and I can not finish it and then re-start again.

I am raising event with:
CALL METHOD cl_swf_evt_event=>raise
         EXPORTING
           im_objcateg        = cl_swf_evt_event=>mc_objcateg_cl
           im_objtype         = im_classname
           im_event           = im_event
           im_objkey          = im_objkey
           im_event_container = lo_event_param.

Thanks.

pokrakam
Active Contributor
0 Kudos

Hello,

So it looks like you're missing some info ('Null reference'). Does the object exist in 020? Raising the event in 020 as you are doing won't influence the WF in 010.

As I explained, remotely calling SAP_WAPI_CREATE_EVENT is simple and pretty reliable. Call it in 020 using the DESTINATION parameter.

Regards,

Mike

Former Member
0 Kudos

Hi Aigars,

From the second workflow, have you fired the event?

But I'm worrying about data's. I don't think its possible.

Why don't you make use of some custom table to store data in client 010.

Once the event fired from client 020, in the next step you can get the data's from custom table.

Thanks,

Vijay.