data: buffer type xstring, buffer_new type xstring, xbyte1 type x length 1, xbyte2 type x length 1, text1 type string, text2 type string, text3 type string, text4 type string, index type i, value1 type i, value2 type i, cc type i, len type i, typeconverter type ref to cl_xms_part_util. text1 = outs-kunde. len = strlen( text1 ). if len > 0. write: / 'RPREPR3C-TRANS_EP_R3_TO_EP_R3_CHAR: ', text1(len). typeconverter = cl_xms_part_util=>getinstance( ). try. " code page see tcp00a call method typeconverter->convert_string_to_xstring exporting charset = 'utf-16be' in = text1 receiving out = buffer. index = 0. len = len * 2. while index < len. xbyte1 = buffer+index(1). index = index + 1. xbyte2 = buffer+index(1). index = index + 1. if xbyte1 > 0. cc = ( index / 2 ) - 1. value1 = xbyte1. value2 = xbyte2. text1 = value1. text2 = value2. text3 = index. concatenate 'Converting >' outs-kunde+cc(1) '< (' text1 ' ' text2 ') from >' outs-kunde '< character' into text4 respecting blanks. message text4 type 'I'. "write: / text4. if xbyte1 = 32 and xbyte2 = 19. xbyte2 = 45. " - * elseif xbyte1 = 32 and xbyte2 = 12. * xbyte2 = 228. " ä else. xbyte2 = 88. " X to show that it is deleted endif. xbyte1 = 0. " first byte always zero concatenate buffer_new xbyte1 xbyte2 into buffer_new in byte mode. else. concatenate buffer_new xbyte1 xbyte2 into buffer_new in byte mode. endif. endwhile. call method typeconverter->convert_xstring_to_string exporting charset = 'utf-16be' in = buffer_new receiving out = text1. catch cx_xms_exception . write: / 'ERROR: cx_xms_exception'. endtry. outs-kunde = text1. endif.