z/OS message

IDC3014I: Catalog error

IDC3014I means an IDCAMS command failed because catalog management returned an error. The message itself only says CATALOG ERROR. The IDC3009I message that follows gives the catalog return code and reason code, and those tell you what actually went wrong.

Other names for this code

Also written as IDC3014, IDC3014I CATALOG ERROR, IDC3014I IDC3009I, IDCAMS catalog error, IDC3014I return code 50, IDC3014I 140 60.

What it means

Every IDCAMS command that touches a catalog goes through catalog management. When catalog management can't complete the request, IDCAMS reports it. Two failures are common enough to have messages of their own. IDC3012I means an entry wasn't found, and IDC3013I means a name was already there. Other catalog failures usually show as IDC3014I.

IDC3014I carries no detail. The detail is in IDC3009I, which shows the return code, the reason code and the catalog module that found the problem, written like IGG0CLEF-60. Look up that pair under IDC3009I in the z/OS MVS System Messages volume for your release.

IBM has written about these pairs.

  • Return code 140 with reason 60 on a DEFINE ALIAS means the user catalog's connector record in the master catalog is full. That record lists every alias that points to the catalog.
  • Return code 50 is a problem with the VVDS on a volume. IBM shows 50 with reason 6 or 88 when deleting an orphaned VVDS entry whose catalog no longer exists.
  • Return code 56 is a failed security check.

The command fails, and IDCAMS sets a nonzero condition code for the step.

Common causes

  • Catalog and volume records disagree, for example a VVDS entry left behind for a data set whose catalog was deleted (return code 50).
  • A DEFINE ALIAS fails because the master catalog's connector record for the user catalog has no room for more aliases (return code 140, reason 60).
  • The user ID lacks RACF authority for the catalog or data set (return code 56). ICH408I usually appears too.
  • A command such as RECATALOG or DELETE ran on a system whose master catalog doesn't point to the catalog the data set was defined in.
  • A short-lived catalog problem during a busy period. Broadcom documents a LISTCAT failure with IDC3014I that ran cleanly the next day.

How to find the problem

  1. Read the IDC3009I line under IDC3014I in SYSPRINT. Note the return code and the number after the hyphen in the reason field.
  2. Look up that return code and reason code under IDC3009I in IBM's MVS System Messages for your z/OS release.
  3. Check the job log for ICH408I if security is a possibility, and for IEC331I if the reason points to DADSM.
  4. Use LISTCAT on the entry and, for a user catalog, LISTCAT ENTRIES(catname) CATALOG(catname) ALL to see its attributes, including MAXLRECL.

How to fix it

  • For 140-60 on DEFINE ALIAS, IBM's steps depend on the catalog. A catalog defined before z/OS 1.3 with MAXLRECL under 32,400 can be exported, deleted and redefined at the larger size. A catalog already at the maximum can be split with REPRO MERGECAT. z/OS 1.13 and later also offer an extended alias function that allows many more aliases.
  • For an orphaned VVDS entry, IBM ties the result of DELETE NVR to the RACF facility class STGADMIN.IGG.DLVVRNVR.NOCAT. With read access, the delete completes.
  • For a security failure, get the access ICH408I names.
  • For catalog and volume mismatches, involve storage administration. DIAGNOSE can compare a catalog with the VVDS.

What it looks like

IDC3014I CATALOG ERROR
IDC3009I ** VSAM CATALOG RETURN CODE IS 140 - REASON CODE IS IGG0CLEF-60

IBM documentation

IBM documentation: IDC3014I. Use the documentation for your installed release.

Report a correction to WND Software.

Questions

What does IDC3014I CATALOG ERROR mean on its own?

Very little. It only says the command hit a catalog error. The return and reason code in the IDC3009I line that follows say what the error was.

What is IDC3009I return code 140 reason code 60?

IBM describes it as a catalog record that has reached its maximum size. On DEFINE ALIAS, it means the user catalog's connector record in the master catalog can't hold another alias.

Should I rerun a job that failed with IDC3014I?

Only after reading IDC3009I. Some catalog errors are short-lived, but most need a change, such as more authority or a catalog repair, before a rerun will work.