Download presentation
Presentation is loading. Please wait.
Published byLora Blake Modified over 9 years ago
1
The DATA DIVISION Chapter 3
2
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
3
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
4
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
5
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)
6
File Description clauses LABEL RECORDS clause –Used if labels stored in file BLOCKS CONTAINS clause –Indicates blocking factor for disk files Both labels and blocking usually handled by operating systems so clauses will be omitted
7
RECORD CONTAINS clause Indicates size of each record Optional but recommended since it provides check on record size Given this FD FD Sales-File Record Contains 75 Characters. If PICTURE clauses mistakenly add up to 76, compiler will report a syntax error
8
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
9
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
10
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
11
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
12
PICTURE (PIC) clauses Specify type of data stored in field Indicate size of field
13
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
14
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. 05Cust-ID-InPicture XXXX. 05Amt-InPicture 9(5).
15
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
16
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.
17
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
18
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 "
19
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
20
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
21
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
22
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
23
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.