Declaraciones para la toma de decisiones
La información de esta página de ayuda aplica tanto a CXone Studio como a Desktop Studio.
Puede hacer que su script seleccione una tarea a realizar según las condiciones que usted especifique. Utilizando una declaración de toma de decisiones, puede diseñar el script para que tenga en cuenta diferentes posibilidades o resultados. Esto le permite controlar el flujo lineal de lo que sucede en su script.
Las palabras clave para estas declaraciones son:
- IF: Selecciona qué opción ejecutar en función del resultado de la evaluación de una expresión Booleana Un tipo de datos que tiene dos valores posibles: verdadero y falso..
- SELECT: Ejecuta la primera declaración de una serie de declaraciones que se evalúan como verdaderas.
- SWITCH: Evalúa una expresión y compara el resultado con casos definidos. Toma la acción definida en el caso coincidente.
Las declaraciones de toma de decisiones siempre requieren bloques de código condicional. Los bloques van encerrados entre llaves (
- CASE: Define una de un conjunto de posibles declaraciones por ejecutar.
- DEFAULT: Define el valor predeterminado CASE. Esta es la declaración que se ejecuta si no se puede ejecutar ninguna de las otras CASEdeclaraciones.
El análisis de cada tipo de declaración incluye un resumen de sintaxis. Estos resúmenes utilizan ciertas convenciones que indican las partes de la declaración y si es obligatoria u opcional cada parte.
Declaraciones IF y IF... ELSE
Descripción: Evalúa una expresión y toma una bifurcación según los resultados de la evaluación.
Sintaxis:
Studio Acción: If
Detalles: las declaraciones IF evalúan un <expression>. Dependiendo de cómo se evalúa la expresión, el script ejecuta el código en el primer conjunto de llaves { ... }. Debe evaluarse la expresión como verdadera o el script no ejecutará el código.
Puede incluir la instrucción ELSE si desea especificar qué hace el script cuando se evalúa la expresión como falsa. ELSE es opcional. Úselo cuando haya dos acciones posibles y desee que el script elija entre ellas. Utilice IF solo cuando solo haya una acción posible y desee que el script la realice únicamente cuando se cumpla la condición especificada (<expression>).
Utilice un operador booleano Un tipo de datos que tiene dos valores posibles: verdadero y falso. en la expresión <expression> que forma parte de la declaración IF. Debe utilizar una expresión que se evalúe como verdadera o falsa. Por ejemplo, x=5 es una expresión válida, porque el valor de la variable x será igual a 5 o no.
Además de los operadores matemáticos habituales para multiplicación, división, suma y resta, también puede utilizar estos operadores:
- Operador de módulo (%)
- Potencia/exponente (^)
- División entera (\)
- O exclusivo (~)
Se aplica a todas las expresiones el orden matemático regular de las operaciones. Todo lo que esté entre paréntesis se evalúa primero como una subunidad. En segundo lugar se evalúan los exponentes/operadores de potencia. Posteriormente se evalúan la multiplicación y la división, luego la suma y la resta. Los operadores de comparación son los últimos en evaluarse, una vez completadas todas las operaciones matemáticas.
Operadores booleanos
Puede utilizar los siguientes operadores booleanos en los snippets. Se pueden utilizar todos estos operadores con comparaciones
SÍMBOLO del operador | NOMBRE DEL OPERADOR | Detalles |
---|---|---|
= | Igual | Si los dos lados de la expresión son equivalentes, la expresión da como resultado |
!= | No igual | Si no son equivalentes los dos lados de la expresión, se evalúa la expresión como |
> | Más-grande-que |
Si el lado derecho de la expresión es menor que el lado izquierdo, la expresión da como resultado |
>= | Mayor-que-o-igual |
Si el lado derecho de la expresión es menor o igual que el lado izquierdo, la expresión da como resultado |
< | Menor-que |
Si el lado izquierdo de la expresión es menor que el lado derecho, la expresión da como resultado |
<= | Menor-o-igual |
Si el lado izquierdo de la expresión es menor o igual que el lado izquierdo, la expresión da como resultado |
& | y | Si todas las subexpresiones resultan verdaderas, la expresión completa da como resultado |
| | o | Si cualquiera de las subexpresiones resulta verdadera, la expresión da como resultado |
Studio no admite tener más de una declaración
IF A > B {
// Do something
}
ELSE {
IF A = B {
// Do something else
}
ELSE {
// Do this
}
}
Ejemplo
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"
}
SELECT Declaraciones
Descripción: Realiza un conjunto de comandos que se basan en la primera expresión que se evalúe como verdadera.
Sintaxis:
Detalles: En una declaración SELECT , el script evalúa cada CASE <expression> comenzando desde arriba y trabajando hacia abajo hasta encontrar la primera que se evalúe como verdadera. Para que la primera CASE <expression> se evalúe como verdadera, SELECT ejecuta el código entre llaves [{ ... }] de esa CASE <expression>.
Si ninguna CASE <expression> se evalúa como verdadera, el script ejecuta el código opcional DEFAULT { ... }.
Se espera al menos una declaración CASE. Si se incluye, la declaración DEFAULT { ... } debe ser la última cláusula en la lista de declaraciones CASE.
Por ejemplo:
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 }
}
SWITCH Declaraciones
Descripción: Evalúa la variable especificada y realiza la acción definida por el CASE que concida.
Sintaxis: SWITCH <var> <{CASE <literal> [{ ... }] [CASE <literal> [{ ... }]] [CASE ...] [DEFAULT [{ ... }]] }>
Detalles:
Si no coincide ningún CASE <literal> con <var>, se ejecuta el código opcional
SWITCH sólo puede evaluar una variable. No puede evaluar una expresión. Si usted usa una expresión, no funcionará su script.
Se espera al menos un CASE. Todas las declaraciones CASE deben tener el mismo tipo de <literal>. La primera CASE determina el tipo de las declaraciones CASE restantes. Si una declaración CASE tiene un tipo diferente al de la primera CASE, se produce un error del compilador. Los siguientes son todos tipos literales válidos:
- CASE "john"
- CASE 512
- CASE #"5/15/2050"
- CASE #"6/1/2050 7:00am"
- CASE #"7am"
Por ejemplo:
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 más de un CASE usa el mismo código { ... }, no es necesario incluir un bloque de código después de cada uno. Al contrario, enumere las palabras clave CASE una tras otra, con el código después del último CASE que use ese código. Esto se llama caso fallido. Está permitido siempre que exista un caso para que SWITCH encuentre un bloque de código. El siguiente ejemplo muestra un caso fallido. Para los CASE 1, 2 y 3, la salida es el valor hi. Para los CASE 5 y 6, la salida es bye.
SWITCH x
{
CASE 1
CASE 2
CASE 3 { TRACE "hi" }
CASE 5
CASE 6 { TRACE "bye" }
}
Caso de Uso: SWITCH le permite obtener resultados específicos dependiendo de lo que contenga la variable especificada. Por ejemplo, puede hacer que el script evalúe una variable que contenga códigos de área. Puede definir un CASE para cada código de área posible y hacer que el script agregue un valor a la variable state que coincida con el estado al que está asignado el código de área. Por ejemplo:
SWITCH areaCode
{
CASE 603 { state = "New Hampshire" }
CASE 614 { state = "Ohio" }
CASE 628 { state = "California" }
CASE 646 { state = "New York" }
CASE 667 { state = "Maryland" }
}
CASE Declaraciones
Descripción: Define una de un conjunto de posibles declaraciones por ejecutar. Se utiliza con SWITCH o SELECT.
Sintaxis: varía; ver SWITCH o SELECT
Studio Acción:
Detalles: CASE debe usarse en el bloque de código condicional de una declaración SWITCH o SELECT. Agregue una o más declaraciones CASE para definir los posibles bloques para que se ejecute el script. Se requiere al menos un CASE.
Relacionado: Incluya una declaración DEFAULT para definir el caso que se utilizará si no se aplica ninguna de las declaraciones CASE especificadas.
DEFAULT Declaraciones
Descripción: Define el bloque CASE que se usa si no aplica ninguno de los CASE especificados. Se utiliza con SWITCH y SELECT.
Sintaxis: Varía; consulte CAMBIAR o SELECCIONAR
Detalles: DEFAULT debe usarse con los bloques SWITCH o SELECT, y debe haber al menos una declaración CASE. DEFAULT no se puede utilizar por sí solo. DEFAULT siempre es opcional. Debe ser la última cláusula en la lista de declaraciones CASE.
ELSE Declaraciones
Descripción: Define la declaración que ejecuta el script si la expresión IF se evalúa como falsa.
Sintaxis:
Detalles: ELSE siempre es opcional. Puede incluir la declaración ELSE si desea especificar qué hace el script cuando la expresión resulta falsa. Úselo cuando haya dos acciones posibles y desee que el script elija entre ellas.