Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Una expresión de filtro es un parámetro opcional que se puede aplicar a una forma de recepción de orquestación que especifica un valor true para la propiedad Activate. Si se especifica una expresión de filtro, la orquestación solo se activará si un mensaje entrante coincide con las condiciones especificadas en la expresión de filtro. Si no se especifica ninguna expresión de filtro, cualquier mensaje entrante al que se suscribe la orquestación activará la orquestación.
Para crear una expresión de filtro, compare una propiedad de un mensaje entrante en el lado izquierdo de la expresión con una constante en el lado derecho de la expresión. También puede crear expresiones compuestas aplicando los operadores AND y OR a dos o más expresiones. También puede dejar en blanco la expresión de filtro, en cuyo caso se aceptarán todos los mensajes.
Una expresión de filtro podría tener un aspecto similar al siguiente:
InvoiceSchema.Quantity >= 1000
En este ejemplo, se presenta un mensaje entrante a la orquestación. La orquestación tiene una forma de activación Receive (la propiedad Activation se establece en True para que la recepción de un mensaje determinado provoque que se ejecute la orquestación) con la expresión de filtro anterior aplicada. Se espera que el mensaje entrante tenga la propiedad Quantity en el espacio de nombres InvoiceSchema. La orquestación solo acepta facturas de 1000 o más artículos, por lo que el motor de ejecución comprueba el mensaje entrante antes de ejecutarse.
En la tabla siguiente se muestran los operadores que puede usar en expresiones de filtro.
| Operador | Descripción | Ejemplo |
|---|---|---|
| == | igual a | ReqMsg(Total) == 100 |
| != | no es igual a | ReqMsg(Total) != 100 |
| < | menor que | ReqMsg(Total) < 100 |
| > | mayor que | ReqMsg(Total) > 100 |
| <= | Menor o igual que | ReqMsg(Total) <= 100 |
| >= | Mayor o igual que | ReqMsg(Total) >= 100 |
| Existe | Existe | ReqMsg(Description) existe |
Nota:
Los valores de cadena de las expresiones de filtro se incluyen entre comillas, por ejemplo: ReqMsg(Description) = "Estado del pedido de compra". No se puede usar un valor de carácter en una expresión de filtro.
Nota:
Si su recepción de activación está asociada a un puerto enlazado directamente y, posteriormente, usted envía un mensaje del mismo tipo con el mismo valor para la propiedad probada en su filtro, creará un bucle infinito. El mensaje irá al Cuadro de mensajes, donde se volverá a recoger porque coincide con los criterios de filtro. Para evitar esto, debe filtrar por una propiedad diferente, enviar un mensaje de otro tipo o asegurarse de cambiar el valor de la propiedad antes de enviar un mensaje del mismo tipo.
Véase también
Cómo configurar la forma de recepción
Uso de correlaciones en orquestaciones
Uso de campos distintivos y campos de propiedad
Uso de mensajes en orquestaciones