Erro ao executar sp = String or binary data would be truncated
24/11/2010
0
Boa tarde,
ao executar a sp abaixo é apresentado o seguinte erro:
Msg 8152, Level 16, State 14, Procedure sp_IntegracaoSapiens, Line 129
String or binary data would be truncated.
The statement has been terminated.
Alguem sabe me ajudar ?
ao executar a sp abaixo é apresentado o seguinte erro:
Msg 8152, Level 16, State 14, Procedure sp_IntegracaoSapiens, Line 129
String or binary data would be truncated.
The statement has been terminated.
Alguem sabe me ajudar ?
ALTER procedure [dbo].[sp_Integracao] @AnoMov int, @MesMov int as declare @CodFornec int, @CodGrupoCurral int, @CodGrupoProduto int, --@NumCGC varchar(14), --@NumCPF varchar(11), @InscEstadual varchar(20),---?, @QtdeLeite int, @Linha varchar(100), @DiaMov int, @ValorUnit numeric(18,4), @ValorTotal numeric(18,2), @QtdeNF int, @Registro int, @DataEntrada char(10), @CGCCPF char(14) set @DiaMov = (select DiasMes from TBPARAM where Ano = @AnoMov AND Mes = @MesMov) set @DataEntrada = dbo.flPad(rtrim(cast(@DiaMov as char(2))),'0',2) + '/' + dbo.flPad(rtrim(cast(@MesMov as char(2))),'0',2) + '/' + cast(@AnoMov as char(4)) declare teste1 cursor local for select M.CodFornec, G.CodGrupoCurral, E.CodGrupoProduto, --max(G.NumCgc) as NumCGC, case when isnull(max(G.NumCpf),'0') = '0' then dbo.fLPad(rtrim(isnull(max(G.NumCGC),'0')),'0',14) else dbo.fLPad(rtrim(isnull(max(G.nUMCPF),'0')),'0',14) end CGCCPF, --max(G.NumCPF) as NumCPF, max(G.InscEstadual) as InscEstadual, sum(M.ValorTotal) as ValorTotal, max(QtdeLeite) as QtdeLeite from TbMovFornec M inner join tbCurral C on C.CodFornec = M.CodFornec and C.CodCurral = M.CodCurral inner join tbEvento E on E.CodEvento = M.CodEvento inner join TbGrupoCurral G on G.CodFornec = C.CodFornec AND G.CodGrupoCurral = C.CodGrupoCurral inner join(select P.Ano, P.Mes, P.CodFornec, C.CodGrupoCurral, sum(P.QtdeLeite) as QtdeLeite from TBPRODUCAO P inner join TBCURRAL C on C.CodFornec = P.CodFornec AND C.CodCurral = P.CodCurral where codclass = 'B' -- and ano= 2008 and mes= 8 and codfornec= 7460 group by P.Ano,P.Mes,P.CodFornec,C.CodgrupoCurral)P on P.Ano = @AnoMov AND P.Mes = @MesMov AND P.CodFornec = M.CodFornec and P.CodGrupoCurral = C.CodGrupoCurral where M.Ano = @AnoMov and M.Mes = @MesMov AND P.CodFornec = 152 group by M.CodFornec,G.CodGrupoCurral,E.CodGrupoProduto truncate table TBNFE_ENTRADA set @QtdeNF = isnull((select count(*) from (select M.CodFornec, C.CodGrupoCurral, E.CodGrupoProduto, sum(M.ValorTotal) as ValorTotal from TbMovFornec M inner join tbCurral C on C.CodFornec = M.CodFornec and C.CodCurral = M.CodCurral inner join tbEvento E on E.CodEvento = M.CodEvento where M.Ano = @AnoMov and M.Mes = @MesMov AND M.CodFornec = 152 group by M.CodFornec,C.CodGrupoCurral,E.CodGrupoProduto) X ),0) if @QtdeNF > 0 begin set @Registro = 0 open teste1 fetch next from teste1 into @CodFornec, @CodGrupoCurral, @CodGrupoProduto, --@NumCGC, --@NumCPF, @CGCCPF, @InscEstadual, @ValorTotal, @QtdeLeite set @Registro = @Registro + 1 while @Registro <= @QtdeNF begin set @ValorUnit = @ValorTotal/@QtdeLeite set @linha = @DataEntrada + @CGCCPF + -- @NumCGC + -- @NumCPF + -- CPFCGC dbo.flPad(rtrim(cast(@QtdeLeite as varchar(8))),'0',8) + -- Leite InNatura dbo.flPad(rtrim(cast(@ValorUnit as varchar(8))),'0',8) insert into dbo.TBNFE_ENTRADA (Linha1) values (@Linha) fetch next from teste1 into @CodFornec, @CodGrupoCurral, @CodGrupoProduto, --@NumCGC, --@NumCPF, @CGCCPF, @InscEstadual, @ValorTotal, @QtdeLeite set @Registro = @Registro + 1 end close teste1 deallocate teste1 end GO
Breno Rocha
Curtir tópico
+ 1
Responder
Post mais votado
24/11/2010
creio que o problema deva estar no insert:
insert into dbo.TBNFE_ENTRADA (Linha1) values (@Linha)
provavelmente o conteúdo de @Linha é maior do que o campo Linha1 pode comportar.
insert into dbo.TBNFE_ENTRADA (Linha1) values (@Linha)
provavelmente o conteúdo de @Linha é maior do que o campo Linha1 pode comportar.
Emerson Nascimento
Responder
Mais Posts
25/11/2010
Breno Rocha
Bom dia EMERSON!
matou a pau !!! é isso mesmo... ela estava com apenas 38 caracteres...
não tinha me atentado para isso
obrigado !
matou a pau !!! é isso mesmo... ela estava com apenas 38 caracteres...
não tinha me atentado para isso
obrigado !
Responder
Clique aqui para fazer login e interagir na Comunidade :)