Operadores lógicos

Estão disponíveis os seguintes operadores: eq, eqset, lt, gt, gteq, lteq, ne, exists, filled, in, and, or, xor, not, containstext.

Igualdade (valor)

Marca XML:

eq

Operandos:

pelo menos dois valores

Resumo:

<eq>
<Value 1>
<Value 2>
...
<Value n>
</eq>

Operandos:

Todos os tipos de dados

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Descrição:

Todos os valores especificados iguais retornam TRUE.

Cálculo (PPM3)

Resultado

TRUE se os operandos de 1 a n tiverem o mesmo tipo de dados e valor, caso contrário FALSE.

Erro

Se nenhum operando for NULL.

Cálculo (PPM4)

Resultado

TRUE se os operandos de 1 a n tiverem o mesmo tipo de dados e valor, caso contrário FALSE. NULL se o operando for NULL.

Erro

Nenhum

Exemplo:

<eq>
<timespan type="NORMAL">
<max>
<attribute name="AT_CUSTDATE_WISH" nodetype="PROCESS"
onerror="EXIT_NO_WARNING"/>
</max>
<min>
<attribute name="AT_END_TIME" nodetype="OT_FUNC"
objectname="SAP.WAUS" onerror="EXIT_NO_WARNING"/>
</min>
</timespan>
<constant>
<dataitem value="0">
<datatype name="TIMESPAN"/>
</dataitem>
</constant>
</eq>

Igualdade (valor)

Marca XML:

ne

Operandos:

pelo menos dois valores

Resumo:

<ne>
<Value 1>
<Value 2>
...
<Value n>
</ne>

Operandos:

Todos os tipos de dados

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Descrição:

A desigualdade de todos os valores especificados retorna TRUE

Cálculo (PPM4)

Resultado

TRUE se todos os operandos de 1 a n não forem iguais (por exemplo, Operando 1 != Operando 2), caso contrário FALSE. NULL se o operando for NULL.

Erro

Nenhum

Exemplo:

<ne>
<timespan type="NORMAL">
<max>
<attribute name="AT_CUSTDATE_WISH"
nodetype="PROCESS"
onerror="EXIT_NO_WARNING"/>
</max>
<min>
<attribute name="AT_END_TIME"
nodetype="OT_FUNC"
objectname="SAP.WAUS"
onerror="EXIT_NO_WARNING"/>
</min>
</timespan>
<constant>
<dataitem value="0">
<datatype name="TIMESPAN"/>
</dataitem>
</constant>
</ne>

Igualdade (conjunto de valores)

Marca XML:

eqset

Operandos:

pelo menos dois conjuntos de valores

Resumo:

<eqset>
<Set of values 1>
<Set of values 2>
...
<Set of values n>
</eqset>

Operandos:

Todos os tipos de dados

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Descrição:

A igualdade de todos os conjuntos de valores especificados retorna TRUE. Os operandos de 2 a n são comparados um a um com o operando 1.

Cálculo (PPM3)

Resultado

TRUE se os conjuntos a serem comparados forem de dimensão igual e todos os seus valores forem idênticos, caso contrário FALSE.

Erro

Se nenhum operando for NULL.

Cálculo (PPM4)

Resultado

TRUE se os conjuntos a serem comparados forem de dimensão igual e todos os seus objetos forem idênticos, caso contrário FALSE. NULL se o operando for NULL.

Erro

Nenhum

Exemplo:

-

Comparação "Inferior a"

Marca XML:

lt

Operandos:

exatamente dois valores

Resumo:

<lt>
<Value 1>
<Value 2>
</lt>

Operandos:

Tipo de dados numéricos uniformes

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Cálculo (PPM3)

Resultado

TRUE se o operando 1 e 2 forem do mesmo tipo de dados e o operando 1 for inferior ao 2, caso contrário FALSE.

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

TRUE se o operando 1 e 2 forem do mesmo tipo de dados e o operando 1 for inferior ao 2, caso contrário FALSE. NULL se pelo menos um operando for igual a NULL.

Erro

Apenas se o tipo de dados for inválido

Exemplo:

-

Comparação "Superior a"

Marca XML:

gt

Operandos:

exatamente dois valores

Resumo:

<gt>
<Value 1>
<Value 2>
</gt>

Operandos:

Tipo de dados numéricos uniformes

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Cálculo (PPM3)

Resultado

Retorna TRUE se o valor 1 for superior ao valor 2 e os operandos forem de um tipo de dados uniforme, caso contrário FALSE.

