12.4 Métodos objeto GTW

Métodos Objeto GTW


 
GTW es el objeto que permite al consultor interactuar con el ecosistema de Sepiia desde un script Javascript o Python.
 

Métodos para Interoperar entre los scripts y SepiiaPNG

1. sendMessage2Terminal (Opción 1)

  • Descripción: Envía un comando a una terminal, agregando un ID de transacción para hacerla única en caso de comandos dentro de un ciclo.
  • Parámetros:
    • terminalId (String): Identificador de la terminal.
    • commandId (String): Identificador del comando.
    • params (HashMap): Parámetros adicionales.
    • externalTrxId (String): ID de transacción externa.
  • Ejemplo de uso en JavaScript:
var respuesta = gtw.sendMessage2Terminal('Terminal1', 'Command1', JSON.stringify({param1: 'value1'}), 'trx1234');
 

2. sendMessage2Terminal (Opción 2)

  • Descripción: Envía un comando a una terminal, con un HashMap de parámetros.
  • Parámetros:
    • terminalId (String): Identificador de la terminal.
    • commandId (String): Identificador del comando.
    • params (HashMap): Parámetros adicionales.
  • Ejemplo de uso en JavaScript:
var respuesta = gtw.sendMessage2Terminal('Terminal1', 'Command1', JSON.stringify({param1: 'value1'}));
 

3. initializeAsyncPlan

  • Descripción: Inicializa un plan de ejecución asíncrono y masivo. Este método prepara el entorno para ejecutar múltiples comandos en paralelo.
  • Ejemplo de uso en JavaScript:
gtw.initializeAsyncPlan();
 

4. addAsyncCommand

  • Descripción: Agrega la llamada a un flujo con sus respectivos parámetros, los que serán ejecutados de forma masiva cuando se ejecute el método executeAsyncPlan.
  • Parámetros:
    • flow (String): Nombre del flujo.
    • params (String): Parámetros para el flujo.
  • Ejemplo de uso en JavaScript:
gtw.addAsyncCommand('myFlow', '{"param1": "value1", "param2": "value2"}');
 

5. excuteAsyncPlan

  • Descripción: Ejecuta los comandos agregados en el plan de ejecución. El método finaliza cuando todos los hilos terminan su ejecución.
  • Ejemplo de uso en JavaScript:
gtw.executeAsyncPlan();
 

6. excuteAsyncPlanWhitoutWait

  • Descripción: Ejecuta los comandos agregados en el plan de ejecución sin esperar a que los hilos terminen, quedando los hilos ejecutándose en segundo plano.
  • Ejemplo de uso en JavaScript:
gtw.excuteAsyncPlanWhitoutWait();
 

7. runScript (Opción 1)

  • Descripción: Invoca un script específico con parámetros dinámicos.
  • Parámetros:
    • routine (String): Nombre del script.
    • trace (Trace): Objeto de seguimiento.
    • in (Object...): Parámetros adicionales.
  • Ejemplo de uso en JavaScript:
var result = gtw.runScript('myScript', log, 'value1', 'value2', 'valueN');
 

8. runScript (Opción 2)

  • Descripción: Ejecuta un script con la estructura de una llamada normal, recibiendo un JSON con parámetros serializado.
  • Parámetros:
    • routine (String): Nombre del script.
    • trace (Trace): Objeto de seguimiento.
    • inparameters (String...): JSON con lista de parámetros.
  • Ejemplo de uso en JavaScript:
var result = gtw.runScript('APITest', log, JSON.stringify({ param1: valor, param2: valor, paramN: valor }));
 

9. runScriptAsinc (Opción 1)

  • Descripción: Ejecuta un script asincrónicamente con parámetros dinámicos.
  • Parámetros:
    • routine (String): Nombre del script.
    • trx (long): Identificador de la transacción.
    • in (Object...): Parámetros adicionales.
  • Ejemplo de uso en JavaScript:
gtw.runScriptAsinc('myScript', 1234, 'value1', 'value2', 'valueN');
 

10. runScriptAsinc (Opción 2)

  • Descripción: Ejecuta un script asincronamente con la estructura de una llamada normal.
  • Parámetros:
    • routine (String): Nombre del script.
    • trx (long): Identificador de la transacción.
    • parameters (String...): JSON con parámetros.
  • Ejemplo de uso en JavaScript:
gtw.runScriptAsinc('APITest', log, JSON.stringify({ param1: valor, param2: valor, paramN: valor }));
 

11. executeOSCommand

  • Descripción: Ejecuta un comando en el sistema operativo en el que se esté ejecutando SepiiaPNG.
  • Parámetros:
    • command (String): Comando del sistema operativo.
  • Ejemplo de uso en JavaScript:
var resultado = gtw.executeOSCommand('ls -ltr');
 

