iSeries system value QCCSID

The iSeries™ server is shipped with a QCCSID system value set to 65535.

Data tagged with this CCSID is not to be converted by the receiving server. You might not be able to connect to an unlike server when your iSeries server application requester (AR) is using this CCSID. Also, you might not be able to use source files that are tagged with this CCSID to create applications on unlike servers.

The CCSID used at connection time is determined by the job CCSID. When a job begins, its CCSID is determined by the user profile the job is running under. The user profile can, and as a default does, use the system value QCCSID.

If you are connecting to a server that does not support the server default CCSID, you need to change your job CCSID. You can change the job CCSID by using the Change Job (CHGJOB) command. However, this solution is only for the job you are currently working with. The next time you will have to change the job CCSID again.

A more permanent solution is to change the CCSID designated by the user profiles used in the distributed relational database. When you change the user profiles, you affect only those users that need to have their data converted. If you are working with a DB2 Universal Database™ for iSeries application server (AS), you need to change the user profile that the AS uses.

If an unlike application requester connects to a DB2® UDB for iSeries application server using job CCSID 65535, the job will be switched to use the job default CCSID. The job default CCSID is determined by the job's language identifier (LANGID). For better performance, the job's CCSID should be switched to a value other than 65535 in this case. For example, the CCSID value can be changed to the value of the user profile under which the server jobs are run.

The default CCSID value in a user profile is *SYSVAL. This references the QCCSID system value. You can change the QCCSID system value that is used by all user profiles with the Change System Value (CHGSYSVAL) command. If you do this, you would want to select a CCSID that represents most (if not all) of the users on your server.

If you suspect that you are working with a server that does not support a CCSID used by your job or your server, look for the following indicators in a job log, SQLCA or SQL diagnostic area:

Message
SQ30073
SQLCODE or DB2_RETURNED_SQLCODE
-30073
SQLSTATE
58017
Text
Distributed Data Management (DDM) parameter X'0035' not supported.
Message
SQL0332
SQLCODE or DB2_RETURNED_SQLCODE
-332
SQLSTATE
57017
Text
Total conversion between CCSID &1 and CCSID &2 not valid.
Related concepts
i5/OS globalization
Related reference
Change Job (CHGJOB) command
Change System Value (CHGSYSVAL) command