Erro

Se pelo menos um operando for igual a NULL ou pelo menos um operador de um tipo de dados inválido.

Cálculo (PPM4)

Resultado

Retorna TRUE se o valor 1 for superior ao valor 2 e os operandos forem de um tipo de dados uniforme, caso contrário FALSE. NULL se pelo menos um operando for igual a NULL.

Erro

Apenas se o tipo de dados for inválido

Exemplo:

-

Comparação “maior ou igual a”

Marca XML:

gteq

Operandos:

exatamente dois valores

Resumo:

<gteq>
<Value 1>
<Value 2>
</gteq>

Operandos:

Tipo de dados numéricos uniformes

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Cálculo (PPM4)

Resultado

Retorna TRUE se o valor 1 for superior ou igual ao valor 2 e os operandos forem de um tipo de dados uniforme, caso contrário FALSE. NULL se pelo menos um operando for igual a NULL.

Erro

Apenas se o tipo de dados for inválido

Exemplo:

-

Comparação “menor ou igual a”

Marca XML:

lteq

Operandos:

exatamente dois valores

Resumo:

<glteq>
<Value 1>
<Value 2>
</lteq>

Operandos:

Tipo de dados numéricos uniformes

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Cálculo (PPM4)

Resultado

Retorna TRUE se o valor 1 for inferior ou igual ao valor 2 e os operandos forem de um tipo de dados uniforme, caso contrário FALSE. NULL se pelo menos um operando for igual a NULL.

Erro

Apenas se o tipo de dados for inválido

Exemplo:

-

Verificação de existência

Marca XML:

exists

Operandos:

pelo menos um nome de atributo (attribute, filteredattribute)

Resumo:

<exists>
<Attribute 1>
<Attribute 2>
...
<Attribute n>
</exists>

Operandos:

Todos os tipos de dados

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Descrição:

Retorna TRUE se os atributos especificados existirem, independentemente de alguns valores serem associados aos atributos.

Cálculo (PPM3/PPM4)

Resultado

TRUE se todos os atributos especificados existirem, caso contrário FALSE

Erro

Nenhum

Exemplo:

<exists>
<attribute name="AT_ORDER_VOL" nodetype="OT_FUNC"/>
</exists>

Verificação de conteúdo

Marca XML:

filled

Operandos:

pelo menos um valor ou um conjunto de valores

Resumo:

<filled>
<Value 1>
<Value 2>
...
<Value n>
</filled>

or

<filled>
<Set of values 1>
<Set of values 2>
...
<Set of values n>
</filled>

or

<filled>

<Value 1>
<Value 2>
...
<Value n>
<Set of values 1>
<Set of values 2>
...
<Set of values n>
</filled>

Operandos:

Todos os tipos de dados

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Cálculo (PPM3/PPM4)

Resultado

TRUE se todos os valores relevantes ou conjuntos de valores forem especificados, caso contrário FALSE

Erro

Nenhum

Exemplo:

-

Verificação de conteúdo dos conjuntos

Marca XML:

in

Operandos:

1. operando: Valor ou conjunto de valores
Operando 2: Conjunto de valores

Resumo:

<in>
<Value 1>
<Set of values 2>
</in>

or

<in>
<Set of values 1>
<Set of values 2>
</in>

Operandos:

Todos os tipos de dados

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Cálculo (PPM4 apenas)

Resultado

TRUE se o valor ou conjunto de valores do primeiro operando estiver contido no conjunto de valores especificado pelo segundo operando.
NULL se um operando retornar NULL.

Erro

Apenas se os tipos de dados forem incompatíveis

Exemplo:

<calcattr name="AT_KI_ABL" type="PROCESS">
<calculation>
<in>
<constant>
<dataitem>
HR-ABL
<datatype name="TEXT">Text</datatype>
</dataitem>
</constant>
<attribute name="AT_HRMODUL" nodetype="OT_FUNC" />
</in>
</calculation>
</calcattr>

O operador in retorna TRUE se existir um atributo AT_HRMODUL com o valor HR-ABL para pelo menos uma função na EPC.

AND lógico

Marca XML:

and

Operandos:

pelo menos dois valores lógicos

Resumo:

<and>
<Logical value 1>
<Logical value 2>
...
<Logical value n>
</and>

Operandos:

BOOLEAN

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Descrição:

Retorna TRUE, se todos os valores lógicos forem TRUE. Da primeira vez que um operando retorna FALSE, a avaliação da lista de operandos é cancelada e o valor FALSE é retornado.

