RES: [firebase-br] Preciso de uma mãozinha
Jony
jonyridel em yahoo.com.br
Sex Nov 4 14:41:03 -03 2005
Tem como você passar o Script de criação destas tabelas com dados e da
trigger para eu testar aqui e tentar te ajudar.
----------------------------
Jony Ridel
Grupo Êxito - Salvador - BA
----------------------------
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Francisco Thiago
Enviada em: sexta-feira, 4 de novembro de 2005 10:33
Para: FireBase
Assunto: Re: [firebase-br] Preciso de uma mãozinha
Cara, não consegui não... Para continuar a desenvolver, eu coloquei uma
opção para que o usuário informe que o produto já está produzido (o que cá
entre nós, é um saco!)... Se você tiver alguma idéia de solução, eu ficaria
agradecido... Só passei pra frente pq está quase vencendo o prazo de entrega
Obrigado
Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados
Franca / SP
msn: thiago em enterplug.com.br
----- Original Message -----
From: "Jony" <jonyridel em yahoo.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Friday, November 04, 2005 10:09 AM
Subject: RES: [firebase-br] Preciso de uma mãozinha
Francisco você já conseguiu resolver este problema?
----------------------------
Jony Ridel
Grupo Êxito - Salvador - BA
----------------------------
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Francisco Thiago
Enviada em: terça-feira, 1 de novembro de 2005 13:49
Para: FireBase
Assunto: Re: [firebase-br] Preciso de uma mãozinha
Não..
where PRODUCAO_ETAPAS.IPDC_CODIGO = old.IPDC_CODIGO
and PRODUCAO_ETAPAS.EPDC_ENTRADA is not null
and PRODUCAO_ETAPAS.EPDC_SAIDA is not null
and PRODUCAO_ETAPAS.EPDC_INICIO is not null
and PRODUCAO_ETAPAS.EPDC_FIM is not null
Este where me traria a qtd de etapas onde todas as fase já estaria
concluídas... Logo, se o V_Estado está Null ou é <= 0, é sinal de que nem
todas as fazes estão concluídas, mas que pelo menos uma está (segundo o
primeiro if)
Obrigado
Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados
Franca / SP
msn: thiago em enterplug.com.br
----- Original Message -----
From: "Jony" <jonyridel em yahoo.com.br>
To: "'FireBase'" <lista em firebase.com.br>
Sent: Tuesday, November 01, 2005 2:32 PM
Subject: RES: [firebase-br] Preciso de uma mãozinha
Francisco, o teste abaixo não estará invertido ?
if ((:V_ESTADO IS NULL) or (:V_ESTADO <= 0)) then -- SIM, FORAM
begin
update CAD_PRODUCAO_ITEM set IPDC_ESTADO = 2 where IPDC_CODIGO =
old.IPDC_CODIGO; --Em Produção (Aqui não seria produzido, já que se o count
retornou nulo todas as etapas foram concluídas)
end
else -- NÃO, SÓ ALGUMAS
begin
update CAD_PRODUCAO_ITEM set IPDC_ESTADO = 3 where IPDC_CODIGO =
old.IPDC_CODIGO; -- Produzido (Aqui não seria em produção)
end
O having no SQL que gera o V_ESTADO usando count não entendi o uso do mesmo.
Desculpe se não for isso, talvez eu não tenha entendido o seu problema
direito.
----------------------------
Jony Ridel
Grupo Êxito - Salvador - BA
----------------------------
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Francisco Thiago
Enviada em: quarta-feira, 26 de outubro de 2005 14:00
Para: FireBase
Assunto: [firebase-br] Preciso de uma mãozinha
Pessoal,
Não está funcionando e eu não sei pq!
Tenho um controle assim.... Para um produto estar marcado como produzido,
todas as suas etapas tem de estar concluidas...
Tenho a seguinte estrutura
ITEM_PRODUCAO
ipdc_codigo
PRODUCAO_ETAPAS
EPDC_CODIGO D_INTEIRO NOT NULL /* D_INTEIRO = INTEGER */,
IPDC_CODIGO D_INTEIRO NOT NULL /* D_INTEIRO = INTEGER */,
EPDC_ENTRADA TIMESTAMP,
EPDC_SAIDA TIMESTAMP,
EPDC_INICIO TIMESTAMP,
EPDC_FIM TIMESTAMP,
EMPR_CODIGO D_INTEIRO NOT NULL /* D_INTEIRO = INTEGER */,
CUSU_CODIGO D_INTEIRO NOT NULL /* D_INTEIRO = INTEGER */,
CEPR_CODIGO D_INTEIRO NOT NULL /* D_INTEIRO = INTEGER */
Ou seja, um produto pode ter várias etapas. E cada etapa passa pela Entrada,
Inicio, Fim, Saida. Quando ele zerar todas essas fazes das etapas, ele está
produzido. Daí construí esta trigger, só que não funciona!!!
Alguém pode me dar uma mãozinha??
Obrigado
Francisco Thiago de Almeida
Enter & Plug Informática
Divisão: Desenvolvimento e Banco de dados
Franca / SP
msn: thiago em enterplug.com.br
CREATE TRIGGER PRODUCAO_ETAPAS_BIU0 FOR PRODUCAO_ETAPAS
ACTIVE AFTER UPDATE POSITION 0
as
declare variable V_ESTADO integer;
begin
-- VERIFICA SE ALGUMA ESTAPA FOI CONCLUIDA
select coalesce(count(PRODUCAO_ETAPAS.IPDC_CODIGO),0)
from PRODUCAO_ETAPAS
where PRODUCAO_ETAPAS.IPDC_CODIGO = old.ipdc_Codigo
and ( PRODUCAO_ETAPAS.EPDC_ENTRADA is not null
or PRODUCAO_ETAPAS.EPDC_SAIDA is not null
or PRODUCAO_ETAPAS.EPDC_INICIO is not null
or PRODUCAO_ETAPAS.EPDC_FIM is not null)
into :V_ESTADO;
if ((:V_ESTADO > 0) and (:V_ESTADO is not null)) then --ENTÃO ALGUMA
ESTAPA FOI INICIADA
begin
-- Todas as etapas foram concluídas?
select count(PRODUCAO_ETAPAS.IPDC_CODIGO)
from PRODUCAO_ETAPAS
where PRODUCAO_ETAPAS.IPDC_CODIGO = old.IPDC_CODIGO
and PRODUCAO_ETAPAS.EPDC_ENTRADA is not null
and PRODUCAO_ETAPAS.EPDC_SAIDA is not null
and PRODUCAO_ETAPAS.EPDC_INICIO is not null
and PRODUCAO_ETAPAS.EPDC_FIM is not null
group by PRODUCAO_ETAPAS.IPDC_CODIGO
having count(PRODUCAO_ETAPAS.IPDC_CODIGO) = (
select
count(PE2.IPDC_CODIGO)
from PRODUCAO_ETAPAS
PE2
where PE2.IPDC_CODIGO
= old.IPDC_CODIGO
)
into :V_ESTADO;
if ((:V_ESTADO IS NULL) or (:V_ESTADO <= 0)) then -- SIM, FORAM
begin
update CAD_PRODUCAO_ITEM set IPDC_ESTADO = 2 where IPDC_CODIGO =
old.IPDC_CODIGO; --Em Producao
end
else -- NÃO, SÓ ALGUMAS
begin
update CAD_PRODUCAO_ITEM set IPDC_ESTADO = 3 where IPDC_CODIGO =
old.IPDC_CODIGO; -- Produzido
end
end
else -- Nenhuma estapa foi iniciada
begin
update CAD_PRODUCAO_ITEM set IPDC_ESTADO = 1 where IPDC_CODIGO =
old.IPDC_CODIGO; --Enviado
end
end
^
_______________________________________________________
Promoção Yahoo! Acesso Grátis: a cada hora navegada você
acumula cupons e concorre a mais de 500 prêmios! Participe!
http://yahoo.fbiz.com.br/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.361 / Virus Database: 267.12.5/149 - Release Date: 25/10/2005
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.12.6/152 - Release Date: 31/10/2005
_______________________________________________________
Promoção Yahoo! Acesso Grátis: a cada hora navegada você
acumula cupons e concorre a mais de 500 prêmios! Participe!
http://yahoo.fbiz.com.br/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
_______________________________________________________
Promoção Yahoo! Acesso Grátis: a cada hora navegada você
acumula cupons e concorre a mais de 500 prêmios! Participe!
http://yahoo.fbiz.com.br/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.12.6/152 - Release Date: 31/10/2005
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.12.8/161 - Release Date: 3/11/2005
_______________________________________________________
Yahoo! Acesso Grátis: Internet rápida e grátis.
Instale o discador agora!
http://br.acesso.yahoo.com/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
_______________________________________________________
Yahoo! Acesso Grátis: Internet rápida e grátis.
Instale o discador agora!
http://br.acesso.yahoo.com/
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.12.8/161 - Release Date: 3/11/2005
--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.12.8/161 - Release Date: 3/11/2005
_______________________________________________________
Yahoo! Acesso Grátis: Internet rápida e grátis.
Instale o discador agora!
http://br.acesso.yahoo.com/
Mais detalhes sobre a lista de discussão lista