Duvida de Procedure

Firebird

18/10/2003

Ajuda amiga...

Tabela(Cliente)
Cd_Cliente
Nome

Tabela(Servico)
Num_Serv
Dt_Emissao
Cd_Cliente

Tabela(Itens_Servico)
Num_Serv
Cd_Produto

Tabela(Produto)
Cd_Produto
Desc_Produto
Estado_Produto
Tipo_Produto

Tabela(Itens_SAC)
Cd_Produto
Num_SAC
Dt_Troca

Tabela(SAC)
Num_SAC
cd_Cliente

Bem essas são as tabelas resumidas com seus relacionamentos...
A duvida e como montar uma procedure selecionavel que retorne os produtos que estão vencendo em um determinado periodo. Então tem tbem valores de entrada que são data inicial e data final. Qdo o cliente compra o produto se preenche o formulário SAC que e a tabela SAC. Como ele pode comprar varios produtos(Aparelho) então tem a tabela itens_SAC onde se cadastra a proxima dt_Troca do aparelho. Mas depois de 6 meses se realiza a primeira troca de uns componentes de dentro do aparelho(Produto). A partir dai se troca de 6 em 6 meses. Estou fazendo um relatorio e queria mostrar os produtos(aparelhos) que estarão vencendo no periodo que eu digitar. Mas alem de verificar as dt_emissao do serviço que foi executado para saber se está vencendo, se for a primeira troca nem vai existir nenhum serviço desse aparelho e eu tenho de verificar os itens_SAC da dt_troca de cada produto, pq ai sei a troca do aparelho que acabou de ser comprado e ainda não tem serviço.
Se fosse para so verificar so no serviço não e o problema, pq primeiro tenho de verificar todos os produtos que são o aparelho na tabela produto
que tenha o tipo_Produto=´P´. Após isso busca os aparelhos pela ultima troca feita na tabela serviço no campo dt_Emissao, no periodo que eu entro, ainda ve os Estado_Produto ´Vencido´ e se não tiver nenhum serviço para esse aparelho tenho que ver então na dt_troca do Itens_SAC.
Não sei se deu para mostra a regra de negócio do sistema que estou fazendo de forma clara. A minha duvida e fazer uma procedure que tenha condição, tipo se não tiver serviço ainda o aparelho tenho de buscar na dt_Troca de outra tabela ou ainda verificar se o estado_Produto já esta ´vencido´. Pq tenho de mostrar os produtos que vão ser realizados no periodo digitado, mas os vencidos...
Por favor se souberem peço ajuda....


Naonob

Naonob

Curtidas 0
POSTAR