Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Cobol - Learn Cobol !!, Esquemas de Informática Empresarial

You want to learn Cobol, a cool language ? Thats your chance !! :-)

Tipologia: Esquemas

2021

Compartilhado em 06/07/2021

warlock-chaotic
warlock-chaotic 🇧🇷

1 documento

1 / 93

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
- 1 -
Manual de Referência: COBOL - Programação
Curso de Cobol - Apresentação
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d

Pré-visualização parcial do texto

Baixe Cobol - Learn Cobol !! e outras Esquemas em PDF para Informática Empresarial, somente na Docsity!

Curso de Cobol - Apresentação

Curso de Cobol - Apresentação

  1. Introdução
  2. Formato do Fonte Cobol 2.1. Área de numeração seqüencial 2.2. Área de indicação 2.3. Área A 2.4. Área B
  3. Estrutura de um Programa Cobol 3.1. IDENTIFICATION DIVISION 3.2. ENVIRONMENT DIVISION 3.2.1. CONFIGURATION SECTION 3.2.2. INPUT-OUTPUT SECTION 3.3. DATA DIVISION 3.3.1. Especificação dos dados 3.3.1.1. Nível 3.3.1.2. Nome do dado Indice 3.3.1.3. Formato do dado 3.3.1.4. Valor inicial 3.3.2. Estrutura da DATA DIVISION 3.3.2.1. FILE SECTION 3.3.2.1.1. FILE DESCRIPTION (FD) 3.3.2.2. WORKING-STORAGE SECTION 3.3.2.3. LINKAGE SECTION 3.3.2.3.1. Utilização do parâmetro PARM 3.4. PROCEDURE DIVISION 3.4.1. Movimentação de dados 3.4.2. Cálculos aritméticos 3.4.2.1. Adição 3.4.2.2. Subtração 3.4.2.3. Multiplicação 3.4.2.4. Divisão 3.4.2.5. Resolução de fórmulas 3.4.3. Comandos condicionais 3.4.3.1. Formato dos comandos condicionais

Curso de Cobol - Apresentação

  1. Arquivos de acesso aleatório (VSAM) 9.1. Manipulação de Arquivos VSAM 9.1.1. INPUT-OUTPUT SECTION para VSAM 9.1.2. FILE STATUS 9.1.3. PROCEDURE DIVISION para VSAM 9.1.4. Abertura do arquivo. 9.1.5. READ 9.1.6. READ NEXT 9.1.7. READ PREVIOUS 9.1.8. START 9.1.9. WRITE. 9.1.10. REWRITE 9.1.11. DELETE 9.1.12. Fechamento de arquivos
  2. Comunicação entre programas
  3. Comandos Diversos 11.1. EVALUATE 11.2. REDEFINES 11.3. INSPECT 11.4. STRING 11.5. UNSTRING 11.6. TABELAS INDEXADAS 11.6.1. SET 11.6.2. SEARCH 11.6.2.1. Pesquisa seqüencial 11.6.2.2. Pesquisa binária 11.7. ALTER 11.8. GO TO DEPENDING ON 11.9. Nomes condicionais 11.10. Copy
  4. Diagrama de Bloco 12.1. O que é um Diagrama de Bloco 12.2. Simbologias

Curso de Cobol - Apresentação

1. INTRODUÇÂO

O Cobol é uma linguagem de alto nível criada no ano de 1959. A palavra Cobol é uma abreviação de: Common Business Oriented Language. Como seu nome indica, o objetivo desta linguagem é permitir o desenvolvimento de aplicações comerciais para pessoas sem conhecimento profundo de computadores. Por isso a linguagem Cobol usa frases normais da língua inglesa, e a estrutura de um programa Cobol se assemelha a um texto com divisões, parágrafos e frases em inglês. Depois de escrito o programa Cobol (ou programa fonte), é necessário traduzí-lo para a linguagem interna do computador (linguagem de máquina), convertendo-se então em um programa objeto. Esta conversão é feita pelo próprio computador, usando o programa compilador de Cobol. Damos em seguida a definição de alguns termos importantes para o desenvolvimento do curso:  Byte: conjunto de 8 bits (pontos magnéticos) que formam uma posição de memória.  ASCII: tabela usada em micros para conversão do valor binário dos bits de um byte em um caracter.  EBCDIC: tabela da IBM para conversão do valor binário dos bits de um byte em um caracter.  Programa fonte: Texto de um programa escrito em uma linguagem de alto nível (ex.: Cobol).  Programa objeto: Programa convertido para a linguagem interna do computador (linguagem máquina).  Compilador: Conversor de programa fonte em programa objeto.

