[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