[firebase-br] Ajuda SP

Michelle - House michelle em housesoft.com.br
Qui Abr 14 19:09:04 -03 2005


Olá,


Estou começando a trabalhar agora com SP, e estou com um probleminha,
construi a procedure abaixo

Criei sem problemas mas qdo tento executá-la me retorna o seguinte erro:

Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, char 36.
FROM.

Será que alguém poderia me ajudar a encontrar onde está o erro que cometi.

Desde já agradeço ajuda.

Michelle


CREATE PROCEDURE REL_BAL_SEMESTRAL
(
  DATAINI    DATE,
  DATAFIM    DATE,
  COMPENSADO INTEGER,
  EMP        VARCHAR(2),
  CONTROLE   INTEGER,
  NUM_MESES  INTEGER
)
AS
 DECLARE VARIABLE SWHERE        VARCHAR(200);
 DECLARE VARIABLE SQL               VARCHAR(200);
 DECLARE VARIABLE CONTADOR    INTEGER;
 DECLARE VARIABLE NCOUNT        INTEGER;
 DECLARE VARIABLE SCC           VARCHAR(50);
 DECLARE VARIABLE SCODCONTA     VARCHAR(50);
 DECLARE VARIABLE SCODSUBCONTA  VARCHAR(50);
 DECLARE VARIABLE SENTSAI       VARCHAR(20);
BEGIN
  IF (COMPENSADO = 1) THEN
     SWHERE = 'WHERE DATPAG BETWEEN :DATAINI AND :DATAFIM AND COMPENSADO = 1
AND EMP = :EMP';
  ELSE IF (COMPENSADO = 0) THEN
     SWHERE = 'WHERE DATVEN BETWEEN :DATAINI AND :DATAFIM AND COMPENSADO = 0
AND EMP = :EMP';
  /* (COMPENSADO = 2) VER DEPOIS QDO FOR */
  SQL = 'SELECT COUNT(DISTINCT(CODSUBCONTA) FROM LANC_FINAN' || SWHERE;
  EXECUTE STATEMENT :SQL
  INTO :NCOUNT;
  SQL = 'SELECT DISTINCT(CODSUBCONTA), CODCONTA, ENTSAI FROM LANC_FINAN ' ||
SWHERE;
  CONTADOR = 1;
  WHILE (CONTADOR <= NCOUNT) DO
  BEGIN
    FOR EXECUTE STATEMENT :SQL
    INTO :SCODSUBCONTA, :SCODCONTA, :SENTSAI
    DO
    BEGIN
        EXECUTE PROCEDURE INS_CC_REL_SEMESTRAL
        (:SCODCONTA ,  :SCODSUBCONTA ,  :SENTSAI, :DATAINI,
         :DATAFIM,     :COMPENSADO , :EMP ,  :NUM_MESES, :CONTROLE);
    END
    CONTADOR = CONTADOR + 1;
  END
END


Mais detalhes sobre a lista de discussão lista