z/OS message

IEF344I: Allocation failed, data facility system error

IEF344I means z/OS couldn't allocate a data set for a job step because the data facility (DFSMSdfp, which handles catalogs, SMS and disk space) hit an error it couldn't recover from. The job ends, and the DFSMSdfp messages printed after IEF344I give the actual reason.

Other names for this code

Also written as IEF344, ALLOCATION FAILED DUE TO DATA FACILITY SYSTEM ERROR, IEF344I allocation failed, data facility system error, allocation failed data facility.

What it means

When a job step starts, the allocation part of z/OS sets up each DD statement. For disk data sets it depends on the data facility, known today as DFSMSdfp. Older manuals call it MVS/DFP. DFSMSdfp searches the catalog, applies the SMS rules, picks a volume and creates new data sets. IEF344I means one of those requests came back with an error that allocation couldn't work around.

The message line names the job, the step, the procedure step if there is one, and the DD statement. If the failing data set is part of a concatenation, a number such as +002 shows its position. Data sets added to a concatenation implicitly, by a GDG ALL request or OPTCD=B, count in that number too. The first data set is +000, which is never printed, so no number means the first or only data set under that DD name.

The system ends the job and writes more DFSMSdfp messages after IEF344I. Those messages carry the return and reason codes that explain the failure. IEF344I on its own doesn't say what went wrong, so read what follows it before you change anything.

IBM's advice for this message is short. The programmer resubmits the job. If the error comes back, the system programmer studies the DFSMSdfp messages and searches IBM's problem databases for a fix. IBM treats it as a fault inside the system, not as a mistake in the JCL.

Common causes

  • An error in the catalog while z/OS was looking up an existing data set or cataloging a new one. The messages after IEF344I name the catalog request that failed.
  • An error inside SMS while it chose the classes or the volume for a new data set.
  • An error updating the volume table of contents (VTOC) on the volume picked for a new data set.
  • A defect in DFSMSdfp or allocation code. This is the case IBM has in mind when it says to search the problem databases.

How to find the problem

  1. In SDSF, open JESYSMSG for the job and find IEF344I. Note the step name and the DD name it gives.
  2. Read every message printed right after it. These DFSMSdfp messages say which part of the data facility failed and give return and reason codes. Copy them exactly, including the codes.
  3. Check the DD statement named in the message. If the line shows a number such as +002, count down that DD's concatenation to find the data set. The first one is +000.
  4. Look up each of those message IDs and their reason codes in z/OS MVS System Messages, in the volume that covers IEF to IGD, or in the DFSMS documentation the message points to.
  5. If the data set should already exist, check its catalog entry with LISTCAT ENTRIES('PROD.PAYROLL.MASTER') ALL or ISPF option 3.4.
  6. Check whether other jobs failed with IEF344I around the same time. Several jobs failing together points at a shared catalog, SMS or volume problem and not at your job.

How to fix it

  • Resubmit the job, or restart it from the failed step with RESTART=STEP020 on the JOB statement. This is IBM's own first step for IEF344I.
  • If it fails again in the same way, act on what the DFSMSdfp messages describe, using their own entries in the messages manual.
  • If the cause isn't clear, send the job output to your storage administrator or system programmer. Include IEF344I, every message after it, the job and step names and the time of the failure.
  • If nothing in the job or the data set explains the error, the system programmer can search IBM's problem database with the message IDs and reason codes, and open a case with IBM Support if nothing matches.

What it looks like

IEF344I PAYRUN01 STEP020 PAYOUT - ALLOCATION FAILED DUE TO DATA FACILITY SYSTEM ERROR

IBM documentation

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

Report a correction to WND Software.

Questions

Is IEF344I a JCL error?

Not in the syntax sense. The JCL was accepted, but a data set request failed inside DFSMSdfp when the step started. The messages after IEF344I tell you whether something about the request, such as the data set name or the volume, played a part.

What should I do first?

Resubmit once, as IBM suggests. If IEF344I comes back, collect it with the messages that follow and pass them to your storage administrator or system programmer.

What does the +xxx after the DD name mean?

It's the position of the failing data set in a DD concatenation, counting data sets added by a GDG ALL request or OPTCD=B. The first data set is +000, which isn't shown.