cancel
Showing results for 
Search instead for 
Did you mean: 

Acknowledgement messages

former_member184154
Active Contributor
0 Kudos

Hi Everybody,

I'd like to get a suggestion on how to implement this scenario:

FILE ADAPTER -> XI -> R/3 (ASYNC ABAP PROXY)

My issue is: I need to have an application ack on XI, driven programatically by my ABAP code inside the R/3 inbound proxy.

1- I read that somewhere in the outgoing message from XI I should set an "ack required" (header?) attribute... but how do I do that?

2- Can I work with "fault message" somehow?

3- ... other ideas?

Thanx guys. Any help is greatly appreciated!

Alex

Accepted Solutions (1)

Accepted Solutions (1)

cdumont69
Contributor
0 Kudos
former_member184154
Active Contributor
0 Kudos

Hi Chris,

thanks for the links. Maybe I'm wrong but I think I laready went through all the std doc I could find, but unfortunately my scenario is not covered there.

Can you figure out something more to give me a hint?

Thank you very much.

Alex

cdumont69
Contributor
0 Kudos

If you want to send an ack to your file adapter you must create it. So, you can get a return code of you ABAP program and create an ack file that you post in a directory.

Regards,

Chris

former_member184154
Active Contributor
0 Kudos

Maybe I'm not so clear or maybe the problem is stupid, but what I need is to update the status of the message just on XI, and not back to the file adapter. I know this can be done by raising an exception in the inbound proxy ABAP class with synch communication, but I wonder if there's a way to achieve the same result with asynch...

Any idea?

Thanks again for your time.

Alex

Former Member
0 Kudos

Alex,

You can provide a fault message in the Directory for inbound Asynch. interface also.

In your case, the ABAP proxy, based on the result of applicaiton posting, should send an exception/fault message back to XI. This should update the status of the message in XI.

Hope this helps

KK

former_member184154
Active Contributor
0 Kudos

KK,

Thank you very much for your answer.

Indeed that's what I'm doing... In my ABAP class there's a ...

RAISE EXCEPTION TYPE ZXILAB_CX_FMT_DUMMY

EXPORTING

standard = l_standard_data.

... instruction, which actually sets R/3 message in "application error" status, but in XI the message remains in acknowledgment status "undefined app error" (even if I don't raise anything) and actually there's no response message, which I would expect. Am I missing something in the Directory? If so, I would see a routing problem of the response message, but no way.

Thanks for your time and patience.

Alex

Former Member
0 Kudos

Alex,

While I try to simulate this in our system, can you take a look in to this

http://help.sap.com/saphelp_nw04/helpdata/en/5d/a45c3cff8ca92be10000000a114084/frameset.htm

I am sure you know about this, but just in case if you had missed something.

Also try posting a fualt response of message type 'I', which would be an information message from your proxy.

Thanks

KK

former_member184154
Active Contributor
0 Kudos

OK, I tried also this code right here...

-


data: rettab type bapirettab,

ret type BAPIRET2.

ret-type = 'I'.

ret-id = 'MESSAGECLASS'.

ret-number = '101'.

ret-message = 'Messaggio di informazione 1'.

append ret to rettab.

TRY.

CALL METHOD cl_proxy_fault=>raise

EXPORTING

EXCEPTION_CLASS_NAME = 'ZXILAB_CX_FMT_DUMMY'

  • APPLICATION_LOG_HANDLE =

BAPIRETURN_TAB = rettab

  • ADDITION =

  • AUTOMATIC_RETRY =

.

CATCH CX_AI_APPLICATION_FAULT .

ENDTRY.

-


... but no luck. The message in XI shows an green question mark icon in the ack column that says "Still awaiting acknowledgment"... Suggesting that I should get an ack when everything goes well, too. The R/3 system simply doesn't issue any ack, as if it didn't see the ack required tag in the header...

Thanks.

Alex

former_member184154
Active Contributor
0 Kudos

GREAT! I DID IT! It was just a matter of patching the APPINT to level 6 on the R/3... Now the ack works fine!

Thanks everybody for your help!

Alex

Former Member
0 Kudos

hi Alex,

i am trying to send ack message form R/3 inbound proxy to XI (itz a FILE->XI ->R3 asynchronous interface)..i have done what u had done to achieve this..

But nothing works..i am not getting anything in the ACK STATUS column..

U mentioned that somewhere v have to enable ack required.. can u tell me where exactly it needs to be done ?

and also u mentioned that APPINT level needs to be changed in R3..can u just help me in this reg..

i wud really appreciate ur help..Looking fwd ur reply..

Thanks

Anandan Krishnamoorthy

former_member184154
Active Contributor
0 Kudos

Anandan & Patric,

That is an old story... Actually I was posting test messages from runtime workbench utility... And in that place, the rwb sets the ack requested. But there's no std way with the file adapter! 100 % sure of this.

If I were to seriously face this problem, I think I would hack the message header with a custom AE module in the sendere comm. channel... Most likely using reflection (which should not be done, especially in an EJB).

Alex

Answers (1)

Answers (1)

Former Member
0 Kudos

Alex,

Could you tell me how you managed to request the acknowledgement from within XI?

From the SAP documentation I get the impression the acknowledgement should be requested by a sender proxy, which would require a Proxy-XI-Proxy scenario.

I need the acknowledgement to get from a receiver proxy back into XI, not back to the sender.

Thanx,

Patrick