ContentsIndexPreviousNext

File Control Entry

[FILE-CONTROL.]  { file-control-entry } ...

or

{ file-control-entry } ...


Note: The FILE-CONTROL phrase in the Environment Division is optional and treated as commentary.
File-control-entry has one of the following formats:

Format 1 - Sequential Files

SELECT [OPTIONAL] file-name

     ASSIGN TO [device] [file-spec]

 [ [ ORGANIZATION IS ] [BINARY] SEQUENTIAL ]
                       [LINE  ]

 [ ACCESS MODE IS SEQUENTIAL ]

 [ RESERVE  {number} [ALTERNATE] [AREA ]]
            {NO    }             [AREAS]

 [ LOCK MODE IS {EXCLUSIVE}]
                {AUTOMATIC}
                {MANUAL   }

 [ RECORD DELIMITER IS STANDARD-1 ]

 [ FILE STATUS IS status-variable ]

 [ PADDING CHARACTER IS pad-char ] .

Format 2 - Relative Files

SELECT [OPTIONAL] file-name

  ASSIGN TO [device] [file-spec]

 [ ORGANIZATION IS ] RELATIVE

 [ ACCESS MODE IS

   { SEQUENTIAL [ RELATIVE KEY IS rel-key ] } ]
   { RANDOM       RELATIVE KEY IS rel-key   }
   { DYNAMIC      RELATIVE KEY IS rel-key   }

 [ LOCK MODE IS { EXCLUSIVE                     }
                { AUTOMATIC [ multiple-option ] }
                { MANUAL    [ multiple-option ] }

 [ RESERVE {number} [ALTERNATE] [AREA ]]
           {NO    }             [AREAS]

[ FILE STATUS IS status-variable ] .

Format 3 - Indexed Files

SELECT [OPTIONAL] file-name

   ASSIGN TO [device] [file-spec]

 [ WITH  {COMPRESSION} ... ]
         {ENCRYPTION }

 [ COMPRESSION CONTROL VALUE IS factor ]

 [ ORGANIZATION IS ] INDEXED

 [ ACCESS MODE IS  {SEQUENTIAL} ]
                   {RANDOM    }
                   {DYNAMIC   }

 [ RECORD KEY IS alt-name [= seg-name ...] ]

 [ ALTERNATE RECORD KEY IS alt-name [= seg-name ...]

   [ WITH [NO] DUPLICATES ] ] ...

 [ LOCK MODE IS { EXCLUSIVE [ WITH MASS-UPDATE ] }
                { AUTOMATIC [ multiple-option  ] }
                { MANUAL    [ multiple-option  ] }

 [ RESERVE {number} [ALTERNATE] [AREA ]]
           {NO    }             [AREAS]

 [ FILE STATUS IS status-variable ]

 [ COLLATING SEQUENCE IS alphabet-name ] .

Format 4 - Sort Files

SELECT file-name

   ASSIGN TO [device] [file-spec]

 [ FILE STATUS IS status-variable ] .


NOTE: multiple-option has the following format for both Format 2 and Format 3.
WITH { LOCK ON [ MULTIPLE ] { RECORD  } } [WITH ROLLBACK]

{ RECORDS }
{ ROLLBACK }