cancel
Showing results for 
Search instead for 
Did you mean: 

Sender Mail Adapter, technical Acknowledgement

Former Member
0 Kudos

Hi all,

I have a SMTP --> XI --> Proxy Scenario. For the inbound message I get via SMTP, I'd like to send a technical acknowledgement back to the Sender (via SMTP, too). The acknowledgement has a specific message structure, for example it contains the DocumentID of the inbound message I get via SMTP.

My idea now is: Within ReceiverDetermination, I configure two receivers:

1. Backend system for the Inbound Proxy

2. original Sender System

Within Interface Determination, I'll do 2 mappings:

1. Mapping from source message to ABAP proxy interface

2. Mapping from source message to technical acknowledgement structure

Then, receiver agreements / receiver communication channels for both interfaces.

My question now is: is there a more elegant solution then doing the scenario like described above? Maybe something I can do in the Sender Mail Adapter to create the specific technical acknowledgement and sent it back to the sending application?

Best regards

Holger

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi Holger !

I suggest to use BPM, to receive the SMTP, do the sync send to the proxy and once everything goes ok, make another send async to SMTP.

1) receive step - initiate BPM with the reception of the first mail

2) send sync to proxy

3) evaluate response

4) response/ack: send async to mail adapter receiver

Regards,

Matias.

Former Member
0 Kudos

Hi Matias,

sorry for the late reply, I haven't been in the office for a few days. Thanks for your ideas.

For my scenario I don't want to use BPM as I don't think that it'll be necessary. It's a asynchronous scenario so I don't want to call the proxy synchronous.

I haven't used acknowledgements before, but I've already seen that there's a special column in sxmb_moni for an acknowledgement. Is it possible to generate that acknwoledgement in my scenario (SMTP --> PI --> Proxy / asynchronous) that it's visible in that column? I think from my described solution (two receivers: one for inbound proxy, one for outbound acknowledgement) it won't be visible there as it's just a message split.

Regards

Holger

Former Member
0 Kudos

Hi Holger !

XI supported acks are not available for your scenariom because the smtp/mail sender cannot request it.

http://help.sap.com/saphelp_nw04s/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/frameset.htm

You should create some kind of artificial ack, that should be part of your own protocol. What I meant with the SYNC proxy, is to use its response message as your own defined ack, because it is not supported as is.

If you call your proxy async, then you will not receive any feedback to use it as ack info.

Another idea could be to forget the ack per se, and just use define an alert in case of problems with the scenario to send a mail to the specified users.

Regards,

Matias

Former Member
0 Kudos

Hi Matias,

I had something in mind that it's not possible to use acknowledgements with sender mail adapter. That's bad, I don't understand why system acknowledgements (not application acknowledgements) are adapter specific. But I'll have to live with that

Can you please explain a little bit more what you mean here?

"You should create some kind of artificial ack, that should be part of your own protocol. "

Sending a Alert EMail is not sufficient in my case, I'll need a system acknowledgement for the sending application in each case (positive / negative).

BR

Holger

Former Member
0 Kudos

Hi Holger !

What I meant with artificial ack, is a custom made message sent upon some event occurrance instead of using the specific ack option provided by XI.

What part of the scenario do you need to acknowledge? that the mail was received by XI? that the abap proxy was executed?

Another idea, without BPM could be to have a Mail->XI->Mail scenario, where within the mapping (graphical, java or abap) you execute the proxy async as a RFC call via JCO or LookupAPI and then map whatever the fields you want, to the target message that will exit as a mail to the specified receiver. For example, using graphical mapping you can create a simply User Defined Function to make the ECC call and trap any errors to be informed in the target message as part of the technical/transport ack.

Regards,

Matias.

Former Member
0 Kudos

Hi Matias,

I want to send the ack directly when receiving the message. So it doesn't matter if the message has been received by the proxy. Because of that, my ideas was to send it directly within receiver determination

BR

Holger

Former Member
0 Kudos

Hi Holger !

You will need to use multi-mapping, to create 2 output message types based in one input. Then via enhanced receiver determination you can route one message to abap proxy and the other to smtp receiver channel.

/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible

There is one restriction for this: only adapters running on Adapter Engine are supported, so instead of abap proxy, I think that you will have to use RFC.

Regards,

Matias.

Former Member
0 Kudos

Hi Matias,

hmm, instead of using multi mapping i could use two receivers in receiver determination (without condition) and I could use two interface mappings. Then I still could use my proxy for the processing and my smtp adapter for the ack instead of having the restriction that both adapters have to be on the the adapter engine.

If there's no better solution somewhere out there I'll implement it like that 🐵

BR

Holger