Función de Tiempo de Ejecución de Mvsql: Caller()
Resumen
Las columnas de la fila actual pueden ponerse a disposición de los objetos de datos abajo en la cadena. Esta función puede acceder a estos valores en varias ubicaciones.
Caller() se puede utilizar en expresiones de reglas CRUD dentro de eventos, controladores de éxito o controladores de error. Cuando se utiliza la función Caller() en un controlador de éxito o de error, la acción buscará un campo determinado en la regla de acción desde la que se está ejecutando. Cuando se utiliza la función Caller() en una regla de acción, busca valores de campo en el registro del objeto comercial en el que se está ejecutando el evento. Consulte el Ejemplo de uso con controlador de éxito para obtener más información.
Las funciones de tiempo de ejecución pueden devolver más de una cadena si se especifica un parámetro de tipo.
Nota
Esta función mvSQL solo funcionará en reglas CRUD y no con otros objetos de datos creados en App Builder.
Sintaxis
CALLER(<name> [, datatype>])
Parámetros
Nombre
Una cadena que representa el nombre del criterio solicitado.
Tipo de Datos
El tipo de datos predeterminado es string, opcional. Tipos de datos admitidos:
- String (predeterminado)
- Numeric
- UUID
Devoluciones
Las funciones de tiempo de ejecución siempre devuelven una cadena SQL. No devuelven NULL. En cambio, devuelven un valor "vacío". El parámetro de tipo determina qué valor vacío se devuelve:
- Una cadena vacía devuelve
''
- Se devuelve un número vacío
'0'
- Se devuelve un UUID vacío
uuid('00000000-0000-0000-0000-000000000000')
Observaciones
El CALLER()
La función siempre devuelve una cadena SQL.
Ejemplos
Ejemplo Que Apunta a Otra Tabla
- Una fila de la tabla Cliente tiene un evento en mayúsculas que apunta a otra tabla.
Esta regla podría crearse:
SELECT UPPER(CALLER('CustomerName')) as UppercasedName FROM CustomerArchive
Lo cual se evaluaría en tiempo de ejecución como:
SELECT UPPER('John Doe') as UppercasedName FROM CustomerArchive
Ejemplo de Uso con Controlador de Éxito
- El objeto comercial '123' tiene un evento llamado 'event'
- 'event' tiene una acción de tipo regla con la regla 'abc'
- 'abc' tiene un evento de controlador de éxito, donde la acción de tipo regla tiene la regla 'def'
- 'def' tiene una expresión Caller('uuid')
- Caller('uuid') apunta a la clave primaria de la tabla de destino para 'def' con 'bind' como tipo de destino
- 'uuid' de Caller('uuid') existe por nombre solo en 'abc', no en el objeto comercial '123'
- En el escenario apropiado, el controlador de éxito se activa y actualiza correctamente el registro apropiado en la tabla de destino de 'def' según la regla