Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Buen día comunidad.
Estoy realizando la ejecución de un proceso de extracción y cuando sin motivo alguno me esta saliendo el error Error: OK. la verdad nunca había visto este error y no entiendo a qué hace referencia, si alguien me pudiera colaborar le agradezco, ya que se me acaban las ideas y no entiendo el resultado.
Quedo atento a sus comentarios.
Gracias.
Hola Juan, no recuerdo haber visto ese error, ¿podrías poner una captura?
Por dar alguna idea:
- Revisar logs del documento para comprobar en qué instrucción da el error.
- Comprobar que no hay ninguna macro programada que sea la que realmente está generando el error.
- Comprobar que no hay ninguna cadena 'OK' suelta por el script
Hola Ruben,
En la ejecución del script no se está usando macros y tampoco cadenas de nombre OK.
Esta es la imagen del momento del error.
Agradezco tu ayuda.
Hola Juan, no consigo reproducir ese error.
Por otra parte FileName() sirve para recuperar el nombre del fichero que estas cargando, ¿seguro que eso lo que quieres hacer? ¿si comentas o modificas esta tabla sigue dando error?
Hola Rubén.
Este error sale en el 4 ciclo de una sentencia FOR, por eso mismo no entiendo el error, ya que para los 3 ciclos anteriores funciona bien. Y si, la idea es usar el FileName() para poder tener el nombre del archivo que está leyendo, ya que esa información la uso para un ciclo posterior. En cuanto a las modificaciones o comentarios de la tabla, no lo hago porque el ciclo no me saldría bien.
Por un momento pensé que era el archivo, pero cuando lo leo directamente con la misma estructura, carga correctamente.
Quedó atento a tus comentarios.
Saludos.
Puedes añadir variables de control y ejecutar una carga de depuración para ver qué pasa con ese 4º ciclo, o intentar cambiar el orden de los ficheros para identificar si el error lo da siempre en el 4º ciclo o es cuando llega a ese fichero, es difícil saber qué puede pasar sin más información.
Por modificar me refería a que puedes poner (en una copia del documento por si acaso) una intrucción como
IF $(IterNum=4) THEN
Exit script;
ENDIF
Y comprobar como está el modelo antes de que se produzca el error.
Hola Ruben,
He realizado una serie de pruebas y logré identificar que el error sale cuando se lanza la recarga normal, pero cuando realizó la recarga por el depurador no sale error, realiza la ejecución normal.
También encontré que el error solo sale con ese archivo, pero cuando lo cargo solo y lo ejecuto no sale error, sola sale el error cuando pasa por el ciclo FOR.
Adicionalmente cambié el FOR por un FOR Each pero sigue saliendo el mismo error y la verdad se me están agotando las ideas y sigo sin saber cuál pueda ser el origen del Error: OK
Agradezco tus comentarios.
Saludos.
Juan
Hola Juan, yo tampoco sabría decir, estba la prueba de insertar un exit script para que puedas ver como se está quedando el modelo con cada paso del bucle, igual estás esperando que unas tablas se unan pero se están guardando por separado, o al revés.
¿Puedes subir el código con el bucle completo a ver si hay suerte y se identifica algo?
Hola Ruben.
A continuación te voy a colocar el código del bucle.
ListArchBBDD:
LOAD Chr(39) & Concat(NombreArchivo, Chr(39) & ',' & Chr(39)) & Chr(39) AS ListadoArchivos Resident [$(vL.NombreQvdParametros)_2] Order By Posición asc;
LET ListadoArchivosBBDD = Peek('ListadoArchivos',0,'ListArchBBDD');
DROP Table ListArchBBDD;
FOR Each ArchivosBBDD in $(ListadoArchivosBBDD)
NoConcatenate
ParametrosArchivosBBDD:
LOAD TABLE_NAME AS Pestana,
TABLE_CAT AS Ubicacion,
Contenedor AS Container
Resident $(vL.NombreQvdParametros)_2
Where NombreArchivo = '$(ArchivosBBDD)'
;
LET vG.UbicacionArchivo = Peek('Ubicacion',0,'ParametrosArchivosBBDD');
LET vG.PestanaCarga = Peek('Pestana',0,'ParametrosArchivosBBDD');
LET vG.NombreContenedor = Peek('Container',0,'ParametrosArchivosBBDD');
DROP Table ParametrosArchivosBBDD;
// -----------------------------------------------------------------------------------------------------------------------------
$(Include=$(vG.BaseVariablePath)15.Script\$(vG.NombreContenedor).qvs);
// -----------------------------------------------------------------------------------------------------------------------------
SET vG.UbicacionArchivo = ;
SET vG.PestanaCarga = ;
SET vG.NombreContenedor = ;
NEXT ArchivosBBDD
----------------------------------------
En el include, al inicio del archivo lee lo siguiente y es ahí en donde sale el error, cuando sale error
NombreBBDD:
LOAD Distinct FileName() AS NombreBBDD
FROM
[$(vG.UbicacionArchivo)]
(ooxml, embedded labels, table is $(vG.PestanaCarga));
Quedo atento a tus comentarios
Hola Juan, por lo que veo NombreBBDD se genera en cada iteración del bucle pero no hace un drop de la tabla, por lo que que se estén creando NombreBBDD-1, NombreBBDD-2... y al intentar relacionarlas todas sea cuando se produce el error.
Aquí entraría lo comentado de modificar el código para verificar el modelo, intreoducir algo com:
IF $(IterNum=4) THEN
Exit script;
ENDIF
Para pararlo antes del error y comprobar si hasta ahí estaba funcionando bien y e modelo que monta es el esperado.