cancel
Showing results for 
Search instead for 
Did you mean: 

Sending same message 2 sequentially to receiver

Former Member
0 Kudos

Hi,

I want to do a File - to - File + start process ( proxy ) :

I have a directory to pick up files that I want to put to an R/3 application server.

As soon as this step is finished, I want to trigger the ABAP report that process the file.

I thought of using a BPM that sends message 2 async to same receiver ( with a receiver determination and a ForEach loop block ) in the understanding that the second send will not start before the first send finishes ( although async ).

The first step would a be file a receiver. The second would map the 'file' to a start message containing the filename and send as receiver proxy to SAP WAS receiver.

( this proxy will use the file name to submit the ABAP report )

I have the issue that I need 2 different interface mappings for both steps altough same receiver / sender interface. So I guess this is not possible

I could 'update' maybe the payload content with a counter from the BPM and base my receiver determination condition on this to trigger different mapping but maybe that is to far fetched.

Or is there a more elegant way of setting up the process ?

rgds

Dirk

Accepted Solutions (1)

Accepted Solutions (1)

moorthy
Active Contributor
0 Kudos

Hi,

Are you doing dynamic file naming to the file in the receiver side ? If so, based on this file name , you need to execute the ABAP report ? is this is correct ?

In this case, using BPM, you can trigger ABAP proxy from BPM. i.e After sending File Data, then you can trigger ABAP proxy from the BPM. But now question is do you need to execute the ABAP report from XI ? because you can easily schedule this in the ABAP right?

If you just writing a file with stattic name, then you can plan to call directly ABAP proxy from the XI. This proxy will execute the report as well as write a file.. So this is something like writing a file from the ABAP code..

Regards,

moorthy

Former Member
0 Kudos

Hi Moorthy,

Yes the filename is dynamic. I indeed did consider of using 1 proxy and sending the file and execute the ABAP directly from the proxy but i choose primarily to use BPM to practice my limited BPM knowledge

( also since the file might become binary I do not want to apply any form of mapping and just transfer binary to SAP. I know how to send a sender proxy with attachment from SAP but I don't know how to convert an message to an attachment of a receiver proxy )

I guess the underlying problem is that I have 1 trigger message ( file sender ) but want to trigger 2 message flows, and the second flow can only start if the first one has finished. Moreover, the first one is asynchronous and so I have no message ( response ) as output that I can use as input for the next step.

So I think I need to schedule immedialy 2 flow ( hence my loop over 2 receiver determinations ) but somehow manage to thave the second step waiting and to use different interface mapping although same receiver / sending interface )

rgds

Dirk

moorthy
Active Contributor
0 Kudos

Hi,

good to know.. Just for your information, BPM has performance constraint.

You can do as u mentioned. You can make use of Transport Acknowledgement for the File receiver. Based on this ack, you can wait for 1 or 2 mins and then check you can trigger ABAP proxy--

To work on acknowledgment-

/people/michal.krawczyk2/blog/2006/06/22/xi-playing-with-the-file-adapters-acknowledgments

Regards,

moorthy

Former Member
0 Kudos

Hi Moorthy,

I didn't thought of using the acknowledgements as a trigger and it's an interesting idea but I need also information from the original message ( filename ). So having the acknowledgement as a trigger is not enough.( but maybe I can use it to 'release' a fork step that waits for the ack ...I will try )

When you say 'wait 2 minutes' , I assume that that means that the transport acknowledgement is send when writing the file is maybe still busy ? Or is it only send after the file has been successfully written ?

( I would expect a more advanced solution of our 'state-of-the-art-tool' XI then 'wait 2 minutes and hope that writing the file has finished' successfully, but If there is no solution to this, I guess it's not possible )

thx for your responses

Dirk

Answers (0)