Curso de Cobol - Apresentação

2.3. Área A Posição a partir do qual se escreve nome de parágrafos. 2.4. Área B Posição a partir da qual se escrevem as instruções Cobol. Veja o exemplo de código fonte a seguir: NUM I A AREA B COMEN. 000110 * ESTE E UM PARAGRAFO PROG1 000120 PARA GRAFO-1. PROG1 000130 ADD VALOR TO LUCRO. PROG1

Curso de Cobol - Apresentação

3. ESTRUTURA – PROGRAMA COBOL

De maneira semelhante a um livro com seus capítulos, parágrafos e itens, um programa Cobol é formado por uma hierarquia de Divisions, Sections, parágrafos e instruções. Como regra de sintaxe, toda declaração de Division, Section, parágrafo ou instrução deve ser terminado por ponto final (.). O código Cobol possui quatro divisões que devem ser utilizadas nesta ordem: IDENTIFICATION DIVISION. ENVIRONMENT DIVISION. DATA DIVISION. PROCEDURE DIVISION. Como foi explicado no item anterior (Formato do fonte) a declaração das DIVISIONS devem se iniciar na área A do texto (coluna 8). 3.1. IDENTIFICATION DIVISION Esta é a divisão de identificação do programa. Não contém sections, mas somente alguns parágrafos preestabelecidos e opcionais. O único parágrafo obrigatório é o PROGRAM-ID (Nome do programa). O nome do programa deve ser uma palavra com até 8 caracteres (letras ou números), começando por uma letra. Esta divisão possui a seguinte estrutura: IDENTIFICATION DIVISION. PROGRAM-ID. nome-programa. AUTHOR. comentário. DATE-WRITTEN. comentário. DATE-COMPILED. comentário. SECURITY. comentário. REMARKS. comentário.

Curso de Cobol - Apresentação

3.2.1. CONFIGURATION SECTION

Esta seção destina-se a uma descrição geral do ambiente do computador. Ela é composta por três parágrafos: SOURCE-COMPUTER, OBJECT-COMPUTER e SPECIAL- NAMES conforme mostrado acima. SOURCE-COMPUTER - identifica o computador onde foi confeccionado o programa (opcional). OBJECT-COMPUTER - identifica o computador do ambiente de produção (opcional). SPECIAL-NAMES - tem comandos pré-definidos em Cobol, para especificar alfabeto, moeda ou separador de decimal (vírgula ou ponto). Porém todos os comandos são opcionais. O separador de decimais é o mais freqüentemente, indicando que vai se usar a vírgula para separar as casas decimais. A sintaxe correta é: SPECIAL-NAMES. DECIMAL-POINT IS COMMA. 3.2.2 INPUT-OUTPUT SECTION. Esta seção destina-se a configuração dos arquivos que o programa utilizará. Ela possui dois parágrafos: FILE-CONTROL e I-O-CONTROL. FILE-CONTROL - neste parágrafo devemos especificar cada um dos arquivos que o programa irá utilizar, de forma individualizada. I-O-CONTROL - contém vários parágrafos opcionais para especificar opções de uso de fitas magnéticas. Como este dispositivo caiu em desuso, este parágrafo não é mais usado atualmente. No parágrafo FILE-CONTROL, usamos uma instrução SELECT para cada arquivo descrito. A sintaxe correta é: SELECT nome-do-arquivo ASSIGN TO dispositivo-do-computador. No exemplo abaixo, mostraremos a ENVIRONMENT DIVISION de um programa que irá acessar um arquivo chamado CLIENTES.

Curso de Cobol - Apresentação

ENVIRONMENT DIVISION.

CONFIGURATION SECTION.

SPECIAL-NAMES.

DECIMAL-POINT IS COMMA.

INPUT-OUTPUT SECTION.

FILE-CONTROL.

SELECT CLIENTES ASSIGN TO DA-S-CLIENTES.

