Skip to Content
author's profile photo Former Member
Former Member

Problem with decimal field in RFC

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.

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

6 Answers

  • Posted on Dec 05, 2012 at 12:55 PM

    Hi Silvia,

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

    Regards

    Gagan

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 05, 2012 at 12:56 PM

    Hi Silvia,

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

    Thanks,

    Satihs.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Dec 05, 2012 at 01:48 PM

    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.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 05, 2012 at 01:49 PM

    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.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Mar 24, 2015 at 09:05 AM

    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

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jul 22, 2016 at 08:42 AM

    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.

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.