GARANTIR DESCONTO

Fórum Ordenar Procedure #48104

17/11/2004

0

Tenho a Seguinte Procedure

CREATE PROCEDURE PROC_NOTASFISCAISPED (
    DATAINI DATE,
    DATAFIM DATE)
RETURNS (
    DATA DATE,
    NOTAFISCAL BIGINT,
    CLIENTE INTEGER,
    NOME VARCHAR(60),
    TOTAL NUMERIC(15,2),
    FRETE NUMERIC(15,2))
AS

DECLARE VARIABLE PEDIDO BIGINT;
DECLARE VARIABLE NUMERO SMALLINT;

begin

    BEGIN
        FOR
            SELECT PEDIDOS.EMISSAO, PEDIDOS.ID_PEDIDO, PEDIDOS.NOTAFISCAL, PEDIDOS.CLIENTE,  CLIENTES.NOME, PEDIDOS.VALOR_FRETE FROM PEDIDOS
                INNER JOIN CLIENTES ON CLIENTES.ID_CLIENTE = PEDIDOS.CLIENTE
                WHERE PEDIDOS.EMISSAO BETWEEN :DATAINI AND :DATAFIM
                AND (PEDIDOS.TRANSPORTADORA = 1
                AND (PEDIDOS.situacao = 1 and PEDIDOS.controle =1) or (PEDIDOS.situacao in(2,3,4,5))
                AND PEDIDOS.TIPO NOT IN(2,4,6)
                AND PEDIDOS.TPFRETE = 1)
                INTO :DATA, :PEDIDO, :NOTAFISCAL, :CLIENTE, :NOME, :FRETE
        DO
    
            FOR
                Select Sum((Itens_Ped.Preco / Itens_Ped.Divisor) * (Itens_Ped.Quantidade * Itens_Ped.Divisor)) as valor From itens_ped
                    WHERE ITENS_PED.PEDIDO = :PEDIDO
                    INTO :TOTAL
            DO
    SUSPEND; END


    BEGIN
        FOR
            SELECT PED_FATURAR.EMISSAO, PED_FATURAR.PEDIDO, PED_FATURAR.NUMERO, PED_FATURAR.NOTAFISCAL, PED_FATURAR.CLIENTE,  CLIENTES.NOME, PED_FATURAR.VALOR_FRETE FROM PED_FATURAR
                INNER JOIN CLIENTES ON CLIENTES.ID_CLIENTE = PED_FATURAR.CLIENTE
                WHERE PED_FATURAR.EMISSAO BETWEEN :DATAINI AND :DATAFIM
                AND (PED_FATURAR.TRANSPORTADORA = 1
                AND (PED_FATURAR.situacao = 1 and PED_FATURAR.controle =1) or (PED_FATURAR.situacao in(2,3,4,5))
                AND (PED_FATURAR.TPFRETE =1))
                INTO :DATA,  :PEDIDO, :NUMERO,  :NOTAFISCAL, :CLIENTE, :NOME, :FRETE
          DO
    
            FOR
                Select Sum((Itens_PedFaturar.Preco / Itens_PedFaturar.Divisor) * (Itens_PedFaturar.Quantidade * Itens_PedFaturar.Divisor)) as valor From itens_pedfaturar
                    WHERE ITENS_PEDFATURAR.PEDIDO = :PEDIDO AND ITENS_PEDFATURAR.NUMERO = :NUMERO
                    INTO :TOTAL
            DO
    SUSPEND; END

end


Que me retornar os pedidos e em seguida me retorna os pedidos a faturar, gostaria de saber se tem alguma forma de ordenar pela notafiscal, mas independente da tabela, ou seja depois que executou a procedure o resultado deverá ser ordenado, tem alguma forma de fazer isto?

msn: bruno_solucao@hotmail.com


Bruno_solucao

Bruno_solucao

Responder

Posts

17/11/2004

Emerson Nascimento

que componente vc está utilizando para executar essa SP?

se for um TQuery ou TSQLQuery, faça a ordenação nele. ou no ClientDataset que receberá o resultset.


Responder

Gostei + 0

17/11/2004

Gandalf.nho

SELECT * FROM nome_procedure ORDER BY lista_campos


Responder

Gostei + 0

17/11/2004

Bruno_solucao

Ok. obrigado deu certo.

Eu não sabia que dava para dar um select em Stored Procedure com parametros de entrada.

Como ficou
select * from proc_notasfiscaisped  (´01/01/2000´,´01/01/2005´) order by notafiscal



Responder

Gostei + 0

17/11/2004

Gandalf.nho

Desde que a procedure seja do tipo selecionável, você pode usar tratá-la como uma tabela.


Responder

Gostei + 0

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

Aceitar