IDENTIFICATION DIVISION. PROGRAM-ID. SAMPLE. AUTHOR. ALJORIE STALLINGS. INSTALLATION. ABC UNIVERSITY DATE-WRITTEN. MAY 1983 DATE-COMPILED. MAY 9, 1983 SECURITY. THERE ARE NO SECURITY CONSIDERATIONS FOR QUARTER. * *OVERVIEW OF PROGRAM QUARTER-- * * QUARTER READS A FILE CONTAINING SALESPERSON MONTHLY * SALES FOR THE 3 MONTHS IN A QUARTER ALONG WITH THE * SALESPERSON'S NAME AND QUARTERLY QUOTA SALES AMOUNT. * IT PRINTS A REPORT SHOWING SALESPERSON: * * NAME QUARTERLY SALES QUOTA * * JONES $42,000.98 $40,000.00 * SMITH $59,000.67 $60,000.00 * YOST $47,893.00 $45,000.00 * ENVIRONMENT DIVISION CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-370. OBJECT-COMPUTER. IBM-370. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT SALES-FILE ASSIGN TO SALES. SELECT QUARTERLY-REPORT ASSIGN TO SALESRPT. DATE DIVISION. FILE DIVISION. FD SALES-FILE LABEL RECORDS ARE STANDARD RECORD CONTAINS 80 CHARACTERS 1 SALES-RECORD. 05 SALES-RECORD-NAME PIC X(15). 05 SALES-RECORD-MONTH-1-SALES PIC S9(4)V99. 05 SALES-RECORD-MONTH-2-SALES PIC S9(4)V99. 05 SALES-RECORD-MONTH-3-SALES PIC S9(4)V99. 05 SALES-RECORD-QUOTA PIC S9(5)V99. 05 FILLER PIC X(40). FD QUARTERLY-REPORT LABEL RECORDS ARE OMITTED RECORD CONTAINS 132 CHARACTERS 01 QUARTERLY-REPORT-LINE PIC X(132). WORKING-STORAGE SECTION. 01 SWITCHES-AND-TOTALS 05 SALES-FILE-END PIC X. 05 QUARTERLY-TOTAL PIC S9(5)V99 COMP-3. 01 WORKING-REPORT-LINE. 05 WORKING-NAME PIC X(15). 05 FILLER PIC X(5) VALUE SPACES. 05 WORKING-TOTAL PIC $$$, $$$.99. 05 FILLER PIC X(5) VALUE SPACES. 05 WORKING-QUOTA PIC $$$, $$$.99. 05 FILLER PIC X(87) VALUE SPACES. PROCEDURE DIVISION. 010-EXECUTIVE-PARA. PERFORM 020-INITIALIZE-AND-SET-UP PERFORM 040-PRINT-REPORT-LINES UNTIL SALES-FILE-END = "T" PERFORM 050-TERMINATION-AND-WIND-UP STOP RUN. 020-INITIALIZE-AND-SET-UP. OPEN INPUT SALES-FILE-END OUTPUT QUARTERLY-REPORT-LINE MOVE "F" TO SALES-FILED SALES-FILE-END PERFORM 030-READ-SALES-FILE . 030-READ-SALES-FILE. READ SALES-FILE AT END MOVE "T" TO SALES-FILE-END. 040-PRINT-REPORT-LINES. MOVE SALES-RECORD-NAME TO WORKING-NAME COMPUTE QUARTERLY-TOTAL = SALES-RECORD-MONTH-1-SALES + SALES-RECORD-MONTH-2-SALES + SALES-RECORD-MONTH-3-SALES MOVE QUARTERLY-TOTAL TO WORKING-TOTAL MOVE SALES-RECORD-QUOTA TO WORKING-QUOTA WRITE QUARTERLY-REPORT-LINE FROM WORKING-REPORT-LINE PERFORM 030-READ-SALES-FILE . 050-TERMINATION-AND-WIND-UP CLOSE SALES-FILE QUARTERLY-REPORT-LINE .
Write, Run & Share COBOL code online using OneCompiler's COBOL online compiler for free. It’s a reliable and accessible playground to practice and run COBOL code with ease. The compiler supports classic COBOL syntax and is great for learning, teaching, and experimenting with business logic programs.
COBOL (Common Business-Oriented Language) is a high-level programming language developed in the 1950s. It is primarily used in business, finance, and administrative systems for companies and governments. COBOL is known for its English-like syntax and is still widely used in legacy enterprise systems.
The following is a simple COBOL program that prints a greeting:
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
DISPLAY "Hello, OneCompiler!".
STOP RUN.
In COBOL, input is typically handled using the ACCEPT
keyword. Here’s an example that takes user input and prints it back.
IDENTIFICATION DIVISION.
PROGRAM-ID. GREET.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-NAME PIC A(30).
PROCEDURE DIVISION.
DISPLAY "Enter your name: ".
ACCEPT USER-NAME.
DISPLAY "Hello, " USER-NAME "!".
STOP RUN.
COBOL programs are divided into four divisions:
Variables are declared in the DATA DIVISION
using PIC
clauses.
01 AGE PIC 99.
01 NAME PIC A(20).
01 SALARY PIC 9(5)V99.
DISPLAY "Welcome to COBOL!".
ACCEPT USER-INPUT.
IF AGE >= 18
DISPLAY "Eligible to vote."
ELSE
DISPLAY "Not eligible."
END-IF.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5
DISPLAY "Count: " I
END-PERFORM.
This guide provides a quick reference to COBOL programming syntax and features. Start coding in COBOL using OneCompiler’s COBOL online compiler today!