Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

53
Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals

Transcript of Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Page 1: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CHAPTER 2Cobol Language Fundamentals

Page 2: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

BASIC STRUCTURE OF A COBOL PROGRAM

Page 3: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CODING RULES• A COBOL statement is subdivided into

72 positions or columns.

• Column 7 of a COBOL program has three primary purposes:

1. By coding an * (asterisk) in column 7, an entire line can be designated as a comment.

2. It can be used to force the printing of subsequent instructions on the next page of the source listing.

3. It can be used for the continuation of nonnumeric literals.

Page 4: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

DEBUGGING TIP

• Use uppercase letters for instructions;– use lowercase letters for

comments.

• Page-Eject with a Slash (/) in Column 7 can also be used to skip to the next page when the source listing is being printed.

Page 5: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CODING RULES: Areas A and B• Positions 8--72 of a standard COBOL

program contain program statements:

– Column 8 is labeled the A area

– Column 12 is labeled the B area

• Entries in Area A, may begin in position 8, 9, 10, or 11.

– Most often, Area A entries begin in position 8.

• If an entry is to be coded in Area B, it may begin anywhere after position 11.

Page 6: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

TYPES OF COBOL ENTRIESDivisions, sections, and paragraphs

begin in Area A. Examples include:

• DIVISIONSIDENTIFICATION DIVISION.ENVIRONMENT DIVISION.DATA DIVISION.PROCEDURE DIVISION.

• SECTIONSFILE SECTION.WORKING-STORAGE SECTION.

Page 7: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

TYPES OF COBOL ENTRIES Divisions, sections, and paragraphs begin

in Area A. Examples include:

• PARAGRAPHS

PROGRAM-ID.

0-MAIN-MODULE.

1-BUILD-DETAIL-LINE.

• Statements and sentences begin in Area B; for example:

SELECT PAYROLL ASSIGN TO DISK.

ADD AMT-IN TO TOTAL.

Page 8: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

TYPES OF COBOL ENTRIES

•MARGIN RULES

1. Division, section, and paragraph-names begin in Area A.

2. All other statements, clauses, and sentences begin in Area B.

Page 9: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CODING REQUIREMENTS OF THE IDENTIFICATION DIVISION

Page 10: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

Paragraphs in the IDENTIFICATION DIVISION

IDENTIFICATION DIVISION.

PROGRAM-ID. program-name.

[AUTHOR. [comment-entry] . . .]

[INSTALLATION. [comment-entry] . . .]

[DATE-WRITTEN. [comment-entry] . . .]

[DATE-COMPILED. [comment-entry] . . .]

[SECURITY. [comment-entry] . . .]

Page 11: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

Rules for Interpreting Instruction Formats

1. Uppercase words are COBOL reserved words

2. Underlined words are required.

3. Lowercase words represent user-defined entries.

4. Braces { } denote that one of the enclosed items is required.

Page 12: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

Rules for Interpreting Instruction Formats

5. Brackets [ ] mean the clause or paragraph is optional.

6. If punctuation is specified in the format, it is required.

7. Dots … or ellipses (…) means additional entries of the same type may be optionally added.

Page 13: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

COBOL 2000+ CHANGES

•All paragraphs AUTHOR through SECURITY have been deleted from the COBOL 2000+ standard since they can be easily replaced with comments.

Page 14: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

QUESTIONS?

Page 15: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELF-TEST

1. If an entry must begin in Area A, it may begin in position _____ ;

if an entry must begin in Area B, it may begin in position _____ .

Solution: 8, 9, 10, or 11; 12, 13, 14, and so on

Page 16: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELF-TEST

2. The four divisions of a COBOL program must appear in order as _____ ; _____ ; _____ ; and, _____ .

Solution: IDENTIFICATION;

ENVIRONMENT;

DATA;

PROCEDURE

Page 17: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELF-TEST

3. What entries must be coded beginning in Area A?

Solution: Division, section, and paragraph-names

Page 18: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELF-TEST

4. Most entries such as PROCEDURE DIVISION instructions are coded in Area _____ .

Solution: B

Page 19: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELF-TEST

5. _____ and _____ must each appear on a separate line. All other entries may have several statements on the same line.

Solution: Division names; section names

Page 20: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELF-TEST

6. The first two entries of a COBOL program must always be _____ and _____ .

Solution: IDENTIFICATION DIVISION. PROGRAM-ID. program-name.

Page 21: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELF-TEST

7. Each of the preceding entries must be followed by a _____ , which, in turn, must be followed by a ____ .

Solution: period; space or blank

Page 22: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELF-TEST

9. Code the IDENTIFICATION DIVISION for a program called EXPENSES for a corporation, Dynamic Data Devices, Inc., written January 18, 2007. This program has a security classification and is available to authorized personnel only. It produces a weekly listing by department of all operating expenses.

Page 23: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELF-TEST9. Suggested solution:

IDENTIFICATION DIVISION.

PROGRAM-ID. EXPENSES.

*AUTHOR. N. B. STERN. *INSTALLATION. DYNAMIC DATA DEVICES, INC.

*DATE-WRITTEN. 1/18/2007.

*DATE-COMPILED. 1/18/2007.

*SECURITY. AUTHORIZED PERSONNEL ONLY.

Page 24: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

THE SECTIONS OF THE ENVIRONMENT DIVISION

• The ENVIRONMENT DIVISION is the only machine-dependent division of a COBOL program.

• Entries in this division will depend upon:– (1) the computer system and

– (2) the specific devices or hardware used in the program.*

*Interactive programs that use keyed data as input and display screen output will not need this division.

Page 25: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

THE CONFIGURATION SECTION– Supplies information about the computer

on which the COBOL program will be compiled and executed.

SOURCE-COMPUTER: – The computer that will be used for

compiling the program.

OBJECT-COMPUTER: - The computer that will be used for

executing or running the program.* SOURCE- COMPUTER and OBJECT-

COMPUTER are coded primarily as documentation entries.

Page 26: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

The CONFIGURATION SECTION

• All section names, like division names, are coded in Area A.

• The CONFIGURATION SECTION, if coded, will follow the ENVIRONMENT DIVISION entry in Area A.

• SOURCE-COMPUTER and OBJECT- COMPUTER, as paragraph-names, would also be coded in Area A.

Page 27: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CONFIGURATION SECTION EXAMPLE

ENVIRONMENT DIVISION.

CONFIGURATION SECTION.

SOURCE-COMPUTER. IBM iSeries.

OBJECT-COMPUTER. IBM iSeries.

Page 28: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

INPUT-OUTPUT SECTION

• The INPUT-OUTPUT SECTION optionally follows the CONFIGURATION SECTION– It supplies information concerning the

input and output devices used in the program by means of a FILE-CONTROL paragraph.

• In the FILE-CONTROL paragraph, a file-name is designated and assigned to a device for each file used in the program.

Page 29: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

INPUT-OUTPUT SECTION

• The FILE-CONTROL paragraph consists of SELECT statements

– each is coded in Area B followed by a period.

• A SELECT statement

– defines a file-name.

– assigns a device name to that file*.

A file is the major collection of data for a given application.

Page 30: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

INPUT-OUTPUT SECTION

•Batch processing applications have an input file and an output file.

• Interactive processing allows input using a keyboard;

– therefore, it is not necessary to establish an input file.

Page 31: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

INPUT-OUTPUT SECTION

• If the output is printed or saved on disk, an output file must exist in the ENVIRONMENT DIVISION.

• If the output is displayed on a screen, then no file declaration is necessary in the ENVIRONMENT DIVISION.

- When this is the case, the ENVIRONMENT DIVISION may be entirely omitted.

Page 32: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

ASSIGNING FILES TO DEVICES IN THE ENVIRONMENT DIVISION

Page 33: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

OVERALL FORMAT

• The instruction format for the SELECT statement follows:

SELECT file-name-1

ASSIGN TO implementor-name-1

[ORGANIZATION IS LINE SEQUENTIAL]– The implementor-name is a machine-

dependent device specification that is typically provided by the computer center.

Page 34: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

OVERALL FORMATREVIEW OF INSTRUCTION FORMAT RULES

1. Uppercase words are reserved words; lowercase words are user-defined.

2. Underlined words are required in the statement.

3. Two lines are used for a SELECT statement– the second line is indented for “

readability”

Page 35: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

OVERALL FORMAT

File-Name Rules

1. The file-name assigned to each device must conform to the rules for forming user-defined words.

2. A user-defined word is a word chosen by the programmer to represent some element in a program such as a file-name:

Page 36: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

OVERALL FORMAT• Rules for Forming User-Defined

Words (Such as File-Names)

1. 1 to 30 characters.

2. Letters, digits, and hyphens (-) only.

3. No embedded blanks

– It is best to use hyphens to separate words (e.g., EMPLOYEE-NAME)

4. At least one alphabetic character.

Page 37: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

