A instrução SUBTRACT subtrai um item numérico ou a soma de dois ou mais itens numéricos de um ou mais itens numéricos e armazena o resultado.
|
Todos os identificadores ou literais que precedem a palavra-chave FROM são somados e sua soma é subtraída e armazenada imediatamente no identifier-2.
Esse processo é repetido para cada ocorrência sucessiva do identifier-2, na ordem da esquerda para a direita na qual o identifier-2 é especificado.
Todos os identificadores ou literais que precedem a palavra-chave FROM são somados e sua soma é subtraída do identifier-2 ou literal-2.
O resultado da subtração é armazenado como o novo valor de cada item de dados referenciado pelo identifier-3.
Os itens de dados elementares no identifier-1 são subtraídos e os resultados são armazenados nos itens de dados elementares correspondentes no
identifier-2.
- Quando a opção do compilador ARITH (COMPAT) está em vigor, o composto de operandos pode conter no máximo 18 dígitos.
- Quando a opção do compilador ARITH (EXTEND) está em vigor, o composto de operandos pode conter um máximo de 31 dígitos.
Para todos os formatos:
- identifier
- No formato 1, deve nomear um item de dados numérico elementar.
No formato 2, deve nomear um item de dados numérico elementar, a menos que o identificador siga a palavra GIVING.
Cada identificador após a palavra GIVING deve nomear um item de dados elementar numérico ou editado numérico.
No formato 3, deve nomear um item de grupo alfanumérico ou um item de grupo nacional.
As seguintes restrições se aplicam aos campos de data:
- No formato 1, o identifier-1 pode especificar no máximo um campo de data.
Se o identifier-1 especificar um campo de data, todas as instâncias do identifier-2 deverão especificar um campo de data compatível com o campo de
data especificado pelo identifier-1.
Se o identifier-1 não especificar um campo de data, o identifier-2 poderá especificar um ou mais campos de data, sem restrição nas cláusulas DATE
FORMAT.
- No formato 2, o identifier-1 e o identifier-2 podem especificar no máximo um campo de data.
Se o identifier-1 especificar um campo de data, o FROM identificador-2 deverá ser um campo de data compatível com o campo de data especificado pelo
identifiEr-1.
identifier-3 pode especificar um ou mais campos de data.
Se o identifier-2 especificar um campo de data e o identifier-1 não, todas as instâncias do identifier-3 deverão especificar um campo de data
compatível com o campo de data especificado pelo identifie-2.
- No formato 3, se um item no identifier-1 for um campo de data, o item correspondente no identifier-2 deverá ser um campo de data compatível.
- Um campo de data do último ano é permitido em uma instrução SUBTRACT apenas como identifier-1 e quando o resultado da subtração for uma não-data.
Há duas etapas para determinar o resultado de uma instrução
SUBTRACT que envolve um ou mais campos de data:
- Subtração: determine o resultado da operação de subtração, conforme descrito em Subtração que envolve campos de data.
- Armazenamento: determine como o resultado é armazenado no campo de recebimento.
(Nos formatos 1 e 3, o campo de recebimento é o identifier-2 ; no formato 3, o campo de recebimento é o GIVING identifier-3 .)
Para obter detalhes, consulte
Armazenando resultados aritméticos que envolvem campos de data.
- literal
- Deve ser um literal numérico.
Itens de dados e literais de ponto flutuante podem ser usados em qualquer lugar em que itens de dados numéricos e literais possam ser especificados.
ROUNDED phrase
Para obter informações sobre a frase ROUNDED e para considerações sobre operandos, consulte
ROUNDED
SIZE ERROR phrases
Para obter informações sobre as frases SIZE ERROR e para considerações sobre operandos, consulte
SIZE ERROR
CORRESPONDING phrase (format 3)
Veja a frase CORRESPONDING
END-SUBTRACT phrase
Esse terminador de escopo explícito serve para delimitar o escopo da instrução SUBTRACT.
END-SUBTRACT permite que uma instrução SUBTRACT condicional seja aninhada em outra instrução condicional.
END-SUBTRACT também pode ser usado com uma instrução imperativa SUBTRACT.