Senhores, bom dia. fiz uma function, simples que retorna a soma de um campo conforme parametros passados, mas tem algo me intrigando, vejam a function:
create or replace function fn_valor_nf_aen(v_num_nf in integer, v_cod_empresa in char, v_aen_num in integer) return number is ad_num integer; valor_aen numeric(14,2); begin ad_num := 0; -- 1º Select, retorna parametro para o segundo. select ad_mestre.num_ad into ad_num from ad_mestre where ad_mestre.cod_empresa = v_cod_empresa and ad_mestre.num_nf = to_char(v_num_nf); -- 2º select recebe ad_num do 1º select select sum(ad_aen_4.val_aen) valaen into valor_aen from ad_aen_4 where ad_aen_4.cod_empresa = v_cod_empresa and ad_aen_4.num_ad = ad_num and ad_aen_4.cod_lin_prod||ad_aen_4.cod_lin_recei||ad_aen_4.cod_seg_merc||ad_aen_4.cod_cla_uso = v_aen_num; return valor_aen; end fn_valor_nf_aen; o que tem me deixado de cabelo em pé é o seguinte: dentro da function, o primeiro select não retorna nada, se executado fora da function, ele retorna o dado esperado, uma coisa que notei é que o parametro v_num_nf de entrada é number/integer já na tabela ad_mestre onde ele será usado no where ele é do tipo char(7), por isso faço um to_char no valor do parametro. se executo esse select fora da function e passo um valor char pra esse parametro, ele traz os dados normalmente, já dentro da function ele não retorna nada. O que poderia estar acontecendo?, será que estou errando em alguma coisa, já li e reli isso, e não consegui visualizar um possível erro que eu tenha cometido. grato - - - - - - - - - - - [ ]'s Wilson Ribeiro [EMAIL PROTECTED] "- Use palavras de bom gosto: poderá ter que engolí-las!" _ _ o o Linux v Registered /(_)\ User: # 396848 ^ ^