O programador pode usar qualquer palavra com até 30 caracteres como nome-de arquivo, mas uma vez definido, este deverá ser usado igualmente em todos os pontos do programa quando se referir a este arquivo – nome interno. O formato da cláusula dispositivo-do-computador varia conforme o computador (micro, mainframe, etc), mas no caso do mainframe usa-se o formato mostrado no exemplo, composto de 3 segmentos, separados por hífen: Tipo de dispositivo: UR - para dispositivos de registro fixo (impressoras, cartão). UT - para dispositivos de registro variável (fitas). DA - para dispositivos de acesso aleatório (discos). Modo de acesso: S – Sequencial. D – Direto (Randômico). I – Indexado. Nome externo do arquivo – nome pelo qual o operador do computador reconhece o arquivo. O nome externo geralmente está associado aos comandos JCL na execução do programa. Para arquivos abertos para leitura (veja OPEN INPUT e OPEN I-O), pode-se especificar a cláusula OPTIONAL no SELECT. Com esta clausula, se ao tentarmos abrir o arquivo e este não existir, ele é automaticamente criado vazio. Sintaxe do SELECT com OPTIONAL: SELECT OPTIONAL nome-do-arquivo ASSIGN TO dispositivo.

Curso de Cobol - Apresentação

REGRA:

Na codificação de programa, é exigido que toda a hierarquia de um item de grupo inicie com um item de nível 01. A partir dele, cada nível subordinado deve ter o mesmo número, por exemplo, se para o segundo nível for escolhido o número 3 todos os itens do segundo nível devem ter nível 03, e se o terceiro nível tiver o numero 10, todos os itens do terceiro nível devem ter nível 10, e assim sucessivamente. 3.3.1.2. NOMEAÇÃO DO DADO Pode-se utilizar qualquer palavra – de no máximo 30 caracteres -- incluindo letras, números e hífen, sendo que pelo menos uma deve ser letra. Este nome deverá ser usado em todos os pontos do programa a que se referir a este dado. Se não for necessário realizar uma referência no programa deste dado, o nome poderá ser omitido. Porém, para o COBOL ele é obrigatório. Neste caso, usa-se então a palavra FILLER que identifica dados anônimos. Por exemplo: 01 WRK-INICIO-PGM – este dado não será utilizado no restante do programa. Poderia substituir por: 01 FILLER 3.3.1.3. FORMATO DO DADO O formato dos dados é especificado pela palavra reservada PICTURE, ou pela sua abreviação PIC. A cláusula PICTURE é usada para descrição de informações sobre itens, tais como: tamanho, sinal, tipo (numérico, alfanumérico ou alfabético). Tipos possíveis: ALFABÉTICO - é representado por letras mais o espaço, e o caractere usado é a letra “A”.

Curso de Cobol - Apresentação

Por exemplo: 77 WRK-DADO1 PICTURE IS AAA VALUE ‘ABC’. 77 WRK-DADO2 PIC IS AAA VALUE ‘ABC’. 77 WRK-DADO3 PIC A(3) VALUE ‘BCD’. ALFANUMÉRICO - é representado por letras, números e caracteres. O caractere usado é a letra “X”. A representação de dados não pode exceder a 120 caracteres. Por exemplo: 01 WRK-DADO1 PIC XXX VALUE ‘ANO’. 01 WRK-DADO2 PIC X(04) VALUE ‘KKKK’. NUMÉRICO - usa-se para representação exclusiva de itens numéricos. Os caracteres usados são: “9”, “V”, “P”, “S”. “9” = é utilizado para indicar a posição do campo que contém um dígito de “0” a “9”. “V” = é usado para mostrar a posição da vírgula decimal. O ponto decimal, se colocado, não faz parte do item. “P” = representa um dígito numérico zero (0). “S” = indica a presença de sinal, deve ser colocado antes do “9” A quantidade de caracteres contido no dado é especificado no formato repetindo-se as letras acima. Por exemplo, se o item WRK-QUANT-PROD tem 5 algarismos, seu formato deve ser: 77 WRK-QUANT-PROD PIC 99999. OU 77 WRK-QUANT-PROD PIC 9(05). Quando um item numérico tiver casas decimais, não se carrega na memória o separador decimal (vírgula).

Curso de Cobol - Apresentação

