 ALTER PROCEDURE TMP_IN_INTRAITEMInsProc  
(   @CORRNBR                                               int,  
    @SITEID                                                     UD_IDSITE,  
    @TYPEDOCID                                            UD_TYPEMOVEID,  
    @SEQUENCE          smallint,  
    @INVTIDSKU         UD_IDCORPORATIVO,  
    @INVTIDBARR        UD_CODIGOBARRA,  
    @QTY               UD_STOCK,  
    @TAXIGV            numeric(5, 2)               = NULL,  
    @STDCOSTPEN        UD_COSTO                    = NULL,  
    @STDCOSTUSD        UD_COSTO                    = NULL,  
    @STKFISI           bit,  
    @INTRDATE          smalldatetime,  
    @INTRDATEPROCE    smalldatetime,  
    @RLSED             bit,  
    @TAXISC       NUMERIC(5,2),  
    @STDCOSTPENOLD     UD_COSTO,   
    @STDCOSTUSDOLD     UD_COSTO,  
    @USER1             UD_USER1                    = NULL,  
    @USER2             UD_USER2                    = NULL,  
    @USER3             UD_USER3                    = NULL,  
    @USER4             UD_USER5                    = NULL,  
    @USER5             UD_USER5                    = NULL,  
    @USER6             UD_USER6                    = NULL,  
    @USER7             UD_USER7                    = NULL,  
    @USER8             UD_USER8                    = NULL,  
    @USER9             UD_USER9                    = NULL)  
AS  

DECLARE @IMPUESTO2 DECIMAL(12,4), @PERCEPCIONPEN DECIMAL(15,4),@PERCEPCIONUSD DECIMAL(15,4)

BEGIN  
    BEGIN TRAN  

 
 SET @IMPUESTO2= (SELECT VALUE  
   FROM IN_INVENTORY JOIN TAXS   
   ON IN_INVENTORY.TAXISC=TAXS.TAXID  
   WHERE INVTIDSKU=@INVTIDSKU)  
  
SET @PERCEPCIONPEN = ROUND(@STDCOSTPEN * ((@TAXIGV/100) + 1) * @QTY,2)  * (@IMPUESTO2/100)
SET @PERCEPCIONUSD = ROUND(@STDCOSTUSD * ((@TAXIGV/100) + 1)* @QTY,2)  * (@IMPUESTO2/ 100)
  
          INSERT INTO TMP_IN_INTRAITEM(CORRNBR,SITEID,TYPEDOCID,SEQUENCE,INVTIDSKU,INVTIDBARR,QTY,  
                                   TAXIGV,STDCOSTPEN,STDCOSTUSD,STKFISI,INTRDATE,INTRDATEPROCE,  
                                   RLSED,TAXISC,STDCOSTPENOLD,STDCOSTUSDOLD,USER1,USER2,USER3,USER4,USER5,USER6,USER7,USER8,USER9   ,TAXPERC,INTPERCPEN,INTPERCUSD
                                   )  
          VALUES(@CORRNBR,@SITEID,@TYPEDOCID,@SEQUENCE,@INVTIDSKU,@INVTIDBARR,@QTY,@TAXIGV,@STDCOSTPEN,  
                         @STDCOSTUSD,@STKFISI,@INTRDATE,@INTRDATEPROCE,@RLSED,@TAXISC,@STDCOSTPENOLD,@STDCOSTUSDOLD,@USER1,@USER2,@USER3,@USER4,  
                         @USER5,@USER6,@USER7,@USER8,@USER9,@IMPUESTO2,@PERCEPCIONPEN,@PERCEPCIONUSD)  
  
  
          IF (@@error!=0)  
              BEGIN  
                   RAISERROR  20000 'Error insertando en Temporal '  
                   ROLLBACK TRAN  
                   RETURN(1)      
              END  
                      
          IF (@STDCOSTPEN=@STDCOSTPENOLD)  AND (@STDCOSTUSD <> @STDCOSTUSDOLD)    
             BEGIN  
                   RAISERROR  20000 'Error insertando en Temporal/ Error de Costos  '  
                   ROLLBACK TRAN  
                   RETURN(1)                                  
             END  
            
    COMMIT TRAN  
  
END  
  
