COBOL mode

Select Theme Select Font Size

x
 
1
---------1---------2---------3---------4---------5---------6---------7---------8
2
12345678911234567892123456789312345678941234567895123456789612345678971234567898
3
000010 IDENTIFICATION DIVISION.                                        MODTGHERE
4
000020 PROGRAM-ID.       SAMPLE.
5
000030 AUTHOR.           TEST SAM. 
6
000040 DATE-WRITTEN.     5 February 2013
7
000041
8
000042* A sample program just to show the form.
9
000043* The program copies its input to the output,
10
000044* and counts the number of records.
11
000045* At the end this number is printed.
12
000046
13
000050 ENVIRONMENT DIVISION.
14
000060 INPUT-OUTPUT SECTION.
15
000070 FILE-CONTROL.
16
000080     SELECT STUDENT-FILE     ASSIGN TO SYSIN
17
000090         ORGANIZATION IS LINE SEQUENTIAL.
18
000100     SELECT PRINT-FILE       ASSIGN TO SYSOUT
19
000110         ORGANIZATION IS LINE SEQUENTIAL.
20
000120
21
000130 DATA DIVISION.
22
000140 FILE SECTION.
23
000150 FD  STUDENT-FILE
24
000160     RECORD CONTAINS 43 CHARACTERS
25
000170     DATA RECORD IS STUDENT-IN.
26
000180 01  STUDENT-IN              PIC X(43).
27
000190
28
000200 FD  PRINT-FILE
29
000210     RECORD CONTAINS 80 CHARACTERS
30
000220     DATA RECORD IS PRINT-LINE.
31
000230 01  PRINT-LINE              PIC X(80).
32
000240
33
000250 WORKING-STORAGE SECTION.
34
000260 01  DATA-REMAINS-SWITCH     PIC X(2)      VALUE SPACES.
35
000261 01  RECORDS-WRITTEN         PIC 99.
36
000270
37
000280 01  DETAIL-LINE.
38
000290     05  FILLER              PIC X(7)      VALUE SPACES.
39
000300     05  RECORD-IMAGE        PIC X(43).
40
000310     05  FILLER              PIC X(30)     VALUE SPACES.
41
000311 
42
000312 01  SUMMARY-LINE.
43
000313     05  FILLER              PIC X(7)      VALUE SPACES.
44
000314     05  TOTAL-READ          PIC 99.
45
000315     05  FILLER              PIC X         VALUE SPACE.
46
000316     05  FILLER              PIC X(17)     
47
000317                 VALUE  'Records were read'.
48
000318     05  FILLER              PIC X(53)     VALUE SPACES.
49
000319
50
000320 PROCEDURE DIVISION.
51
000321
52
000330 PREPARE-SENIOR-REPORT.
53
000340     OPEN INPUT  STUDENT-FILE
54
000350          OUTPUT PRINT-FILE.
55
000351     MOVE ZERO TO RECORDS-WRITTEN.
56
000360     READ STUDENT-FILE
57
000370         AT END MOVE 'NO' TO DATA-REMAINS-SWITCH
58
000380     END-READ.
59
000390     PERFORM PROCESS-RECORDS
60
000410         UNTIL DATA-REMAINS-SWITCH = 'NO'.
61
000411     PERFORM PRINT-SUMMARY.
62
000420     CLOSE STUDENT-FILE
63
000430           PRINT-FILE.
64
000440     STOP RUN.
65
000450
66
000460 PROCESS-RECORDS.
67
000470     MOVE STUDENT-IN TO RECORD-IMAGE.
68
000480     MOVE DETAIL-LINE TO PRINT-LINE.
69
000490     WRITE PRINT-LINE.
70
000500     ADD 1 TO RECORDS-WRITTEN.
71
000510     READ STUDENT-FILE
72
000520         AT END MOVE 'NO' TO DATA-REMAINS-SWITCH
73
000530     END-READ. 
74
000540
75
000550 PRINT-SUMMARY.
76
000560     MOVE RECORDS-WRITTEN TO TOTAL-READ.
77
000570     MOVE SUMMARY-LINE TO PRINT-LINE.
78
000571     WRITE PRINT-LINE. 
79
000572
80
000580
81