A instrução MULTIPLY multiplica os itens numéricos e define os valores dos itens de dados iguais aos resultados.
Formato 1: O valor do identificador-1 ou literal-1 é multiplicado pelo valor do identificador-2 ; o produto é, em seguida, colocados em identificador-2 . Para cada ocorrência sucessiva de identificador-2 , a multiplicação tem lugar na ordem da esquerda para a direita em que identificador-2 é especificada.
>>-MULTIPLY--+-identifier-1-+--BY-------------------------------> '-literal-1----' .---------------------------. V | >----identifier-2--+---------+-+--------------------------------> '-ROUNDED-' >--+--------------------------------------------+---------------> '-+----+--SIZE ERROR--imperative-statement-1-' '-ON-' >--+-------------------------------------------------+----------> '-NOT--+----+--SIZE ERROR--imperative-statement-2-' '-ON-' >--+--------------+-------------------------------------------->< '-END-MULTIPLY-'
Formato 2: O valor do identificador-1 ou literal-1 é multiplicado pelo valor do identificador-2 ou literal-2 . O produto é, em seguida, armazenados nos itens de dados referenciado pelo identificador-3 .
>>-MULTIPLY--+-identifier-1-+--BY--+-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-MULTIPLY-'
1-identificador , identificador-2
Deve nomear um item numérico elementar. identifier-1 e identificador-2 não pode ter campos de data.
literal-1 , literal-2
Deve ser um literal numérico.
identifier-3
Deve nomear um item numérico ou numérico-editado elementar.
identifier-3, GIVING, é o único identificador na demonstração multiplicar esse pode ser um campo de data.
Se identificador-3 nomes um campo de data.
Itens de dados de ponto flutuante e literais podem ser usados em qualquer lugar onde um item de dados numérico ou literal pode ser especificado.
Quando a opção de compilador ARITH (COMPAT) está em vigor, a composição de operandos pode conter um máximo de 30 dígitos. Quando a opção de compilador ARITH (EXTEND) está em vigor, a composição de operandos pode conter um máximo de 31 dígitos.
ROUNDED
Para formatos de 1 e 2.
SIZE ERROR
Para formatos de 1 e 2.
END-MULTIPLY
Este terminador de escopo explícito serve para delimitar o escopo da instrução MULTIPLY;
END-MULTIPLY permite que uma instrução MULTIPLY condicional seja aninhada em outra instrução condicional;
END-MULTIPLY também pode ser usado com uma instrução MULTIPLY imperativa.