When migrating a UNICODE table, with character columns defined as 'FOR MIXED DATA', why does RC/Migrator not generate the 'FOR MIXED DATA' clause, in the generated DDL?
With the DB2 DECP Mixed parameter set to No, the encoding scheme of UNICODE for a table, will ensure that the character column will be created as a Mixed data character column by DB2.
For example, for a UNICODE table, both the following two clauses will both create a Mixed data character column:
column-name CHAR ( n )
column-name CHAR ( n ) FOR MIXED DATA
This can be checked by querying the FOREIGNKEY column in SYSIBM.SYSCOLUMNS.
The important point to note for UNICODE tables, is that the sub-type will be MIXED, regardless of whether the FOR MIXED DATA clause is specified or not. DB2 governs this.
In addition to this, RC/Migrator prevents you from migrating a Mixed data character column to a table, if the encoding scheme is not UNICODE and the DECP Mixed parameter is set to No. In this situation RC/Migrator would intervene with the following messages:
RMA595W One or more columns of table tbcreator.tbname have MIXED attribute in
source ddl comparing to a subsystem that does not permit MIXED DATA
in a non-UNICODE table. System default will be substituted for this
column attribute.
RMA545W ONE OR MORE COLUMNS OF TABLE tbcreator.tbname HAVE LOST THEIR MIXED ATTRIBUTE, DUE TO CREATION ON A SYSTEM THAT DOESN'T PERMIT MIXED DATA IN A NON-UNICODE TABLE.