[firebase-br] Estorno ***de loucos***

Isael Faria Junior isael em stetika.com.br
Qui Ago 21 09:16:31 -03 2008


você so consegue rodar uma vez essa rotina ? ou Ela só executa para o 
primeiro registro ?

Mrio Reis escreveu:
> Bom dia,
>
> Estou há horas a tentar implementar o "Estorno de uma operação financeira"
> coisa que é termo conceptuais é muito simples. Temos uma ou várias linhas
> com indicação de "pagas" por erro que afinal não estão e é preciso corrigir.
> O fisco exige e até por razões de transparencia da propria
> empresa/associação etc que se não se apaguem linhas mas, antes, que repitam
> as mesmas linhas cada uma com os Valores *-1 uma, e que a mesma se repita
> c/sinal positivo mas agora sem por exemplo Data de pagamento, N.º de Recibo
> e N.ºOperação(controla todos os registos de uma transacção) e estou a fazer
> assim
>
> FOR SELECT  CB1.COBRANCA_ID, CB1.VALOR_PG, CB1.VALOR_IVA, CB1.VALOR_DISC,
> CB1.DT_PG_EFECTIVO, CB1.NORECIBO, CB1.NOOPERACAO
> FROM COBRANCAS CB1
> WHERE CB1.DT_PG_EFECTIVO=:IN_DT_PG_EFT AND CB1.CLIENTE_ID=:IN_CLI_ID
> INTO :WCOBRANCA_ID, :WVLR_PG, :WVLR_IVA, :WVLR_DISC, :WDT_PG_EFECTIVO,
> :WNORECIBO,:NOOPERACAO
> DO
>  BEGIN
>    /*      1. NEGATIVAR VALORES */
>   WVLR_PG=WVLR_PG*-1;
>   WVLR_IVA=WVLR_IVA*-1;
>   WVLR_DISC=WVLR_DISC*-1;
>  /* 2.  NOTA: NO MESMO FICHEIRO */
>   /* 2.1 ---------------------------------------> INSERE UMA LINHA NEGATIVA 
> */
>  INSERT INTO COBRANCAS
> (COBRANCA_ID, VALOR_PG, VALOR_IVA, VALOR_DISC, DT_PG_EFECTIVO,
> NORECIBO,NOOPERACAO)
>   VALUES(:WCOBRANCA_ID, :WVLR_PG, :WVLR_IVA, :WVLR_DISC, :WDT_PG_EFECTIVO,
> ORECIBO,:WNOOPERACAO);
>    /*     2.2 POSITIVAR VALORES DA MESMA LINHA E RE-INSERI-LOS*/
>    /* C/CONTROLOS DO PAGAMENTO A NULL INDICANDO O S/NÃO PAGAMENTO  */
>     WDT_PG_EFECTIVO=NULL;
>     WNORECIBO=NULL
>     WNOOPERACAO=NULL
>    WVLR_PG=WVLR_PG*-1;
>    WVLR_IVA=WVLR_IVA*-1;
>    WVLR_DISC=WVLR_DISC*-1;
>    /* NOTA: AINDA NO MESMO FICHEIRO */
>   /* 2.3------------------------------------------>INSERE UMA LINHA POSITIVA 
> MAS, NÃO PAGA  */
>   INSERT INTO COBRANCAS
> (COBRANCA_ID, VALOR_PG, VALOR_IVA, VALOR_DISC, DT_PG_EFECTIVO,
> NORECIBO,NOOPERACAO)
>   VALUES(:WCOBRANCA_ID, :WVLR_PG, :WVLR_IVA, :WVLR_DISC, :WDT_PG_EFECTIVO,
> ORECIBO,:WNOOPERACAO);
>
> END
> suspend,
>
> Só consigo uma 1.ª vez o negativar o 1.º insert O que há de errado neste 
> codigo?
> Alguém já passou por isto que possa ajudar.
> Obrigado
>
>
>
>
>
>
>
>
> No virus found in this incoming message.
> Checked by AVG - http://www.avg.com 
> Version: 8.0.138 / Virus Database: 270.6.6/1624 - Release Date: 20/8/2008 19:11
>
>   
> ------------------------------------------------------------------------
>
> ______________________________________________
> 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