[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