Estão disponíveis os seguintes operadores: plus, minus, timespan, times, divide, abs, div, mod, squareroot e round.
Adição
Marca XML: |
plus |
|
Operandos: |
pelo menos dois valores |
|
Resumo: |
<plus> |
|
Operandos: |
Tipos de dados numéricos (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE) |
|
Resultado: |
Valor |
|
Tipo de resultado: |
Tipo de dados do operando com tipo de dados idêntico. |
|
Descrição: |
Adiciona os valores especificados no elemento XML |
|
Cálculo (PPM3) |
Resultado |
Soma de todos os operandos |
Erro |
Se pelo menos um operando for igual a NULL ou de um tipo de dados não numérico |
|
Cálculo (PPM4) |
Resultado |
NULL se pelo menos um operando for igual a NULL, caso contrário, a soma de todos os operandos. |
Erro |
Apenas se o tipo de dados for não numérico |
|
Exemplo: |
- |
Subtração
Marca XML: |
minus |
|
Operandos: |
exatamente dois valores |
|
Resumo: |
<minus> |
|
Operandos: |
Tipos de dados numéricos (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE) |
|
Resultado: |
Valor (diferença) |
|
Tipo de resultado: |
Tipo de dados do operando com tipo de dados idêntico. |
|
Descrição: |
Subtrai o valor 2 do valor 1 |
|
Cálculo (PPM3) |
Resultado |
Resultado da subtração do operando 2 do operando 1 |
Erro |
Se pelo menos um operando for igual a NULL ou de um tipo de dados não numérico |
|
Cálculo (PPM4) |
Resultado |
NULL se pelo menos um operando for igual a NULL, caso contrário, o resultado da subtração do operando 2 do operando 1 |
Erro |
Apenas se o tipo de dados for não numérico |
|
Exemplo: |
- |
Intervalo de tempo
Marca XML: |
timespan |
|
Operandos: |
Exatamente dois valores (pontos no tempo) |
|
Resumo: |
<timespan> |
|
Operandos: |
TIME (TIMESTAMP, DATE) |
|
Resultado: |
Valor (intervalo de tempo) |
|
Tipo de resultado: |
TIMESPAN ou |
|
Descrição: |
Calcula a diferença de tempo entre o tempo 1 e o tempo 2. Se a diferença for negativa, o valor 0 é retornado.
|
|
Cálculo (PPM3) |
Resultado |
Intervalo de tempo entre o operando 1 e o operando 2 (operando 1 menos operando 2) |
Erro |
Se pelo menos um operando for igual a NULL ou pelo menos um de um tipo de dados inválido |
|
Cálculo (PPM4) |
Resultado |
NULL se pelo menos um operando for igual a NULL, caso contrário, o intervalo de tempo entre o operando 1 e o operando 2 (operando 1 menos operando 2) |
Erro |
Apenas se o tipo de dados for inválido |
|
Exemplo: |
<timespan type="FACTORYCALENDAR" |
Se estiver usando um calendário de fábrica, também poderá calcular intervalos de tempo negativos especificando o atributo XML opcional negfactorytimespan="TRUE".
Valor padrão: FALSE
Também pode executar cálculos de intervalo de tempo com base em calendários externos de fábrica, especificando um arquivo XML de calendário de fábrica. No atributo XML opcional directoryname, especifique o diretório contendo o calendário de fábrica a ser usado. O atributo attributename é usado para especificar o nome do tipo de atributo contendo o nome do arquivo de calendário de fábrica a ser usado. O tipo de atributo tem de ser especificado para o objeto ou instância de processo correspondente. Os dois atributos XML têm sempre de ser especificados em conjunto.
Multiplicação
Marca XML: |
times |
|
Operandos: |
pelo menos dois valores |
|
Resumo: |
<times> |
|
Operandos: |
Tipos de dados numéricos (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE) |
|
Resultado: |
Valor (produto) |
|
Tipo de resultado: |
Tipo de dados do operando com tipo de dados idêntico. |
|
Descrição: |
Multiplica os valores especificados no elemento XML. |
|
Cálculo (PPM3) |
Resultado |
Resultado da multiplicação dos operandos 1 por n |
Erro |
Se pelo menos um operando for igual a NULL ou de um tipo de dados não numérico |
|
Cálculo (PPM4) |
Resultado |
NULL se pelo menos um operando for igual a NULL, caso contrário, o resultado da multiplicação de todos os operandos |
Erro |
Apenas se o tipo de dados for não numérico |
|
Exemplo: |
- |
Divisão
Marca XML: |
divide |
|
Operandos: |
exatamente dois valores |
|
Resumo: |
<divide> |
|
Operandos: |
Tipos de dados numéricos (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE) |
|
Resultado: |
Valor (quociente) |
|
Tipo de resultado: |
Sempre DOUBLE |
|
Descrição: |
Divide o valor 1 pelo valor 2. |
|
Cálculo (PPM3) |
Resultado |
Resultado da divisão do operando 1 pelo operando 2 |
Erro |
Se pelo menos um operando for igual a NULL ou pelo menos um operando de um tipo de dados inválido ou operando 2 = 0 |
|
Cálculo (PPM4) |
Resultado |
NULL se pelo menos um operando for igual a NULL, caso contrário, o resultado da divisão do operando 1 pelo operando 2 |
Erro |
Se pelo menos um operando for de um tipo de dados inválido ou operando 2 = 0 |
|
Exemplo: |
- |
Quantidade
Marca XML: |
abs |
|
Operandos: |
exatamente um valor |
|
Resumo: |
<abs> |
|
Operandos: |
Tipos de dados numéricos (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE) |
|
Resultado: |
Valor (valor absoluto) |
|
Tipo de resultado: |
Tipo de dados do operando |
|
Descrição: |
Retorna a quantidade de um valor. |
|
Cálculo (PPM3) |
Resultado |
Valor absoluto do operando |
Erro |
Se pelo menos um operando for igual a NULL ou de um tipo de dados não numérico |
|
Cálculo (PPM4) |
Resultado |
NULL se o operando for igual a NULL, caso contrário o valor absoluto do operando |
Erro |
Apenas se o tipo de dados for não numérico |
|
Exemplo: |
- |
Divisão de inteiro
Marca XML: |
div |
|
Operandos: |
exatamente dois valores inteiros |
|
Resumo: |
<div> |
|
Operandos: |
LONG |
|
Resultado: |
Valor inteiro da divisão |
|
Tipo de resultado: |
LONG |
|
Descrição: |
Retorna o valor inteiro das vezes em que o valor 2 está contido no valor 1. O restante é ignorado. Para frações adequadas, é retornado 0. |
|
Cálculo (PPM4 apenas) |
Resultado |
NULL se pelo menos um operando for igual a NULL, caso contrário, o resultado inteiro da divisão do operando 1 pelo operando 2 |
Erro |
Se pelo menos um operando for de um tipo de dados inválido (não LONG) ou operando 2 = 0 |
|
Exemplo: |
<div> |
Módulo
Marca XML: |
mod |
|
Operandos: |
exatamente dois valores inteiros |
|
Resumo: |
<mod> |
|
Operandos: |
LONG |
|
Resultado: |
Restante de inteiro |
|
Tipo de resultado: |
LONG |
|
Descrição: |
Retorna o restante de uma divisão de inteiro do valor 1 pelo valor 2. Para frações adequadas, é retornado o valor do primeiro operando. Se o valor 1 = valor 2, 0 é retornado. |
|
Cálculo (PPM4 apenas) |
Resultado |
NULL se pelo menos um operando for igual a NULL, caso contrário, o restante da divisão inteira do operando 1 pelo operando 2 |
Erro |
Se pelo menos um operando for de um tipo de dados inválido (não LONG) ou operando 2 = 0 |
|
Exemplo: |
<mod> |
Raiz quadrada
Marca XML: |
squareroot |
|
Operandos: |
exatamente um valor |
|
Resumo: |
<squareroot> |
|
Operandos: |
Tipos de dados numéricos (LONG, DOUBLE, TIMESPAN, FACTORYTIMESPAN, FREQUENCY, PERCENTAGE, e tipos de dados definidos pelo usuário, por exemplo, COST) |
|
Resultado: |
Raiz quadrada |
|
Tipo de resultado: |
Tipo de dados DOUBLE |
|
Descrição: |
Calcula a raiz quadrada do valor inserido. |
|
Cálculo (PPM4 apenas) |
Resultado |
NULL se o operando for igual a NULL, caso contrário, a raiz quadrada do operando numérico |
Erro |
Se o operando for de um tipo de dados inválido (não numérico) ou se o valor do operando for inferior a 0 |
|
Exemplo: |
- |
Arredondar
Marca XML: |
round |
|
Operandos: |
Um valor único do tipo TIMESPAN |
|
Resumo: |
<round> |
|
Operandos: |
TIMESPAN |
|
Resultado: |
Valor de intervalo de tempo arredondado |
|
Tipo de resultado: |
TIMESPAN |
|
Atributos XML |
scale (MINUTE|HOUR|DAY|WEEK|MONTH|YEAR) roundingkind (ROUND|FLOOR|CEIL) "ROUND" |
|
Descrição: |
Retorna o valor arredondado dos intervalos de tempo. Apenas os valores do tipo de dados TIMESPAN podem ser arredondados. Tem de ser especificada a escala a ser usada para o arredondamento. Existem os seguintes métodos de arredondamento: ROUND (casas decimais <5 arredondadas para baixo,> = 5 arredondadas para cima) |
|
Cálculo (PPM4 apenas) |
Resultado |
O valor arredondado na escala especificada. |
Erro |
Se o operando for de um tipo de dados inválido ou um número inválido de operandos. |
|
Exemplo: |
<round scale="MINUTE" roundingkind="CEIL"> O valor do intervalo de tempo de 1,19 horas é convertido para 71,4 minutos, conforme especificado pela escala, e é arredondado para 72 minutos (valor de retorno), de acordo com o método de arredondamento especificado. |
Valor Null
Marca XML: |
nullvalue |
|
Operandos: |
exatamente dois valores |
|
Resumo: |
<nullvalue> |
|
Operandos: |
Qualquer tipo de dados, ambos os operandos têm de ser do mesmo tipo de dados. |
|
Resultado: |
Valor do primeiro operando se não for nulo, caso contrário, o valor do segundo operando |
|
Tipo de resultado: |
Tipo de dados do operando |
|
Descrição: |
Substitui o valor eventualmente ausente do primeiro operador (valor nulo) pelo valor do segundo operador. Se o primeiro operando fornecer um valor, esse valor será retornado, caso contrário, o valor do segundo operando será retornado. |
|
Cálculo (PPM4 apenas) |
Resultado |
Valor do primeiro operando se não for nulo, caso contrário, o valor do segundo operando. |
Erro |
Quando os operandos têm tipos de dados diferentes |
|
Exemplo: |
<nullvalue> <subtext beginindex="3"> <filteredattribute name="AT_XYZ" </subtext> <constant> <dataitem> ABC <datatype name="TEXT">Text</datatype> </dataitem> </constant> </nullvalue> Se o operador subtext não retornar nenhum valor, é retornada a cadeia de caracteres da constante ABC. |