Para os dados numéricos a inicialização deve ser: 77 WRK-IDADE-MINIMA PIC 99 VALUE 18. Isto significa que quando o programa for iniciado, a variável WRK-IDADE-MINIMA conterá o valor 18. Para os dados alfanuméricos a inicialização deve ser inserida entre aspas: 77 WRK-NOME-RUA PIC X(20) VALUE ‘RUA FIDALGA’. Isto significa que quando o programa for iniciado, a variável WRK-NOME-RUA conterá o valor RUA FIDALGA. Os literais alfanuméricos podem ter no máximo 120 caracteres. Podem-se ainda usar como valor inicial as CONSTANTES FIGURATIVAS: ZEROS, SPACES, HIGH-VALUES ou LOW-VALUES. O HIGH-VALUES – maior valor possível assumido pela variável - e LOW-VALUES – menor valor possível assumido pela variável - só poderão ser utilizados em variáveis do tipo alfanuméricas ou item de grupo (também consideradas alfanuméricas). Este tipo de inicialização é largamente utilizada para programas que executam balance-line (batimento entre arquivos). IMPORTANTE: LOW-VALUES é diferente de espaços -- indica que o conteúdo da variável na memória deve ter os seus bytes com todos os bits desligados.

Curso de Cobol - Apresentação

Exemplos de inicialização em hexadecimal: INICIALIZAÇÃO COM TAMANHO VARIAVEL FORMATO HEXADECIMAL ZEROS PIC 9(03) FFF 000 SPACES PIC X(03) 444 000 LOW-VALUES PIC X(03) 000 000 HIGH-VALUES PIC X(03) FFF FFF 3.3.2. ESTRUTURA - DATA DIVISION Na DATA DIVISION é especificado o layout do registro de cada arquivo – entrada/saída utilizados no programa. Também serve para declaração das áreas de trabalho e constantes necessárias para o processamento dos dados. A DATA DIVISION é composta por quatro seções: FILE SECTION. WORKING-STORAGE SECTION. REPORT SECTION. LINKAGE SECTION. 3.3.2.1. FILE SECTION A FILE SECTION é usada para definir o layout / conteúdo do registro do arquivo que o programa irá ler / gravar. Vimos anteriormente, que na INPUT-OUTPUT SECTION (ENVIRONMENT DIVISION), que para cada arquivo a ser tratado no programa deverá haver uma instrução SELECT especificando e definindo um nome para o arquivo. Na FILE SECTION precisamos definir a estrutura de cada um destes arquivos. Isto é feito através do parágrafo FILE DESCRIPTION (FD).

Curso de Cobol - Apresentação

Se não for colocada a cláusula “RECORDING MODE”, o compilador determinará pelo cartão “DD” – JCL ou catálogo. LABEL RECORD - Especifica o formato do label. Ex.: LABEL RECORD IS XXXXXXXX Onde “XXXXXXXX” poderá ser definido com: STANDARD -> padrão OMITTED -> omitido Quando omitido assume “LABEL STANDARD”. Para impressora, leitora de cartões, perfuradoras, usar “OMITTED”, pois não possuem “LABELS”. Os demais casos usar “STANDARD”. DATA RECORD - Serve apenas como documentação, identificando os registros do arquivo pelo nome. Ex.: DATA RECORD IS NOME-DO-DADO-1 ou DATA RECORD ARE NOME-DADO-1, NOME-DADO-2, ... CLÁUSULA FILLER É usada para um item elementar ou um item de grupo, e nunca será refenciado. Pode ser usada na “DATA DIVISION” e suas “SECTIONS”. Exemplo: 01 REGISTRO. 02 FILLER PIC X(100). CLÁUSULA VALUE É usada para definir um valor inicial para um item da “WORKING-STORAGE SECTION”. Não pode ser usada na “FILE SECTION”. Exemplo: 01 CABEC01. 02 FILLER PIC X(10) VALUE SPACES. 02 FILLER PIC X(06) VALUE ‘FOLHAS’. 02 CB01-DATA PIC X(10) VALUE SPACES.

Curso de Cobol - Apresentação

O arquivo CLIENTES definido na INPUT-OUTPUT SECTION, seria detalhado aqui como: DATA DIVISION. FILE SECTION. FD CLIENTE RECORDING MODE IS F LABER RECORDING IS STANDARD BLOCK CONTAINS 0 RECORDS RECORD CONTAINS 80 CHARACTERS DATA-RECORD IS REG-CLIENTES. 01 REG-CLIENTES. 03 COD-CLIENTE PIC 9(8). 03 NOME-CLIENTE PIC X(20). 03 ENDER-CLIENTE PIC X(40). 03 VALOR-CLIENTE PIC 9(10)V99.