Quarta, Dezembro 13, 2017

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.

Formato1

Read syntax diagramSkip visual syntax diagram             .------------------.
             V                  |
>>-SUBTRACT----+-identifier-1-+-+--FROM------------------------->
               '-literal-1----'
 
   .---------------------------.
   V                           |
>----identifier-2--+---------+-+-------------------------------->
                   '-ROUNDED-'
 
>--+--------------------------------------------+--------------->
   '-+----+--SIZE ERROR--imperative-statement-1-'
     '-ON-'
 
>--+-------------------------------------------------+---------->
   '-NOT--+----+--SIZE ERROR--imperative-statement-2-'
          '-ON-'
 
>--+--------------+--------------------------------------------><
   '-END-SUBTRACT-'

Todos os identificadores ou literais anteriores a FROM são somados e sua soma é subtraído e armazenados imediatamente no identifier-2. Este processo é repetido para cada ocorrência sucessiva de identifier-2, na ordem da esquerda para a direita em que identifier-2 é especificada.

 

Formato 2

Read syntax diagramSkip visual syntax diagram             .------------------.
             V                  |
>>-SUBTRACT----+-identifier-1-+-+--FROM--+-identifier-2-+------->
               '-literal-1----'          '-literal-2----'
 
           .---------------------------.
           V                           |
>--GIVING----identifier-3--+---------+-+------------------------>
                           '-ROUNDED-'
 
>--+--------------------------------------------+--------------->
   '-+----+--SIZE ERROR--imperative-statement-1-'
     '-ON-'
 
>--+-------------------------------------------------+---------->
   '-NOT--+----+--SIZE ERROR--imperative-statement-2-'
          '-ON-'
 
>--+--------------+--------------------------------------------><
   '-END-SUBTRACT-'
 

Todos os identificadores ou literais anteriores a FROM são somados e sua soma é subtraído 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.

 

Formato 3

Read syntax diagramSkip visual syntax diagram>>-SUBTRACT--+-CORRESPONDING-+--identifier-1--FROM-------------->
             '-CORR----------'
 
>--identifier-2--+---------+------------------------------------>
                 '-ROUNDED-'
 
>--+--------------------------------------------+--------------->
   '-+----+--SIZE ERROR--imperative-statement-1-'
     '-ON-'
 
>--+-------------------------------------------------+---------->
   '-NOT--+----+--SIZE ERROR--imperative-statement-2-'
          '-ON-'
 
>--+--------------+--------------------------------------------><
   '-END-SUBTRACT-'
 

Itens de dados elementares dentro identifier-1 são subtraídos, e os resultados são guardados, os itens de dados elementares correspondentes no interior identifier-2.

 

Quando a opção de compilador ARITH (COMPAT) está em vigor, a composição de operando pode conter um máximo de 30 dígitos. Quando a opção de compilador ARITH (EXTEND) está em vigor, a composição de operando 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 que segue a palavra GIVING deve nomear um item de dados elementar numérico ou editado numericamente.

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, identifier-1 pode especificar no máximo, um campo de data. Se identifier-1 especifica um campo de data, então cada instância do identifier-2 deve especificar um campo de data que é compatível com o campo de data especificado pelo identifier-1. Se identifier-1 não especifica um campo de data e, em seguida identifier-2 pode especificar um ou mais campos de data, sem qualquer restrição em suas cláusulas DATE FORMAT.
  • No Formato 2identifier-1 e identifier-2 pode especificar individualmente no máximo, um campo de data. Se identifier-1 especifica um campo de data, então FROM identifier-2 deve ser um campo de data que é compatível com o campo de data especificado pelo identifier-1. identifier-3 pode especificar um ou mais campos de data. Se identifier-2 especifica um campo de data e identifier-1 não, então cada instância do identificador-3 deve especificar um campo de data que é compatível com o campo de data especificado pelo identificador-2 .
  • No Formato 3, se um item dentro de identifier-1 é um campo de data, o item correspondente no identifier-2 deve ser um campo de data compatível.
  • Um campo de data no último ano é permitido em um comunicado SUBTRACT apenas como identifier-1 e quando o resultado da subtração é uma non date.

Existem duas etapas para determinar o resultado de uma instrução SUBTRACT que envolve um ou mais campos de data:

  1. SUBTRACT: determinar o resultado da operação de subtração, conforme descrito em subtração que envolve campos de data.
  2. STORAGE: determina como o resultado é armazenado no campo de recebimento. (Em Formatos de 1 e 3, o campo de recepção é identifier-2; no Formato 3, o campo de recepção é a doação identifier-3).

 

literal

Deve ser um literal numérico.

Itens de dados de ponto flutuante e literais podem ser usados ​​em qualquer lugar itens de dados numéricos e literais podem ser especificados.

 

ROUNDED

Para obter informações sobre a ROUNDED, e por considerações de operando, veja ROUNDED.

 

SIZE ERROR

Para obter informações sobre as frases erro de tamanho, e por considerações de operando, veja SIZE ERROR.

 

CORRESPONDING (Formato 3)

Veja CORRESPONDING.

 

END-SUBTRACT

Este 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 SUBTRACT imperativa.

 

A Historia do cobol

A Historia do cobol

COBOL significa Common Business Oriented Language, isto é, Linguagem Comum Orientada para o Comércio. O Cobol é um subconjunto de palavras da língua inglesa, ou seja, um número limitado de palavras inglesas sujeita a uma sintaxe própria. É uma linguagem que lida com problemas comerciais, envolvendo arquivos de dados de apreciáveis proporções (Seqüências/Vsam/Banco de dados DB2).   História: Criado por um comitê de investigadores de várias instituições civis e governamentais durante o segundo semestre de 1959. As especificações eram em grande parte inspiradas na linguagem de programação FLOW-MATIC inventada pela Grace Hopper - referida como "a mãe da língua COBOL." Em 8 de abril de...

Vagas

Em breve estaremos divulgando vagas de COBOL/CICS/DB2

Camisetas

IDENTIFICATION DIVISION

IDENTIFICATION DIVISION: Possui informações documentais, como nome do programa, quem o codificou e quando essa codificação foi realizada.    PROGRAM-ID nome do programa. (Obrigatório) AUTHOR nome do desenvolvedor. (Obrigatório) INSTALLATION nome da empresa ou local de geração do...

ENVIRONMENT DIVISION

ENVIRONMENT DIVISION: é a segunda divisão de um programa COBOL. Descreve o computador e os periféricos que serão utilizados pelo programa, fazendo ligação com o ambiente operacional onde o programa...

DATA DIVISION

DATA DIVISION: É a terceira divisão de um programa COBOL, descreve os arquivos de entrada e saída que serão usadas pelo programa. Também define as áreas de trabalho e constantes...

PROCEDURE DIVISION

PROCEDURE DIVISION: Contém o código que irá manipular os dados descritos na DATA DIVISION. É nesta divisão que o desenvolvedor descreverá a lógica do programa. Consiste em instruções executáveis ​​usando...

Comandos