DATA DIVISION--file description entries

In a COBOL program, the File Description (FD) Entry (or Sort File Description (SD) Entry for sort/merge files) represents the highest level of organization in the FILE SECTION. The order in which the optional clauses follow the FD or SD entry is not important.

Format 1: sequential file description entry

Read syntax diagramSkip visual syntax diagramFDfile-name-1ISEXTERNALISGLOBALBLOCKCONTAINSinteger-1TOinteger-2CHARACTERSRECORDSRECORDCONTAINSinteger-3CHARACTERSCONTAINSinteger-4TOinteger-5CHARACTERSclause 1DEPENDINGONdata-name-1LABELRECORDISRECORDSARESTANDARDOMITTEDdata-name-2VALUE OFsystem-name-1ISdata-name-3literal-1DATARECORDISRECORDSAREdata-name-4LINAGEISdata-name-5integer-8LINESclause 2RECORDINGMODEISmodeCODE-SETISalphabet-name.
clause 1
Read syntax diagramSkip visual syntax diagramISVARYINGINSIZEFROMinteger-6TOinteger-7CHARACTERS
clause 2
Read syntax diagramSkip visual syntax diagramWITHFOOTINGATdata-name-6integer-9LINESATTOPdata-name-7integer-10LINESATBOTTOMdata-name-8integer-11

Format 2: relative or indexed file description entry

Read syntax diagramSkip visual syntax diagramFDfile-name-1ISEXTERNALISGLOBALBLOCKCONTAINSinteger-1TOinteger-2CHARACTERSRECORDSRECORDCONTAINSinteger-3CHARACTERSCONTAINSinteger-4TOinteger-5CHARACTERSclause 1DEPENDINGONdata-name-1LABELRECORDISRECORDSARESTANDARDOMITTEDVALUE OFsystem-name-1ISdata-name-3literal-1DATARECORDISRECORDSAREdata-name-4.
clause 1
Read syntax diagramSkip visual syntax diagramISVARYINGINSIZEFROMinteger-6TOinteger-7CHARACTERS

Format 3: line-sequential file description entry

Read syntax diagramSkip visual syntax diagramFDfile-name-1ISEXTERNALISGLOBALRECORDCONTAINSinteger-3CHARACTERSclause 1DEPENDINGONdata-name-1.
clause 1
Read syntax diagramSkip visual syntax diagramISVARYINGINSIZEFROMinteger-6TOinteger-7CHARACTERS

Format 4: sort/merge file description entry

Read syntax diagramSkip visual syntax diagramSDfile-name-1RECORDCONTAINSinteger-3CHARACTERSCONTAINSinteger-4TOinteger-5CHARACTERSclause 1DEPENDINGONdata-name-1DATARECORDISRECORDSAREdata-name-4BLOCKCONTAINSinteger-1TOinteger-2CHARACTERSRECORDSLABELRECORDISRECORDSARESTANDARDOMITTEDdata-name-2VALUE OFsystem-name-1ISdata-name-3literal-1LINAGEISdata-name-5integer-8LINESclause 2CODE-SETISalphabet-name.
clause 1
Read syntax diagramSkip visual syntax diagramISVARYINGINSIZEFROMinteger-6TOinteger-7CHARACTERS
clause 2
Read syntax diagramSkip visual syntax diagramWITHFOOTINGATdata-name-6integer-9LINESATTOPdata-name-7integer-10LINESATBOTTOMdata-name-8integer-11