Micro Focus®
Issue 17
October 1998
Copyright © 1998 Micro Focus Limited. All rights reserved.
This document and the
proprietary marks and namesused herein are protected by international law.
Micro Focus has made every effort to ensure that this manual is correct and accurate, but reserves the right to make changes without notice at its sole discretion at any time.
The software described in this document is supplied under a license and may be used or copied only in accordance with the terms of such license, and in particular any warranty of fitness of Micro Focus software products for any particular purpose is expressly excluded and in no event will Micro Focus be liable for any consequential loss.
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 CODASYL Programming Language 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 herewith.
The authors and copyright holders of the copyrighted material used herein:
FLOW-MATIC Programming for the Univac® I and II, Data Automation Systems copyrighted 1958,1959, by Sperry Rand Corporation; IBM® Commercial Translator Form No. F28-8013, copyrighted 1959 by IBM®; FACT, DSI27A5260-2760, copyrighted 1960 by Minneapolis-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.
Micro Focus® and Animator® are registered trademarks of Micro Focus Limited. Micro Focus COBOL, VS COBOL, LEVEL II COBOL, LEVEL II COBOL/ET, and Professional COBOL are trademarks of Micro Focus Limited.
IBM® is a registered trademark of International Business Machines Corporation. Systems Application Architecture is a trademark of International Business Machines Corporation.
Microsoft® is a registered trademark of Microsoft Corporation.
Data General® is a registered trademark of Data General Corporation.
PANVALET and Librarian are trademarks of Computer Associates. Ryan McFarland® is a registered trademark of Ryan-McFarland Corporation.
UNIX® is a registered trademark licensed exclusively by X/Open Company Limited.
Copyright © 1978-1995 Micro Focus Limited
All Rights Reserved
This manual describes the base COBOL language supported by this system for programming microcomputers: this COBOL language is based on the ANSI COBOL standards X3.23-1985 and X3.23a-1989, and is supported by a number of COBOL systems.
This manual is intended for programmers already familiar with the COBOL language.
Other books to which you may need to refer include the Getting Started book and User Guide for your COBOL system, and:
The on-disk document Documentation Update Notes on your issue disks (or in your docs directory after installing) may contain updates to these books.
This manual describes the support provided by Micro Focus for the base COBOL language. Your Language Reference - Additional Topics should be used as the companion manual to this one. It describes the support provided for additional language features such as DBCS, Report Writer, SQL and Communication. As these features are not commonly used, we envision you using your Language Reference as your first point of reference.
This manual documents the COBOL language as supported by this product. This language was known as VS COBOL in some earlier versions of the product. Where the word COBOL is used without qualification or the term VS COBOL is used in this manual or any associated manuals, they each refer to the language supported by this product. Where other versions of COBOL are referenced, they will always be qualified: for example, VS COBOL II or ANSI'85 COBOL.
Throughout this manual, the following notation is used to describe the format of COBOL statements:
it is an indication that the material is mandatory for ANSI'74 COBOL (American National Standards Institute publication X3.23-1974) but may be optionally omitted as an extension to that language specification. The symbol adjacent to the box or appearing in the margin indicates the dialects of COBOL in which that material is optional. See rule 11 for further details on dialect features.
In the General Formats, the ellipsis represents the position at which repetition may occur at the user's option. The portion of the format that may be repeated is determined as follows:
Given ... in a clause or statement format, scanning right to left, determine the } or ] immediately to the left of the ...; continue scanning right to left and determine the logically matching { or [; the ... applies to the words between the determined pair of delimiters.
The only distinction Micro Focus makes between COBOL/370 and IBM VS COBOL II is that for the Procedure-Pointer format, the default length is eight bytes rather than four bytes.
To help you keep to the appropriate dialect - that of your target system - this manual shows the dialects in which each feature appears. In the text, features outside ANS X3.23-1974 are in separate paragraphs, with a symbol indicating the dialect at the start of the paragraph. Where a complete section is a separate dialect, the heading of the section is followed by a symbol in a paragraph by itself. A phrases which is part of a separate dialect is separated out into a paragraph on its own, marked as indicated above. In syntax diagrams, features outside ANS X3.23-1974 are enclosed in boxes, with symbols adjacent to the boxes or in the margin.
The symbols used are as follows:
These bubbles reflect support only for a particular syntax and its semantics. You have to use Compiler directives to effect a set of reserved words associated with a particular dialect. See the appendix Reserved Words in this manual and your Compatibility Guide for a list of the reserved words affected by various dialects.
Thus, for example, if you are developing a program for use on IBM OS/VS COBOL, you can use the unmarked features plus any marked OSVS; while if developing solely for your COBOL environment you can use any feature. If you supply the FLAG Compiler directive when you invoke the system software, your COBOL system software flags any features outside the given dialect. You can also use the FLAGAS Compiler directive to turn flagging messages into error messages.
Extra reserved words needed by features outside ANS X3.23-1985 are reserved only when the appropriate dialect-control directive is present; this means you can ensure that the only words reserved in the specified dialect are reserved on your target system. If you use only features that need no extra reserved words, and whose effects are the same in all dialects, you need not specify a dialect-control directive.
The dialect-control directive specifying the ANS X3.23-1985 dialect also causes the few ANS 3.23-1974 features not allowed in ANS X3.23-1985 to be flagged with a warning message.