OVERALL FORMAT

5. May not begin or end with a hyphen.

6. No COBOL reserved words such as DATA, DIVISION, etc.

• A full list of reserved words appears in Appendix A and in the COBOL Syntax Reference Guide.

Page 38: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

THE NET

If you do not have a COBOL Syntax Reference Guide, it can be downloaded from:

http://www.wiley.com/cobol/

Page 39: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

OVERALL FORMAT

• A SELECT statement must be specified for each file in the program,.

• If a program requires a disk file as input and produces a printed report as an output file, two SELECT statements will be specified. – one file-name will be assigned to the

disk file

– the other to the print file.

Page 40: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

DEBUGGING TIP

• File names assigned by the programmer should be meaningful.

Examples: SALES-IN

SALES-REPORT-OUT

Page 41: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

OVERALL FORMAT Implementor-Names or Device Specifications

• Most systems enable the programmer to access frequently used devices by special device names.

Page 42: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

OVERALL FORMAT Implementor-Names or Device Specifications

The following are common shorthand device specifications that you will use on our iSeries system:

Printer PRINTER followed by a printer file object name

Disk DISK followed by a file or database object name

Page 43: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELECT Statements for PCs

1. Device Specification on PCs

(a) The drive on which the disk file appears followed by a colon (e.g., C:, D:, etc.).

• If your file is in a subdirectory, you must specify that as well (e.g., C:\COBOL).

Page 44: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELECT Statements for PCs(b) The file-name for that disk file, where

the rules for forming file- names are dependent on the operating system.

– The device name for these PC versions of COBOL is usually enclosed in quotes:

SELECT EMPLOYEE-FILE

ASSIGN TO 'C:EMPFILE'.

SELECT INVENTORY-FILE

ASSIGN TO 'C:\INVENTORY\INVFILE.DAT'.

Page 45: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

SELECT Statements for iSeries

1. Device Specification on the iSeries

(a) Refer to the file object name. i.e., assume there is physical file named ROSTER that you want the program to access …

You will code

SELECT ROSTER-FILE-INASSIGN TO DISK-ROSTER.

Page 46: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CHAPTER SLIDES END HERE

CHAPTER SUMMARY

COMES NEXT

Page 47: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CHAPTER SUMMARYI. The IDENTIFICATION DIVISION

A. The IDENTIFICATION DIVISION and its paragraphs are used for documentation and do not affect the execution of the program.

B. The first two items to be coded in a program are: IDENTIFICATION DIVISION.

PROGRAM-ID. program-name.

C. A program name that is up to eight characters, letters and digits only, is acceptable on all computers.

Page 48: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CHAPTER SUMMARYE. Comments can be included in the

IDENTIFICATION DIVISION, as well as all other divisions, by coding an * in position 7. – This makes the entire line a comment.

– We encourage you to use comments throughout your programs for documentation.

F. A slash (/) in column 7 will cause the subsequent lines to be printed on the next page of the source listing.

Page 49: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CHAPTER SUMMARY II. The ENVIRONMENT DIVISION

A. The format for the ENVIRONMENT DIVISION is:

ENVIRONMENT DIVISION.

CONFIGURATION SECTION.

SOURCE-COMPUTER. computer-name

OBJECT-COMPUTER. computer-name

INPUT-OUTPUT SECTION.

FILE-CONTROL.

SELECT file-name-1

ASSIGN TO implementor-name-1

Page 50: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CHAPTER SUMMARY II. The ENVIRONMENT DIVISION

• Fully interactive programs that use keyed data as input and screen displays as output are not required to have an ENVIRONMENT DIVISION.

Page 51: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CHAPTER SUMMARYB. The CONFIGURATION SECTION is

usually optional and we recommend you omit it.

It supplies documentary information on the computer(s) being used.

C. The INPUT-OUTPUT SECTION is also

optional but must be included if files are assigned to devices in a program.

We will always include the INPUT-OUTPUT SECTION for batch processing.

Page 52: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

CHAPTER SUMMARY

D. The ENVIRONMENT DIVISION is the only division of a COBOL program that may vary depending on the computer used. – Obtain the exact device

specifications or disk file-name rules from your computer center or your instructor.

Page 53: Structured COBOL Programming, Stern & Stern, 9th Edition CHAPTER 2 Cobol Language Fundamentals.

Structured COBOL Programming, Stern & Stern, 9th Edition

THE NET

If you do not have a COBOL Syntax Reference Guide, it can be downloaded from:

http://www.wiley.com/cobol/