12. math

  • Descripción: Ejecuta una expresión matemática basada en un template y los valores que se envíen para reemplazar.
  • Parámetros:
    • formula (String): La fórmula matemática a evaluar.
    • strJson (String): JSON con los valores a reemplazar en la fórmula.
  • Ejemplo de uso en JavaScript:
var resultado = gtw.math('(@@VALOR1@@ * @@VALOR2@@) / @@VALOR3@@', '{"VALOR1": 10, "VALOR2": 20, "VALOR3": 2}');

12.1. Operadores Matemáticos Básicos

  • +: Suma.
  • -: Resta.
  • *: Multiplicación.
  • /: División.
  • ^: Potencia (exponenciación).
  • !: Factorial.
 

12.2. Operadores Relacionales

  • =: Igual a.
  • !=: No igual a.
  • >: Mayor que.
  • <: Menor que.
  • >=: Mayor o igual que.
  • <=: Menor o igual que.
 

12.3. Operadores Lógicos

  • and: Y lógico.
  • or: O lógico.
  • not: Negación lógica.
 

12.4. Funciones Aritméticas

  • abs(x): Valor absoluto de x.
  • ceil(x): Redondea x hacia el infinito positivo (techo).
  • floor(x): Redondea x hacia el infinito negativo (suelo).
  • round(x): Redondea x al entero más cercano.
  • sqrt(x): Raíz cuadrada de x.
  • exp(x): Función exponencial e^x.
  • log(x): Logaritmo natural (base e).
  • log2(x): Logaritmo en base 2.
  • log10(x): Logaritmo en base 10.
 

12.5. Funciones Trigonométricas

  • sin(x): Seno de x (en radianes).
  • cos(x): Coseno de x (en radianes).
  • tan(x): Tangente de x (en radianes).
  • csc(x): Cosecante de x (en radianes).
  • sec(x): Secante de x (en radianes).
  • cot(x): Cotangente de x (en radianes).
 

12.6. Funciones Trigonométricas Inversas

  • asin(x): Arco seno de x (en radianes).
  • acos(x): Arco coseno de x (en radianes).
  • atan(x): Arco tangente de x (en radianes).
 

12.7. Funciones Hiperbólicas

  • sinh(x): Seno hiperbólico de x.
  • cosh(x): Coseno hiperbólico de x.
  • tanh(x): Tangente hiperbólica de x.
  • csch(x): Cosecante hiperbólica de x.
  • sech(x): Secante hiperbólica de x.
  • coth(x): Cotangente hiperbólica de x.
 

12.8. Funciones Hiperbólicas Inversas

  • asinh(x): Arco seno hiperbólico de x.
  • acosh(x): Arco coseno hiperbólico de x.
  • atanh(x): Arco tangente hiperbólica de x.
 

12.9. Funciones Estadísticas

  • min(a, b, ...): Mínimo de los valores.
  • max(a, b, ...): Máximo de los valores.
  • sum(a, b, ...): Suma de los valores.
  • avg(a, b, ...): Promedio de los valores.
  • var(a, b, ...): Varianza de los valores.
  • std(a, b, ...): Desviación estándar de los valores.
 

12.10. Funciones Especiales

  • fact(n) Factorial de n.
  • mod(x, y) Módulo (resto) de x dividido por y.
  • sign(x): Signo de x (1 si es positivo, -1 si es negativo, 0 si es cero).
  • pi: Constante pi (≈ 3.141592653589793).
  • e: Constante e (≈ 2.718281828459045).
 

12.11. Funciones Numéricas Aleatorias

  • random(): Genera un número aleatorio entre 0 y 1.
  • rnd(x, y): Genera un número aleatorio entre x e y.

12.12. Otras Funciones Utilitarias

  • deg(x): Convierte x de radianes a grados.
  • rad(x): Convierte x de grados a radianes.
  • sgn(x): Devuelve el signo de x (igual que sign(x)).
 

13. callURL

  • Descripción: Llama a cualquier URL con el método HTTP especificado.
  • Parámetros:
    • url (String): URL a la que se enviará la solicitud.
    • method (String): Método HTTP a utilizar (GET, POST, etc.).
    • data (String): Datos a enviar en el cuerpo de la solicitud.
    • auth (String): Token de autenticación.
  • Ejemplo de uso en JavaScript:
var respuesta = gtw.callURL('https://app.sepiia.run/API/TEST', 'POST', '{"param1":"valor", "param2": valor}', 'Bearer token');
 

14. downloadFile

  • Descripción: Descarga un archivo desde una URL, dejándolo en una ruta y nombre dado por el usuario.
  • Parámetros:
    • url (String): URL desde la cual descargar el archivo.
    • method (String): Método HTTP a utilizar (GET, POST, etc.).
    • data (String): Datos a enviar en el cuerpo de la solicitud.
    • auth (String): Token de autenticación.
    • fileNameDest (String): Ruta y nombre del archivo destino.
  • Ejemplo de uso en JavaScript:
