Procedimiento para leer un txt y usar los valores como entrada en Command Manager

Propósito

En esta ocasión vamos a ver un ejemplo de un procedimiento que es capaz de leer un fichero txt y usar sus valores como parámetro de entrada. Este procedimiento está preparado para que el fichero pueda o no contener un encabezado y únicamente debe tener una columna.

Ficheros a descargar

Podéis descargarlos el procedimiento haciendo clic aquí. Este fichero incluye un txt de ejemplo.

Explicación del código

A continuación se explica el código linea a linea o bien se puede abrir el procedimiento descargado desde MicroStrategy Command Manager (Menú Archivo > Abrir Procedimiento) donde podéis encontrar las líneas de código con el detalle de lo que realiza cada paso.

// Creado por MiguelTroyano.com

// Se configura la lectura del txt con java
File ficheroTxt = new File(sFicheroEntrada);
Scanner scanCount = new Scanner(ficheroTxt); 
Scanner scanner = new Scanner(ficheroTxt);

// Mostramos el fichero a procesar y sus permisos
printOut("El fichero a procesar es: " + sFicheroEntrada);
printOut("El fichero existe: " + ficheroTxt.exists() + " | Permisos de ejecución: " + ficheroTxt.canExecute() + " | Permisos de lectura: " + ficheroTxt.canRead());

// Si la variable sEncabezado esta a true saltamos la primera linea
if ( sEncabezado ){
    scanCount.nextLine();
    scanner.nextLine();
}

// Se cuentan las lineas del fichero
int numLineas = 0;
while ( scanCount.hasNextLine() ) {
    numLineas++;
    scanCount.nextLine();
}

printOut("Se van a procesar " + numLineas + " lineas.");

// Se recorre linea a linea y se ejecuta la acción ubicada dentro del bucle
while ( scanner.hasNextLine() ) {
    	String sValor = scanner.nextLine();
	execute("LIST ALL PRIVILEGES FOR USER \"" + sValor + "\"  ;" );
}

Si se observa el código, el procedimiento va leyendo el fichero de texto linea por línea que contiene el nombre de usuarios. El resultado es que muestra los privilegios de cada uno de los usuarios que figuran en el fichero de texto.

El procedimiento tiene dos parametros de entrada que debes informar antes de ejecutarlo:

  • sFicheroEntrada: dirección completa de la ubicación del fichero de texto
  • sEncabezado: se debe indicar true si el fichero de texto tiene encabezado o false si no lo tiene.

Resultado

El resultado y los mensajes de la ejecución es el siguiente:

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.