Change of Encoding in Sender JMS Adapter
My scenario is like that:-
FTP->MQ Queue->JMS Queue->XI->R/3
From JMS Queue IDOC xml is coming in UTF-8 encoding to XI. In that IDOC xml certain special characters are there, say, some Latin or European character. But for the scenario XI->R/3, data are not getting posted to R/3. In XI side, it is not giving any error, but it is giving a flag (in QRFC Monitor) which is Error between two Character Sets.
I am unable to rectify this error. One solution I have guessed that is, it will be possible to resolve this issue if I can change the encoding in XI to ISO-8859-1. But I dont know how to change the encoding in Sender JMS Adapter in XI. Could you please help me to resolve this issue?
This is an annoying problem. The best solution for this is making your R/3 unicode, which even SAP recommends. But that will become a separate project on its own.
Is it possible to find out which country the data is being sent to from the input payload.
If so then you should create 2 receiver IDOC communication channel. One to handle normal data and the second to handle special data. The second Idoc adapter can be maintained within a separate Business Service. In this idoc adapter you should use a special RFC destination.
Lets say you are facing problems with Polish characters (most of the european languages have the same codepage). So in your XI system create a new RFC destination. And in that RFC destination you will find a tab called MDMP and Unicode. Set that to active. Also in the logon details use the language as PL and appropriate userid and password.
I also believe even though your XI system is unicode you will still have to install the polish language in that system. Once you are done with this you should use this RFC destination in your second Idoc adapter.
Then in the receiver determination based on the input send the message to the appropriate adapter.
It is painful, but should work.
All the best