Criando, disparando e utilizando Background Events

Olá pessoal,

Por vezes precisamos realizar rotinas ou processamentos somente após uma determinada atividade ou etapa de processo ter sido concluída. Nesse caso, temos um recurso interessante, confiável e simples de ser implementado chamado de Background Events .

Como o próprio nome sugere, este recurso cria e administra eventos específicos ajudando os usuários a identificar qual o exato momento em que eles ocorreram. Isso oferece ao sistema a possibilidade de disparar processamentos subsequentes ao evento  ou mesmo apenas controlar suas ocorrências se assim desejado. Vamos a um exemplo:

  • Crie um evento específico

A criação e administração de Background Events pode ser realizada através das transações SM62 e SM64

Event_01

  • Programe a execução de um JOB dependente deste evento

Através da transação SM36, programe um JOB para execução automática após o evento que acabou de criar.

Neste exemplo, criei um JOB que executa o programa standard de numeração e envio das NFE’s (J_NFECALLRFC).Event_02

Event_03

  • Dispare seu evento

Existem algumas alternativas para disparar um Background Event:

Manualmente, através das transações SM62 ou SM64

Automaticamente, através de rotinas ABAP. Aqui seguem as mais conhecidas:

Programa BTC_EVENT_RAISE. Event_06Event_07

Classe CL_BATCH_EVENT. Aqui temos métodos para disparo imediato ou através de  agendamento em background.Event_08

Função  BP_EVENT_RAISE. Para o exemplo deste post, criei um programa que chama esta função ao final da execução e inclui um log com a data e hora para podermos medir os momentos de chamada do evento e execução do JOB.Event_04

  • Veja que nosso JOB teve início 2 segundos após a chamada do evento pela rotina acima.

Event_05

Vale lembrar que o histórico do disparo dos eventos pode ser acompanhado através da ferramenta de análise disponível nas transações SM62 ou SM64. Como mencionado no início do post, caso você deseje controlar a execução de determinada rotina em um programa, bastaria incluir a chamada de um evento específico e monitorá-la através deste relatório.

Boas especificações a todos!!!

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s