Veja se literals está true, mude para false;
Pode ser a quebra de linhas.
[]´s

--- Em delphi-br@yahoogrupos.com.br, Berdam <[EMAIL PROTECTED]> escreveu
>
> 
> Galera, estou com um erro muito estranho, tenho uma atualizador, 
que possui a base de dados contendo as atualizações, nele tenho 
algumas alterações de procedures, campos,tabelas do banco de dados do 
cliente. 
> Quando executo o atualizador ele percorre a base de atualizações, e 
executa os scripts na base de dados da empresa, este problema só está 
ocorrendo quando crio ou atualizo uma procedure.
> Quando executo a alteração de procedure uma exceção é lançada, na
> exceção eu pego o comando SQL e insiro no ibexpert e ele passa sem
> problemas. 
> 
> Abaixo em negrito segue a exceção, claro que eu
> retiro os caracteres que fazem parte da exceção e executo apenas o 
SQL,
> fazendo isso no ibexpert funciona, já no atualizador não. Repetindo 
que somente ocorre isso na atualização das stored procedures, as 
outras atualizações correm normalmente.
> 
> A exceção ocorre no primeiro select, "CAUSA : Token unknown - line 
40, column 8
> 
> 
> ?", mas colocando no ibexpert, nenhum erro aparece.
> 
> 
> 
> Alguém possui alguma explicação plausível para isso????
> 
> 
> ---------------------------
> Warning
> ---------------------------
> Não foi possível a inclusão/alteração do comando:
> 1019:ALTER PROCEDURE COTFICHA_FORNECEDOR (
>     IN_COTACAO CHAR(10),
>     IN_COD_EMPRESA CHAR(6))
> AS
> declare variable var_contafichaserv smallint;
> declare variable var_codfornecedor char(5);
> declare variable var_contafichaprod smallint;
> declare variable var_coditem varchar(20);
> declare variable var_sequencia smallint;
> declare variable var_quantidade double precision;
> declare variable var_servico varchar(40);
> declare variable var_total smallint;
> declare variable var_contap smallint;
> declare variable var_contas smallint;
> declare variable var_seqfornecedor smallint;
> declare variable var_contador integer;
> declare variable var_numfornecedor smallint;
> declare variable var_nfichaspreenchidas smallint;
> declare variable var_achoufichaforn smallint;
> begin
>   /*----------------------------------------------------------------
------------
>   - Essa SP verifica se o fornecedor já tem a respectiva ficha de 
Cotação      -
>   - gerada. Se ainda não existir, o sistema preenche 
automaticamente           -
> 
>     Versão: 1.0.3
> 
>   ------------------------------------------------------------------
----------*/
> 
>   var_contafichaprod = 0;
>   var_contafichaserv = 0;
>   var_contap = 0;
>   var_contas = 0;
>   var_contador = 0;
>   var_numfornecedor = 0;
> 
>   /* Verifica o número de fornecedores e registra as fichas de
>  cabeçalho */
> 
>   select count(z.cd_empresa)
>   from cotacao_fornece z
>   where (z.codigo = :in_cotacao) and (z.cd_empresa 
= :in_cod_empresa)
>   into :var_numfornecedor;
> 
>   select count(x.cd_empresa)
>   from
>  cotacao_fornecedor_header x
>   where (x.codigo = :in_cotacao) and (x.cd_empresa 
= :in_cod_empresa)
>   into :var_nfichaspreenchidas;
> 
> 
>   if (var_numfornecedor > var_nfichaspreenchidas) then
>   begin
>     for select m.cd_fornece, m.seq_fornece
>     from cotacao_fornece m
>     where (m.codigo = :in_cotacao) and (m.cd_empresa 
= :in_cod_empresa)
>     into :var_codfornecedor, :var_seqfornecedor
>     do begin
>        select count(n.codigo)
>        from
>  cotacao_fornecedor_header n
>        where (n.cd_fornece = :var_codfornecedor) and
>              (n.seq_fornece = :var_seqfornecedor) and
>              (n.cd_empresa = :in_cod_empresa) and (n.codigo 
= :in_cotacao)
>        into :var_achoufichaforn;
> 
>        if (var_achoufichaforn = 0) then
>        begin
>          insert into cotacao_fornecedor_header  (codigo, 
cd_empresa, cd_fornece,
>              seq_fornece, valortotal, vlrredespacho, valoreajuste, 
valordesconto)
>             
>  values
>              (:in_cotacao, :in_cod_empresa, :var_codfornecedor,
>               :var_seqfornecedor, 0, 0, 0, 0);
>        end
> 
>     end
>   end
> 
>   -- Conta o número de produtos
>   select count(a.codigo)
>   from cotacao_itens a
>   where (a.codigo = :in_cotacao) and (a.cd_empresa 
= :in_cod_empresa)
>   into :var_contap;
> 
>   -- Conta o número de Serviços
>   select count(b.codigo)
>   from cotacao_servicos b
>   where (b.codigo = :in_cotacao) and (b.cd_empresa 
= :in_cod_empresa)
>   into :var_contas;
> 
>   -- Corrigido em 14-12-07 - Deixa-se de contar os itens dos 
fornecedores
>   -- e passa a contar
>  os itens gerais em servicos e produtos
>   --var_total = var_contafichaprod + var_contafichaserv;
> 
>   var_total = var_contap + var_contas;
> 
>   --Verifica se foram inseridos itens na cotação
> 
>   if (var_total > 0) then
>   begin
>     -- Procura todos os fornecedores listados na cotação
>     for select cf.cd_fornece, cf.seq_fornece
>     from cotacao_fornece cf
>     where (cf.codigo = :in_cotacao) and (cf.cd_empresa 
= :in_cod_empresa)
>     into :var_codfornecedor, :var_seqfornecedor
>     do
>     begin
> 
>       --Conta o número de itens registrados para o forncedor
>       select count(cfi.codigo)
>       from cotacao_fornece_itens cfi
>       where (cfi.codigo = :in_cotacao) and
>             (cfi.cd_empresa = :in_cod_empresa) and
>             (cfi.cd_fornece = :var_codfornecedor) and
>             (cfi.seq_fornece = :var_seqfornecedor)
>       into :var_contafichaprod;
> 
>       -- se a quantidade de itens for menor, ele irá inserir os 
itens faltantes
>       -- para aquele fornecedore
>       if (var_contafichaprod < var_contap) then
>       begin
>         -- localiza todos os itens da cotação e insere todos os 
faltantes
>         for select a.cd_item, a.seq_item, a.quantidade
>           from cotacao_itens a
>           where (a.codigo = :in_cotacao) and (a.cd_empresa 
= :in_cod_empresa)
>           into :var_coditem, :var_sequencia, :var_quantidade
>         do
>         begin
>            select count(b.cd_item)
>            from cotacao_fornece_itens b
>            where (b.codigo = :in_cotacao) and
>                  (b.cd_empresa = :in_cod_empresa) and
>                  (b.cd_fornece = :var_codfornecedor) and
>                  (b.seq_fornece = :var_seqfornecedor) and
>                  (b.cd_item = :var_coditem) and
>                  (b.seq_item =
>  :var_sequencia)
>            into :var_contador;
> 
>            if (var_contador = 0) then
>            begin
>              insert into cotacao_fornece_itens (cd_empresa, codigo, 
cd_fornece,
>                  seq_fornece, cd_item, valor_unit, ipi, valor_ipi, 
valor_total,
>                  seq_item, quantidade, valorfinal, valor_kgm)
>              Values
>                  (:in_cod_empresa, :in_cotacao, :var_codfornecedor,
>                   :var_seqfornecedor, :var_coditem, 0, 0, 0, 0,
>                   :var_sequencia, :var_quantidade, 0, 0);
>            end
>         end
>       end
>       -- Fim do processo de inserção de itens/materiais-------------
------------
>       -- Verifica o número de servicos na cotação-------------------
------------
>       select count(cfs.codigo)
>       from cotacao_fornece_serv cfs
>       where (cfs.codigo = :in_cotacao) and
>             (cfs.cd_empresa = :in_cod_empresa) and
>             (cfs.cd_fornece = :var_codfornecedor) and
>             (cfs.seq_fornece = :var_seqfornecedor)
>       into :var_contafichaserv;
> 
>       if
>  (var_contafichaserv < var_contas) then
>       begin
>         for select cs.seq_item, cs.servico, cs.quantidade
>         from cotacao_servicos cs
>         where (cs.codigo = :in_cotacao) and (cs.cd_empresa 
= :in_cod_empresa)
>         into :var_sequencia,
>  :var_servico, :var_quantidade
>         do
>         begin
>           select count(k.codigo)
>           from cotacao_fornece_serv k
>           where (k.codigo = :in_cotacao) and
>                 (k.cd_empresa = :in_cod_empresa) and
>                 (k.cd_fornece = :var_codfornecedor) and
>                 (k.seq_fornece = :var_seqfornecedor) and
>                 (k.descricao = :var_servico) and
>                 (k.seq_item = :var_sequencia)
>           into :var_contador;
> 
>           if (var_contador = 0) then
>           begin
>             insert
>  into cotacao_fornece_serv (cd_empresa, codigo, cd_fornece,
>                 seq_fornece, valor, seq_item, descricao, quantidade)
>             Values
>                 (:in_cod_empresa, :in_cotacao, :var_codfornecedor,
>                 
>  :var_seqfornecedor, 0, :var_sequencia, :var_servico,
>                  :var_quantidade);
>           end
>         end
>       end
>       --
>  -------------------------------------------------------------------
----
>     end
>   end
> end
> 
> 
> CAUSA : Token unknown - line 40, column 8
> ?
> 
> 
>  Confirmar a Atualização do Parâmetro?
> ---------------------------
> Yes   No   
> ---------------------------
> --------------------------------------------------------------------
--------------------
> Uberdam Cavaletti
> Formado em Tecnologia da Informação - Unoesc - Xxe
> Pós-graduado em desenvolvimento Java - Unoesc - Xxe
> 
>  http://www.curricular.com.br/berdam
> 
> Visite
> http://passandoveneno.blogspot.com
> --------------------------------------------------------------------
--------------------
> 
> 
> 
>       Novos endereços, o Yahoo! que você conhece. Crie um email 
novo com a sua cara @ymail.com ou @rocketmail.com.
> http://br.new.mail.yahoo.com/addresses
> 
> [As partes desta mensagem que não continham texto foram removidas]
>


Responder a