Hola,
Reconozco que esto puede ser vago y me disculpo porque no tengo toda la libertad para mostrar todos los datos que estoy manipulando, pero haré todo lo posible para proporcionar la mayor cantidad de información posible.
Me han proporcionado un complemento JMP para realizar una regresión 4PL. Este complemento es una combinación de archivos JMP y un ejecutable. No tengo derechos de acceso al ejecutable (no puedo editar este archivo). Los archivos JMP para el complemento proporcionan la limpieza de datos para el ejecutable y luego llaman al ejecutable. El ejecutable interactúa con el archivo que está abierto, simplemente actualizaría el archivo con los datos 4PL y eso es todo.
Mi tarea fue automatizar el proceso de ejecución del complemento, tenemos varios archivos de entrada que ejecutaríamos diariamente. El enfoque que planeaba tomar, era tomar el archivo que ejecuta el ejecutable y tratarlo / envolverlo como una función, luego iteraré a través de mi lista de tablas de datos.
Hice esto de manera escalonada:
- Primero me aseguré de que el ejecutable estuviera trabajando en los datos de entrada.
- Luego escribí la función y una ventana de secuencia de comandos ("contenedor") separada para seleccionar la tabla de datos y pasarla a la función. Hice esto para un solo archivo y funcionó correctamente.
A continuación se encuentra mi "envoltorio" para llamar a la función, el código siguiente funciona correctamente:
include("$ADDIN_HOME(**path I cannot share**)\DRIA_func.jsl");
test1 = data table("First Data Table for Script");
var_1 = DRIA_func(test1);Sin embargo, una vez que se ejecuta, la ventana de secuencia de comandos anterior se cierra, no tengo control de esto y no puedo detenerlo. Si tuviera que agregar una segunda tabla de datos, se observa el siguiente error en el registro:
In the following script, error marked by /*###*/
Include( "$ADDIN_HOME(**path I cannot share**)\DRIA_func.jsl" );
test1 = Data Table( "First Data Table for Script" );
var_1 = DRIA_func( the_table_test1 );
test2 = Data Table( "Second Data Table for Script" );
var_2 = DRIA_func( the_table_test2 ) /*###*/;
No sé por qué se está cerrando la ventana del script, pero imagino que esto está causando el error.
El script JMP que estoy convirtiendo en una función, si lo ejecuto por sí mismo, proporciona el resultado correcto a la tabla de datos, pero luego forza el cierre también.
La única referencia que tengo es este enlace de la comunidad:
https://community.jmp.com/t5/Discussions/C-closes-JMP-after-running/td-p/35678
De lo que deduzco, esto es parte de la codificación C # y no es algo que pueda mitigar en / a través de JMP. Soy el único recurso sobre esto, y antes de concluir que es un problema con el ejecutable, ¡quería preguntar a los expertos aquí!
¡Gracias por tu ayuda!