The traditional first example in any programming language is the "Hello world!" program. This program simply prints out the message "Hello world!".
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
AUTHOR. BILL ROGERS.
ENVIRONMENT DIVISION.
DATA DIVISION.
PROCEDURE DIVISION.
MAINLINE.
DISPLAY 'Hello world!'.
STOP RUN.

Let's enhance the Hello program by letting it print a personalized hello message. Hello2 prompts for the user's name and then says hello. Note that this requires the addition of a data storage item (WS-NAME) in the Working-Storage Section of the Data Division.
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO2.
AUTHOR. BILL ROGERS.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NAME PIC X(25).
PROCEDURE DIVISION.
MAINLINE.
DISPLAY 'Type your name: '.
ACCEPT WS-NAME.
DISPLAY 'Hello ' WS-NAME.
STOP RUN.

Instead of prompting for a name with the ACCEPT statement, let's read a name from a file. In Hello3 note the definition of the data file NAME.TXT in the File-Control paragraph of the Input-Output Section of the Environment Divison. Note also the addition of a File Desciption in the File Section of the Data Division. In the Procedure Division statements have been added to Open, Read, and Close the data file.
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO3.
AUTHOR. BILL ROGERS.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IN-FILE ASSIGN TO 'A:\NAME.TXT'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD IN-FILE
RECORD CONTAINS 25 CHARACTERS.
01 IN-RECORD.
05 IN-NAME PIC X(25).
WORKING-STORAGE SECTION.
01 END-OF-FILE-FLAG PIC X.
PROCEDURE DIVISION.
MAINLINE.
OPEN INPUT IN-FILE.
READ IN-FILE
AT END MOVE 'Y' TO END-OF-FILE-FLAG.
DISPLAY 'Hello ' IN-NAME.
CLOSE IN-FILE.
STOP RUN.

The next version of the program reads a data file with multiple records. A loop is used to read the file one record at a time.
IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO4.
AUTHOR. BILL ROGERS.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT IN-FILE ASSIGN TO 'A:\NAMES.TXT'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD IN-FILE
RECORD CONTAINS 25 CHARACTERS.
01 IN-RECORD.
05 IN-NAME PIC X(25).
WORKING-STORAGE SECTION.
01 END-OF-FILE-FLAG PIC X.
PROCEDURE DIVISION.
MAINLINE.
PERFORM INITIALIZATION-ROUTINE.
PERFORM THE-LOOP
UNTIL END-OF-FILE-FLAG = 'Y'.
PERFORM EOJ-ROUTINE.
STOP RUN.
INITIALIZATION-ROUTINE.
OPEN INPUT IN-FILE.
READ IN-FILE
AT END MOVE 'Y' TO END-OF-FILE-FLAG.
THE-LOOP.
DISPLAY 'Hello ' IN-NAME.
READ IN-FILE
AT END MOVE 'Y' TO END-OF-FILE-FLAG.
EOJ-ROUTINE.
CLOSE IN-FILE.
