COBOL Lab Report 3rd sem MCA VTU by heera

109
COBOL Programming Laboratory 07MCA26 INDEX NO TITLE PAGE NO INTRODUCTION OF COBOL 3 – 5 1 WRITE A PROGRAM FOR THE FOLLOWING: 1.1. Evaluate the following equation using COMPUTE Verb. Z= (A-B)*C. 1.2. To Find the sum of individual digits in the given ‘n’ digit Decimal Number. 6 – 7 2 WRITE A PROGRAM FOR THE FOLLOWING: 2.1. Generate Odd and Even numbers between the given limits using PERFORM statement. 2.2. Sorting Numeric Numbers. 8– 10 3 BY USING TABLE HANDLING CONCEPTS, WRITE A PROGRAM FOR 3.1. Sorting Alphanumeric data. 3.2. Searching Numeric Number using SEARCH verb. 11 – 14 4 BY USING TABLE HANDLING CONCEPTS, WRITE A PROGRAM FOR MATRIX ADDITION AND MATRIX SUBTRACTION. 15– 17 5 BY USING TABLE HANDLING CONCEPTS, WRITE A PROGRAM FOR MATRIX MULTIPLICATION. 18 – 20 SEQUENTIAL FILE 21 - 22 SORTING AND MERGING 23 6 WRITE A PROGRAM FOR THE FOLLOWING: 6.1. To SORT records in the file using SORT verb. 6.2. To merge files using MERGE verb. 24 – 35 7 WRITE A PROGRAM TO READ EMPLOYEE FILE AS A SEQUENTIAL FILE AND CALCULATE GROSS PAY AND NET PAY FOR EMPLOYEE IN THE ORGANIZATION. 36 – 39 8 WRITE A PROGRAM TO STORE STUDENT DETAILS WITH RESULTS IN A FILE WITH SEQUENTIAL FILE HANDLING TECHNIQUES. 40 – 44 9 WRITE A PROGRAM TO UPDATE A MASTER SEQUENTIAL FILE USING A SEQUENTIAL TRANSACTION FILE. 45– 50 51 – RYMEC ,Bellary . Dept. of MCA Page 1

description

COBOL lab 3rd sem MCA VTU

Transcript of COBOL Lab Report 3rd sem MCA VTU by heera

Page 1: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

INDEX

NO TITLE PAGE NO

INTRODUCTION OF COBOL 3 – 51 WRITE A PROGRAM FOR THE FOLLOWING:

1.1. Evaluate the following equation using COMPUTE Verb. Z= (A-B)*C. 1.2. To Find the sum of individual digits in the given ‘n’ digit Decimal Number.

6 – 7

2 WRITE A PROGRAM FOR THE FOLLOWING: 2.1. Generate Odd and Even numbers between the given limits using PERFORM statement. 2.2. Sorting Numeric Numbers.

8– 10

3 BY USING TABLE HANDLING CONCEPTS, WRITE A PROGRAM FOR 3.1. Sorting Alphanumeric data. 3.2. Searching Numeric Number using SEARCH verb.

11 – 14

4 BY USING TABLE HANDLING CONCEPTS, WRITE A PROGRAM FOR MATRIX ADDITION AND MATRIX SUBTRACTION.

15– 17

5 BY USING TABLE HANDLING CONCEPTS, WRITE A PROGRAM FOR MATRIX MULTIPLICATION.

18 – 20

SEQUENTIAL FILE 21 - 22 SORTING AND MERGING 23

6 WRITE A PROGRAM FOR THE FOLLOWING: 6.1. To SORT records in the file using SORT verb. 6.2. To merge files using MERGE verb.

24 – 35

7 WRITE A PROGRAM TO READ EMPLOYEE FILE AS A SEQUENTIAL FILE AND CALCULATE GROSS PAY AND NET PAY FOR EMPLOYEE IN THE ORGANIZATION.

36 – 39

8 WRITE A PROGRAM TO STORE STUDENT DETAILS WITH RESULTS IN A FILE WITH SEQUENTIAL FILE HANDLING TECHNIQUES.

40 – 44

9 WRITE A PROGRAM TO UPDATE A MASTER SEQUENTIAL FILE USING A SEQUENTIAL TRANSACTION FILE.

45– 50

INDEX FILE 51 – 5210 USING THE INDEX FILE ORGANIZATION, WRITE A PROGRAM TO STORE EMPLOYEE

DETAILS.53 – 60

11 USING THE INDEX FILE ORGANIZATION, WRITE A PROGRAM TO UPDATE THE EMPLOYEE SALARY (INCREASE DA BY 3%).

61 – 64

12 WRITE A PROGRAM FOR THE FOLLOWING: 12.1. To DELETE a Record in the INDEX file. 12.2. To SEARCH a Record in the INDEX file.

65 – 73

RELATIVE FILE 74 – 7513 WRITE A PROGRAM TO CALCULATE NET PAY AND GROSS PAY BY READING RELATIVE

FILE CONTAINING FIELDS EMP-NO, EMP-NAME, BASIC-PAY.STORE THE OUTPUT IN RELATIVE FILE.

76 – 81

RYMEC ,Bellary . Dept. of MCA Page 1

Page 2: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

SUBROUTINES 82 – 84

14 WRITE A PROGRAM TO FIND SIMPLE INTEREST AND COMPOUND INTEREST USING SUBROUTINE CONCEPT.

85 – 88

15 WRITE A PROGRAM TO GENERATE A SALES REPORT. 89 – 91

RYMEC ,Bellary . Dept. of MCA Page 2

Page 3: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

Introduction to COBOL

COBOL is an acronym for Common Business Oriented Language. This is used to solve business problems. COBOL was developed in 1959 by the conference on Data Systems Languages (CODASYL). The American National Standards Institute (ANSI) was responsible for developing new COBOL standards.

Three ANSI standards for COBOL have been produced: in 1968, 1974 and 1985[COBOL-85].

Object-oriented COBOL is the fourth edition in the continuing evolution of ANSI/ISO standard COBOL.

How to work with COBOLC:\CD MCAC:\MCA>PATH=C:\COBOL\C:\MCA>NE TEST.COB (Or) C:\MCA>EDIT TEST.COB (To use DOS Editor)Here NE → Norton Editor TEST → File Name .COB→ COBOL File extensionThen type your program according to COBOL format.For CompilationC:\MCA>COBOL TEST.COBObject filename [TEST.INT]:Listing file name [NULL]: X

If any errors it shows then to correct the errors in the program go to the COBOL programC:\COBOL>NE TEST.COBThen press F3 X

So the screen will be divided into two sections the below section will be blank and it asks for the file name to be typed. So type the listing filename i.e. X.LST.By looking at the errors in the below section, you can easily correct the errors on the top using line numbers of the program. To move the cursor from top section to below section and vice versa you press F3 X.

To RUN the program

RYMEC ,Bellary . Dept. of MCA Page 3

Page 4: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

C:\MCA>RUNCOB TEST.COB

If you are working on file programs then you have to open input-file and give data to it, and to see the result open the output-file.

Before running the index program you have to type C:\MCA>ISAMISAM → Indexed Sequential Access Mode.

File commands in NE (press F! for more help)

F3 S → SAVEF3 E → SAVE and EXITF3 X → EXCHANGE WINDOWSCoding format for COBOL Programs

COBOL Programs are written in coding sheet, which use a standard format. There are 80 character positions on each line of the coding sheet and these positions are grouped into the following five fields:

Position Field1 – 6 Sequence 7 Indicator (e.g.:- / for comment line)8 – 11 Area A12 – 72 Area B73 – 80 Identification.

Structure of a COBOL ProgramIDENTIFICATION DIVISION.PROGRAM-ID. entry.[AUTHOR. entry.][INSTALLATION. entry.][DATE-WRITTEN. entry.][DATE-COMPILED. entry.][SECURITY. entry.]

ENVIRONMENT DIVISION.CONFIGURATION SECTION.

RYMEC ,Bellary . Dept. of MCA Page 4

Page 5: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

