¿Qué es y cómo crear una transacción?

MicroStrategy Transaction Services o comúnmente llamado una transacción, te permite realizar acciones en base de datos en tiempo real, como modificaciones, inserciones o borrado de datos interactuando con los atributos de MicroStrategy. Este tipo de acciones se crean por medio de informes transaccionales, pero para poder crearlo se necesita de una licencia llamada Transaction Services.

En el siguiente ejemplo, vamos a crear un documento donde el usuario podrá escribir un comentario y pulsando un botón, se insertará en BBDD.

PASOS A SEGUIR PARA CREAR UNA TRANSACCIÓN

PASO 1 – CREAR LA TABLA DE BBDD

Vamos a crear una tabla donde se guardará toda la información. Para que funcione el comando update será necesario tener un campo que haga el registro único, tendremos una descripción que será la que escriba el usuario y por último una fecha que se autorrellena cuando el usuario escriba el comentario. El código de ejemplo de creación de la tabla es el siguiente:

CREATE TABLE MSTR_TRANSACCION (
IDENTIFICADOR NUMBER (2),
DESCRIPCION VARCHAR2(50),
FECHA DATE);

PASO 2 – IMPORTAR Y MAPEAR ATRIBUTOS

1. Desde el menú Esquema de MicroStrategy Developer, haz clic en Catálogo de Warehouse y después importa la tabla que hemos creado anteriormente.

Catalogo de Warehouse

2. Ahora vamos a crear el atributo que el usuario va visualizar, que se corresponde con el campo descripción. Abre el menú Archivo > Nuevo > Atributo y establece el identificador como ID y la descripción con la categoría DESC.

Configuración atributo

PASO 3 – CREAR INFORME TRANSACCIONAL

1. Desde el menú archivo de MicroStrategy Developer haz clic en Nuevo y después en Informe.

Nuevo Informe

2. En el cuadro de diálogo selecciona la pestaña Orígenes definidos por el usuario y haz clic en Crear informe de transacciones.

Si no te aparece el cuadro de diálogo, es porque en algún momento, seleccionaste la casilla No volver a mostrar… para recuperarlo lee el este articulo haciendo clic aqui.

Crear informe de transacciones

3. Haz clic derecho en el área central (parte blanca) y selecciona Insertar transacción.

Insertar transaccion

4. Entre las palabras iniciar transacción y Finalizar transacción escribimos nuestra sentencia SQL. En este caso queremos hacer un insert en el campo identificador, descripción y fecha. Es posible que tengas que escribir el nombre del esquema por delante del nombre de la tabla.

INSERT INTO MSTR_TRANSACCION (IDENTIFICADOR, DESCRIPCION, FECHA)
SELECT 
FROM DUAL ;

5. Una vez escrito el código anterior, nos situamos al final del select y hacemos clic derecho en el ratón y seleccionamos Definir nueva entrada > Representación de atributo. Con esto vamos a conseguir que inserte en la tabla lo que contenga el atributo Descripción que será lo que escriba el usuario.

6. En el explorador de objetos busca el atributo que hemos creado y arrastralo a la columna Objeto. Verifica que la representación que utilices sea la ID, después realiza lo mismo para la descripción.

7. Al final de la línea del select escribe sysdate, de esta forma escribirá la fecha del sistema cuando se haga el insert. Debería quedarte de la siguiente forma:

SQL transaccion

8. El informe de transacción nos obliga a tener un objeto de salida, pero en esta ocasión crearemos un indicador falso que no realizará ninguna acción. Haz clic en Objetos de salida y en la parte central haz clic con el botón derecho del ratón y pulsa en Agregar indicador nuevo.

Agregar indicador nuevo

En la columna objeto escribir la palabra Dummy.

Indicador dummy

9. Acepta y guarda el informe.

PASO 4 – CREAR INFORME DE RESULTADO

Ahora crea un informe normal con el atributo descripción. Este informe servirá para mostrarle al instante al usuario el resultado de su transacción.

Informe de resultados

Recuerda desactivar la caché desde el menú Datos > Opciones de caché de datos. Debe estar en inhabilitado para que el usuario vea lo que ha insertado al instante.

PASO 5 – CREAR INTERFAZ DEL USUARIO

Las transacciones hasta el momento solo funcionan en documentos, descartando así la posibilidad de insertarlo en un Dossier.

1. Abrimos MicroStrategy Web y creamos un documento en blanco.
2. Agregamos el conjunto de datos que hemos creado en el paso anterior, en mi caso lo he llamado Resultado
3. Arrastramos cada representación dentro del panel.

Diseño de la interfaz

4. Hacemos clic derecho sobre cualquiera de las dos cajas de texto y seleccionamos Configurar transacciones

Acceso a configurar transacciones

5. En la pestaña Asignación de transacciones hacer clic en el botón de los tres puntos y seleccionar el informe transaccional que hemos creado en el paso 3.
6. Se muestran muchas opciones que podéis ir jugando con ellas, pero en esta ocasión haremos lo más sencillo. Podéis comprobar como cada representación del atributo Descripción lo ha vinculado a cada una de las cajas de texto del documento. Debemos decir cual puede modificar el usuario y de qué tipo van ser. Fijate en la siguiente imagen:

Configurar transacciones

7. Desde el menú Insertar crea un botón selector de acciones fuera del panel.

Botón selector de acciones

8. Haz clic derecho sobre el boton que has creado y pulsa Propiedades. Debemos indicarle que este botón va tener como destino la pila de paneles como se muestra en la siguiente imagen:

Propiedades y formato

9. Desde el menú insertar crea una cuadrícula y arrastra dentro de ella el atributo Descripción. Guarda el documento y te debe quedar todo de la siguiente forma:

Diseño del documento

Le podemos dar un poco de formato, lo ejecutamos y probamos a insertar un registro escribiendo el código 1, la descripción texto y pulsamos el botón Enviar.

Ejecución del informe de transacciones

Al pulsar enviar podemos observar como en la cuadricula inferior se muestra el resultado.

Resultado del transaccional

Y si consultamos los datos en la BBDD podremos ver el registro en la tabla con su fecha de inserción:

Resultado del transaccional en BBDD

Escribir un comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.