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 BooleanaCerrado 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 ( { } ). Los bloques de código para las declaraciones SELECT y SWITCH utilizan dos palabras clave adicionales:

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

Studio Acción: If (página de ayuda en CXone StudioIf)

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 booleanoCerrado 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.

Studio no admite tener más de una declaración ELSE en un IF. Sin embargo, puede incrustar declaraciones IF:


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

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:  Una declaración SWITCH compara el valor de una variable <var> con el valor literal de cada CASE <literal>. Cuando se encuentra una coincidencia CASE , se ejecuta SWITCH y se bifurca al código entre llaves { ... } asociado con el CASE <literal> que coincida.

Si no coincide ningún CASE <literal> con <var>, se ejecuta el código opcional DEFAULT { ...}. DEFAULT debe ser la última cláusula de las declaraciones incrustadas en la declaración SWITCH.

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: (página de ayuda en CXone StudioCase)

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

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.