Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

UTF-8 on iSeries?

943 views
Skip to first unread message

Martin Stoeberl

unread,
Apr 13, 2005, 4:06:31 PM4/13/05
to
Hi together,

I am trying out UTF-8 on iSeries with V5R3. I made a physical file with
a 30 digit alpha-field with ccsid(1208) for UTF-8 data. When I wrote a
small ile-rpg programm for writing/reading data and display it to screen.
I tried out a 30 digit alpha field and a 15 digit graphic field with
ccsid(1200)/ccsid(13488) for my display-file. In my rpg program I
assigned the values to the field with
EVAL DISPLAYFIELD = DATABASEFIELD / EVAL DATABASEFIELD = DISPLAYFIELD
(for the alpha-field) and with
EVAL DISPLAYFIELD = %UCS2(DATABASEFIELD) / EVAL DATABASEFIELD =
%CHAR(DISPLAYFIELD) (for the graphic-field).
In both cases I got an error when I try to write letter like 'Ä', 'Ö',
'Ü', '§', '²' or '³' to the file. The error occurs on the 'write'-statement.

<error>
Data mapping error on member XXX
34 -- The data could not be converted from or to a UTF-8 or UTF-16 CCSID.
The expansion of single-byte data to a double-byte value caused the
converted length to be larger than the maximum length the result could hold
</error>

I think I have first to convert the data from the display-file-field to
UTF-8 and then assign it to the database-field. But how can I do this? I
found some api's who could do the job but isn't there a better solution?

I also couldn't define a field with CCSID(1208) in my display-file or
rpg-program.

Another problem ist that I got an SQL system error (SQL0901) when I try
to view the data in the file with a select. I got the following data
from logfile:

<log>
Function error X'0306' in machine instruction. Internal dump identifier
(ID) 0100265A.
*** DBOP open FAILED. Exception from call to SLICÜ ***.
Internal failure occurred in query processor.
File QAP0ZDMP in library QTEMP already exists.
User Trace data for job 022054/XXX/QPADEV0008 dumped to member
QP0Z022054 in file QAP0ZDMP in library QTEMP.
27 records copied from member QP0Z022054.
1 User Trace buffer(s) deleted.
SQL system error.
</log>

Could it be that UTF-8 is not very well supported at the moment on iSeries?

cu
Martin

Karl Hanson

unread,
Apr 14, 2005, 9:40:34 AM4/14/05
to
Martin Stoeberl wrote:
> Hi together,
>
> I am trying out UTF-8 on iSeries with V5R3. I made a physical file with
> a 30 digit alpha-field with ccsid(1208) for UTF-8 data. When I wrote a
> small ile-rpg programm for writing/reading data and display it to screen.
> I tried out a 30 digit alpha field and a 15 digit graphic field with
> ccsid(1200)/ccsid(13488) for my display-file. In my rpg program I
> assigned the values to the field with
<snip>

>
> Another problem ist that I got an SQL system error (SQL0901) when I try
> to view the data in the file with a select. I got the following data
> from logfile:
>
> <log>
> Function error X'0306' in machine instruction. Internal dump identifier
> (ID) 0100265A.
> *** DBOP open FAILED. Exception from call to SLICÜ ***.
> Internal failure occurred in query processor.
> File QAP0ZDMP in library QTEMP already exists.
> User Trace data for job 022054/XXX/QPADEV0008 dumped to member
> QP0Z022054 in file QAP0ZDMP in library QTEMP.
> 27 records copied from member QP0Z022054.
> 1 User Trace buffer(s) deleted.
> SQL system error.
> </log>
>
> Could it be that UTF-8 is not very well supported at the moment on iSeries?
>
> cu
> Martin

Re the SQL error: UTF-8 should be supported. I tried a quick test on a
V5R3 system, creating a file using DDS with a single 30 character UTF-8
field. A simple SELECT worked ok for me. A quick search of PTF cover
letters here (www-912.ibm.com) did not show any obvious symptom matches.
You may want to contact your IBM service provider to investigate the
SQL error.

--
Karl Hanson

0 new messages