create or replace procedure AGPSP007_INCLUI_SOLICITACAO(coProtocoloAtendimento IN FLOAT,
--F998120 09/12/2008 16:09:47
--F978268 27/11/2008 20:04:42
--F978268 27/11/2008 19:58:13
nuSolicitacao IN FLOAT,
nuTipoSolicitacao IN INTEGER,
nuDestino IN INTEGER,
nuItemDestino IN INTEGER,
nuSubItemDestino IN INTEGER,
deSolicitacao IN STRING,
nuSituacaoSolicitacao IN FLOAT,
coMatriculaCriacao IN STRING) as
begin
insert into agp.agptb002_solicitacao
(co_protocolo_atendimento,
nu_solicitacao,
nu_tipo_solicitacao,
nu_destino,
nu_item_destino,
nu_sub_item_destino,
de_solicitacao,
nu_situacao_solicitacao,
dt_limite_solicitacao,
dt_solicitacao,
co_matricula_criacao,
co_matricula_alteracao)
values
(coProtocoloAtendimento,
agp.AGPSQ002_SOLICITACAO.NEXTVAL,
nuTipoSolicitacao,
nuDestino,
nuItemDestino,
nuSubItemDestino,
deSolicitacao,
nuSituacaoSolicitacao,
(select sysdate + t.nu_pz_hr_tipo_solicitacao/24
from agp.agptb003_tipo_solicitacao t
where t.nu_tipo_solicitacao = nuTipoSolicitacao
),
sysdate,
coMatriculaCriacao,
coMatriculaCriacao);
end;
A minha idéia seria mais ou menos assim
(select sysdate + t.nu_pz_hr_tipo_solicitacao/24
from agp.agptb003_tipo_solicitacao t
where t.nu_tipo_solicitacao = nuTipoSolicitacao
),
No caso ficaria assim:
Prazo := (O select acima)
Dia := Sysdate
For i = 1 to <= Prazo
Dia := Dia + 1
If Dia day = 'Saturday'
Dia := Dia + 2 -- No caso Somando Sabado e Domingo
EndIf
i := i + 1
EndFor
Preciso Somar os dias acrescentando dois dias a mais na contagem caso durante a contagem passe por um sabado...
Preciso de ajuda do pessoal fera ai...
Grato,
Guilherme