Avalados por :

Guia completa sobre como usar o conceito de Enqueue / Dequeue para otimizar seu site da web

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 2 Vistas
0
Cargando...

Como usar o conceito de Enqueue / Dequeue?

Editado por: Suresh Kumar em 21 de janeiro de 2008 às 12:11 PM

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Os objetos de bloqueio são usados no SAP para evitar inconsistências ao inserir/alterar dados no banco de dados.

O SAP fornece três tipos de objetos de bloqueio.

  • Bloqueio de leitura (bloqueio compartilhado)

protege o acesso de leitura a um objeto. O bloqueio de leitura permite que outras transações tenham acesso de leitura, mas não de escrita à

área bloqueada da tabela.

  • Bloqueio de escrita (bloqueio exclusivo)

protege o acesso de escrita a um objeto. O bloqueio de escrita permite que outras transações não tenham acesso de leitura nem de escrita à

área bloqueada da tabela.

  • Bloqueio de escrita aprimorado (bloqueio exclusivo sem acumulação)

funciona como um bloqueio de escrita, exceto que o bloqueio de escrita aprimorado também protege contra acessos adicionais da

mesma transação.

Você pode criar um bloqueio em um objeto SAP através da transação SE11 e inserir um nome significativo que comece com EZ. Por exemplo: EZTEST_LOCK.

Uso: você pode ver em quase todas as transações que ao abrir um objeto em modo de alteração, o SAP não permite que outro usuário abra o mesmo objeto em modo de alteração.

Exemplo: em Recursos Humanos, ao inserirmos um número de pessoal na tela de manutenção de dados mestres, o SAP não permite que outro usuário use o mesmo número de pessoal para alterações.

Tecnicamente:

Ao criar um objeto de bloqueio, o Sistema cria automaticamente dois módulos de função.

1. ENQUEUE_. para inserir o objeto em uma fila.

2. DEQUEUE_. Para remover o objeto que está na fila através do FM anterior.

Você deve usar esses módulos de função em seu programa.

verifique este link para um exemplo.

http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm

tabelas: vbak.

call function 'ENQUEUE_EZLOCK3'

exporting

mode_vbak = 'E'

mandt = sy-mandt

vbeln = vbak-vbeln

  • X_VBELN = ' '

  • _SCOPE = '2'

  • _WAIT = ' '

  • _COLLECT = ' '

  • EXCEPTIONS

  • FOREIGN_LOCK = 1

  • SYSTEM_FAILURE = 2

  • OTHERS = 3

.

if sy-subrc 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

endif.

Normalmente, os ABAPers criarão os objetos de bloqueio, pois sabemos quando bloquear, como bloquear e onde bloquear o objeto, e depois de completar nossas atualizações, desbloqueamos os objetos nas tabelas.

LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

O conceito de bloqueio de objeto bloqueia o registro de dados específico enquanto é atualizado.

Desativando o bloqueio - Remoção da fila

Quando você cria um objeto de bloqueio no se11 (começando com EZ se for um objeto de bloqueio personalizado) ele criará dois módulos de função.

enqueue_ezname, dequeue_ezname..

Verifique na transação se11 com a tabela para bloqueio da tabela de banco de dados.

Esses módulos de função não atualizarão os dados para a tabela NAST,

Procure a transação NACE que é construída para a tabela NAST

Pontos de recompensa se for útil

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá,

Abaixo está o código de exemplo:

chamar a função 'ENQUEUE_E_TABLE'

exportação

tabname = p_table

exceções

foreign_lock = 1

system_failure = 2

others = 3.

Ao tentar enfileirar, se você receber uma exceção, significa que está

bloqueado por outro usuário.

Obrigado,

Sriram Ponna.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?