If you are not using the default CHARNAME or CCSID during installation or migration, ensure you consider the following activities:
Note: | Refer to CCSID Conversion and Determining CCSID Values for more information on CCSIDs. |
Note: | To understand the effect of DBCS options, refer to Using Double-Byte Character Set (DBCS). |
DB2 Server for VSE & VM supports several code pages that are identical to
existing code pages except that they include the Euro currency symbol rather
than the International currency symbol (¤). If you choose to
use a CHARNAME that corresponds to a CCSID for a code page that includes the
Euro currency symbol, it is recommended that your existing character data that
is currently tagged with a non-Euro CCSID be re-tagged with the corresponding
Euro-compatible CCSID. These steps should only be used when changing
your CCSID to the corresponding Euro-compatible CCSID as described in the
following table:
Table 17. Non-Euro and Corresponding Euro-compatible CHARNAMEs and CCSIDs
From CCSID | From CHARNAME | To CCSID | To CHARNAME |
---|---|---|---|
37 | English | 1140 | E-English |
277 | Danish-Norweigan | 1142 | EDanish-Norweigan |
278 | Finnish-Swedish | 1143 | EFinnish-Swedish |
284 | Spanish | 1145 | E-Spanish |
285 | UK-English | 1146 | E-UK-English |
297 | French | 1147 | E-French |
500 | International | 1148 | E-International |
273 | German | 1141 | E-German |
280 | Italian | 1144 | E-Italian |
Step 1: This step will locate character data that currently represents the International currency symbol (¤). The Euro-compatible code pages have replaced the International currecy symbol with the Euro symbol. If your database does not contain character data that represents the International currency symbol, you can skip this step. If your data does contain character data that represents the International currency symbol, you must decide how to handle this. You can either skip this step, in which case character data that currently represents the International currency symbol will be interpreted as the Euro symbol once the CCSID is changed, or, you can change the character data that currently represents the International currency symbol to some other value. The following SELECT statement will locate columns that are tagged with the non-Euro compatible CCSID.
SELECT CNAME,TNAME,CREATOR FROM SYSTEM.SYSCOLUMNS WHERE CCSID=current_ccsid
For each column found, run the following SELECT statement:
SELECT * FROM creater.tname WHERE cname LIKE'%cur_symbol%'
Note: | If your keyboard cannot generate the International currency symbol, replace cur_symbol with the hex value X'9F'. In order to do this, you will have to use an editor that allows hexadecimal characters to be entered. |
This command will show you all the rows for column cname that include the International currency symbol. You can now decide the appropriate value to change the International currency symbol to for each row.
Step 2: Re-tag existing character data with the new Euro-compatible CCSID. This step uses the JCL job ARISCSID, which is provided by DB2 Server for VSE & VM.
Figure 95. ARICCSID - Sample JCL
// JOB ARICCSID UPDATE CCSID COLUMN OF SYSCOLUMNS
// LIBDEF PROC,SEARCH=(PRD2.DB2710)
// EXEC PROC=ARIS71PL *-- DB2/VSE PROD. LIBRARY ID PROC
// EXEC PROC=ARIS71DB *-- DB2/VSE DATABASE ID PROC
// EXEC ARISQLDS,SIZE=AUTO,PARM='SYSMODE=S,PROGNAME=ARIDBS,SERVAIDS=0000001'
COMMENT ' Do NOT alter the line above in any way ! '
COMMENT 'Replace "sqldbapw" with the password for the SQLDBA SQL user ID'
CONNECT SQLDBA IDENTIFIED BY sqldbapw;
COMMENT 'Replace "euro-ccsid" with the CCSID of the '
COMMENT 'Euro-compatible CHARNAME and replace "current_ccsid with'
COMMENT 'the CCSID of your current CHARNAME '
UPDATE SYSTEM.SYSCOLUMNS SET CCSID=euro-ccsid WHERE CCSID=current_ccsid;
COMMIT WORK;
/*
/&