Fórum Erro na Stored Procedure #37648

27/07/2003

0

Boa noite, colegas do fórum.

Estou tentando compilar uma stored procedure, mas não sei mais onde
está o erro. O interbase retorna a mensagem: Unknown column.
Alguém saberia me dizer onde está a ´mancada´ ?

Segue ela (foi baixada da revista ClubeDelphi 39, mas do jeito que ela foi
baixada, sem mexer em nada, também não está passando):

SET AUTODDL OFF;
SET TERM ^ ;
CREATE PROCEDURE FLUXOCAIXA (DATA_INICIO DATE, DATA_FIM DATE)
RETURNS (DATATRAN DATE, HIST VARCHAR(30), VLR NUMERIC(9,2), TIPO CHAR(1))
AS
DECLARE VARIABLE SALDO_ANT_DEBITO NUMERIC(9,2);
DECLARE VARIABLE SALDO_ANT_CREDITO NUMERIC(9,2);
DECLARE VARIABLE SALDO_FINAL NUMERIC(9,2);

BEGIN

SELECT SUM(VALOR) FROM APAGAR WHERE (DATA < :DATA_INICIO) INTO:SALDO_ANT_DEBITO;

SELECT SUM(VALOR) FROM ARECEBER WHERE (DATA < :DATA_INICIO) INTO:SALDO_ANT_CREDITO;

IF (SALDO_ANT_DEBITO IS NULL) THEN
SALDO_ANT_DEBITO = 0.00;
IF (SALDO_ANT_CREDITO IS NULL) THEN
SALDO_ANT_CREDITO = 0.00;

DATATRAN = DATA_INICIO - 1;
HIST = ´Saldo Anterior´;
VLR = SALDO_ANT_CREDITO - SALDO_ANT_DEBITO;
SALDO_FINAL = VLR;

IF (VLR < 0) THEN
BEGIN
VLR = VLR * -1;
TIPO = ´D´;
END
ELSE
TIPO = ´C´;

SUSPEND;

TIPO = ´D´;

FOR SELECT DATA, HISTORICO, VALOR FROM APAGAR WHERE (DATA BETWEEN :DATA_INICIO AND :DATA_FIM) INTO:DATATRAN,:HIST,:VLR
BEGIN
SALDO_FINAL = SALDO_FINAL - VLR;
SUSPEND;
END

TIPO = ´C´;

FOR SELECT DATA, HISTORICO, VALOR FROM ARECEBER WHERE (DATA BETWEEN :DATA_INICIO AND :DATA_FIM) INTO:DATATRAN,:HIST,:VLR
DO
BEGIN
SALDO_FINAL = SALDO_FINAL + VLR;
SUSPEND;
END

DATATRAN = :DATA_FIM;
HIST = ´Saldo Final´;
VLR = SALDO_FINAL;

if (VLR < 0) then
TIPO = ´D´
ELSE
TIPO = ´C´;

SUSPEND;

END
^
SET TERM ; ^
SET AUTODDL OFF;

Obrigadão e abraço.
Glauco :shock:


Glauco Filoco

Glauco Filoco

Responder

Posts

28/07/2003

Afarias

Aparentemente nenhum erro, entretanto, seria preciso ter o DDL das tabelas envolvidas.

E, qual a mensagem completa do Erro??


T+


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar