Shopping Cart

No products in the cart.

BS ISO/IEC 1989:2023

$215.11

Information technology. Programming languages, their environments and system software interfaces. Programming language COBOL

Published By Publication Date Number of Pages
BSI 2023 1264
Guaranteed Safe Checkout
Category:

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. We’re here to assist you 24/7.
Email:[email protected]

PDF Catalog

PDF Pages PDF Title
2 undefined
5 Contents
26 Tables
27 Figures
28 Foreword
30 Introduction
33 1 Scope
34 2 Normative references
35 3 Terms and definitions
53 4 Conformance to this Working Draft International Standard
4.1 General
4.2 A conforming implementation
4.2.1 General
4.2.2 Acceptance of standard language elements
4.2.3 Interaction with non-COBOL runtime modules
4.2.4 Interaction between COBOL implementations
54 4.2.5 Implementor-defined language elements
4.2.6 Processor-dependent language elements
4.2.7 Optional language elements
55 4.2.8 Reserved words
4.2.9 Standard extensions
4.2.10 Nonstandard extensions
56 4.2.11 Substitute or additional language elements
4.2.12 Archaic language elements
4.2.13 Obsolete language elements
4.2.14 Externally-provided functionality
4.2.15 Limits
57 4.2.16 User documentation
4.2.17 Character substitution
4.3 A conforming compilation group
4.4 A conforming run unit
58 4.5 Relationship of a conforming compilation group to a conforming implementation
4.6 Relationship of a conforming run unit to a conforming implementation
59 5 Description techniques
5.1 General
5.2 General formats
5.2.1 General
5.2.2 Keywords
60 5.2.3 Optional words
5.2.4 Operands
5.2.5 Level numbers
61 5.2.6 Options
5.2.6.1 General
5.2.6.2 Brackets
5.2.6.3 Braces
5.2.6.4 Choice indicators
5.2.7 Ellipses
5.2.8 Punctuation
62 5.2.9 Special characters
5.2.10 Meta-terms
5.3 Rules
5.3.1 General
5.3.2 Syntax rules
5.3.3 General rules
5.3.4 Argument rules
5.3.5 Returned value rules
63 5.4 Arithmetic expressions
5.4.1 General
5.4.2 Textually subscripted operands
5.4.3 Ellipses
5.5 Integer operands
64 5.6 Informal description
5.7 Hyphens in text
65 6 Reference format
6.1 General
6.2 Indicators
6.2.1 General
66 6.2.2 Fixed indicators
6.2.3 Floating indicators
6.2.3.1 General
67 6.2.3.2 Syntax rules
68 6.3 Fixed-form reference format
6.3.1 General
6.3.2 Sequence number area
6.3.3 Indicator area
69 6.3.4 Program-text area
6.3.5 Continuation of lines
70 6.3.6 Blank lines
6.3.7 Comments
6.3.7.1 General
6.3.7.2 Comment lines
6.3.7.3 Inline comments
6.4 Free-form reference format
6.4.1 General
71 6.4.2 Continuation of lines
6.4.3 Blank lines
6.4.4 Comments
6.4.4.1 General
6.4.4.2 Comment lines
72 6.4.4.3 Inline comments
6.5 Logical conversion
74 7 Compiler directing facility
7.1 General
75 7.2 Text manipulation
7.2.1 General
76 7.2.2 Text manipulation elements
7.2.2.1 General
7.2.2.2 Compiler directing statements
7.2.2.3 Source text and library text
7.2.2.4 Pseudo-text
77 7.2.2.5 Text-words
78 7.2.3 COPY statement
7.2.3.1 General
7.2.3.2 General format
7.2.3.3 Syntax rules
79 7.2.3.4 General rules
82 7.2.4 REPLACE statement
7.2.4.1 General
7.2.4.2 General format
7.2.4.3 Syntax rules
83 7.2.4.4 General rules
86 7.3 Compiler directives
7.3.1 General
7.3.2 General format
7.3.3 Syntax rules
87 7.3.4 General rules
7.3.5 Conditional compilation
7.3.6 Compile-time arithmetic expressions
7.3.6.1 General
88 7.3.6.2 Syntax rules
7.3.6.3 General rules
7.3.7 Compile-time boolean expressions
7.3.7.1 General
7.3.7.2 Syntax rule
89 7.3.7.3 General rule
7.3.8 Constant conditional expression
7.3.8.1 General
7.3.8.2 Syntax rules
7.3.8.3 General rules
90 7.3.8.4 Defined condition
7.3.8.4.1 General
7.3.8.4.2 General format
7.3.8.4.3 Syntax rule
7.3.8.4.4 General rule
91 7.3.9 CALL-CONVENTION directive
7.3.9.1 General
7.3.9.2 General format
7.3.9.3 General rules
92 7.3.10 COBOL-WORDS directive
7.3.10.1 General
7.3.10.2 General format
7.3.10.3 Syntax rules
7.3.10.4 General rules
94 7.3.11 DEFINE directive
7.3.11.1 General
7.3.11.2 General format
7.3.11.3 Syntax rules
7.3.11.4 General rules
96 7.3.12 DISPLAY directive
7.3.12.1 General
7.3.12.2 General format
7.3.12.3 Syntax rules
7.3.12.4 General rules
98 7.3.13 EVALUATE directive
7.3.13.1 General
7.3.13.2 General format
7.3.13.3 Syntax rules
99 7.3.13.4 General rules
102 7.3.14 FLAG-02 directive
7.3.14.1 General
7.3.14.2 General format
7.3.14.3 Syntax rule
7.3.14.4 General rules
104 7.3.15 FLAG-14 directive
7.3.15.1 General
7.3.15.2 General format
7.3.15.3 Syntax rule
7.3.15.4 General rules
107 7.3.16 IF directive
7.3.16.1 General
7.3.16.2 General format
7.3.16.3 Syntax rules
7.3.16.4 General rules
108 7.3.17 LEAP-SECOND directive
7.3.17.1 General
7.3.17.2 General format
7.3.17.3 Syntax rule
7.3.17.4 General rules
110 7.3.18 LISTING directive
7.3.18.1 General
7.3.18.2 General format
7.3.18.3 General rules
111 7.3.19 PAGE directive
7.3.19.1 General
7.3.19.2 General format
7.3.19.3 Syntax rules
7.3.19.4 General rules
112 7.3.20 POP directive
7.3.20.1 General
7.3.20.2 General format
7.3.20.3 Syntax rules
7.3.20.4 General rules
113 7.3.21 PROPAGATE directive
7.3.21.1 General
7.3.21.2 General format
7.3.21.3 Syntax rule
7.3.21.4 General rules
114 7.3.22 PUSH directive
7.3.22.1 General
7.3.22.2 General format
7.3.22.3 Syntax rules
7.3.22.4 General rules
115 7.3.23 REF-MOD-ZERO-LENGTH directive
7.3.23.1 General
7.3.23.2 General format.
7.3.23.3 General rule
116 7.3.24 SOURCE FORMAT directive
7.3.24.1 General
7.3.24.2 General format
7.3.24.3 General rules
117 7.3.25 TURN directive
7.3.25.1 General
7.3.25.2 General format
7.3.25.3 Syntax rules
7.3.25.4 General rules
119 8 Language fundamentals
8.1 Character sets
8.1.1 General
8.1.2 Computer’s coded character set
122 8.1.3 COBOL character repertoire
8.1.3.1 General
123 8.1.3.2 General rules
125 8.1.4 Alphabets
8.1.5 Collating sequences
126 8.2 Locales
8.2.1 General
127 8.2.2 Locale field names
129 8.3 Lexical elements
8.3.1 General
8.3.2 COBOL words
8.3.2.1 General
8.3.2.2 User-defined words
132 8.3.2.2.1 Alphabet-name
133 8.3.2.2.2 Class-name
8.3.2.2.3 Compilation-variable-name
8.3.2.2.4 Condition-name
8.3.2.2.5 Constant-name
8.3.2.2.6 Data-name
8.3.2.2.7 Directive-name
8.3.2.2.8 Dynamic-length-structure-name
8.3.2.2.9 File-name
8.3.2.2.10 Function-prototype-name
8.3.2.2.11 Index-name
8.3.2.2.12 Interface-name
134 8.3.2.2.13 Level-number
8.3.2.2.14 Locale-name
8.3.2.2.15 Method-name
8.3.2.2.16 Mnemonic-name
8.3.2.2.17 Object-class-name
8.3.2.2.18 Ordering-name
8.3.2.2.19 Paragraph-name
8.3.2.2.20 Parameter-name
8.3.2.2.21 Program-name
8.3.2.2.22 Program-prototype-name
135 8.3.2.2.23 Property-name
8.3.2.2.24 Record-key-name
8.3.2.2.25 Record-name
8.3.2.2.26 Report-name
8.3.2.2.27 Screen-name
8.3.2.2.28 Section-name
8.3.2.2.29 Symbolic-character
8.3.2.2.30 Type-name
8.3.2.2.31 User-function-name
8.3.2.3 System-names
8.3.2.3.1 General
136 8.3.2.3.2 Call-convention-name
8.3.2.3.3 Code-name
8.3.2.3.4 Computer-name
8.3.2.3.5 Device-name
8.3.2.3.6 Entry-convention-name
8.3.2.3.7 External-locale-name
8.3.2.3.8 Feature-name
137 8.3.2.3.9 Library-name
8.3.2.3.10 Physical-structure-name
8.3.2.3.11 Switch-name
8.3.2.3.12 Text-name
8.3.2.4 Reserved words
8.3.2.4.1 General
8.3.2.4.2 Required words
138 8.3.2.4.3 Optional words
8.3.2.5 Context-sensitive words
8.3.2.6 Intrinsic-function-names
8.3.2.7 Exception-names
8.3.3 Literals
8.3.3.1 General
139 8.3.3.2 Alphanumeric literals
8.3.3.2.1 General
8.3.3.2.2 General format
8.3.3.2.3 Syntax rules
140 8.3.3.2.4 General rules
141 8.3.3.3 Numeric literals
8.3.3.3.1 General
8.3.3.3.2 Fixed-point numeric literals
8.3.3.3.3 Floating-point numeric literals
142 8.3.3.4 Boolean literals
8.3.3.4.1 General
8.3.3.4.2 General format
8.3.3.4.3 Syntax rules
143 8.3.3.4.4 General rules
8.3.3.5 National literals
8.3.3.5.1 General
8.3.3.5.2 General format
144 8.3.3.5.3 Syntax rules
8.3.3.5.4 General rules
145 8.3.3.6 Figurative constant values
8.3.3.6.1 General
146 8.3.3.6.2 General format
8.3.3.6.3 Syntax rules
147 8.3.3.6.4 General rules
149 8.3.4 Picture character-strings
8.3.5 Separators
151 8.4 References
8.4.1 General
8.4.2 Uniqueness of reference
8.4.2.1 General
8.4.2.2 Qualification
8.4.2.2.1 General
152 8.4.2.2.2 General format
153 8.4.2.2.3 Syntax rules
154 8.4.2.3 Subscripts
8.4.2.3.1 General
8.4.2.3.2 General format
155 8.4.2.3.3 Syntax rules
156 8.4.2.3.4 General rules
8.4.3 Identifiers
8.4.3.1 Identifier
8.4.3.1.1 General
8.4.3.1.2 General format
158 8.4.3.1.3 Syntax rules
159 8.4.3.1.4 General rules
8.4.3.2 Function-identifier
8.4.3.2.1 General
8.4.3.2.2 General format
8.4.3.2.3 Syntax rules
161 8.4.3.2.4 General rules
163 8.4.3.3 Reference-modification
8.4.3.3.1 General
8.4.3.3.2 General format
8.4.3.3.3 Syntax rules
164 8.4.3.3.4 General rules
165 8.4.3.4 Inline method invocation
8.4.3.4.1 General
8.4.3.4.2 General format
8.4.3.4.3 Syntax rules
8.4.3.4.4 General rules
166 8.4.3.5 Object-view
8.4.3.5.1 General
8.4.3.5.2 General format
8.4.3.5.3 Syntax rules
8.4.3.5.4 General rules
167 8.4.3.6 EXCEPTION-OBJECT
8.4.3.6.1 General
8.4.3.6.2 General format
8.4.3.6.3 Syntax rules
8.4.3.6.4 General rules
168 8.4.3.7 NULL object reference
8.4.3.7.1 General
8.4.3.7.2 General format
8.4.3.7.3 Syntax rules
8.4.3.7.4 General rule
8.4.3.8 SELF and SUPER
8.4.3.8.1 General
8.4.3.8.2 General format
8.4.3.8.3 Syntax rules
169 8.4.3.8.4 General rules
8.4.3.9 Object property
8.4.3.9.1 General
8.4.3.9.2 General format
170 8.4.3.9.3 Syntax rules
8.4.3.9.4 General rules
171 8.4.3.10 NULL address pointer and message tag content
8.4.3.10.1 General
8.4.3.10.2 General format
8.4.3.10.3 Syntax rules
8.4.3.10.4 General rules
8.4.3.11 Data-address-identifier
8.4.3.11.1 General
172 8.4.3.11.2 General format
8.4.3.11.3 Syntax rules
8.4.3.11.4 General rules
8.4.3.12 Function-address-identifier
8.4.3.12.1 General
173 8.4.3.12.2 General format
8.4.3.12.3 Syntax rules
8.4.3.12.4 General rules
8.4.3.13 Program-address-identifier
8.4.3.13.1 General
174 8.4.3.13.2 General format
8.4.3.13.3 Syntax rules
8.4.3.13.4 General rules
8.4.3.14 LINAGE-COUNTER
8.4.3.14.1 General
175 8.4.3.14.2 General format
8.4.3.14.3 Syntax rules
8.4.3.14.4 General rules
8.4.3.15 Report counters
8.4.3.15.1 General
8.4.3.15.2 General format
8.4.3.15.3 Syntax rules
176 8.4.3.15.4 General rules
8.4.4 Condition-name
8.4.4.1 General
177 8.4.4.2 General format
8.4.4.3 Syntax rules
8.4.5 Explicit and implicit data item references
178 8.4.6 Scope of names
8.4.6.1 General
179 8.4.6.2 Local and global names
8.4.6.2.1 General
180 8.4.6.2.2 Scope of condition-names, constant-names, data-names, file-names, record-names, report-names, screen-names, and type-names
8.4.6.2.3 Scope of index-names
8.4.6.2.4 Scope of record-key-names
8.4.6.2.5 Scope of PAGE-COUNTER AND LINE-COUNTER
8.4.6.2.6 Scope of LINAGE-COUNTER
181 8.4.6.3 Scope of program-names
8.4.6.4 Scope of object-class-names and interface-names
8.4.6.5 Scope of method-names
182 8.4.6.6 Scope of function-prototype-names
8.4.6.7 Scope of user-function-names
8.4.6.8 Scope of program-prototype-names
8.4.6.9 Scope of compilation-variable-names
8.4.6.10 Scope of parameter-names
8.4.6.11 Scope of property-names
183 8.5 Data description and representation
8.5.1 Computer independent data description
8.5.1.1 General
8.5.1.2 Files and records
8.5.1.3 Levels
8.5.1.3.1 General
184 8.5.1.3.2 Level-numbers
8.5.1.3.3 Tables
185 8.5.1.4 Limitations of character handling
8.5.1.5 Algebraic signs
186 8.5.1.6 Alignment of data items in storage
8.5.1.6.1 Alignment of alphanumeric groups and of data items of usage display
8.5.1.6.2 Alignment of data items of usage national
8.5.1.6.3 Alignment of data items of usage bit
187 8.5.1.6.4 Item alignment for increased object-code efficiency
8.5.1.6.5 Alignment of strongly-typed group items
188 8.5.1.7 Fixed-capacity tables
8.5.1.8 Occurs-depending tables
8.5.1.9 Dynamic-capacity tables
8.5.1.9.1 General
189 8.5.1.9.2 Operations on a single element
8.5.1.9.3 Implicit changes in capacity
8.5.1.9.4 Explicit changes in capacity
8.5.1.9.5 Implicit initialization
8.5.1.9.6 Exceeding capacity
190 8.5.1.10 Dynamic-length elementary items
8.5.1.10.1 General
8.5.1.10.2 Structure of a dynamic-length elementary item
8.5.1.10.3 Location of dynamic-length elementary items
191 8.5.1.10.4 Operations on dynamic-length elementary items
8.5.1.11 Variable-length data items
8.5.1.11.1 General
8.5.1.11.2 Contiguity of data items
8.5.1.11.3 Availability and persistence of variable-length data items
192 8.5.1.12 Variable-length groups
8.5.1.12.1 General
193 8.5.1.12.2 Positional correspondence
8.5.1.12.3 Matching
8.5.2 Class and category of data items and literals
8.5.2.1 General
194 8.5.2.2 Alphabetic category
8.5.2.3 Alphanumeric category
195 8.5.2.4 Alphanumeric-edited category
8.5.2.5 Boolean category
8.5.2.6 Data-pointer category
8.5.2.7 Function-pointer category
8.5.2.8 Index category
196 8.5.2.9 Message-tag category
8.5.2.10 National category
8.5.2.11 National-edited category
8.5.2.12 Numeric category
197 8.5.2.13 Numeric-edited category
8.5.2.14 Object-reference category
8.5.2.15 Program-pointer category
8.5.3 Types
8.5.3.1 General
198 8.5.3.2 Weakly-typed items
199 8.5.3.3 Strongly-typed group items
8.5.4 Zero-length items
8.6 Scope and life cycle of data
8.6.1 General
8.6.2 Global names and local names
200 8.6.3 External and internal items
8.6.4 Automatic, initial, and static internal items
202 8.6.5 Based entries and based data items
8.6.6 Common, initial, and recursive attributes
203 8.6.7 Sharing data items
204 8.7 Operators
8.7.1 Arithmetic operators
8.7.2 Boolean operators
205 8.7.3 Concatenation operator
8.7.4 Invocation operator
8.7.5 Relational operators
8.7.5.1 General format
206 8.7.5.2 Syntax rules
8.7.6 Logical operators
207 8.8 Expressions
8.8.1 Arithmetic expressions
8.8.1.1 General
8.8.1.2 Native, standard-binary, and standard-decimal arithmetic
208 8.8.1.3 Native arithmetic
8.8.1.4 Standard-binary arithmetic
8.8.1.4.1 General
209 8.8.1.4.2 Standard-binary intermediate data item
210 8.8.1.4.3 Basic arithmetic operations in standard-binary arithmetic
8.8.1.4.4 Exponentiation in standard-binary arithmetic
211 8.8.1.5 Standard-decimal arithmetic
8.8.1.5.1 General
212 8.8.1.5.2 Standard-decimal intermediate data item
213 8.8.1.5.3 Basic arithmetic operations in standard-decimal arithmetic
8.8.1.5.4 Exponentiation in standard-decimal arithmetic
214 8.8.2 Boolean expressions
217 8.8.3 Concatenation expressions
8.8.3.1 General format
8.8.3.2 Syntax rules
8.8.3.3 General rules
218 8.8.4 Conditional expressions
8.8.4.1 General
8.8.4.2 Simple relation conditions
8.8.4.2.1 General
219 8.8.4.2.2 General format
220 8.8.4.2.3 Syntax rules
8.8.4.2.4 Comparison of numeric operands
221 8.8.4.2.5 Comparison of a numeric integer operand with an operand of class alphanumeric or national
8.8.4.2.6 Comparison of alphanumeric and national operands
8.8.4.2.7 Comparison of alphanumeric operands
222 8.8.4.2.8 Comparison of boolean operands
8.8.4.2.9 Comparison of national operands
223 8.8.4.2.10 Standard comparison
8.8.4.2.11 Locale-based comparison
8.8.4.2.12 Comparison of strongly-typed group items
224 8.8.4.2.13 Comparisons involving index-names or index data items
8.8.4.2.14 Comparisons of operands of class message-tag
8.8.4.2.15 Comparisons of operands of class object
8.8.4.2.16 Comparison of pointer operands
8.8.4.2.17 Comparison of a variable-length group with a compatible group
225 8.8.4.3 Simple boolean condition
8.8.4.3.1 General
8.8.4.3.2 General format
8.8.4.3.3 Syntax rule
8.8.4.3.4 General rules
8.8.4.4 Simple class condition
8.8.4.4.1 General
226 8.8.4.4.2 General format
8.8.4.4.3 Syntax rules
227 8.8.4.4.4 General rules
229 8.8.4.5 Simple condition-name condition (conditional variable)
8.8.4.5.1 General
8.8.4.5.2 General format
8.8.4.5.3 General rules
8.8.4.6 Simple switch-status condition
8.8.4.6.1 General
8.8.4.6.2 General format
8.8.4.6.3 General rule
230 8.8.4.7 Simple sign condition
8.8.4.7.1 General
8.8.4.7.2 General format
8.8.4.7.3 Syntax rules
8.8.4.7.4 General rules
231 8.8.4.8 Simple omitted argument condition
8.8.4.8.1 General
8.8.4.8.2 General format
8.8.4.8.3 Syntax rule
232 8.8.4.8.4 General rules
8.8.4.9 Complex conditions
8.8.4.10 Complex negated conditions
8.8.4.10.1 General
233 8.8.4.10.2 General format
8.8.4.11 Complex Combined conditions
8.8.4.11.1 General
8.8.4.11.2 General format
8.8.4.11.3 Precedence of logical operators and the use of parentheses
234 8.8.4.12 Abbreviated combined relation conditions
8.8.4.12.1 General
235 8.8.4.12.2 General format
8.8.4.12.3 Syntax rules
8.8.4.12.4 General rule
236 8.8.4.13 Order of evaluation of conditions
237 8.9 Reserved words
241 8.10 Context-sensitive words
245 8.11 Intrinsic function names
247 8.12 Compiler-directive words
248 8.13 External repository
249 9 I-O, objects, and user-defined functions
9.1 Files
9.1.1 Physical and logical files
9.1.2 Record area
250 9.1.3 File connector
9.1.4 Open mode
251 9.1.5 Sharing file connectors
9.1.6 Fixed file attributes
9.1.7 Organization
9.1.7.1 General
9.1.7.2 Sequential
252 9.1.7.3 Relative
9.1.7.4 Indexed
9.1.8 Access modes
9.1.8.1 General
253 9.1.8.2 Sequential access mode
9.1.8.3 Random access mode
9.1.8.4 Dynamic access mode
9.1.9 Reel and unit
254 9.1.10 Current volume pointer
9.1.11 File position indicator
9.1.12 Input-output exception processing
255 9.1.13 I-O status
9.1.13.1 General
256 9.1.13.2 Successful completion
257 9.1.13.3 Implementor-defined successful completion
9.1.13.4 At end condition with unsuccessful completion
258 9.1.13.5 Invalid key condition with unsuccessful completion
9.1.13.6 Permanent error condition with unsuccessful completion
259 9.1.13.7 Logic error condition with unsuccessful completion
260 9.1.13.8 Record operation conflict condition with unsuccessful completion
261 9.1.13.9 File sharing conflict condition with unsuccessful completion
9.1.13.10 Record with invalid content with unsuccessful completion
9.1.13.11 Implementor-defined condition with unsuccessful completion
262 9.1.14 Invalid key condition
9.1.15 Sharing mode
264 9.1.16 Record locking
9.1.17 Logical unit of work
265 9.1.18 Commit and Rollback
9.1.18.1 General
9.1.18.2 Files and data items to be included
9.1.18.3 Committing changes to files
9.1.18.4 Rolling back changes to files and data items
266 9.1.18.5 Run unit termination
9.1.18.6 Object orientation
9.1.18.7 Exception conditions
9.1.19 Sort file
9.1.20 Merge file
267 9.1.21 Dynamic file assignment
9.1.22 Report file
268 9.2 Screens
9.2.1 Terminal screen
9.2.2 Function keys
9.2.3 CRT status
269 9.2.4 Cursor
270 9.2.5 Cursor locator
9.2.6 Current screen item
9.2.7 Color number
272 9.3 Objects
9.3.1 Objects and classes
9.3.2 Object references
9.3.3 Predefined object references
9.3.4 Methods
9.3.5 Polymorphism
9.3.5.1 General
273 9.3.5.2 Class polymorphism
9.3.5.3 Parametric polymorphism
274 9.3.6 Method invocation
278 9.3.7 Method prototypes
9.3.8 Conformance and interfaces
9.3.8.1 General
279 9.3.8.2 Conformance for object orientation
9.3.8.2.1 General
9.3.8.2.2 Interfaces
9.3.8.2.3 Conformance between interfaces
282 9.3.8.2.4 Conformance for parameterized classes and parameterized interfaces
9.3.9 Class inheritance
283 9.3.10 Interface inheritance
9.3.11 Interface implementation
9.3.12 Parameterized classes
284 9.3.13 Parameterized interfaces
9.3.14 Object life cycle
9.3.14.1 General
9.3.14.2 Life cycle for factory objects
9.3.14.3 Life cycle for instance objects
9.4 User-defined functions
286 10 Structured compilation group
10.1 General
10.2 Compilation units
10.3 Source units
287 10.4 Contained source units
10.5 Source elements and runtime elements
288 10.6 COBOL compilation group
10.6.1 General format
291 10.6.2 Syntax rules
292 10.6.3 General rule
293 10.7 End markers
10.7.1 General
10.7.2 General format
10.7.3 Syntax rules
294 10.7.4 General rule
295 11 Identification division
11.1 General
11.2 Identification division structure
296 11.3 CLASS-ID paragraph
11.3.1 General
11.3.2 General format
11.3.3 Syntax rules
11.3.4 General rules
298 11.4 FACTORY paragraph
11.4.1 General
11.4.2 General format
11.4.3 Syntax rules
11.4.4 General rules
299 11.5 FUNCTION-ID paragraph
11.5.1 General
11.5.2 General format
11.5.3 Syntax rule
11.5.4 General rules
300 11.6 INTERFACE-ID paragraph
11.6.1 General
11.6.2 General format
11.6.3 Syntax rules
11.6.4 General rules
301 11.7 METHOD-ID paragraph
11.7.1 General
11.7.2 General format
11.7.3 Syntax rules
302 11.7.4 General rules
303 11.8 OBJECT paragraph
11.8.1 General
11.8.2 General format
11.8.3 Syntax rules
11.8.4 General rules
304 11.9 OPTIONS paragraph
11.9.1 General
11.9.2 General format
11.9.3 Syntax rule
11.9.4 General rule
11.9.5 ARITHMETIC clause
11.9.5.1 General format
11.9.5.2 General rules
305 11.9.6 DEFAULT ROUNDED clause
11.9.6.1 General
11.9.6.2 General format
11.9.6.3 General rules
306 11.9.7 ENTRY-CONVENTION clause
11.9.7.1 General
11.9.7.2 General format
11.9.7.3 Syntax rule
11.9.7.4 General rules
307 11.9.8 FLOAT-BINARY clause
11.9.8.1 General
11.9.8.2 General format
11.9.8.3 Syntax rules
11.9.9 FLOAT-DECIMAL clause
11.9.9.1 General
11.9.9.2 General format
308 11.9.9.3 Syntax rules
11.9.10 INITIALIZE clause
11.9.10.1 General
309 11.9.10.2 General format
11.9.10.3 Syntax rule
11.9.10.4 General rules
310 11.9.11 INTERMEDIATE ROUNDING clause
11.9.11.1 General format
11.9.11.2 General rules
312 11.10 PROGRAM-ID paragraph
11.10.1 General
11.10.2 General format
11.10.3 Syntax rules
313 11.10.4 General rules
314 12 Environment division
12.1 General
12.2 Environment division structure
315 12.3 Configuration section
12.3.1 General
12.3.2 General format
12.3.3 Syntax rules
12.3.4 General rule
316 12.3.5 SOURCE-COMPUTER paragraph
12.3.5.1 General
12.3.5.2 General format
12.3.5.3 Syntax rule
12.3.5.4 General rules
317 12.3.6 OBJECT-COMPUTER paragraph
12.3.6.1 General
12.3.6.2 General format
12.3.6.3 Syntax rules
318 12.3.6.4 General rules
321 12.3.7 SPECIAL-NAMES paragraph
12.3.7.1 General
322 12.3.7.2 General format
324 12.3.7.3 Syntax rules
328 12.3.7.4 General rules
336 12.3.8 REPOSITORY paragraph
12.3.8.1 General
12.3.8.2 General format
337 12.3.8.3 Syntax rules
339 12.3.8.4 General rules
342 12.4 Input-output section
12.4.1 General
12.4.2 General format
12.4.3 Syntax rule
343 12.4.4 FILE-CONTROL paragraph
12.4.4.1 General
12.4.4.2 General format
12.4.5 File control entry
344 12.4.5.1 General formats
347 12.4.5.2 Syntax rules
348 12.4.5.3 General rules
351 12.4.5.4 ACCESS MODE clause
12.4.5.5 General
12.4.5.5.1 General format
12.4.5.5.2 Syntax rules
12.4.5.5.3 General rules
352 12.4.5.6 ALTERNATE RECORD KEY clause
12.4.5.6.1 General
12.4.5.6.2 General format
12.4.5.6.3 Syntax rules
12.4.5.6.4 General rules
354 12.4.5.7 COLLATING SEQUENCE clause
12.4.5.7.1 General
12.4.5.7.2 General formats
12.4.5.7.3 Syntax rules
355 12.4.5.7.4 General rules
356 12.4.5.8 FILE STATUS clause
12.4.5.8.1 General
12.4.5.8.2 General format
12.4.5.8.3 Syntax rules
12.4.5.8.4 General rule
357 12.4.5.9 LOCK MODE clause
12.4.5.9.1 General
12.4.5.9.2 General format
12.4.5.9.3 Syntax rules
12.4.5.9.4 General rules
359 12.4.5.10 ORGANIZATION clause
12.4.5.10.1 General
12.4.5.10.2 General format
12.4.5.10.3 General rules
360 12.4.5.11 RECORD DELIMITER clause
12.4.5.11.1 General
12.4.5.11.2 General format
12.4.5.11.3 Syntax rules
12.4.5.11.4 General rules
361 12.4.5.12 RECORD KEY clause
12.4.5.12.1 General
12.4.5.12.2 General format
12.4.5.12.3 Syntax rules
12.4.5.12.4 General rules
362 12.4.5.13 RELATIVE KEY clause
12.4.5.13.1 General
12.4.5.13.2 General format
12.4.5.13.3 Syntax rules
12.4.5.13.4 General rules
363 12.4.5.14 RESERVE clause
12.4.5.14.1 General
12.4.5.14.2 General format
12.4.5.14.3 General rule
364 12.4.5.15 SHARING clause
12.4.5.15.1 General
12.4.5.15.2 General format
12.4.5.15.3 General rule
365 12.4.6 I-O-CONTROL paragraph
12.4.6.1 General
12.4.6.2 General format
12.4.6.3 APPLY COMMIT clause
12.4.6.3.1 General
12.4.6.3.2 General format
12.4.6.3.3 Syntax rules
366 12.4.6.3.4 General rules
367 12.4.6.4 SAME clause
12.4.6.4.1 General
12.4.6.4.2 General formats
12.4.6.4.3 Syntax rules
368 12.4.6.4.4 General rules
370 13 Data division
13.1 General
371 13.2 Data division structure
13.2.1 General format
13.3 Explicit and implicit attributes
373 13.4 File section
13.4.1 General
13.4.2 General format
13.4.3 Syntax rule
13.4.4 General rule
374 13.4.5 File description entry
13.4.5.1 General
13.4.5.2 General formats
376 13.4.5.3 Syntax rules
377 13.4.5.4 General rules
378 13.4.6 Sort-merge file description entry
13.4.6.1 General
13.4.6.2 General format
13.4.6.3 Syntax rules
13.4.6.4 General rule
379 13.5 Working-storage section
13.5.1 General
13.5.2 General format
13.5.3 Syntax rule
13.5.4 General rules
380 13.6 Local-storage section
13.6.1 General
13.6.2 General format
13.6.3 Syntax rule
13.6.4 General rules
381 13.7 Linkage section
13.7.1 General
13.7.2 General format
13.7.3 Syntax rules
382 13.7.4 General rules
383 13.8 Report section
13.8.1 General
13.8.2 General format
13.8.3 Syntax rule
13.8.4 Report description entry
13.8.5 Report group description entry
384 13.8.6 Report subdivisions
13.8.6.1 General
13.8.6.2 Physical subdivisions of a report
13.8.6.2.1 Pages
13.8.6.2.2 Lines
13.8.6.2.3 Report Items
13.8.6.3 Logical Subdivisions of a Report
386 13.9 Screen section
13.9.1 General
13.9.2 General format
13.9.3 Syntax rule
13.9.4 General rule
387 13.10 Constant entry
13.10.1 General
13.10.2 General format
13.10.3 Syntax rules
388 13.10.4 General rules
389 13.11 Record description entry
13.11.1 General
13.12 Type declaration entry
13.13 77-level data description entry
390 13.14 Report description entry
13.14.1 General
13.14.2 General format
13.14.3 Syntax rules
13.14.4 General rule
391 13.15 Report group description entry
13.15.1 General
13.15.2 General format
392 13.15.3 Syntax rules
393 13.15.4 General rules
394 13.16 Data description entry
13.16.1 General
395 13.16.2 General formats
397 13.16.3 Syntax rules
399 13.16.4 General rules
400 13.17 Screen description entry
13.17.1 General
13.17.2 General formats
402 13.17.3 Syntax rules
403 13.17.4 General rules
404 13.18 Data division clauses
13.18.1 ALIGNED clause
13.18.1.1 General
13.18.1.2 General format
13.18.1.3 Syntax rule
13.18.1.4 General rules
405 13.18.2 ANY LENGTH clause
13.18.2.1 General
13.18.2.2 General format
13.18.2.3 Syntax rules
13.18.2.4 General rule
406 13.18.3 AUTO clause
13.18.3.1 General
13.18.3.2 General format
13.18.3.3 General rules
407 13.18.4 BACKGROUND-COLOR clause
13.18.4.1 General
13.18.4.2 General format
13.18.4.3 Syntax rules
13.18.4.4 General rules
408 13.18.5 BASED clause
13.18.5.1 General
13.18.5.2 General format
13.18.5.3 Syntax rules
13.18.5.4 General rules
409 13.18.6 BELL clause
13.18.6.1 General
13.18.6.2 General format
13.18.6.3 General rules
410 13.18.7 BLANK clause
13.18.7.1 General
13.18.7.2 General format
13.18.7.3 General rules
411 13.18.8 BLANK WHEN ZERO clause
13.18.8.1 General
13.18.8.2 General format
13.18.8.3 Syntax rules
13.18.8.4 General rules
412 13.18.9 BLINK clause
13.18.9.1 General
13.18.9.2 General format
13.18.9.3 General rules
413 13.18.10 BLOCK CONTAINS clause
13.18.10.1 General
13.18.10.2 General format
13.18.10.3 Syntax rule
13.18.10.4 General rules
414 13.18.11 CLASS clause
13.18.11.1 General
13.18.11.2 General format
13.18.11.3 Syntax rule
13.18.11.4 General rules
415 13.18.12 CODE clause
13.18.12.1 General
13.18.12.2 General format
13.18.12.3 Syntax rules
13.18.12.4 General rules
416 13.18.13 CODE-SET clause
13.18.13.1 General
13.18.13.2 General format
13.18.13.4 General rules
418 13.18.14 COLUMN clause
13.18.14.1 General
13.18.14.2 General formats
13.18.14.3 Syntax rules
419 13.18.14.4 General rules
423 13.18.15 CONSTANT RECORD clause
13.18.15.1 General
13.18.15.2 General format
13.18.15.3 Syntax rules
13.18.15.4 General rule
424 13.18.16 CONTROL clause
13.18.16.1 General
13.18.16.2 General format
13.18.16.3 Syntax rules
13.18.16.4 General rules
426 13.18.17 DEFAULT clause
13.18.17.1 General
13.18.17.2 General format
13.18.17.3 Syntax rules
13.18.17.4 General rules
428 13.18.18 DESTINATION clause
13.18.18.1 General
13.18.18.2 General format
13.18.18.3 Syntax rules
13.18.18.4 General rules
429 13.18.19 DYNAMIC LENGTH clause
13.18.19.1 General
13.18.19.2 General format
13.18.19.3 Syntax rules
13.18.19.4 General rules
430 13.18.20 Entry-name clause
13.18.20.1 General
13.18.20.2 General formats
13.18.20.3 Syntax rules
13.18.20.4 General rule
431 13.18.21 ERASE clause
13.18.21.1 General
13.18.21.2 General format
13.18.21.3 Syntax rules
13.18.21.4 General rules
432 13.18.22 EXTERNAL clause
13.18.22.1 General
13.18.22.2 General format
13.18.22.3 Syntax rules
13.18.22.4 General rules
434 13.18.23 FOREGROUND-COLOR clause
13.18.23.1 General
13.18.23.2 General format
13.18.23.3 Syntax rules
13.18.23.4 General rules
435 13.18.24 FORMAT clause
13.18.24.1 General
13.18.24.2 General format
13.18.24.3 Syntax rules
13.18.24.4 General rules
438 13.18.25 FROM clause
13.18.25.1 General
13.18.25.2 General format
13.18.25.3 Syntax rules
13.18.25.4 General rule
439 13.18.26 FULL clause
13.18.26.1 General
13.18.26.2 General format
13.18.26.3 General rules
440 13.18.27 GLOBAL clause
13.18.27.1 General
13.18.27.2 General format
13.18.27.3 Syntax rules
13.18.27.4 General rules
441 13.18.28 GROUP INDICATE clause
13.18.28.1 General
13.18.28.2 General format
13.18.28.3 Syntax rule
13.18.28.4 General rule
442 13.18.29 GROUP-USAGE clause
13.18.29.1 General
13.18.29.2 General format
13.18.29.3 Syntax rules
13.18.29.4 General rules
444 13.18.30 HIGHLIGHT clause
13.18.30.1 General
13.18.30.2 General format
13.18.30.3 General rules
445 13.18.31 INVALID clause
13.18.31.1 General
13.18.31.2 General format
13.18.31.3 Syntax rule
13.18.31.4 General rules
446 13.18.32 JUSTIFIED clause
13.18.32.1 General
13.18.32.2 General format
13.18.32.3 Syntax rules
13.18.32.4 General rules
447 13.18.33 Level-number
13.18.33.1 General
13.18.33.2 General format
13.18.33.3 Syntax rules
13.18.33.4 General rules
449 13.18.34 LINAGE clause
13.18.34.1 General
13.18.34.2 General format
13.18.34.3 Syntax rules
13.18.34.4 General rules
452 13.18.35 LINE clause
13.18.35.1 General
13.18.35.2 General formats
13.18.35.3 Syntax rules
454 13.18.35.4 General rules
458 13.18.36 LOWLIGHT clause
13.18.36.1 General
13.18.36.2 General format
13.18.36.3 General rules
459 13.18.37 NEXT GROUP clause
13.18.37.1 General
13.18.37.2 General format
13.18.37.3 Syntax rules
460 13.18.37.4 General rules
462 13.18.38 OCCURS clause
13.18.38.1 General
13.18.38.2 General formats
13.18.38.3 Syntax rules
465 13.18.38.4 General rules
470 13.18.39 PAGE clause
13.18.39.1 General
13.18.39.2 General format
13.18.39.3 Syntax rules
471 13.18.39.4 General rules
473 13.18.40 PICTURE clause
13.18.40.1 General
13.18.40.2 General formats
13.18.40.3 Syntax rules
477 13.18.40.4 General rules
484 13.18.40.5 Editing rules
489 13.18.40.6 Precedence rules
493 13.18.41 PRESENT WHEN clause
13.18.41.1 General
13.18.41.2 General formats
13.18.41.3 Syntax rule
13.18.41.4 General rules
496 13.18.42 PROPERTY clause
13.18.42.1 General
13.18.42.2 General format
13.18.42.3 Syntax rules
13.18.42.4 General rules
499 13.18.43 RECORD clause
13.18.43.1 General
13.18.43.2 General formats
13.18.43.3 Syntax rules
500 13.18.43.4 General rules
503 13.18.44 REDEFINES clause
13.18.44.1 General
13.18.44.2 General format
13.18.44.3 Syntax rules
504 13.18.44.4 General rules
505 13.18.45 RENAMES clause
13.18.45.1 General
13.18.45.2 General format
13.18.45.3 Syntax rules
506 13.18.45.4 General rules
507 13.18.46 REPORT clause
13.18.46.1 General
13.18.46.2 General format
13.18.46.3 Syntax rules
13.18.46.4 General rules
508 13.18.47 REQUIRED clause
13.18.47.1 General
13.18.47.2 General format
509 13.18.48 REVERSE-VIDEO clause
13.18.48.1 General
13.18.48.2 General format
13.18.48.3 General rules
510 13.18.49 SAME AS clause
13.18.49.1 General
13.18.49.2 General format
13.18.49.3 Syntax rules
13.18.49.4 General rules
512 13.18.50 SECURE clause
13.18.50.1 General
13.18.50.2 General format
13.18.50.3 General rules
513 13.18.51 SELECT WHEN clause
13.18.51.1 General
13.18.51.2 General format
13.18.51.3 Syntax rules
13.18.51.4 General rules
515 13.18.52 SIGN clause
13.18.52.1 General
13.18.52.2 General format
13.18.52.3 Syntax rules
13.18.52.4 General rules
517 13.18.53 SOURCE clause
13.18.53.1 General
13.18.53.2 General format
13.18.53.3 Syntax rules
519 13.18.54 SUM clause
13.18.54.1 General
13.18.54.2 General format
13.18.54.3 Syntax rules
520 13.18.54.4 General rules
523 13.18.55 SYNCHRONIZED clause
13.18.55.1 General
13.18.55.2 General format
13.18.55.3 Syntax rules
13.18.55.4 General rules
525 13.18.56 TO clause
13.18.56.1 General
13.18.56.2 General format
13.18.56.3 Syntax rules
13.18.56.4 General rules
526 13.18.57 TYPE clause
13.18.57.1 General
13.18.57.2 General formats
13.18.57.3 Syntax rules
528 13.18.57.4 General rules
532 13.18.58 TYPEDEF clause
13.18.58.1 General
13.18.58.2 General format
13.18.58.3 Syntax rules
13.18.58.4 General rules
533 13.18.59 UNDERLINE clause
13.18.59.1 General
13.18.59.2 General format
13.18.59.3 General rules
534 13.18.60 USAGE clause
13.18.60.1 General
535 13.18.60.2 General format
536 13.18.60.3 Syntax rules
537 13.18.60.4 General rules
544 13.18.61 USING clause
13.18.61.1 General
13.18.61.2 General format
13.18.61.3 Syntax rules
13.18.61.4 General rules
545 13.18.62 VALIDATE-STATUS clause
13.18.62.1 General
13.18.62.2 General format
13.18.62.3 Syntax rules
546 13.18.62.4 General rules
548 13.18.63 VALUE clause
13.18.63.1 General
13.18.63.2 General formats
549 13.18.63.3 Syntax rules
553 13.18.63.4 General rules
557 13.18.64 VARYING clause
13.18.64.1 General
13.18.64.2 General format
13.18.64.3 Syntax rules
13.18.64.4 General rules
559 14 Procedure division
14.1 General
14.2 Procedure division structure
14.2.1 General formats
560 14.2.2 Syntax rules
561 14.2.3 General rules
564 14.3 Declaratives
14.4 Procedures
14.4.1 General
14.4.2 Sections
14.4.3 Paragraphs
14.5 Procedural statements and sentences
14.5.1 General
567 14.5.2 Conditional phrase
14.5.3 Scope of statements
14.5.3.1 General
14.5.3.2 Explicit scope termination
14.5.3.3 Implicit scope termination
568 14.6 Execution
14.6.1 Run unit organization
569 14.6.2 State of a function, method, object, or program
14.6.2.1 General
14.6.2.2 Active state
14.6.2.3 Initial and last-used states of data
14.6.2.3.1 General
570 14.6.2.3.2 Initial state
14.6.2.3.3 Last-used state
571 14.6.2.4 Initial state of object data
14.6.3 Explicit and implicit transfers of control
572 14.6.4 Item identification
573 14.6.5 Results of runtime element execution
14.6.6 Locale identification
574 14.6.7 Sending and receiving operands
14.6.8 Alignment and transfer of data into data items
14.6.8.1 General
14.6.8.2 Fixed-point numeric and fixed-point numeric-edited receiving data items
575 14.6.8.3 Floating-point numeric receiving data items
14.6.8.4 Floating-point numeric-edited receiving data items
14.6.8.5 Receiving data items of categories alphabetic, alphanumeric, alphanumeric- edited, national, and national edited
14.6.8.6 Receiving data items of category boolean
576 14.6.9 Operations on dynamic-capacity tables
14.6.9.1 General
14.6.9.2 Moving a table
14.6.9.3 Comparing two tables
577 14.6.9.4 Space filling a dynamic table
14.6.10 Overlapping operands
14.6.11 Normal run unit termination
578 14.6.12 Abnormal run unit termination
14.6.13 Exception condition handling
14.6.13.1 Exception conditions
14.6.13.1.1 General
580 14.6.13.1.2 Normal completion of a declarative procedure
581 14.6.13.1.3 Fatal exception conditions
582 14.6.13.1.4 Nonfatal exception conditions
14.6.13.1.5 Exception objects
583 14.6.13.1.6 Exception-names and exception conditions
590 14.6.13.2 Incompatible data
591 14.6.13.3 Runtime entity activation is not successful
14.7 Common phrases and features for statements
14.7.1 General
592 14.7.2 At end condition
14.7.3 Invalid key condition
14.7.4 ROUNDED phrase
14.7.4.1 General
14.7.4.2 General format
14.7.4.3 General rules
593 14.7.5 SIZE ERROR phrase and size error condition
595 14.7.6 CORRESPONDING phrase
596 14.7.7 Arithmetic statements
598 14.7.8 THROUGH phrase
599 14.7.9 RETRY phrase
14.7.9.1 General
14.7.9.2 General format
14.7.9.3 General rules
600 14.8 Conformance for parameters, returning items and external items
14.8.1 General
14.8.2 Parameters
14.8.2.1 General
601 14.8.2.2 Group items
14.8.2.3 Elementary items
14.8.2.3.1 General
14.8.2.3.2 Elementary items passed by reference
603 14.8.2.3.3 Elementary items passed by content or by value
604 14.8.3 Returning items
14.8.3.1 General
14.8.3.2 Group items
605 14.8.3.3 Elementary items
606 14.8.4 External items
14.8.4.1 General
14.8.4.2 Correspondence of external data items used in external files
607 14.8.4.3 Correspondence of external data item formats
14.8.4.4 Correspondence of external file control entries
608 14.9 Statements
14.9.1 ACCEPT statement
14.9.1.1 General
14.9.1.2 General formats
609 14.9.1.3 Syntax rules
14.9.1.4 General rules
615 14.9.2 ADD statement
14.9.2.1 General
14.9.2.2 General formats
616 14.9.2.3 Syntax rules
14.9.2.4 General rules
618 14.9.3 ALLOCATE statement
14.9.3.1 General
14.9.3.2 General format
14.9.3.3 Syntax rules
14.9.3.4 General rules
620 14.9.4 CALL statement
14.9.4.1 General
14.9.4.2 General formats
621 14.9.4.3 Syntax rules
623 14.9.4.4 General rules
627 14.9.5 CANCEL statement
14.9.5.1 General
14.9.5.2 General format
14.9.5.3 Syntax rules
14.9.5.4 General rules
629 14.9.6 CLOSE statement
14.9.6.1 General
14.9.6.2 General format
14.9.6.3 Syntax rules
14.9.6.4 General rules
633 14.9.7 COMMIT statement
14.9.7.1 General
14.9.7.2 General forms
14.9.7.3 Syntax rules
14.9.7.4 General rules
634 14.9.8 COMPUTE statement
14.9.8.1 General
14.9.8.2 General formats
14.9.8.3 Syntax rules
14.9.8.4 General rules
636 14.9.9 CONTINUE statement
14.9.9.1 General
14.9.9.2 General format
14.9.9.3 Syntax rules
14.9.9.4 General rules
637 14.9.10 DELETE statement
14.9.10.1 General
14.9.10.2 General formats
14.9.10.3 Syntax rules
638 14.9.10.4 General rules
642 14.9.11 DISPLAY statement
14.9.11.1 General
14.9.11.2 General formats
14.9.11.3 Syntax rules
643 14.9.11.4 General rules
646 14.9.12 DIVIDE statement
14.9.12.1 General
14.9.12.2 General formats
647 14.9.12.3 Syntax rules
648 14.9.12.4 General rules
650 14.9.13 EVALUATE statement
14.9.13.1 General
14.9.13.2 General format
651 14.9.13.3 Syntax rules
653 14.9.13.4 General rules
655 14.9.14 EXIT statement
14.9.14.1 General
14.9.14.2 General formats
656 14.9.14.3 Syntax rules
657 14.9.14.4 General rules
659 14.9.15 FREE statement
14.9.15.1 General
14.9.15.2 General format
14.9.15.3 Syntax rule
14.9.15.4 General rules
660 14.9.16 GENERATE statement
14.9.16.1 General
14.9.16.2 General format
14.9.16.3 Syntax rules
14.9.16.4 General rules
662 14.9.17 GO TO statement
14.9.17.1 General
14.9.17.2 General formats
14.9.17.3 Syntax rules
14.9.17.4 General rules
663 14.9.18 GOBACK statement
14.9.18.1 General
14.9.18.2 General format
14.9.18.3 Syntax rules
664 14.9.18.4 General rules
667 14.9.19 IF statement
14.9.19.1 General
14.9.19.2 General formats
14.9.19.3 Syntax rules
668 14.9.19.4 General rules
669 14.9.20 INITIALIZE statement
14.9.20.1 General
14.9.20.2 General format
14.9.20.3 Syntax rules
670 14.9.20.4 General rules
674 14.9.21 INITIATE statement
14.9.21.1 General
14.9.21.2 General format
14.9.21.3 Syntax rules
14.9.21.4 General rules
675 14.9.22 INSPECT statement
14.9.22.1 General
14.9.22.2 General formats
676 14.9.22.3 Syntax rules
677 14.9.22.4 General rules
683 14.9.23 INVOKE statement
14.9.23.1 General
14.9.23.2 General format
14.9.23.3 Syntax rules
685 14.9.23.4 General rules
689 14.9.24 MERGE statement
14.9.24.1 General
14.9.24.2 General format
14.9.24.3 Syntax rules
691 14.9.24.4 General rules
696 14.9.25 MOVE statement
14.9.25.1 General
14.9.25.2 General formats
14.9.25.3 Syntax rules
698 14.9.25.4 General rules
705 14.9.26 MULTIPLY statement
14.9.26.1 General
14.9.26.2 General formats
14.9.26.3 Syntax rules
706 14.9.26.4 General rules
707 14.9.27 OPEN statement
14.9.27.1 General
14.9.27.2 General format
14.9.27.3 Syntax rules
708 14.9.27.4 General rules
714 14.9.28 PERFORM statement
14.9.28.1 General
14.9.28.2 General formats
715 14.9.28.3 Syntax rules
716 14.9.28.4 General rules
723 14.9.29 RAISE statement
14.9.29.1 General
14.9.29.2 General format
14.9.29.3 Syntax rules
14.9.29.4 General rules
724 14.9.30 READ statement
14.9.30.1 General
14.9.30.2 General formats
725 14.9.30.3 Syntax rules
726 14.9.30.4 General rules
734 14.9.31 RECEIVE statement
14.9.31.1 General
14.9.31.2 General format
14.9.31.3 Syntax rules
14.9.31.4 General rules
736 14.9.32 RELEASE statement
14.9.32.1 General
14.9.32.2 General format
14.9.32.3 Syntax rules
14.9.32.4 General rules
738 14.9.33 RESUME statement
14.9.33.1 General
14.9.33.2 General format
14.9.33.3 Syntax rules
14.9.33.4 General rules
740 14.9.34 RETURN statement
14.9.34.1 General
14.9.34.2 General format
14.9.34.3 Syntax rules
14.9.34.4 General rules
742 14.9.35 REWRITE statement
14.9.35.1 General
14.9.35.2 General format
14.9.35.3 Syntax rules
743 14.9.35.4 General rules
750 14.9.36 ROLLBACK statement
14.9.36.1 General
14.9.36.2 General format
14.9.36.3 Syntax rules
14.9.36.4 General rules
752 14.9.37 SEARCH statement
14.9.37.1 General
14.9.37.2 General formats
753 14.9.37.3 Syntax rules
754 14.9.37.4 General rules
758 14.9.38 SEND statement
14.9.38.1 General
14.9.38.2 General formats
14.9.38.3 Syntax rules
759 14.9.38.4 General rules
761 14.9.39 SET statement
14.9.39.1 General
14.9.39.2 General formats
764 14.9.39.3 Syntax rules
769 14.9.39.4 General rules
777 14.9.40 SORT statement
14.9.40.1 General
14.9.40.2 General formats
778 14.9.40.3 Syntax rules
780 14.9.40.4 General rules
786 14.9.41 START statement
14.9.41.1 General
14.9.41.2 General format
14.9.41.3 Syntax rules
787 14.9.41.4 General rules
790 14.9.42 STOP statement
14.9.42.1 General
14.9.42.2 General format
14.9.42.3 Syntax rules
14.9.42.4 General rules
791 14.9.43 STRING statement
14.9.43.1 General
14.9.43.2 General format
14.9.43.3 Syntax rules
792 14.9.43.4 General rules
794 14.9.44 SUBTRACT statement
14.9.44.1 General
14.9.44.2 General formats
795 14.9.44.3 Syntax rules
14.9.44.4 General rules
797 14.9.45 SUPPRESS statement
14.9.45.1 General
14.9.45.2 General format
14.9.45.3 Syntax rule
14.9.45.4 General rules
798 14.9.46 TERMINATE statement
14.9.46.1 General
14.9.46.2 General format
14.9.46.3 Syntax rules
14.9.46.4 General rules
800 14.9.47 UNLOCK statement
14.9.47.1 General
14.9.47.2 General format
14.9.47.3 Syntax rules
14.9.47.4 General rules
801 14.9.48 UNSTRING statement
14.9.48.1 General
14.9.48.2 General format
14.9.48.3 Syntax rules
802 14.9.48.4 General rules
806 14.9.49 USE statement
14.9.49.1 General
14.9.49.2 General formats
807 14.9.49.3 Syntax rules
808 14.9.49.4 General rules
812 14.9.50 VALIDATE statement
14.9.50.1 General
14.9.50.2 General format
14.9.50.3 Syntax rules
14.9.50.4 General rules
817 14.9.51 WRITE statement
14.9.51.1 General
14.9.51.2 General formats
818 14.9.51.3 Syntax rules
819 14.9.51.4 General rules
828 15 Intrinsic functions
15.1 General
15.2 Types of functions
15.3 Arguments
831 15.3.1 Format arguments to international date and time functions
15.3.1.1 General
15.3.1.2 Calendar date formats
15.3.1.3 Permissible values for data associated with calendar date formats
15.3.1.4 Ordinal date formats
832 15.3.1.5 Permissible values for data associated with ordinal date formats
15.3.1.6 Week date formats
15.3.1.7 Permissible values for data associated with week date formats
15.3.2 Time formats
833 15.3.3 Common time formats
15.3.3.1 Common time formats with integer seconds representation
15.3.3.2 Common time formats with fractional seconds representation
834 15.3.3.3 Permissible values for data associated with common time formats
15.3.3.4 Local time formats
15.3.3.5 UTC time formats
15.3.3.6 Offset time formats
15.3.3.6.1 Offset subformats
835 15.3.3.6.2 Permissible values for data associated with offset time formats
15.3.3.7 Combined date and time formats
836 15.4 Returned values
15.4.1 Numeric and integer functions
837 15.5 Date and time conversion functions
15.5.1 General
15.5.2 Integer date form
838 15.5.3 Standard date form
15.5.4 Julian date form
15.5.5 Standard numeric time form
15.6 Summary of functions
848 15.7 ABS function
849 15.8 ACOS function
850 15.9 ANNUITY function
851 15.10 ASIN function
852 15.11 ATAN function
853 15.12 BASECONVERT function
15.12.2 General format
854 15.13 BOOLEAN-OF-INTEGER function
855 15.14 BYTE-LENGTH function
857 15.15 CHAR function
858 15.16 CHAR-NATIONAL function
859 15.17 COMBINED-DATETIME function
860 15.18 CONCAT function
861 15.19 CONVERT function
865 15.20 COS function
866 15.21 CURRENT-DATE function
868 15.22 DATE-OF-INTEGER function
869 15.23 DATE-TO-YYYYMMDD function
871 15.24 DAY-OF-INTEGER function
872 15.25 DAY-TO-YYYYDDD function
874 15.26 DISPLAY-OF function
875 15.27 E function
876 15.28 EXCEPTION-FILE function
878 15.29 EXCEPTION-FILE-N function
880 15.30 EXCEPTION-LOCATION function
882 15.31 EXCEPTION-LOCATION-N function
884 15.32 EXCEPTION-STATEMENT function
885 15.33 EXCEPTION-STATUS function
886 15.34 EXP function
887 15.35 EXP10 function
888 15.36 FACTORIAL function
889 15.37 FIND-STRING function
890 15.38 FORMATTED-CURRENT-DATE function
891 15.39 FORMATTED-DATE function
892 15.40 FORMATTED-DATETIME function
894 15.41 FORMATTED-TIME function
896 15.42 FRACTION-PART function
897 15.43 HIGHEST-ALGEBRAIC function
899 15.44 INTEGER function
900 15.45 INTEGER-OF-BOOLEAN function
901 15.46 INTEGER-OF-DATE function
902 15.47 INTEGER-OF-DAY function
903 15.48 INTEGER-OF-FORMATTED-DATE function
904 15.49 INTEGER-PART function
905 15.50 LENGTH function
907 15.51 LOCALE-COMPARE function
908 15.52 LOCALE-DATE function
909 15.53 LOCALE-TIME function
910 15.54 LOCALE-TIME-FROM-SECONDS function
911 15.55 LOG function
912 15.56 LOG10 function
913 15.57 LOWER-CASE function
914 15.58 LOWEST-ALGEBRAIC function
916 15.59 MAX function
917 15.60 MEAN function
918 15.61 MEDIAN function
919 15.62 MIDRANGE function
920 15.63 MIN function
921 15.64 MOD function
922 15.65 MODULE-NAME function
924 15.66 NATIONAL-OF function
925 15.67 NUMVAL function
927 15.68 NUMVAL-C function
930 15.69 NUMVAL-F function
932 15.70 ORD function
933 15.71 ORD-MAX function
934 15.72 ORD-MIN function
935 15.73 PI function
936 15.74 PRESENT-VALUE function
937 15.75 RANDOM function
15.75.2 General format
938 15.76 RANGE function
939 15.77 REM function
940 15.78 REVERSE function
941 15.79 SECONDS-FROM-FORMATTED-TIME function
942 15.80 SECONDS-PAST-MIDNIGHT function
943 15.81 SIGN function
944 15.82 SIN function
945 15.83 SMALLEST-ALGEBRAIC function
947 15.84 SQRT function
948 15.85 STANDARD-COMPARE function
950 15.86 STANDARD-DEVIATION function
951 15.87 SUBSTITUTE function
953 15.88 SUM function
954 15.89 TAN function
955 15.90 TEST-DATE-YYYYMMDD function
956 15.91 TEST-DAY-YYYYDDD function
957 15.92 TEST-FORMATTED-DATETIME function
958 15.93 TEST-NUMVAL function
960 15.94 TEST-NUMVAL-C function
962 15.95 TEST-NUMVAL-F function
964 15.96 TRIM function
966 15.97 UPPER-CASE function
968 15.98 VARIANCE function
969 15.99 WHEN-COMPILED function
971 15.100 YEAR-TO-YYYY function
973 16 Standard classes
16.1 General
16.2 BASE class
16.2.1 New method
974 16.2.2 FactoryObject method
975 Annex A
Language element lists
A.1 Implementor-defined language element list
995 A.2 Undefined language element list
1001 A.3 Processor-dependent language element list
1006 A.4 Optional language element list
A.4.1 General
A.4.2 ACCEPT and DISPLAY screen handling
1007 A.4.3 Commit and Rollback
1008 A.4.4 Dynamic capacity tables
A.4.5 DYNAMIC LENGTH elementary items
A.4.6 Extended letters
A.4.7 File sharing and record locking
1009 A.4.8 FORMAT and SELECT WHEN file handling
A.4.9 Locale support and related functions
A.4.10 Object orientation
A.4.11 Report Writer
1011 A.4.12 RESUME statement
A.4.13 REWRITE FILE and WRITE FILE
A.4.14 VALIDATE
1012 Annex B
Characters permitted in user-defined words
B.1 General
B.2 Notation
B.3 Repertoire of characters permitted in user-defined words
1030 Annex C
Mapping of uppercase letters to lowercase letters in the COBOL character repertoire
C.1 Notations
C.2 General case mappings
1037 Annex D
Concepts
D.1 General
D.2 Files
D.2.1 General
D.2.2 File organization
D.2.2.1 Sequential organization
1038 D.2.2.2 Relative organization
1039 D.2.2.3 Indexed organization
D.2.2.4 Logical records
D.2.2.5 General
D.2.2.5.1 Fixed-length records
D.2.2.5.2 Variable-length records
1040 D.2.2.5.3 Implementor-defined record types
D.2.3 File processing
D.2.3.1 General
D.2.3.2 Record operations
D.2.3.2.1 General
D.2.3.2.2 Sequential access mode
1041 D.2.3.2.3 Random access mode
D.2.3.2.4 Dynamic access mode
D.2.3.2.5 Open mode
1042 D.2.3.2.6 Current volume pointer
D.2.3.2.7 File position indicator
D.2.3.2.8 Linage concepts
D.2.3.3 File operations
D.2.3.3.1 General
D.2.3.3.2 Sorting
1043 D.2.3.3.3 Merging
D.2.3.4 Exception handling
D.2.3.4.1 General
D.2.3.4.2 I-O status
D.2.3.4.3 Exception checking PERFORM statements
1044 D.2.3.4.4 Exception declaratives
D.2.3.4.5 Exception functions
D.2.3.4.6 Optional phrases
D.2.4 File sharing and record locking
D.2.4.1 General
1045 D.2.4.2 File sharing
1046 D.2.4.3 Record locking
D.2.4.3.1 Automatic locking
1047 D.2.4.3.2 Manual locking
1050 D.2.4.4 Retry
D.2.5 Commit and rollback
1059 D.3 Tables and dynamic-length elementary items
D.3.1 General
1060 D.3.2 Table definition
1061 D.3.3 Values of tables
D.3.4 References to table items
1062 D.3.5 Subscripting
D.3.5.1 General
D.3.5.2 Subscripting using index-names
1063 D.3.5.3 Subscripting example
1065 D.3.5.4 SEARCH example
1066 D.3.6 Sorting tables
D.3.6.1 EXAMPLE 1
D.3.6.2 EXAMPLE 2
1067 D.3.6.3 EXAMPLE 3
D.3.6.4 EXAMPLE 4
1068 D.3.7 Dynamic-capacity tables
1069 D.3.8 Dynamic-length elementary items
1070 D.4 Shared memory area
D.5 Sharing of storage among data items
1073 D.6 Compilation group and run unit organization and communication
D.6.1 Compilation group and run unit organization
D.6.1.1 Source level organization
1077 D.6.1.2 Runtime level organization
D.6.1.3 EXAMPLE
1078 D.6.2 Recursive and initial programs
1079 D.6.3 Accessing data and files
D.6.3.1 General
D.6.3.2 Names
1080 D.6.3.3 Items overview
D.6.3.4 Item types
D.6.3.4.1 Working-storage records
D.6.3.4.2 File connectors
D.6.3.4.3 Record areas for files
D.6.3.4.4 Screen records
D.6.3.4.5 Other items
1081 D.6.3.5 Item attributes
D.6.3.5.1 General
D.6.3.5.2 Working-storage records
D.6.3.5.3 File connectors
D.6.3.5.4 Other items
D.6.3.6 Name resolution
1082 D.6.4 Program attributes
D.6.4.1 General
D.6.4.2 Common programs
D.6.4.3 Initial programs
1083 D.6.4.4 Recursive programs
D.6.5 Inter-program communication
D.6.5.1 General
D.6.5.2 Transfer of control
D.6.5.3 Transfer of control to a program
1084 D.6.5.3.1 Names of programs
D.6.5.3.2 Scope of the CALL statement
D.6.5.3.3 Scope of names of programs
1085 D.6.5.4 Transfer of control to a function
D.6.5.4.1 General
D.6.5.4.2 Names of functions
D.6.5.4.3 Scope of a function-identifier
1086 D.6.5.5 Transfer of control to a method
D.6.5.6 Passing arguments
D.6.5.6.1 General
D.6.5.6.2 Identifying arguments
1087 D.6.5.6.3 Argument passing mechanisms
1088 D.6.5.6.4 Passing addresses
D.6.5.6.5 Returning items
D.6.5.6.6 Prototypes
1089 D.6.5.6.7 Defaults when no prototype is used
D.6.5.6.8 Defaults when a prototype is used
D.6.5.7 Sharing data
1090 D.6.5.8 Sharing files
D.6.6 Run unit communication with other run units
1091 D.7 Intrinsic function facility
1093 D.8 Types
D.8.1 General
1094 D.8.2 Weakly-typed items
D.8.3 Strongly-typed group items
1097 D.9 Addresses and pointers
D.9.1 General
D.9.2 Data-addresses and data-pointers
D.9.2.1 General
D.9.2.2 Restricted data-pointers
1098 D.9.2.3 Examples
1099 D.9.3 Program-addresses, function-addresses, program-pointers and function-pointers
D.9.3.1 General
D.9.3.2 Restricted program-pointers and function-pointers
D.10 Boolean support and bit manipulation
1104 D.11 Character sets
D.11.1 General
1105 D.11.2 Character set representations
D.11.3 Programming to use alphanumeric and national character data
1107 D.11.4 Source code portability
D.12 COBOL-WORDS directive
D.12.1 General
D.12.2 EQUATE
1108 D.12.3 UNDEFINE
D.12.4 SUBSTITUTE
1109 D.12.5 RESERVE
D.13 Collating sequences
D.13.1 General
1110 D.13.2 Methods of defining collating sequences
D.13.3 Methods of selecting a collating sequence
D.13.3.1 Using the defaults
1111 D.13.3.2 Using a specific collating sequence
D.13.3.3 Using a locale
D.13.3.4 Selecting a collating sequence for indexed files
1112 D.13.4 Compile-time collating sequences
1113 D.13.5 Intrinsic functions for comparisons
1114 D.14 Culturally-specific, culturally-adaptable, and multilingual applications
D.14.1 General
D.14.2 Culturally-specific applications
D.14.2.1 General
D.14.2.2 Currency string and currency symbol
1115 D.14.2.3 Class test for characters in a particular alphabet.
D.14.3 Culturally-adaptable applications
D.14.3.1 General
1116 D.14.3.2 Locale selection
D.14.3.2.1 General
D.14.3.2.2 Switching locales in a COBOL runtime module
1118 D.14.3.2.3 Switching locales outside of COBOL
D.14.3.3 Locale-based monetary and numeric formatting
1119 D.14.3.4 Locale-based collating sequences
1120 D.14.3.5 Locale-based case classification of letters
D.14.3.6 Date and time formatting
1121 D.14.4 Multilingual applications
1122 D.15 External switches
1123 D.16 Common exception processing
D.16.1 General
D.16.2 Exception processing methods
D.16.3 Predefined, user-defined, or implementor-defined exception processing
D.16.4 Raising and checking for exceptions
1126 D.16.5 Inline exception processing
1127 D.17 Rounding
D.17.1 General
1128 D.17.2 Intermediate rounding
1129 D.17.3 Final rounding (the ROUNDED clause)
1131 D.18 Forms of arithmetic
D.18.1 General
1132 D.18.2 Standard-decimal arithmetic
D.18.2.1 General
1133 D.18.2.2 Specification
D.18.2.3 Examples
1134 D.18.3 Standard-binary arithmetic
D.18.3.1 General
1135 D.18.3.2 Specification
D.18.3.3 Examples
1136 D.19 Object oriented concepts
D.19.1 General
D.19.2 Classes
1137 D.19.3 Objects
D.19.3.1 General
D.19.3.2 Object instantiations
1138 D.19.3.3 Object data definitions
1139 D.19.3.4 Object references
D.19.3.5 Factory objects
1140 D.19.4 Methods
D.19.4.1 General
1141 D.19.4.2 Method invocation
1142 D.19.4.3 Method prototypes
1144 D.19.5 Other object oriented programming features
D.19.5.1 Inheritance
1147 D.19.5.2 Restricting inheritance and modification with the FINAL clause
1148 D.19.5.3 Conformance
1151 D.19.5.4 Polymorphism
D.19.5.4.1 General
1152 D.19.5.4.2 Class polymorphism
D.19.5.4.3 Parametric polymorphism
1154 D.19.6 Object management
D.19.6.1 Objects
D.19.7 Class library
D.19.8 Parameterized classes
1155 D.19.9 Files in object orientation
D.19.9.1 General
D.19.9.2 Files in instance objects
1156 D.19.9.3 Files in factory objects
1157 D.19.10 Exception objects
D.19.11 Sample application
1158 D.19.11.1 General
D.19.11.2 Main program
D.19.11.3 Account class
1162 D.20 Report writer
D.20.1 General
D.20.2 Reports and report files
D.20.3 RD entry
D.20.3.1 General
D.20.3.2 PAGE
1164 D.20.3.3 CONTROL
D.20.3.4 CODE
1165 D.20.3.5 EXAMPLE
D.20.4 Basic report group description
D.20.4.1 TYPE
D.20.4.2 LINE and NEXT GROUP
D.20.4.3 COLUMN
1166 D.20.4.4 SOURCE, VALUE, and PICTURE
D.20.4.5 EXAMPLE
D.20.5 Modifying the report group layout
D.20.5.1 PRESENT WHEN
1167 D.20.5.2 GROUP INDICATE
1168 D.20.6 Repetition
D.20.6.1 OCCURS
D.20.6.2 Multiple form of LINE, COLUMN, SOURCE, VALUE
D.20.6.3 VARYING
D.20.7 Totaling
1170 D.20.8 Procedure division statements
1171 D.20.9 Report counters
1172 D.21 Structured constant
1173 D.22 Validate facility
D.22.1 General
D.22.2 Format validation
D.22.3 Input distribution
1174 D.22.4 Content validation
D.22.5 Relation validation
D.22.6 Error indication
D.22.7 Validation of more complex formats
D.22.8 Examples of validation
D.22.8.1 General
1175 D.22.8.2 Example of validation of USAGE DISPLAY items
1177 D.22.8.3 Example of validation of non-display items
1178 D.23 Conditional expressions
1182 D.24 Examples of the use of the EDITING phrase
1183 D.25 Examples of the execution of the INSPECT statement
1187 D.26 Examples of the execution of the PERFORM statement with the VARYING phrase specified
1191 D.27 Example of free-form reference format
1192 D.28 Conditional compilation
1194 D.29 CALL-CONVENTION directive
D.30 ENTRY-CONVENTION clause
D.31 Date and time handling
D.31.1 General
1195 D.31.2 Temporal format ACCEPT statement
D.31.2.1 General
D.31.2.2 ACCEPT FROM DATE
D.31.2.3 ACCEPT FROM DATE YYYYMMDD
D.31.2.4 ACCEPT FROM DAY
D.31.2.5 ACCEPT FROM DAY YYYYDDD
1196 D.31.2.6 ACCEPT FROM DAY-OF-WEEK
D.31.2.7 ACCEPT FROM TIME
D.31.3 Basic date and time intrinsic functions
D.31.3.1 General
D.31.3.2 CURRENT-DATE function
1197 D.31.3.3 WHEN-COMPILED function
D.31.3.4 INTEGER-OF-DATE function
D.31.3.5 INTEGER-OF-DAY function
D.31.3.6 DATE-OF-INTEGER function
D.31.3.7 DAY-OF-INTEGER function
D.31.3.8 TEST-DATE-YYYYMMDD function
D.31.3.9 TEST-DAY-YYYYDDD function
1198 D.31.4 Locale date and time intrinsic functions
D.31.4.1 General
D.31.4.2 LOCALE-DATE function
D.31.4.3 LOCALE-DAY function
D.31.4.4 LOCALE-TIME function
D.31.4.5 LOCALE-TIME-FROM-SECONDS function
D.31.5 International date and time format handling
D.31.5.1 General
1199 D.31.5.2 Examples of time and date formats
1200 D.31.5.3 FORMATTED-CURRENT-DATE function
D.31.5.4 SECONDS-PAST-MIDNIGHT function
D.31.5.5 FORMATTED-DATE function
D.31.5.6 FORMATTED-TIME function
D.31.5.7 FORMATTED-DATETIME function
1201 D.31.5.8 INTEGER-OF-FORMATTED-DATE function
D.31.5.9 SECONDS-FROM-FORMATTED-TIME function
D.31.5.10 TEST-FORMATTED-DATETIME function
D.31.5.11 COMBINED-DATETIME function
D.32 Alternatives to HIGHEST-ALGEBRAIC, LOWEST-ALGEBRAIC and SMALLEST-ALGEBRAIC FUNCTIONS
1204 Annex E
Substantive changes list
E.1 General
E.2 Substantive changes potentially affecting existing programs
1213 E.3 Substantive changes probably not affecting existing programs
E.3.1 General
E.3.2 Possibly affecting because of the addition of new words or names
1214 E.3.3 Not affecting
1231 Annex F
Archaic and obsolete language element lists
F.1 Archaic language elements
F.2 Obsolete language elements
1233 Annex G
Known errors
G.1 Rationale
G.2 List of errors
1235 BIBLIOGRAPHY
1236 Index
1262 Blank Page
BS ISO/IEC 1989:2023
$215.11