ANS-0059 · RECHERCHES ENREGISTRéES ET FORMULES
Quelles instructions peuvent être utilisées dans les fonctions CASE WHEN de NetSuite ?
Les fonctions CASE WHEN de NetSuite prennent en charge diverses instructions logiques et de comparaison permettant de créer une logique conditionnelle robuste pour l'analyse des données et les champs personnalisés.
Solution courte
La fonction CASE WHEN de NetSuite prend en charge AND pour les conditions multiples, OR pour les conditions alternatives, IN pour les énumérations, LIKE pour les motifs de chaînes de caractères et BETWEEN pour les plages de valeurs. Il est possible d’utiliser plusieurs clauses WHEN/THEN ou la fonction DECODE pour obtenir des résultats variés, et la valeur NULL annule les opérateurs tels que NOT IN ou NOT LIKE.
Scénario
Les utilisateurs ont souvent besoin de mettre en œuvre une logique conditionnelle complexe au sein des recherches enregistrées, des champs personnalisés ou des workflows de NetSuite. Cela nécessite d’évaluer plusieurs critères ou des modèles de données spécifiques afin de renvoyer des résultats différents en fonction de diverses conditions. Il est essentiel de bien comprendre les instructions appropriées pour les fonctions CASE WHEN afin de créer des expressions efficaces et dynamiques.
Solution
La fonction CASE WHEN de NetSuite prend en charge plusieurs instructions clés pour la logique conditionnelle :
L’instruction AND est utilisée lorsque plusieurs paramètres d’un test logique doivent tous être vrais pour que le résultat spécifié soit renvoyé. Par exemple :
CASE WHEN {type}='Inventory Adjustment' AND {quantity} >= 0 THEN …L’instruction OR est utilisée lorsqu’au moins un des paramètres du test logique doit être vrai pour que le résultat spécifié soit renvoyé. Par exemple :
CASE WHEN {account} LIKE '%5143%' OR {memo} LIKE '%Transport inventaire%' THEN …L’instruction IN est utilisée pour les énumérations ; elle offre un moyen concis de vérifier plusieurs valeurs sans avoir à utiliser plusieurs instructions OR. Par exemple :
Lorsqu’il n’y a qu’un seul paramètre :
CASE WHEN {accounttype} = 'Income' THEN …Lorsqu’il y a plusieurs paramètres :
CASE WHEN {type} IN ('Cash Sale','Invoice') THEN …L'instruction « LIKE » est utilisée pour rechercher une chaîne de caractères spécifique au sein de la valeur d'un champ
. Elle prend en charge divers scénarios de correspondance de motifs. Par exemple :
Correspondance exacte :
CASE WHEN ({memo} LIKE 'Insurance') THEN …Commence par :
CASE WHEN ({memo} LIKE 'Insurance%') THEN …Se termine par :
CASE WHEN ({memo} LIKE '%Insurance') THEN …Contient :
CASE WHEN ({memo} LIKE '%Insurance%') THEN …L’instruction BETWEEN est utilisée lorsqu’un test logique doit évaluer des valeurs comprises dans une plage spécifique, ce qui évite d’avoir à recourir à des instructions « supérieur à ET inférieur à ». Par exemple :
CASE WHEN {trandate} BETWEEN {accountingperiod.startdate} and {accountingperiod.enddate}Plusieurs combinaisons WHEN/THEN ou la fonction DECODE peuvent être utilisées lorsque différentes valeurs dans le test logique sont censées renvoyer des résultats différents. Par exemple :
CASE WHEN {accounttype} = 'Accounts Receivable' THEN {customer.representingsubsidiary} WHEN {accounttype} = 'Accounts Payable' THEN {vendorline.representingsubsidiary} ELSE NULL ENDDECODE({accounttype},'Accounts Receivable',{customer.representingsubsidiary},'Accounts Payable',{vendorline.representingsubsidiary},null)L’instruction NULL sert à inverser un opérateur. Par exemple :
NOT NULL
est l’opposé de GA_KEEP_0013 ;
NOT IN
est l’opposé de GA_KEEP_0015 ;
NOT LIKE
est l’opposé de LIKE
Support expert NetSuite
Besoin d’aide pour cet enjeu NetSuite ?
Accompagnement-conseil et configuration pour Recherches enregistrées et formules
