Customer Service 1-800-221-5528

Murach’s Mainframe COBOL

by Mike Murach, Anne Prince, and Raul Menendez
22 chapters, 687 pages, 310 illustrations
Published 2004
ISBN 978-1-890774-24-0
List price: $59.50

This is the latest edition of our classic COBOL book that has set the standards for structured design and coding since the mid-1970s. In fact, earlier editions of this book were used by IBM for both customer and employee training, by hundreds of companies for inhouse training, by more than 200 colleges for COBOL courses, and by many thousands of programmers for self-instruction and on-the-job reference.

Today, this is the only book that teaches COBOL the way it’s used on the job in mainframe shops...and almost all COBOL programming is done in those shops. To that end, this book provides the core content needed for going on to CICS or DB2. It introduces your students to required mainframe tasks, like working with JCL. And just so there's no mistake about it, this book will outperform any training materials that are available from IBM.

Buy This Book

You are currently on the Murach site for instructors. To buy this book, please visit our retail site.

“I needed to quickly get back up to speed to support a legacy system and found this title the solution to getting there. I'd worked with COBOL before, but that was quite some time ago. Thank goodness there is somebody keeping this knowledge alive and current.”

Posted on Amazon

  • About this Book
  • Table of Contents
  • Courseware
  • FAQs
  • Corrections

Book description

Section 1: The essence of COBOL programming

In chapters 1, 2, and 3, your students learn how to code and test simple programs that prepare reports. In chapters 4 and 5, they learn how to design, code, and test more complicated programs using the best structured programming techniques. In chapter 6, they learn the mainframe skills that they will need for working with data.

Section 2: Other COBOL essentials

In this section, your students will learn how to work with intrinsic functions, dates, characters, tables, copy members, and subprograms. You can assign these chapters in sequence or in any order you prefer.

Section 3: COBOL for working with files

In this section, your students will learn how to work with the three types of COBOL file organizations: sequential, indexed, and relative. Because file processing (not database processing) is a major feature of many mainframe programs, these are essential skills for COBOL programmers.

Section 4: The IBM mainframe COBOL environment

When you work on a mainframe, learning how to use COBOL is just part of the challenge. You also need to learn how to work productively in the IBM mainframe environment. So in this section, your students will learn:

  • how to use ISPF, TSO, and JCL for compiling and testing programs
  • how to use Access Method Services (AMS) for working with VSAM files
  • how CICS and DB2 work with COBOL for interactive and database programs
  • how to become an effective maintenance programmer

What courses this book can be used for

This book is especially suited for courses that are intended to teach COBOL as a job skill because almost all COBOL jobs are in mainframe shops. In fact, there isn’t another COBOL book on the market that presents the structured design and programming techniques that are used in the best COBOL shops, not to mention the special mainframe skills that are required. But with our book, you can give your students the real-world perspective they’ll need.

Special features of this book

Like all our books, this one has features that you won’t find in competing books. But here are four that are specific to this book:

  • In chapters 4 and 5, your students learn the structured programming methods that are used in the best mainframe shops. Paul Noll, a COBOL trainer and consultant, pioneered these methods way back in the mid-1970s. They became an ad hoc standard in many mainframe shops by the mid-1980s. And no other COBOL book presents real-world methods like these.
  • Besides teaching standard COBOL, which can be run on any computer system, ours is the only book that shows your students how to work in the IBM mainframe environment with facilities like ISPF, Access Method Services, DB2, and CICS.
  • 14 full programs and dozens of coding segments illustrate best coding practices.
  • This book finishes with a chapter on maintenance programming, which accounts for 70% or more of all COBOL programming done today.

What software your students need

Since this book teaches mainframe COBOL, it is designed for use with an IBM mainframe. That means that it is best used in curricula that provide free access to an IBM mainframe. Then, your students can compile and test their exercises and projects on that mainframe.

If your school doesn’t have access to an IBM mainframe, you can still use this book to teach COBOL programming. That’s because this book teaches standard COBOL, which will run under any COBOL compiler, so your students can use it with COBOL compilers that run on their PCs or on a network. Then, you can enhance the course by teaching mainframe programming skills as information-only (no hands-on).

A third alternative is to teach the entire course as information-only. Then, you won’t need a computer lab at all. This can work if your students have already taken other programming courses and just need to understand what’s different about mainframe programming and where COBOL fits in the IT job market.

Why our book works so well

For teaching COBOL as a first language

Unlike other COBOL books, chapter 1 of Murach’s Mainframe COBOL starts with a simple interactive program instead of a report-preparation program. This gets the students programming right away without all the added complexity of working with

files. Then, chapter 2 shows the students how to compile and test their programs.

With this approach, the students are ready for report-preparation programs when they are introduced to them in chapter 3. So that chapter shows them how to develop a simple listing program with headings and a total line. From that point on, the students can build rapidly on what they’ve learned.

