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.