Si especifica criterio, cada una de las cláusulas when subsiguientes (si las hay) debe contener una o varias instancias de la expresiónCoincidente. Si no especifica criterio, cada una de las cláusulas when subsiguientes (si las hay) debe contener una expresión lógica.
Si desea que la cláusula when no tenga ninguna efecto cuando se invoca, codifíquela sin sentencias EGL.
Una sentencia case puede tener cualquier número de cláusulas when.
El tipo primitivo del valor expresiónCoincidente debe ser compatible con el tipo primitivo del valor de criterio. Para obtener detalles acerca de la compatibilidad, consulte el apartado Expresiones lógicas.
Una vez que las sentencias han ejecutado una cláusula when u otherwise, el control pasa a la sentencia EGL que sigue inmediatamente al final de la sentencia case. El control no pasa a la siguiente cláusula when en ninguna circunstancia. Si no se ha invocado ninguna cláusula when y no se utiliza ninguna cláusula por omisión, el control también pasa a la sentencia inmediatamente posterior al final de la sentencia case y no se produce ninguna situación de error.
case (myRecord.requestID) when (1) myFirstFunction(); when (2, 3, 4) try call myProgram; onException myCallFunction(12); end otherwise myDefaultFunction(); end
Si una sola cláusula incluye varias instancias de expresiónCoincidente (2, 3, 4 en el ejemplo anterior), la evaluación de dichas instancias se realiza de izquierda a derecha, y se detiene en cuanto encuentra una expresiónCoincidente que corresponde al valor de criterio.
Tareas relacionadas
Diagrama de sintaxis
Consulta relacionada
Sentencias EGL
Expresiones lógicas
ConverseVar.eventKey
sysVar.systemType