create or alter procedure CLIENTES_SEMCOMPRA ( PDATAINI date, PDATAFIN date) returns ( RCLI_CODIGO integer, RCLI_NOMEFANTASIA varchar(40), RCLI_TELEFONE varchar(20), RCLI_TELEFONE2 varchar(20), RCLI_TELEFONE3 varchar(20), RCLI_COMPRADOR varchar(20), RDATA_ULTIMACOMPRA date, RCODVENDEDOR integer, RNOMEVENDEDOR varchar(35)) as BEGIN FOR SELECT CLIENTE.CLI_CODIGO,CLIENTE.CLI_NOMEFANTASIA, CLIENTE.CLI_TELEFONE, CLIENTE.CLI_FAX, CLIENTE.CLI_TELEFONE2, CLIENTE.CLI_COMPRADOR,CLIENTE.VEN_CODIGO, VEND.VEN_NOME FROM CLIENTE LEFT JOIN VENDEDOR VEND ON VEND.VEN_CODIGO=CLIENTE.VEN_CODIGO WHERE CLI_CODIGO NOT IN (SELECT CLI_CODIGO FROM PEDIDO WHERE PEDIDO.PED_DATAPED BETWEEN :PDATAINI AND :PDATAFIN) AND CLIENTE.CLI_BLOQUEIO='F' INTO :RCLI_CODIGO,:RCLI_NOMEFANTASIA,:RCLI_TELEFONE,:RCLI_TELEFONE2,:RCLI_TELEFONE3,:RCLI_COMPRADOR,:RCODVENDEDOR,:RNOMEVENDEDOR DO BEGIN --PEGA A DATA DO ULTIMO PEDIDO RDATA_ULTIMACOMPRA = NULL; SELECT FIRST 1 PED_DATAPED FROM PEDIDO WHERE CLI_CODIGO=:RCLI_CODIGO ORDER BY PED_DATAPED DESC INTO :RDATA_ULTIMACOMPRA; SUSPEND; END END