cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Adapter work well as receiver but no data got transferred

daixiong_jiang3
Active Participant
0 Kudos

I have a JDBC>XI>RFC scenario, I can fetch the data from the ORACLE database side and both the sender and receiver communication channel works well, also when I set an external break point in the RFC module I can dubug it on the ECC side, but

there is no data being transferred to the TABLES parameter, why this happens and how to correct it?

by SXI_MONITOR, I can see message has been flagged as "finished" without any error message, and the payloads from the JDBC adapter is not initial, then i copy the XML file to conduct a mapping test in the ESR, it works fine. But i still can not get any data from the TABLES parameters of the RFC.

I created one action under a different namespace, which will be used to create the process integration scenario, is this might be the cause? but i have assigned the RFC to the action as inbound interface

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

HI,

Process integration scenarion and actions are used for creating the configuration objects automatically...in ID...

but this not going to affect your scenario unless you used the same i n configuraiton objects of ID...

Did you checked the connection parameters to the target system are same as what you are looking in for ?

crosss check the same...

Also Cross check the imported RFC metadata..

HTH

Rajesh

daixiong_jiang3
Active Participant
0 Kudos

The fact that the external debug works proves the Adapter configuration is correct, and the RFC also works fine locally on the ECC side.

The imported RFC metadata is totally the same as the ECC's.

Answers (2)

Answers (2)

daixiong_jiang3
Active Participant
0 Kudos

This issue has been resolved, below is the solution:

when we get data via JDBC adapter from Oracle database, the XML file structure of result data would be:

<?xml version="1.0" encoding="utf-8" ?>

- <ns:Document Name xmlns:ns="http://CEA_AOC/FLIGHT001/001">

- <row>

<field1>xxx</field1>

........

</ns:Document Name>

here the Document Name is the name you defined in the adapter and you can find it under the Processing parameter of the Processing tab , the Document name must be the message type name otherwise it will not work!!!

then when you define the data type for the JDBC sender in the ESR, you need to define it as the follwoing:

ZDT_XXXX

row

field1

you must define the structure with the name 'row',otherwise it will not match the XML file structure of result data from JDBC

Former Member
0 Kudos

Have you tested your RFC in the ECC system?Is it working fine?

former_member192079
Participant
0 Kudos

Hi Jiang ,

check the following..

1. Go to RWB. -> Message Monitoring -> Adapter Engine ->

Check the Payload created at the Adapter Engine. for the sucessfull message......

ensuring u r receiver RFC channel is passing the payload or not...

2. Hope u r RFC at the ECC system is working fine on testing.

3. Check the user used in RFC channel is having authorization to execute the RFC in target ECC system.

Regards,

AR

daixiong_jiang3
Active Participant
0 Kudos

Hi AR,

Thanks for your reply.

I got the following audit log:

Time Stamp	Type	Description
2010-06-24 05:29:35	Information	Channel ZCC_FLIGHT_SND_01: Executed Query successfully, confirmation skipped - data may be send again ("TEST" mode).
2010-06-24 05:29:35	Information	Send query result, size 47198434 characters.
2010-06-24 05:29:36	Information	MP: entering
2010-06-24 05:29:36	Information	MP: processing local module localejbs/CallSapAdapter
2010-06-24 05:29:36	Information	The application tries to send an XI message asynchronously using connection JDBC_http://sap.com/xi/XI/System.
2010-06-24 05:29:36	Information	Trying to put the message into the send queue.
2010-06-24 05:30:03	Information	Message successfully put into the queue.
2010-06-24 05:30:03	Information	The application sent the message asynchronously using connection JDBC_http://sap.com/xi/XI/System. Returning to application.
2010-06-24 05:30:03	Information	MP: leaving
2010-06-24 05:30:03	Information	The message was successfully retrieved from the send queue.

and the message content:

<ns1:ZPM_FM_006>
<I_PMT001/>
</ns1:ZPM_FM_006>

but when i do the mapping test in the ESR, i got the right result:

<ns1:ZPM_FM_006 xmlns:ns1="urn:sap-com:document:sap:rfc:functions">
   <I_PMT001>
      <item>
         <ZPLAN_DEPD>20040807</ZPLAN_DEPD>
         <ZPLAN_DEPT>090700</ZPLAN_DEPT>
      </item>
      <item>
         <ZPLAN_DEPD>20040807</ZPLAN_DEPD>
         <ZPLAN_DEPT>090700</ZPLAN_DEPT>
      </item>
      <item>
         <ZPLAN_DEPD>20040807</ZPLAN_DEPD>
         <ZPLAN_DEPT>090700</ZPLAN_DEPT>
      </item>
   </I_PMT001>
</ns1:ZPM_FM_006>

ZPM_FM_006 is the RFC name and I_PMT001 is the TABLES parameter of the RFC.

Seems the mapping has not been conducted,why can this happen and how to correct it?