the data division chapter 3. cobol data organization field - group of characters forming a...

21
The DATA DIVISION Chapter 3

Upload: lora-blake

Post on 02-Jan-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

The DATA DIVISION

Chapter 3

Page 2: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

COBOL Data Organization

• Field - group of characters forming a meaningful unit or basic fact– Characters in a name or digits in an amount

• Records - group of related fields– All fields related to customer

• File - group of related records– Customer file made up of customer records

Page 3: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

DATA DIVISION

• Defines, describes storage for all data• Two main sections

– FILE SECTION • Defines all input and output files, records, fields• Required for any program that uses files, typically

batch programs• Must match the files listed in the SELECT

statements

– WORKING-STORAGE SECTION • Defines constants, end-of-file indicators and work

areas • Defines fields not part of input or output files

Page 4: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

File Description Entries

• Each file described with an FD (File Descriptor) sentence

• One FD for each SELECT statement in ENVIRONMENT DIVISION

• FD followed by• File-name• Optional clauses to describe file and format of

its records

Page 5: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Data-Name Guidelines

1.Use meaningful data-names that describe contents of field• Amount-Due-In instead of A1

2.Use prefixes or suffixes in data-names when appropriate• -IN and -OUT for fields (Emp-Salary-IN and

Emp-Salary-OUT)• -FILE and -RECORD for file and record

names (Emp-File and Emp-Record)

Page 6: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Defining a Record

• Each FD followed by record description entries for the file

• Data grouped in COBOL by levels• Record-name defined at the 01 level• Considered highest level of data

• Fields within a record defined at subordinate level with level numbers from 02 to 49

Page 7: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Record Description Example

01 Employee-Rec-In. 05 Name-In … 05 Annual-Salary-In … 05 Job-Description-In …

• Fields at 05 level subordinate to 01 level entry• All fields at same level (05), independent or not

subordinate to each other

Page 8: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Elementary and Group Items

• Items defined with a level number are one of two types– Elementary item - field that is not further

subdivided• Must include a PICTURE clause

– Group item - field that is further subdivided• Has no PICTURE clause

Page 9: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Elementary and Group Items

01 Employee-Rec-In. 05 Name-In …

10 First-Name-In (Picture clause)

10 Last-Name-In (Picture clause) 05 Annual-Salary-In (Picture clause)

• Name-In is group item since it is subdivided into first and last name

• Employee-Rec-In also group item• First-Name-In is elementary item since it is not

further subdivided

Page 10: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

PICTURE (PIC) clauses

• Specify type of data stored in field• Indicate size of field

Page 11: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Types of data fields

• Alphabetic - A• Only letters or blanks • For name, item description, etc.• Archaic; no longer used

• Alphanumeric - X• Any character - letters, digits, special characters• For an address like 123 N. Main St.

• Numeric - 9• Only digits• For fields used in arithmetic operations

Page 12: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Size of Data Fields

Denote size of field by:

• Number of A’s, X’s or 9’s used in PICTURE

01 Cust-Rec-In.05 Cust-ID-In Picture XXXX.

05 Amt-In Picture 9(5).

Page 13: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Defining Fields in Record

• Must account for all positions defined in record layout

• Must describe fields in order they appear in record

• Field names should be unique• For fields not used by program

– Data-name may be left blank (preferable)– May use reserved word FILLER as data-name– Positions must still be defined using PIC clause

Page 14: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Implied Decimal Point

• For fields used in arithmetic operations• Symbol V used in PIC clause to denote

location of implied decimal point• Decimal point itself not stored as part of

number• To store value 26.79 in field AMT-IN, code

entry as

05 Amt-In Pic 99V99.

Page 15: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Types of Constants

• Numeric literal• Examples: .05 5280 199.99• Constant used for arithmetic operations

• Nonnumeric (alphanumeric) literal• Examples: “INVALID” “Enter your name”• Constant used for all operations except arithmetic

• Figurative constant• SPACES ZEROS• Reserved word for commonly used values

Page 16: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Rules for Nonnumeric Literals

• Must be enclosed in quotation marks• From 1 to 160 characters, including space

• Any character in COBOL character set except quotation mark

Valid Nonnumeric Literals

'123 Main St.' '$14.99' '12,342' "Enter a value from 1 to 10"

Page 17: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Figurative Constants - ZERO

• ZERO, ZEROS or ZEROES means all zeros

Move Zeros To Total-Out

• Fills each position in Total-Out with a zero

• May be used with both numeric and alphanumeric fields

Example

Page 18: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

Figurative Constants - SPACE

• SPACE or SPACES means all spaces or blanks

Move Spaces To Code-Out

• Fills each position in Code-Out with a space or blank

• Use only with alphanumeric fields since blank is invalid numeric character

Example

Page 19: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

WORKING-STORAGE SECTION

• Follows FILE SECTION• Begins with heading on line by itself• Starts in Area A, ends with period• All items must be defined at 01 level or in

entries subordinate to 01 level entry• Elementary items:

– Must include PICTURE clause– May be assigned initial value with VALUE

clause

Page 20: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

VALUE clause

• To define initial value for field• If omitted, field’s value undefined when

program begins execution• May be used only in WORKING-

STORAGE SECTION

Page 21: The DATA DIVISION Chapter 3. COBOL Data Organization Field - group of characters forming a meaningful unit or basic fact –Characters in a name or digits

VALUE vs MOVE

• VALUE clause used in DATA DIVISION– Gives initial value before execution begins

• MOVE used in PROCEDURE DIVISION– Assigns value to field after program begins

• MOVE may change initial value of field