Why is 'FOR MIXED DATA' omitted?

Document ID : KB000012675
Last Modified Date : 14/02/2018
Show Technical Document Details
Question:

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?

Answer:

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.