File indexing completed on 2024-05-12 04:02:10

0001 *> These are equivalent.
0002 INVOKE my-class "foo" RETURNING var
0003 MOVE my-class::"foo" TO var *> Inline method invocation
0004 
0005 ADD 1 TO x
0006 ADD 1, a, b TO x ROUNDED, y, z ROUNDED
0007 
0008 ADD a, b TO c
0009     ON SIZE ERROR
0010         DISPLAY "Error"
0011 END-ADD
0012 
0013 ADD a TO b
0014     NOT SIZE ERROR
0015         DISPLAY "No error"
0016     ON SIZE ERROR
0017         DISPLAY "Error"
0018 
0019 RD  sales-report
0020     PAGE LIMITS 60 LINES
0021     FIRST DETAIL 3
0022     CONTROLS seller-name.
0023 
0024 01  TYPE PAGE HEADING.
0025     03  COL 1                    VALUE "Sales Report".
0026     03  COL 74                   VALUE "Page".
0027     03  COL 79                   PIC Z9 SOURCE PAGE-COUNTER.
0028 
0029 01  sales-on-day TYPE DETAIL, LINE + 1.
0030     03  COL 3                    VALUE "Sales on".
0031     03  COL 12                   PIC 99/99/9999 SOURCE sales-date.
0032     03  COL 21                   VALUE "were".
0033     03  COL 26                   PIC $$$$9.99 SOURCE sales-amount.
0034 
0035 01  invalid-sales TYPE DETAIL, LINE + 1.
0036     03  COL 3                    VALUE "INVALID RECORD:".
0037     03  COL 19                   PIC X(34) SOURCE sales-record.
0038 
0039 01  TYPE CONTROL HEADING seller-name, LINE + 2.
0040     03  COL 1                    VALUE "Seller:".
0041     03  COL 9                    PIC X(30) SOURCE seller-name.
0042 
0043 PIC 99.
0044 PIC 9(7)V99.
0045 PIC 9(10).  *> sads
0046 PIC 9(5)V9(2).
0047 PIC 9(5)
0048 PIC +++++
0049 PIC 99/99/9(4)
0050 PIC *(4)9.99
0051 PIC X(3)BX(3)BX(3)
0052 
0053 OPEN INPUT sales, OUTPUT report-out
0054 INITIATE sales-report
0055 
0056 PERFORM UNTIL 1 <> 1
0057     READ sales
0058         AT END
0059             EXIT PERFORM
0060     END-READ
0061 
0062     VALIDATE sales-record
0063     IF valid-record
0064         GENERATE sales-on-day
0065     ELSE
0066         GENERATE invalid-sales
0067     END-IF
0068 END-PERFORM
0069 
0070 TERMINATE sales-report
0071 CLOSE sales, report-out
0072 
0073 EVALUATE TRUE ALSO desired-speed ALSO current-speed
0074     WHEN lid-closed ALSO min-speed THRU max-speed ALSO LESS THAN desired-speed
0075         PERFORM speed-up-machine
0076     WHEN lid-closed ALSO min-speed THRU max-speed ALSO GREATER THAN desired-speed
0077         PERFORM slow-down-machine
0078     WHEN lid-open ALSO ANY ALSO NOT ZERO
0079         PERFORM emergency-stop
0080     WHEN OTHER
0081         CONTINUE
0082 END-EVALUATE
0083 
0084 //COBUCLG  JOB (001),'COBOL BASE TEST',                                 00010000
0085 //             CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)                        00020000
0086 //BASETEST EXEC COBUCLG                                                 00030000
0087 //COB.SYSIN DD *                                                        00040000
0088  00000* VALIDATION OF BASE COBOL INSTALL                                00050000
0089  01000 IDENTIFICATION DIVISION.                                         00060000
0090  01100 PROGRAM-ID. 'HELLO'.                                             00070000
0091  02000 ENVIRONMENT DIVISION.                                            00080000
0092  02100 CONFIGURATION SECTION.                                           00090000
0093  02110 SOURCE-COMPUTER.  GNULINUX.                                      00100000
0094  02120 OBJECT-COMPUTER.  HERCULES.                                      00110000
0095  02200 SPECIAL-NAMES.                                                   00120000
0096  02210     CONSOLE IS CONSL.                                            00130000
0097  03000 DATA DIVISION.                                                   00140000
0098  04000 PROCEDURE DIVISION.                                              00150000
0099  04100 00-MAIN.                                                         00160000
0100  04110     DISPLAY 'HELLO, WORLD' UPON CONSL.                           00170000
0101  04900     STOP RUN.                                                    00180000
0102 //LKED.SYSLIB DD DSNAME=SYS1.COBLIB,DISP=SHR                            00190000
0103 //            DD DSNAME=SYS1.LINKLIB,DISP=SHR                           00200000
0104 //GO.SYSPRINT DD SYSOUT=A                                               00210000
0105 //                                                                      00220000
0106 
0107 *> COBOL with embedded SQL.
0108 *> Normally for extensions pco, scb and sqb, but currently integrated into COBOL
0109 EXEC SQL
0110     select count(*) from abc
0111 END-EXEC
0112 ADD 1 TO x