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]

To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

  1. 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

    (0) 
  2. 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

    (0) 
  3. 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

    (0) 

Leave a Reply