[firebase-br] Criar Stored Procedure Para Retorno de Dias Uteis.

Luciano Carneiro luciano em praticsistemas.com.br
Qua Ago 30 17:28:32 -03 2006


Quanto a esta questão dos feriados, tabela de feriados, etc...
Eu fiz uma procedure (já que nunca uso UDF) que trata deste assunto
controlando os feriados
nacionais, feriados religiosos (páscoa, carnaval, corupus christi) e que
devolve
um char(1) se é feriado, sábado, domingo, carnaval, páscoa, CChristi,
Sexta-Feira Santa).

Se quizerem dar uma olhada peçam em pvt (luciano em praticsistemas.com.br)

Luciano C dos Santos

----- Original Message ----- 
From: "Lucio - UniData®" <luciocobo em terra.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, August 30, 2006 4:12 PM
Subject: Re: [firebase-br] Criar Stored Procedure Para Retorno de Dias
Uteis.


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