Escritura de expresiones personalizadas

Puede escribir sus propias expresiones personalizadas a fin de controlar la manera como Condicional Router enruta los registros mediante el lenguaje de scripting Groovy, para crear una expresión.

Uso de comandos Groovy

Para obtener más información acerca de Groovy, consulte groovy-lang.org.

Las expresiones Groovy utilizadas en la etapa Conditional Router deben evaluarse respecto de un valor booleano (verdadero o falso), que indica si el registro debería escribirse en el puerto. Se envía el registro al primer puerto de salida cuya expresión se evalúe como verdadera.

Por ejemplo, si necesitara enviar registros con un nivel de confianza de validación de >=85 a una etapa y los registros con un nivel de confianza de validación de <85 a otra, su secuencia de comandos tendría la siguiente apariencia:

data['Confidence']>=85

El script para el otro puerto, sería similar a la siguiente:

data['Confidence']<85

El enrutador evaluaría el valor del campo Confianza según sus criterios para determinar a qué puerto de salida enviarlo.

Verificación de un valor único en un campo

Este ejemplo se evalúa como verdadero si el campo Estado contiene 'F'. Tiene que ser un cruce exacto, por lo que 'f' no se evaluaría como verdadero.

return data['Status'] == 'F'; 

Verificación de valores múltiples en un campo

Este ejemplo se evalúa como verdadero si el campo Estado contiene 'F' o 'f'.

boolean returnValue = false;
if (data['Status'] == 'F' || data['Status'] == 'f')
{
 returnValue = true;
}
return returnValue; 

Evaluación de la longitud del campo

Este ejemplo se evalúa como verdadero si el campo PostalCode tiene más de 5 caracteres.

return data['PostalCode'].length() > 5; 

Verificación de un carácter dentro de un valor de campo

Este ejemplo se evalúa como verdadero si el campo PostalCode contiene un guión.

boolean returnValue = false; 
if (data['PostalCode'].indexOf('-') != -1) 
{ 
	returnValue = true; 
} 
return returnValue; 

Pautas de secuencia de comandos

  1. Los nombres de columna deben ir entre comillas simples o dobles.

    Por ejemplo, esta sintaxis es incorrecta porque el nombre de columna PostalCode no está entre comillas simples o dobles.

    return data[PostalCode];
  2. Debe especificar un nombre de columna.

    Por ejemplo, esta sintaxis es incorrecta porque no se especificó una columna.

    return data[]; 
  3. Una afirmación return debe devolver un valor boolean.

    Por ejemplo, esta secuencia de comandos es incorrecta porque row.set('PostalCode', '88989') no devuelve un valor boolean. Tan solo define el valor del campo PostalCode en 88989.

    return row.set('PostalCode', '88989');
  4. Use un solo signo igual (=) para configurar el valor de un campo y un signo igual doble (==) para verificar el valor de un campo.