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