Bucle en archivos de scriptEstimados scripters de jsl:
Tengo un script en el que uso la instrucción de inclusión para llamar a un subíndice para "informar" (insertando un gráfico JMP en un archivo de PowerPoint):
dt = Current Data Table();
Include( strRootPathScript || str_report_Product1) );
Funciona bien siempre que use 1 producto. Mi deseo es hacer un bucle en una lista de productos [Product1; Product2; ...]
y reemplazar el nombre del producto en la instrucción de inclusión.
Después de algunas pruebas exóticas en torno a las instrucciones EVAL / EXPR / SUBSTITUTE, ¡le pido su ayuda!
¡¡¡Gracias!!!
Jerome
ScriptingRe: bucle en archivos de scriptHola @ J_Bonnouvrier1 ,
Es un poco difícil generalizar esto para que funcione bajo cualquier circunstancia, pero podría recorrerlo con una estructura de código / archivo como lo imagino.
Suponiendo que conozca de antemano las sustituciones Producto1, Producto2, etc.en su código JSL, si hace algo como:
dt = Current Data Table();
For(i=1, i<=NItems(Product_List), i++,
Include(strRootPathScript||"str_report_"||Product_List[i]);
);
En este caso, la variable Product_List sería una lista de sus productos: Product_List = {"Product1", "Product2", "Product3", ...} ;. En el ciclo For, cuando llama a Product_List [i], estaría concatenando el i-ésimo elemento de Product_List. Entonces, si i = 3, debería hacer lo siguiente:
Incluya (strRootPathScript || str_report_ || Product_List [3]), donde supongo que strRootPathScript es una ruta raíz, como "C: \ myfiles \ JSL_code \", de modo que el argumento que está introduciendo en la función Incluir estaría en este caso es: "C: \ myfiles \ JSL_code \ str_report_Product3".
¿Es esto lo que buscas?
¡Espero que esto ayude!,
DS
Re: bucle en archivos de scriptHola @ SDF1 ,
De hecho, olvidé mencionar que str_report_Product1 es una variable que da el nombre del archivo para cada producto:
str_report_Product1 = "C: \ temp \ report_Product1.jsl"
Entonces, la solución que propones no es reconocida por el script.
Gracias y saludos,
Jérôme