Ver Mensaje Individual
  #13 (permalink)  
Antiguo 04/09/2012, 10:01
Avatar de Dradi7
Dradi7
 
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 meses
Puntos: 220
Respuesta: Problema con Store Procedure VB2010 express

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 original
  1. SELECT @id = 'inve_actualiza_compras'
  2. , @USUARIO = suser_name()
  3. , @FECHA_SIS = getdate()
  4. , @FECHA_COMPRA = FECHA_COMPRA
  5. , @estado = ESTADO_COMPRA
  6. , @codigo_division = CODIGO_DIVISION
  7. , @USUARIO_ACTUALIZA = USUARIO_ACTUALIZA
  8. , @FECHA_ACTUALIZACION = FECHA_ACTUALIZACION
  9. , @mes = datepart(mm,FECHA_COMPRA)
  10. , @ano = datepart(yy,FECHA_COMPRA)
  11. , @proveedor = CODIGO_PROVEEDOR
  12. FROM COMPRAS_ENC
  13. WHERE CODIGO_TIPO_COMPRA = @codigo_tipo_compra
  14. 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 original
  1. IF @estado <> 'E' -- Solo si es la primera o unica actualizacion de la compra
  2. BEGIN
  3. SELECT @NUMERO_MOV_INVENTARIO = IsNull(CORR_INVE_ING_COSTO, 0) + 1
  4. FROM PARAMETRO_GENERALES
  5. 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 original
  1. IF @estado <> 'E' -- Solo si es la primera o unica actualizacion de la compra
  2. BEGIN
  3. SELECT @NUMERO_MOV_INVENTARIO = IsNull(CORR_INVE_ING_COSTO, 0) + 1
  4. FROM PARAMETRO_GENERALES
  5. WHERE COMPANIA = 'GA'
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones