cancel
Showing results for 
Search instead for 
Did you mean: 

Fault Message data

Former Member
0 Kudos

Hi,

We are sending data from HTTP to PI and than to SAP via Proxy. In SAP, proxy receives it and calls the BAPI to post the data.

If there is an error , it invokes the Fault Message data. Somehow i am not getting the fault message back to PI. In some case i am seeing another window of acknowledgement in PI MONI whcih has this error.

<?xml version="1.0"; encoding="UTF-8" standalone="yes" ?>

- <!-- Technical Routing of Response -->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>XIServer</SAP:Category>

<SAP:Code area="INTERNAL">NO_BACK_SYSTEM_IN_HOPLIST</SAP:Code>

<SAP:P1 />

<SAP:P2 />

<SAP:P3 />

<SAP:P4 />

<SAP:AdditionalText />

<SAP:Stack>Legacy system to which acknowledgment message is to be sent is missing in hoplist (with wasread=false)</SAP:Stack> <SAP:Retry>M</SAP:Retry>

</SAP:Error>

How to configure the Fault message type in async scenario. I read the blog but looks like still some config is missing from my end

Also If SAP send the error message & PI receives it, how can we send this error info back to HTTP while remaining in Async mode .

Regards,

Edited by: XI_Fan on Sep 11, 2008 11:22 PM

Accepted Solutions (1)

Accepted Solutions (1)

VijayKonam
Active Contributor
0 Kudos

I do not think being in Async mode you can do that. You might need to use BPM in order to capture the ack/error.

VJ

Answers (2)

Answers (2)

Former Member
0 Kudos

hi,

[;

[;

the above threads might solve ur purpose.

Regards.

Siddhesh Naik

Former Member
0 Kudos

Thanks all for reply. My scenario is slightly bit different. We are not using BPM and nether synchronous call.

The scenario is 3rd party sends Purchase REQ to PI and PI via Server proxy pushes that to ECC. Once ECC receiver,

it tries to post via BAPI If the BAPI fails aim is to send the data back to 3rd party with error and key so that they should

not do further processing of PR ( like creating PO etc) We have fault message that is being called in SAP ECC when the BAPI is in error. Now I have 3 points here

(1) What configuration are needed to send the information ( fault message data) from SAP to PI ?

(2) What is the best way to send this information back to 3rd party, considering that we are in using ASYNC Proxy

and Async HTTP adapter?

(3) Do we have to create another interface ( Client proxy) to send the data to ECC -> PI ->HTTP.

How this would be done online ( without time gap and without BPM)

I think one way is to call the client proxy code where BAPI BAPI error out( server proxy code)

Do a mapping between this fault message of SAP and fault message of HTTP and than push the data back to HTTP.

Any comments on this appreciated.

Regards,

Former Member
0 Kudos

Hi, What you could try is the following:

1. Configure Alert, for any application error that occurred in ECC side, it will trigger alert, the alert message will sent via email.

2. Create another interface: Mail sender --> XI --> HTTP receiver

The mail sender is monitoring if there any email message coming into inbox, if there is any message, this interface will be triggered, then message will be sent back to the sender of the first interface.

This is just my idea, I have not tried in any system.

Regards.

Liang

Former Member
0 Kudos

Thanks for the great idea. I have another plan and wanted to know from Guru's if this is fine.

Call the Fault message class inside the class where the BAPI is being called ( if the BAPI fails) . This will push the data via Proxy to PI

Once PI receives the fault data, map it to the target fault data and push the data to target. Target will pick it and do the needful.

This will work seamlessly and I can use existing CC for doing this.

Hope to hear comments on this.

Regards,

Edited by: XI_Fan on Sep 12, 2008 7:21 PM

Former Member
0 Kudos

Hi, Based on my experience, when fault class is called, the message will be sent back to local integration engine on ECC side, not go back directly to XI. If the message going back to XI, your solution sounds good one.

You can double check my doubt, maybe I am wrong.

Liang

Former Member
0 Kudos

Liang,

You are right. The Fault message gives the message in SAP MONI rather than PI . I doubled checked with this blog.

The other option that we have is to create a new interface ( SAP -> PI->HTTP) just for error & call this proxy class when the BAPI posing fails ( This will be like Client proxy call inside the server proxy code).

This code will push the error and key information to the PI and later PI can map this to HTTP fault message type.

Regards,

Former Member
0 Kudos

Hi, XI Fan:

I personally believe that this is possible. When server proxy is called, BAPI will be called to post data on ECC application, if there is some error, the error table will be populated, and then you can implement some logic to check the error, then call a client proxy and send message back to PI.

If you figured out, do update the thread and share your experience with the others.

Good Luckk

Liang

Former Member
0 Kudos

Hey

Just check the following blog

Thanx

Aamir