Preface

This book explains how to write applications for CICS—the world’s favorite transaction processing system. Customer Information Control System (CICS) systems have been running for more than 30 years and CICS has changed dramatically during that time, from being a basic transaction processing monitor to being an advanced distributed application server.

Throughout its evolution, CICS has preserved and enhanced its support for developing and running a very large application workload. This book teaches you the traditional CICS skills and techniques that have delivered results for over 30 years that are still just as relevant today for building high-speed transaction processing applications. It also teaches the modern CICS skills and techniques that exploit today’s advanced technologies—Java™, Web, MQSeries, workstation tools—technologies that modern businesses need to exploit in order to stay competitive.

The Book’s Audience

This book is for new and experienced CICS application developers; whether you’re an undergraduate, a new employee, or an experienced CICS developer who wishes to update your skills, this book is aimed at you. Chapter 1, should be particularly useful to business managers who need to know how they can use CICS to add to, and improve, their existing business systems. Chapter 2, should be read by system architects, designers and programmers. It explains how to design the architecture for a modern transactional application, with a particular emphasis on the use of CICS. Chapter 3, discusses the components of a business application, and how you should approach the development of these components. From Chapter 4, onwards, we assume you’re an application programmer needing to develop CICS applications. These chapters teach specific CICS skills such as developing programs in COBOL (the business logic), CICS Java, and Visual Basic, or integrating MQSeries with CICS. They contain guidance about designing, coding, and running the components of a typical CICS sample application.

We point you to various books in the CICS library that fill in any gaps because, in a book this size, we won’t be able to tell you all about CICS. We discuss, and base our examples on, a subset of the full CICS facilities. This makes things easier for you because it means we won’t have to keep referring you to other books in the CICS library while you’re learning. These other books are listed in the bibliography, and are shown in the library diagram for your particular release of CICS. The subset of CICS commands we’ve chosen gives you a sound framework for your first application program and offers a logical starting point for more advanced work.

The main purpose of this book is to provide a friendly, straightforward, and modern approach to the writing of CICS application programs. It follows the development of a sample application, and at the end of each part you should be able to generate the relevant code and run the application.

Organization of the Book

The book describes a COBOL application that creates, reads, updates, and deletes records from a database with and without a locking mechanism. In addition, the COBOL program includes modules that browse, capture errors, and use the CICS Basic Mapping System (BMS) for data input and output to a traditional green screen. There are five additional parts that describe how you can use CICS to access your core COBOL application:

  • Through a CICS Java application

  • Through a web-based application using a CORBA

  • By using the CICS Basic Mapping System for data input and output

  • By using Visual Basic to design and implement a CICS Client application

  • By integrating MQSeries with your CICS application

Each part describes the design of the component and how to write the code to implement the design.

Having written your application, you are guided through a step-by-step process to deploy your application into a CICS system. There is also advice on how to deal with the issues arising from large-scale deployment. Finally, there is a chapter describing some of the debugging facilities available in CICS.

About the CD-ROM

The CD-ROM accompanying this book contains the source code of the sample application that is discussed in this book. This can save you a lot of time by not having to enter the code. Some of the code has been compiled for use with CICS Transaction Server Version 1.3. If you want to use it with other CICS releases, you will have to re-compile the source code. Appendix A describes how to transfer the code from the CD-ROM to your OS/390 system, to install the files and programs, and configure your CICS region so that you can run the application. The remaining components of the application access and use the COBOL programs you install on your mainframe.

In addition to the sample code, the CD-ROM contains the entire CICS Transaction Server Version 1.3 library in Portable Document Format (PDF) format. Together with this is a copy of the Adobe Acrobat reader. Other software includes the Java Development Kit (JDK) Version 1.1.8.

Refer to Appendix B for detailed descriptions of the contents of the CD-ROM. The README files contains important information about running the sample application.

We’ve also made the code sample available on the O’Reilly web site:

Conventions in This Book

Throughout this book, we’ve used the following conventions:

Bold

Indicates the code you need to edit within code examples.

UPPERCASE ITALIC

Indicates CICS-supplied transactions, the Application Programming Interface (API) commands, and their command options.

Italics

Indicates CICS command utilities, filenames, menu options, variable names, display text, examples and in-text references to syntax models. For example, if a procedure asks you to type filename, you must type the actual name of the file. Italics also indicates menu options as well as the first occurrence of a new term.

Tip

Indicates a tip, suggestion, or general note, For example, we’ll tell you about some shortcuts or if an operation requires certain privileges.

Warning

Indicates a warning or caution. For example, we’ll tell you if you need to check your site’s procedures before carrying out a particular action.

How to Contact Us

We have tested and verified the information in this book to the best of our ability, but you may find that features have changed (or even that we have made mistakes!). Please let us know about any errors you find, as well as your suggestions for future editions, by writing to:

O’Reilly & Associates, Inc.
101 Morris Street
Sebastopol, CA 95472
(800) 998-9938 (in the U.S. or Canada)
(707) 829-0515 (international/local)
(707) 829-0104 (fax)

You can also send us messages electronically. To be put on the mailing list or request a catalog, send email to:

To ask technical questions or comment on the book, send email to:

We have a web site for the book, where we’ll list examples, errata and any plans for future editions. You can access this page at:

For more information about this book and others, see the O’Reilly web site:

Acknowledgments

This book is the product of the combined efforts of many individuals. A lot of the initial work was done by Ian McCallion and Bernard Swords. Phil Appleby developed the organization and structure that we have in the book today. Our thanks go to all three.

Part I was written largely by Ian McCallion but many people had a hand in its organization.

Andy Krasun and Peter Missen reviewed the book extensively. Our thanks to them for pointing out the inconsistencies and adding valuable details to the text. Andy, in particular, was able to add a lot of valuable information based on his extensive experience working with customers over many years.

The COBOL code on which Part II and Part V are based was developed by Jerry Ozaniec. Becca Dunleavey, Joanne Hodges and others revised and improved the application.

Part III and Part IV were written by Rob Breeds, who developed the application. He also spent a lot of time very patiently explaining things to Phil Appleby and myself. There must have been times when he despaired.

Part VI and Part VII were written by Mike Moynihan and Steve Young. Mike developed the Visual Basic component and persevered with the application when lesser mortals might have given in. Steve wrote the Java code for the MQSeries part of the book and helped us put the CD-ROM together.

Part VIII, written by Janet Righton, whose experience of debugging CICS programs is second to none!

Joyce Cousins spent a great deal of time ensuring that we had a mainframe application that worked. She also spent time with our graduates ensuring their tests worked.

Norman Bell has also been very helpful in ironing out the wrinkles in the application, and he helped us gain a much clearer understanding of the way that CICS works in an OS/390 environment.

Bob Yelavich always responded with copious comments, and gave us much valuable insight from his wealth of experience. We appreciate his commitment and support.

Finally, I have to thank the people from O’Reilly, including Frank Willison, who supported the original idea of producing this book, and Robert Denn, who followed through with the contract. Our thanks to our editor, Sue Miller, who kept us on the straight and narrow when we all wondered if this project would ever see the light of day. Our thanks to Steven Abrams for his patience in guiding me through the tools and formats and juggling the files and managing the external review. Our thanks go to Rob Romano for his work on the illustrations and to Maureen Dempsey for her role as production editor.

There are many others who have spent a lot of time reviewing and providing invaluable comments on this book, and I hope that I haven’t omitted anyone.

Get Designing and Programming CICS Applications now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.