Ir para conteúdo
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Trigger Com Vários Updates e Prioridades


Posts Recomendados


  • Tópicos Que Criei:  25
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  82
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  655
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  41

Bom dia..

Estou com a seguinte sentença abaixo:

UPDATE FLAN

SET SEGUNDONUMERO = RIGHT('000000' + CAST(CAST(A.NUMEROMOV AS INTEGER) AS VARCHAR(10)), 6) + '/' + RIGHT('00' + CAST(A.NUMEROLCTGERADO AS VARCHAR(10)), 2) + '-' + RIGHT('00' + CAST(B.NUMERODOCUMENTO AS VARCHAR(10)), 2)

FROM TMOV A, FLAN B

WHERE A.CODCOLIGADA = B.CODCOLIGADA

AND A.IDMOV = B.IDMOV

AND B.CODCOLIGADA = 1

AND B.CODAPLICACAO = 'T'

GO

UPDATE FLAN

SET NUMERODOCUMENTO = SEGUNDONUMERO

FROM FLAN

WHERE IDLAN = IDLAN

AND CODCOLIGADA = 1

AND CODAPLICACAO = 'T'

GO

UPDATE FLAN

SET SEGUNDONUMERO = B.DESCRICAO

FROM FLAN A, FTB5 B

WHERE A.CODTB5FLX = B.CODTB5FLX

AND A.CODCOLIGADA = 1

AND A.CODAPLICACAO = 'T'

GO

Essa Sentença faz o seguinte:

- Primeiro Update

Atualiza o campos SEGUNDONUMERO da TMOV (Número do movimento / Quantidade total de Parcelas - Parcela Corrente)

- Segundo Update

Iguala o campo NUMERODOCUMENTO com o campo SEGUNDONUMERO

- Terceiro Update

Atualiza o campo SEGUNDONUMERO igualando com o campo DESCRICAO da tabela opcional do RM Fluxus FTB5.

Segue Print de tela com o ANTES e DEPOIS do update

Portanto o que eu quero é que esse processo fique automático, preciso que esse processo seja executado assim que eu salvar um Movimento no RM Nucleus que gere financeiro. Onde pra isso seria necessário criar uma trigger, só que como criar uma trigger com 3 updates? sendo que pelo que vocês podem observar tenho que primeiro rodar o primeiro update por completo pra depois começar a rodar o segundo e assim sucessivamente. Ou seja dando prioridades para os updates. Desde já muito obrigado e espero que possam me ajudar.

Obs: Já tentei criar 3 trigger, mais como eu não sei como colocar prioridades nas mesmas, não deu certo.

post-4223-1287586081_thumb.jpg

post-4223-1287586111_thumb.jpg

Editado por Rubem Ohana Neto
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  101
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  456
  • Conteúdo/Dia:  0.08
  • Reputação:   0
  • Pontos/Conquistas:  3.290
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  48

Cria uma variavel recebendo a informação do segundonumero.

A partir dai você consegue fazer quantos updates forem necessário na mesma trigger.

Se for o caso dê refresh na tabela após cada passo para que a tabela fique atualizada.

NIK

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  25
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  82
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  655
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  41

E como ficaria a sintaxe para atualizar a tabela no término de cada processo?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  1.140
  • Conteúdo/Dia:  0.22
  • Reputação:   60
  • Pontos/Conquistas:  6.161
  • Conteúdo Resolvido:  0
  • Dias Ganho:  33
  • Status:  Offline
  • Idade:  42
  • Dispositivo:  Windows

Utilizei essa trigger para atualizar o segundo numero para ser da Nfe do Classis para Nucleus quando ainda não estava totalmente integrado

CREATE TRIGGER ZFNFFISCAL

ON FLAN

AFTER UPDATE /* só executa depois que o lançamento sofrer alteração*/

AS

DECLARE @COLIGADA INT, @ULTIMANF VARCHAR(6), @IDLAN INT, @STATUS INT, @SEGNUM INT

SELECT

@ULTIMANF = (SELECT CONVERT(VARCHAR(9),MAX(SEGUNDONUMERO)) FROM FLAN WHERE SEGUNDONUMERO IS NOT NULL)+1,

@COLIGADA = CODCOLIGADA, @IDLAN = IDLAN, @STATUS = STATUSLAN, @SEGNUM = SEGUNDONUMERO /* recebe as variaves do lançamento que está sendo alterado*/ FROM INSERTED

IF @STATUS = 1 AND @SEGNUM IS NULL /* só vai fazer update do títulos nessas condições*/

BEGIN

UPDATE FLAN SET SEGUNDONUMERO = @ULTIMANF WHERE CODCOLIGADA = @COLIGADA AND IDLAN = @IDLAN

END

Ai é só fazer os ajustes de acordo com a sua necessidade, espero que ajude.

[]'s

Editado por Frederico
Link para comentar
Compartilhar em outros sites

  • 8 anos depois...

  • Tópicos Que Criei:  0
  • Tópicos/Dia:  0
  • Meu Conteúdo:  0
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  5
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  36

E ai pessoal, estou com um caso simular a esse.

Fiquei com uma dúvida quanto a solução ? 
Entendo que o tópico é bem antigo, mas talvez tenham algo para me acrescentar.

 

Abraço!

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  134
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  1.225
  • Conteúdo/Dia:  0.19
  • Reputação:   2
  • Pontos/Conquistas:  7.399
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Dispositivo:  Windows

Se está com alguma dúvida, manda pra gente. Quem sabe podemos ajudar sim

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.