The following is a procedure that I created for writing and reading data in the IFS, using the QDCXLATE API. This procedure uses the TCP/IP translation tables in library QUSRSYS. There are other translation tables available, but these work for my application. *--------------------------------------------------------------------- * @StringXlate -Translate String- EBCDIC to ASCII and ASCII to EBCDIC *--------------------------------------------------------------------- P @StringXlate B D @StringXlate PI 32702 D p_XlateOutput 1 const D p_StringToXlt 32702 const * Definitions for Locally Defined/Used Work Fields D w_XlateString S 32702 D w_StringLngth S 5P 0 D w_CnvTable S 10 D w_CnvTblLib S 10 D c_AsciiToEbcdc C const('A') D c_EbcdicToAsci C const('E') C eval w_XlateString = p_StringtoXlt C eval w_CnvTblLib = 'QUSRSYS ' C eval w_StringLngth = 32702 C select C When p_XlateOutPut = c_EbcdicToAsci C eval w_CnvTable = 'QTCPASC ' C When p_XlateOutPut = c_AsciiToEbcdc C eval w_CnvTable = 'QTCPEBC ' C endSl C call 'QDCXLATE' C parm w_StringLngth C parm w_XlateString C parm w_CnvTable C parm w_CnvTblLib C return w_XlateString P E Hope this helps.