Schreiben eines benutzerdefinierten Ausdrucks

Sie können Ihre eigenen benutzerdefinierten Ausdrücke schreiben, um zu steuern, wie der „Conditional Router“ Datensätze weiterleitet. Verwenden Sie dazu die Skriptsprache Groovy, um einen Ausdruck zu erstellen.

Verwenden von Groovy-Scripting

Informationen zu Groovy finden Sie unter groovy-lang.org.

Die im „Conditional Router“-Schritt verwendeten Groovy-Ausdrücke müssen als boolescher Wert (wahr oder falsch) ausgewertet werden. Dadurch wird angegeben, ob der Datensatz in den Port geschrieben werden soll. Der Datensatz wird in den ersten Ausgangsport geleitet, dessen Ausdruck als „Wahr“ ausgewertet wird.

Wenn Sie beispielsweise Datensätze mit einem Konfidenzniveau für die Überprüfung >= 85 an einen Schritt und Datensätze mit einem Konfidenzniveau für die Überprüfung < 85 an einen anderen Schritt leiten müssen, würde Ihr Skript folgendermaßen aussehen:

data['Confidence']>=85

Das Skript für den anderen Port würde folgendermaßen aussehen:

data['Confidence']<85

Der Router würde den Wert des Zuverlässigkeitsfeldes mit Ihren Kriterien abgleichen, um den Zielausgangsport zu bestimmen.

Überprüfen eines Feldes auf einen einzelnen Wert

Bei diesem Beispiel ergibt die Auswertung „wahr“, wenn das Statusfeld „F“ enthält. Dies müsste eine genaue Übereinstimmung sein, die Auswertung von „f“ würde folglich nicht „wahr“ ergeben.

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

Überprüfen eines Feldes auf mehrere Werte

Bei diesem Beispiel ergibt die Auswertung „wahr“, wenn das Statusfeld „F“ oder „f“ enthält.

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

Auswerten der Feldlänge

Bei diesem Beispiel ergibt die Auswertung „wahr“, wenn das Feld „PostalCode“ mehr als 5 Zeichen enthält.

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

Prüfen auf ein Zeichen innerhalb eines Feldwertes

Bei diesem Beispiel ergibt die Auswertung „wahr“, wenn das Feld „PostalCode“ einen Gedankenstrich enthält.

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

Scripting-Richtlinien

  1. Spaltennamen müssen entweder in einzelne oder doppelte Anführungszeichen eingeschlossen werden.

    Diese Syntax ist beispielsweise falsch, da der Spaltenname PostalCode nicht in einzelne oder doppelte Anführungszeichen eingeschlossen ist.

    return data[PostalCode];
  2. Ein Spaltenname muss angegeben werden.

    Diese Syntax ist beispielsweise falsch, da keine Spalte angegeben ist.

    return data[]; 
  3. Eine return-Anweisung muss einen boolean-Wert zurückgeben.

    Dieses Skript ist beispielsweise falsch, da row.set('PostalCode', '88989') keinen boolean-Wert zurückgibt. Es legt einfach den Wert des Felds PostalCode auf 88989 fest.

    return row.set('PostalCode', '88989');
  4. Verwenden Sie ein einfaches Gleichheitszeichen (=), um den Wert eines Feldes festzulegen, und ein doppeltes Gleichheitszeichen (==), um den Wert eines Feldes zu überprüfen.