En artículos anteriores hemos visto como crear, modificar o eliminar suscripciones pero en este articulo vamos a buscar y modificar el propietario de una suscripción en MicroStrategy. Buscaremos todas las suscripciones que comienzan con un patrón y todos aquellas que sean de tipo email o cache se les modificara su propietario.
Tabla de Contenidos
ocultar
Especificaciones del entorno
- Microsoft Windows 10
- MicroStrategy 2021
Paso a paso
- Descarga el procedimiento haciendo clic aquí y descomprímelo.
- Abre MicroStrategy Command Manager.
- Conectate al entorno que deseas consultar.
- En el menú Archivo selecciona Abrir procedimiento y busca el archivo *.cmp
- En el margen derecho selecciona la pestaña Información de prueba y rellena tu usuario/contraseña.
- Modifica las variables para adaptarlo a tu proyecto.
- Pulsa el botón Ejecutar o pulsa Ctrl+E.
- Aparecerá el resultado en el margen inferior.
Explicación del código
//Creado por MiguelTroyano.com //Variables generales String sNombreProyecto = "MicroStrategy Tutorial"; String tipoCache = "Caché"; String tipoCorreo = "Correo"; printOut( "IDSuscripcion;NombreSuscripcion;PropietarioAntiguo;TipoSuscripcion"); // Obtenemos todos las suscripciones de un proyecto ResultSet rsSuscripcion = executeCapture("LIST ALL SUBSCRIPTIONS FOR PROJECT '" + sNombreProyecto + "';"); // Nos posicionamos en el primer atributo encontrado rsSuscripcion.moveFirst(); // Mientras que existan atributos entramos en el bucle while (!rsSuscripcion.isEof()){ // Se declaran las varibables para guardar el nombre y la ruta del atributo String sIDSuscripcion = rsSuscripcion.getFieldValueString(DisplayPropertyEnum.GUID); String sPropietarioSuscripcion = rsSuscripcion.getFieldValueString(DisplayPropertyEnum.OWNER); String sNombreSuscripcion = rsSuscripcion.getFieldValueString(DisplayPropertyEnum.NAME); String sTipoSuscripcion = rsSuscripcion.getFieldValueString(DisplayPropertyEnum.SUBSCRIPTION_TYPE); // Declaramos las variables necesarias String cadenaBuscar = "PRO_"; String nuevoPropietario = "Administrator"; // Acciones si la suscripción comienza con el texto de la variable cadenaBuscar if(sNombreSuscripcion.startsWith(cadenaBuscar) == true){ // Acciones si la suscripción es de tipo cache if( sTipoSuscripcion.startsWith(tipoCache) == true ){ printOut( sIDSuscripcion + ";" + sNombreSuscripcion + ";" + sPropietarioSuscripcion + ";" + sTipoSuscripcion); execute("ALTER CACHEUPDATESUBSCRIPTION GUID " + sIDSuscripcion + " OWNER '" + nuevoPropietario + "' IN PROJECT '" + sNombreProyecto + "';"); } // Acciones si la suscripción es de tipo correo if( sTipoSuscripcion.startsWith(tipoCorreo) == true ){ printOut( sIDSuscripcion + ";" + sNombreSuscripcion + ";" + sPropietarioSuscripcion + ";" + sTipoSuscripcion); execute("ALTER EMAILSUBSCRIPTION GUID " + sIDSuscripcion + " OWNER '" + nuevoPropietario + "' IN PROJECT '" + sNombreProyecto + "';"); } } // Nos posicionamos en la siguiente suscripcion por si tiene más de una rsSuscripcion.moveNext(); }
Descarga
Es posible que si copias y pegas el código de ejemplo te falle debido a los caracteres ocultos que copia el sistema como el retorno de carro, pero no te preocupes, haz clic en el botón y descargate el ejemplo listo para abrir en Command Manager.