[firebase-br] RES: Erro sem solução...ate o momento
Alysson Azevedo
agalysson em gmail.com
Qui Jul 8 09:57:19 -03 2010
lol, esse renato eh mesmo detalhista...
mas se tratando de overflow, com certeza esse eh o problema... (mas pode não
ser o unico)
--
Alysson Gonçalves de Azevedo
(11) 8491-7730
(\(''^_^ )/)
"Pobre vive dizendo que não tem nada, mas quando vem a enchente, ele sai
gritando: -Perdi tudo!!!"
Em 8 de julho de 2010 09:52, Renato - Eficaz Informatica <
renato em eficazinformatica.com.br> escreveu:
> Olá,
>
> O campo 'titulo' está definido com o tamanho VARCHAR(10) e na sua PROCEDURE
> SP_RECEBIDO_CLIENTE o select está retornando o valor CAST(FAT.CODFAT AS
> VARCHAR(10))||'-0', que contando o tamanho dá um retorno de 12 digitos.
> Espero ter ajudado.
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
> Em
> nome de Levy Moreira
> Enviada em: quinta-feira, 8 de julho de 2010 09:22
> Para: FireBase
> Assunto: [firebase-br] Erro sem solução...ate o momento
>
> por amor de Deus sei que não é de bom tom implorar, mas isso é caso de vida
> ou morte tenho um um relatorio com o seguinte sql:
> Add(
> 'SELECT CAX.*, (CAX.VALCAX + CAX.JURCAX) AS VALTOT, CLI.NOME01,
> VEN.NOMRED ' +
> 'FROM SP_RECEBIDO_CLIENTE CAX ' +
> ' LEFT JOIN CLI ON (CLI.CODCLI = CAX.CLICAX) ' +
> ' LEFT JOIN VEN ON (VEN.CODVEN = CAX.FUNCAX) ' +
> 'WHERE (CAX.LOJCAX IS NOT NULL) ' +
> Loja.SQLFilter('CAX.LOJCAX') +
> Periodo.SQLFilter('CAX.DATCAX') +
> Operador.SQLFilter('CAX.FUNCAX') +
> TipoCliente.SQLFilter('CLI.TPCCLI') +
> lkpTipoDocumento.SQLFilter('CAX.TIPDOC') +
> cbStatusCliente.SQLFilter);
> case cbStatusPgmto.ItemIndex of
> 0: Add('AND (CAX.DATCAX <= CAX.DATVEN) ');
> 1: Add('AND (CAX.DATCAX > CAX.DATVEN) ');
> end;
> Add('ORDER BY CAX.LOJCAX');
> if cbTipoRelatorio.ItemIndex = 1 then
> Add(', CAX.DATCAX, CLI.NOME01') else
> Add(', VEN.NOMRED, CLI.NOME01, CAX.DATCAX');
> end;
>
> O codigo da SP_RECEBIDO_CLIENTE:
> SET TERM ^ ;
>
> CREATE OR ALTER PROCEDURE SP_RECEBIDO_CLIENTE (
> quites char(1) = 'N')
> returns (
> tipcax char(3),
> lojcax smallint,
> fatcax integer,
> funcax smallint,
> clicax integer,
> datemi date,
> datven date,
> datcax date,
> titulo varchar(10),
> tipdoc char(2),
> vencax smallint,
> fpgcax smallint,
> valcax decimal(15,2),
> jurcax decimal(15,2),
> atraso smallint)
> as
> BEGIN
> FOR
> SELECT
> FAT.LOJFAT, FAT.CODFAT, CAX.FUNCAX, FAT.CLIFAT, FAT.DATFAT,
> FAT.DATFAT,
> CAX.DATCAX, CAST(FAT.CODFAT AS VARCHAR(10))||'-0', FPG.TIPFPG,
> FAT.VENFAT,
> CAX.FPGCAX,
> CAX.VALCAX, 0, 0
> FROM SP_FORMAS_PGMTO_CAIXA('N') CAX
> LEFT JOIN FAT ON (FAT.CODFAT = CAX.OBJCAX)
> LEFT JOIN FPG ON (FPG.CODFPG = CAX.FPGCAX)
> WHERE (CAX.OCXCAX = 'VP') AND (FPG.AVISTA = 'S')
> INTO
> :LOJCAX, :FATCAX, :FUNCAX, :CLICAX, :DATEMI, :DATVEN, :DATCAX,
> :TITULO, :TIPDOC, :VENCAX, :FPGCAX, :VALCAX, :JURCAX, :ATRASO DO
> BEGIN
> TIPCAX = 'ENT';
> SUSPEND;
> END
>
> FOR
> SELECT
> CON.LOJCON, CON.NOTCON, CAX.FUNCAX, CON.PESCON, CON.DATEMI,
> CON.DATVEN,
> CAX.DATCAX, CON.TITULO, CON.TIPDOC, CON.VENCON, CAX.FPGCAX,
> CAX.VALCAX,
> CAX.JURCAX, CAX.DATCAX - CON.DATVEN
> FROM SP_FORMAS_PGMTO_CAIXA('N') CAX
> LEFT JOIN CON ON (CON.CODCON = CAX.OBJCAX)
> WHERE (CAX.OCXCAX = 'RC') AND (CON.TIPCON = 'R') AND ((:QUITES <> 'S')
> OR (CON.VALPAG >= CON.VALVEN))
> INTO
> :LOJCAX, :FATCAX, :FUNCAX, :CLICAX, :DATEMI, :DATVEN, :DATCAX,
> :TITULO, :TIPDOC, :VENCAX, :FPGCAX, :VALCAX, :JURCAX, :ATRASO DO
> BEGIN
> TIPCAX = 'PRE';
> SUSPEND;
> END
> END^
>
> SET TERM ; ^
>
> GRANT EXECUTE ON PROCEDURE SP_FORMAS_PGMTO_CAIXA TO PROCEDURE
> SP_RECEBIDO_CLIENTE;
>
> GRANT SELECT ON FAT TO PROCEDURE SP_RECEBIDO_CLIENTE;
>
> GRANT SELECT ON FPG TO PROCEDURE SP_RECEBIDO_CLIENTE;
>
> GRANT SELECT ON CON TO PROCEDURE SP_RECEBIDO_CLIENTE;
>
> GRANT EXECUTE ON PROCEDURE SP_RECEBIDO_CLIENTE TO SYSDBA;
>
> O que acontece é que ele funcionava ate ontem e hoje esta retornando este
> erro:
>
> Arithmetic overflow or division by zero has occurred.
> arithmetic exception, numeric overflow, or string truncation.
> string right truncation.
> At procedure 'SP_RECEBIDO_CLIENTE' line: 52, col: 9.
>
> Se alguem poder me dar uma luz....é um relatorio de tituloas recebidos
> então
> estão me matando...
>
> --
> Levy Moreira
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista