Atualizacao Estoque via Interbase 6

Firebird

10/03/2003

Atualizacao de EStoque via SP ou Trigger, tenho as tabelas abaixo a serem atualizadas numa movimentacao.

Tabela Produtos onde tenho CODG_PROD INTEGER
DESCR_PROD VARCHAR(50)
SALDO FLOAT

Tabela de Estrutura do Produto CODG_PROD INTEGER
COMPONENTE INTEGER
PERC_DISTRIBUICAO FLOAT

Tabela de Saldos CODG_PROD INTEGER
ANO_MÊS CHAR(6)
SALDO_MÊS FLOAT

Tabela de Movimentação CODG_PROD INTEGER
DATA TIMESTAMP
QTDE FLOAT
TIPO_E_S CHAR(1) = E=Entrada/S =Saída

Quando eu lançar uma movimentação do produto deve ocorrer as seguintes atualizações:
1.Deve Atualizar a cada lançamento a Tabela de Movimentações campos (CODG_PROD, DATA, QTDE, TIPO_ES) onde codg_prod = produto que esta sendo lançado, campo data a data do lançamento, qtde a quantidade lançada e tipo que é Entrada ou Saída.
2.Atualizar a Tabela de Produtos campo (SALDO). Se for Entrada soma e se for Saída subtrai.
3.Atualizar a Tabela de Saldos do mês, campo (SALDO_MÊS). Partir de um saldo anterior desse produto e atualizar o saldo do mês atual. Ex.Saldo anterior + qtde = saldo do mês atual. Se um lançamento for em Janeiro e tiver saldos nos meses seguintes atualizar também os saldos dos meses seguintes.
4.Se houver estrutura do produto deverá ocorrer a atualização da seguinte forma:
. Atualizar o saldo dos componentes no cad.de Produtos, saldos e movimentações e também o saldo do produto pai nos mesmos cadastros.
Ex.: prod.100 componente 101, 102, 103 atualizar o 101, 102, 103 nas tabelas de saldos, produtos, movimentações. E atualizar o código 100 tambem.

E Isso tubo se possível ou em [b:30ae0ef077]Stored Procedure ou em Trigger via Interbase 6[/b:30ae0ef077]. Mesmo se a solução for em SQL Server por favor me mande assim mesmo.


Fernando Marroco

Fernando Marroco

Curtidas 0

Respostas

Anonymous

Anonymous

10/03/2003

TENTE ADAPTAR ESSE TRIGGER QUE DÁ CERTO, CASO TENHA ALGUMA DÚVIDA,PASSE UM E-MAIL ebst@tutopia.com.br

Edinaldo - Parnamirim (RN)


CREATE TRIGGER TB2 FOR TB2 AFTER UPDATE POSITION 0 AS
BEGIN
UPDATE TB1
SET SALDO = SALDO + (SELECT VALOR FROM TB2 WHERE TB2.PRODUTO=TB1.PRODUTO)
WHERE TB1.PRODUTO = TB2.PRODUTO;
END


GOSTEI 0
POSTAR