Trigger com Parâmetro
Tenho a seguinte trigger no evento after insert ds tabela de vendaItens:
´
AS BEGIN UPDATE ESTOQUE_PRODUTOS SET ATUAL = ATUAL + OLD.QUANTIDADE WHERE CODIGO_PRODUTO = OLD.ID_PRODUTO; END
´
Só que agora pretendo deixar meu sistema para multiEmpresa. Então eu teria que ter uma espécie de parâmetro que pudesse ser passado para a trigger antes do disparo da mesma, informando o código da empresa ativa.
Sei que na trigger não dá prá usar parâmetros. Meu tópico é para receber opinião dos colegas, de como fazer essa atualização do estoque via trigger.
Uso D7 FB 2.0
Obrigado
´
AS BEGIN UPDATE ESTOQUE_PRODUTOS SET ATUAL = ATUAL + OLD.QUANTIDADE WHERE CODIGO_PRODUTO = OLD.ID_PRODUTO; END
´
Só que agora pretendo deixar meu sistema para multiEmpresa. Então eu teria que ter uma espécie de parâmetro que pudesse ser passado para a trigger antes do disparo da mesma, informando o código da empresa ativa.
Sei que na trigger não dá prá usar parâmetros. Meu tópico é para receber opinião dos colegas, de como fazer essa atualização do estoque via trigger.
Uso D7 FB 2.0
Obrigado
Armindo
Curtidas 0
Respostas
Ant.carlos/sp
26/05/2009
Caro amigo!
Resolvi o problema da seguinte forma:
Criei um arquivo AuxEmpresa ->Codemp, Codmov_item,
antes do Apply, carrego as informacoes, na Triiger, comparo pra ver se o reg. no Auxempresa é o mm do item e efetua a Bx correspondente.
100+
ANT.CARLOS/SP
Resolvi o problema da seguinte forma:
Criei um arquivo AuxEmpresa ->Codemp, Codmov_item,
antes do Apply, carrego as informacoes, na Triiger, comparo pra ver se o reg. no Auxempresa é o mm do item e efetua a Bx correspondente.
100+
ANT.CARLOS/SP
GOSTEI 0
Webjoel
26/05/2009
Olá,
Não sei se um parâmetro vá ajudar no seu caso, mas no firebird existe sim esta possibilidade, onde você pode ter uma variavel em tempo de transação ou conexão, são as chamadas ´Context Variables´, disponíveis a partir da versão 2 do Firebird.
Para mais detalhes acesse o link e busque na página por ´Context Variables´:
[url]http://www.firebirdsql.org/devel/doc/rlsnotes/html/rlsnotes20.html[/url]
Não sei se um parâmetro vá ajudar no seu caso, mas no firebird existe sim esta possibilidade, onde você pode ter uma variavel em tempo de transação ou conexão, são as chamadas ´Context Variables´, disponíveis a partir da versão 2 do Firebird.
Para mais detalhes acesse o link e busque na página por ´Context Variables´:
[url]http://www.firebirdsql.org/devel/doc/rlsnotes/html/rlsnotes20.html[/url]
GOSTEI 0