COBOL Programming Syntax
COBOL Programming Syntax
This section contains numerous example programs for better understanding of COBOL.
SAMPLE PROGRAM -1
This is a demo program to learn and understand major difference between elementary/individual item and group item.
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 LEVEL-1 PIC 9(03) VALUE 256. à INDIVIDUAL DATA ITEM 01 LEVEL-GROUP. à GROUP DATA ITEM 05 LEVEL-21 PIC 9(03) VALUE 256. à ELEMENTARY DATA ITEM 05 LEVEL-22 PIC 9(03) VALUE 128. à ELEMENTARY DATA ITEM PROCEDURE DIVISION. DISPLAY ' INDIVIDUAL DATA ITEM : ' LEVEL-1. DISPLAY ' GROUP DATA ITEM : ' LEVEL-GROUP. DISPLAY ' ELEMENTARY DATA ITEM - 1 : ' LEVEL-21. DISPLAY ' ELEMENTARY DATA ITEM - 2 : ' LEVEL-22. STOP RUN.
* * * * THE OUTPUT WILL BE * * * *
INDIVIDUAL DATA ITEM : 256 GROUP DATA ITEM : 256128 ELEMENTARY DATA ITEM - 1 : 256 ELEMENTARY DATA ITEM - 2 : 128
SAMPLE PROGRAM -2
This is a demo program to learn and understand various level numbers in details.
WORKING-STORAGE SECTION. 01 WS-DISPLAY PIC X(25). 01 STUDENTS. 05 STUDENT-ID PIC 9(5). 05 FILLER PIC X(01). 05 STUDENT-NAME. 10 FNAME PIC A(08). 10 LNAME PIC A(05). 05 STUDENT-DOB PIC X(10). 05 STUDENT-DEPT PIC X(3). 88 COMPUTER VALUE, 'CMP'. 88 ELECTRONICS VALUE 'EEE'. 88 MECHANICAL VALUE, 'MEC'. 88 CIVIL VALUE 'CIV', 66 STUDENT-DETAILS RENEWS STUDENT-ID THRU STUDENT-NAME. 77 WS-STUDENT-FLAG PIC X(1) PROCEDURE DIVISION. MAIN-PARA. MOVE "VARIOUS LEVELS EXAMPLE:" TO WS-DISPLAY. MOVE 12345 TO STUDENT-ID. MOVE 'MICHEL' TO FNAME. MOVE 'EVE' TO LNAME. MOVE '21/08/2020' TO STUDENT-DOB. DISPLAY WS-DISPLAY. DISPLAY "STUDENT FROM 01 LEVEL" DISPLAY STUDENTS. DISPLAY "STUDENTS DETAILS FROM 66 LEVELS" DISPLAY STUDENT-DETAILS. SET COMPUTER TO TRUE. DISPLAY "STUDENT-DEPARTMENT: " STUDENT-DEPT. MOVE 'A' TO WS-STUDENT-FLAG DISPLAY "FROM 77 LEVELS: " WS-STUDENT-FLAG STOP RUN.
OUTPUT:
VARIOUS LEVELS EXAMPLES : STUDENT FROM 01 LEVELS 12345 MICHEL EVE 21/08/2020 STUDENT DETAILS FROM 66 LEVEL 12345 MICHEL EVE STUDENT DEPARTMENT: CMP FROM 77 LEVEL: A
Sample program - 3
This is a demo program to learn and understand the clear use of pic/picture clause.
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WSRS-NUM01 PIC S9(3)V9(2). 01 WSRS-NUM02 PIC PPP999. 01 WSRS-NUM03 PIC S9(3)V9(2) VALUE -123.45. 01 WSRS-NAME PIC A(6) VALUE 'ABCDEF'. 01 WSRS-ID PIC X(5) VALUE 'A121$'. PROCEDURE DIVISION. DISPLAY "WSRS-NUM01: "WSRS-NUM01. DISPLAY "WSRS-NUM02: "WSRS-NUM02. DISPLAY "WSRS-NUM03: "WSRS-NUM03. DISPLAY "WSRS-NAME: "WSRS-NAME. DISPLAY "WSRS-ID: "WSRS-ID. STOP RUN.
THE OUTPUT WILL BE:
WSRS-NUM1: +000.00 WSRS-NUM2: .000000 WSRS-NUM3: -123.45 WSRS-NAME: ABCDEF WSRS-ID: A121$
Sample program -4
This is a demo program to learn and understand the concept of value clause.
IDENTIFICATION DIVISION. PROGRAM-ID. WORLD01. DATA DIVISION. WORKING-STORAGE SECTION. 01 WRKR-NUM1 PIC 99V9 VALUE IS 5.5. 01 WRKR-NAME PIC A(6) VALUE ' EFG '. 01 WRKR-ID PIC 99 VALUE ZERO. PROCEDURE DIVISION. DISPLAY "WRKR-NUM1: "WRKR-NUM1. DISPLAY "WRKR-NAME: "WRKR-NAME. DISPLAY "WRKR-ID: "WRKR-ID. STOP RUN.
THE OUTPUT WILL BE:
WRKR-NUM1: 05.5 WRKR-NAME: EFG WRKR-ID: 00
SAMPLE PROGRAM -5
This is a demo program to create record of an employee.
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. DATA DIVISION. WORKING-STORAGE SECTION. 01 EMP-DTL. 02 EMP-NUM PIC 9(03). 02 EMP-NAME. 05 EMP-NAME-INIT PIC X(01). 88 EMP-NAME-VALID VALUE 'A' THRU 'Z'. 88 EMP-NAME-INVALID VALUE '0' THRU '9'. 05 EMP-NAME-REST PIC X(14). 02 EMP-GENDER PIC X(01). 88 VALID-GENDER VALUE 'M' 'F'. 88 MALE VALUE 'M'. 88 FEMALE VALUE 'F'. 02 EMP-MARKS PIC 9(03). 88 FIRST-CLASS VALUE 060 THRU 100. 88 SECOND-CLASS VALUE 050 THRU 059. 88 THIRD-CLASS VALUE 035 THRU 049. 88 FAIL VALUE 000 THRU 034. PROCEDURE DIVISION. ACCEPT EMP-NUM. ACCEPT EMP-NAME. ACCEPT EMP-GENDER. ACCEPT EMP-MARKS. DISPLAY ' EMPLOYEE DETAILS . . . . . '. DISPLAY ' EMPLOYEE NUMBER : ' EMP-NUM. IF EMP-NAME-VALID DISPLAY ' EMPLOY NAME : ' EMP-NAME ELSE DISPLAY ' EMPLOY NAME WAS INVALID ' END-IF. IF VALID-GENDER IF MALE DISPLAY 'EMPLOY GENDER : MALE' ELSE DISPLAY 'EMPLOY GENDER : FEMALE' END-IF ELSE DISPLAY ' INVALID GENDER WAS GIVEN ' END-IF. EVALUATE TRUE WHEN FIRST-CLASS DISPLAY ' EMPLOY GOT FIRST CLASS ' WHEN SECOND-CLASS DISPLAY ' EMPLOYE GOT SECOND CLASS ' WHEN THIRD-CLASS DISPLAY ' EMPLOY GOT THIRD CLASS ' WHEN OTHER DISPLAY ' EMPLOY GOT FAILED ' END-EVALUATE. STOP RUN.
THE OUTPUT WILL BE:
EMPLOYEE DETAILS . . . . . EMPLOYEE NUMBER : 000 EMPLOY NAME WAS INVALID INVALID GENDER WAS GIVEN EMPLOY GOT FAILED
Here in this program, we have created a record of an employee working for a firm XYZ. This program is designed to display all the details of an employee, such as, his gender and his scores acquired in previous survey.