Instructions de prise de décision

Les informations sur cette page d’aide concernent à la fois 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éenneClosed 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 à des cas définis. Il entreprend l'action définie dans le cas correspondant.

Les instruction de prise de décision exigent 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 une instruction parmi un ensemble d'instructions possibles à exécuter.
  • DEFAULT : définit la valeur par défaut de CASE. CASE est l'instruction qui est exécutée si aucune des autres instructions 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 obligatoire ou facultative.

Instructions IF et IF... ELSE

Description: Evaluates an expression and takes a branch based on the results of the evaluation.

Syntax: IF <expression> <{ ... }> [ ELSE { ... } ]

Studio Action: If

Details: IF statements evaluate an <expression>. Depending on how the expression evaluates, the script executes the code in the first set of curly braces { ... }. The expression must evaluate as true or the script won't execute the code.

You can include the ELSE statement if you want to specify what the script does when the expression evaluates as false. ELSE is optional. Use it when there are two possible actions and you want the script to choose between them. Use IF alone when there's only one possible action and you want the script to perform it only when the specified condition (<expression>) is met.

Use a BooleanClosed Un type de données qui a deux valeurs possibles : true et false. operator in the expression <expression> that's part of the IF statement. You must use an expression that evaluates to either true or false. For example, x=5 is a valid expression, because the value of the variable x will either equal 5 or it will not.

Studio does not support having more than one ELSE statement in an IF. However, you can embed IF statements: 


IF A > B {
// Do something
}
ELSE {
	IF A = B {
	// Do something else
	}
	ELSE {
	// Do this
	}
}

Example

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"
      }

Instructions SELECT 

Description : exécute un ensemble de commandes basé sur la première expression à évaluer sur vrai.

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 le premier qui est évalué à vrai. Pour le premier CASE <expression> évalué comme vrai, SELECT exécute le code contenu dans les accolades [{ ... }] de ce CASE <expression>.

Si aucun CASE <expression> ne s’évalue comme vrai, le script exécute le code facultatif DEFAULT { ... }.

Au moins une instruction CASE est attendue. Si elle est incluse, l’instruction DEFAULT { ... } doit être la dernière clause de la liste d’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 }
} 

Instructions SWITCH 

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

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

SWITCH ne peut évaluer qu'une variable. Elle 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>. La première CASE détermine le type des autres instructions CASE. Si une instruction CASE a un type différent de celui de la première instruction CASE, une erreur de compilation se produit. Voici tous les types littéraux valides :

  • 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'entre eux. Au lieu de cela, vous devez énumérer les mots-clés CASE l'un après l'autre, avec le code après le dernier CASE qui utilise ce code. C'est ce que l'on appelle une retombée de cas. C'est autorisé tant qu'il existe un cas que SWITCH peut rencontrer et qui possède un bloc de code. L'exemple suivant illustre une retombée de cas. Pour les CASE1, 2 et 3, la sortie est la valeur hi. Pour les CASE 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 vous 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 des indicatifs régionaux. Vous pouvez définir une CASE pour chaque indicatif régional possible et demander au script d'ajouter à la variable state une valeur correspondant à 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" }
}

Instructions CASE

Description: Defines one of a set of possible statements to be executed. Used with SWITCH or SELECT.

Syntax: varies; see SWITCH or SELECT

Studio Action:  Case

Details:  CASE must be used in the conditional code block of a SWITCH or SELECT statement. Add one or more CASE statements to define the possible blocks for the script to execute. At least one CASE is required.

Related: Include a DEFAULT statement to define the case that's used if none of the specified CASE statements apply.

Instructions DEFAULT 

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 au moins une instruction CASE doit être présente. DEFAULT ne peut pas être utilisé seul. DEFAULT est toujours facultatif. Il doit s'agir de la dernière clause de la liste d’instructions CASE.

Instructions ELSE 

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 fait le script lorsque l'expression est évaluée à faux. Utilisez-le lorsqu'il y a deux actions possibles et que vous voulez que le script choisisse entre les deux.