Learn Cobol-variants - 10 Code Examples & CST Typing Practice Test
COBOL Variants refer to the different dialects and implementations of COBOL (Common Business-Oriented Language), a legacy programming language widely used in business, finance, and administrative systems.
Learn COBOL-VARIANTS with Real Code Examples
Updated Nov 27, 2025
Code Sample Descriptions
IBM COBOL Simple Report
IDENTIFICATION DIVISION.
PROGRAM-ID. CUSTOMER-REPORT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 CUSTOMER-ID PIC 9(5) VALUE 10001.
01 CUSTOMER-NAME PIC A(20) VALUE 'John Smith'.
PROCEDURE DIVISION.
DISPLAY 'Customer ID: ' CUSTOMER-ID.
DISPLAY 'Customer Name: ' CUSTOMER-NAME.
STOP RUN.
Prints a simple customer report with ID and name.
Micro Focus COBOL File Processing
IDENTIFICATION DIVISION.
PROGRAM-ID. READ-CUSTOMERS.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT CUSTOMER-FILE ASSIGN TO 'CUSTOMERS.DAT'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD CUSTOMER-FILE.
01 CUSTOMER-REC.
05 CUST-ID PIC 9(5).
05 CUST-NAME PIC A(20).
WORKING-STORAGE SECTION.
01 EOF-FLAG PIC X VALUE 'N'.
PROCEDURE DIVISION.
OPEN INPUT CUSTOMER-FILE.
READ-CUSTOMER.
PERFORM UNTIL EOF-FLAG = 'Y'
DISPLAY 'ID: ' CUST-ID ' Name: ' CUST-NAME
READ CUSTOMER-FILE AT END MOVE 'Y' TO EOF-FLAG
END-PERFORM.
CLOSE CUSTOMER-FILE.
STOP RUN.
Read a file of customer records and display each record.
COBOL Calculation Example
IDENTIFICATION DIVISION.
PROGRAM-ID. CALC-TOTAL.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 PRICE PIC 9(5)V99 VALUE 100.00.
01 TAX-RATE PIC 9(3)V99 VALUE 0.13.
01 TAX-AMOUNT PIC 9(5)V99.
01 TOTAL PIC 9(5)V99.
PROCEDURE DIVISION.
COMPUTE TAX-AMOUNT = PRICE * TAX-RATE.
COMPUTE TOTAL = PRICE + TAX-AMOUNT.
DISPLAY 'Price: ' PRICE.
DISPLAY 'Tax: ' TAX-AMOUNT.
DISPLAY 'Total: ' TOTAL.
STOP RUN.
Compute total price with tax for a product.
COBOL IF-ELSE Example
IDENTIFICATION DIVISION.
PROGRAM-ID. AGE-CHECK.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 AGE PIC 99 VALUE 20.
PROCEDURE DIVISION.
IF AGE >= 18
DISPLAY 'Customer is an adult.'
ELSE
DISPLAY 'Customer is a minor.'
END-IF.
STOP RUN.
Check a customer's age and display adult/minor status.
COBOL PERFORM Loop Example
IDENTIFICATION DIVISION.
PROGRAM-ID. LOOP-NUMBERS.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 COUNTER PIC 9 VALUE 1.
PROCEDURE DIVISION.
PERFORM VARYING COUNTER FROM 1 BY 1 UNTIL COUNTER > 5
DISPLAY 'Number: ' COUNTER
END-PERFORM.
STOP RUN.
Display numbers from 1 to 5 using PERFORM loop.
COBOL String Concatenation
IDENTIFICATION DIVISION.
PROGRAM-ID. STRING-CONCAT.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 FIRST-NAME PIC A(10) VALUE 'John'.
01 LAST-NAME PIC A(10) VALUE 'Doe'.
01 FULL-NAME PIC A(20).
PROCEDURE DIVISION.
STRING FIRST-NAME DELIMITED BY SPACE
' ' DELIMITED BY SIZE
LAST-NAME DELIMITED BY SPACE
INTO FULL-NAME.
DISPLAY 'Full Name: ' FULL-NAME.
STOP RUN.
Concatenate first name and last name into full name.
COBOL Table Processing
IDENTIFICATION DIVISION.
PROGRAM-ID. SUM-TABLE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUMBERS.
05 NUM PIC 9(3) OCCURS 5 TIMES VALUE 10.
01 TOTAL PIC 9(5) VALUE 0.
01 I PIC 9 VALUE 1.
PROCEDURE DIVISION.
PERFORM VARYING I FROM 1 BY 1 UNTIL I > 5
ADD NUM(I) TO TOTAL
END-PERFORM.
DISPLAY 'Total Sum: ' TOTAL.
STOP RUN.
Sum values in an array of numbers.
COBOL File Write Example
IDENTIFICATION DIVISION.
PROGRAM-ID. WRITE-FILE.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT OUT-FILE ASSIGN TO 'OUTPUT.DAT'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD OUT-FILE.
01 OUT-REC PIC A(30).
WORKING-STORAGE SECTION.
01 MESSAGE PIC A(30) VALUE 'Hello COBOL World'.
PROCEDURE DIVISION.
OPEN OUTPUT OUT-FILE.
MOVE MESSAGE TO OUT-REC.
WRITE OUT-REC.
CLOSE OUT-FILE.
STOP RUN.
Write a record to a sequential file.
COBOL REDEFINES Example
IDENTIFICATION DIVISION.
PROGRAM-ID. REDEFINES-EXAMPLE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 NUM-BLOCK PIC 9(4) VALUE 1234.
01 DIGITS REDEFINES NUM-BLOCK.
05 D1 PIC 9.
05 D2 PIC 9.
05 D3 PIC 9.
05 D4 PIC 9.
PROCEDURE DIVISION.
DISPLAY 'Original Number: ' NUM-BLOCK.
DISPLAY 'Digits: ' D1 D2 D3 D4.
STOP RUN.
Use REDEFINES to view same memory as different types.
COBOL MOVE CORRESPONDING Example
IDENTIFICATION DIVISION.
PROGRAM-ID. MOVE-CORR.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 SOURCE.
05 FIRST-NAME PIC A(10) VALUE 'Jane'.
05 LAST-NAME PIC A(10) VALUE 'Doe'.
01 TARGET.
05 FIRST-NAME PIC A(10).
05 LAST-NAME PIC A(10).
PROCEDURE DIVISION.
MOVE CORRESPONDING SOURCE TO TARGET.
DISPLAY 'Target Name: ' TARGET.FIRST-NAME ' ' TARGET.LAST-NAME.
STOP RUN.
Move matching fields between two groups using MOVE CORRESPONDING.
Frequently Asked Questions about Cobol-variants
What is Cobol-variants?
COBOL Variants refer to the different dialects and implementations of COBOL (Common Business-Oriented Language), a legacy programming language widely used in business, finance, and administrative systems.
What are the primary use cases for Cobol-variants?
Processing batch payroll and accounting tasks. Maintaining enterprise resource planning (ERP) systems. Handling large-scale transaction processing. Integrating with mainframe databases like DB2 or IMS. Reporting and regulatory compliance in finance
What are the strengths of Cobol-variants?
Highly reliable for mission-critical systems. Extremely stable and mature language. Easy to read and maintain for business logic. Handles massive datasets efficiently. Interoperates with legacy enterprise systems
What are the limitations of Cobol-variants?
Verbose syntax compared to modern languages. Steep learning curve for beginners today. Limited modern tooling in comparison to newer languages. Mainframe dependency for many variants. Slow adoption of modern programming paradigms
How can I practice Cobol-variants typing speed?
CodeSpeedTest offers 10+ real Cobol-variants code examples for typing practice. You can measure your WPM, track accuracy, and improve your coding speed with guided exercises.