Error en la sincronización inicial de Pilaga

Buenas tardes,

En el día de ayer realice la sincronización inicial de Arai-Proveedores con Pilaga y Diaguita, con Diaguita no tuve problemas, pero con Pilaga aparecieron 31 errores en la tabla mdp_personas.

Comparto imágenes, porque no encuentro los logs correspondientes a los comandos ejecutados.

Diaguita.

Pilaga.

Los controles de proveedores duplicados y extranjeros se realizaron y modificaron correctamente.

Respecto a lo compartido tengo las siguientes dudas.

Donde puedo encontrar los logs de la sincronización?

Que controles o modificaciones debería revisar en Pilaga?

Ya podría activar el parámetro aplicar_sincronizacion_arai_prov (Pilaga y Diaguita) ?

Estado actual del parámetro en ambos sistemas.

Quedo al tanto, saludos!

Buenas, pude encontrar los logs comparto parte del error que se repite en diferentes personas.

[DEBUG][toba] ************ ABRIR transaccion (db_arai_proveedores@############) ****************
[DEBUG][toba] ************ ABRIR transaccion (pilagaprueba@############) ****************
[INFO][pilaga] get_datos_registro: SELECT * FROM catalogos.mdp_personas_x_documentos WHERE tipo_de_documento_de_identidad='CUIT' AND replace(numero,'-','')='23277165244'
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.mdp_personas (nacionalidad,fisica_o_juridica,razon_social,nombre_fantasia,sexo,email,cbu,estado,tipo_persona,url,tel_cel,nro_cta_bancaria,tipo_cuenta_bancaria) VALUES ('54','F','Gimenez Monica Alejandra',null,'F',null,null,'AC',2,null,null,null,null)
[ERROR][pilaga] SQLSTATE[23503]: Foreign key violation: 7 ERROR:  inserci�n o actualizaci�n en la tabla �mdp_personas� viola la llave for�nea �anx_personas_tipo_persona_fkey�
DETAIL:  La llave (tipo_persona)=(2) no est� presente en la tabla �mdp_tipos_persona�.
[INFO][pilaga]
ERROR ejecutando SQL:
 [CODIGO]: 7
 [SQLSTATE]: db_23503
 [MENSAJE]: ERROR:  inserci�n o actualizaci�n en la tabla �mdp_personas� viola la llave for�nea �anx_personas_tipo_persona_fkey�
DETAIL:  La llave (tipo_persona)=(2) no est� presente en la tabla �mdp_tipos_persona�.
 [SQL EJECUTADA]: INSERT INTO catalogos.mdp_personas (nacionalidad,fisica_o_juridica,razon_social,nombre_fantasia,sexo,email,cbu,estado,tipo_persona,url,tel_cel,nro_cta_bancaria,tipo_cuenta_bancaria) VALUES ('54','F','Gimenez Monica Alejandra',null,'F',null,null,'AC',2,null,null,null,null) -- toba_log: 29031
: INSERT INTO catalogos.mdp_personas (nacionalidad,fisica_o_juridica,razon_social,nombre_fantasia,sexo,email,cbu,estado,tipo_persona,url,tel_cel,nro_cta_bancaria,tipo_cuenta_bancaria) VALUES ('54','F','Gimenez Monica Alejandra',null,'F',null,null,'AC',2,null,null,null,null)
[ERROR][pilaga] SQLSTATE[25P02]: In failed sql transaction: 7 ERROR:  transacci�n abortada, las �rdenes ser�n ignoradas hasta el fin de bloque de transacci�n
[DEBUG][toba] ************ ABORTAR transaccion (db_arai_proveedores@############) ****************
[DEBUG][toba] ************ ABORTAR transaccion (pilagaprueba@############) ****************
[DEBUG][toba] ************ CERRAR transaccion (db_arai_proveedores@############) ****************
[DEBUG][toba] ************ CERRAR transaccion (pilagaprueba@############) ****************
[DEBUG][toba] ************ ABRIR transaccion (db_arai_proveedores@############) ****************
[DEBUG][toba] ************ ABRIR transaccion (pilagaprueba@############) ****************
[INFO][pilaga] get_datos_registro: SELECT * FROM catalogos.mdp_personas_x_documentos WHERE tipo_de_documento_de_identidad='CUIT' AND replace(numero,'-','')='27930454880'
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.mdp_personas (nacionalidad,fisica_o_juridica,razon_social,nombre_fantasia,sexo,email,cbu,estado,tipo_persona,url,tel_cel,nro_cta_bancaria,tipo_cuenta_bancaria) VALUES ('54','F','Gimenez Sandoval, Silvia',null,'F',null,null,'AC',NULL,null,null,null,null)
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.mdp_personas_x_documentos (tipo_de_documento_de_identidad,persona,numero) VALUES ('CUIT',57695,'27-93045488-0')
[INFO][pilaga] UPDATE anx_personas
                                                        SET persona_arai = 57695
                                                        WHERE persona = 1021;
[INFO][pilaga] get_datos_registro: SELECT * FROM sau_pr_proveedores WHERE persona='1021'
[INFO][pilaga] UPDATE catalogos.sau_pr_proveedores SET nombre=null, tipo_inscripcion=null,
                                                        fecha_inscripcion=null,estado='AC' WHERE persona=57695
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.sau_pr_proveedores  (persona,nombre,tipo_inscripcion,fecha_inscripcion,estado) VALUES (57695,null,null,null,'AC')
[INFO][pilaga] Procesar delete:DELETE FROM catalogos.sau_pr_proveedor_rubro WHERE persona=57695
[INFO][pilaga] Procesar delete:DELETE FROM catalogos.sau_rt_conceptos_proveedor WHERE proveedor=57695
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.mdp_domicilios (calle,numero,piso,departamento,unidad,fax,telefono,codigo_postal,localidad) VALUES ('L. N. Alem','4731',null,null,null,null,null,'1665',523)
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.mdp_personas_domicilios (persona,domicilio,rol) VALUES (57695,1470,'PAGO    ')
[INFO][pilaga] Procesar update:UPDATE anx_domicilios SET domicilio_arai=1470 WHERE domicilio=1031
[DEBUG][toba] ************ CERRAR transaccion (db_arai_proveedores@############) ****************
[DEBUG][toba] ************ CERRAR transaccion (pilagaprueba@############) ****************

En los logs se ve que nose encuentra el dato de tipo_persona en la tabla mdp_tipos_persona, y es exacto la tabla que se menciona de arai esta vacia.

Para dar información la creación de la base de arai_proveedores se creo desde Diaguita, otro dato que visualizo es que el nombre de la tabla mdp_tipos_persona no coincide con el nombre que se encuentra en Diaguita y Pilaga, nombre anx_tipos_persona. Ademas desde Diaguita la tabla que se menciona esta vacío y en Pilaga si tiene datos esa tabla.

En el siguiente foro cambiaron el nombre para solucionar el error, es asi?

Quedo al tanto. Saludos!

Buenas,

El error de “La llave (tipo_persona)=(2) no est� presente en la tabla �mdp_tipos_persona�.“ lo solucione como se menciona en la citación, cargando la tabla con los datos que existe en Pilaga.

Esta carga soluciono 29 registros de 31 errores existentes.

Comparto los logs de los 2 errores presentes.


[INFO][pilaga] get_datos_registro: SELECT * FROM catalogos.mdp_personas_x_documentos WHERE tipo_de_documento_de_identidad='CUIT' AND replace(numero,'-','')='20120231368'
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.mdp_personas (nacionalidad,fisica_o_juridica,razon_social,nombre_fantasia,sexo,email,cbu,estado,tipo_persona,url,tel_cel,nro_cta_bancaria,tipo_cuenta_bancaria) VALUES ('54','F','Osmar D. Buyatti',null,'M',null,null,'AC',NULL,null,null,null,null)
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.mdp_personas_x_documentos (tipo_de_documento_de_identidad,persona,numero) VALUES ('CUIT',58880,'20-12023136-8')
[INFO][pilaga] UPDATE anx_personas
                                                        SET persona_arai = 58880
                                                        WHERE persona = 4062;
[INFO][pilaga] get_datos_registro: SELECT * FROM sau_pr_proveedores WHERE persona='4062'
[INFO][pilaga] UPDATE catalogos.sau_pr_proveedores SET nombre='Osmar D. Buyatti', tipo_inscripcion=null,
                                                        fecha_inscripcion=null,estado='IN' WHERE persona=58880
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.sau_pr_proveedores  (persona,nombre,tipo_inscripcion,fecha_inscripcion,estado) VALUES (58880,'Osmar D. Buyatti',null,null,'IN')
[INFO][pilaga] Procesar delete:DELETE FROM catalogos.sau_pr_proveedor_rubro WHERE persona=58880
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.sau_pr_proveedor_rubro (rubro,persona) VALUES (2,58880)
[INFO][pilaga] Procesar delete:DELETE FROM catalogos.sau_rt_conceptos_proveedor WHERE proveedor=58880
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.mdp_domicilios (calle,numero,piso,departamento,unidad,fax,telefono,codigo_postal,localidad) VALUES (null,null,null,null,null,null,null,null,)
[ERROR][pilaga] SQLSTATE[42601]: Syntax error: 7 ERROR:  error de sintaxis en o cerca de �)�
LINE 1: ...) VALUES (null,null,null,null,null,null,null,null,) -- toba_...
                                                             ^
[INFO][pilaga]
ERROR ejecutando SQL:
 [CODIGO]: 7
 [SQLSTATE]: db_42601
 [MENSAJE]: ERROR:  error de sintaxis en o cerca de �)�
LINE 1: ...) VALUES (null,null,null,null,null,null,null,null,) -- toba_...
                                                             ^
 [SQL EJECUTADA]: INSERT INTO catalogos.mdp_domicilios (calle,numero,piso,departamento,unidad,fax,telefono,codigo_postal,localidad) VALUES (null,null,null,null,null,null,null,null,) -- toba_log: 29031
: INSERT INTO catalogos.mdp_domicilios (calle,numero,piso,departamento,unidad,fax,telefono,codigo_postal,localidad) VALUES (null,null,null,null,null,null,null,null,)
[ERROR][pilaga] SQLSTATE[25P02]: In failed sql transaction: 7 ERROR:  transacci�n abortada, las �rdenes ser�n ignoradas hasta el fin de bloque de transacci�n

[INFO][pilaga] get_datos_registro: SELECT * FROM catalogos.mdp_personas_x_documentos WHERE tipo_de_documento_de_identidad='CUIT' AND replace(numero,'-','')='30516284222'
[INFO][pilaga] UPDATE anx_personas
                                                        SET persona_arai = 66355
                                                        WHERE persona = 6640;
[INFO][pilaga] Procesar delete:DELETE FROM anx_personas_x_documentos WHERE persona=6640
[INFO][pilaga] Procesar insert:INSERT INTO anx_personas_x_documentos (tipo_de_documento_de_identidad,persona,numero) VALUES ('CUIT',6640,'30-51628422-2')
[INFO][pilaga] get_datos_registro: SELECT * FROM sau_pr_proveedores WHERE persona='6640'
[INFO][pilaga] UPDATE catalogos.sau_pr_proveedores SET nombre='EMACO S.A.', tipo_inscripcion=null,
                                                        fecha_inscripcion=null,estado='AC' WHERE persona=66355
[INFO][pilaga] Procesar delete:DELETE FROM sau_pr_proveedor_rubro WHERE persona=6640
[INFO][pilaga] Procesar insert:INSERT INTO sau_pr_proveedor_rubro (rubro,persona) VALUES (84,6640)
[INFO][pilaga] Procesar delete:DELETE FROM catalogos.sau_rt_conceptos_proveedor WHERE proveedor=66355
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.sau_rt_conceptos_proveedor (condicion,nro_inscripcion,fecha_inscripcion,concepto,proveedor) VALUES (1,null,null,2,66355)
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.sau_rt_conceptos_proveedor (condicion,nro_inscripcion,fecha_inscripcion,concepto,proveedor) VALUES (1,null,null,1,66355)
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.sau_rt_conceptos_proveedor (condicion,nro_inscripcion,fecha_inscripcion,concepto,proveedor) VALUES (11,null,null,5,66355)
[INFO][pilaga] Procesar insert:INSERT INTO catalogos.sau_rt_conceptos_proveedor (condicion,nro_inscripcion,fecha_inscripcion,concepto,proveedor) VALUES (12,null,null,6,66355)
[ERROR][pilaga] SQLSTATE[23503]: Foreign key violation: 7 ERROR:  inserci�n o actualizaci�n en la tabla �sau_rt_conceptos_proveedor� viola la llave for�nea �r_331�
DETAIL:  La llave (concepto)=(6) no est� presente en la tabla �sau_rt_conceptos�.
[INFO][pilaga]
ERROR ejecutando SQL:
 [CODIGO]: 7
 [SQLSTATE]: db_23503
 [MENSAJE]: ERROR:  inserci�n o actualizaci�n en la tabla �sau_rt_conceptos_proveedor� viola la llave for�nea �r_331�
DETAIL:  La llave (concepto)=(6) no est� presente en la tabla �sau_rt_conceptos�.
 [SQL EJECUTADA]: INSERT INTO catalogos.sau_rt_conceptos_proveedor (condicion,nro_inscripcion,fecha_inscripcion,concepto,proveedor) VALUES (12,null,null,6,66355) -- toba_log: 29095
: INSERT INTO catalogos.sau_rt_conceptos_proveedor (condicion,nro_inscripcion,fecha_inscripcion,concepto,proveedor) VALUES (12,null,null,6,66355)
[ERROR][pilaga] SQLSTATE[25P02]: In failed sql transaction: 7 ERROR:  transacci�n abortada, las �rdenes ser�n ignoradas hasta el fin de bloque de transacci�n

Resultado de Pilaga.

sudo sh pilaga.sh arai sincronizacion_inicial

 ------------------------------------------------------------------------------
  Actualizando secuencias                                                      
 ------------------------------------------------------------------------------

 Actualizando Pilaga.Catalogos
 Actualizando Arai.Catalogos
 Actualizando Arai.Sincronizador
 Actualizando secuencia sq_anx_personas en base Pilaga
 Actualizando secuencia sq_anx_domicilios en base Pilaga


 ------------------------------------------------------------------------------
  Sincronizaci�n Inicial Arai                                                  
 ------------------------------------------------------------------------------

 Paso 1: Sincronizacion Inicial
 ------------------------------

                               Personas | Procesadas | Errores
Total personas                      6658         3241         0 
ERROR ejecutando SQL:
 [CODIGO]: 7
 [SQLSTATE]: db_42601 
 [MENSAJE]: ERROR:  error de sintaxis en o cerca de �)�
LINE 1: ...) VALUES (null,null,null,null,null,null,null,null,) -- toba_...
                                                             ^
 [SQL EJECUTADA]: INSERT INTO catalogos.mdp_domicilios (calle,numero,piso,departamento,unidad,fax,telefono,codigo_postal,localidad) VALUES (null,null,null,null,null,null,null,null,) -- toba_log: 29095 
: INSERT INTO catalogos.mdp_domicilios (calle,numero,piso,departamento,unidad,fax,telefono,codigo_postal,localidad) VALUES (null,null,null,null,null,null,null,null,)TotaTotal personas                      6658         4019         1 
ERROR ejecutando SQL:
 [CODIGO]: 7
 [SQLSTATE]: db_23503 
 [MENSAJE]: ERROR:  inserci�n o actualizaci�n en la tabla �sau_rt_conceptos_proveedor� viola la llave for�nea �r_331�
DETAIL:  La llave (concepto)=(6) no est� presente en la tabla �sau_rt_conceptos�.
 [SQL EJECUTADA]: INSERT INTO catalogos.sau_rt_conceptos_proveedor (condicion,nro_inscripcion,fecha_inscripcion,concepto,proveedor) VALUES (12,null,null,6,66355) -- toba_log: 29095 
: INSERT INTO catalogos.sau_rt_conceptos_proveedor (condicion,nro_inscripcion,fecha_inscripcion,concepto,proveedor) VALUES (12,null,null,6,66355)Total personas          Total personas                      6658         6658         2 


 Paso 2: Sincronizacion para que el cliente actualice la actividad pendiente
 ---------------------------------------------------------------------------

                               Registros | Procesadas | Errores
Total personas                      47979         47979         0 

 Paso 3: Procesar actividad local pendiente almacenada en tabla "modo_desconectado"
 ----------------------------------------------------------------------------------

                               Registros | Procesadas | Errores
 Resumen paso 1: Ocurrieron los siguiente errores: 
  
 ERROR ejecutando SQL:
  [CODIGO]: 7
  [SQLSTATE]: db_25P02 
  [MENSAJE]: ERROR:  transacci�n abortada, las �rdenes ser�n ignoradas hasta el
 fin de bloque de transacci�n
  [SQL EJECUTADA]: SELECT d.*, pd.rol FROM catalogos.mdp_domicilios d          
      
 INNER JOIN catalogos.mdp_personas_domicilios pd ON d.domicilio =
 pd.domicilio
 INNER JOIN catalogos.mdp_personas p ON pd.persona = p.persona
 WHERE p.persona = 66355; -- toba_log: 29095 
 

 Resumen paso 2: OK

 Resumen paso 3: OK

Ahora con este resultado ya puedo habilitar la sincronización entre los sistemas?

Quedo al tanto de su respuesta, saludos.

Buenos días este topic quedo resuelto en el topic de Pilagá RE: Error de sincronización inicial de Pilaga