Instructions de prise de décision
Les informations contenues dans cette page d’aide s’appliquent à la fois à CXone Studio et à Desktop Studio.
Vous pouvez demander à votre script de sélectionner une tâche à exécuter en fonction des conditions que vous spécifiez. À l’aide d’une instruction de prise de décision, vous pouvez concevoir le script de manière à tenir compte de différentes possibilités ou résultats. Cela vous permet de contrôler le flux linéaire de ce qui se passe dans votre script.
Les mots-clés de ces instructions sont les suivants :
- IF : Sélectionne l’option à exécuter en fonction du résultat de l’évaluation d’une expression booléenne Un type de données qui a deux valeurs possibles : true et false..
- SELECT : Exécute la première instruction d’une série d’instructions dont l’évaluation est vraie.
- SWITCH : Évalue une expression et compare le résultat aux cas définis. Entreprend l’action définie dans le cas correspondant.
Les instructions de prise de décision nécessitent toujours des blocs de code conditionnels. Les blocs sont entourés d’accolades (
- CASE : Définit l’une des instructions possibles à exécuter.
- DEFAULT : Définit la valeur par défaut de CASE. C’est l’instruction qui est exécutée si aucune des autres instructions CASE ne peut être exécutée.
L’analyse de chaque type d’instruction comprend un résumé de la syntaxe. Ces résumés utilisent certaines conventions pour indiquer les parties de l’instruction et préciser si chaque partie est requises ou facultative.
Instructions IF et IF... ELSE
Description : Évalue une expression et emprunte une branche en fonction des résultats de l’évaluation.
Syntaxe :
Action Studio : If
Détails : Les instructions IF évaluent un <expression>. En fonction de l’évaluation de l’expression, le script exécute le code contenu dans la première série d’accolades { ... }. L’expression doit être évaluée comme vraie ou le script n’exécutera pas le code.
Vous pouvez inclure l’instruction ELSE si vous voulez spécifier ce que le script fait lorsque l’expression est évaluée comme fausse. ELSE est facultatif. Utilisez-la lorsqu’il y a deux actions possibles et que vous voulez que le script choisisse entre les deux. Utilisez IF uniquement lorsqu’il n’y a qu’une seule action possible et que vous voulez que le script ne l’exécute que lorsque la condition spécifiée (<expression>) est remplie.
Utilisez un opérateur booléen Un type de données qui a deux valeurs possibles : true et false. dans l’expression <expression> qui fait partie de l’instruction IF. Vous devez utiliser une expression dont la valeur est soit vraie, soit fausse. Par exemple, x=5 est une expression valide, car la valeur de la variable x sera soit égale à 5, soit non.
Outre les opérateurs mathématiques classiques pour la multiplication, la division, l’addition et la soustraction, vous pouvez également utiliser les opérateurs suivants :
- Opérateur de module (%)
- Puissance/exposant (^)
- Division de nombres entiers (\)
- OU exclusif (~)
L’ordre des opérations mathématiques normales s’applique à toutes les expressions. Tout ce qui est entre parenthèses est d’abord évalué en tant que sous-unité. Les exposants/opérateurs de puissance sont évalués en second lieu. La multiplication et la division sont évaluées ensuite, puis l’addition et la soustraction. Les opérateurs de comparaison sont les derniers à être évalués, après que toutes les opérations mathématiques ont été effectuées.
Opérateurs booléens
Vous pouvez utiliser les opérateurs booléens suivants dans les extraits de code. Tous ces opérateurs peuvent être utilisés avec les comparaisons
SYMBOLE de l’opérateur | NOM DE L’OPÉRATEUR | Détails |
---|---|---|
= | Égale | Si les deux côtés de l’expression sont équivalents, l’expression donne |
!= | Pas égal | Si les deux côtés de l’expression ne sont pas équivalents, l’expression est évaluée à |
> | Plus grand que |
Si le côté droit de l’expression est inférieur au côté gauche, l’expression donne |
>= | Plus grand que ou égal |
Si le côté droit de l’expression est inférieur ou égal au côté gauche, l’expression donne |
< | Inférieur à |
Si le côté gauche de l’expression est inférieur au côté droit, l’expression donne |
<= | Inférieur ou égal à |
Si le côté gauche de l’expression est inférieur ou égal au côté droit, l’expression donne |
& | Et | Si toutes les sous-expressions sont évaluées comme vraies, l’expression entière donne |
| | Ou | Si l’une ou l’autre des sous-expressions est évaluée comme vraie, l’expression donne |
Studio ne permet pas d’avoir plus d’une instruction
IF A > B {
// Do something
}
ELSE {
IF A = B {
// Do something else
}
ELSE {
// Do this
}
}
Exemple
IF TEST = 1
{
ASSIGN contactID = "123456780"
ASSIGN customerName = "XYZ International"
ASSIGN CBWindowStart = #"{date} 8:00 AM"
ASSIGN CBWindowEnd = #"{date} 4:30 PM"
}
//String Comparison
IF customerName = "ABC Corporation"
{
ASSIGN contractLevel = "Gold"
}
ELSE
{
ASSIGN contractLevel = "Silver"
}
//Numeric Comparision
IF contactID % 10 = 0
{
ASSIGN logCall = 1
}
ELSE
{
ASSIGN logCall = 0
}
//DateTime Comparison
ASSIGN myTime = #"{time}"
IF myTime >= CBWindowStart && myTime <= CBWindowEnd
{
ASSIGN offerCallback = "True"
}
ELSE
{
ASSIGN offerCallback = "False"
}
InstructionsSELECT
Description : Exécute un ensemble de commandes en fonction de la première expression évaluée comme vraie.
Syntaxe :
Détails : Dans une instruction SELECT, le script évalue chaque CASE <expression> en commençant par le haut et en descendant jusqu’à ce qu’il trouve la première qui est évaluée comme vraie. Si la première CASE <expression> est évaluée comme vraie, SELECT exécute le code contenu dans les accolades [{ ... }] de cette CASE <expression>.
Si aucune CASE <expression> n’est évaluée comme vraie, le script exécute le code optionnel DEFAULT { ... }.
Au moins une instruction CASE est attendue. Si elle est incluse, l’instruction DEFAULT { ... } doit être la dernière clause de la liste des instructions CASE.
Par exemple :
SELECT
{
CASE name="Odin" { agentid = 123 }
CASE name="Frigg" { agentid = 345 }
CASE name.length = 0
{
ASSIGN agentid = -1
ASSIGN error = "Invalid name"
}
DEFAULT { ASSIGN agentid = 999 }
}
InstructionsSWITCH
Description : Évalue la variable spécifiée et entreprend l’action définie par la CASE correspondante.
Syntaxe : SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>
Détails :
Si aucune CASE <literal> ne correspond à <var>, le code optionnel
SWITCH ne peut évaluer qu’une variable. Il ne peut pas évaluer une expression. Si vous utilisez une expression, votre script ne fonctionnera pas.
Au moins une CASE est attendue. Toutes les instructions CASE doivent avoir le même type de <littéral>. Le premier CASE détermine le type des autres instructions CASE. Si une instruction CASE a un type différent du premier CASE, une erreur de compilation se produit. Les types littéraux suivants sont tous valables :
- CASE "john"
- CASE 512
- CASE #"5/15/2050"
- CASE #"6/1/2050 7:00am"
- CASE #"7am"
Par exemple :
IF TEST = 1
{
ASSIGN MyDate = "07/03/2023" //This date falls on a Monday
}
ASSIGN MyDow = MyDate.asdatedow
SWITCH MyDow
{
CASE 0 { ASSIGN NewToday = "Sunday" }
CASE 1 { ASSIGN NewToday = "Monday" }
CASE 2 { ASSIGN NewToday = "Tuesday" }
CASE 3 { ASSIGN NewToday = "Wednesday" }
CASE 4 { ASSIGN NewToday = "Thursday" }
CASE 5 { ASSIGN NewToday = "Friday" }
CASE 6 { ASSIGN NewToday = "Saturday" }
}
Si plusieurs CASE utilisent le même code { ... }, il n’est pas nécessaire d’inclure un bloc de code après chacun d’eux. Au lieu de cela, vous devez énumérer les mots-clés CASE l’un après l’autre, en indiquant le code après le dernier CASE qui utilise ce code. C’est ce qu’on appelle le passage de cas. Il est autorisé tant qu’il y a un cas que SWITCH peut rencontrer et qui a un bloc de code. L’exemple suivant montre un passage de cas. Pour les CASEs 1, 2 et 3, la sortie est la valeur hi. Pour les CASEs 5 et 6, la sortie est bye.
SWITCH x
{
CASE 1
CASE 2
CASE 3 { TRACE "hi" }
CASE 5
CASE 6 { TRACE "bye" }
}
Cas d’utilisation : SWITCH permet d’obtenir des résultats spécifiques en fonction du contenu de la variable spécifiée. Par exemple, vous pouvez demander au script d’évaluer une variable contenant les indicatifs régionaux. Vous pouvez définir un CASE pour chaque indicatif régional possible et demander au script d’ajouter une valeur à la variable state qui correspond à l’état auquel l’indicatif régional est attribué. Par exemple :
SWITCH areaCode
{
CASE 603 { state = "New Hampshire" }
CASE 614 { state = "Ohio" }
CASE 628 { state = "California" }
CASE 646 { state = "New York" }
CASE 667 { state = "Maryland" }
}
InstructionsCASE
Description : Définit l’une des instructions possibles à exécuter. Utilisé avec SWITCH ou SELECT.
Syntaxe : varie; voir SWITCH ou SELECT
Action Studio :
Détails : CASE doit être utilisé dans le bloc de code conditionnel d’une instruction SWITCH ou SELECT. Ajoutez une ou plusieurs instructions CASE pour définir les blocs possibles pour l’exécution du script. Au moins un CASE est requis.
Lié : Incluez une instruction DEFAULT pour définir le cas utilisé si aucune des instructions CASE spécifiées ne s’applique.
InstructionsDEFAULT
Description : Définit le bloc CASE utilisé si aucun des CASE spécifiés ne s’applique. Utilisé avec SWITCH et SELECT.
Syntaxe : Variable; voir SWITCH ou SELECT
Détails : DEFAULT doit être utilisé avec les blocs SWITCH ou SELECT, et il doit y avoir au moins une instruction CASE. DEFAULT ne peut pas être utilisé seul. DEFAULT est toujours facultatif. Il doit s’agir de la dernière clause de la liste des instructions CASE.
InstructionsELSE
Description : Définit l’instruction que le script exécute si l’expression IF est évaluée à « faux ».
Syntaxe :
Détails : ELSE est toujours facultatif. Vous pouvez inclure une instruction ELSE si vous voulez spécifier ce que le script fait lorsque l’expression est évaluée à faux. Utilisez-la lorsqu’il y a deux actions possibles et que vous voulez que le script choisisse entre les deux.