cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping exception

Former Member
0 Kudos

Hi all,

The response of a RFC is:

<rfc:ZBAPI_GOODS_MOV_GOM.Exception xmlns:rfc="urn:sap-com:document:sap:rfc:functions">

<Name>RFC_ERROR_SYSTEM_FAILURE</Name>

<Text>Screen output without connection to user.</Text>

<Message>

<ID>RFC_ERROR_SYSTEM_FAILURE</ID>

<Number>null</Number>

</Message>

</rfc:ZBAPI_GOODS_MOV_GOM.Exception>

I need to map it in XI.

I see nothing in the message type fault of the RFC.

Any help?

Regards

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi Ismael,

Were you able to solve the below problem?

Tks,

Danny

VijayKonam
Active Contributor
0 Kudos

Hi,

This is the time you should use the Fault message data types which are created by default in the mapping. If you observe your mapping for RFC, you would have a tab for mapping the exception as well. You this tab to map the exception with Excahnge Fault and Exchange Log datatypes.

VJ

Former Member
0 Kudos

Hi VJ,

The structure of a FMT don't match with the structure of the exception I get. The exception is throwed by the RFC and I can't modify it. It's a must to catch the exception in XI.

Is there a way to specify a FMT with a different structure?

Regards,

Former Member
0 Kudos

Hi,

The RFC don't include any exception in the "exception section" of the specification, although it throws exceptions (don't ask me why). When I import the RFC, the fault tab is empty (no exceptions). In "Interface Mapping" doesn't appear the fault tab, so I can't make any mapping between the exception and the FMT.

Is there a way to map without modify the RFC?

Regards,

Former Member
0 Kudos

I've been fightinh with the problem and my personal thoughts are that It's not possible. If you want to map an exception, the RFC must indicate it in the exception tab.

Message was edited by:

Ismael Perez

Former Member
0 Kudos

Hi Ismael !

Instead of raising an exception inside the ZBAPI_GOODS_MOV_GOM RFC, I suggest to add a return field that returns if the execution had any errors. Then you could map that info back to a response to the sender.

Regards,

Matias.