IBM Support

SQL0204 for SYSCOLUMNS or SYSTABLES

Troubleshooting


Problem

In the case that message SQL0204 occurs for SYSCOLUMNS, SYSTABLES, or other SYS* logical files in QSYS2, the QSQXRLF API can be used to re-create them.

Symptom

This scenario can occur after an IBM i upgrade.

Resolving The Problem


First check your default system Coded Character Set IDentifier (CCSID)
DSPSYSVAL SYSVAL(QCCSID)
If it is 65535 (meaning it is not set), then you will need to check the CCSID of the fields in table QADBXREF
DSPFFD FILE(QSYS/QADBXREF)
Use whatever value the table has for Coded Character Set Identifier for the first 4 fields ("DBXxxx"). Next, verify that your interactive job CCSID matches the CCSID in the QADBXREF table.
DSPJOB OPTION(*DFNA)
Change it to match the QADBXREF fields if needed. For example, to EBCDIC English.
CHGJOB CCSID(37)

It is recommended to have all database users off the system before deleting and recreating the database cross-reference logical files.
The commands to delete and recreate the database cross-reference files:
CALL QSYS2/QSQXRLF (DLT QSYS2)
CALL QSYS2/QSQXRLF (CRT QSYS2)

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m0z0000000CQMAA2","label":"IBM i Db2->Database Cross Reference"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]

Historical Number

N1016377

Document Information

Modified date:
18 August 2021

UID

nas8N1016377