COBOL - Comando ADD - www.cadcobol.com.br



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com


ADD

A instrução ADD soma dois ou mais operandos numéricos e armazena o resultado.

Todos os identificadores ou literais que precede a palavra-chave TO são somados, e esta soma é agregado e armazenados em identifier-2.

Este processo é repetido para cada ocorrência sucessiva de identifier-2, na ordem da esquerda para a direita em que identifier-2 é especificado.

Os valores dos operandos que antecedem a palavra GIVING são somados, e a soma é armazenada como o novo valor de cada item de dados referenciados pelo identifier-3.

Itens elementares de dados dentro identifier-1 são adicionados e armazenados no correspondentes itens elementares dentro identifier-2.



ADD
Identifier-1, Identifier-2 e Identifier-3 representam variáveis numéricas.
Literal-1 e Literal-2 representam valores fixos, ou seja, o número escrito no programa.

ROUNDED
Indica ao comando que os valores decimais devem ser arredondados, caso esta palavra reservada não seja indicada o compilador irá truncar estes valores, ou seja, um valor 10.25 truncado ficará como 10.2.

GIVING
Indica que utilizaremos uma variável como repositório do resultado obtido pela soma de Identifier-1 com Identifier-2, caso GIVING não seja especificado o Identifier-2 será afetado pelo comando, ou seja, ele será utilizado para o resultado da soma.
Imperative-statement-1 e Imperative-statement-2 indicam que algum comando deverá ser executado, desde que este comando não seja de análise condicional, por exemplo, um IF.

ON SIZE ERROR
Ocorrerá sempre que o Indentifier-2 ou Indentifier-3 não comportarem o valor especificado e NOT ON SIZE ERROR ocorrerá na situação de normalidade do processo.

CORRESPONDING
É utilizado para somar uma TABELA inteira, ou seja, podemos construir tabelas nas definições das variáveis e com este recurso do comando somar a tabela de uma única vez, sem a necessidade da construção de laços para somar item a item. END-ADD é opcional.

ANS85 indica que esta é uma convenção nova e OSVS é uma convenção antiga utilizada no MainFrame.

Regras para adição
  • Todos os literais e campos que são parte da adição devem ser numéricos. Antes da palavra GIVING, contudo, o campo pode ser um item de relatório.

  • O campo resultante, imediatamente após a palavra TO ou a palavra GIVING, deve ser un nome de dados, e não um literal.

  • Ao usar o formato TO, o nome de dados imediatamente após a palavra TO é o campo receptor.
    Este campo rceptor é parte da instrução ADD; isto é, seu conteúdo inicial é somado junto ao dos outros campos. O campo receptor deve ser numérico ao usar este formato.

  • Ao usar o formato GIVING, o nome de dados imediatamente após a palavra GIVING é o campo receptor.
    Ele conterá a soma, mas seu conteúdo original não será parte da instrução ADD.
    Ele pode ser tanto um campo numérico como um item de relatório.

  • As palavras TO e GIVING poderão ser especificadas na mesma instrução se voce estiver usando o compilador COBOL 85.

  • Quando a opção do compilador ARITH (COMPAT) está em vigor, a composição de operandos pode conter no máximo 18 dígitos.

    Quando a opção do compilador ARITH (EXTEND) está em vigor, a composição de operandos pode conter no máximo 31 dígitos.

Exemplos:

Antes Comando Depois
VALOR-1 VALOR-2 VALOR-3 VALOR-1 VALOR-2 VALOR-3
8 ADD 3 TO VALOR-1 11
7 8 ADD VALOR-1 TO VALOR-2 7 15
4 2 1 ADD VALOR-1 VALOR-2 TO VALOR-3 4 2 7
4 2 1 ADD VALOR-1 VALOR-2 GIVING VALOR-3 4 2 6
30 20 ADD 50 VALOR-1 TO VALOR-2 30 100
30 20 40 ADD 60 VALOR-1 VALOR-2 GIVING VALOR-3 30 20 110


Veja também