CREATE TRIGGER [dbo].[TRG_PRODUTO_SERVICO_CONFIG_INS] ON [dbo].[PRODUTO_SERVICO_CONFIG] FOR INSERT AS BEGIN DECLARE @COD_PRODUTO_SERVICO INT DECLARE @COD_EMPRESA INT DECLARE @COD_ALIQUOTA_ECF INT DECLARE @PER_REDUCAO_ICMS NUMERIC(15,2) DECLARE @CST_ICMS VARCHAR(5) DECLARE @CST_COFINS VARCHAR(5) DECLARE @CST_PIS VARCHAR(5) DECLARE @CST_IPI VARCHAR(5) DECLARE @PER_ICMS_ST NUMERIC(15,2) DECLARE @PER_ICMS_REDBC NUMERIC(15,2) DECLARE @PER_IPI NUMERIC(15,2) DECLARE @PER_COMISSAO_AVISTA NUMERIC(15,2) DECLARE @PER_COMISSAO_APRAZO NUMERIC(15,2) DECLARE @CST_ICMS_ENTRADA VARCHAR(5) DECLARE @CST_IPI_ENTRADA VARCHAR(5) DECLARE @CST_PIS_ENTRADA VARCHAR(5) DECLARE @CST_COFINS_ENTRADA VARCHAR(5) DECLARE @CFOP_ENTRADA_INTERNA VARCHAR(10) DECLARE @CFOP_ENTRADA_EXTERNA VARCHAR(10) DECLARE @CFOP_SAIDA_INTERNA VARCHAR(10) DECLARE @CFOP_SAIDA_EXTERNA VARCHAR(10) DECLARE @ORIGEM_ICMS VARCHAR(1) DECLARE @PER_MAX_DESCONTO NUMERIC(15,2) DECLARE IPC CURSOR KEYSET FOR SELECT DISTINCT I.COD_PRODUTO_SERVICO, E.COD_EMPRESA, I.COD_ALIQUOTA_ECF, I.PER_REDUCAO_ICMS, I.CST_ICMS, I.CST_COFINS, I.CST_PIS, I.CST_IPI, I.PER_ICMS_ST, I.PER_ICMS_REDBC, I.PER_IPI, I.PER_COMISSAO_AVISTA, I.PER_COMISSAO_APRAZO, I.CST_ICMS_ENTRADA, I.CST_IPI_ENTRADA, I.CST_PIS_ENTRADA, I.CST_COFINS_ENTRADA, I.CFOP_ENTRADA_INTERNA, I.CFOP_ENTRADA_EXTERNA, I.CFOP_SAIDA_INTERNA, I.CFOP_SAIDA_EXTERNA, I.ORIGEM_ICMS, I.PER_MAX_DESCONTO FROM INSERTED I,EMPRESA E WHERE (I.COD_EMPRESA != E.COD_EMPRESA) AND (I.COD_EMPRESA = E.COD_EMPRESA_SINC_PRECO) OPEN IPC FETCH FIRST FROM IPC INTO @COD_PRODUTO_SERVICO,@COD_EMPRESA,@COD_ALIQUOTA_ECF,@PER_REDUCAO_ICMS,@CST_ICMS,@CST_COFINS, @CST_PIS,@CST_IPI,@PER_ICMS_ST,@PER_ICMS_REDBC,@PER_IPI,@PER_COMISSAO_AVISTA,@PER_COMISSAO_APRAZO,@CST_ICMS_ENTRADA, @CST_IPI_ENTRADA,@CST_PIS_ENTRADA,@CST_COFINS_ENTRADA,@CFOP_ENTRADA_INTERNA,@CFOP_ENTRADA_EXTERNA,@CFOP_SAIDA_INTERNA, @CFOP_SAIDA_EXTERNA,@ORIGEM_ICMS,@PER_MAX_DESCONTO WHILE @@FETCH_STATUS = 0 BEGIN IF NOT EXISTS(SELECT COD_PRODUTO_SERVICO FROM PRODUTO_SERVICO_CONFIG WHERE COD_PRODUTO_SERVICO = @COD_PRODUTO_SERVICO AND COD_EMPRESA = @COD_EMPRESA) BEGIN INSERT INTO PRODUTO_SERVICO_CONFIG(COD_PRODUTO_SERVICO,COD_EMPRESA,COD_ALIQUOTA_ECF,PER_REDUCAO_ICMS,CST_ICMS,CST_COFINS,CST_PIS, CST_IPI,PER_ICMS_ST,PER_ICMS_REDBC,PER_IPI,PER_COMISSAO_AVISTA,PER_COMISSAO_APRAZO,CST_ICMS_ENTRADA,CST_IPI_ENTRADA,CST_PIS_ENTRADA, CST_COFINS_ENTRADA,CFOP_ENTRADA_INTERNA,CFOP_ENTRADA_EXTERNA,CFOP_SAIDA_INTERNA,CFOP_SAIDA_EXTERNA,ORIGEM_ICMS,PER_MAX_DESCONTO, VAL_CM_COMPRA,VAL_CM_VENDA,VAL_CU_COMPRA,VAL_CU_VENDA,VL_UC_FRETE,VL_UC_SEGURO,VL_UC_OUTR_DA,VL_UC_DESCONTO,VL_UC_ICMS_ST,VL_UC_IPI, VL_UC_ICMS,VL_UC_PIS,VL_UC_COFINS,VL_UC_VL_UNITARIO ) SELECT @COD_PRODUTO_SERVICO,@COD_EMPRESA,@COD_ALIQUOTA_ECF,@PER_REDUCAO_ICMS,@CST_ICMS,@CST_COFINS, @CST_PIS,@CST_IPI,@PER_ICMS_ST,@PER_ICMS_REDBC,@PER_IPI,@PER_COMISSAO_AVISTA,@PER_COMISSAO_APRAZO,@CST_ICMS_ENTRADA, @CST_IPI_ENTRADA,@CST_PIS_ENTRADA,@CST_COFINS_ENTRADA,@CFOP_ENTRADA_INTERNA,@CFOP_ENTRADA_EXTERNA,@CFOP_SAIDA_INTERNA, @CFOP_SAIDA_EXTERNA,@ORIGEM_ICMS,@PER_MAX_DESCONTO,0,0,0,0,0,0,0,0,0,0,0,0,0,0 END FETCH NEXT FROM IPC INTO @COD_PRODUTO_SERVICO,@COD_EMPRESA,@COD_ALIQUOTA_ECF,@PER_REDUCAO_ICMS,@CST_ICMS,@CST_COFINS, @CST_PIS,@CST_IPI,@PER_ICMS_ST,@PER_ICMS_REDBC,@PER_IPI,@PER_COMISSAO_AVISTA,@PER_COMISSAO_APRAZO,@CST_ICMS_ENTRADA, @CST_IPI_ENTRADA,@CST_PIS_ENTRADA,@CST_COFINS_ENTRADA,@CFOP_ENTRADA_INTERNA,@CFOP_ENTRADA_EXTERNA,@CFOP_SAIDA_INTERNA, @CFOP_SAIDA_EXTERNA,@ORIGEM_ICMS,@PER_MAX_DESCONTO END CLOSE IPC DEALLOCATE IPC END