Ver Mensaje Individual
  #14 (permalink)  
Antiguo 04/09/2012, 10:35
Avatar de Jamsito
Jamsito
 
Fecha de Ingreso: agosto-2012
Mensajes: 28
Antigüedad: 12 años, 3 meses
Puntos: 0
Respuesta: Problema con Store Procedure VB2010 express

Cita:
Iniciado por Dradi7 Ver Mensaje
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'
Ok voy a verificar lo que dices, a la hora de consultar el estado en la BD es "P" osea diferente a "E" por lo que si entra y obtiene el numero de movimiento, pero verificare lo de abajo.

Habra alguna forma de desplegar un cuadro de texto cuando se ejecute el procedimiento almacenado?