[firebase-br] Errror

Edson Marco edmafer em gmail.com
Ter Jul 20 14:19:11 -03 2010


Olha ainda estou trabalhando com o 1.5 então posso estar falando
besteira....

Acontece que quando você executa o comando no ibexpert ele não dá um *fetch
all*... portanto algum dos registros podem estar maiores que os tamanhos
definidos por você na variáveis de retorno... ai quando tu clica para ele
ordenar ele pega todos os registros e faz *"kabum"*

On Tue, Jul 20, 2010 at 2:11 PM, Levy Moreira <levymoreira.ce em gmail.com>wrote:

> Eu executo o seguinte sql no ibexpert e ele me traz o resultado tranquilo:
>
>  execute block
>  returns (CNPJ varchar(14), IE varchar(14), EMISSAO date, UF char(2),
> MODELO
> char(2), SERIE char(3),
>          NUMERO varchar(6), CFOP char(4), EMITENTE char(1), VLNOTA float,
> BASEICMS float, VALORICMS float,
>          ISENTA float, OUTRAS float, ALIQUOTA float, SITUACAO char(1))
> as
>  declare variable VFATUR varchar(7);
>  declare variable VVENDA char(1);
> begin
>  /*/* SAÍDAS  */
>  for
>    select
>      FAT.FATUR,
>      FAT.VENDA,
>      iif(udf_len(udf_digits(CLI.CGCCC)) = 14, UDF_DIGITS(CLI.CGCCC),
> UDF_DIGITS(CLI.CPFCC)),
>      iif(CLI.ESTCC = 'EX', 'ISENTO', UDF_DIGITS(CLI.CGFCC)),
>      FAT.DTEMI,
>      CLI.ESTCC,
>      case
>        when (NFE.PROTOCOLO is not null) then '55'
>        else '01'
>      end MODELO,
>      case
>        when (NFE.PROTOCOLO is not null) then '1'
>        else '   ' -- 'U'
>      end SERIE,
>      substring(FAT.NOTFI from iif(udf_len(FAT.NOTFI) <= 6, 0,
> udf_len(FAT.NOTFI) - 6 ) + 1),
>      UDF_DIGITS(FAT.CFOP),
>      --'P',
>      iif(substring(UDF_DIGITS(FAT.CFOP) from 1 for 1) >= 5, 'P', 'T'),
>      FAT.VLNOT,
>      FAT.IMPNO,
>      FAT.VALIC,
>      FAT.CANCE,
>      udf_rounddec((coalesce(FAT.VALIC, 0)/ (coalesce(FAT.VALNO, 0)-
> coalesce(FAT.VALDE, 0))) * 100, 2)
>
>    from IN01FAT FAT
>    left join IN01NFE NFE on NFE.FATUR = FAT.FATUR and NFE.VENDA = FAT.VENDA
>    left join IN01CLI CLI on CLI.CDCLI = FAT.CDCLI
>    where (FAT.EMITE = 'S') and (FAT.DTEMI between  '01.04.2010' and
> '18.04.2010')
>    and (FAT.SERIE <> 'D' OR FAT.SERIE IS NULL) and (FAT.CFOP is not null
> and trim(FAT.CFOP) <> '')
>    and (FAT.VALNO > 0)
>    into VFATUR, VVENDA, CNPJ, IE, EMISSAO, UF, MODELO, SERIE, NUMERO, CFOP,
> EMITENTE,
>         VLNOTA, BASEICMS, VALORICMS, SITUACAO, ALIQUOTA
>  do
>    begin
>      if (IE = '') then
>        IE = 'ISENTO';
>      suspend;
>    end
> end
>
>
> Mas quando mando ordenar por qualquer campo ele retorna o erro:
> Error Message:
> ----------------------------------------
> Arithmetic overflow or division by zero has occurred.
> arithmetic exception, numeric overflow, or string truncation.
>
>
>
> --
> 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
>



-- 
/*
 * Edson Marco Ferrari Junior
 * edmafer em edmafer.com.br
 * http://www.edmafer.com.br
 */



Mais detalhes sobre a lista de discussão lista