Aktivität 'Objekte abfragen' konfigurieren
Sie müssen eine SOSL-Abfrage (SForce Object Search Language) erstellen, um die Aktivität Objekte suchen zu konfigurieren. In den folgenden Abschnitten werden die Schritte zur Konfiguration der Aktivität Objekte suchen, zur Erstellung einer SOSL-Abfrage und zur Bereitstellung von SOSL-Syntaxregeln für IBM® Cast Iron erläutert.
Vorgehensweise
SOSL-Abfragen erstellen
Bei der Erstellung einer SOQL-Abfrage, können Sie dynamische Parameter in der Klausel WHERE der SOQL-Anweisung verwenden. Studio kann anschließend diese Parameter als Eingabeparameter für die Aktivität dynamisch zuordnen. Dies ermöglicht eine dynamische Kontrolle der Abfrage auf Grundlage der Eingabe in die Orchestrierung.
Informationen zu diesem Vorgang
Die Abfragesprache SOQL (SForce Object Query Language) definiert keine Syntax für parametrisierte Abfragen. Cast Iron erzwingt jedoch einige proprietäre SOQL-Syntaxregeln. Sie können Parameter entweder in einfachen Ausdrücken oder in Gruppenausdrücken verwenden.
- Verwenden Sie das Dollarzeichen ($), um einen Parameter zu kennzeichnen. Geben Sie nach dem Dollarzeichen ($)
eine Zeichenfolge alphanumerischer Zeichen an. Das erste Zeichen muss ein Buchstabe [a-zA-Z] sein, nach dem optional ein oder mehrere Buchstaben
[a-zA-Z], Ziffern [0-9] oder ( _ ) Unterstreichungszeichen folgen können. Anmerkung: Bei Parameternamen muss die Groß-/Kleinschreibung beachtet werden. Die Parameter '$a' und '$A' werden daher als unterschiedliche Parameter betrachtet.Die folgende Tabelle enthält Beispiele gültiger und ungültiger Parameterdeklarationen:
Parameter Gültig oder ungültig $AnAccount gültig $a123_456 gültig $123a ungültig $_id ungültig - Sie müssen Parameter auf der rechten Seite eines Ausdrucks in einer Klausel WHERE deklarieren.
- Parameter können mehrfach in einer bestimmten SOQL-Anweisung vorkommen.
Obwohl die Parameter mehrmals in der SOQL-Anweisung vorkommen können, erscheinen sie nur einmal in der Eingabeparameterzuordnung. Die Aktivität ersetzt denselben Wert an allen Positionen, an denen der Parameter zur Laufzeit verwendet wird.Anmerkung: Wenn Sie denselben Parameternamen verwenden und der Typ nicht übereinstimmt, tritt ein Fehler auf. Die folgende SOQL führt beispielsweise zu einem Fehler, weil '$param' sowohl als Zeichenfolge als auch als Datumstyp verwendet wird:
SELECT Name from Account where Name like $param and createdDate > $param
- Der Typ des Feldes, in dem ein Parameter verglichen wird, bestimmt den Typ des Parameters und legt fest, ob der Parameter in einem einfachen Ausdruck, einem Gruppenausdruck oder dem Teil eines Gruppenausdrucks verwendet wird.
Typ des Ausdrucks Beschreibung Einfacher Ausdruck Beispiel: Select ID from Account where Name = $NameParam Der 'SoapType' des Feldes auf der linken Seite des Ausdrucks bestimmt den Parametertyp. Falls der Feldtyp auf null festlegbar ist und der Operator ( = ) oder ( != ) verwendet wird, ist der Parameter auf null festlegbar. Die Definition von 'xsi:nil=true' für den Parameter legt den Parameterwert bei der Ersetzung auf null fest. Falls der Parametertyp das Einschließen in einfache Anführungszeichen (‘) erfordert, dann wird der Parameterwert bei der Ersetzung in einfache Anführungszeichen gesetzt und die Inhalte werden automatisch mit Escapezeichen versehen.
Bei SOQL werden der umgekehrte Schrägstrich (\) und die einfachen Anführungszeichen (‘) mit Escapezeichen versehen.
Gruppenausdrücke Beispiel: Select ID From Account where ID in $idList Der Parametertyp ist eine wiederholte Folge des Typs 'SoapType' des Felds auf der linken Seite des Ausdrucks. Der Parameter ist nicht auf null festlegbar und weist minOccurs=1, maxOccurs=unbounded für das Element auf.
Die Folge wird zur Laufzeit zu einem ordnungsgemäßen Gruppenwert erweitert. Zum Beispiel:
Wählen Sie die ID vom Account aus, wobei die ID in (‘value1',‘value2') vorkommt.
Teil eines Gruppenausdrucks Parameter innerhalb einer Gruppenliste werden wie einfache Ausdrucksparametertypen behandelt. Zum Beispiel: SELECT Name from Account where BillingState IN (‘California', $state2) In diesem Beispiel ist der Parametertyp '$state2' der 'SoapType' des Felds Account BillingState und kein sich wiederholendes Element. Der Parameter ist nicht auf null festlegbar.