cancel
Showing results for 
Search instead for 
Did you mean: 

Character Changing in IDOC

Former Member
0 Kudos

Hi,

There is a scenario IDOC -> PI -> JMS. When the data comes into PI from IDOC, one character gets unwantedly converted.

IDOC_FIELD = Pankaj's Address (as seen in SAP ECC system)

IDOC_FIELD = Pankaj#s Address (as seen in SAP PI - SXMB_MONI)

Can anyone tell me why is this happening in PI and how should this be avoided?

I do not want to make use of ReplaceString option as this does not seem to be a good option.

Thanks

Pankaj.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Have you seen unicode setting enabled in the rfc destination used. from ECC to PI ..check once ...

May be that can also be the cause..

Regards

Rajesh

Former Member
0 Kudos

Hi,

It is not set to Unicode; should I change it to Unicode. I basically want to avoid similar type of character conversions (only English language will come in IDOC).

Thanks

Pankaj.

Former Member
0 Kudos

Hi,

Yes you need to enable the unicode setting....

you can check whether PI system is unicode or not by going to the system-status menu option...

HTH

Rajesh

Former Member
0 Kudos

HI Pankaj ,

Change the encoding to Unicode It will resolved the provlem I have faced exactly same issue and got resolved when changed the encoding to unicode in RFC destination .

Regards,

Saurabh

Former Member
0 Kudos

go to SM59 - ABAP connection - select MDMP & Unicode and select unicode for RFC destination.

chirag

Answers (1)

Answers (1)

nils_buerckel
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Pankaj,

I assume the system where the IDOC is created is Non-Unicode (based on ISO-8859-1).

The PI system is based on Unicode by default.

Hence the system has to convert the textual data in the IDOC from ISO-8859-1 to Unicode.

However there are many variants of apostrophes (or symbols displayed in a similar way) in computer systems.

On Microsoft Windows CP1252 there are at least 3. Please have a look at:

http://msdn.microsoft.com/en-us/goglobal/cc305145

27 = U+0027 : APOSTROPHE

91 = U+2018 : LEFT SINGLE QUOTATION MARK

92 = U+2019 : RIGHT SINGLE QUOTATION MARK

U+0027 is available in all code pages.

But U2018 / U2019 are available in MS CP1252 only (and not on ISO-8859-1).

Therefore I assume you are using one of these Non-supported symbol and in the interface this symbol is converted to #.

Possible solutions:

1) Use U+0027 only as apostrophe

2) Convert the source system to Unicode

Best regards,

Nils Buerckel

SAP AG

baskar_gopalakrishnan2
Active Contributor
0 Kudos

I agree with Nils reply

Possible solutions:
1) Use U+0027 only as apostrophe
2) Convert the source system to Unicode

Check this [link|http://www.fileformat.info/info/unicode/char/27/index.htm]

Former Member
0 Kudos

Hi All,

Thank you for the replies!

I assume the system where the IDOC is created is Non-Unicode

I logged into the source SAP R3 system using SAP Logon and checked the Status; in the status there was an entry like Unicode -- Yes (similar entry is available for SAP PI). Does this mean that both PI and R3 system are Unicode?

As mentioned by Rajesh I have made an entry into the RFC Destination of SAP PI for Unicode and this seems to be partially working.

If I use the existing value like Pankaj's Address in the IDOC, then the result in PI is still Pankaj#s Address -> WRONG

However if I use a new value like User's Address in the IDOC then the result in PI is User's Address -> CORRECT

I have deleted and re-imported the IDOC metadata into PI but still facing the issue for old values.

Please Help.

Thanks

Pankaj.

nils_buerckel
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Pankaj,

if both systems are based on Unicode and on both sides this is also set in SM59, I do not know of any reason why the transfer should fail ...

In this case I would recommend to raise a customer message ...

Best regards,

Nils