Skip to Content
Author's profile photo Former Member

ENQUEUE – Bloqueio e desbloqueio de registro no dado mestre

Na elaboração de especificações funcionais ou manuais para treinamento ou até mesmo procurando a solução de problema precisamos ter os dados mestre inalterados afim evitar mudanças de cenários inesperados.

Neste artigo vamos demonstrar a utilização do bloqueio/desbloqueio dos objetos relacionados a tabela ANLA para os cenários de imobilizados FI-AA, as funções bloqueio/desbloqueio pode ser estendido para demais objetos do SAP.

A SAP prove um conjunto de funções com a habilidade de restringir o acesso aos dados de uma tabela para ser atualizada, dentre as formas de bloqueio temos as funções ENQUEUE, DEQUEUE.

Abaixo uma pequena demonstração utilizando a transação SE37 para pesquisar as função de bloquear (ENQUEUE)  ou desbloquear (DEQUEUE)  objetos do sistemas.

Pesquisando um objeto de bloqueio na transação SE37

/wp-content/uploads/2015/04/se37_lock_object_691591.png


Onde a função ENQUEUE* realiza o bloqueio e a função DEQUEUE* o desbloqueio do registro na tabela.

Cenário do caso uso

A seguir serão demonstrados os passos para o uso desta função em um cenário do FI-AA, onde a tabela ANLA terá o registro bloqueado. Ao final o registro será liberado.


Pesquisando um objeto de bloqueio para a função ENQUEUE

Transação: SE11

Informe a tabela para o bloqueio do registro.

SE11_ENQUEUE_SEARCH.png

Selecione a opção ‘Objetos de bloqueio’.

SE11_ENQUEUE_SEARCH_B.png

A seguir é retornada a função ENQUEUE_EANLA.

SE11_ENQUEUE_SEARCH_C.png

Bloquear registro (dado mestre)

Tabela: ANLA

Função (SE37): ENQUEUE_EANLA

se37_lock_object_B.png

O parâmetro MODE_ANLA = E também pode conter:

Valor

Descrição

E

Bloqueio de escrita

S

Bloqueio de leitura

V

Só verificação colisão bloqueio escrita, como em ‘E’

W

Só verificação colisão bloqueio leitura, como em’S’

Informe empresa (BUKRS), imobilizado (ANLN1) e subitem (ANLN2).

Atribua _SCOPE =2 como valor default.

Execute Runing_button.png.

Após o bloqueio no registro da ANLA as modificações no dado mestre não serão possíveis. Utilize a transação AS02 e tente modificar o dado mestre.

/wp-content/uploads/2015/04/as02_tcode_691625.png

Será exibida a mensagem de erro abaixo.

/wp-content/uploads/2015/04/as02_error_msg_691626.png

O bloqueio também pode ser verificado na transação SM12.

/wp-content/uploads/2015/04/sm12_tcode_691627.png

A lista dos registros bloqueados na ANLA será exibida.

/wp-content/uploads/2015/04/sm12_tcode_detail_691628.png

Desbloquear registro (dado mestre) de FI-AA.

Tabela: ANLA

Função (SE37):DEQUEUE_EANLA

/wp-content/uploads/2015/04/se37_runing_691629.png

Execute Runing_button.png.

O desbloqueio também pode ser eliminado pela SM12.

/wp-content/uploads/2015/04/sm12_tcode_unlock_692295.png

O dado mestre foi desbloqueado, acesse-o utilizando a transação AS02.

/wp-content/uploads/2015/04/as02_tcode_normal_691631.png

Volte à transação SM12 e observe que o bloqueio foi retirado da lista.

Solicitamos a gentileza de apontarem neste documento, para o conhecimento de todos, possíveis

divergências ou informações complementares necessárias.



Claudio Rafael da Silva

Artur Paulino da Silva Cardoso

[editado pela moderação]

Assigned Tags

      6 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Custodio de Oliveira
      Custodio de Oliveira

      Ola Claudio,

      Voce deu uma explicacao simples e efetiva de uma caracteristica basica porem muito importante mas mal sub-utilizada no sistema.

      Gostaria ede fazer uma correcao, ou sugestao, no metodo utilizado para encontrar qual o objeto de bloqueio para a tabela. Na transacao SE11, digite o nome da tabela e clique em "where used list":

      where used.PNG

      Em seguida, desmarque todos os checkboxes e marque somente o "lock objects/objetos de bloqueio":

      where used.PNG

      Dessa maneira o retorno sera mais preciso e mais rapido:

      where used.PNG

      Abraco.

      Custodio

      @zcust01

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Custódio,

      como sempre excelente sua colaboração. Documento ajustado.

      Abs.

      Author's profile photo Eduardo Hartmann
      Eduardo Hartmann

      Oi Claudio,

      Gostei da ideia. Apesar de conhecer bem objetos de bloqueio, nunca tinha pensado em usar isso para bloquear os dados mestres/transacionais para evitar modificações por terceiros 🙂

      Gostaria de adicionar um ponto: se não tiver certeza de qual FM faz o dequeue, pode eliminar o bloqueio diretamente na SM12.

      Abraços,

      Eduardo Hartmann

      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Eduardo,

      documento atualizado, contendo sua dica (simples e fácil).

      Obrigado.

      Author's profile photo Former Member
      Former Member

      Olá

      Muito bom pessoal o  conhecimento sendo disseminado!

      Um Abraço

      Artur

      Author's profile photo Marssel Vilaça
      Marssel Vilaça

      Muito bom Cláudio. A documentação está bem clara e objetiva.

      Bom também que estamos tendo muitas outras formas de sugestões para executar esse mesmo processamento.

      Abraço