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.