[firebase-br] Criar Stored Procedure Para Retorno de Dias Uteis.
Rubens J Rodrigues
rubens.rodrigues em abrevo.com.br
Qua Ago 30 17:37:48 -03 2006
Lucio,
Muito obrigado, muito obrigado . . . Funcionou perfeitamente . . .
Obrigado a todos.
Lucio - UniData® escreveu:
> Caro Rubens Demorei um pouquinho mais fiz
> Tem uma tabela que vc cadastra os feriados
> e a procedure verifica se é feriado
> os finais de semanas não presiza cadastrar na tabela de feriado
> a procedure exclui o sabado e domingo sozinha
>
> Obs Cadastra pelomenus um feriado na tabela
> para dar certo
>
> Codigo da TABELA e da PROCEDURE (DIAS_UTES) segue a baixo
>
> Abraço
>
> Tabela
> CREATE TABLE FERIADOS (
> ID INTEGER NOT NULL,
> DT_FERIADO TIMESTAMP NOT NULL,
> NM_FERIADO VARCHAR(25) NOT NULL
> );
>
> PROCEDURE
> CREATE PROCEDURE DIAS_UTEIS (
> P_DATA_INI DATE,
> P_DATA_FIM DATE)
> RETURNS (
> R_DIA INTEGER,
> R_DATA DATE)
> AS
> DECLARE VARIABLE W_DIA INTEGER;
> DECLARE VARIABLE W_FERIADO DATE;
>
> begin
> /* Procedure Retona os Dias Uteis
> do periodo informado
> OBS Paramentro de Imput Data Inicial , Data Final*/
> while (P_DATA_FIM > P_DATA_INI) do begin
> /* Verifico se tem Feriado Cadastrado
> -- OBS: Obrigatorio Ter pelomenus um Feriado cadastrado
> se não tiver pode da errado -- Cadastra o Natal e ano Novo*/
> FOR select DT_FERIADO FROM FERIADOS
> WHERE DT_FERIADO = :p_data_ini
> INTO :w_feriado DO
> begin
> P_DATA_INI = :P_DATA_INI + 1;
> end
> /* Verifico se é Sabado ou Domingo ou Feriado Cadastrado
> 0 = Domingo 6 = Sabado */
> W_DIA = extract(weekday FROM :P_DATA_INI);
> if (:w_feriado IS NOT NULL and :W_DIA <> 0 and :W_DIA <> 6) then begin
> R_DATA = :P_DATA_INI;
> R_DIA = W_DIA;
> suspend;
> end
> P_DATA_INI = :P_DATA_INI + 1;
> end
> end
>
>
>
>
> ----- Original Message -----
> From: "Rubens J Rodrigues" <rubens.rodrigues em abrevo.com.br>
> To: <lista em firebase.com.br>
> Sent: Wednesday, August 30, 2006 10:48 AM
> Subject: Re: [firebase-br] Criar Stored Procedure Para Retorno de Dias Uteis.
>
>
> Lucio,
>
> Na verdade eu só preciso que a Stored Procedure me retorne todos os dias
> úteis do mês atual. . . .
> Não preciso nem passar parâmetros. . . .
>
> Rubens
>
>
>
> Lucio - UniData® escreveu:
>> Rubens, vou montar para vc
>> o que vc quer passar para a Procedure ??
>>
>> e o que vc quer que ela retorne ?
>>
>> Abraço
>> Lucio Cobo
>> Programador Delphi com Oracle.
>>
>>
>> ----- Original Message -----
>> From: "Rubens J Rodrigues" <rubens.rodrigues em abrevo.com.br>
>> To: <lista em firebase.com.br>
>> Sent: Wednesday, August 30, 2006 8:15 AM
>> Subject: [firebase-br] Criar Stored Procedure Para Retorno de Dias Uteis.
>>
>>
>> Colegas,
>>
>> Infelizmente esgotou-se minhas possibilidades e habilidades para criar
>> uma stored procedures para me retornar os dias uteis do mês corrente.
>> Por favor, me ajudem nesta cruzada . . .
>>
>> Cenário :
>>
>> a) Tabela de Feriados : CODFERIADO, DATAFERIADO, ATIVO.
>>
>> b) Criar uma stored procedures onde, eu pegaria os dias do mês corrente,
>> eliminaria os sabados e domigos, com o restante eu eliminaria os dias
>> que estariam na tabela de feriados.
>>
>>
>> Conto com a ajuda de vocês,
>>
>>
>> Obrigado,
>>
>> Rubens
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço
>> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista