This is gnucobpg.info, produced by makeinfo version 6.1 from
gnucobpg.texi.

This manual documents GnuCOBOL 3.1 RC-1, July2020 build.


   Document Copyright 2009-2014 Gary L. Cutler, FSF (Free Software
Foundation).
Updates: Copyright 2014-2020 Vincent B. Coen, Gary L. Cutler & FSF.

     The authors and copyright holders of the COBOL programming language
     itself used herein:

     FLOW-MATIC (trademark for Sperry Rand Corporation) Programming for
     the Univac(R) I & II. Data Automation Systems copyrighted 1958,
     1959, by Sperry Rand Corporation; IBM commercial translator form
     F28-8013, copyrighted 1959 by IBM; FACT DSI27A5260-2760,
     copyrighted 1960 by Minneapolis-Honeywell, have specifically
     authorised the use of this material in whole or in part of the
     COBOL specifications.  Such authorisation extends to the
     reproduction & use of COBOL specifications in programming manuals
     or similar publications.

     Permission is granted to copy, distribute and/or modify this
     document under the terms of the GNU Free Documentation License
     [FDL], Version 1.3 or any later version published by the Free
     Software Foundation; with Invariant Section "Introduction", no
     Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
     is included in the section entitled "GNU Free Documentation
     License".
INFO-DIR-SECTION GNU-COBOL
START-INFO-DIR-ENTRY
* GNU-COBOL: (gnucobpg)        GnuCOBOL Programmer's Guide
END-INFO-DIR-ENTRY


Indirect:
gnucobpg.info-1: 1503
gnucobpg.info-2: 304260
gnucobpg.info-3: 603651
gnucobpg.info-4: 902574
gnucobpg.info-5: 1206152

Tag Table:
(Indirect)
Node: Top1503
Node: Introduction11129
Node: Additional Reference Sources12970
Node: Introducing COBOL14185
Node: Why YOU Should Learn COBOL15534
Node: Programmer Productivity22430
Node: So What is GnuCOBOL?27469
Node: COBOL Fundamentals30060
Node: The COBOL Language - The Basics31549
Node: Language Reserved Words32272
Node: User-Defined Words34823
Node: Case Insensitivity35995
Node: Readability of Programs36994
Node: Divisions Organize Programs44203
Node: Copybooks45014
Node: Structured Data45942
Node: Files47000
Ref: LINE ADVANCING49359
Node: Table Handling59865
Node: Sorting and Merging Data61355
Node: String Manipulation62615
Ref: String Manipulation-Footnote-167956
Node: Screen Formatting Features68080
Node: A Sample Screen69730
Node: Color Palette and Video Attributes72402
Node: Report Writer Features76040
Node: Data Initialization79564
Node: Syntax Diagram Conventions81509
Node: Format of Program Source Lines85484
Node: Program Structure91548
Node: Comments97531
Node: Literals100538
Node: Numeric Literals100930
Node: Alphanumeric Literals102305
Node: Figurative Constants105679
Node: Punctuation108340
Node: Interfacing to Other Environments109332
Node: The COBOL Language - Advanced Techniques110423
Node: Table References111079
Node: Qualification of Data Names112937
Node: Reference Modifiers115117
Node: Arithmetic Expressions117648
Node: Conditional Expressions124345
Node: Condition Names124873
Node: Class Conditions126233
Node: Sign Conditions129596
Node: Switch-Status Conditions130728
Node: Relation Conditions132033
Node: Combined Conditions134814
Node: Negated Conditions136835
Node: Use of Periods138069
Node: Use of VERB/END-VERB Constructs140928
Node: Concurrent Access to Files144189
Node: File Sharing145005
Node: Record Locking148187
Node: CDF - Compiler Directing Facility153229
Node: >>CALL-CONVENTION155077
Node: COPY156314
Node: REPLACE160965
Node: >>DEFINE167066
Node: >>IF169761
Node: >>SET174757
Node: >>SOURCE177336
Node: >>TURN178412
Node: >>D179003
Node: >>DISPLAY179467
Node: >>PAGE179967
Node: >>LISTING180427
Node: >>LEAP-SECONDS180879
Node: $ Directives181427
Node: Predefined compilation variables182885
Node: IDENTIFICATION DIVISION185258
Node: ENVIRONMENT DIVISION190015
Node: CONFIGURATION SECTION192078
Node: SOURCE-COMPUTER193535
Node: OBJECT-COMPUTER195255
Node: SPECIAL-NAMES199291
Ref: LOCALE Names204278
Node: Alphabet-Name-Clause209303
Node: Class-Definition-Clause212406
Node: Switch-Definition-Clause214006
Node: Symbolic-Characters-Clause216347
Node: REPOSITORY218468
Node: INPUT-OUTPUT SECTION221169
Node: SELECT222851
Ref: File Status Codes234539
Node: ORGANIZATION SEQUENTIAL236989
Node: ORGANIZATION LINE SEQUENTIAL239925
Node: ORGANIZATION RELATIVE243441
Node: ORGANIZATION INDEXED247266
Node: SAME RECORD AREA252165
Node: MULTIPLE FILE253828
Node: DATA DIVISION254383
Node: Data Definition Principles257210
Node: FILE SECTION262925
Node: File/Sort-Description264137
Node: FILE-SECTION-Data-Item271574
Node: WORKING-STORAGE SECTION276579
Node: LOCAL-STORAGE SECTION281229
Node: LINKAGE SECTION285348
Node: REPORT SECTION290482
Node: Report Group Definitions299396
Node: REPORT SECTION Data Items304260
Node: SCREEN SECTION307379
Node: Special Data Items312449
Node: 01-Level Constants312783
Node: 66-Level Data Items318681
Node: 77-Level Data Items319870
Node: 78-Level Data Items321722
Node: 88-Level Data Items323442
Node: Data Description Clauses325878
Node: ANY LENGTH327059
Node: AUTO327914
Node: AUTO-SKIP328702
Node: AUTOTERMINATE329510
Node: BACKGROUND-COLOR330344
Node: BASED331934
Node: BEEP332836
Node: BELL333461
Node: BLANK334085
Node: BLANK WHEN ZERO334925
Node: BLINK335818
Node: COLUMN336444
Node: CONSTANT340287
Node: EMPTY-CHECK341291
Node: ERASE342788
Node: EXTERNAL343773
Node: FALSE345602
Node: FOREGROUND-COLOR346624
Node: FROM347924
Node: FULL348719
Node: GLOBAL350284
Node: GROUP INDICATE352411
Node: HIGHLIGHT353547
Node: JUSTIFIED354424
Node: LEFTLINE357163
Node: LENGTH-CHECK358400
Node: LINE360019
Node: LOWLIGHT364371
Node: NEXT GROUP365383
Node: NO-ECHO366967
Node: OCCURS367906
Node: OVERLINE373718
Node: PICTURE374948
Node: PRESENT WHEN395635
Node: PROMPT396595
Node: PROTECTED397671
Ref: PROTECTED-Footnote-1400356
Node: REDEFINES400393
Node: RENAMES402486
Node: REQUIRED403636
Node: REVERSE-VIDEO405121
Node: SECURE405948
Node: SIGN IS406877
Node: SOURCE409299
Node: SUM OF411328
Node: SYNCRONIZED414872
Node: TO416548
Node: TYPE417405
Node: UNDERLINE419357
Node: USAGE420591
Node: USING439106
Node: VALUE440213
Node: PROCEDURE DIVISION447004
Node: PROCEDURE DIVISION USING448505
Node: PROCEDURE DIVISION CHAINING453071
Node: PROCEDURE DIVISION RETURNING457612
Node: PROCEDURE DIVISION Sections and Paragraphs459970
Node: DECLARATIVES461626
Node: Common Clauses on Executable Statements468609
Node: AT END + NOT AT END469091
Node: CORRESPONDING471037
Node: INVALID KEY + NOT INVALID KEY475577
Node: ON EXCEPTION + NOT ON EXCEPTION476779
Node: ON OVERFLOW + NOT ON OVERFLOW478111
Node: ON SIZE ERROR + NOT ON SIZE ERROR479425
Node: ROUNDED481036
Node: Special Registers486672
Node: GnuCOBOL Statements492423
Node: ACCEPT494802
Node: ACCEPT FROM CONSOLE495224
Node: ACCEPT FROM COMMAND-LINE496697
Node: ACCEPT FROM ENVIRONMENT500450
Node: ACCEPT screen-data-item502447
Ref: CRT STATUS Codes512573
Node: ACCEPT FROM DATE/TIME518369
Node: ACCEPT FROM Screen-Info519940
Node: ACCEPT FROM Runtime-Info522097
Node: ACCEPT OMITTED524035
Node: ACCEPT FROM EXCEPTION-STATUS525243
Node: ADD526222
Node: ADD TO526417
Node: ADD GIVING529249
Node: ADD CORRESPONDING532348
Node: ALLOCATE534864
Node: ALTER538572
Node: CALL540362
Node: CANCEL552728
Node: CLOSE553722
Node: COMMIT555761
Node: COMPUTE556279
Node: CONTINUE559101
Node: DELETE560333
Node: DISPLAY562654
Node: DISPLAY UPON device562941
Node: DISPLAY UPON COMMAND-LINE565804
Node: DISPLAY UPON ENVIRONMENT-NAME567765
Node: DISPLAY screen-data-item569859
Node: DIVIDE574448
Node: DIVIDE INTO574667
Node: DIVIDE INTO GIVING577660
Node: DIVIDE BY GIVING581345
Node: ENTRY585001
Node: EVALUATE587316
Node: EXIT595460
Node: FREE603651
Node: GENERATE605132
Node: GOBACK608474
Node: GO TO609708
Node: Simple GO TO609892
Node: GO TO DEPENDING ON611670
Node: IF615320
Node: INITIALIZE618166
Node: INITIATE627911
Node: INSPECT629315
Node: MERGE645175
Node: MOVE652617
Node: Simple MOVE652802
Node: MOVE CORRESPONDING653977
Node: MULTIPLY654938
Node: MULTIPLY BY655127
Node: MULTIPLY GIVING657830
Node: OPEN660616
Ref: File OPEN Modes662931
Node: PERFORM664770
Node: Procedural PERFORM664982
Node: Inline PERFORM669909
Node: VARYING671243
Node: READ677071
Node: Sequential READ677258
Node: Random READ681665
Node: READY TRACE686553
Node: RELEASE687717
Node: RESET TRACE688884
Node: RETURN690207
Node: REWRITE692025
Node: ROLLBACK695644
Node: SEARCH696293
Node: SEARCH ALL699313
Node: SET705923
Node: SET ENVIRONMENT706292
Node: SET Program-Pointer707731
Node: SET ADDRESS709203
Node: SET Index710480
Node: SET UP/DOWN711097
Node: SET Condition Name712039
Node: SET Switch713353
Node: SET ATTRIBUTE714156
Node: SET LAST EXCEPTION715897
Node: SORT716799
Node: File-Based SORT716975
Ref: File-Based SORT-Footnote-1726774
Ref: File-Based SORT-Footnote-2726948
Node: Table SORT727096
Node: START729964
Node: STOP734709
Node: STRING738057
Node: SUBTRACT742293
Node: SUBTRACT FROM742525
Node: SUBTRACT GIVING745078
Node: SUBTRACT CORRESPONDING747885
Node: SUPPRESS750461
Node: TERMINATE752018
Node: TRANSFORM753661
Node: UNLOCK755245
Node: UNSTRING756505
Node: WRITE764854
Node: Functions771968
Node: Intrinsic Functions772177
Node: ABS776273
Node: ACOS776772
Node: ANNUITY777448
Node: ASIN778595
Node: ATAN779264
Node: BYTE-LENGTH779948
Node: CHAR781133
Node: COMBINED-DATETIME782562
Node: CONCATENATE783404
Node: COS784334
Node: CURRENCY-SYMBOL785054
Node: CURRENT-DATE785995
Node: DATE-OF-INTEGER787110
Node: DATE-TO-YYYYMMDD787943
Node: DAY-OF-INTEGER789186
Node: DAY-TO-YYYYDDD789991
Node: E791208
Node: EXCEPTION-FILE791800
Node: EXCEPTION-LOCATION792912
Node: EXCEPTION-STATEMENT794175
Node: EXCEPTION-STATUS795085
Ref: Error Exception Codes796016
Ref: Error Type Strings796016
Node: EXP799037
Node: EXP10799513
Node: FACTORIAL799966
Node: FORMATTED-CURRENT-DATE800444
Node: FORMATTED-DATE801255
Node: FORMATTED-DATETIME801956
Node: FORMATTED-TIME803776
Node: FRACTION-PART805423
Node: HIGHEST-ALGEBRAIC806122
Node: INTEGER806739
Node: INTEGER-OF-DATE807241
Node: INTEGER-OF-DAY808109
Node: INTEGER-OF-FORMATTED-DATE808986
Node: INTEGER-PART810006
Node: LENGTH810477
Node: LENGTH-AN811641
Node: LOCALE-COMPARE812833
Node: LOCALE-DATE814376
Node: LOCALE-TIME815269
Node: LOCALE-TIME-FROM-SECONDS816128
Node: LOG817107
Node: LOG10817551
Node: LOWER-CASE817981
Node: LOWEST-ALGEBRAIC818676
Node: MAX819280
Node: MEAN819778
Node: MEDIAN820277
Node: MIDRANGE820792
Node: MIN821405
Node: MOD821894
Node: MODULE-CALLER-ID822474
Node: MODULE-DATE823258
Node: MODULE-FORMATTED-DATE823969
Node: MODULE-ID824825
Node: MODULE-PATH825577
Node: MODULE-SOURCE826419
Node: MODULE-TIME827151
Node: MONETARY-DECIMAL-POINT828762
Node: MONETARY-THOUSANDS-SEPARATOR829954
Node: NUMERIC-DECIMAL-POINT831156
Node: NUMERIC-THOUSANDS-SEPARATOR832349
Node: NUMVAL833520
Node: NUMVAL-C835270
Node: NUMVAL-C-2838307
Node: NUMVAL-F841364
Node: ORD842328
Node: ORD-MAX843459
Node: ORD-MIN844370
Node: PI845280
Node: PRESENT-VALUE845836
Node: RANDOM846520
Node: RANGE849701
Node: REM850293
Node: REVERSE850786
Node: SECONDS-FROM-FORMATTED-TIME851294
Node: SECONDS-PAST-MIDNIGHT852762
Node: SIGN853392
Node: SIN853946
Node: SQRT854627
Node: STANDARD-DEVIATION855317
Node: STORED-CHAR-LENGTH855892
Node: SUBSTITUTE856505
Node: SUBSTITUTE-CASE857375
Node: SUM858074
Node: TAN858558
Node: TEST-DATE-YYYYMMDD859258
Node: TEST-DAY-YYYYDDD860134
Node: TEST-FORMATTED-DATETIME860986
Node: TEST-NUMVAL862097
Node: TEST-NUMVAL-C863117
Node: TEST-NUMVAL-F864303
Node: TRIM865306
Node: UPPER-CASE866079
Node: VARIANCE866765
Node: WHEN-COMPILED867299
Node: YEAR-TO-YYYY868855
Node: BOOLEAN-OF-INTEGER869946
Node: CHAR-NATIONAL871142
Node: DISPLAY-OF871962
Node: EXCEPTION-FILE-N873737
Node: EXCEPTION-LOCATION-N875456
Node: INTEGER-OF-BOOLEAN876874
Node: NATIONAL-OF877946
Node: STANDARD-COMPARE879436
Node: Built-In System Subroutines882389
Node: C$CALLEDBY886668
Node: C$CHDIR887953
Node: C$COPY889020
Node: C$DELETE889928
Node: C$FILEINFO890779
Node: C$GETPID892293
Node: C$JUSTIFY892891
Node: C$MAKEDIR893857
Node: C$NARG894772
Node: C$PARAMSIZE895530
Node: C$PRINTABLE896315
Node: C$SLEEP897264
Node: C$TOLOWER897952
Node: C$TOUPPER898797
Node: CBL_AND899642
Node: CBL_CHANGE_DIR902574
Node: CBL_CHECK_FILE_EXIST903576
Node: CBL_CLOSE_FILE905351
Node: CBL_COPY_FILE906508
Node: CBL_CREATE_DIR907405
Node: CBL_CREATE_FILE908363
Node: CBL_DELETE_DIR909792
Node: CBL_DELETE_FILE910704
Node: CBL_EQ911544
Node: CBL_ERROR_PROC912958
Node: CBL_EXIT_PROC917227
Node: CBL_FLUSH_FILE920334
Node: CBL_GC_FORK921099
Node: CBL_GC_GETOPT924581
Ref: CBL_GC_GETOPT-Footnote-1928934
Node: CBL_GC_HOSTED929000
Node: CBL_GC_NANOSLEEP933892
Node: CBL_GC_PRINTABLE935382
Node: CBL_GC_WAITPID936336
Node: CBL_GET_CSR_POS937344
Node: CBL_GET_CURRENT_DIR938622
Node: CBL_GET_SCR_SIZE940409
Node: CBL_IMP942323
Node: CBL_NIMP943753
Node: CBL_NOR945196
Node: CBL_NOT946629
Node: CBL_OPEN_FILE947616
Node: CBL_OR949100
Node: CBL_READ_FILE950521
Node: CBL_READ_KBD_CHAR952218
Node: CBL_RENAME_FILE953097
Node: CBL_SET_CSR_POS954365
Node: CBL_TOLOWER954862
Node: CBL_TOUPPER955770
Node: CBL_WRITE_FILE956677
Node: CBL_XOR958079
Node: SYSTEM959510
Node: X"91"960975
Node: X"E4"963293
Node: X"E5"963722
Node: X"F4"964164
Node: X"F5"965093
Node: Report Writer Usage966096
Node: RWCS Lexicon966611
Node: The Anatomy of a Report970558
Node: The Anatomy of a Report Page971590
Node: How RWCS Builds Report Pages974501
Node: Control Hierarchy978259
Node: An Example983401
Node: Data984165
Node: Program992176
Node: Generated Report Pages999640
Node: Control Hierarchy (Revisited)1008888
Node: Turning PHYSICAL Page Formatting Into LOGICAL Formatting1012149
Node: Interfacing With The OS1014799
Node: Compiling Programs1015050
Node: cobc - The GnuCOBOL Compiler1016862
Ref: Compilation Unit1037563
Ref: Compilation Group1039059
Node: cobc option -Xref an example1042477
Node: Cross Reference listing using cobxref1045671
Node: Compilation Time Environment Variables1050353
Ref: Environment Variables: Compilation-Time1050630
Node: Predefined Compilation Variables1053170
Node: Locating Copybooks1055182
Node: Compiler Configuration Files1058172
Node: Running Programs1066275
Node: Direct Execution1066924
Node: Executing Dynamically-Loadable Libraries1068292
Node: cobcrun - Command-line Execution1068898
Node: Dynamically Loaded Subprograms1071553
Node: Run Time Environment Variables1073794
Ref: Environment Variables: Run-Time1074033
Node: General instructions1080836
Node: General Environment1083167
Node: Call Environment1087286
Node: File I/O1089238
Node: Screen I/O1100054
Node: Report I/O1105733
Node: File I/O Environment Variables and/or dictionary file1106328
Node: Program Arguments1109774
Node: Binary Truncation1110256
Node: Sub-Programming1116732
Node: Subprogram Types1117803
Node: Independent vs Contained vs Nested Subprograms1119686
Node: Alternate Entry Points1122943
Node: Dynamic vs Static Subprograms1124815
Ref: Locating Dynamically-Loadable Modules1128384
Node: Subprogram Execution Flow1130090
Node: Subroutine Execution Flow1130577
Node: User-Defined Function Execution Flow1134363
Node: Sharing Data Between Calling and Called Programs1136922
Node: Subprogram Arguments1137392
Node: Calling Program Considerations1137681
Node: Called Program Considerations1141581
Node: GLOBAL Data Items1142893
Node: EXTERNAL Data Items1144164
Node: Recursive Subprograms1145569
Node: Combining GnuCOBOL and C Programs1150294
Node: GnuCOBOL Run-Time Library Requirements1151027
Node: String Allocation Differences Between GnuCOBOL and C1151848
Node: Matching C Data Types with GnuCOBOL USAGE's1154973
Node: GnuCOBOL Main Programs CALLing C Subprograms1157089
Node: C Main Programs Calling GnuCOBOL Subprograms1160428
Node: Programming Style Suggestions1164679
Node: Marking Changes in Programs1165629
Node: Data Item Coding and Naming Conventions1168668
Node: Table Subscripting versus Table Indexing1174226
Node: Copybook Naming Conventions and Usage1179177
Node: PROCEDURE DIVISION Sections Versus Paragraphs1180350
Node: COMPUTE Versus ADD-SUBTRACT-MULTIPLY-DIVIDE1183770
Node: Appendix A - Glossary of Terms1185629
Ref: Imperative Statement1195861
Node: Appendix B - Reserved Word List1206152
Node: Appendix C1 - Grouped Word Lists by feature and function1220106
Node: Appendix C2 - Intrinsic Functions1258733
Node: Appendix C3 - System routines1264448
Node: Appendix C4 - System names1266911
Node: Appendix D - GNU Free Documentation License1268179
Node: Appendix E - Summary of Document Changes1293396
Node: Appendix F1 - Summary of Compiler Changes after GnuCOBOL Compiler v2.21313516
Node: Appendix F2 - Summary of Compiler Changes since 2009 and version v1-11332740
Node: INDEX1357805

End Tag Table
