ERROR: "XCOMM0900E UNICODE CONVERSION ERROR - RC=04 REASON=06"
search cancel

ERROR: "XCOMM0900E UNICODE CONVERSION ERROR - RC=04 REASON=06"

book

Article ID: 138713

calendar_today

Updated On:

Products

XCOM Data Transport XCOM Data Transport - Windows XCOM Data Transport - Linux PC XCOM Data Transport - z/OS XCOM - SUPPORT

Issue/Introduction

A transfer cancels from Mainframe (EBCDIC) to Linux (UTF8) on XCOM r11.6 with an error:

XCOMM0900E UNICODE CONVERSION ERROR - RC=04 REASON=06 - TRANSFER TERMINATED

It seems that the character that causes it is  x’3F’

Transfer is configured with the following parameters:

LOCAL_CHARSET=CCSIDÑ1145  
REMOTE_CHARSET=CCSIDÑ13497
CODE=UTF8

Environment

XCOM™ Data Transport® for z/OS

Cause

Return Code 4, Reason Code 6 means "A character was found in the source buffer which cannot be converted into a TO-CCSID character and the CUNBNPRM_Sub_Action flag specifies terminate with error".
IBM z/OS 3.1 > Unicode return and reason codes > Return code meanings

Resolution

  1. Check whether the input string is correct and whether the correct conversion tables are used.

  2.  Confirm that you have configured
         LOCAL_CHARSET=CCSID#****        -not-  LOCAL_CHARSET=CCSIDÑ****  
         REMOTE_CHARSET=CCSID#****  -not-  REMOTE_CHARSET=CCSIDÑ****    (Where **** are the source and destination conversion table codes) 

  3. Turn on the Sub_Action flag to replace the invalid character with the target substitution character and call the conversion service again.  As per the IBM document: IBM z/OS 3.1 > Unicode Services User's Guide and Reference

  4. Also confirm that the x'3F' is part of the actual data. 

Additional Information

x'3F' is an EBCDIC Substitute character

In the above example the Ñ character in the LOCAL_CHARSET and REMOTE_CHARSET may have been incorrectly converted when cutting and pasting the error from the originating system to local system.
It would be good practice to confirm that the correct character  #  is actually being used.