Saltar al contenido

Función de Tiempo de Ejecución de Mvsql: Enum()

Resumen

La función Enum en App Builder reemplaza la clave principal con la expresión Enum. La función Enum solo se puede utilizar para buscar valores en tablas que tienen una sola clave principal definida (no más de una clave principal) y que tienen una de sus columnas marcada como el tipo de uso Enum.

Un ENUM es un objeto de cadena con un valor elegido de una lista de valores permitidos que se enumeran explícitamente en la especificación de la columna en el momento de la creación de la tabla. La función Enum en App Builder se puede utilizar para mantener legibles para humanos las reglas creadas en la capa de lógica empresarial. Uso de Enum en App Builder es útil cuando se crea una aplicación en la que trabajarán varias personas, para ayudar a simplificar la comprensión de las reglas.

Cuando se utiliza la función Enum en mvSQL en una cláusula Where o en una declaración IIF, el panel SQL resultante en la pantalla SQL empresarial para la regla mostrará el UUID del valor de la clave principal (de la tabla donde se encuentra la columna Enum). Esto puede ser útil para confirmar que la regla está sustituyendo los datos correctos.

Nota

La función Enum no se puede utilizar en reglas de migración.

Debe completar los datos de la columna Enum para que la función funcione correctamente (ya sea en la capa de lógica de negocios o en la capa de interfaz de usuario de la aplicación).

Sintaxis

enum(<LookupTableName>,'<EnumValue>')

Ejemplo de uso de una enumeración en una cláusula Where con múltiples valores:

TableID IN (Enum(LookupTableName, 'EnumValue'), Enum(LookupTableName, 'EnumValue'), Enum(LookupTableName, 'EnumValue'), ...)

Parámetros

Nombre de Tabla de Búsqueda

El nombre de la tabla en la que buscaremos el valor enumerado.

Valor de Enumeración

El valor de la columna de tipo enumerado. Debe ser una cadena.

Devoluciones

La clave principal se reemplaza con el valor de enumeración buscado en la tabla de búsqueda en tiempo de ejecución. El tipo con el que se reemplaza depende del tipo de clave principal de la tabla de búsqueda que se está examinando.

Observaciones

La función enum se utiliza normalmente en la cláusula where, pero podría utilizarse en otras partes de la declaración mvSQL.

Ejemplos

Ejemplo #1

En este ejemplo, se utiliza Enum en la tabla de estado, luego se agrega a una regla de lógica de negocios existente (el objeto de estado (origen)) y luego se expone a la interfaz de usuario de la aplicación en el panel de varias filas de estado.

  1. Agregue la columna Enum a la tabla de estado, configure el tipo de datos lógicos en Cadena y el uso en Enum

    Enumtabledefinition

  2. Haga clic en el botón Resultados de la tabla Estado y especifique los valores de la columna Enum

  3. Puede crear una nueva regla para aprovechar el valor Enum o modificar una existente. En este ejemplo, agregaremos la columna Enum a la regla Estado (Origen) existente

    EnumbusineSSLogic

  4. Con la columna Enum agregada a una regla, podemos agregarla a la capa de interfaz de usuario de la aplicación para exponerla allí. Aquí la agregamos como un control al panel de varias filas de estado:

    Enumapp

Ejemplo #2

En este ejemplo, se utiliza Enum en la tabla EmployeeType y luego se agrega a una nueva regla mediante la función Enum en una cláusula Where (en mvSQL).

  1. Agregue la columna Enum a la tabla EmployeeType, configure el tipo de datos lógicos en String y el uso en Enum

    2018 10 10 10 28 32 window

  2. Haga clic en el botón Resultados de la tabla EmployeeType y especifique los valores de la columna Enum. Como alternativa, puede configurar una página de configuración en la aplicación donde los usuarios puedan especificar estos valores o exponer la columna como un control a la interfaz de usuario de la aplicación e ingresar los datos allí.

    2018 10 10 10 25 17 window

  3. Puede utilizar la función Enum en una regla existente, pero en este ejemplo crearemos una nueva regla que tenga como objetivo la tabla Employee

    2018 10 10 13 48 23 window

  4. En la regla, agregaremos la función Enum a una cláusula Where en mvSQL

    2018 10 10 10 25 49 window

Ejemplo #3

Enum(EmployeeTypeLookup, 'Fulltime')

Devuelve la clave principal de EmployeeTypeLookupTable. Ejemplo:

'17457c85-b0c9-4d45-8681-5ee566429ddd'

Si se utiliza en una declaración mvSQL, la declaración típica en la que se usaría esto es:

select * from Employee where EmployeeTypeId = enum(EmployeeTypeLookup,'Fulltime')

en vez de:

select * from Employee where EmployeeTypeId = '17457c85-b0c9-4d45-8681-5ee566429ddd'