3 Replies Latest reply: Oct 13, 2010 12:17 PM by Stefan Gass RSS

Conversion error, from character set 4102 to character set 4103

Xiaoming Yang
Currently Being Moderated

Hi,

 

We've developed a JCO server(in Java) with an ABAP report the function provided by the JCO server.

MetaData:

     static {

          repository = new Repository("SMSRepository");

           

          fmeta = new JCO.MetaData("ZSMSSEND");

          fmeta.addInfo("TO", JCO.TYPE_CHAR, 255,   0,  0, JCO.IMPORT_PARAMETER, null);

          fmeta.addInfo("CONTENT", JCO.TYPE_CHAR, 255,   0,  0, JCO.IMPORT_PARAMETER, null);

          fmeta.addInfo("RETN", JCO.TYPE_CHAR, 255,   0,  0, JCO.EXPORT_PARAMETER, null);

          repository.addFunctionInterfaceToCache(fmeta);     

     }

 

 

Server parameters:

       Properties prop = new Properties();

       prop.put("jco.server.gwhost","shaw2k07");

       prop.put("jco.server.gwserv","sapgw01");

       prop.put("jco.server.progid","JCOSERVER01");

       prop.put("jco.server.unicode","1");

       srv = new SMSServer(prop,repository);

 

If we run JCO server in both my client machine(from developer studio) and in the WAS machine(stand alone Java program), everything is ok. In the Abap side, the SM59 unicode test return the destination is an unicode system, and the ABAP report call the function can run smoothly.

 

But we package this JCO server to a web application and deploy to WAS, problem occured. The SM59 unicode test still say the destination is an unicode system. But the ABAP report runs with an ABAP DUMP:

 

Conversion error between two character set

RFC_CONVERSION_FIELD

 

Conversion error "RETN" from character set 4102 to character set 4103

 

A conversion error occurred during the execution of a Remote Function

Call. This happened either when the data was received or when it was

sent. The latter case can only occur if the data is sent from a Unicode

system to a non-Unicode system.

 

I read the jrfc.trc log, it shows it receives data in unicode 4103(that's ok), but send data in unicode 4102(that's the problem).4102 is UTF-16 Big Endian and 4103  UTF-16 Little Endian. Our system is windows on intel 32 aritechture, so based on Note 552464, it should be 4103.

 

Why it sends data (Java JCO server send output parameter to ABAP) in 4102?????

 

What's the problem??? Thank you very much!!

 

Best Regards,

Xiaoming Yang

 

Message was edited by:

        Xiaoming Yang

Actions