Instructions de prise de décision

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éenneFermé 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 ( { } ). Les blocs de code pour les instructions SELECT et SWITCH utilisent deux mots-clés supplémentaires :

  • 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 : IF <expression> <{ ... }> [ ELSE { ... } ]

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éenFermé 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.

Studio ne permet pas d’avoir plus d’une instruction ELSE dans un IF. Cependant, vous pouvez intégrer des instructions IF :


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 : SELECT <{ CASE <expression> [{ ... }] [CASE <expression> <{ ... }>] [CASE ...] [DEFAULT <{ ... }>] }>

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 :  Une instruction SWITCH compare la valeur d’une variable <var> à la valeur littérale de chaque CASE <literal>. Lorsqu’un correspondant CASE est trouvé, SWITCH s’exécute et passe au code entre accolades { ... } associé au CASE <literal>correspondant.

Si aucune CASE <literal> ne correspond à <var>, le code optionnel DEFAULT { ...} est exécuté. DEFAULT doit être la dernière clause des instructions intégrées dans l’instruction SWITCH.

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 : Case

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 : { ELSE ... }; voir IF

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.