Configuration de l'activité Demander objets
Vous devez créer une requête SOSL (SForce Object Search Language) pour configurer l'activité Rechercher objets. Les sections suivantes décrivent les étapes permettant de configurer l'activité Rechercher objets, de créer une requête SOSL et d'indiquer des règles syntaxiques SOSL pour IBM® Cast Iron.
Procédure
Création de requêtes SOSL
Lorsque vous créez une requête SOQL, vous pouvez utiliser des paramètres dynamiques dans la clause WHERE de l'instruction SOQL. Studio peut alors dynamiquement mapper ces paramètres en tant que paramètres d'entrée de l'activité. Cela permet le contrôle dynamique de la requête en fonction de l'entrée dans l'orchestration.
Pourquoi et quand exécuter cette tâche
SOSL (SForce Object Query Language) ne définit pas de syntaxe pour les requêtes paramétrées ; toutefois, Cast Iron impose des règles syntaxiques SOQL propriétaires. Vous pouvez utiliser des paramètres dans des expressions simples ou des expressions définies.
- Utilisez le signe dollar ($) pour indiquer un paramètre. Après le signe dollar ($), spécifiez une chaîne de caractères alphanumériques. Le premier caractère doit être une lettre [a-zA-Z], suivie facultativement par une ou plusieurs lettres [a-zA-Z], chiffres [0-9] ou traits de soulignement ( _ ). Remarque : Les noms de paramètre sont sensibles à la casse, par conséquent les paramètres $a et $A sont considérés comme différents.Le tableau suivant contient des exemples de déclarations de paramètre valides et non valides :
Paramètre Valide ou non valide $AnAccount valide $a123_456 valide $123a non valide $_id non valide - Vous devez déclarer les paramètres à droite d'une expression, dans une clause WHERE.
- Les paramètres peuvent apparaître plusieurs fois dans une instruction SOQL donnée.
Toutefois, même si le paramètre apparaît plusieurs fois dans l'instruction SOQL, il n'apparaît qu'une fois dans la mappe de paramètre d'entrée. L'activité substitue la même valeur pour tous les emplacements où le paramètre est utilisé en phase d'exécution.Remarque : Lorsque vous utilisez le même nom de paramètre et qu'il existe une non-concordance de type, une erreur se produit. Par exemple, l'instruction SOQL suivante génère une erreur car $param est utilisé en tant que chaîne et que type de date :
SELECT Name from Account where Name like $param and createdDate > $param
- Le type de la zone où un paramètre est comparé détermine le type du paramètre et indique si le paramètre est utilisé dans une expression simple, une expression définie ou une partie d'une expression définie.
Type d'expression Description Expressions simples Par exemple : Select ID from Account where Name = $NameParam SoapType de la zone à gauche de l'expression détermine le type de paramètre. Si le type de zone est nillable et que l'opérateur est ( = ) ou ( != ), le paramètre est nillable.L'attribution de la valeur xsi:nil=true dans le paramètre définit la valeur de paramètre à NULL lorsqu'il est substitué. Si le type de paramètre requiert que ce dernier soit entouré d'apostrophes (‘), la valeur du paramètre est entourée d'apostrophes pendant la substitution et son contenu est échappé automatiquement.
Pour SOQL, la barre oblique inversée (\) et l'apostrophe (‘) sont échappées.
Expressions définies Par exemple : Select ID From Account where ID in $idList Le type de paramètre est une séquence répétée de SoapType de la zone à gauche de l'expression. Le paramètre n'est nillable et comporte minOccurs=1 et maxOccurs=unbounded sur l'élément.
La séquence est développée à l'exécution pour être une valeur correcte, par exemple :
Select Id From Account where Id in (‘value1',‘value2')
Partie d'une expression définie Les paramètres d'une liste définie sont traités comme un type de paramètre d'expression simple, par exemple : SELECT Name from Account where BillingState IN (‘California', $state2) Dans cet exemple, le type de paramètre $state2 est le SoapType de la zone Account BillingState et il ne s'agit pas d'un élément répété. Le paramètre n'est pas nillable.