Tiempo de lectura:1 Minutos, 55 Segundos

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.

Especificaciones del entorno

  • Microsoft Windows 10
  • MicroStrategy 2021

Paso a paso

  1. Descarga el procedimiento haciendo clic aquí y descomprímelo.
  2. Abre MicroStrategy Command Manager.
  3. Conectate al entorno que deseas consultar.
  4. En el menú Archivo selecciona Abrir procedimiento y busca el archivo *.cmp
  5. En el margen derecho selecciona la pestaña Información de prueba y rellena tu usuario/contraseña.
  6. Modifica las variables para adaptarlo a tu proyecto.
  7. Pulsa el botón Ejecutar o pulsa Ctrl+E.
  8. 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.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

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

Perfiles en Redes Sociales