sábado, 3 de dezembro de 2011

Buscando BADI por transação

As BADIs são uma ótima forma de incluirmos nossos códigos dentro de transações standard, mas antes de qualquer implementação você precisa encontrar as BADIs que são executadas na transação e suas respectivas definições.
Nesse post eu vou mostrar como encontrar essas definições apenas executando a transação desejada.

Primeiro inclua um break-point na linha 10 da função SXV_GET_CLIF_BY_NAME (SE37).

Break-point colocado no modulo de função SXV_GET_CLIF_BY_NAME

Execute a transação desejada e toda a vez que uma BADI for chamada o sistema irá parar no break-point acima e no campo name você pode visualizar o nome da definição

Localizando uma BADI na transação XD02
Execute a transação XD02 com um cliente qualquer, faça uma modificação no endereço e salve, o sistema irá parar no break-point e você poderá visualizar ADDRESS_CHECK no campo name.

ABAP debugger exibindo definição da BADI

Acesse a transação SE18, informe ADDRESS_CHECK e clique em exibir. Pronto agora você tem uma BADI para implementar uma validação de endereço, é só acessar a SE19 e fazer a sua implementação.

Visualização da definição pela SE18