cancel
Showing results for 
Search instead for 
Did you mean: 

Problem with decimal field in RFC

Former Member
0 Kudos

Hi,

I have RFC -> PI -> SOAP scenario. In RFC I have a decimal field, when comes value like "0.123", zero is losts and RFC only receives ".123". This only occurs when integer part is zero. Why zero is missing? How can I solve it?

Thanks in advance.

Accepted Solutions (0)

Answers (6)

Answers (6)

Former Member
0 Kudos

Hi,

Please check the configuration of your RFC in SM59 in the tab "Unicode".

Make sure that the radio button Unicode is checked if the target system is of course Unicode.

Otherwise it will do strange conversions with the decimal parameter fields of your RFC Function.

kr,

Mohamed Fredj.

MauriF
Explorer
0 Kudos

This problem still exists. I just tested it in a message mapping with RFCLookup on a 7.31 SP11. Amounts less than 1 are returned without the zero before decimal point. So instead of 0.05 the value .05 is returned.

In my case the output field is defined as CURR ( length 13, 2 decimals ) in SAP backend.

For comparison I tried calling the same function module with identical input parameters from SAP Business Connector. It returns 0.05 as expected. So it sure looks like a problem in PI's RFC adapter.

I checked in NWA / Java System Properties / Services / XPI Adapter: RFC for relevant configuration options on RFC adapter, but found none.

regards

Mauri

Former Member
0 Kudos

The problem is that zero losts when RFC calls to PI. Debugging the program that calls to RFC I see that zero is sending, but when I see monitoring zero is losted. I want to know why zero is losted when RFC calls to PI.

Former Member
0 Kudos

Hi Silvia,

I think you can take the help from ABAP gusy to debug the issue.

Thanks,

Satish.

Former Member
0 Kudos

Hi Silvia,

seems like there's some type mismatching. Try to set to 'char' type that field at the RFC's import/export tab at tx se37 and check if it works.

Cheers,

Edu

baskar_gopalakrishnan2
Active Contributor
0 Kudos

From your description it looks like happening at RFC side and not in PI. If that so, you need to handle only in RFC code section. Otherwise in mapping check the starting character and if it is decimal add o before decimal using UDF or standard function in the mapping.

Former Member
0 Kudos

Hi Silvia,

Where this conversion happening in PI mapping or in RFC code.

Thanks,

Satihs.

gagandeep_batra
Active Contributor
0 Kudos

Hi Silvia,

You can use format number function in mapping for that............:)

Regards

Gagan