SOURCE-COMPUTER. entry.OBJECT-COMPUTER. entry.[SPECIAL NAMES. entry.][INPUT-OUTPUTSECTION.FILE-CONTROL. entry.[I-O-CONTROL. entry.]DATA DIVISION.[FILE SECTION.File section entries……………………….][WORKING-STORAGE SECTION.Working-storage entries……………………….]PROCEDURE DIVISION.{section-name SECTION.[PARAGRAPH-NAME. [SENTENCE]…]…}…

Advantages:-Simple and user-friendly language.-Portable.-Maintainable

Disadvantages:

-Very wordy and too lengthy.-Very rigid format. This rigidity causes many errors in coding and contributes to the difficulty of learning the language.-Not designed to handle scientific applications.-Less interactive.

Distinct Features of COBOL: The language is simple No pointers No user defined types No user defined functions ‘Structure like’ data types File records are also described with great detail, as are lines to be output

to a printer COBOL is self-documenting

RYMEC ,Bellary . Dept. of MCA Page 5

Page 6: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 1.1: PROGRAM TO COMPUTE THE EQUATION USING COMPUTE VERB. Z= (A-B)*C IDENTIFICATION DIVISION. PROGRAM-ID. EQUA. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 77 A PIC 9(3). 77 B PIC 9(3). 77 C PIC 9(3). 77 Z PIC 9(5). 77 EZ PIC Z(4)99. PROCEDURE DIVISION. PARA. DISPLAY "ENTER THE VALUES FOR A , B AND C". ACCEPT A. ACCEPT B. ACCEPT C. COMPUTE Z = ( A - B ) * C. MOVE Z TO EZ. DISPLAY "THE VALUE IS" EZ. STOP RUN.

======================SAMPLE OUTPUT======================

ENTER THE VALUES FOR A, B AND C12342THE VALUE IS 44

RYMEC ,Bellary . Dept. of MCA Page 6

Page 7: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 1.2: PROGRAM TO FIND THE SUM OF INDIVIDUAL DIGITS IN THE GIVEN ‘N’ DIGIT DECIMAL NUMBER. IDENTIFICATION DIVISION. PROGRAM-ID. SUMM. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 77 NUM PIC 9999. 77 I PIC 9 VALUE 0. 77 S PIC 99 VALUE 0. 77 Q PIC 99. 77 R PIC 99. PROCEDURE DIVISION. PARA-1. DISPLAY "ENTER NUMBER". ACCEPT NUM. PERFORM PARA-2 UNTIL NUM <= 0. DISPLAY "SUM = " S. STOP RUN. PARA-2. DIVIDE NUM BY 10 GIVING NUM REMAINDER R. COMPUTE S = S + R.

======================SAMPLE OUTPUT======================

ENTER NUMBER136SUM = 10

RYMEC ,Bellary . Dept. of MCA Page 7

Page 8: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 2.1: PROGRAM FOR GENERATING ODD AND EVEN NUMBERS BETWEEN THE GIVEN LIMITS BY USING PERFORM STATEMENT. IDENTIFICATION DIVISION. PROGRAM-ID. ODDEVEN. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 77 LIM PIC 99. 77 I PIC 99. PROCEDURE DIVISION. PARA-1. DISPLAY "ENTER THE RANGE". ACCEPT LIM. DISPLAY "LIST OF EVEN NUMBERS". PERFORM PARA-2 VARYING I FROM 2 BY 2 UNTIL I > LIM. DISPLAY "LIST OF ODD NUMBERS". PERFORM PARA-3 VARYING I FROM 1 BY 2 UNTIL I > LIM. STOP RUN. PARA-2. DISPLAY I. PARA-3. DISPLAY I.

======================SAMPLE OUTPUT======================

ENTER THE RANGE10LIST OF EVEN NUMBERS0204060810LIST OF ODD NUMBERS0103050709

RYMEC ,Bellary . Dept. of MCA Page 8

Page 9: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 2.2: PROGRAM TO SORT NUMERIC NUMBERS.

IDENTIFICATION DIVISION. PROGRAM-ID. SORTNUM. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 NUMARRAY. 02 A PIC 99 OCCURS 10 TIMES. 77 I PIC 99. 77 J PIC 99. 77 LIM PIC 99. 77 TEMP PIC 99. 77 K PIC 99. PROCEDURE DIVISION. PARA-1. DISPLAY "ENTER THE RANGE". ACCEPT LIM. PERFORM ACC-PARA VARYING I FROM 1 BY 1 UNTIL I > LIM. PERFORM PARA-2 VARYING I FROM 1 BY 1 UNTIL I > LIM. DISPLAY "LIST OF SORTED NUMBERS". PERFORM DISP-PARA VARYING I FROM 1 BY 1 UNTIL I > LIM. STOP RUN. ACC-PARA. DISPLAY "ENTER THE NUMBER". ACCEPT A(I). DISP-PARA. DISPLAY A(I). PARA-2. COMPUTE K = I + 1. PERFORM PARA-3 VARYING J FROM K BY 1 UNTIL J > LIM. PARA-3. IF A(I) > A(J) MOVE A(I) TO TEMP MOVE A(J) TO A(I) MOVE TEMP TO A(J).

RYMEC ,Bellary . Dept. of MCA Page 9

Page 10: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

ENTER THE RANGE5ENTER THE NUMBER12ENTER THE NUMBER10ENTER THE NUMBER6ENTER THE NUMBER8ENTER THE NUMBER7LIST OF SORTED NUMBERS0607081012

RYMEC ,Bellary . Dept. of MCA Page 10

Page 11: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 3.1: PROGRAM TO SORT ALPHANUMERIC DATA USING TABLE HANDLING CONCEPT

IDENTIFICATION DIVISION. PROGRAM-ID. SORTA. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 ANUMARRAY. 02 NAME PIC X(15) OCCURS 10 TIMES. 77 I PIC 99. 77 J PIC 99. 77 LIM PIC 99. 77 TEMP PIC X(10). 77 K PIC 99. PROCEDURE DIVISION. PARA-1. DISPLAY "ENTER THE RANGE". ACCEPT LIM. PERFORM ACC-PARA VARYING I FROM 1 BY 1 UNTIL I > LIM. PERFORM PARA-2 VARYING I FROM 1 BY 1 UNTIL I > LIM. DISPLAY "LIST OF SORTED NAMES". PERFORM DISP-PARA VARYING I FROM 1 BY 1 UNTIL I > LIM. STOP RUN. ACC-PARA. DISPLAY "ENTER THE NAME". ACCEPT NAME(I). DISP-PARA. DISPLAY NAME(I). PARA-2. COMPUTE K = I + 1. PERFORM PARA-3 VARYING J FROM K BY 1 UNTIL J > LIM. PARA-3. IF NAME(I) > NAME(J) MOVE NAME(I) TO TEMP MOVE NAME(J) TO NAME(I) MOVE TEMP TO NAME(J).

RYMEC ,Bellary . Dept. of MCA Page 11

Page 12: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

ENTER THE RANGE5ENTER THE NAMEVIJAYENTER THE NAMEMOHANENTER THE NAMEHARIENTER THE NAMEANILENTER THE NAMEPRAS

LIST OF SORTED NAMESANILHARIMOHANPRASVIJAY

RYMEC ,Bellary . Dept. of MCA Page 12

Page 13: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 3.2: PROGRAM TO SEARCHING A NUMERIC NUMBER USING SEARCH VERB AND TABLE HANDLING CONCEPT.

IDENTIFICATION DIVISION. PROGRAM-ID. SRCHARR. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 NUMARRAY. 02 NUM PIC 9(3) OCCURS 5 TIMES INDEXED BY A1. 77 LIM PIC 99. 77 I PIC 9(2). 77 N PIC 9(2). PROCEDURE DIVISION. PARA-1. DISPLAY "ENTER THE RANGE". ACCEPT LIM. PERFORM ACC-PARA VARYING I FROM 1 BY 1 UNTIL I > LIM. DISPLAY "ENTER NUMBER TO BE SEARCHED". ACCEPT N. SET A1 TO 1. SEARCH-PARA. SEARCH NUM AT END DISPLAY "NUMBER NOT FOUND" WHEN N = NUM (A1) DISPLAY "NUMBER FOUND". END-PARA. STOP RUN. ACC-PARA. DISPLAY "ENTER THE NUMBER". ACCEPT NUM(I). DISP-PARA. DISPLAY NUM(I).

RYMEC ,Bellary . Dept. of MCA Page 13

Page 14: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

ENTER THE RANGE5ENTER THE NUMBER34ENTER THE NUMBER22ENTER THE NUMBER12ENTER THE NUMBER7ENTER THE NUMBER2ENTER NUMBER TO BE SEARCHED22NUMBER FOUND

ENTER THE RANGE5ENTER THE NUMBER34ENTER THE NUMBER22ENTER THE NUMBER12ENTER THE NUMBER7ENTER THE NUMBER2ENTER NUMBER TO BE SEARCHED23NUMBER NOT FOUND

RYMEC ,Bellary . Dept. of MCA Page 14

Page 15: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 4: PROGRAM FOR MATRIX ADDITION AND MATRIX SUBTRACTION USING TABLE HANDLING CONCEPT.

IDENTIFICATION DIVISION. PROGRAM-ID. ADDSUBMAT. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 MAT. 02 A OCCURS 10 TIMES. 03 B PIC 9(5) OCCURS 10 TIMES. 03 C PIC 9(5) OCCURS 10 TIMES. 03 D PIC 9(2) OCCURS 10 TIMES. 03 E PIC 9(2) OCCURS 10 TIMES. 77 M PIC 999. 77 N PIC 999. 77 P PIC 999. 77 Q PIC 999. 77 I PIC 999. 77 J PIC 999. PROCEDURE DIVISION. PARA-1. DISPLAY "ENTER THE ORDER OF MATRIX1". ACCEPT M. ACCEPT N. DISPLAY "ENTER THE ORDER OF MATRIX2". ACCEPT P. ACCEPT Q. IF M EQUAL TO P AND N EQUAL TO Q DISPLAY "ENTER THE ELEMENTS OF THE MATRIX1" PERFORM READ-PARA VARYING I FROM 1 BY 1 UNTIL I>M AFTER J FROM 1 BY 1 UNTIL J>N DISPLAY "ENTER THE ELEMENTS OF THE MATRIX2" PERFORM READ-PARA1 VARYING I FROM 1 BY 1 UNTIL I>P AFTER J FROM 1 BY 1 UNTIL J>Q PERFORM ADD-PARA VARYING I FROM 1 BY 1 UNTIL I>M AFTER J FROM 1 BY 1 UNTIL J>N DISPLAY "THE ADDITION MATRIX IS" PERFORM DISP-PARA VARYING I FROM 1 BY 1 UNTIL I>P AFTER J FROM 1 BY 1 UNTIL J>Q

RYMEC ,Bellary . Dept. of MCA Page 15

Page 16: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PERFORM SUB-PARA VARYING I FROM 1 BY 1 UNTIL I>M AFTER J FROM 1 BY 1 UNTIL J>N DISPLAY "THE SUBTRACTION MATRIX IS" PERFORM DISP-PARA-1 VARYING I FROM 1 BY 1 UNTIL I>P AFTER J FROM 1 BY 1 UNTIL J>Q

ELSE DISPLAY "ORDERS ARE INVALID". STOP RUN. READ-PARA. ACCEPT B(I,J). READ-PARA1. ACCEPT C(I,J). ADD-PARA. COMPUTE D(I,J) = B(I,J) + C(I,J). SUB-PARA. COMPUTE E(I,J) = B(I,J) - C(I,J). DISP-PARA. DISPLAY D(I,J). DISP-PARA-1. DISPLAY E(I,J).

RYMEC ,Bellary . Dept. of MCA Page 16

Page 17: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

ENTER THE ORDER OF MATRIX1 2 2ENTER THE ORDER OF MATRIX222ENTER THE ELEMENTS OF THE MATRIX110 85 7ENTER THE ELEMENTS OF THE MATRIX26 23 1RESULT OF MATRIX ADDITION IS16 1008 08RESULT OF MATRIX SUBTRACTION IS04 0602 06

RYMEC ,Bellary . Dept. of MCA Page 17

Page 18: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 5: PROGRAM FOR MATRIX MULTIPLICATION USING TABLE HANDLING CONCEPT.

IDENTIFICATION DIVISION. PROGRAM-ID. MATMUL. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 01 MAT. 02 A OCCURS 10 TIMES. 03 B PIC 9(5) OCCURS 10 TIMES. 03 C PIC 9(5) OCCURS 10 TIMES. 03 D PIC 9(2) OCCURS 10 TIMES. 77 M PIC 999. 77 K PIC 999. 77 N PIC 999. 77 P PIC 999. 77 Q PIC 999. 77 I PIC 999. 77 J PIC 999. PROCEDURE DIVISION. PARA-1. DISPLAY "ENTER THE ORDER OF MATRIX1". ACCEPT M. ACCEPT N. DISPLAY "ENTER THE ORDER OF MATRIX2". ACCEPT P. ACCEPT Q. IF M EQUAL TO P AND N EQUAL TO Q DISPLAY "ENTER THE ELEMENTS OF THE MATRIX1" PERFORM READ-PARA VARYING I FROM 1 BY 1 UNTIL I>M AFTER J FROM 1 BY 1 UNTIL J>N DISPLAY "ENTER THE ELEMENTS OF THE MATRIX2" PERFORM READ-PARA1 VARYING I FROM 1 BY 1 UNTIL I>P AFTER J FROM 1 BY 1 UNTIL J>Q DISPLAY "THE MULTIPLICATION MATRIX IS" PERFORM CALC-PARA VARYING I FROM 1 BY 1 UNTIL I>M AFTER J FROM 1 BY 1 UNTIL J>Q PERFORM DISP-PARA VARYING I FROM 1 BY 1 UNTIL I>P AFTER J FROM 1 BY 1 UNTIL J>Q ELSE DISPLAY "ORDERS ARE INVALID". STOP RUN.

RYMEC ,Bellary . Dept. of MCA Page 18

Page 19: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

READ-PARA. ACCEPT B(I,J). READ-PARA1. ACCEPT C(I,J). CALC-PARA. COMPUTE D(I,J) = 0. PERFORM CALC-PARA1 VARYING K FROM 1 BY 1 UNTIL K>N. CALC-PARA1. COMPUTE D(I,J) = D(I,J) + B(I,K) * C(K,J). DISP-PARA. DISPLAY D(I,J).

RYMEC ,Bellary . Dept. of MCA Page 19

Page 20: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

ENTER THE ORDER OF MATRIX1 2 2ENTER THE ORDER OF MATRIX222ENTER THE ELEMENTS OF THE MATRIX110 85 7ENTER THE ELEMENTS OF THE MATRIX26 23 1THE MULTIPLICATION MATRIX IS84 2851 17

RYMEC ,Bellary . Dept. of MCA Page 20

Page 21: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

FILE CONCEPTS

SEQUENTIAL FILES

A Sequential file is a file, whose records can be accessed in the order of their appearance in the file.

This logic of accessing the records in a sequential manner is independent of the medium used to store a sequential file. A magnetic tape file such as a card or a printer file can only have a sequential organization. A disk file on the other hand can have different organization including the sequential one.

GENERAL SYNTAX OF THE SELECT ENTRY FOR THE SEQUENTIAL FILES :

SELECT [OPTIONAL] file-name ASSIGN TO hardware-name

; RESERVE integer-1 AREA

AREAS

[; ORGANIZATION IS SEQUENTIAL ]

[; ACCESS MODE IS SEQUENTIAL ]

[; FILE STATUS IS data-name-1 ]

STATEMENTS FOR SEQUENTIAL FILES :

All Sequential files basically have 3 verbs. These are READ, WRITE, REWRITE. In addition, there are OPEN & CLOSE verbs.

(i) OPEN STATEMENT: A file can be opened in any one of the 4 open modes – INPUT, OUTPUT, EXTEND and I-O. When a file is opened in a INPUT mode, it becomes an input file. When a file should be created for the first time it must be opened in the OUTPUT mode. The EXTEND mode is useful when an existing file should be appended by adding new records at its end. When a file is opened in the I-O mode records can be read through READ statements & can be written on the file through the REWRITE statement. The WRITE statement cannot be used for the files opened in the I-O mode.

OPEN INPUT OUTPUT file-name-1 [, file-name-2 ] …. EXTEND I-O INPUT OUTPUT file-name-3 [, file-name-4 ] …. EXTEND I-O

RYMEC ,Bellary . Dept. of MCA Page 21

Page 22: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

(ii) CLOSE STATEMENT: The CLOSE statement terminates the processing of the file. As a result of the execution of the CLOSE statement, the IOCS performs the end of file processing. When a CLOSE statement is executed, the file must be open.

CLOSE file-name-1 [ WITH LOCK] [, file-name-2 [WITH LOCK] ]…

(iii) WRITE STATEMENT: The result of a execution of a WRITE statement, the record is released from the record area & is written on to the file. The first execution of the WRITE statement writes the first record & the subsequent executions write the record sequentially.

WRITE record-name [FROM identifier]

(iv) REWRITE STATEMENT: The REWRITE statement is used to update an existing record in the disk file. The REWRITE statement can only be used if the file is opened in the I-O mode & its execution must be preceded by the execution of a successful READ statement on the file.

REWRITE record-name [FROM identifier]

RYMEC ,Bellary . Dept. of MCA Page 22

Page 23: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

SORTING AND MERGING OF FILES

SORT VERB :The SORT verb form is to be used when it is required to sort a given input file. The input file is not disturbed; instead, a new output file containing the records in a sorted order is created. Besides the input and output files, the SORT verb also requires a work file. The work file is used during the process of sorting. Thus the simple SORT verb requires the naming of three files are the unsorted input file, the sorted output file and the work file. The format of the SORT verb is as follows:

SORT file-name-1 ON ASCENDING DESCENDING KEY data-name-1 , data-name-2 …

ON ASCENDING DESCENDING KEY data-name-3, data-name-4 ……

USING file-name-2 GIVING file-name-3. File-name-1 is the name of the work file, whereas the names of the input and output files are to be specified in file-name-2 and file-name-3 respectively. File-name-2 and file-name-3 should be described in the usual manner by means of an FD entry. The work file is to be defined by a sort description entry (SD entry). The format of the SD entry is as follows:

SD file-name

; RECORD CONTAINS integer-1 TO integer-2 CHARACTERS

; DATA RECORD IS OR RECORDS ARE data-name-1 , data-name-2….

RYMEC ,Bellary . Dept. of MCA Page 23

Page 24: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 6.1: PROGRAM TO SORT THE RECORDS IN FILE USING SORT VERB.

IDENTIFICATION DIVISION. PROGRAM-ID. SEQSRT. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT EMP-FILE ASSIGN TO DISK. SELECT S-FILE ASSIGN TO DISK. SELECT EMP-OUT-FILE ASSIGN TO DISK. DATA DIVISION. FILE SECTION. FD EMP-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "EMP.DAT" DATA RECORD IS EMP-REC. 01 EMP-REC. 02 EMP-NO PIC 9(2). 02 EMP-NAME PIC X(20). 02 EMP-DEPT PIC X(20). 02 EMP-BP PIC 9(10). FD EMP-OUT-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "EMP-OUT.DAT" DATA RECORD IS EMP-OUT-REC. 01 EMP-OUT-REC. 02 O-EMP-NO PIC 9(2). 02 O-EMP-NAME PIC X(20). 02 O-EMP-DEPT PIC X(20). 02 O-EMP-BP PIC 9(10). SD S-FILE. 01 S-REC. 02 S-EMP-NO PIC 9(2). 02 FILLER PIC X(20). 02 FILLER PIC X(20). 02 FILLER PIC X(10). WORKING-STORAGE SECTION. 77 NUM PIC 9(3) VALUE ZERO. 77 ANS PIC X(2) VALUE SPACES. 77 FG PIC X(2). PROCEDURE DIVISION. OPEN-PARA. OPEN OUTPUT EMP-FILE.

RYMEC ,Bellary . Dept. of MCA Page 24

Page 25: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

READ-PARA. ADD 1 TO NUM. MOVE NUM TO EMP-NO. DISPLAY "EMPLOYEE NO IS: " EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT". ACCEPT EMP-DEPT. DISPLAY "ENTER EMPLOYEE BASIC PAY". ACCEPT EMP-BP. WRITE EMP-REC. DISPLAY "DO U WANT TO CONTINUE? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO READ-PARA. CLOSE-PARA. CLOSE EMP-FILE. DISPLAY "LIST OF RECORDS BEFORE SORTING". OPEN INPUT EMP-FILE. READOUT-PARA. READ EMP-FILE AT END GO TO END-PARA. DISPLAY "EMPLOYEE NUMBER :" EMP-NO. DISPLAY "EMPLOYEE NAME :" EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT :" EMP-DEPT. DISPLAY "EMPLOYEE BASIC PAY :" EMP-BP. DISPLAY " ". GO TO READOUT-PARA. END-PARA. CLOSE EMP-FILE. ACCEPT FG. DISPLAY "LIST OF RECORDS AFTER SORTING". SORT-PARA. SORT S-FILE ON DESCENDING KEY S-EMP-NO USING EMP-FILE GIVING EMP-OUT-FILE. OPEN INPUT EMP-OUT-FILE. SORTREAD-PARA. READ EMP-OUT-FILE AT END GO TO FINAL-PARA. DISPLAY "EMPLOYEE NUMBER :" O-EMP-NO. DISPLAY "EMPLOYEE NAME :" O-EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT :" O-EMP-DEPT. DISPLAY "EMPLOYEE BASIC PAY :" O-EMP-BP. DISPLAY " ". GO TO SORTREAD-PARA. FINAL-PARA.

RYMEC ,Bellary . Dept. of MCA Page 25

Page 26: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

CLOSE EMP-OUT-FILE. STOP RUN. ======================SAMPLE OUTPUT======================

EMPLOYEE NO IS: 01ENTER EMPLOYEE NAMEMOHANENTER EMPLOYEE DEPARTMENTSALESENTER EMPLOYEE BASIC PAY10000DO U WANT TO CONTINUE ? Y / NYEMPLOYEE NO IS: 02ENTER EMPLOYEE NAMEVIJAYENTER EMPLOYEE DEPARTMENTACCOUNTANTENTER EMPLOYEE BASIC PAY12000DO U WANT TO CONTINUE ? Y / NYEMPLOYEE NO IS: 03ENTER EMPLOYEE NAMEVINAYENTER EMPLOYEE DEPARTMENTMARKETINGENTER EMPLOYEE BASIC PAY13000DO U WANT TO CONTINUE? Y / NN

LIST OF RECORDS BEFORE SORTING

EMPLOYEE NUMBER : 01EMPLOYEE NAME : MOHANEMPLOYEE DEPARTMENT : SALESEMPLOYEE BASIC PAY : 10000

EMPLOYEE NUMBER : 02EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : ACCOUNTANT

RYMEC ,Bellary . Dept. of MCA Page 26

Page 27: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

EMPLOYEE BASIC PAY : 12000

EMPLOYEE NUMBER : 03EMPLOYEE NAME : VINAYEMPLOYEE DEPARTMENT : MARKETINGEMPLOYEE BASIC PAY : 13000

LIST OF RECORDS AFTER SORTING

EMPLOYEE NUMBER : 03EMPLOYEE NAME : VINAYEMPLOYEE DEPARTMENT : MARKETINGEMPLOYEE BASIC PAY : 13000

EMPLOYEE NUMBER : 02EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : ACCOUNTANTEMPLOYEE BASIC PAY : 12000

EMPLOYEE NUMBER : 01EMPLOYEE NAME : MOHANEMPLOYEE DEPARTMENT : SALESEMPLOYEE BASIC PAY : 10000

RYMEC ,Bellary . Dept. of MCA Page 27

Page 28: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

MERGE VERB:

The merging of the files can also be done in COBOL with the help of the MERGE verb. It is possible to merge two or more files with one MERGE statement. The format of the simple MERGE verb is as follows:

MERGE file-name-1 ASCENDINGON KEY data-name-1 [ , data-name-2 ] … DESCENDING

ON ASCENDING DESCENDING KEY data-name-2 [, data-name-4] …….

USING file-name-2, file-name-3 [, file-name-4 ]…GIVING file-name-5.

RYMEC ,Bellary . Dept. of MCA Page 28

Page 29: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 6.2 : PROGRAM TO MERGE FILES USING MERGE VERB.

IDENTIFICATION DIVISION. PROGRAM-ID. SEQMERGE. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT A-FILE ASSIGN TO DISK ORGANIZATION IS LINE SEQUENTIAL. SELECT B-FILE ASSIGN TO DISK ORGANIZATION IS LINE SEQUENTIAL. SELECT C-FILE ASSIGN TO DISK ORGANIZATION IS LINE SEQUENTIAL. SELECT S-FILE ASSIGN TO DISK ORGANIZATION IS LINE SEQUENTIAL. DATA DIVISION. FILE SECTION. FD A-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "A.DAT" BLOCK CONTAINS 2 RECORDS DATA RECORD IS A-REC. 01 A-REC. 02 A-EMP-NO PIC 9(2). 02 A-EMP-NAME PIC X(20). 02 A-EMP-DEPT PIC X(20). 02 A-EMP-BP PIC 9(10). FD B-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "B.DAT" BLOCK CONTAINS 2 RECORDS DATA RECORD IS B-REC. 01 B-REC. 02 B-EMP-NO PIC 9(2). 02 B-EMP-NAME PIC X(20). 02 B-EMP-DEPT PIC X(20). 02 B-EMP-BP PIC 9(10). FD C-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "C.DAT" BLOCK CONTAINS 2 RECORDS DATA RECORD IS C-REC. 01 C-REC.

RYMEC ,Bellary . Dept. of MCA Page 29

Page 30: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

02 C-EMP-NO PIC 9(2). 02 C-EMP-NAME PIC X(20). 02 C-EMP-DEPT PIC X(20) 02 C-EMP-BP PIC 9(10). SD S-FILE. 01 S-REC. 02 S-EMP-NO PIC 9(2). 02 FILLER PIC X(20). 02 FILLER PIC X(20). 02 FILLER PIC X(10). WORKING-STORAGE SECTION. 77 NUM PIC 9(3) VALUE ZERO. 77 ANS PIC X(2) VALUE SPACES. 77 EBP PIC Z(6)9(4). 77 FG PIC X(2). 77 C PIC XX. PROCEDURE DIVISION. OPEN-PARA. OPEN OUTPUT A-FILE. READ1-PARA. DISPLAY "ENTER RECORDS FOR I FILE". DISPLAY "ENTER EMPLOYEE NO". ACCEPT A-EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT A-EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT". ACCEPT A-EMP-DEPT. DISPLAY "ENTER EMPLOYEE BASIC PAY". ACCEPT A-EMP-BP. WRITE A-REC. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO READ1-PARA. CLOSE1-PARA. CLOSE A-FILE. OPEN OUTPUT B-FILE. READ2-PARA. DISPLAY "ENTER RECORDS FOR II FILE". DISPLAY "ENTER EMPLOYEE NO". ACCEPT B-EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT B-EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT".

RYMEC ,Bellary . Dept. of MCA Page 30

Page 31: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

ACCEPT B-EMP-DEPT. DISPLAY "ENTER EMPLOYEE BASIC PAY". ACCEPT B-EMP-BP. WRITE B-REC. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO READ2-PARA. CLOSE2-PARA. CLOSE B-FILE. OPEN INPUT A-FILE. PERFORM DISP-PARA1. CLOSE-A-PARA. CLOSE A-FILE. OPEN INPUT B-FILE. PERFORM DISP-PARA2. CLOSE-B-PARA. CLOSE B-FILE. MERGE S-FILE ON ASCENDING KEY S-EMP-NO USING A-FILE, B-FILE GIVING C-FILE. OPEN INPUT C-FILE. DISPLAY " ". DISPLAY "LIST OF RECORDS AFTER MERGING". PERFORM DISPOUT-PARA. FINAL-PARA. CLOSE C-FILE. STOP RUN. DISP-PARA1. READ A-FILE AT END GO TO CLOSE-A-PARA. DISPLAY " ". DISPLAY "EMPLOYEE NUMBER :" A-EMP-NO. DISPLAY "EMPLOYEE NAME :" A-EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT :" A-EMP-DEPT. MOVE A-EMP-BP TO EBP. DISPLAY "EMPLOYEE BASIC PAY :" EBP. GO TO DISP-PARA1. DISP-PARA2. READ B-FILE AT END GO TO CLOSE-B-PARA. DISPLAY " ". DISPLAY "EMPLOYEE NUMBER :" B-EMP-NO. DISPLAY "EMPLOYEE NAME :" B-EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT :" B-EMP-DEPT. MOVE B-EMP-BP TO EBP.

RYMEC ,Bellary . Dept. of MCA Page 31

Page 32: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DISPLAY "EMPLOYEE BASIC PAY :" EBP. GO TO DISP-PARA2. DISPOUT-PARA. READ C-FILE AT END GO TO FINAL-PARA. DISPLAY " ". DISPLAY "EMPLOYEE NUMBER :" C-EMP-NO. DISPLAY "EMPLOYEE NAME :" C-EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT :" C-EMP-DEPT. MOVE C-EMP-BP TO EBP. DISPLAY "EMPLOYEE BASIC PAY :" EBP. ACCEPT C. GO TO DISPOUT-PARA.

RYMEC ,Bellary . Dept. of MCA Page 32

Page 33: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

=====================SAMPLE OUTPUT======================

ENTER RECORDS FOR I FILEENTER EMPLOYEE NO1ENTER EMPLOYEE NAMEVIJAYENTER EMPLOYEE DEPARTMENTSALESENTER EMPLOYEE BASIC PAY23000DO U WANT TO CONTINUE ? Y / NYENTER RECORDS FOR I FILEENTER EMPLOYEE NO3ENTER EMPLOYEE NAMEMOHANENTER EMPLOYEE DEPARTMENTACCOUNTINGENTER EMPLOYEE BASIC PAY24000DO U WANT TO CONTINUE ? Y / NN

ENTER RECORDS FOR II FILEENTER EMPLOYEE NO2ENTER EMPLOYEE NAMEHARISHENTER EMPLOYEE DEPARTMENTMARKETINGENTER EMPLOYEE BASIC PAY30000DO U WANT TO CONTINUE ? Y / NYENTER RECORDS FOR II FILEENTER EMPLOYEE NO4ENTER EMPLOYEE NAMEPRASHANTHENTER EMPLOYEE DEPARTMENT

RYMEC ,Bellary . Dept. of MCA Page 33

Page 34: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

FINANCEENTER EMPLOYEE BASIC PAY35000DO U WANT TO CONTINUE ? Y / NN

LIST OF RECORDS AFTER MERGING

EMPLOYEE NUMBER : 01EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE BASIC PAY : 23000

EMPLOYEE NUMBER : 03EMPLOYEE NAME : MOHANEMPLOYEE DEPARTMENT : ACCOUNTINGEMPLOYEE BASIC PAY : 24000

EMPLOYEE NUMBER : 02EMPLOYEE NAME : HARISHEMPLOYEE DEPARTMENT : MARKETINGEMPLOYEE BASIC PAY : 30000

EMPLOYEE NUMBER : 04EMPLOYEE NAME : PRASHANTHEMPLOYEE DEPARTMENT : FINANCEEMPLOYEE BASIC PAY : 35000

LIST OF RECORDS AFTER MERGING

EMPLOYEE NUMBER : 01EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE BASIC PAY : 23000

EMPLOYEE NUMBER : 02EMPLOYEE NAME : HARISHEMPLOYEE DEPARTMENT : MARKETINGEMPLOYEE BASIC PAY : 30000

EMPLOYEE NUMBER : 03EMPLOYEE NAME : MOHANEMPLOYEE DEPARTMENT : ACCOUNTING

RYMEC ,Bellary . Dept. of MCA Page 34

Page 35: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

EMPLOYEE BASIC PAY : 24000

EMPLOYEE NUMBER : 04EMPLOYEE NAME : PRASHANTHEMPLOYEE DEPARTMENT: FINANCEEMPLOYEE BASIC PAY : 35000

RYMEC ,Bellary . Dept. of MCA Page 35

Page 36: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 7 : PROGRAM TO READ EMPLOYEE FILE AS SEQUENTIAL FILE AND CALULATE GROSS PAY AND NET PAY FOR EMPLOYEES IN THE ORGANIZATION.

IDENTIFICATION DIVISION. PROGRAM-ID. SEQFILE. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT EMP-FILE ASSIGN TO DISK. DATA DIVISION. FILE SECTION. FD EMP-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "EMP.DAT" DATA RECORD IS EMP-REC. 01 EMP-REC. 02 EMP-NO PIC 9(2). 02 EMP-NAME PIC X(20). 02 EMP-DEPT PIC X(20). 02 EMP-SAL. 03 BPAY PIC 9(10). 03 DA PIC 9(5). 03 HRA PIC 9(8). 03 DED PIC 9(8). 03 GROSSPAY PIC 9(10). 03 NETPAY PIC 9(10). WORKING-STORAGE SECTION. 77 NUM PIC 9(3) VALUE ZERO. 77 ANS PIC X(2) VALUE SPACES. 77 N PIC 9. 77 BP PIC Z(10). 77 GP PIC Z(10). 77 NP PIC Z(10). 77 C PIC XX. PROCEDURE DIVISION. OPEN-PARA. OPEN OUTPUT EMP-FILE. READ-PARA. DISPLAY "ENTER EMPLOYEE NO". ACCEPT EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT".

RYMEC ,Bellary . Dept. of MCA Page 36

Page 37: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

ACCEPT EMP-DEPT. DISPLAY "ENTER EMPLOYEE BASIC PAY". ACCEPT BPAY. DISPLAY "ENTER EMPLOYEE DEARNESS ALLOWANCE". ACCEPT DA. DISPLAY "ENTER EMPLOYEE HRA". ACCEPT HRA. DISPLAY "ENTER EMPLOYEE DEDUCTIONS". ACCEPT DED. COMPUTE GROSSPAY = BPAY + DA + HRA. COMPUTE NETPAY = GROSSPAY - DED. WRITE EMP-REC. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO READ-PARA. CLOSE-PARA. CLOSE EMP-FILE. OPEN INPUT EMP-FILE. READOUT-PARA. READ EMP-FILE AT END GO TO END-PARA. DISPLAY "EMPLOYEE NUMBER :" EMP-NO. DISPLAY "EMPLOYEE NAME :" EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT :" EMP-DEPT. MOVE BPAY TO BP. DISPLAY "EMPLOYEE BASIC PAY :" BP. MOVE GROSSPAY TO GP. DISPLAY "EMPLOYEE GROSS PAY :" GP. MOVE NETPAY TO NP. DISPLAY "EMPLOYEE NET PAY :" NP. ACCEPT C. GO TO READOUT-PARA. END-PARA. CLOSE EMP-FILE. STOP RUN.

RYMEC ,Bellary . Dept. of MCA Page 37

Page 38: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

ENTER EMPLOYEE NAMEVINAYENTER EMPLOYEE DEPARTMENTSALESENTER EMPLOYEE BASIC PAY20000ENTER EMPLOYEE DEARNESS ALLOWANCE500ENTER EMPLOYEE HRA300ENTER EMPLOYEE DEDUCTIONS400

DO U WANT TO CONTINUE ? Y / NY

ENTER EMPLOYEE NO2ENTER EMPLOYEE NAMESUBASHENTER EMPLOYEE DEPARTMENTACCOUNTINGENTER EMPLOYEE BASIC PAY30000ENTER EMPLOYEE DEARNESS ALLOWANCE700ENTER EMPLOYEE HRA400ENTER EMPLOYEE DEDUCTIONS600

DO U WANT TO CONTINUE ? Y / NN

EMPLOYEE NUMBER : 01EMPLOYEE NAME : VINAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE BASIC PAY : 20000EMPLOYEE GROSS PAY : 20800EMPLOYEE NET PAY : 20400

RYMEC ,Bellary . Dept. of MCA Page 38

Page 39: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

EMPLOYEE NUMBER : 02EMPLOYEE NAME : SUBASHEMPLOYEE DEPARTMENT : ACCOUNTINGEMPLOYEE BASIC PAY : 30000EMPLOYEE GROSS PAY : 31100EMPLOYEE NET PAY : 30500

RYMEC ,Bellary . Dept. of MCA Page 39

Page 40: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 8: PROGRAM TO STORE STUDENTS DETAILS WITH RESULTS IN A FILE WITH SEQUENTIAL FILE HANDLING TECHNIQUES.

IDENTIFICATION DIVISION. PROGRAM-ID. STURES. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT STU-FILE ASSIGN TO DISK. DATA DIVISION. FILE SECTION. FD STU-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "STURES.DAT" DATA RECORD IS STU-REC. 01 STU-REC. 02 STU-NO PIC 9(3). 02 STU-NAME PIC X(20). 02 STU-DEPT PIC X(20). 02 MRK1 PIC 9(3). 02 MRK2 PIC 9(3). 02 MRK3 PIC 9(3). 02 MRK4 PIC 9(3). 02 MRK5 PIC 9(3). 02 RES1 PIC X(4). 02 RES2 PIC X(4). 02 RES3 PIC X(4). 02 RES4 PIC X(4). 02 RES5 PIC X(4). 02 TOTAL PIC 9(3). WORKING-STORAGE SECTION. 77 ANS PIC X(2) VALUE SPACES. 77 C PIC XX. PROCEDURE DIVISION. OPEN-PARA. OPEN OUTPUT STU-FILE. READ-PARA. DISPLAY "ENTER STUDENT NO". ACCEPT STU-NO. DISPLAY "ENTER STUDENT NAME". ACCEPT STU-NAME. DISPLAY "ENTER STUDENT DEPARTMENT". ACCEPT STU-DEPT.

RYMEC ,Bellary . Dept. of MCA Page 40

Page 41: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DISPLAY "ENTER MARKS IN COBOL". ACCEPT MRK1. DISPLAY "ENTER MARKS IN UNIX". ACCEPT MRK2. DISPLAY "ENTER MARKS IN DS". ACCEPT MRK3. DISPLAY "ENTER MARKS IN MIS". ACCEPT MRK4. DISPLAY "ENTER MARKS IN OR". ACCEPT MRK5. IF MRK1 IS > 40 OR MRK1 EQUAL TO 40 MOVE "PASS" TO RES1 ELSE MOVE "FAIL" TO RES1.

IF MRK2 IS > 40 OR MRK2 EQUAL TO 40 MOVE "PASS" TO RES2 ELSE MOVE "FAIL" TO RES2.

IF MRK3 IS > 40 OR MRK3 EQUAL TO 40 MOVE "PASS" TO RES3 ELSE MOVE "FAIL" TO RES3.

IF MRK4 IS > 40 OR MRK4 EQUAL TO 40 MOVE "PASS" TO RES4 ELSE MOVE "FAIL" TO RES4. IF MRK5 IS > 40 OR MRK5 EQUAL TO 40 MOVE "PASS" TO RES5 ELSE MOVE "FAIL" TO RES5.

COMPUTE TOTAL =MRK1 + MRK2 + MRK3 + MRK4 + MRK5.

WRITE STU-REC. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO READ-PARA. CLOSE-PARA. CLOSE STU-FILE. OPEN INPUT STU-FILE. READOUT-PARA. READ STU-FILE AT END GO TO END-PARA.

RYMEC ,Bellary . Dept. of MCA Page 41

Page 42: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DISPLAY "STUDENT NUMBER :" STU-NO. DISPLAY "STUDENT NAME :" STU-NAME. DISPLAY "DEPARTMENT NAME:" STU-DEPT. DISPLAY " SUBJECT " "MARKS" "RESULT". DISPLAY " COBOL " MRK1 " " RES1. DISPLAY " UNIX " MRK2 " " RES2. DISPLAY " DS " MRK3 " " RES3. DISPLAY " MIS " MRK4 " " RES4. DISPLAY " OR " MRK5 " " RES5. DISPLAY " ". DISPLAY " TOTAL " TOTAL. DISPLAY " ". DISPLAY " ". ACCEPT C. GO TO READOUT-PARA. END-PARA. CLOSE STU-FILE. STOP RUN.

RYMEC ,Bellary . Dept. of MCA Page 42

Page 43: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

ENTER STUDENT NO1ENTER STUDENT NAMEVENITHAENTER STUDENT DEPARTMENTMCAENTER MARKS IN COBOL66ENTER MARKS IN UNIX78ENTER MARKS IN DS34ENTER MARKS IN MIS56ENTER MARKS IN OR70 DO U WANT TO CONTINUE ? Y / NY

ENTER STUDENT NO2ENTER STUDENT NAMETANUJAENTER STUDENT DEPARTMENTMCAENTER MARKS IN COBOL89ENTER MARKS IN UNIX39ENTER MARKS IN DS67ENTER MARKS IN MIS89ENTER MARKS IN OR70

DO U WANT TO CONTINUE ? Y / NN

RYMEC ,Bellary . Dept. of MCA Page 43

Page 44: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

*****************STUDENT DETAILS*******************

STUDENT NUMBER : 01STUDENT NAME : VENITHADEPARTMENT NAME : MCA

SUBJECT MARKS RESULT COBOL 066 PASS UNIX 078 PASS DS 034 FAIL MIS 056 PASS OR 070 PASS TOTAL 304

STUDENT NUMBER : 002STUDENT NAME : TANUJADEPARTMENT NAME : MCA

SUBJECT MARKS RESULT COBOL 089 PASS UNIX 039 FAIL DS 067 PASS MIS 089 PASS OR 070 PASS TOTAL 354

RYMEC ,Bellary . Dept. of MCA Page 44

Page 45: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 9: WRITE A PROGRAM TO UPDATE MASTER SEQUENTIAL FILE USING SEQUENTIAL TRANSACTION FILE. IDENTIFICATION DIVISION. PROGRAM-ID. FILEUP1. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT OLDMAS ASSIGN TO DISK SELECT TRANS ASSIGN TO DISK. SELECT NEWMAS ASSIGN TO DISK. SELECT SORT-FILE ASSIGN TO DISK. DATA DIVISION. FILE SECTION. FD OLDMAS LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "OLDMAS.DAT" DATA RECORD IS OLDMAS-REC. 01 OLDMAS-REC. 02 O-SALESMANNO PIC 9(5). 02 O-NAME PIC X(20). 02 O-TOTSALES PIC 9(8). FD TRANS LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "TRANS.DAT" DATA RECORD IS TRANS-REC. 01 TRANS-REC. 02 T-SALESMANNO PIC 9(5). 02 T-NAME PIC X(20). 02 T-SALES PIC 9(8). FD NEWMAS LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "NEWMAS.DAT" DATA RECORD IS NEWMAS-REC. 01 NEWMAS-REC. 02 N-SALESMANNO PIC 9(5). 02 N-NAME PIC X(20). 02 N-TOTSALES PIC 9(8).

SD SORT-FILE. 01 SORT-REC. 02 S-SALESMANNO PIC 9(5). 02 FILLER PIC X(20). 02 FILLER PIC X(20). WORKING-STORAGE SECTION. 77 NUM PIC 9(3) VALUE ZERO. 77 ANS PIC X(2) VALUE SPACES.

RYMEC ,Bellary . Dept. of MCA Page 45

Page 46: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

77 END-OF-PGM PIC 9 VALUE ZERO. 77 ERR PIC 9 VALUE ZERO. 77 C PIC X. PROCEDURE DIVISION. OPEN-MPARA. OPEN OUTPUT OLDMAS. READ-MPARA. DISPLAY "ENTER DETAILS OF SALESMAN FOR SALES MASTER FILE". DISPLAY "ENTER SALES MAN NO ". ACCEPT O-SALESMANNO. DISPLAY "ENTER SALES MAN NAME". ACCEPT O-NAME. DISPLAY "ENTER TOTAL SALES". ACCEPT O-TOTSALES. WRITE OLDMAS-REC. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" OR "y" GO TO READ-MPARA. CLOSE-MPARA. CLOSE OLDMAS. DISPLAY (1, 1) ERASE. OPEN INPUT OLDMAS. READOUT-MPARA. READ OLDMAS AT END GO TO END-PARA. DISPLAY "SALESMAN NUMBER: " O-SALESMANNO. DISPLAY "SALESMAN NAME : " O-NAME. DISPLAY "TOTAL SALES: " O-TOTSALES. DISPLAY " ". GO TO READOUT-MPARA. END-PARA. CLOSE OLDMAS. ACCEPT C. DISPLAY (1, 1) ERASE. OPEN-TPARA. OPEN OUTPUT TRANS. READ-TPARA. DISPLAY "ENTER DETAILS FOR SALES DETAILS TRANSACTION FILE". DISPLAY "ENTER SALESMAN NO ". ACCEPT T-SALESMANNO. DISPLAY "ENTER SALESMAN NAME". ACCEPT T-NAME. DISPLAY "ENTER CURRENT SALES". ACCEPT T-SALES. WRITE TRANS-REC. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" OR "y" GO TO READ-TPARA.

RYMEC ,Bellary . Dept. of MCA Page 46

Page 47: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

CLOSE-TPARA. CLOSE TRANS. SORT SORT-FILE ON ASCENDING KEY S-SALESMANNO USING OLDMAS GIVING OLDMAS. SORT SORT-FILE ON ASCENDING KEY S-SALESMANNO USING TRANS GIVING TRANS. PERFORM OPEN-PARA. PERFORM READ-OLDMAS. PERFORM READ-TRANS. PERFORM PROCESSING UNTIL (O-SALESMANNO = 10 AND T-SALESMANNO = 10). CLOSE OLDMAS, TRANS, NEWMAS. OPEN INPUT NEWMAS. DISPLAY (1, 1) ERASE. DISP-PARA. READ NEWMAS AT END GO TO FINAL-PARA. DISPLAY "SALESMANNO NUMBER: " N-SALESMANNO. DISPLAY "SALESMAN NAME : " N-NAME. DISPLAY "TOTAL SALES : " N-TOTSALES. DISPLAY " ". GO TO DISP-PARA. FINAL-PARA. CLOSE NEWMAS. ACCEPT C. STOP RUN. OPEN-PARA. OPEN INPUT OLDMAS, TRANS. OPEN OUTPUT NEWMAS. READ-OLDMAS. READ OLDMAS AT END MOVE 10 TO O-SALESMANNO. READ-TRANS. READ TRANS AT END MOVE 10 TO T-SALESMANNO. PROCESSING. IF O-SALESMANNO = T-SALESMANNO MOVE OLDMAS-REC TO NEWMAS-REC COMPUTE N-TOTSALES = O-TOTSALES + T-SALES WRITE NEWMAS-REC PERFORM READ-OLDMAS PERFORM READ-TRANS ELSE IF T-SALESMANNO < O-SALESMANNO MOVE T-SALESMANNO TO N-SALESMANNO MOVE T-NAME TO N-NAME MOVE T-SALES TO N-TOTSALES WRITE NEWMAS-REC PERFORM READ-TRANS ELSE

RYMEC ,Bellary . Dept. of MCA Page 47

Page 48: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

WRITE NEWMAS-REC FROM OLDMAS-REC PERFORM READ-OLDMAS.

======================SAMPLE OUTPUT======================

ENTER DETAILS OF SALESMAN FOR SALES MASTER FILEENTER SALES MAN NO102ENTER SALES MAN NAMEMANJUENTER TOTAL SALES15000

DO U WANT TO CONTINUE ? Y / NY

ENTER DETAILS OF SALESMAN FOR SALES MASTER FILEENTER SALES MAN NO103ENTER SALES MAN NAMEVIJAYENTER TOTAL SALES16000

DO U WANT TO CONTINUE ? Y / NY

ENTER DETAILS OF SALESMAN FOR SALES MASTER FILEENTER SALES MAN NO104ENTER SALES MAN NAMEMOHANENTER TOTAL SALES17000DO U WANT TO CONTINUE ? Y / NN

**************DETAILS OF SALESMAN FOR SALES MASTER FILE************SALESMAN NUMBER: 00102SALESMAN NAME : MANJUTOTAL SALES: 00015000

SALESMAN NUMBER: 00103SALESMAN NAME : VIJAYTOTAL SALES: 00016000

RYMEC ,Bellary . Dept. of MCA Page 48

Page 49: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

SALESMAN NUMBER: 00104SALESMAN NAME : MOHANTOTAL SALES: 00017000

ENTER DETAILS FOR SALES DETAILS TRANSACTION FILEENTER SALESMAN NO101ENTER SALESMAN NAMEVINAYENTER CURRENT SALES10000

DO U WANT TO CONTINUE ? Y / NY

ENTER DETAILS FOR SALES DETAILS TRANSACTION FILEENTER SALESMAN NO102ENTER SALESMAN NAMEMANJUENTER CURRENT SALES4000

DO U WANT TO CONTINUE ? Y / NY

ENTER DETAILS FOR SALES DETAILS TRANSACTION FILEENTER SALESMAN NO105ENTER SALESMAN NAMEPRADEEPENTER CURRENT SALES20000DO U WANT TO CONTINUE ? Y / NN

********************* DETAILS OF SALES DETAILS TRANSACTION FILE***************

SALESMAN NUMBER: 00101SALESMAN NAME : VINAYTOTAL SALES: 00010000

SALESMAN NUMBER: 00102SALESMAN NAME : MANJUTOTAL SALES: 0004000

SALESMAN NUMBER: 00105

RYMEC ,Bellary . Dept. of MCA Page 49

Page 50: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

SALESMAN NAME : PRADEEPTOTAL SALES: 00020000

**********************DETAILS OF UPDATED NEW MASTER FILE********************

SALESMAN NUMBER: 00101SALESMAN NAME : VINAYTOTAL SALES: 00010000

SALESMAN NUMBER: 00102SALESMAN NAME : MANJUTOTAL SALES: 00019000

SALESMAN NUMBER: 00103SALESMAN NAME : VIJAYTOTAL SALES: 00016000

SALESMAN NUMBER: 00104SALESMAN NAME : MOHANTOTAL SALES: 00017000

SALESMAN NUMBER: 00105SALESMAN NAME : PRADEEPTOTAL SALES: 00020000

RYMEC ,Bellary . Dept. of MCA Page 50

Page 51: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

INDEX FILES

To access the records randomly and to identify them by the values of the key rather than the relative record numbers, the file may be organized an indexed sequential file.

In Index files, the records are stored in the key sequence order. In addition some index tables are also created & maintained with the file. The purpose of the index table is that they provide a means of identifying the groups of records in the file. Thus in order to have access to a record first the group to which a record belongs is identified with the help of the index tables. Then the group is sequentially search to locate the record.

GENERAL FORMAT FOR SELECT CLAUSE FOR INDEX FILES :

SELECT file-name ASSIGN TO implementer-name

[; RESERVE integer-1 [AREA/AREAS]]

, ORGANIZATION IS INDEXED

; ACCESS MODE IS SEQUENTIAL

RANDOM

DYNAMIC

; RECORD KEY IS data-name-1

[; ALTERNATE RECORD KEY IS data-name-2

[WITH DUPLICATES] ]…

[; FILE STATUS IS data-name-3]

STATEMENTS FOR INDEXED FILES:

READ STATEMENT : When either the RANDOM or DYNAMIC access mode is specified & the records are to be read in a random manner.

READ file-name RECORD [ INTO identifier ]

[; KEY IS data-name ]

[; INVALID KEY imperative-statement ]

WRITE STATEMENT : The records are written to the logical position as determined from the value of the record key. When the file is opened in the OUTPUT mode, the records must be released to the file in the ascending order of the record key values regardless of the access mode.

RYMEC ,Bellary . Dept. of MCA Page 51

Page 52: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DELETE STATEMENT :The DELETE Statement deletes the data contained in the specified record position of a relative file.

DELETE file-name RECORD [ ; INVALID KEY

Imperative-statement ]

START STATEMENT : The START statement enables the programmer to position the relative file at some specified point. So that subsequent sequential operations on the file can start from this point instead of the beginning.

REWRITE STATEMENT : The REWRITE statement is used to replace an existing record by the contents of the record specified in the record name.

RYMEC ,Bellary . Dept. of MCA Page 52

Page 53: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 10 : USING THE INDEX FILE ORGANIZATION, WRITE A PROGRAM TO STORE EMPLOYEE DETAILS.

IDENTIFICATION DIVISION. PROGRAM-ID. EMPIND. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT EMP-FILE ASSIGN TO DISK ORGANIZATION IS INDEXED ACCESS MODE IS DYNAMIC RECORD KEY IS EMP-NO. DATA DIVISION. FILE SECTION. FD EMP-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "EMPIND.DAT" DATA RECORD IS EMP-REC. 01 EMP-REC. 02 EMP-NO PIC 9(5). 02 EMP-NAME PIC X(25). 02 EMP-DEPT PIC X(25). 02 EMP-SAL PIC 9(10). WORKING-STORAGE SECTION. 77 TOTREC PIC 9(3) VALUE ZERO. 77 ANS PIC X(2) VALUE SPACES. 77 CH PIC 9. 77 C PIC X. PROCEDURE DIVISION. PARA-1. DISPLAY (1, 1) ERASE. DISPLAY "1. CREATE". DISPLAY "2. DISPLAY". DISPLAY "3. INSERT". DISPLAY "4. DELETE". DISPLAY "5. MODIFY". DISPLAY "6. EXIT". DISPLAY "ENTER YOUR CHOICE". ACCEPT CH. IF CH=1 GO TO OPEN-PARA. IF CH=2 GO TO DIS-PARA. IF CH=3 GO TO INS-PARA. IF CH=4 GO TO DEL-PARA. IF CH=5 GO TO MOD-PARA. IF CH=6 GO TO END-PARA. OPEN-PARA. OPEN OUTPUT EMP-FILE.

RYMEC ,Bellary . Dept. of MCA Page 53

Page 54: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

READ-PARA. DISPLAY (1, 1) ERASE. DISPLAY "ENTER THE EMPLOYEE DETAILS". DISPLAY "ENTER EMPLOYEE NUMBER: ". ACCEPT EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT". ACCEPT EMP-DEPT. DISPLAY "ENTER EMPLOYEE SALARY". ACCEPT EMP-SAL.

WRITE EMP-REC INVALID KEY DISPLAY "ERROR" CLOSE EMP-FILE GO TO PARA-1. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO READ-PARA. CLOSE-PARA. CLOSE EMP-FILE. GO TO PARA-1. DIS-PARA. OPEN INPUT EMP-FILE. READOUT-PARA. READ EMP-FILE NEXT RECORD AT END GO TO DISEND-PARA. DISPLAY "EMPLOYEE NUMBER : " EMP-NO. DISPLAY "EMPLOYEE NAME : " EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT : " EMP-DEPT. DISPLAY "EMPLOYEE SALARY : " EMP-SAL. ACCEPT C. GO TO READOUT-PARA. DISEND-PARA. CLOSE EMP-FILE. GO TO PARA-1.

INS-PARA. OPEN I-O EMP-FILE. I-PARA. DISPLAY (1, 1) ERASE. DISPLAY "ENTER EMPLOYEE DETAILS". DISPLAY "ENTER EMPLOYEE NO: ". ACCEPT EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT". ACCEPT EMP-DEPT. DISPLAY "ENTER EMPLOYEE SALARY".

RYMEC ,Bellary . Dept. of MCA Page 54

Page 55: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

ACCEPT EMP-SAL. WRITE EMP-REC INVALID KEY DISPLAY "ERROR " CLOSE EMP-FILE GO TO PARA-1. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO I-PARA. ENDINS-PARA. CLOSE EMP-FILE. GO TO PARA-1. DEL-PARA. OPEN I-O EMP-FILE. DISPLAY "ENTER THE EMPLOYEE NO TO BE DELETED". ACCEPT EMP-NO. DELETE EMP-FILE RECORD INVALID KEY DISPLAY "EMPLOYEE NO DOES NOT EXIST" CLOSE EMP-FILE GO TO PARA-1. DISPLAY "ONE RECORD IS DELETED". ACCEPT C. CLOSE EMP-FILE. GO TO PARA-1. MOD-PARA. OPEN I-O EMP-FILE. DISPLAY "ENTER THE CUSTOMER NO OF THE RECORD TO BE MODIFIED". ACCEPT EMP-NO. READ EMP-FILE RECORD INVALID KEY DISPLAY "RECORD DOES NOT EXIST - MODIFICATION NOT POSSIBLE" CLOSE EMP-FILE GO TO PARA-1. DISPLAY " " DISPLAY "OLD INFORMATIONS ARE". DISPLAY "====================". DISPLAY " ". DISPLAY "EMPLOYEE NUMBER : " EMP-NO. DISPLAY "EMPLOYEE NAME : " EMP-NAME. DISPLAY "DEPARTMENT : " EMP-DEPT. DISPLAY "EMPLOYEE SALARY : " EMP-SAL. DISPLAY " " DISPLAY "ENTER THE NEW INFORMATION TO BE UPDATED". DISPLAY " ". DISPLAY "ENTER EMPLOYEE DETAILS". DISPLAY "EMPLOYEE NO: " EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT". ACCEPT EMP-DEPT. DISPLAY "ENTER EMPLOYEE SALARY". ACCEPT EMP-SAL. REWRITE EMP-REC INVALID KEY

RYMEC ,Bellary . Dept. of MCA Page 55

Page 56: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DISPLAY "ERROR WHILE MODIFYING" CLOSE EMP-FILE GO TO PARA-1. M-PARA. CLOSE EMP-FILE. GO TO PARA-1. END-PARA. STOP RUN.

RYMEC ,Bellary . Dept. of MCA Page 56

Page 57: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. EXITENTER YOUR CHOICE1

ENTER THE EMPLOYEE DETAILSENTER EMPLOYEE NUMBER:101ENTER EMPLOYEE NAMEKUMARENTER EMPLOYEE DEPARTMENTSALESENTER EMPLOYEE SALARY21000DO U WANT TO CONTINUE ? Y / NY

ENTER THE EMPLOYEE DETAILSENTER EMPLOYEE NUMBER:100ENTER EMPLOYEE NAMESUNILENTER EMPLOYEE DEPARTMENTMARKETINGENTER EMPLOYEE SALARY25000DO U WANT TO CONTINUE ? Y / NYENTER THE EMPLOYEE DETAILSENTER EMPLOYEE NUMBER:103ENTER EMPLOYEE NAMESURESHENTER EMPLOYEE DEPARTMENTFINANCEENTER EMPLOYEE SALARY45000DO U WANT TO CONTINUE ? Y / NN1. CREATE2. DISPLAY3. INSERT

RYMEC ,Bellary . Dept. of MCA Page 57

Page 58: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

4. DELETE5. MODIFY6. EXITENTER YOUR CHOICE2EMPLOYEE NUMBER : 00100EMPLOYEE NAME : SUNILEMPLOYEE DEPARTMENT : MARKETINGEMPLOYEE SALARY : 0000025000

EMPLOYEE NUMBER : 00101EMPLOYEE NAME : KUMAREMPLOYEE DEPARTMENT : SALESEMPLOYEE SALARY : 0000021000

EMPLOYEE NUMBER : 00103EMPLOYEE NAME : SURESHEMPLOYEE DEPARTMENT : FINANCEEMPLOYEE SALARY : 0000045000

1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. EXITENTER YOUR CHOICE3

ENTER EMPLOYEE DETAILSENTER EMPLOYEE NO:102ENTER EMPLOYEE NAMEMOHANENTER EMPLOYEE DEPARTMENTADVERTISINGENTER EMPLOYEE SALARY34000DO U WANT TO CONTINUE ? Y / NN1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. EXITENTER YOUR CHOICE

RYMEC ,Bellary . Dept. of MCA Page 58

Page 59: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

2EMPLOYEE NUMBER : 00100EMPLOYEE NAME : SUNILEMPLOYEE DEPARTMENT : MARKETINGEMPLOYEE SALARY : 0000025000

EMPLOYEE NUMBER : 00101EMPLOYEE NAME : KUMAREMPLOYEE DEPARTMENT : SALESEMPLOYEE SALARY : 0000021000

EMPLOYEE NUMBER : 00102EMPLOYEE NAME : MOHANEMPLOYEE DEPARTMENT : ADVERTISINGEMPLOYEE SALARY : 0000034000

EMPLOYEE NUMBER : 00103EMPLOYEE NAME : SURESHEMPLOYEE DEPARTMENT : FINANCEEMPLOYEE SALARY : 0000045000

1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. EXITENTER YOUR CHOICE4ENTER THE EMPLOYEE NO TO BE DELETED103ONE RECORD IS DELETED

1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. EXITENTER YOUR CHOICE2EMPLOYEE NUMBER : 00100EMPLOYEE NAME : SUNILEMPLOYEE DEPARTMENT : MARKETINGEMPLOYEE SALARY : 0000025000

EMPLOYEE NUMBER : 00101

RYMEC ,Bellary . Dept. of MCA Page 59

Page 60: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

EMPLOYEE NAME : KUMAREMPLOYEE DEPARTMENT : SALESEMPLOYEE SALARY : 0000021000 EMPLOYEE NUMBER : 00102EMPLOYEE NAME : MOHANEMPLOYEE DEPARTMENT : ADVERTISINGEMPLOYEE SALARY : 0000034000

1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. EXITENTER YOUR CHOICE5ENTER THE CUSTOMER NO OF THE RECORD TO BE MODIFIED102

OLD INFORMATIONS ARE====================

EMPLOYEE NUMBER : 00102EMPLOYEE NAME : MOHANDEPARTMENT : ADVERTISINGEMPLOYEE SALARY : 0000034000

ENTER THE NEW INFORMATION TO BE UPDATED

ENTER EMPLOYEE DETAILSEMPLOYEE NO: 00102ENTER EMPLOYEE NAMEVIJAYENTER EMPLOYEE DEPARTMENTADVERTISINGENTER EMPLOYEE SALARY31000

1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. EXITENTER YOUR CHOICE6

RYMEC ,Bellary . Dept. of MCA Page 60

Page 61: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 11: PROGRAM TO UPDATE THE EMPLOYEE SALARY (INCREASE OF DA BY 3%) BY USING THE INDEX FILE ORGANIZATION.

IDENTIFICATION DIVISION. PROGRAM-ID. EMPSALUP. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT EMPUP-FILE ASSIGN TO DISK ORGANIZATION IS INDEXED ACCESS MODE IS DYNAMIC RECORD KEY IS EMP-NO. DATA DIVISION. FILE SECTION. FD EMPUP-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "EMPUP.DAT" DATA RECORD IS EMPUP-REC. 01 EMPUP-REC. 02 EMP-NO PIC 9(2). 02 EMP-NAME PIC X(20). 02 EMP-DEPT PIC X(20). 02 EMP-SAL. 03 BPAY PIC 9(10). 03 DA PIC 9(5). 03 HRA PIC 9(8). 03 DED PIC 9(8). 03 GROSSPAY PIC 9(10). 03 NETPAY PIC 9(10). WORKING-STORAGE SECTION. 77 NUM PIC 9(3) VALUE ZERO. 77 ANS PIC X(2) VALUE SPACES. 77 N PIC 9. 77 D1 PIC 9(4). 77 D2 PIC 9(4). 77 C PIC XX. 77 BP PIC Z(10). 77 GP PIC Z(10). 77 NP PIC Z(10). PROCEDURE DIVISION. OPEN-PARA. OPEN OUTPUT EMPUP-FILE. READ-PARA.

RYMEC ,Bellary . Dept. of MCA Page 61

Page 62: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DISPLAY "ENTER EMPLOYEE NO". ACCEPT EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT". ACCEPT EMP-DEPT. DISPLAY "ENTER EMPLOYEE BASIC PAY". ACCEPT BPAY. DISPLAY "ENTER EMPLOYEE DEARNESS ALLOWANCE - IN %". ACCEPT DA. DISPLAY "ENTER EMPLOYEE HRA". ACCEPT HRA. DISPLAY "ENTER EMPLOYEE DEDUCTIONS". ACCEPT DED. COMPUTE GROSSPAY = BPAY + BPAY * DA / 100 + HRA. COMPUTE NETPAY = GROSSPAY - DED. WRITE EMPUP-REC. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO READ-PARA. CLOSE-PARA. CLOSE EMPUP-FILE. OPEN-PARA1. OPEN INPUT EMPUP-FILE. DISP-PARA. READ EMPUP-FILE NEXT RECORD AT END GO TO CLOSE-PARA1. DISPLAY "EMPLOYEE NUMBER :" EMP-NO. DISPLAY "EMPLOYEE NAME :" EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT :" EMP-DEPT. MOVE BPAY TO BP. DISPLAY "EMPLOYEE BASIC PAY :" BP. MOVE GROSSPAY TO GP. DISPLAY "EMPLOYEE GROSS PAY :" GP. MOVE NETPAY TO NP. DISPLAY "EMPLOYEE NET PAY :" NP. ACCEPT C. GO TO DISP-PARA. CLOSE-PARA1. CLOSE EMPUP-FILE. UPOPEN-PARA. OPEN I-O EMPUP-FILE. UP-PARA. READ EMPUP-FILE NEXT RECORD AT END GO TO END-PARA.

RYMEC ,Bellary . Dept. of MCA Page 62

Page 63: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

COMPUTE DA = DA + 3. COMPUTE GROSSPAY = BPAY + BPAY * DA / 100 + HRA. COMPUTE NETPAY = GROSSPAY - DED. DISPLAY "DA INCREASED BY 3 PERCENT". DISPLAY " ". DISPLAY "EMPLOYEE NUMBER :" EMP-NO. DISPLAY "EMPLOYEE NAME :" EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT :" EMP-DEPT. MOVE BPAY TO BP. DISPLAY "EMPLOYEE BASIC PAY :" BP. MOVE GROSSPAY TO GP. DISPLAY "EMPLOYEE GROSS PAY :" GP. MOVE NETPAY TO NP. DISPLAY "EMPLOYEE NET PAY :" NP. REWRITE EMPUP-REC. GO TO UP-PARA. END-PARA. CLOSE EMPUP-FILE. STOP RUN.

RYMEC ,Bellary . Dept. of MCA Page 63

Page 64: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

ENTER EMPLOYEE NO12ENTER EMPLOYEE NAMEVIJAYENTER EMPLOYEE DEPARTMENTSALESENTER EMPLOYEE BASIC PAY20000ENTER EMPLOYEE DEARNESS ALLOWANCE - IN %3ENTER EMPLOYEE HRA400ENTER EMPLOYEE DEDUCTIONS500DO U WANT TO CONTINUE ? Y / NNEMPLOYEE NUMBER : 12EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE BASIC PAY : 20000EMPLOYEE GROSS PAY : 21000EMPLOYEE NET PAY : 20500

DA INCREASED BY 3 PERCENTEMPLOYEE NUMBER : 12EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE BASIC PAY : 20000EMPLOYEE GROSS PAY : 21600EMPLOYEE NET PAY : 21100

RYMEC ,Bellary . Dept. of MCA Page 64

Page 65: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 12: PROGRAM TO DELETE AND SEARCH A RECORD IN THE INDEX FILE. IDENTIFICATION DIVISION. PROGRAM-ID. PG12. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT EMP-FILE ASSIGN TO DISK ORGANIZATION IS INDEXED ACCESS MODE IS DYNAMIC RECORD KEY IS EMP-NO. DATA DIVISION. FILE SECTION. FD EMP-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "EMPSRCH.DAT" DATA RECORD IS EMP-REC. 01 EMP-REC. 02 EMP-NO PIC 9(5). 02 EMP-NAME PIC X(25). 02 EMP-DEPT PIC X(25). 02 EMP-SAL PIC 9(10). WORKING-STORAGE SECTION. 77 ENO PIC 9(5) VALUE ZERO. 77 ANS PIC X(2) VALUE SPACES. 77 OP PIC 9. 77 C PIC X. PROCEDURE DIVISION. PARA-1. DISPLAY (1, 1) ERASE. DISPLAY "1. CREATE". DISPLAY "2. DISPLAY". DISPLAY "3. INSERT". DISPLAY "4. DELETE". DISPLAY "5. MODIFY". DISPLAY "6. SEARCH". DISPLAY "7. EXIT". DISPLAY "ENTER YOUR CHOICE". ACCEPT OP. IF OP=1 GO TO OPEN-PARA. IF OP=2 GO TO DIS-PARA. IF OP=3 GO TO INS-PARA. IF OP=4 GO TO DEL-PARA.

RYMEC ,Bellary . Dept. of MCA Page 65

Page 66: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

IF OP=5 GO TO MOD-PARA. IF OP=6 GO TO SEARCH-PARA. IF OP=7 GO TO END-PARA. OPEN-PARA. OPEN OUTPUT EMP-FILE. READ-PARA. DISPLAY (1, 1) ERASE. DISPLAY "ENTER THE EMPLOYEE DETAILS". DISPLAY "ENTER EMPLOYEE NUMBER: ". ACCEPT EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT". ACCEPT EMP-DEPT. DISPLAY "ENTER EMPLOYEE SALARY". ACCEPT EMP-SAL. WRITE EMP-REC INVALID KEY DISPLAY "ERROR" CLOSE EMP-FILE GO TO PARA-1. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO READ-PARA. CLOSE-PARA. CLOSE EMP-FILE. GO TO PARA-1. DIS-PARA. OPEN INPUT EMP-FILE. READOUT-PARA. READ EMP-FILE NEXT RECORD AT END GO TO DISEND-PARA. DISPLAY "EMPLOYEE NUMBER : " EMP-NO. DISPLAY "EMPLOYEE NAME : " EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT : " EMP-DEPT. DISPLAY "EMPLOYEE SALARY : " EMP-SAL. ACCEPT C. GO TO READOUT-PARA. DISEND-PARA. CLOSE EMP-FILE. GO TO PARA-1.

INS-PARA. OPEN I-O EMP-FILE. I-PARA. DISPLAY (1, 1) ERASE. DISPLAY "ENTER EMPLOYEE DETAILS".

RYMEC ,Bellary . Dept. of MCA Page 66

Page 67: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DISPLAY "ENTER CUSTOMER NO: ". ACCEPT EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT". ACCEPT EMP-DEPT. DISPLAY "ENTER EMPLOYEE SALARY". ACCEPT EMP-SAL. WRITE EMP-REC INVALID KEY DISPLAY "ERROR " CLOSE EMP-FILE GO TO PARA-1. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO I-PARA. ENDINS-PARA. CLOSE EMP-FILE. GO TO PARA-1.

DEL-PARA. OPEN I-O EMP-FILE. DISPLAY "ENTER THE EMPLOYEE NO TO BE DELETED". ACCEPT EMP-NO. DELETE EMP-FILE RECORD INVALID KEY DISPLAY "EMPLOYEE NO DOES NOT EXIST" CLOSE EMP-FILE GO TO PARA-1. DISPLAY "ONE RECORD IS DELETED". ACCEPT C. CLOSE EMP-FILE. GO TO PARA-1. MOD-PARA. OPEN I-O EMP-FILE. DISPLAY "ENTER THE CUSTOMER NO OF THE RECORD TO BE MODIFIED". ACCEPT EMP-NO. READ EMP-FILE RECORD INVALID KEY DISPLAY "RECORD DOES NOT EXIST - MODIFICATION NOT POSSIBLE" CLOSE EMP-FILE GO TO PARA-1. DISPLAY " " DISPLAY "OLD INFORMATIONS ARE". DISPLAY "====================". DISPLAY " ". DISPLAY "EMPLOYEE NUMBER : " EMP-NO. DISPLAY "EMPLOYEE NAME : " EMP-NAME. DISPLAY "DEPARTMENT : " EMP-DEPT. DISPLAY "EMPLOYEE SALARY : " EMP-SAL.

RYMEC ,Bellary . Dept. of MCA Page 67

Page 68: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DISPLAY " " DISPLAY "ENTER THE NEW INFORMATION TO BE UPDATED". DISPLAY " ". DISPLAY "ENTER EMPLOYEE DETAILS". DISPLAY "EMPLOYEE NO: " EMP-NO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT EMP-NAME. DISPLAY "ENTER EMPLOYEE DEPARTMENT". ACCEPT EMP-DEPT. DISPLAY "ENTER EMPLOYEE SALARY". ACCEPT EMP-SAL. REWRITE EMP-REC INVALID KEY DISPLAY "ERROR WHILE MODIFYING" CLOSE EMP-FILE GO TO PARA-1. M-PARA. CLOSE EMP-FILE. GO TO PARA-1. SEARCH-PARA. OPEN INPUT EMP-FILE. DISPLAY "ENTER EMPLOYEE NO TO BE SEARCHED". ACCEPT EMP-NO. READ EMP-FILE RECORD INVALID KEY DISPLAY "EMPLOYEE NO DOES NOT EXIST" CLOSE EMP-FILE GO TO PARA-1. DISPLAY "EMPLOYEE IS FOUND". DISPLAY "EMPLOYEE NUMBER : " EMP-NO. DISPLAY "EMPLOYEE NAME : " EMP-NAME. DISPLAY "EMPLOYEE DEPARTMENT : " EMP-DEPT. DISPLAY "EMPLOYEE SALARY : " EMP-SAL. ACCEPT C. CLOSE EMP-FILE. GO TO PARA-1. END-PARA. STOP RUN.

RYMEC ,Bellary . Dept. of MCA Page 68

Page 69: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE1ENTER THE EMPLOYEE DETAILSENTER EMPLOYEE NUMBER:10ENTER EMPLOYEE NAMEVIJAYENTER EMPLOYEE DEPARTMENTSALESENTER EMPLOYEE SALARY30000DO U WANT TO CONTINUE ? Y / NYENTER THE EMPLOYEE DETAILSENTER EMPLOYEE NUMBER:20ENTER EMPLOYEE NAMEMOHANENTER EMPLOYEE DEPARTMENTMARKETINGENTER EMPLOYEE SALARY40000DO U WANT TO CONTINUE ? Y / NN1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE2

RYMEC ,Bellary . Dept. of MCA Page 69

Page 70: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

EMPLOYEE NUMBER : 00010EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE SALARY : 30000

EMPLOYEE NUMBER : 00020EMPLOYEE NAME : MOHANEMPLOYEE DEPARTMENT : MARKETINGEMPLOYEE SALARY : 40000

1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE3ENTER EMPLOYEE DETAILSENTER CUSTOMER NO:40ENTER EMPLOYEE NAMEVINAYENTER EMPLOYEE DEPARTMENTPRODUCTIONENTER EMPLOYEE SALARY50000DO U WANT TO CONTINUE ? Y / NN1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE2EMPLOYEE NUMBER : 00010EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE SALARY : 30000

RYMEC ,Bellary . Dept. of MCA Page 70

Page 71: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

EMPLOYEE NUMBER : 00020EMPLOYEE NAME : MOHANEMPLOYEE DEPARTMENT : MARKETINGEMPLOYEE SALARY : 40000

EMPLOYEE NUMBER : 00040EMPLOYEE NAME : VINAYEMPLOYEE DEPARTMENT : PRODUCTIONEMPLOYEE SALARY : 50000

1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE4ENTER THE EMPLOYEE NO TO BE DELETED20ONE RECORD IS DELETED

1. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE2EMPLOYEE NUMBER : 00010EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE SALARY : 30000

EMPLOYEE NUMBER : 00040EMPLOYEE NAME : VINAYEMPLOYEE DEPARTMENT : PRODUCTIONEMPLOYEE SALARY : 500001. CREATE

RYMEC ,Bellary . Dept. of MCA Page 71

Page 72: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

2. DISPLAY3. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE5ENTER THE CUSTOMER NO OF THE RECORD TO BE MODIFIED40

OLD INFORMATIONS ARE====================

EMPLOYEE NUMBER : 00040EMPLOYEE NAME : VINAYDEPARTMENT : PRODUCTIONEMPLOYEE SALARY : 50000

ENTER THE NEW INFORMATION TO BE UPDATED

ENTER EMPLOYEE DETAILSEMPLOYEE NO : 00040ENTER EMPLOYEE NAMEPRASANTHENTER EMPLOYEE DEPARTMENTPRODUCTIONENTER EMPLOYEE SALARY600001. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE2EMPLOYEE NUMBER : 00010EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE SALARY : 30000

RYMEC ,Bellary . Dept. of MCA Page 72

Page 73: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

EMPLOYEE NUMBER : 00040EMPLOYEE NAME : PRASANTHEMPLOYEE DEPARTMENT : PRODUCTIONEMPLOYEE SALARY : 600001. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE6ENTER EMPLOYEE NO TO BE SEARCHED10EMPLOYEE IS FOUNDEMPLOYEE NUMBER : 00010EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE SALARY : 300003. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE6ENTER EMPLOYEE NO TO BE SEARCHED10EMPLOYEE IS FOUNDEMPLOYEE NUMBER : 00010EMPLOYEE NAME : VIJAYEMPLOYEE DEPARTMENT : SALESEMPLOYEE SALARY : 300001. CREATE2. DISPLAY3. INSERT4. DELETE5. MODIFY6. SEARCH7. EXITENTER YOUR CHOICE7

RYMEC ,Bellary . Dept. of MCA Page 73

Page 74: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

RELATIVE FILE

A relative file is a magnetic disk file organized in such a way that a relative record number identifies each record. The relative record number specifies the position of the record from the beginning of the file. A relative file can be accessed either sequentially or randomly. When the file is accessed sequentially the records are accessed in the increasing order of their relative record number. When a file is accessed randomly, the programmer must specify the relative record number. In case of relative file organization, the reading as well as the writing can be done randomly.

GENERAL FORMAT FOR THE SELECT CLAUSE FOR RELATIVE FILES :

SELECT file-name ASSIGN TO implementor-name

; RESERVE integer-1 AREA

AREAS

; ORGANIZATION IS RELATIVE

; ACCESS MODE IS SEQUENTIAL [, RELATIVE KEY IS data-name-1]

RANDOM

DYNAMIC , RELATIVE KEY IS data-name-1

[; FILE STATUS IS data-name-2]

STATEMENTS FOR RELATIVE FILE :

The statements OPEN, CLOSE, WRITE & REWRITE, DELETE & START are all available for the relative files.

READ STATEMENT : READ statement reads a record of the file. The file must be open in either the INPUT or I-O mode.

Format -1

READ file-name RECORD [ INTO identifier ]

[ ; AT END imperative-statement ]

RYMEC ,Bellary . Dept. of MCA Page 74

Page 75: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

Format-2

READ file-name RECORD [ INTO identifier ]

[; INVALID KEY imperative-statement ]

WRITE STATEMENT : At the time of execution of the WRITE statement, the file must be open either in the OUTPUT or I-O mode.

WRITE record-name [ FROM identifier ]

[; INVALID KEY imperative-statement]

REWRITE STATEMENT : The REWRITE statement is used to replace an existing record by the contents of the record specified in the record name.

REWRITE record-name [ FROM identifier ]

[ ; INVALID KEY imperative-statement ]

DELETE STATEMENT :The DELETE Statement deletes the data contained in the specified record position of a relative file.

DELETE file-name RECORD [ ; INVALID KEY

Imperative-statement ]

START STATEMENT : The START statement enables the programmer to position the relative file at some specified point. So that subsequent sequential operations on the file can start from this point instead of the beginning.

START file-name KEY IS EQUAL TO =

GREATER THAN > data-name

NOT LESS THAN

NOT <

[; INVALID KEY imperative statement]

RYMEC ,Bellary . Dept. of MCA Page 75

Page 76: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 13: PROGRAM TO CALCULATE NET PAY AND GROSS PAY BY READING REALATIVE FILE CONTAINING FIELDS EMP-NO, EMP-NAME, BASIC-PAY. STORE THE OUTPUT IN RELATIVE FILE.

IDENTIFICATION DIVISION. PROGRAM-ID. RELEMP. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT RELEMP-FILE ASSIGN TO DISK ORGANIZATION IS RELATIVE ACCESS MODE IS DYNAMIC RELATIVE KEY IS REL-KEY. DATA DIVISION. FILE SECTION. FD RELEMP-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "RELEMP.DAT" DATA RECORD IS RELEMP-REC. 01 RELEMP-REC. 02 EMPNO PIC 9(2). 02 EMPNAME PIC X(20). 02 EMPDEPT PIC X(20). 02 EMPSAL. 03 BASIC PIC 9(10). 03 DA PIC 9(5). 03 HRA PIC 9(6). 03 PT PIC 9(5). 03 IT PIC 9(5). 03 PFD PIC 9(5). 03 GROSS PIC 9(10). 03 NETPAY PIC 9(10). WORKING-STORAGE SECTION. 77 REL-KEY PIC 99 VALUE ZERO. 77 C PIC X. 77 ANS PIC X(2) VALUE SPACES. PROCEDURE DIVISION. OPEN-PARA. OPEN OUTPUT RELEMP-FILE. READ-PARA. ADD 1 TO REL-KEY. DISPLAY "ENTER EMPLOYEE DETAILS". DISPLAY "ENTER EMPLOYEE NO: ".

RYMEC ,Bellary . Dept. of MCA Page 76

Page 77: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

ACCEPT EMPNO. DISPLAY "ENTER EMPLOYEE NAME". ACCEPT EMPNAME. DISPLAY "ENTER DEPARTMENT". ACCEPT EMPDEPT. DISPLAY "ENTER BASIC PAY". ACCEPT BASIC. DISPLAY "ENTER DA". ACCEPT DA. DISPLAY "ENTER HRA". ACCEPT HRA. DISPLAY "ENTER PROFESSIONAL TAX". ACCEPT PT. DISPLAY "ENTER INCOME TAX". ACCEPT IT. DISPLAY "ENTER PF". ACCEPT PFD. COMPUTE GROSS = BASIC + HRA + DA. COMPUTE NETPAY = GROSS - (PT + IT + PFD). WRITE RELEMP-REC INVALID KEY GO TO ERROR-PARA. DISPLAY "DO U WANT TO CONTINUE ? Y / N". ACCEPT ANS. IF ANS = "Y" GO TO READ-PARA. CLOSE-PARA. CLOSE RELEMP-FILE. OPEN INPUT RELEMP-FILE. READOUT-PARA. READ RELEMP-FILE NEXT RECORD AT END GO TO END-PARA. DISPLAY (1 1) ERASE. DISPLAY "=====================". DISPLAY "EMPLOYEE NUMBER : " EMPNO. DISPLAY "EMPLOYEE NAME : " EMPNAME. DISPLAY "DEPARTMENT : " EMPDEPT. DISPLAY "=====================". DISPLAY "SALARY DETAILS". DISPLAY "==============". DISPLAY "BASIC PAY : " BASIC. DISPLAY " ". DISPLAY "ALLOWANCES". DISPLAY "==========". DISPLAY "HRA : " HRA. DISPLAY "DA : " DA. DISPLAY " ".

RYMEC ,Bellary . Dept. of MCA Page 77

Page 78: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DISPLAY "DEDUCTIONS". DISPLAY "==========". DISPLAY "PROFESSIONAL TAX : " PT. DISPLAY "INCOME TAX : " IT. DISPLAY "PROVIDENT FUND : " PFD. DISPLAY " ". DISPLAY "=====================". DISPLAY "GROSS PAY : " GROSS. DISPLAY "NET PAY : " NETPAY. DISPLAY "=====================". ACCEPT C. GO TO READOUT-PARA.

END-PARA. CLOSE RELEMP-FILE. STOP RUN. ERROR-PARA. DISPLAY "ERROR IN FILE ACCESSION". GO TO END-PARA.

RYMEC ,Bellary . Dept. of MCA Page 78

Page 79: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

ENTER EMPLOYEE DETAILSENTER EMPLOYEE NO:10ENTER EMPLOYEE NAMEVIJAYENTER DEPARTMENTSALESENTER BASIC PAY30000ENTER DA500ENTER HRA600ENTER PROFESSIONAL TAX200ENTER INCOME TAX300ENTER PF200

DO U WANT TO CONTINUE ? Y / NY

ENTER EMPLOYEE DETAILSENTER EMPLOYEE NO:20ENTER EMPLOYEE NAMEMOHANENTER DEPARTMENTPRODUCTIONENTER BASIC PAY40000ENTER DA300ENTER HRA500ENTER PROFESSIONAL TAX200ENTER INCOME TAX100ENTER PF

RYMEC ,Bellary . Dept. of MCA Page 79

Page 80: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

250

DO U WANT TO CONTINUE ? Y / NN

=====================EMPLOYEE NUMBER : 10EMPLOYEE NAME : VIJAYDEPARTMENT : SALES=====================SALARY DETAILS==============BASIC PAY : 30000

ALLOWANCES==========HRA : 000600DA : 00500

DEDUCTIONS==========PROFESSIONAL TAX : 00200INCOME TAX : 00300PROVIDENT FUND : 00200

=====================GROSS PAY : 31100NET PAY : 30400=====================

=====================EMPLOYEE NUMBER : 20EMPLOYEE NAME : MOHANDEPARTMENT : PRODUCTION=====================SALARY DETAILS==============BASIC PAY : 40000

ALLOWANCES==========HRA : 000500DA : 00300

RYMEC ,Bellary . Dept. of MCA Page 80

Page 81: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DEDUCTIONS==========PROFESSIONAL TAX : 00200INCOME TAX : 00100PROVIDENT FUND : 00250=====================GROSS PAY : 40800NET PAY : 40250=====================

RYMEC ,Bellary . Dept. of MCA Page 81

Page 82: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

SUBROUTINES

A basic requirement of modular programming is to divide a large program into smaller and more manageable parts known as modules. A module in a COBOL program can be realized in two ways as a PERFORM module or as a separately compiled subroutine.

The term subroutine is used to mean only those modules that are coded and compiled separately from the calling modules. A subroutine can be compiled separately but cannot be executed independently. Before execution, the object code of the subroutine must be bound with the object code of the program calling the subroutine to form the run unit.A RUN UNIT is a set of one or more object programs which functions as a unit during execution.

STRUCTURE OF A COBOL SUBROUTINE

A COBOL subroutine is different from a main program in the PROCEDURE DIVISION header. The PROCEDURE DIVISION header must have a USING phrase.

THE GENERAL FORMAT OF A PROCEDURE DIVISION HEADER IS :

PROCEDURE DIVISION [ USING data-name-1 [ , data-name-2 ] ….]

The operands of the USING phrase must be either 01-level or 77-level data items. These must be defined in a section of the DATA DIVISION known as the linkage section.Structurally, the linkage section is similar to a working-storage section & appears in the DATA DIVISION immediately after the working-storage section. The linkage section appears in the called program and describes records or noncontiguous data items in respect of which connection should be established with the calling program.

FORMAT OF THE LINKAGE SECTION

LINKAGE SECTION.

01-level-data-description-entry …..Record-description-entry

In the case of a main program, a STOP RUN statement indicates the logical end of a program. A STOP RUN statement cannot be used for the purpose in the case of a subroutine. This is because the STOP RUN statement always terminates a run unit regardless of whether it is used in a subroutine or in a main program. Upon the execution of a subroutine it is required that the control must be returned to the calling program. For this purpose the EXIT PROGRAM statement is available in COBOL. The format of this statement is:

RYMEC ,Bellary . Dept. of MCA Page 82

Page 83: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

EXIT PROGRAMThe statement must be the only statement in the paragraph.

The GOBACK statement is similar to a EXIT PROGRAM statement. The GOBACK statement need not be the only statement in a paragraph.

Format of GOBACK is : GOBACK

THE CALLING OF A SUBROUTINE:

In order to be able to call a subroutine from the main program or from another in the run unit, the object code for the subroutine must be given name. The PROGRAM-ID entry in the subroutine can be used for the purpose.

The calling program can call a subroutine by a CALL statement.

FORMAT OF CALL STATEMENT

CALL identifier-1 [ USING data-name-1 [, dataname-2 ] ……] Literal-1

[ ; ON OVERFLOW imperative-statement ]

The execution of the CALL statement causes the transfer of the control to the first statement in the PROCEDURE DIVISION of the called subroutine.

The operands of the USING phrase in the CALL statement are called as actual parameters.The data names in the USING phrase of the PROCEDURE DIVISION header are referred to as formal parameters.

THE STATE OF A SUBROUTINE AND CANCEL STATEMENT :

The values of the various attributes of the local files as well as the values of all the local data items constitute the state of the subroutine. When the subroutine is called first time, it is said to be in its initial state. When a subroutine is called next, it will be in its last-used state.

Getting back the subroutine in its last used state can be gainfully utilized in certain situations, in other situations this may be undesirable. For this reason the CANCEL statement is provided in COBOL.

RYMEC ,Bellary . Dept. of MCA Page 83

Page 84: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

If a subroutine is cancelled through the CANCEL statement & then called again, its execution will begin with the initial state rather than the last used state.

THE GENERAL FORMAT OF THE CANCEL STATEMENT :

CANCEL identifier-1 , identifier-2 …… Literal-1 , literal-2

The programs specified through the values of identifier-1/literal-1, the CANCEL statement cancels identifier-2/literal-2, etc.The following rules can be noted in connection with the CANCEL statement.

1. A program that has been called but has not yet executed its EXIT PROGRAM statement cannot be cancelled.

2. If the CANCEL statement specifies a program that has not yet been called or that has already been cancelled, no action takes place for that program.

RYMEC ,Bellary . Dept. of MCA Page 84

Page 85: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 14: PROGRAM TO FIND SIMPLE INTEREST AND COMPOUND INTEREST USING SUBROUTINE CONCEPT.

MAIN PROGRAM: IDENTIFICATION DIVISION. PROGRAM-ID. P14. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 77 P PIC 99999. 77 N PIC 99. 77 R PIC 99. 77 SI PIC 9(6)V999 VALUE IS ZERO. 77 CI PIC 9(6)V999 VALUE IS ZERO. 77 C PIC 9. 77 SI1 PIC 999999.999. 77 CI1 PIC 999999.999. PROCEDURE DIVISION. PARA1. DISPLAY "-----------------" DISPLAY "1.SIMPLE INTREST". DISPLAY "2.COMPOUND INTREST". DISPLAY "3.EXIT". DISPLAY " ". DISPLAY "ENTER UR CHOICE:". ACCEPT C. IF C = 1 GO TO S-PARA. IF C = 2 GO TO C-PARA. IF C = 3 GO TO E-PARA. S-PARA. DISPLAY "ENTER PRINCIPAL AMOUNT,TIME,RATE:". ACCEPT P. ACCEPT N. ACCEPT R. CALL "SINTSUB" USING P , N , R , SI. MOVE SI TO SI1. DISPLAY " ". DISPLAY (1, 1) ERASE. DISPLAY "SIMPLE INTREST CALCULATION:". DISPLAY "PRINCIPAL AMOUNT:" P. DISPLAY "TIME:" N. DISPLAY "RATE:" R.

RYMEC ,Bellary . Dept. of MCA Page 85

Page 86: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

DISPLAY "SIMPLE INTREST IS:" SI1. GO TO PARA1. C-PARA. DISPLAY "ENTER PRINCIPAL AMOUNT,TIME,RATE:". ACCEPT P. ACCEPT N. ACCEPT R. CALL "CINTSUB" USING P , N , R , CI. MOVE CI TO CI1. DISPLAY " ". DISPLAY "COMPOUND INTREST CALCULATION:". DISPLAY "PRINCIPAL AMOUNT:" P. DISPLAY "TIME:" N. DISPLAY "RATE:" R. DISPLAY "COMPOUND INTREST IS:" CI1. GO TO PARA1. E-PARA. STOP RUN.

RYMEC ,Bellary . Dept. of MCA Page 86

Page 87: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SUBROUTINE======================

PROGRAM FOR SIMPLE INTEREST: IDENTIFICATION DIVISION. PROGRAM-ID. SINTSUB ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. LINKAGE SECTION. 01 P PIC 9(10)V9(4). 01 N PIC 9(5). 01 R PIC 9(3)V9(4). 01 SI PIC 9(10)V9(4). PROCEDURE DIVISION USING P, N, R, SI. MAIN-PARA. COMPUTE SI = ( P * N * R ) / 100. EXIT-PARA. EXIT PROGRAM.

PROGRAM FOR COMPOUND INTEREST: IDENTIFICATION DIVISION. PROGRAM-ID. CINTSUB. ENVIRONMENT DIVISION. DATA DIVISION. WORKING-STORAGE SECTION. 77 V1 PIC 9(10)V9(4). 77 V2 PIC 9(10)V9(4). 77 V3 PIC 9(10)V9(4). LINKAGE SECTION. 01 P PIC 9(10)V9(4). 01 N PIC 9(5). 01 R PIC 9(3)V9(4). 01 CI PIC 9(10)V9(4). PROCEDURE DIVISION USING P, N, R, CI. MAIN-PARA. COMPUTE V1 = 1 + R / 100. COMPUTE V2 = V1 ** N. COMPUTE V3 = P * V2. MOVE V3 TO CI. EXIT-PARA. EXIT PROGRAM.

RYMEC ,Bellary . Dept. of MCA Page 87

Page 88: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

-----------------1. SIMPLE INTREST2. COMPOUND INTREST3. EXIT

ENTER UR CHOICE:1ENTER PRINCIPAL AMOUNT, TIME, RATE:10003200

SIMPLE INTREST CALCULATION:PRINCIPAL AMOUNT: 01000TIME : 03RATE :20SIMPLE INTREST IS :204.800-----------------1.SIMPLE INTREST2.COMPOUND INTREST3.EXIT

ENTER UR CHOICE:2ENTER PRINCIPAL AMOUNT,TIME,RATE:10003200COMPOUND INTREST CALCULATION:PRINCIPAL AMOUNT : 01000TIME : 03RATE :20COMPOUND INTREST IS: 490313.489

RYMEC ,Bellary . Dept. of MCA Page 88

Page 89: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

PROGRAM 15: PROGRAM TO GENERATE A SALES REPORT. IDENTIFICATION DIVISION. PROGRAM-ID. PG15. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT SALES-FILE ASSIGN TO DISK. DATA DIVISION. FILE SECTION. FD SALES-FILE LABEL RECORDS ARE STANDARD VALUE OF FILE-ID IS "SALES.DAT". 01 SALES-REC. 02 ZONE PIC X(14). 02 DISTRICT PIC X(14). 02 SALESMANNO PIC 999. 02 PRODUCTNO PIC 999. 02 AMOUNT PIC 9(6). WORKING-STORAGE SECTION. 77 EOF PIC X VALUE "N". 77 CH PIC X VALUE "Y". SCREEN SECTION. 01 SCR1. 02 BLANK SCREEN. 02 LINE 02 COLUMN 10 VALUE "SALESMANNO". 02 LINE 02 COLUMN 30 PIC 999 TO SALESMANNO. 02 LINE 04 COLUMN 10 VALUE "DISTRICT". 02 LINE 04 COLUMN 30 PIC X(15) TO DISTRICT. 02 LINE 06 COLUMN 10 VALUE "ZONE". 02 LINE 06 COLUMN 30 PIC X(15) TO ZONE. 02 LINE 08 COLUMN 10 VALUE "PRODUCTNO". 02 LINE 08 COLUMN 30 PIC 999 TO PRODUCTNO. 02 LINE 10 COLUMN 10 VALUE "AMOUNT". 02 LINE 10 COLUMN 30 PIC 9(6) TO AMOUNT. 01 SCR2. 02 BLANK SCREEN. 02 LINE 02 COLUMN 20 VALUE "**" HIGHLIGHT BLINK. 02 LINE 02 COLUMN 23 VALUE "SALES-REC" HIGHLIGHT BLINK. 02 LINE 02 COLUMN 38 VALUE "**" HIGHLIGHT BLINK. 02 LINE 04 COLUMN 05 VALUE "SALESMAN-NO". 02 LINE 04 COLUMN 18 VALUE "ZONE". 02 LINE 04 COLUMN 26 VALUE "DISTRICT".

RYMEC ,Bellary . Dept. of MCA Page 89

Page 90: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

02 LINE 04 COLUMN 38 VALUE "PRODUCTNO". 02 LINE 04 COLUMN 50 VALUE "AMOUNT". PROCEDURE DIVISION. MAIN-PARA. OPEN OUTPUT SALES-FILE. PERFORM ACCEPT-PARA UNTIL CH = 'N'. CLOSE SALES-FILE. OPEN INPUT SALES-FILE. DISPLAY SCR2. READ SALES-FILE AT END MOVE 'Y' TO EOF. MOVE 6 TO LIN. PERFORM DISP-PARA UNTIL EOF='Y'. CLOSE SALES-FILE. STOP RUN. ACCEPT-PARA. DISPLAY ( 1 1 ) ERASE. DISPLAY SCR1. ACCEPT SCR1. WRITE SALES-REC. DISPLAY ( 14 , 10 ) " DO U WANT TO CONTINUE(Y/N) ". ACCEPT CH. DISP-PARA. MOVE 4 TO COL. DISPLAY( LIN , COL )SALESMANNO. ADD 11 TO COL. DISPLAY( LIN , COL )ZONE. ADD 11 TO COL. DISPLAY( LIN , COL )DISTRICT. ADD 11 TO COL. DISPLAY( LIN , COL )PRODUCTNO. ADD 11 TO COL. DISPLAY( LIN , COL )AMOUNT. ADD 11 TO COL. ADD 1 TO LIN. READ SALES-FILE AT END MOVE "Y" TO EOF.

RYMEC ,Bellary . Dept. of MCA Page 90

Page 91: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

======================SAMPLE OUTPUT======================

SALESMANNO 111 DISTRICT ANANTTAPUR

ZONE EAST

PRODUCTNO 678

AMOUNT 002000

DO U WANT TO CONTINUE(Y/N) Y

SALESMANNO 222

DISTRICT SHIMOGA ZONE SOUTH PRODUCTNO 777

AMOUNT 004000

DO U WANT TO CONTINUE(Y/N) N

** SALES-REC ORD ** ************************************************************** * SALESMAN-NO ZONE DISTRICT PRODUCTNO AMOUNT * ************************************************************** * 111 EAST ANANTTAPUR 678 002000 * * 222 SOUTH SHIMOGA 777 004000 ***************************************************************

RYMEC ,Bellary . Dept. of MCA Page 91

Page 92: COBOL Lab Report  3rd sem MCA VTU by heera

COBOL Programming Laboratory 07MCA26

RYMEC ,Bellary . Dept. of MCA Page 92