Michael Coughlan

Home > Other > Michael Coughlan > Page 77


  Adding Features to the Report Program ������������������������������������������������������������������������������������������������������������ 488

  Adding More Features to the Report Program ��������������������������������������������������������������������������������������������������� 493

  Report Writer Declaratives ��������������������������������������������������������������������������������������������������������������������������������� 499

  Report Writer Syntax and Semantics ����������������������������������������������������������������������������������������������������������������� 499

  Special Report Writer Registers ������������������������������������������������������������������������������������������������������������������������� 507

  PROCEDURE DIVISION Report Writer Verbs �������������������������������������������������������������������������������������������������������� 507

  Declaratives�������������������������������������������������������������������������������������������������������������������������������509

  Using Declaratives with the Report Writer ��������������������������������������������������������������������������������������������������������� 509

  Using Declaratives with Files ���������������������������������������������������������������������������������������������������������������������������� 511

  Summary �����������������������������������������������������������������������������������������������������������������������������������512

  Introduction �������������������������������������������������������������������������������������������������������������������������������512

  File Descriptions ������������������������������������������������������������������������������������������������������������������������513

  Print Specification ���������������������������������������������������������������������������������������������������������������������513

  Chapter 19: OO-COBOL

  ■

  ���������������������������������������������������������������������������������������������������519

  Module Strength and Module Coupling �������������������������������������������������������������������������������������519

  Informational-Strength Modules in COBOL �������������������������������������������������������������������������������521

  OO-COBOL ���������������������������������������������������������������������������������������������������������������������������������523

  The UseDictionary Program ������������������������������������������������������������������������������������������������������������������������������� 523

  The Dictionary Class ������������������������������������������������������������������������������������������������������������������������������������������ 525

  xix

  ■ Contents

  A Formal Introduction to OO-COBOL ������������������������������������������������������������������������������������������528

  Objects, Classes, and Methods �������������������������������������������������������������������������������������������������������������������������� 528

  Programming with Objects �������������������������������������������������������������������������������������������������������������������������������� 529

  Registering a Class ������������������������������������������������������������
�������������������������������������������������������������������������������� 529

  Declaring Object References ����������������������������������������������������������������������������������������������������������������������������� 529

  Sending Messages to Instance Objects ������������������������������������������������������������������������������������������������������������� 530

  Creating a New Object Instance ������������������������������������������������������������������������������������������������������������������������ 530

  Destroying Objects �������������������������������������������������������������������������������������������������������������������������������������������� 531

  Predefined Object Identifiers ����������������������������������������������������������������������������������������������������������������������������� 531

  Writing Your Own Classes ���������������������������������������������������������������������������������������������������������������������������������� 532

  The Issue of Scope �������������������������������������������������������������������������������������������������������������������������������������������� 534

  Summary �����������������������������������������������������������������������������������������������������������������������������������539

  Index ���������������������������������������������������������������������������������������������������������������������������������547

  xx

  About the Author

  Michael Coughlan is a lecturer in the Department of Computer Science and

  Information Systems at the University of Limerick, Ireland where he teaches

  e-business, legacy systems, and business oriented programming languages. He has

  been responsible for teaching COBOL to University of Limerick students since 1980.

  Michael wrote the COBOL quick reference for the book Year 2000 in a Nutshell

  by Norman Shakespeare (O’Reilly, 1998), and he created the free online learning

  resource for COBOL at www.csis.ul.ie/COBOL. This resource is used by students and instructors all over the world, and notes from the website have been translated

  into a number of languages.

  Taught by Cistercian monks in the Knockmealdown mountains of County

  Waterford, Michael received a B.A. (Mod) in History from Trinity College Dublin, a

  Graduate Diploma in Computing from the University of Limerick, and an M.Sc. in

  Information Technology from the University of Ulster.

  xxi

  About the Technical Reviewer

  Massimo Nardone holds a Master of Science degree in Computer Science from the

  University of Salerno, Italy. He worked as a PCI QSA and senior lead IT security/

  cloud architect for many years, and currently he leads the Security Consulting

  Team for Hewlett Packard Finland. With more than 19 years of work experience in

  SCADA, cloud computing, IT infrastructure, mobile, security, and web technology

  for both national and international projects, Massimo has worked as a project

  manager, software engineer, research engineer, chief security architect, and

  software specialist. He worked as visiting lecturer and supervisor for exercises

  at the Networking Laboratory of the Helsinki University of Technology (Helsinki

  University of Technology TKK became a part of Aalto University) for the course

  “Security of Communication Protocols.” He holds four international patents

  (PKI, SIP, SAML, and Proxy areas). This book is dedicated to Pia, Luna, Leo, and

  Neve, who are my reasons for living.

  xxiii

  Acknowledgments

  Special thanks go to Steve Anglin, who started the whole process of my writing this book, and to Matthew Moodie, Anamika Panchoo, Melissa Maldonado, and Massimo Nardone, the team of editors at Apress whose work was so

  invaluable in shaping the text. I would especially like to thank Tiffany Taylor for her excellent suggestions and for all her work in eliminating my errors. Any errors that remain are my responsibility, but without her help, there would be many more of them.

  I thank my family for all their support. I thank Redmond O’Brien, who acted as a patient sounding board for ideas, and Dermot Shinners-Kennedy, for our discussions about COBOL. The results of those discussions find many a reflection in this book. Finally, I thank Annette McElligott (HOD) for her support and encouragement in this endeavor.

  Thanks also are due to Bill Qualls and Caliber Data Training for granting permission to use their BigDecimal Java example program.

  The following acknowledgment is from American National Standard Programming Language COBOL, X3.23-1985: Any organization interested in reproducing the COBOL report and specifications in whole or

  in part, using ideas taken from this report as the basis for an instruction manual or for any

  other purpose is free to do so. However, all such organizations are requested to reproduce this

  section as part of the introduction to the document. Those using a short passage, as in a book

  review, are requested to mention ‘COBOL’ in acknowledgment of the source, but need not

  quote this entire section.

  COBOL is an industry language and is not the property of any company or group of

  companies, or of any organization or group of organizations.

  NO warranty, expressed or implied, is made by any contributor or by the COBOL Committee

  as to the accuracy and functioning of the programming system and language. Moreover, no

  responsibility is assumed by any contributor, or by the committee, in connection therewith.

  Procedures have been establi
shed for the maintenance of COBOL. Inquiries concerning

  the procedures for proposing changes should be directed to the Executive Committee of the

  Conference on Data Systems Languages.

  The authors and copyright holders of the copyrighted material used herein

  FLOW-MATIC (Trademark of Sperry Rand Corporation), Programming far the UNIVAC (R)

  I and II, Data Automation Systems copyrighted 1958, 1959, by Sperry Rand Corporation:

  IBM Commercial Translator, Form No. F28-80l3, copyrighted 1959 by IBM: FACT, DSI

  27A5260-2760, copyrighted 1960 by Min~eapolis- Honeywell

  have specifically authorized the use of this material in whole or in part, in the COBOL

  specifications. such authorization extends to the reproduction and use of COBOL

  specifications in programming manuals or similar publications.”

  xxv

  Preface

  It seems strange to be writing a book on COBOL so many years after its death was first predicted. Indeed, COBOL

  has had such a low profile in recent years that you might be forgiven for thinking that it had all but disappeared.

  The nature of our industry is such that the new and exciting always gets more airplay than the secure, the accurate, and the reliable. But while Java, C#, Ruby, Python, and Objective C have dominated our consciousness in recent times, in the background billions of lines of COBOL code have quietly gone about supporting the mission-critical applications that make the world work.

  Now, after many years, awareness is increasing about COBOL and the huge body of legacy COBOL code. COBOL

  is mentioned more and more in magazines, in trade journals, and in newspapers. Indeed, you may be reading this book because you have noticed this activity and have become curious about COBOL. You may have wondered why this supposedly dying language is attracting attention recently. The reason is simple. There is a legacy crisis just around the corner, and stakeholders are trying to do something about it.

 

‹ Prev