¿Cómo pasar argumentos a diferentes scripts jsl?Hola,
Tengo una base de datos SQL donde registramos datos para diferentes clientes (y cada cliente tiene muchas herramientas).
Estoy en el proceso de crear informes automáticos para monitorear el rendimiento de las herramientas desde SQL DB.
Para un cliente, tengo un script largo en funcionamiento (un JSL largo) que se conecta al SQL, ejecuta una consulta, guarda la tabla de la consulta, luego modifica/filtra la tabla para obtener los datos que necesito, luego dibuja algunos gráficos y guarde los resultados en ubicaciones específicas.
Para que sea más fácil de usar, para el mantenimiento y la actualización, me gustaría crear diferentes scripts JSL y usar el archivo Customer_Tool_Info.txt (ver ejemplo adjunto en el Zip) como archivo de configuración.
Como tenemos muchos clientes, simplemente podría usar un ciclo For usando este archivo de configuración para crear todos los informes que necesitamos.
Customer_Tool_Info.txt contiene información para el cliente, las herramientas y la información para la conexión ODBC.
Lo que me gustaría es tener el script principal para abrir Customer_Tool_Info.txt y extraer la información necesaria y pasarla como argumentos para los otros subguiones.
- Main_script.jsl (Obtenga los argumentos para pasar a los subguiones)
- Subguiones:
- Obtener_datos_de SQL.jmpquery
- FIlter_the_Table.jsl
- Get_Charts.jsl
¿Es posible pasar argumentos a diferentes scripts jsl? ¿cómo? Probé en Main_Script.jsl para explicar todo lo que quiero hacer.
Por favor, hágamelo saber si tiene alguna pregunta y gracias por su ayuda.
Saludos
Geof
Re: ¿Cómo pasar argumentos a diferentes scripts jsl?¡Funciona bien con variables globales! GraciasRe: ¿Cómo pasar argumentos a diferentes scripts jsl?Si no quiere usar variables globales, use los archivos de inclusión para definir funciones y solo incluya los archivos una vez, probablemente al comienzo de su archivo principal. Luego puede llamar a las funciones definidas por el usuario con parámetros. Algo como esto:
Principal.jsl
--------
include("sub1.jsl");
include("sub2.jsl");
calculator(42);
reportWriter("report title");
sub1.jsl
-------
reportWriter = function({title},{i,j,k}, // i,j,k are local variable examples
write(title,"this is my report")
);
sub2.jsl
----
calculator = function({thresholdNumber},{x,y,z},
return(sqrt(thresholdNumber));
)
Re: ¿Cómo pasar argumentos a diferentes scripts jsl?Puede pasar la información a otros scripts JSL a través de variables globales.Estos tienen el prefijo "::"; Agrego ag para indicar que son globales.Por ejemplo:
::g_my_var = "Hello";
include("my_script.jsl");