Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Wrong Conversion on RFC Call MDMP to Unicode

Former Member
0 Kudos

Hi,

today I was doing some tests with RFC calls from Unicode System to MDMP and from MDMP to Unicode.

I used the table ADRC which contains the field LANGU_CREA which is marked as text lang.

I created a RFC FM that sends ADRC data in:

- a table type (export parameter that has the ADRC as line type) -> t_adrc type z_adrc_t

- a table parameter -> t_adrc_old like ADRC

- a working area which also has type ADRC -> pi_adrc type ADRC

I recievd russian data from the unicode system. The data in the table type (t_adrc) was corrupted, the data in the table that I declared under tables (t_adrc_old) was correct. The data of the working area (pi_adrc) was corrupted again. And that is really weird!

I thought the Unicode System would check the text language field (LANGU_CREA) and convert the data for the MDMP System.

But it only seem to work with the itab under the tables parameters.

If I logon to the MDMP System with langu = russian and start the RFC call I get the right data for all types!

What am I doing wrong? Or is this a bug?!

3 REPLIES 3

nils_buerckel
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Daniel,

please have a look at SAP note 547444.

There you can find the following sentence:

>for TABLES parameters the RFC converts text data between Unicode and the

>non-Unicode code page associated with the "text language"

For most other cases, SY-LANGU is used as basis for the conversion.

This explains your second observation: The Russian data will be handled correctly when using logon language RU.

Please note that a Unicode-MDMP interface will always be problematic. If you are interested in details, please have a look at SAP note 745030.

For IDOC communication between Unicode and MDMP, I recommend to have a look at SAP note 991763.

In general SAP recommends to restrict interfacing between MDMP and Unicode to a minimum and try to go for Unicode on the MDMP side instead.

Additional information (notes collection) can be found in SAP note 1319517 --> point 9

Best regards,

Nils Buerckel

Solution Management

Globalization Services

SAP AG

0 Kudos

Hi thanks for your answer,

I did some other test scenarios:

Communication: Unicode to MDMP

UC Login-Langu = RU

RF Login-Langu = RU/BLANK (tried both)

ADRC-LANGU_CREA = RU

I've sent ADRC data from Unicode System to MDMP again with all three types (structure, TABLES param, table type)

The data in the table type itab is destroyed. the other data looks fine!

OSS 745030 says:

[quote]

- Interface Unicode --> MDMP

- User (or remote system) must login in local language in

Unicode prior to data transfer

- RFC connection (SM59): RFC login language field empty

(Unicode login passed to MDMP)

- Interfaces MDMP --> Unicode

- User (or remote system) must login in local language in MDMP

before data transfer.

[/quote]

If I understand this right the transfer should work like I tested it...what am I missing?

Edited by: Daniel Winter on Aug 10, 2009 4:34 PM

Edited by: Daniel Winter on Aug 10, 2009 4:35 PM

nils_buerckel
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi,

the prerequisites described in SAP note 547444 must be met (e.g. MDMP active in SM59).

As far as I know, it should then work also in case Unicode --> MDMP.

In your case it sounds like the RU key in langu_crea cannot be read properly ...

Best regards,

Nils Buerckel

SAP AG