cancel
Showing results for 
Search instead for 
Did you mean: 

problem with special chars (apostrophe) in ABAP client proxies

Former Member
0 Kudos

I have an ABAP Proxy -> PI -> SOAP scenario. In the response I have a string field with the following content.

"Mach's gut"

After the mapping step the target field has still the same content but in the ABAP system I get the following:

"Mach#s gut"

Any idea how I can handle this?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Okay, I've checked several things again.

To use the "view source code" option of the browser doesn't help. I see exactly the same. I have a ' at the PI site and a # at the backend system. But I've downloaded the files (payload content) and opened them with Proton. In the PI file the ' is a  ’ but at the backend file the # is a #.

In my opinion mapping can't be the solution respectively I have no idea how it can fix that problem. I have the same character before and after the mapping. I get the problem first at the backend side.

I think my problem is, that the PI system is a Unicode system and my ERP system not. But I have no idea how I can handle this.

Former Member
0 Kudos

can u provide us the trace?

also try to check with value expected in the payload and check.

stefan_grube
Active Contributor
0 Kudos

The problem is following: You always talk about an apostrophe ' (ascii 39) but in fact you have another character which looks like an apostrophe, maybe it is ´ or `

In unicode you see 3 bytes representing the 'apostrophe', but is it no ascii value, there is no equivalent in your R/3 character set.

There is no soulution for this, besides ask web service guys not to send characters which do not exist in R/3 character set.

Check the decimal/hex value of the character representation of the character and look for a unicode chart online to see, which character you have actually.

Former Member
0 Kudos

Stefan, you nailed it. It wasn't an apostrophe, it was a ´ (Akut, accent aigu). Fortunately
I have access to the source system and so I was able to fix the data. So the problem is solved in this case.

    

I have checked all the versions of á, é, ó etc. and they all work fine. Only the stand
alone ´ brings that problem but I believe this sign won't be used alone or isn't it so?

   

So I think I don't have to deal with this problem any longer. Thank you all for your help.

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi Gil,

We can handle these kinds of situations at mapping level. your requirement will be satisfied.

Try it, if u have any issues, let us know.

Former Member
0 Kudos

To me it sounds as if the problem is occurring in the ERP side. Gil says that the payload in and response back through PI look OK with apostrophe.

iaki_vila
Active Contributor
0 Kudos

Hi Gil,

Have your checked the point 3.2 of this document http://scn.sap.com/docs/DOC-16138?

May be, Pi mapping seems that the char encoding is ok but it could be that your browser shows it right. You should check the target XML response with the option "View source code" in the payload's monitorization.

Regards.

Former Member
0 Kudos

Aaron

Switching to HTPP 1.1 has no effect.

To test the client proxy I only use SPROXY. My request is very simple, only an id. In the received response I have this issue. Of course we also have this issue with the final program code. I only use SPROY for testing in this case. At my PI system the content of the string field is correct before and after the mapping. It's a simple String field (a title) No action on this field.

Sagarika

I believe I need more hints. I have only one adapter in this scenario – a SOAP receiver adapter. At the module page I have only one entry:

sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean      Load Enterprise Bean      soap

Should I add your values to the module configuration for soap like this?

Soap      destEncoding      UTF-8

I've done this already but this has also no effect.

Former Member
0 Kudos

Hi Gil,

Please find the below screen shots as your reference.

localejbs/Seeburger/CharsetConversion      Local Enterprise Bean      char_conversion

char_conversion      sourceEnc      UTF-8

char_conversion      targetEnc       UTF-8

Best Regards,

Sagarika

Former Member
0 Kudos

  Sagarika, I don't own the Seeburger adapter and I only use the standard SOAP adapter. So it
can't work.

Former Member
0 Kudos

Hi Gil,

Please set destEncoding and srcEncoding as UTF-8 in adapter module, I think it will solve your issue.

Best Regards,

Sagarika

Former Member
0 Kudos

Is your RFC Destination using Unicode?

Former Member
0 Kudos

  I don't use a RFC destination. I have only a SM59 destination type H at the SAP ABAP system.
I can't find any codepage information here.

    

If I look at the message monitoring at the PI system I can see that the XMLs have UTF-8. If
I use the proxy test tool at the ABAP system I also get a UTF-8 XML-file as response.

Former Member
0 Kudos

In your SM59 RFC Destination Type H have you tried HTTP 1.1, is the behavior the same?

Does your proxy test tool let you send data? If yes, does it maintain the apostrophe or is it also converted?

Could there be a data conversion happening on the ABAP side (e.g. validation function)?