[firebase-br] EXECUTE STATEMENT

Loerci Cardoso Groppo gropinf em terra.com.br
Qua Jun 7 11:00:58 -03 2006


Ola a todos,

Criei uma SP com o comando FOR EXECUTE STATEMENT, porem funcionou enquanto
usava no select ate tres fields a partir do quarto comecou a dar erro, sendo
q a select q pretendo montar tem vinte campos e ira ficar assim:
Sendo q ainda preciso ajustar a clausula where.


CREATE PROCEDURE Q_CTA_RECEBERTESTE
RETURNS (
    PEDIDO_ANOMES CHAR(6),
    PEDIDO_FILIAL SMALLINT,
    PEDIDO_ORDEM SMALLINT,
    NOME_VENDEDOR CHAR(40),
    COD_VENDEDOR SMALLINT,
    NUMERO INTEGER,
    DATA DATE,
    EMISSAO DATE,
    VENCTO DATE,
    DT_PAGTO DATE,
    COD_TP_PAGTO VARCHAR(4),
    TP_PAGTO VARCHAR(15),
    COD_BANCO VARCHAR(5),
    VALOR NUMERIC(15,2),
    COD_CLIENTE INTEGER,
    OBS VARCHAR(200),
    BAIXA DATE,
    RESP_BAIXA VARCHAR(20),
    CHEGOU VARCHAR(1),
    PARCELA SMALLINT,
    VALOR_PAGO NUMERIC(15,2),
    FILIAL SMALLINT,
    NBLOQ NUMERIC(12,1),
    DAC CHAR(1),
    PAGO VARCHAR(1),
    RAZAO VARCHAR(60),
    ENDERECO VARCHAR(50),
    BAIRRO VARCHAR(20),
    CIDADE VARCHAR(25),
    OBS_REST VARCHAR(100),
    TELEFONE VARCHAR(30),
    JUROS NUMERIC(15,2),
    TOTAL NUMERIC(15,2),
    PEDIDO_NUMERO INTEGER,
    DIAS_ATRZ INTEGER,
    NUM_DOC VARCHAR(10),
    NF INTEGER,
    NCHEQ VARCHAR(14))
AS
DECLARE VARIABLE WFIELDS1 VARCHAR(1000);
DECLARE VARIABLE VAR_DTPAGTO DATE;
BEGIN

WFIELDS1='t16.numero,t16.data,t16.emissao,t16.vencimento,t16.pagto,t16.cod_t
ppagto,t16.cod_banco,t16.valor,';

WFIELDS1=WFIELDS1||'COALESCE(t16.cod_cliente,0),t16.obs,t16.baixa,t16.resp_b
aixa,t16.chegou,t16.PARCELA,';

WFIELDS1=WFIELDS1||'t16.VALOR_PAGO,t16.filial,T16.NBLOQ,t16.dac,t16.pago,T16
.obs_rest,';

WFIELDS1=WFIELDS1||'T16.pedido_anomes,T16.pedido_filial,T16.PEDIDO_NUMERO,t1
6.pedido_ordem,T16.NUM_DOC';
  FOR EXECUTE STATEMENT
  'SELECT '||:WFIELDS1||' FROM t16_contas_a_receber T16 WHERE  t16.valor>0'
    INTO
    :NUMERO,
    :DATA,
    :EMISSAO,
    :VENCTO,
    :DT_PAGTO,
    :COD_TP_PAGTO,
    :COD_BANCO,
    :VALOR,
    :COD_CLIENTE,
    :obs,
    :BAIXA,
    :resp_baixa,
    :CHEGOU,
    :PARCELA,
    :VALOR_PAGO,
    :FILIAL,
    :NBLOQ,
    :DAC,
    :PAGO,
    :OBS_REST,
    :pedido_anomes,
    :pedido_filial,
    :PEDIDO_NUMERO,
    :pedido_ordem,
    :NUM_DOC

   DO
   BEGIN
     SUSPEND;
   END
END


Aguardo qq ajuda...

Ate +

Groppo







Mais detalhes sobre a lista de discussão lista