Cálculo (PPM3)

Resultado

TRUE se todos os operandos retornarem TRUE, caso contrário FALSE

Erro

Se um operando retornar NULL ou pelo menos um operando for de um tipo de dados inválido

Cálculo (PPM4)

Resultado

TRUE se todos os operandos retornarem TRUE.
FALSE se um operando retornar FALSE e todos os operandos precedentes retornarem TRUE.
NULL se um operando retornar NULL e todos os operandos precedentes retornarem TRUE.

Erro

Se pelo menos um operando for de um tipo de dados inválido (não BOOLEAN)

Exemplo:

-

OR lógico

Marca XML:

or

Operandos:

pelo menos dois valores lógicos

Resumo:

<or>
<Logical value 1>
<Logical value 2>
...
<Logical value n>
</or>

Operandos:

BOOLEAN

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Descrição:

Retorna TRUE, se pelo menos um valor lógico for TRUE. Da primeira vez que um operando retorna TRUE, a avaliação da lista de operandos é cancelada e o valor TRUE é retornado.

Cálculo (PPM3)

Resultado

TRUE se um operando retornar TRUE e todos os operandos precedentes retornarem NULL, caso contrário FALSE.

Erro

Se um operando retornar NULL e todos os outros operandos retornarem FALSE, ou pelo menos um operando for de um tipo de dados inválido

Cálculo (PPM4)

Resultado

TRUE se um operando retornar TRUE e todos os operandos precedentes não retornarem NULL. FALSE se todos os operandos retornarem FALSE. NULL se um operando retornar NULL e todos os operandos precedentes retornarem FALSE.

Erro

Se pelo menos um operando for de um tipo de dados inválido (não BOOLEAN)

Exemplo:

-

EXCLUSIVE OR lógico

Marca XML:

xor

Operandos:

pelo menos dois valores lógicos

Resumo:

<xor>
<Logical value 1>
<Logical value 2>
...
<Logical value n>
</xor>

Operandos:

BOOLEAN

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Descrição:

Retorna TRUE, se exatamente um valor lógico for TRUE.

Cálculo (PPM3)

Resultado

TRUE se exatamente um operando retornar TRUE, caso contrário FALSE

Erro

Se um operando retornar NULL ou pelo menos um operando for de um tipo de dados inválido

Cálculo (PPM4)

Resultado

TRUE se exatamente um operando retornar TRUE. FALSE se nenhum operando ou mais do que um operando retornar TRUE. NULL se pelo menos um operando retornar NULL

Erro

Se pelo menos um operando for de um tipo de dados inválido (não BOOLEAN)

Exemplo:

-

NOT lógico

Marca XML:

not

Operandos:

exatamente um valor lógico

Resumo:

<not>
<Logical value>
</not>

Operandos:

BOOLEAN

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Descrição:

Reverte o valor lógico especificado.

Cálculo (PPM3)

Resultado

TRUE se o operando retornar FALSE, caso contrário FALSE

Erro

Se o operando retornar NULL ou pelo menos um operando for de um tipo de dados inválido

Cálculo (PPM4)

Resultado

TRUE se o operando retornar FALSE. FALSE se o operando retornar TRUE. NULL se o operando retornar NULL

Erro

Se o operando for de um tipo de dados inválido (não BOOLEAN)

Exemplo:

<not>
<exists>
<attribute name="AT_ORDER_VOL" nodetype="OT_FUNC"/>
</exists>
</not>

Verificar o texto no texto

Marca XML:

containstext

Operandos:

Exatamente dois valores do tipo TEXT

Resumo:

<containstext>
<value 1>
<value 2>
</containstext>

Operandos:

TEXT

Resultado:

Valor lógico

Tipo de resultado:

BOOLEAN

Cálculo (PPM4 apenas)

Resultado

TRUE se o texto retornado pelo segundo operando for uma cadeia de caracteres de subcaractere do valor retornado pelo primeiro operando, caso contrário FALSE. NULL se pelo menos um operando retornar NULL

Erro

Se pelo menos um operando for de um tipo de dados inválido (não TEXT)

Exemplo:

<containstext>
<filteredattribute name="AT_ABCDEF"
nodetype="OT_FUNC" objectname="this"
onerror="EXIT_NO_WARNING"/>
<constant>
<dataitem>
abc
<datatype name="TEXT">Text</datatype>
</dataitem>
</constant>
</containstext>

O operador retorna TRUE se a cadeia de caracteres abc estiver contida no valor do atributo AT_ABCDEF.