COBOL - ENVIRONMENT DIVISION
1 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 ENVIRONMENT DIVISION. CONFIGURATION SECTION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT CLIENTES ASSIGN TO "CLIENTES.DAT" ORGANIZATION IS INDEXED ACCESS MODE IS DYNAMIC RECORD KEY IS CLIENTES-CODIGO ALTERNATE KEY IS CLIENTES-NOME WITH DUPLICATES FILE STATUS IS FS-CLIENTES.
A cláusula SELECT terá a seguinte estrutura para arquivos seqüenciais: 1 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 SELECT nome-arquivo ASSIGN TO nome-externo ORGANIZATION IS SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS fs-arquivo.
A cláusula SELECT terá a seguinte estrutura para arquivos de linhas seqüenciais: 1 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 SELECT nome-arquivo ASSIGN TO nome-externo ORGANIZATION IS LINE SEQUENTIAL ACCESS MODE IS SEQUENTIAL FILE STATUS IS fs-arquivo. Note que a única mudança é na organização do arquivo LINE SEQUENTIAL. Todas as outras informações são idênticas ao SEQUENTIAL.
A cláusula SELECT terá a seguinte estrutura para arquivos randômicos: 1 2 3 4 5 6 7 8 12345678901234567890123456789012345678901234567890123456789012345678901234567890 SELECT nome-arquivo ASSIGN TO nome-externo ORGANIZATION IS RELATIVE ACCESS MODE IS RANDOM/SEQUENTIAL/DYNAMIC [RELATIVE KEY IS chave-randomica] FILE STATUS IS fs-arquivo.
A cláusula SELECT terá a seguinte estrutura para arquivos indexados: SELECT nome-arquivo ASSIGN TO nome-externo ORGANIZATION IS INDEXED ACCESS MODE IS RANDOM/SEQUENTIAL/DYNAMIC RECORD KEY IS nome-campo/chave-separada ALTERNATE KEY IS nome-campo/chave-separada [WITH DUPLICATES] FILE STATUS IS fs-arquivo.