Revisando tu
STORED PROCEDURE al
OJO pude encontrar en donde mas o menos esta el error revisa esta parte de tu
STORED PROCEDURE
Código SQL:
Ver originalSELECT @id = 'inve_actualiza_compras'
, @USUARIO = suser_name()
, @FECHA_SIS = getdate()
, @FECHA_COMPRA = FECHA_COMPRA
, @estado = ESTADO_COMPRA
, @codigo_division = CODIGO_DIVISION
, @USUARIO_ACTUALIZA = USUARIO_ACTUALIZA
, @FECHA_ACTUALIZACION = FECHA_ACTUALIZACION
, @mes = datepart(mm,FECHA_COMPRA)
, @ano = datepart(yy,FECHA_COMPRA)
, @proveedor = CODIGO_PROVEEDOR
FROM COMPRAS_ENC
WHERE CODIGO_TIPO_COMPRA = @codigo_tipo_compra
AND CODIGO_DE_COMPRA = @codigo_compra;
En esta parte capturas el
@estado con esta variable estas validando un monton de cosas como la variable
@NUMERO_MOV_INVENTARIO en donde te genera el error
Código SQL:
Ver originalIF @estado <> 'E' -- Solo si es la primera o unica actualizacion de la compra
BEGIN
SELECT @NUMERO_MOV_INVENTARIO = IsNull(CORR_INVE_ING_COSTO, 0) + 1
FROM PARAMETRO_GENERALES
WHERE COMPANIA = 'GA'
Verifica lo siguiente
- Si
@estado te devuelve la variable correcta
E si en caso no te devuelve eso entonces te generara el error nulo ya que no capturara el valor que le debe corresponder a
@NUMERO_MOV_INVENTARIO.
- En otro caso valida si el select siguiente genera el valor adecuado para
@NUMERO_MOV_INVENTARIO ya que en esta consulta generara de todas maneras nula si la consulta no devuelve algun registro, esto es diferente a devolver una columna nula
OJO
Código SQL:
Ver originalIF @estado <> 'E' -- Solo si es la primera o unica actualizacion de la compra
BEGIN
SELECT @NUMERO_MOV_INVENTARIO = IsNull(CORR_INVE_ING_COSTO, 0) + 1
FROM PARAMETRO_GENERALES
WHERE COMPANIA = 'GA'