Tiempo aproximado para lectura: 00:10:00 min
Ocurrencia
En el módulo de Compras (SIGACOM) al incluir una Fracción Arancelaria (MATA446) se genera un error.log:
RSB010: DB error (Insert): -37 File: RSB010 - Error : 2601 (23000) (RC=-1) - [Microsoft][SQL Server Native Client 11.0][SQL Server]Cannot insert duplicate key row in object 'dbo.RSB010' with unique index 'RSB010_UNQ'. The duplicate key value is ( , 8517621799, 249, 0).
Error : 3621 (00000) (RC=-1) -
( From tISAMFile::Write )
Thread ID [4836] User [jgabriel] IO [2375] Tables [56] MaxTables [57] Comment [MATA446 - TCPIP - ThreadID(6528)] SP [ ] Traced [No] SQLReplay [No] InTran [Yes] DBEnv [MSSQL/TFCGPK_TST] DBThread [(SPID 220,231,235)] Started [14/06/2022 09:34:23] IP [127.0.0.1:1200] IDLE [ ] InTransact [0 s.] Memory [0] Running [ROP_WRITE for 0 s.] RCV [58706] SND [353307] TCBuild [20210202-20220603] TCVersion [21.1.1.4] ARCH [64] OS [WINDOWS] BUILD [RELEASE]
INSERT INTO dbo.RSB010(RSB_FRACC,RSB_PAIS,RSB_DESC,RSB_UMT,RSB_IVA,R_E_C_N_O_) VALUES ( ?,?,?,?,?,?)
-- Binded Parameters List --
#1 [C] [8517621799]
#2 [C] [249]
#3 [C] [teste ]
#4 [C] [PZ]
#5 [C] [1]
#6 [R] [15]
- Integrity failure. on EXFORMCOMMIT(PROTHEUSFUNCTIONMVC.PRX) 08/06/2022 19:53:05 line : 2100
Ambiente
Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Compras (SIGACOM) - Versión 12
Causa
Este incidente puede ocurrir cambiar la configuración del modo de acceso de la tabla RSB - Fracciones Arancelarias a Compartido, cuando por estándar del diccionario de datos, la tabla se crea de modo exclusivo y el campo filial es parte de la llave de validación en la inclusión de nuevas fracciones arancelaria precisamente para evitar duplicidad de registros.
Solución
Para solucionar esta ocurrencia, realice los siguientes pasos:
1. Desde APSDU, abra la tabla RSB y respáldela;
2. Aplique un ZAP para borrar todos los registros, salga del APSDU;
3. Desde el configurador cambie el modo de acceso de la tabla y déjela como el estándar del diccionario de datos, exclusivo en todos los modo de acceso, como se muestra en la imagen anexa;
4. Una vez modificada, ingrese por APSDU, appende su respaldo, coloque el código de filial para todos los registros, salga del APSDU;
5. Ingrese a la rutina de países (COMA039), garantice tener registrados los países en su tabla SYA0101;
6. Ingrese a la rutina de facciones arancelaria e intente incluir una nueva fracción ya existente, valide que sea detonado el menaje de validación "La Fracción Arancelaria ya está relacionada a otro registro. Selecciona otro País u otra Fracción Arancelaria".
Conozca más:
Para consultar la información contenida en nuestro banco de conocimientos, acceda a los siguientes enlaces:
0 Comentarios