Poderia me explicar melhor como funcionaria essa procedure? oque é
esse  parametro in e out? e a questão de retorno? eu preciso
retornar o valor nrlancto.



--- Em oracle_br@yahoogrupos.com.br, Valtemir Araujo de Lima
<[EMAIL PROTECTED]> escreveu
>
> funcao em select nao insere/altera/deleta
> transforme em uma procedure com parametros in e out
>
> -----Mensagem original-----
> De: Gabriel Herdt [mailto:[EMAIL PROTECTED]
> Enviada em: sexta-feira, 28 de abril de 2006 11:19
> Para: oracle_br@yahoogrupos.com.br
> Assunto: [oracle_br] Função que não funciona! porque?
>
>
> Qual o erro dessa função? ela não esta retornando o valor e nem
> dando o update e insert.
>
> FUNCTION FN_GRMOVEST
>   ( PR_EMPRES IN NUMBER,
>     PR_CLIFOR IN NUMBER,
>     PR_PRODUT IN VARCHAR2,
>     PR_ESTMIN IN NUMBER,
>     PR_ESTMAX IN NUMBER,
>     PR_FORPRO IN NUMBER,
>     PR_DTLANC IN DATE,
>     PR_QTDADE IN NUMBER,
>     PR_VLUNIT IN NUMBER,
>     PR_TIPMOV IN NUMBER,
>     PR_ENTSAI IN CHAR,
>     PR_NUMDOC IN NUMBER,
>     PR_UNIARM IN NUMBER,
>     PR_CENCUS IN NUMBER)
>   RETURN  NUMBER IS
>    nESTFIS number;
>    nVlCusto number;
>    nVlCusMed number;
>    nLancto number;
>    nrownum number;
> BEGIN
>     Select (FN_SEMOES(PR_EMPRES))NR_LANCTO Into nLancto From dual;
>
>     Select rownum, VL_ESTFIS, VL_CUSTO, VL_CUSMED INTO nrownum,
> nESTFIS, nVlCusto, nVlCusMed
>     FROM CEESTPRO
>     WHERE CD_EMPRES = PR_EMPRES AND CH_PRODUT = PR_PRODUT
>     AND CD_UNIARM = PR_UNIARM;
>
>     IF PR_ENTSAI = 'S' THEN
>         nESTFIS := (nESTFIS - PR_QTDADE);
>
>         UPDATE CEESTPRO SET
>         VL_ESTFIS = nESTFIS
>         WHERE CD_EMPRES = PR_EMPRES AND CH_PRODUT = PR_PRODUT
>         AND CD_UNIARM = PR_UNIARM;
>
>     ELSIF PR_ENTSAI = 'E' THEN
>         nESTFIS := (nESTFIS + PR_QTDADE);
>
>         UPDATE CEESTPRO SET
>         VL_ESTFIS = nESTFIS
>         WHERE CD_EMPRES = PR_EMPRES AND CH_PRODUT = PR_PRODUT
>         AND CD_UNIARM = PR_UNIARM;
>
>     ELSIF nrownum = '' THEN
>
>         Insert into CEESTPRO
>         (CD_EMPRES, CH_PRODUT, CD_UNIARM, VL_ESTFIS,
>         VL_ESTMIN, VL_CUSMED, VL_ESTMAX, VL_CUSTO)
>         VALUES
>         (PR_EMPRES, PR_PRODUT, PR_UNIARM, nESTFIS, PR_ESTMIN,
>         nVlCusMed ,PR_ESTMAX, nVlCusto);
>
> END IF;
>    
>     Insert into CEMOVIME
>     (CD_EMPRES, DT_LANCTO, CD_CLIFOR, CD_TIPMOV, NR_LANCTO,
> CH_PRODUT,
>      CD_FORPRO, NR_QTDADE, VL_UNITAR, NR_DOCTO, NR_FISATU,
VL_CUSMED,
>      VL_CUSTO, CD_UNIARM, CD_CUSTO)
>     VALUES
>     (PR_EMPRES, PR_DTLANC, PR_CLIFOR, PR_TIPMOV, nLancto,
PR_PRODUT,
>      PR_FORPRO, PR_QTDADE, PR_VLUNIT, PR_NUMDOC, nESTFIS,
nVlCusMed,
>      nVlCusto, PR_UNIARM, PR_CENCUS);
>     RETURN nLancto;
> END;
>
> Select fn_grmovest(1,1,'102',50,100,1,TO_DATE('28-04-
> 2006'),5,100,1,'E',99,1,1) from dual
>
>
>
>
>
>
>
>
>
>
>
> -------------------------------------------------------------------
---------
> ----------------------------------------------
> Atenção! As mensagens deste grupo são de acesso público e de
inteira
> responsabilidade de seus remetentes.
> Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
> -------------------------------------------------------------------
---------
> ----------------------------------------------
______________________________
> ____________________________________
>
> Este Grupo recebe o apoio da SQL Magazine -
www.devmedia.com.br/sqlmagazine
> __________________________________________________________________
> O grupo Oracle_br não aceita anexos. Quando oferecer algum
arquivo, tenha o
> link do mesmo para evitar trafego(pedidos) desnecessário.
> Links do Yahoo! Grupos
>






--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário.



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDAD


Links do Yahoo! Grupos

Responder a