Blog navigation

Últimas entradas del blog

Capturando Errores Detallados Después de una Importación Silenciosa en Sage X3

 

Probablemente estás familiarizado con la generación manual de archivos CSV para la importación a través de plantillas en Sage X3. ¿Pero alguna vez te has preguntado cómo capturar errores detallados después de una importación silenciosa? Tenemos la solución para ti.

Existen instancias en las que capturar errores entrantes se vuelve esencial, especialmente cuando necesitas alertar de manera rápida a los usuarios finales sobre problemas como períodos cerrados o fechas incorrectas. Desafortunadamente, la función estándar de importación silenciosa de Sage X3 no muestra de manera inherente los errores detallados durante el proceso de importación.

Así es cómo puedes superar esta limitación:

Comienza llamando a la función IMPORTSIL:

Llama IMPORTSIL([M:IMP2]MODIMP, [M:IMP2]NOMIMP) Desde GIMPOBJ

Sin embargo, la función estándar ERR_IMPORT solo proporciona un estado general de la importación sin los detalles de los errores. Para abordar esta limitación, puedes utilizar las siguientes técnicas:

  1. La función IMPORTSIL captura datos de registro en un archivo de trazas para evitar ventanas emergentes en la pantalla del usuario final.

  2. Examina el archivo de registro en busca de posibles errores. El tiempo de ejecución de Sage X3 sigue los mismos estándares de registro que las consolas típicas.

  3. 0001 = Errores de salida

  4. 0000 = Salida estándar

Este procedimiento garantiza que tengas una visión clara del proceso de importación y de cualquier error encontrado.

Para mayor claridad, considera el siguiente ejemplo:

1) Inicia una llamada de importación silenciosa en 4GL:

Código Descripción
[M:IMP2]MODIMP = YAOENAME Nombre de la Plantilla de Importación
[M:IMP2]NOMIMP = YTMPFILE Ubicación y Nombre del Archivo
[M:IMP2]TYPEXP = 2 Servidor
Llama IMPORTSIL([M:IMP2]MODIMP, [M:IMP2]NOMIMP) Desde GIMPOBJ Invoca la función IMPORTSIL
Llama ERR_IMPORT([M:IMP2]STAT, YMESSAGE) Desde GIMPOBJ Obtiene el estado de la importación
Si [M:IMP2]STAT o GOK < 1 : YRESTA += 1 Maneja el Error de Importación
De lo contrario : YRESTA = 0 Importación Exitosa
Si !GSERVEUR : Llama FERME_TRACE Desde LECFIC Cierra el archivo de trazas si es necesario

2) Proceso de lectura del registro:

Código Descripción
Abre filpath("TRA", GTRACE, "tra", 0) Usando [YTRA] Abre el archivo de trazas
Local Char XLINE(100) Declara una variable para la línea
Repite Repite hasta el final del archivo
Lee seq XLINE Usando [YTRA] Lee la siguiente línea
Si left$(XLINE, 5) = "<0001" Identifica el error
Añade YMESSAGE(YRESTA), right$(XLINE, 6) : YRESTA += 1 Agrega el mensaje de error
Detén Sal del bucle
Si encontrar(left$(XLINE, 11), "Création de") Verifica la importación exitosa
[L]Y2_TSKNUM = right$(XLINE, 13) Recupera el número de tarea
Añade YMESSAGE(YRESTA), [L]Y2_TSKNUM : YRESTA += 1 Agrega el mensaje de éxito
Fin si Fin de la condición
Hasta que fstat <> 0 Repite hasta el final del archivo
Abrei Usando [YTRA] Cierra el archivo de trazas

 
Publicado en: Sage X3, 4GL