Referencia a functoids lógicos

 

Use functoids lógicos para realizar diversas operaciones lógicas, que a menudo controlan si un determinado elemento o atributo se crea en un mensaje de instancia de salida.

Importante

Como Microsoft BizTalk Server usa la funcionalidad subyacente de .NET Framework, los resultados producidos por algunos functoids lógicos pueden variar con respecto a los functoids equivalentes de versiones anteriores de BizTalk Server. Por ejemplo, cuando se comparan dos cadenas, los functoids lógicos distinguen entre mayúsculas y minúsculas: "Abc" y "abc" no son iguales. La excepción a esta regla es cuando los functoids lógicos comparan cadenas que representan los valores booleanos True y False: "True" y "true" son iguales. Debe probar las asignaciones exhaustivamente para asegurarse de que obtiene los resultados esperados.

A menos que se indique otra cosa, los functoids lógicos siempre generan un valor booleano, ya sea True o False. Esto significa que no se puede usar la salida de un functoid lógico como entrada de un functoid que espera una cadena (por ejemplo, el functoid Mayúsculas), con el fin de obtener una cadena de salida como "TRUE". En otras palabras, no debe conectar la salida de un functoid lógico a un nodo y esperar que el campo se rellene con un valor de cadena de "TRUE" o "FALSE", o una variantes de éstos ("True", "true", "False", "false", etc).

Por otro lado, los functoids lógicos sí aceptan cierta variedad de tipos de datos (valores booleanos, cadenas y números) como valores de entrada. Usan las reglas semánticas habituales para interpretar y comparar esos valores. Lo más recomendable es pasar dos parámetros del mismo tipo de datos, lo que resulta en las siguientes acciones:

  • Cuando ambos parámetros de entrada son valores booleanos, se realiza una comparación lógica.

  • Cuando los dos parámetros de entrada son números, ambos se convierten en valores booleanos, donde los valores distintos de cero se convierten en booleanos True y los valores cero se convierten en booleanos False, y a continuación se realiza una comparación lógica.

  • Cuando ambos parámetros de entrada son cadenas, se realiza una comparación de cadenas que distingue entre mayúsculas y minúsculas. Si resulta apropiado, use el functoid Mayúsculas o el functoid Minúsculas para hacer que ambas cadenas de entrada queden completamente en mayúsculas o minúsculas. Tenga en cuenta que el paso de cadenas a los functoids Y lógico, NOT lógico y O lógico no produce resultados utilizables.

También se admiten los dos casos siguientes, aunque son poco frecuentes:

  • Si un parámetro de entrada es un número y el otro una cadena, se realiza una comparación de cadenas que distingue entre mayúsculas y minúsculas. Esto significa que la cadena debe ser la versión en cadena de un número para que la comparación tenga sentido.

  • Si un parámetro de entrada es booleano y el otro es una cadena, use la cadena literal "true" (en minúsculas) para representar el valor booleano True y la cadena literal "false" (en minúsculas) para representar el valor booleano False. Otros valores de cadena para True y False no son admitidos para todos los functoids lógicos, incluso si la diferencia es solo entre mayúsculas y minúsculas.

El paso de un parámetro de entrada booleano y un parámetro de entrada numérico no se admite; dará resultados inutilizables.

Para información conceptual acerca de los functoids lógicos, consulte Functoids lógicos.

Importante

Cuando la salida de un functoid lógico se vincula directamente con un nodo de esquema de destino, mediante la realización de una asignación de prueba, no se obtiene un valor lógico (true/false) como salida. Se representa como en blanco. Por lo tanto, la salida de un valor lógico debe conectarse solo a aquellos functoids que aceptan parámetros de entrada lógicos.

En la tabla siguiente se muestran los functoids de la categoría Lógicos.

Functoid lógico Descripción
Icono que representa el functoid Igual.Igual Comprueba si los dos parámetros de entrada son iguales.
Icono que representa el functoid Mayor que.Mayor que Comprueba si el primer parámetro de entrada es mayor que el segundo parámetro de entrada.
Icono que representa el functoid Mayor o Igual que.Mayor o igual que Comprueba si el primer parámetro de entrada es mayor o igual que el segundo parámetro de entrada.
IsNil functoid IsNil Comprueba si el parámetro de entrada es nulo.
Icono que representa el functoid Menor que.Menor que Comprueba si el primer parámetro de entrada es menor que el segundo parámetro de entrada.
Icono que representa el functoid Menor o Igual que.Menor o igual que Comprueba si el primer parámetro de entrada es menor o igual que el segundo parámetro de entrada.
Icono que representa el functoid AND lógico.AND lógico Determina si todos los parámetros de entrada especificados son True.
Icono que representa el functoid Fecha lógica.Fecha lógica Determina si el parámetro de entrada es una fecha.
Icono que representa el functoid Existance lógico.Existencia lógica Determina si el registro o el campo vinculado a él existe en un mensaje de instancia de origen determinado.
lógico NOT Devuelve el valor lógico inverso al parámetro de entrada.
Icono que representa el functoid Numérico lógico.Numérico lógico Determina si el parámetro de entrada es un valor numérico.
Icono que representa el functoid OR lógico.OR lógico Determina si alguno de los parámetros de entrada especificados es True.
Icono que representa el functoid Cadena lógica.Cadena lógica Determina si el parámetro de entrada es una cadena.
Icono que representa el functoid No igual.No es igual Comprueba si los dos parámetros de entrada no son iguales.

Consulte también

Cómo agregar functoids básicos a una asignación