[firebase-br] Fw: RES: Fw: RES: Adaptar PROCEDURE

Eduardo Jedliczka edujed em gmail.com
Qui Jul 28 18:19:50 -03 2011


Faça um teste simples (sem procedure mesmo):

SELECT CONTA, SUM(COALESCE(VL_RECEBER,0)) as vl_receber,
SUM(COALESCE(VL_PAGAR,0)) as vl_pagar
FROM  CONTAS
WHERE DT_VCTO BETWEEN :dataini and :datafin
Group by Conta

e veja se resolve o seu problema.

==========================
Eduardo Jedliczka
Apucarana - Pr
==========================




Em 28 de julho de 2011 18:07, Luiz Carlos <lcarlos2000 em bol.com.br> escreveu:
> Consegui criar a procedure cfe abaixo. agora vou ver se consigo chama-la
> pelo DELPHI:
>
> SET TERM ^ ;
>
> CREATE PROCEDURE SP_SUMTIPO (
>   dataini date,
>   datafin date)
> returns (
>   total numeric(15,2))
> as
> begin
> FOR SELECT SUM(COALESCE(VL_RECEBER,0)) - SUM(COALESCE(VL_PAGAR,0)) FROM
>  CONTAS
>  where dt_vcto between :dataini and :datafin
>  and CONTA = 'PENDENTE'
>  into :total do
> begin
>
>  suspend;
> end
> end^
>
> Grato
>
> Luiz Carlos
> ----- Original Message ----- From: Luiz Carlos
> To: FireBase
> Sent: Thursday, July 28, 2011 4:53 PM
> Subject: [firebase-br] Fw: RES: Fw: RES: Adaptar PROCEDURE
>
>
>
> Oliveira,
>
> Esses codigos que vc colocou abaixo é para criar 2 PROCEDURES? depois chamar
> as 2 pelo delphi para fazer o calculo do saldo? desculpe se a pergunda é
> boba mas não entendo bem dessa parte de STORED PROCEDURE.
>
> Grato
>
> Luiz Carlos
> ----- Original Message ----- From: Oliveira, José Augusto Siqueira de
> To: 'FireBase'
> Sent: Thursday, July 28, 2011 1:11 PM
> Subject: [firebase-br] RES: Fw: RES: Adaptar PROCEDURE
>
>
> Cara, nesse caso você poderia fazer num procedimento os SQL tipo
>
>  SELECT
>    SUM(VL_RECEBER)
>  FROM
>    CONTAS
>  WHERE
>    DT_VCTO BETWEEN :dataini and :datafin
>  AND
>    CONTA = 'REC'
>  INTO
>   :TOTAL_RECEBER
>
>  SELECT
>    SUM(VL_PAGAR)
>  FROM
>    CONTAS
>  WHERE
>    DT_VCTO BETWEEN :dataini and :datafin
>  AND
>    CONTA = 'PAG'
>  INTO
>   :TOTAL_PAGAR
>
> SALDO = (TOTAL_RECEBER - TOTAL_PAGAR);
>
> Lembrando que pelo que entendi, esse procedimento vai retornar
> somente uma linha com os valores total_receber e total_pagar e saldo, ou
> seja, não a necessidade de se usar um for select, pois ela e apenas uma
> linha de retorno, acho que seria mais ou menos algo assim. Se é que entendi
> bem.
>
> Oliveira, José Augusto Siqueira de
> Sivolc  Móveis e Complementos
> (32) 3531-4677
> contabil em sivolc.ind.br
>
> "Aviso de confidencialidade profissional" - Esta mensagem eletrônica e seus
> anexos são destinados exclusivamente ao(s) destinatário(s) acima e podem
> conter informações confidenciais sujeitas a restrição legal de comunicação
> entre as partes. Caso tenha recebido esta mensagem por engano, fica V.Sa.
> ciente de que a distribuição, divulgação ou disseminação das informações
> aqui contidas ou anexadas é terminantemente proibida, sujeitando o
> responsável às penalidades aplicáveis. Assim, solicitamos a gentileza de
> retorná-la de imediato ao remetente, eliminando-a definitivamente de seu
> sistema. Em caso de dúvida, queira por favor entrar em contato conosco."
>
> "Confidentiality notice" - This message and its attachments are addressed
> solely to the persons above and may contain privileged and confidential
> communication. If you have received the message in error, the distribution
> or dissemination of the content hereof is prohibited. Please return it
> immediately to the sender and please delete the message from your system on
> a permanent basis. Should you have any questions, please contact."
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
> nome de Luiz Carlos
> Enviada em: quinta-feira, 28 de julho de 2011 11:37
> Para: FireBase
> Assunto: [firebase-br] Fw: RES: Adaptar PROCEDURE
>
> Olá Andre,
>
> O que quero é o seguinte, tenho um campo do tipo DATE (DT_VCTO), 2 campos do
>
> tipo numeric(15,2), VL_PAGAR e VL_RECBER e outro campo do tipo VARCHAR
> (CONTA), onde gravo o status da conta, Conta a pagar é igual a 'PAG' e conta
>
> a receber é igual a 'REC'.
>
> O que preciso é pegar por exemplo o saldo das contas a pagar(VL_PAGAR) e a
> receber(VL_RECEBER) que  vencem(DT_VCTO) entre os dias 01/08/2011 e
> 10/08/2011 que estão em aberto, ou seja, cujo campo CONTA seja igual a 'PAG'
>
> ou a 'REC'. Não sei se deu para entender.
>
> Grato
>
> Luiz Carlos
>
> ----- Original Message ----- From: andre conrado
> To: FireBase
> Sent: Thursday, July 28, 2011 10:27 AM
> Subject: Re: [firebase-br] RES: Adaptar PROCEDURE
>
>
> Bom dia Luiz!
>
> Teu questionamento está confuso. Tens 2 campos (VL_RECEBER e VL_PAGAR) e
> agora quer separar por tipo de conta? Esses valores já não estão separados
> nos campos?
>
> Talvez o que você queira é totalizar os valores baixados e à baixar. Por
> acaso não seria isto?
>
> abçs.
>
>
> Em 28 de julho de 2011 08:48, Oliveira, José Augusto Siqueira de <
> contabil em sivolc.ind.br> escreveu:
>
>> Luiz, não sei se entendi bem o seu caso, mais se você gostaria de colocar
>> uma restrição para o calculo do saldo para isso você teria que fazer um
>> select do campo VL_RECEBER, VL_PAGAR sem fazer o calculo no campo do SQL,
>> e
>> fazer uma condição para efetuar o calculo dentro do For, e colocar uma
>> condição para fazer o calculo dentro do procedure.
>>
>> SET TERM ^ ;
>>
>> CREATE OR ALTER PROCEDURE SP_SUMCONTAS (
>>   dataini date,
>>   datafin date)
>> returns (
>>   total numeric(15,2))
>> as
>> begin
>>  FOR SELECT
>>     VL_RECEBER,
>>    VL_PAGAR
>>  FROM
>>    CONTAS
>>  WHERE
>>    DT_VCTO BETWEEN :dataini and :datafin
>>  INTO:
>>    total
>>  DO
>>     IF (CONTA = 'PAG') then
>>       "faça o calculo";
>>    Suspend;
>>  END
>> end^
>>
>> Seria algo assim.
>>
>> Oliveira, José Augusto Siqueira de
>> Sivolc  Móveis e Complementos
>> (32) 3531-4677
>> contabil em sivolc.ind.br
>>
>> "Aviso de confidencialidade profissional" - Esta mensagem eletrônica e
>> seus
>> anexos são destinados exclusivamente ao(s) destinatário(s) acima e podem
>> conter informações confidenciais sujeitas a restrição legal de comunicação
>> entre as partes. Caso tenha recebido esta mensagem por engano, fica V.Sa.
>> ciente de que a distribuição, divulgação ou disseminação das informações
>> aqui contidas ou anexadas é terminantemente proibida, sujeitando o
>> responsável às penalidades aplicáveis. Assim, solicitamos a gentileza de
>> retorná-la de imediato ao remetente, eliminando-a definitivamente de seu
>> sistema. Em caso de dúvida, queira por favor entrar em contato conosco."
>>
>> "Confidentiality notice" - This message and its attachments are addressed
>> solely to the persons above and may contain privileged and confidential
>> communication. If you have received the message in error, the distribution
>> or dissemination of the content hereof is prohibited. Please return it
>> immediately to the sender and please delete the message from your system
>> on
>> a permanent basis. Should you have any questions, please contact."
>>
>>
>> -----Mensagem original-----
>> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br]
>> Em
>> nome de Luiz Carlos
>> Enviada em: quarta-feira, 27 de julho de 2011 22:49
>> Para: FireBase
>> Assunto: [firebase-br] Adaptar PROCEDURE
>>
>> Olá,
>>
>> Tenho uma procedure que uso para retornar o saldo em um intervalo de dias
>> de
>>
>> um programa de contas a pagar e receber, cfe. abaixo. Como faço para
>> alterar
>>
>> essa PROCEDURE para incluir alem da pesquisa entre datas uma pesquisa em
>> um
>> campo do tipo VARCHAR, por exemplo: retornar o saldo entre os dias
>> 01/08/2011 e 10/08/2011 qdo o campo CONTA (VARCHAR) for igual a 'PAG' ou a
>> 'REC'?
>>
>> SET TERM ^ ;
>>
>> CREATE OR ALTER PROCEDURE SP_SUMCONTAS (
>>   dataini date,
>>   datafin date)
>> returns (
>>   total numeric(15,2))
>> as
>> begin
>>  FOR SELECT SUM(COALESCE(VL_RECEBER,0)) - SUM(COALESCE(VL_PAGAR,0)) FROM
>>  CONTAS
>>  WHERE DT_VCTO BETWEEN :dataini and :datafin
>>  INTO:total DO
>>  begin
>>
>>  suspend;
>>  end
>> end^
>>
>> Grato
>>
>> Luiz Carlos
>>
>>
>> ______________________________________________
>> 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
>>
>> __________ Informação do ESET NOD32 Antivirus, versão da vacina 6330
>> (20110727) __________
>>
>> A mensagem foi verificada pelo  ESET NOD32 Antivirus.
>>
>> http://www.eset.com
>>
>>
>>
>>
>> __________ Informação do ESET NOD32 Antivirus, versão da vacina 6330
>> (20110727) __________
>>
>> A mensagem foi verificada pelo  ESET NOD32 Antivirus.
>>
>> http://www.eset.com
>>
>>
>>
>> __________ Informação do ESET NOD32 Antivirus, versão da vacina 6330
>> (20110727) __________
>>
>> A mensagem foi verificada pelo  ESET NOD32 Antivirus.
>>
>> http://www.eset.com
>>
>>
>>
>> ______________________________________________
>> 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
>>
>
>
>
> --
> Um Abraço,
> André Conrado.
>
> 055 21 9176-7013 - Claro
> ______________________________________________
> 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
>
>
> ______________________________________________
> 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
>
> __________ Informação do ESET NOD32 Antivirus, versão da vacina 6331
> (20110728) __________
>
> A mensagem foi verificada pelo  ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
>
> __________ Informação do ESET NOD32 Antivirus, versão da vacina 6331
> (20110728) __________
>
> A mensagem foi verificada pelo  ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
> __________ Informação do ESET NOD32 Antivirus, versão da vacina 6331
> (20110728) __________
>
> A mensagem foi verificada pelo  ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
>
> ______________________________________________
> 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
>
>
> ______________________________________________
> 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
>
> ______________________________________________
> 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