Fórum Erro ao compilar Stored Procedure #47118

30/09/2004

0

Amigos,

Estou querendo criar a trigger abaixo... Minha ideia é:
Eu passo os parametros, ela verifica se existe uma determinada solicitação. Se nao existir, ela cria a solicitacao e lanca o produto, se existir a solicitacao ela apenas lanca o produto.

O erro que está dando é o seguinte:

fmCompile.quCompile:
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
Dynamic SQL Error.
expression evaluation not supported.


Estou usando FB 1.5
E a ferramenta EMS para ajuda no desenvolvimento...

Alguem sabe que erro é esse??


CREATE PROCEDURE LANCARPENDENCIA (
    ZNEWIDMOVIMENTACAO INTEGER,
    ZNEWIDPRODUTO INTEGER,
    ZNEWQTDMOVIMENTACAO FLOAT,
    ZNEWIDSETOR INTEGER,
    ZNEWIDFUNCIONARIOSOLICITA INTEGER)
AS
DECLARE VARIABLE ZRESULTADO INTEGER;
DECLARE VARIABLE ZGENIDMOVIMENTACAO INTEGER;
BEGIN
  /*CRIAR INDICE EM NUMDOC - VER SE É POSSIVEL*/


  SELECT FIRST 1 IDMOVIMENTACAO FROM MOVIMENTACAO WHERE NUMDOCMOV = ´PEND/´+:ZNEWIDMOVIMENTACAO INTO :ZRESULTADO;

  IF (ZRESULTADO IS NOT NULL) THEN
  BEGIN /* SE NAO FOR NULO, JÁ EXISTE A NOVA SOLICITACAO, ELE VAI INSERIR OS ITENS */

    INSERT INTO ITEMMOVIMENTACAO (IDITEMMOVIMENTACAO, IDMOVIMENTACAO, IDPRODUTO, QTDMOVIMENTACAO) VALUES
    (GEN_ID(GEN_ITEMMOVIMENTACAO,1), :ZRESULTADO, :ZNEWIDPRODUTO, :ZNEWQTDMOVIMENTACAO);

  END
  ELSE
  BEGIN /* SE NAO FOR NULO ELE VAI CRIAR UMA NOVA SOLICITACAO */

    ZGENIDMOVIMENTACAO = GEN_ID(GEN_IDMOVIMENTACAO,1);

    INSERT INTO MOVIMENTACAO (IDMOVIMENTACAO, TIPOMOVIMENTACAO, SITUACAO, DATAMOVIMENTACAO, NUMDOCMOV, IDSETOR, IDFUNCIONARIOSOLICITA) VALUES
    (:ZGENIDMOVIMENTACAO, ´S´, ´AB´, ´NOW´, ´PEND/´+:ZNEWIDMOVIMENTACAO, :ZNEWIDSETOR, :ZNEWIDFUNCIONARIOSOLICITA);

    INSERT INTO ITEMMOVIMENTACAO (IDITEMMOVIMENTACAO, IDMOVIMENTACAO, IDPRODUTO, QTDMOVIMENTACAO) VALUES
    (GEN_ID(GEN_ITEMMOVIMENTACAO,1), :ZGENIDMOVIMENTACAO, :ZNEWIDPRODUTO, :ZNEWQTDMOVIMENTACAO);

  END

END



Rafaelunp

Rafaelunp

Responder

Posts

30/09/2004

Vinicius2k

Colega,

O operador de concatenação do FB não é o [b:bc24b92fa1]´+´[/b:bc24b92fa1] é [b:bc24b92fa1]´||´[/b:bc24b92fa1]
Reveja seu código, substituindo pelo operador correto as instruções onde vc chama: [b:bc24b92fa1]´PEND/´+´[/b:bc24b92fa1].

Num primeiro momento este é o único erro (de sintaxe) que percebo...

T+


Responder

Gostei + 0

01/10/2004

Rafaelunp

Colega, O operador de concatenação do FB não é o [b:d3a78d439b]´+´[/b:d3a78d439b] é [b:d3a78d439b]´||´[/b:d3a78d439b] Reveja seu código, substituindo pelo operador correto as instruções onde vc chama: [b:d3a78d439b]´PEND/´+´[/b:d3a78d439b]. Num primeiro momento este é o único erro (de sintaxe) que percebo... T+


Era isso mesmo!!
Mais uma vez, Valew Vinicius...


Responder

Gostei + 0

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

Aceitar