cancel
Showing results for 
Search instead for 
Did you mean: 

File to RFC scenario

phanikumar_akella
Participant
0 Kudos

Hi,

I am working on a File to RFC scenario. Purpose of this interface is to update the values coming from File into the R3 database. I have configured this as asynchronous scenario.

Scenario is working fine. But I am facing validation issues. Sender field 'Country' from File has its corresponding receiver field 'MANCOUNT' in RFC/BAPI. It will accept values like 'IN','US','UK' , etc. only.

I have given value 'XX' in the sender field-Country. Receiver RFC adapter processed the message successfully in Communication Channel Monitoring logs. But nothing is updated in R3 as 'XX' for MANCOUNT will fail in BAPI. This is captured in BAPI.Response. But I have not mapped BAPI.Response as it is asynchronous Scenario.

Please suggest how to handle this situation. Do I need to map the BAPI.Response to fault messages?

Accepted Solutions (1)

Accepted Solutions (1)

former_member181962
Active Contributor
0 Kudos
phanikumar_akella
Participant
0 Kudos

Hi Ravi,

I tried this scenario. I am getting below errors in Sender Communication Channel.

-


2009-06-10 17:13:31 Error Received XI System Error. ErrorCode: MSGGUID_EXISTING ErrorText: ErrorStack: Message ID CE0AEA18EF8144EF3CBECF285EDFBEC8 for pipeline CENTRAL, version already exists in system

2009-06-10 17:13:31 Error Returning synchronous error notification to calling application: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:MSGGUID_EXISTING:.

2009-06-10 17:13:31 Error Transmitting the message using connection http://SIDXIDEV:8000/sap/xi/engine?type=entry failed, due to: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:MSGGUID_EXISTING:.

2009-06-10 17:13:31 Error The message status set to FAIL.

2009-06-10 17:13:31 Error Returning to application. Exception: com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:MSGGUID_EXISTING:

2009-06-10 17:13:31 Error Attempt to process file failed with com.sap.aii.af.ra.ms.api.DeliveryException: XIServer:MSGGUID_EXISTING:

2009-06-10 17:13:31 Error Attempt to process file failed with com.sap.aii.af.service.util.transaction.api.TxManagerException: Unable to roll back transaction: com.sap.engine.services.ts.exceptions.BaseIllegalStateException

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi!

What do you want to achieve in your scenario? Explicit error handling? Then you need to handle the BAPI response. But if you e.g. have a valid default value you may set this in your message mapping.

Sample: If field content is wrong (like e.g. "XX") in the file always set "EN" as value to target field.

Regards,

Volker

phanikumar_akella
Participant
0 Kudos

Hi Volker Kolberg,

Thanks for the response. I can't assign any default value. BAPI.Response is handling this in the R3 side like we get the message in SE37 'Manufacturer country XX is not supported -> check entry'.

How can I know that there is a message failure as a PI developer. Because Receiver RFC Adapter is showing as message successfully processed. But entry in R3 is not created due to 'Manufacturer country XX is not supported -> check entry' exception.

Former Member
0 Kudos

Hi!

You have to define this interface as synchronous RFC interface. Then you will receive the response (please do not forget to define response message structure in your service interface) and can handle it the way you want/need it. If you do not want to work with ccBPM you may for example use your response message mapping to invoke some notification process (e.g. by calling a SAP function module per RFC lookup or by "mis-using" an ABAP or Java m,apping program to do that notification job).

Regards,

Volker

Former Member
0 Kudos

Hi

U can map the BAPI.Response to Interface which can be converted back to a file using Receiver File Adapter and dump it in a Folder

1) File (Sender) --- > XI ---> RFC (Receiver)

2) RFC(Sender) -


> XI ---> File (Receiver)

Regards

Srini