IBM i system value QCCSID

The default system value for QCCSID (coded character set identifier) is 65535.

Data tagged with this CCSID is not to be converted by the receiving system. You might not be able to connect to an unlike system when your IBM i 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 systems.

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 system that does not support the system 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 for i application server (AS), you need to change the user profile that the AS uses.

If an unlike application requester connects to a Db2 for i 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 system.

If you suspect that you are working with a system that does not support a CCSID used by your job or your system, 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.