cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with RFC to XI - using tables

Former Member
0 Kudos

Hi experts,

I have a RFC function module in R/3 which uses table - the table has 2 components PartNumber and ComptiaCode. But when the RFC call is made, in XI, the value of ComptiaCode is always blank. This is despite the table in the FM has been populated correctly with values for PartNumber and ComptiaCode. Pls see below xml from XI.

<?xml

Accepted Solutions (1)

Accepted Solutions (1)

former_member200962
Active Contributor
0 Kudos

1) The XML is not visible.

2) Did you check if the RFC in ECC and RFC in XI are same (version-wise)?

3) Did you check the RFC sender channel (RWB --> Component Monitoring --> Adapter Engine --> CC Monitoring)....it will show you the payload received by XI....are the fields seen there?

Regards,

Abhishek.

Former Member
0 Kudos

Hi,

May I know what do you mean by XML is not visible?

For point 2, I have re-imported the RFC into Integration Builder but it's still the same...

For point 3, i checked communication channel monitoring. It is a synchronous message. Now I see errors because the message out is not correct (missing the data), but I am unable to view payload there.

I'm checking the payload via SXMB_MONI - it is there that I found the value missing.

From R/3 RFC, the table parameter is populated with 2 values :

PartNumber = 12345678

ComptiaCode = B01

But in XI - SXMB_MONI, the payload of inbound message (before mapping is done) shows blank value for comptiacode ::

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

- <rfc:Z_SC_GSX_IPHONE_WAR_STS xmlns:rfc="urn:sap-com:document:sap:rfc:functions">

<IMEINUMBER />

<SERIALNUMBER />

<UNITRECEIVEDDATE />

<USERSESSIONID>USERSESSIONID</USERSESSIONID>

- <PARTS_REQUEST>

- <item>

<PARTNUMBER>12345678</PARTNUMBER>

<COMPTIACODE />

</item>

</PARTS_REQUEST>

<PARTS_RESPONSE />

</rfc:Z_SC_GSX_IPHONE_WAR_STS>

Appreciate any advise pls. Thank you!

former_member208856
Active Contributor
0 Kudos

In synchronous RFC, there will be some Importing parameters, the result will come based on values given in Importing parameters.

Execute your Function Module mannually at Application System & give values, as passed in Mapping.

Now check the result, Comptiacode is coming there ?

Former Member
0 Kudos

There is no problem using the Import parameters of the RFC FM. It is with the Tables parameters.

I have executed FM manually at se37 (without calling program). I created a row for the tables, filled in 2 values.

But in XI, in the table, only first value is shown. Comptiacode is still missing. Have tried to change all parameters to using Char, not string... but does not help...

Any advise please? Thank you!

former_member208856
Active Contributor
0 Kudos

Check the XML received from R/3 System, In message before mapping, does it has multiple records in table ?

If it has multiple records in table, then test your mapping, it is passing values properly.

Also check the occurance of target structure, in table it has 0:unbounded or not.

Answers (2)

Answers (2)

Former Member
0 Kudos

hi Hwee Ping Han ,

1.Have you imported the RFC function module with the same user id, that yo are using for communication between R/3 and XI.

2.Try debugging the the function module in runtime. Put a HTTP breakpoint in your FM and run the scenario. You could see Values are populating or not in the Compaticode field?

Former Member
0 Kudos

U chk the Data types in XI & SAP R/3 ( for Inbound interface, outbound interface ) thay should be same with the legth;

Former Member
0 Kudos

Hi devaramaraju,

>> U chk the Data types in XI & SAP R/3 ( for Inbound interface, outbound interface ) thay should be same with the legth;

Yes, they are the same length. In R/3, I use CHAR10. In XI, it is auto set as STRING with max length 10.

Hi Sandeep Kaushik,

The XML from R/3 (before mapping) : it can have multiple records but the 2nd field (comptiacode) is always blank - although I did set this in R/3.

- <rfc:Z_SC_GSX_IPHONE_WAR_STS xmlns:rfc="urn:sap-com:document:sap:rfc:functions">

<IMEINUMBER>011811009998378</IMEINUMBER>

<SERIALNUMBER />

<UNITRECEIVEDDATE />

<USERSESSIONID>7b773fa4501280307289515</USERSESSIONID>

- <PARTS_REQUEST>

- <item>

<PARTNUMBER>ZP661-4782</PARTNUMBER>

<COMPTIACODE />

</item>

- <item>

<PARTNUMBER>ZM922-8594</PARTNUMBER>

<COMPTIACODE />

</item>

</PARTS_REQUEST>

<PARTS_RESPONSE />

</rfc:Z_SC_GSX_IPHONE_WAR_STS>

I don't think it's a problem with mapping yet. Cos the input from R/3 is already missing the data.

Anyway, thanks a lot for these tips. I'll still continue to try for a solution. In the meantime, I will pass just 1 field from R/3 and use mapping (substring) to break it up. A bit silly but it should work for now.

Former Member
0 Kudos

Dear ping Han,

Please check in your mapping whether COMPTIA field in the request mapping is mapped properly or not..

regards,

Sugata

Edited by: Netweaver_I3L on Jul 28, 2010 2:20 PM