ALTER PROCEDURE OP_GrabarValesAProc  
	(@CORRNBR       INT,  
 	@DOCTYPEID      UD_DOCTYPEID,  
 	@NBRDOCUMENT    UD_CORRELATIVOS,  
 	@DATEPROCESALES UD_FECHA,
	@nuevoVALES     INT)  --1 nuevo ; 2 Modificacion
as  
BEGIN  
   -- Declaración de Variables       
-- 498866,12,1000000004,26/07/2006  
  
   DECLARE @CUSTIDSS   UD_CODCLIENT   
   DECLARE @SITEID     UD_IDSITE   
   DECLARE @NBRBONUS   NUMERIC(10)     
   DECLARE @ERROR      INTEGER      
   DECLARE @MONTOBONUS NUMERIC (10,2)  
   DECLARE @USER01     UD_USER1
   DECLARE @ESTADO BIT  
   
   -- Declaración del Cursor   
  IF @nuevoVALES = 1		--INSERTO VALES DE PAGO ADELANTADO NUEVOS
    BEGIN
	   DECLARE OPORDENC 
		   CURSOR FOR  
	           SELECT CUSTIDSS,
			  SITEID,
			  NBRBONUS,
			  MONTOBONUS,
	                  USER01,
			  ESTADO
		   FROM TMP_OP_BONUS
		   WHERE CORRNBR=@CORRNBR   
	   OPEN OPORDENC  
	   FETCH NEXT FROM OPORDENC INTO @CUSTIDSS,@SITEID,@NBRBONUS,@MONTOBONUS,@USER01,@ESTADO
  
	   WHILE @@FETCH_STATUS = 0  
           BEGIN            
              INSERT INTO OP_BONUS (DOCTYPEID,NBRDOCUMENT,CUSTIDSS,SITEID,NBRBONUS,DATEPROCESALES,MONTOBONUS,USER01,ESTADO)   
              VALUES(@DOCTYPEID,@NBRDOCUMENT,@CUSTIDSS,@SITEID,@NBRBONUS,@DATEPROCESALES,@MONTOBONUS,@USER01,@ESTADO)  
  
              SET @ERROR=@@error  
       
                IF (@ERROR!=0)  
                  BEGIN         
                    CLOSE OPORDENC  
                    DEALLOCATE OPORDENC  
                    RETURN(1)    
                  END   
               
   		FETCH NEXT FROM OPORDENC INTO @CUSTIDSS,@SITEID,@NBRBONUS,@MONTOBONUS,@USER01,@ESTADO
           END  
    
      	   CLOSE OPORDENC  
	   DEALLOCATE OPORDENC  
   END

   IF @nuevoVALES = 2 		--ACTUALIZO VALES DE PAGO ADELANTADO NUEVOS   
      BEGIN	
	   DECLARE OPORDENC 
		   CURSOR FOR  
	           SELECT CUSTIDSS,
			  SITEID,
			  NBRBONUS,
			  MONTOBONUS,
	                  USER01,
			  ESTADO
		   FROM OP_BONUS
		   WHERE NBRDOCUMENT= @NBRDOCUMENT
		   
	   OPEN OPORDENC  
	   FETCH NEXT FROM OPORDENC INTO @CUSTIDSS,@SITEID,@NBRBONUS,@MONTOBONUS,@USER01,@ESTADO
  
	   WHILE @@FETCH_STATUS = 0  
           BEGIN            
		-----ACTUALIZA EL ESTADO DEL NUMERO DE VALE 	
		UPDATE OP_BONUS SET USER01 = 0, ESTADO = 1
	  	WHERE CUSTIDSS = @CUSTIDSS AND NBRDOCUMENT= @NBRDOCUMENT AND SITEID = @SITEID AND NBRBONUS = @NBRBONUS

       	        SET @ERROR=@@ERROR  
       
                IF (@ERROR!=0)  
                   BEGIN         
                      CLOSE OPORDENC  
                      DEALLOCATE OPORDENC  
                      RETURN(1)    
                   END   
		
		-----ACTUALIZA EL ESTADO DEL NUMERO DE VALE 	
		UPDATE OP_BONUS SET USER01 = 0, ESTADO = 1
	  	WHERE CUSTIDSS = @CUSTIDSS AND SITEID = @SITEID AND NBRBONUS = @NBRBONUS

       	        SET @ERROR=@@ERROR  
       
                IF (@ERROR!=0)  
                   BEGIN         
                      CLOSE OPORDENC  
                      DEALLOCATE OPORDENC  
                      RETURN(1)    
                   END   

   		FETCH NEXT FROM OPORDENC INTO @CUSTIDSS,@SITEID,@NBRBONUS,@MONTOBONUS,@USER01,@ESTADO
           END  
    
      	   CLOSE OPORDENC  
	   DEALLOCATE OPORDENC  
    END	
    ---RETURN (0)           
END  