For teaching COBOL as a second language

The approach that I’ve just described works equally well for students who are learning COBOL after they’ve learned a language like Java, Visual Basic, or C#. After just five chapters, these students can clearly see the differences between structured programming and object-oriented programming. They can see how easy it is to use COBOL for working with files, records, and fields. And if you jump to section 3 after section 1, your students will start to understand why COBOL will still be around 15 years from now.

In contrast, a leading college textbook takes four chapters to show how to develop a report program that lists the records in a file…with no headings and no total lines! At a pace like that, is it any wonder that a modern student is bored by COBOL?

To view the table of contents for this book in a PDF, just click on the link below:

Table of Contents

If you aren’t already familiar with the supporting courseware that we provide for a book, please go to About our Courseware. As you will see, our courseware consists of the end-of-chapter activities in the book, the files in the student download at our retail site, and the instructor’s materials. These components provide everything that other publishers provide in a way that delivers better results.

If you are familiar with our courseware, here’s a quick summary of the courseware for this book. For a detailed description in PDF format, please read the Instructor’s Summary.

End-of chapter activities in the book

  • Chapter summaries

Student downloads from our site

  • The source code and data for the programs in the book

Instructor’s materials

  • Instructional objectives by chapter
  • PowerPoint slides for classroom presentations
  • Chapter and section tests in Word format
  • Chapter exercises, along with their solutions
  • Student projects that have students develop complete programs, along with their solutions
  • The files that can be downloaded from our website: The source code and data for the programs in the book


Below are the answers to the questions that have come up most often about this book. If you have any questions that aren’t answered here, please email us. Thanks!

Why does your book present IBM mainframe COBOL?

Today, 95% or more of all the COBOL programming is being done on IBM mainframes, and those programs in combination with CICS account for more transaction processing than all other types of programs on all other platforms. Beyond that, those programs are going to be maintained and enhanced for many years to come because no other platform has the power to support that level of transaction processing. For those reasons alone, it’s unrealistic to treat COBOL in any other context.

In addition, most of the COBOL programs that were once running on other platforms have been replaced by new systems written in newer languages. And object-oriented COBOL has never gotten off the ground.

Keep in mind, however, that the current IBM compilers are based on the 1985 COBOL standards. As a result, our book can be used to teach COBOL with any compiler that supports those standards (and they all do). Then, to present COBOL in its proper context, you can teach selected chapters from the fourth section of the book (“The IBM mainframe environment for COBOL”). That will give your students the real-world perspective that’s missing from other COBOL books.

Are your structured methods used in industry?

In 1977, we published a book called Structured Programming for the COBOL Programmer by Paul Noll. It presented a cohesive set of methods for designing, coding, and testing structured COBOL programs. Paul had developed these methods as a training manager for Pacific Telephone. Then, after we published his book, he started a consulting career during which he taught his methods in COBOL shops throughout the country. Meanwhile, we continued to publish COBOL books that promoted and improved upon these methods.

Today, those methods are the most widely-used structured methods, and they’ve become an ad hoc standard in many COBOL shops. That’s why we present these methods in Murach’s Mainframe COBOL. In particular, our book presents the structure chart as the graphic documentation for program design, and it presents top-down coding and testing as the preferred way to develop programs. It also presents pseudocode as an occasional tool for planning the logic of critical paragraphs.

Please note, however, that our focus is on the design principles, not the graphic methods. In particular, we believe that an effective programmer needs to design each program from the top-down with one independent function in each module (or COBOL paragraph), but it doesn’t matter what graphics you use to get there. This focus is what distinguishes our structured methods from others.

In contrast, most competing books present design methods that simply aren’t used in the real world. For instance, one best-selling college textbook presents report-preparation programs that are driven by the Not At End clauses of Read statements. This is contrary to any reasonable principles of structured design, and it leads to serious problems as the complexity of a program increases.

Why don’t you use program flowcharts?

The short answer is that program flowcharts haven’t been used in the real world for at least 25 years, for at least three reasons. First, programmers can understand the logic of pseudocode or COBOL code more easily than the logic of flowcharts. Second, the more complicated the logic, the more this is true. Third, it takes so long to draw flowcharts that they would be impractical even if the first two reasons weren’t true.

From an instructional point of view, though, it’s occasionally tempting to use a flowchart to show the logic of a Perform-Until or If-Else statement. In fact, we did that in figure 5-1 of Murach’s Mainframe COBOL. On the other hand, we didn’t include a flowchart for the Evaluate statement in figure 5-12 because the COBOL code is easier to understand than a flowchart would be.


There are no book corrections that we know of at this time. If you find any, please email us, and we’ll post any corrections that affect the technical accuracy of the book here. Thank you!

Murach college books and courseware since 1974