Marcos, segue a SP corrigida e uma alternativa:

==========  SP ORIGINAL CORRIGIDA =================
CREATE PROCEDURE MOSTRA_MERCADORIAS_ARGUMENTOS(
    EMPRESA SMALLINT,
    MERCADORIA CHAR(50))
RETURNS (
    P_DESCITEMMERC CHAR(50),
    P_CDITEMMERC CHAR(20),
    P_SALDOITEMMERC FLOAT,
    P_PRECOUNITMERC FLOAT,  /* AQUI TAVA "double precision" */
    P_UNIDADE CHAR(10))
AS
BEGIN
  FOR SELECT DESCITEMMERC,
         CDITEMMERC,
         SALDOITEMMERC,
         PRECOUNITMERC,
         UNIDADEMERC
  FROM TBMERCEMPRESA
  WHERE CDEMPRESA = :EMPRESA AND
        DESCITEMMERC like RTRIM(:MERCADORIA) AND /* FALTOU TIRAR OS ESPACOS */
        STATUS = 'ATIVO'
  ORDER BY DESCITEMMERC
  INTO :P_DESCITEMMERC,
       :P_CDITEMMERC,
       :P_SALDOITEMMERC,
       :P_PRECOUNITMERC,
       :P_UNIDADE
  DO SUSPEND;
END



==========  SP ALTERNATIVA =================

CREATE PROCEDURE MOSTRA_MERCADORIAS_ARGUMENTOS (
    EMPRESA SMALLINT,
    MERCADORIA CHAR(50))
RETURNS (
    P_DESCITEMMERC CHAR(50),
    P_CDITEMMERC CHAR(20),
    P_SALDOITEMMERC FLOAT,
    P_PRECOUNITMERC FLOAT,
    P_UNIDADE CHAR(10))
AS
DECLARE VARIABLE SQL VARCHAR(512);
BEGIN
  SQL = 'SELECT DESCITEMMERC, CDITEMMERC, SALDOITEMMERC,
PRECOUNITMERC, UNIDADEMERC';
  SQL = :SQL || ' FROM TBMERCEMPRESA';
  SQL = :SQL || ' WHERE CDEMPRESA = ' || :EMPRESA;
  SQL = :SQL || ' AND DESCITEMMERC LIKE ''' || RTRIM(:MERCADORIA) || '''';
  SQL = :SQL || ' AND STATUS = ''ATIVO''';
  SQL = :SQL || ' ORDER BY DESCITEMMERC';
  FOR EXECUTE statement :SQL
  INTO :P_DESCITEMMERC,
       :P_CDITEMMERC,
       :P_SALDOITEMMERC,
       :P_PRECOUNITMERC,
       :P_UNIDADE
  DO SUSPEND;
END

Alencar
---------------------------------------
    Philler Informatica Ltda
    Jose Alencar Philereno
         ICQ 13458351
Messenger/Skype (voz): alencar

"Feliz aquele que transfere o que sabe
e aprende o que ensina" Cora Coralina


-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a