La fonction de recherche : commandes et syntaxe

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 1 minute de lecture
  • Utilisez la fonction de recherche pour renvoyer des informations à partir d’une table gérée par l’utilisateur.

    CPQ utilise un langage de requête SQL pour rechercher des tables gérées par l’utilisateur.

    La fonction de recherche renvoie jusqu’à 10 000 lignes d’une table et expire après 30 secondes si la recherche est toujours en cours d’interrogation. Pour plus d’informations sur le chargement de fichiers CSV dans des tables gérées, reportez-vous à la section Chargeur de matrice : chargement de table CSV.

    Pour en savoir plus sur les directives générales d’utilisation de la fonction de recherche, reportez-vous à la section Réduction des requêtes de table.

    Commandes prises en charge

    • SÉLECTIONNER sélectionne les colonnes d’une table (séparées par « , »)
    • FROM sélectionne la table à partir de laquelle la requête prendra les données
    • WHERE définit les conditions à partir desquelles les autres colonnes seront recherchées
    • AND joint deux conditions WHERE (les deux doivent être vraies)
    • OU joint deux conditions WHERE (l’une ou l’autre peut être vraie)

    Syntaxe

    Exemple de requête :

    var tableResults = lookup("SELECT column1, column2 FROM tableName WHERE column3 = :key1 OR (column4 != :key2 AND column5 IN :list)", {"key1": "value", "key2":cfg.[singleFieldName], "list":cfg.[multiFieldName]});

    Le premier paramètre est la chaîne de commande SQL utilisée pour interroger la table gérée.

    Le deuxième paramètre est la carte clé-valeur à insérer dans la requête. Les valeurs peuvent être des constantes, des variables ou des champs.

    La variable tableResults contient le tableau résultant. Cette variable ne peut pas être renvoyée elle-même. Les résultats doivent être référencés par index (tableResults[0], tableResults[1]...) et peuvent contenir n’importe quel nombre de résultats, voire aucun.

    Si vous recevez l’erreur « ... L’index '0' est hors limites..." Lorsque vous utilisez la recherche dans une table, vous essayez probablement de référencer un tableau vide. Nous vous recommandons d’exécuter une vérification Null sur vos résultats de table.

    Comparateurs :

    =
    Est égal à
    !=
    N’est pas égal à
    >
    Est supérieur à
    <
    Est inférieur à
    >=
    Est supérieur ou égal à
    DANS
    Est égal à n’importe quel (dans un ensemble)

    Le format de IN fonctionne pour n’importe quelle collection dans le format suivant :

    lookup("SELECT column1 FROM table WHERE column2 IN (:options)",{options = cfg. [multi picklistField]});