Tiempo aproximado de lectura 00:05:00 min
Ocurrencia
En el módulo Inspección de Entradas, al intentar ejecutar la importación de una entrada en la rutina Importación (QIEA183), el registro se procesa y continúa activo, depués de esto, si se intenta importar de nuevo, presenta un error log señalando un registro duplicado en la tabla QEK, por ejemplo en Oracle: QEK010: DB error (Insert): -37 File: QEK010 - Error : 1 - ORA-00001: unique constraint (DADOSTST.QEK010_UNQ) violated
Entorno
TOTVS Manufatura - Totvs Manufactura (Línea Protheus) - MI - Inspección de Entradas (SIGAQIE) - A partir de la versión 12.1.2310
Causa
Este incidente ocurre cuando la suma del tamaño de los campos D3_LOTECTL y D3_NUMLOTE es distinto al tamaño del campo QEP_LOTE.
Cuando se procesa una importación, la rutina busca el registro en la tabla QEP para marcarlo como procesado, utilizando el indice 2, para esto filtra el campo QEP_LOTE tomando como referencia la union de los campos D3_LOTECTL y D3_NUMLOTE.
Por lo anterior, cuando se altera el tamaño de alguno de estos campos y se rompe la regla de que el tamaño de QEP_LOTE sea igual a la suma del tamaño de los campos D3_LOTECTL y D3_NUMLOTE, el registro en la QEP no es encontrado causando que se genere un nuevo registro, presentando dos registros en la tabla QEP; uno nuevo marcado como procesado y el ya existente que permanece activo en la rutina de Importación, lo que posteriormente provoca error de duplicidad cuando se intenta procesar nuevamente.
Solución
Entendemos que, los campos D3_LOTECTL y QEP_LOTE, cada uno pertenece a un grupo de campos, por lo que es posible que hayan alterado alguno de estos grupos con algun objetivo y colateralmente se generó esta situación, sin embargo, en este caso, se debe cuidar que se mantenga la relación de tamaño cumpliendo esta regla:
El tamaño de QEP_LOTE sea igual a la suma del tamaño de los campos D3_LOTECTL y D3_NUMLOTE.
Si al revisar el tamaño de sus campos no se cumple la regla anterior, se sugiere evaluar los ajustes necesarios en el tamaño del grupo de campos al que pertenece el campo QEP_LOTE o en el grupo de campos al que pertenece el campo D3_LOTECTL. Importante: No se recomienda disminuir el tamaño de un campo o grupo de campos cuando ya existe información, ya que si cuenta con información que utiliza todo el tamaño del campo, esto puede ocasionar que se acorten los datos causando daños a la información existente, por lo tanto, en esos casos lo recomendable es mejor evaluar el ajuste necesario sobre el campo que podamos incrementar para cumplir con la regla antes señalada.
0 Comentarios