SQL command gets error-status 1492 with various additional messages. The messages do not say what is missing.

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

Question:

SQL command or DML BIND RUN-UNIT can get 1492. If SQL you get DB002000 and DB001031. For both SQL and DML the log will have DB347004. This error indicates the current DBNAME is missing one or more areas needed for the transaction, but does not name the missing areas.

Answer:

This error status will occur at the start of a transaction. The chain of areas in the subschema or SQL representation is walked, and IDMS tries to map each area to a segment in the current DBNAME.

When all areas have been checked, If one or more areas could not be mapped to a Segment in the current DBNAME, the 1492 error-status and associated messages are returned.

The code is such that it is not practical to list each area that could not be found in the current DBNAME.

For SQL transactions it could be that the current DBNAME is missing the SQL CATALOG segment, or it could be a user database segment for the tables being referenced.

The "subschema" named in the DB347004 message gives a clue to what is missing.

If the named subschema is IDMSCATZ, your DBNAME is missing the relevant CATALOG segment.

If the named subschema is IDMSCATY your DBNAME is missing one or more user database segments needed by the transaction.