Al tratar de establecer el ancho de visualización de una columna en JSL usando JMP 16.2.0 (MacOS), veo varios problemas que no vi con JMP 15.
1. El Establecer ancho de pantalla La función parece operar en dos modos, dependiendo de cómo se use. Si se llama con un valor de argumento codificado, parece ser permanente.
col = Column("SN");
col << Set Display Width( 200 );Sin embargo, si se llama con un argumento var, se muestra como se desea, pero no parece guardarse con el archivo. (O, al menos, no guardado como se esperaba).
x = 100;
col << Set Display Width( x );
En el último caso, si el archivo se guarda y luego se vuelve a abrir, se procesa con un ancho de 200 (presumiblemente, por haber ejecutado el código anterior). Por lo tanto, el 200 persiste a través de un archivo-guardar-cerrar-y-reabrir, pero el 100 no.
Aún más extraño, si abro la tabla con JMP 15, muestra el ancho como 100 (y un y = col << Obtener ancho de pantalla() instrucción lo confirma). Pero luego, retroceder y abrir con JMP 16 genera un ancho de 200. Esto sugiere que, de hecho, ambos valores se guardan con el archivo, y JMP ha agregado un nuevo modo al atributo de ancho de columna en JMP 16. Como referencia, el archivo adjunto muestra el problema.
2. Si el Establecer ancho de pantalla () función es la última función en el script JSL, y utiliza un argumento variable, manifiesta un Scriptable[] error, y la operación no parece tener lugar. Sin embargo, si se proporciona un valor codificado, todo parece funcionar bien (y el valor establecido se muestra en el registro). ¿Existe tal vez un nuevo requisito de sintaxis para esta función o para las terminaciones de secuencias de comandos JSL para JMP 16? Observo que este comportamiento no ocurre con JMP 15.
3. Un poco sin relación, pero descubierto al tratar de entender esto, con JMP 16, una cadena con un carácter de nueva línea parece requerir al menos otro carácter que no sea un espacio en blanco; de lo contrario, parece ignorarse. No estoy seguro si esto es un cambio de diseño o una supervisión de SQA.
col << Set Display Width( 200 );
y = col << Get Display Width();
Show(y); Write("\!n");
Write("---");
x=100;
col << Set Display Width( x );
y = col << Get Display Width();
Show(y);Producción:
y = 200;---
y = 200;
Si, por ejemplo, se agrega un punto delante de la nueva línea en la cadena, ".\!norte" , se reconoce la nueva línea:
y = 200;.
---
y = 200;
Hola @SteveTerry - Parece que <
Eval(EvalExpr(col << Set Display Width( Expr(x) )));
Veremos cómo corregir la evaluación en una versión futura.
Para el problema de la nueva línea, sugeriría probar "\!N" en lugar de "\!n".El primero insertará un salto de línea que depende del entorno del host, mientras que el segundo es un carácter de "nueva línea" específico.Su ejemplo en mi Mac parece funcionar sin el cambio, pero no estoy seguro de si esto podría depender de la configuración del sistema.
Gracias por la solución, @danschikore . En el problema solitario "\!n", "\!N" no marcó la diferencia -- (y "\!n" siempre ha funcionado bien en una Mac). Un colega también ha confirmado este comportamiento (en 16.1). ¿Cuál es la mejor manera de informarlo al equipo de JMP?