MainframeKit

+206

SQLSTATE 01533POSITIVE SQLCODE (WARNING)

At bind time a column named in the SQL was not found in the tables the statement uses; the statement will be bound at run time.

MOST LIKELY

A misspelled column name.

FIRST CHECK

Compare the column names in the statement with SYSIBM.SYSCOLUMNS for the table.

TRY IT ▸

MainframeKit assistant

What it means

Db2 could not match a column name to the target table of an INSERT, UPDATE or MERGE, or to any table in the FROM clause of a SELECT or DELETE. It can also be raised for a correlated reference in GROUP BY or an unresolved qualified name in HAVING.

The package is still created, but this statement is bound every time it runs and will fail then if the column is still missing.

Typical causes

  • A misspelled column name.
  • A column that exists in a newer version of the table than the one on this subsystem.
  • A table missing from the FROM clause of a SELECT.
  • The wrong qualifier, so a different table with the same name was used.

How to fix it

  1. Compare the column names in the statement with SYSIBM.SYSCOLUMNS for the table.
  2. For a SELECT, make sure every table you take columns from is in the FROM clause.
  3. Check that the DDL change that adds the column has been run on this subsystem.
  4. Correct the statement and rebind.