COBOL Data Division

The Data Division is optional, but usually present.

           1          2         3         4         5         6         7        8
123456 7 8901 23456789012345678901234567890123456789012345678901234567890123 34567890
Seq.-ABIdent
   DATA DIVISION. 
   FILE SECTION. 
   FDfilename RECORDING [MODE IS] {F|V|U} 
         [BLOCK [CONTAINS] integer {CHARACTERS|RECORDS}] 
         [RECORD [CONTAINS] [integer TO] integer CHARACTERS] 
         LABEL {RECORD[S] [(IS|ARE)]} { STANDARD|OMITTED|data_name} 
         DATA {RECORD[S] [(IS|ARE)]} list_of_record_names 
               plus record description entries as shown below. 
   SDsort_filename 
         [RECORD [CONTAINS] [integer TO] integer CHARACTERS] 
         RECORDING [MODE IS] {F|V|U} 
               plus record description entries as shown below. 
   WORKING-STORAGE SECTION. 
       All record description entries as shown below plus: 
         VALUE [IS] literal 
   LINKAGE SECTION. 
       Record description entries as for FILE SECTION etc. 
   REPORT SECTION.F only.
   RDreport_filename [CODE 'any character'] 
         [{CONTROL[S] [(IS|ARE)]} [FINAL][list_of_data_names]] 
         [PAGE integer [LINES][HEADING integer][FIRST DETAIL integer] 
         [LAST DETAIL integer][FOOTING integer] 
         01 report_group_name 
         [LINE {integer|PLUS integer|NEXT PAGE}] 
         [NEXT GROUP {integer|PLUS integer|NEXT PAGE}] 
         type TYPE_INDICATOR. 
       Levels other than 01: 
         nn data_name 
         [LINE {integer|PLUS integer|NEXT PAGE}] 
         [COLUMN integer][GROUP INDICATE] 
         [RESET [ON] {data_name|FINAL}] 
         [PICTUE [IS] picture] 
         [[{SOURCE data_name|SUM list_of_datanames [UPON data_name] 
           |Value [IS] literal}] 
         [BLANK [WHEN] ZERO][JUSTIFIED RIGHT] 

Record description entries:

           1          2         3         4         5         6         7        8
123456 7 8901 23456789012345678901234567890123456789012345678901234567890123 34567890
Seq.-ABIdent
         01 record_name 
         02 {data_name|FILLER} 
              [REDEFINES data_name]  
              [PICTURE [IS] picture] 
              [USAGE [IS] {DISPLAY|COMPUTATIONAL|COMPUTATIONAL-1|  
                COMPUTATIONAL-2|COMPUTATIONAL-3]  
              [OCCURS integer [TIMES] [DEPENDING [ON] data_name]] 
              [BLANK [WHEN] ZERO] 
              [JUSTIFIED RIGHT] 
              [VALUE [IS] literal] 

[ ] denotes an optional element within a statement.

Level 88 occurs only in FILE SECTION.

Back to top     COBOL Menu     Identification Division      Environment Division      Procedure Division      Home

© 2001. Copyright Sue Nethercott.