gtw.downloadFile('https://app.sepiia.run/resource/logoSepiia.png', 'GET', '', 'Bearer token', '/tmp/logoSepiia.png');
 

15. getCache

  • Descripción: Retorna el valor cacheado en RAM, si ya ha pasado el TTL lo borra y retorna null.
  • Parámetros:
    • key (String): Clave para acceder al valor cacheado.
  • Ejemplo de uso en JavaScript:
var valor = gtw.getCache('MY_KEY');
 

16. setCache

  • Descripción: Guarda un valor en la cache de RAM del PNG.
  • Parámetros:
    • key (String): Clave para almacenar el valor.
    • data (Object): Valor a cachear.
    • seconds (int): Tiempo de vida del cache en segundos.
  • Ejemplo de uso en JavaScript:
gtw.setCache('MY_KEY', 'MY VALUE', 60);
 

17. removeFile

  • Descripción: Remueve un archivo del disco.
  • Parámetros:
    • fileName (String): Nombre del archivo a eliminar.
  • Ejemplo de uso en JavaScript:
gtw.removeFile('/tmp/testfile.txt');
 

18. moveFile

  • Descripción: Mueve o cambia de nombre a un archivo.
  • Parámetros:
    • orig (String): Ruta de origen del archivo.
    • dest (String): Ruta de destino del archivo.
  • Ejemplo de uso en JavaScript:
gtw.moveFile('/tmp/original.txt', '/tmp/nuevo.txt');
 

19. createFolder

  • Descripción: Crea una carpeta en el sistema operativo.
  • Parámetros:
    • folderPath (String): Ruta de la carpeta a crear.
  • Ejemplo de uso en JavaScript:
gtw.createFolder('/tmp/nueva_carpeta');
 

20. isIsRegTransaccionON

  • Descripción: Retorna un booleano indicando si la opción de registro de transacciones de un script está activada.
  • Ejemplo de uso en JavaScript:
var registroActivo = gtw.isIsRegTransaccionON();
 

21. setIsRegTransaccionON

  • Descripción: Establece o quita la opción de registro de transacciones de un script.
  • Parámetros:
    • isRegTransaccionON (boolean): Valor para activar o desactivar el registro de transacciones.
  • Ejemplo de uso en JavaScript:
gtw.setIsRegTransaccionON(true);
 

22. isValidRange

  • Descripción: Valida la existencia de un número dentro de los rangos permitidos.
  • Parámetros:
    • idTerminal (String): Identificador de la terminal.
    • idRangeDomain (String): Dominio del rango.
    • num (String): Número a validar.
  • Ejemplo de uso en JavaScript:
var esValido = gtw.isValidRange('Terminal1', 'Rango1', '1234');
 

23. setResultSUCCESS

  • Descripción: Setea un objeto ResultDTO con la respuesta informando el éxito en la ejecución.
  • Parámetros:
    • respuesta (Object): Respuesta de éxito.
  • Ejemplo de uso en JavaScript:
var resultado = gtw.setResultSUCCESS('Operación exitosa');
 

24. setResultERROR

  • Descripción: Setea un objeto ResultDTO con la respuesta informando el error en la ejecución.
  • Parámetros:
    • respuesta (Object): Respuesta de error.
  • Ejemplo de uso en JavaScript:
var resultado = gtw.setResultERROR('Error en la operación');
 

25. saveFile

  • Descripción: Graba un archivo con la información enviada.
  • Parámetros:
    • dir (String): Directorio donde se guardará el archivo.
    • fileName (String): Nombre del archivo.
    • data (String): Datos a guardar en el archivo.
  • Ejemplo de uso en JavaScript:
gtw.saveFile('/tmp', 'archivo.txt', 'Contenido del archivo');
 

26. createNewFile

  • Descripción: Crea un archivo y retorna el OutputStream para almacenar datos.
  • Parámetros:
    • dir (String): Directorio donde se creará el archivo.
    • fileName (String): Nombre del archivo.
  • Ejemplo de uso en JavaScript:
var outputStream = gtw.createNewFile('/tmp', 'archivo.txt');
 

27. writeFileLine

  • Descripción: Escribe una línea en un archivo abierto.
  • Parámetros:
    • output (OutputStream): OutputStream del archivo abierto.
    • data (String): Datos a escribir en el archivo.
  • Ejemplo de uso en JavaScript:
gtw.writeFileLine(outputStream, 'Línea de datos');
 

28. compressFile

  • Descripción: Comprime un archivo en formato ZIP.
  • Parámetros:
    • inputFile (String): Ruta del archivo a comprimir.
    • outputFile (String): Ruta del archivo comprimido de salida.
  • Ejemplo de uso en JavaScript:
gtw.compressFile('/tmp/original.txt', '/tmp/comprimido.zip');
 

29. openAsciiFile

  • Descripción: Retorna un objeto BufferedReader con el archivo, si es que existe.
  • Parámetros:
    • fileName (String): Nombre del archivo a abrir.
  • Ejemplo de uso en JavaScript:
var reader = gtw.openAsciiFile('/tmp/archivo.txt');
 

30. getBufferedReader

  • Descripción: Retorna un objeto BufferedReader desde un archivo abierto.
  • Parámetros:
    • fr (FileReader): FileReader del archivo abierto.
  • Ejemplo de uso en JavaScript:
var bufferedReader = gtw.getBufferedReader(fileReader);
 

31. removeFile

  • Descripción: Remueve un archivo del disco.
  • Parámetros:
    • fileName (String): Nombre del archivo a eliminar.
  • Ejemplo de uso en JavaScript:
gtw.removeFile('/tmp/archivo.txt');
 

32. getPropertyFile

  • Descripción: Obtiene las propiedades de un archivo del disco.
  • Parámetros:
    • fileName (String): Nombre del archivo del cual obtener las propiedades.
  • Ejemplo de uso en JavaScript:
var fileProperties = gtw.getPropertyFile('/tmp/archivo.txt');
 

33. getDataAccess

  • Descripción: Retorna un objeto de acceso a los datos de Sepiia, acompañado de una clave de seguridad.
  • Parámetros:
    • autoKey (String): Clave de seguridad para acceso a datos.
  • Ejemplo de uso en JavaScript:
var dataAccess = gtw.getDataAccess('claveDeSeguridad');
 

34. getCurrentTimeMillisDif

  • Descripción: Retorna los milisegundos que han pasado entre una fecha y otra.
  • Parámetros:
    • dif (long): Valor de diferencia en milisegundos.
  • Ejemplo de uso en JavaScript:
var millis = gtw.getCurrentTimeMillisDif(0);
 

35. doSleep

  • Descripción: Pausa el hilo por un número determinado de milisegundos.
  • Parámetros:
    • time (long): Tiempo de pausa en milisegundos.
  • Ejemplo de uso en JavaScript:
gtw.doSleep(3000); // Pausa por 3 segundos
 

36. getValueEquivalence

  • Descripción: Busca la equivalencia de un valor dentro de un dominio de la tabla de equivalencias del SepiiaPNG.
  • Parámetros:
    • domain (String): Dominio de la tabla de equivalencias.
    • value (String): Valor a buscar la equivalencia.
  • Ejemplo de uso en JavaScript:
var equivalencia = gtw.getValueEquivalence('CULTIVO', '100');
 

37. getRangeEquivalence

  • Descripción: Busca la equivalencia de un rango de valores dentro de la tabla de equivalencias del SepiiaPNG.
  • Parámetros:
    • domain (String): Dominio de la tabla de equivalencias.
    • value (String): Valor a buscar la equivalencia.
  • Ejemplo de uso en JavaScript:
var equivalencia = gtw.getRangeEquivalence('CULTIVOS', '100');
 

38. getTotalControl

  • Descripción: Retorna una lista de los totales de controles de cada proceso inscrito en la agenda.
  • Ejemplo de uso en JavaScript:
var totales = gtw.getTotalControl();
 

39. setMantCommand

  • Descripción: Ejecuta un comando de mantención de la API de mantenimiento del SepiiaPNG.
  • Parámetros:
    • command (String): Comando de mantención en formato JSON.
  • Ejemplo de uso en JavaScript:
var respuesta = gtw.setMantCommand('{"command": "showTerminals"}');
 

40. setOperationMessage

  • Descripción: Setea un mensaje de operación para que aparezca en el log como avance del proceso.
  • Parámetros:
    • msg (String): Mensaje de operación.
  • Ejemplo de uso en JavaScript:
gtw.setOperationMessage('Registros cargados hasta el momento: 100');
 

 
Reemplazar este instructivo por el link al formulario de feedback de la sección.
  1. Duplicar un formulario de feedback de CDA Usuarios de Tally (CDA-C-Nombre de sección) y colocarle el nombre de la sección actual.
    1. ⚠️
      Importante: Si esta nueva sección de Notion fue reubicada en medio de otras secciones pre-existentes, habrá que corregir la numeración todos los formularios de Tally que refirieran a las secciones que tuvieron que cambiar de numeración.
  1. Dentro del formulario, ir a “Share” > “Embed form” y seleccionar “Standard”.
    1. notion image
  1. Seleccionar “Copy embed link”.
    1. notion image
  1. Pegar el link al final de la columna central de la página de Notion y seleccionar Embed/Insertar.
  1. Ajustar el alto del formulario. El inicio de la L espejada, en la esquina inferior derecha, debe estar apenas por debajo del botón “Creado con Tally”.
    1. notion image