PROBLEMA SP

DIOGOMUNARIN 29/08/2007 11:48:56
#233218
Glera estou com problema na SP e nao consigo saber o q eh, o bd é FB, tenho uma tabela de cheques da empresa, e qdo pago uma conta com o cheque eu gravo o ID do cheque na conta, so q o problema eh q eu tenho mas de uma tabela de contas. PAGAR e COMISSAO, estao faço a verificaçao nas duas, para saber quais estao com ID do cheque. Meu problema é q ele so tras as contas pagas na primeira tabela PAGAR, os da COMISSAO ele nao encontra. a SP ta ae abaixo:
begin
/* FAZ O SELECT NA PRIMEIRA TABELA */
for Select P.ID, P.DOC, C.CONTA, P.DESCRICAO, P.VALOR, P.VENCIMENTO
From PAGAR P INNER JOIN PLANOCONTA C ON C.ID = P.REG_PLANO
where P.REG_CHEQUE = :IDCHEQUE
into :id, :doc, :conta, :descricao, :valor, :vencimento
do
if (:id is not null) then
suspend;
else
begin
/* FAZ O SELECT NA SEGUNDA TABELA */
for Select P.ID, C.CONTA, P.VALOR, P.DATA
From COMISSAO P INNER JOIN PLANOCONTA C ON C.ID = P.reg_plano
where P.REG_CHEQUE = :IDCHEQUE
into :id, :conta, :valor, :vencimento
do
descricao = 'COMISSAO';
doc = :id;
if (:id is not null) Then
suspend;
...
DIOGOMUNARIN 30/08/2007 12:05:59
#233404
ninguem?
WHELLNET 30/08/2007 12:38:15
#233409
Resposta escolhida
Bom, trocamos ideias no msn assim como o Matioli me deu uma dicas, mas o resultado final da sp fico assim:

CREATE PROCEDURE GET_CHEQUE_EMP2 (
IDCHEQUE INTEGER)
RETURNS (
ID INTEGER,
DOC VARCHAR(40),
CONTA VARCHAR(35),
DESCRICAO VARCHAR(40),
VALOR NUMERIC(9,2),
VENCIMENTO DATE)
AS
begin
/* FAZ O SELECT NA PRIMEIRA TABELA */
for Select P.ID, P.DOC, C.CONTA, P.DESCRICAO, P.VALOR, P.VENCIMENTO
From PAGAR P INNER JOIN PLANOCONTA C ON C.ID = P.REG_PLANO
where P.REG_CHEQUE = :IDCHEQUE
into :id, :doc, :conta, :descricao, :valor, :vencimento
do
suspend;
/* FAZ O SELECT NA SEGUNDA TABELA */
begin
descricao = 'comissao';
for Select P.ID, C.CONTA, P.VALOR, P.DATA
From COMISSAO P INNER JOIN PLANOCONTA C ON C.ID = P.reg_plano
where P.REG_CHEQUE = :IDCHEQUE
into :id, :conta, :valor, :vencimento
do
suspend;
begin
descricao = 'folha';
/* FAZ O SELECT NA TERCEIRA TABELA */
for Select P.ID, C.CONTA, P.TOTAL_GERAL, P.DATA
From folha_pgto P INNER JOIN PLANOCONTA C ON C.ID = P.reg_conta
where P.REG_CHEQUE = :IDCHEQUE
into :id, :conta, :valor, :vencimento
do
suspend;
end
end
end

Tópico encerrado , respostas não são mais permitidas