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 version="1.0" encoding="UTF-8" ?>

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

<IMEINUMBER>011811009998378</IMEINUMBER>

<SERIALNUMBER />

<UNITRECEIVEDDATE />

<USERSESSIONID>7b773fa4501280288101111</USERSESSIONID>

- <PARTS_REQUEST>

- <item>

<PARTNUMBER>661-4954</PARTNUMBER>

<COMPTIACODE />

</item>

- <item>

<PARTNUMBER>661-5027</PARTNUMBER>

<COMPTIACODE />

</item>

</PARTS_REQUEST>

<PARTS_RESPONSE />

</rfc:Z_SC_GSX_IPHONE_WAR_STS>

Appreciate any advice please. Thanks!

Accepted Solutions (1)

Accepted Solutions (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi,

Debug your RFC function modules why data misisng, check the tables have data or not.

i dont think there is a problem with XI.

Regards,

Raj

Former Member
0 Kudos

Hi Raj,

I tried to call the RFC FM directly via se37. I entered values but same thing happened. At XI, there is no value for comptiaCode although I did entered it at R/3.

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

- <ns1:IPhoneWarrantyStatus xmlns:ns1="http://gsxws.apple.com/elements/iphone">

- <IPhoneWarrantyStatusRequest>

- <userSession>

<userSessionId>123</userSessionId>

</userSession>

- <iphoneUnitDetail>

- <partNumbers>

<partNumber>PART123</partNumber>

<comptiaCode />

</partNumbers>

<serialNumber />

<unitReceivedDate />

<imeiNumber />

</iphoneUnitDetail>

</IPhoneWarrantyStatusRequest>

</ns1:IPhoneWarrantyStatus>

stefan_grube
Active Contributor
0 Kudos

> I tried to call the RFC FM directly via se37. I entered values but same thing happened.

You mean the values are empty in se37 test also?

former_member208856
Active Contributor
0 Kudos

It mean, there is problem in Code or Data Maintanance.

Change your code accordingly OR Maintain data in Table properly.

Former Member
0 Kudos

Hi Stefan,

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

Partnumber = 123

Comptiacode = 456

But in XI, only Partnumber is seen. 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 Member
0 Kudos

Hi Sandeep,

Hmm, it does not look like coding or data maint problem. I executed RFC FM directly via SE37 and entered in values. But in XI, just the first value is shown. 2nd onwards values are not shown.

Any advise is appreciated. Thank you.

stefan_grube
Active Contributor
0 Kudos

Try deactive and re-activate the RFC sender channel.

Former Member
0 Kudos

Just to add... Make sure if the spelling of "Comptiacode" is same in both XI and RFC. It may happen that you did some changes in RFC but not imported the latest RFC into XI. So my suggestion is reimport the RFC once again into XI system.

Former Member
0 Kudos

Hi Stefan,

May I know how to "deactive and re-activate the RFC sender channel"? I tried for 2 other RFC FMs - and the same problem happens. In a table, only 1st field of each row reaches XI...

Hi Sarvesh Singh,

The same spelling has been checked... I re-imported the RFC many times into XI. It caused some funny things, so I reset at SCICM. In the end, it is still happening...

Thanks guys - in the meantime, I will just use 1 field in my table and in XI, I'll use mapping to break it up (substring) into many fields... A bit primitive but it should work. If I find out the cause, will update here later.

Former Member
0 Kudos

> May I know how to "deactive and re-activate the RFC sender channel"?

In your Integration Directory open the sender RFC channel then under Advanced tab you can find the option to activate & deactivate.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi, to add on, below is my R/3 coding which is calling the RFC :

IT_PART_REQ-PARTNUMBER = '661-4954'.

IT_PART_REQ-COMPTIACODE = 'B01'.

APPEND IT_PART_REQ.

IT_PART_REQ-PARTNUMBER = '661-5027'.

IT_PART_REQ-COMPTIACODE = 'B02'.

APPEND IT_PART_REQ.

CALL FUNCTION 'Z_SC_GSX_IPHONE_WAR_STS' destination 'XI_APPLE_GSX'

EXPORTING

USERSESSIONID = USERSESSIONID

IMEINUMBER = '011811009998378 '

IMPORTING

OPERATIONID = OPERATIONID

CONFIGDESCRIPTION = CONFIGDESC

WARRANTYSTATUS = WARRANTYSTS

TABLES

PARTS_REQUEST = IT_PART_REQ

PARTS_RESPONSE = IT_PART_DETAILS.