Leer estructura (BD)
La acción Leer estructura (BD) permite leer los datos de una BD y almacenar esos datos en una fuente de página llamada $MT_DBSTRUCTURE. Esta fuente de página solo se rellena con los datos obtenidos al ejecutar la acción Leer estructura (BD).
Definir la acción Leer estructura (BD)
Al arrastrar la acción Leer estructura (BD) hasta el panel Eventos se añade al diseño una fuente de página $MT_DBSTRUCTURE (que se puede ver en el panel "Fuentes de página"). La BD que se leerá está definida en las opciones de la acción (imagen siguiente), que describimos a continuación.
Leer estructura de BD
Indica si la estructura de BD está ubicada en la solución o en el servidor. La estructura puede ser una de las fuentes de página de BD de la solución o una BD a la que se accede mediante una conexión guardada en MobileTogether Server. Para obtener información sobre conexiones BD guardadas consulte la descripción de las conexiones BD del lado servidor en el manual del usuario de MobileTogether Server.
Nota: | Las conexiones BD del lado servidor solo están disponibles en MobileTogether Server para Windows, por lo que en MobileTogether Server para Linux o macOS solo puede leer BDs que contenga la solución. |
Nombre de la conexión
El nombre de la conexión se puede introducir como un valor de una cadena de texto XPath (imagen siguiente). Si se ha indicado que la ubicación de la estructura es la solución (véase el punto anterior), entonces el nombre de la conexión también se podrá seleccionar en el cuadro combinado.
Leer estructura real/posible
La fuente de página $MT_DBSTRUCTURE tiene una estructura que consiste en un conjunto superior que contiene componentes que están disponibles en distintos tipos de BDs.
•Leer estructura real: lee la estructura de la conexión BD indicada y permite filtrar la estructura importada basándose en los nombres de los componentes (imagen anterior).
•Leer estructura posible: este subconjunto de nodos de la fuente de página de $MT_DBSTRUCTURE coincide con la estructura de la conexión BD indicada, para la que puede devolver datos. Las tablas de la estructura BD leídas de este modo no se identifican por sus nombres.
Filtro
Esta opción solo aparece si se selecciona la opción Leer estructura real (véase el punto anterior) y permite filtrar qué componentes de BD se van a leer. Puede filtrar los componentes de una de las siguientes formas:
•Con selección: seleccione las casillas de los componentes que se deben leer (imagen anterior). Para filtrar el componente seleccionado también por su nombre, indique una expresión XPath que sea una secuencia de cadenas de texto que dé los nombres de los componentes que quiera leer. Si un componente en concreto tiene componentes de tipo ancestro, entonces estos componentes también se leerán automáticamente. Por ejemplo, si se selecciona una columna de una tabla, su ancestro se leerá automáticamente también.
•Con XPath: la expresión XPath debe ser una secuencia de conjuntos (imagen siguiente). El primer elemento de cada conjunto es el tipo de componente que se lee (tables, columns, etc); estos elementos son palabras clave, y las palabras clave se encuentran en una ventana emergente que aparece al pasar el cursor por el botón XPath de la opción; estas palabras clave distinguen entre mayúsculas y minúsculas. Los siguientes elementos del conjunto (segundo y siguientes) son los nombres del tipo de componente que se lee. Por ejemplo, en la expresión XPath de la imagen siguiente se leen las columnas Author y Publisher de las tablas Book.
Procesamiento de errores
La opción Cuando haya errores sirve para definir qué ocurre cuando se produzca un error. Se puede definir un control de errores preciso para esta acción, de forma que los errores se traten como advertencias y no errores. La ventaja es que no necesita comprobar los errores en las acciones para las que ya ha definido el control de errores. Estas son las opciones que se pueden definir:
•Anular script: cuando se produzca un error, se interrumpirán todas las acciones sucesivas del evento desencadenado. Se trata de la opción predeterminada para procesar errores. Si a pesar del error desea continuar con el flujo de trabajo, seleccione otra opción.
•Continuar: las acciones no se interrumpen y puede seleccionar qué ocurre cuando no se producen errores (Cuando la operación finalice correctamente) y cuando se producen (Cuando haya errores). Por ejemplo, puede definir que aparezca un cuadro de mensaje confirmando si la página se cargó correctamente o no.
•Generar: si se detecta un error, con esta opción se puede generar una opción que se almacena en la variable de la acción Probar/Capturar. La parte Capturar de esta acción sirve para especificar qué ocurre cuando se produce un error. Si no se detectan errores, se procesará la acción siguiente. Para más información consulte el apartado dedicado a la acción Probar/Capturar.
En tiempo de ejecución
En tiempo de ejecución se lee la BD indicada y los nodos de la fuente de página $MT_DBSTRUCTURE se rellenan con datos de la BD. Los datos de esta fuente de página ahora se pueden usar en el diseño.
Nota: | Se puede usar una MobileTogether XPath extension function llamada mt-available-db-connection-names para obtener los nombres de todas las conexiones BD disponibles, tanto de la solución como del servidor. |
Simulaciones
Si usa el servidor para simulaciones, asegúrese de que la configuración del servidor en MobileTogether Designer es correcta y de que la BD está disponible en el directorio de trabajo de la solución del lado servidor (véase la sección Directorio de trabajo de la solución del lado servidor para más información).
Si ejecuta una simulación directamente en MobileTogether Designer, los datos que se usen en esa simulación provendrán de la BD indicada en la opción Leer estruuctura (BD): simulación de estructura (que está disponible en el la pestaña Simulación 2 del cuadro de diálogo Opciones).
Funciones de extensión de MobileTogether
MobileTogether cuenta con distintas funciones de extensión XPath creadas específicamente para usarlas en los diseños de MobileTogether. Algunas de ellas son especialmente útiles para ciertas acciones en concreto. Por ejemplo, mt-available-languages() devuelve los idiomas en que está disponible la solución y se podría usar, por ejemplo, con la acción Cuadro de mensaje. Si alguna función es especialmente relevante para esta acción, aparece a continuación. Para ver una lista completa de funciones de extensión y sus descripciones consulte Funciones de extensión de MobileTogether.
mt-available-db-connection-names()
mt-db-any-changed-fields()
mt-db-any-changed-rows()
mt-db-deleted-original-fields()
mt-db-deleted-original-rows()
mt-db-file-path()
mt-db-modified-fields()
mt-db-modified-rows()
mt-db-new-fields()
mt-db-new-rows()
mt-db-original row()
mt-external-error-code()
mt-external-error-text()