Te recomiendo que mires el siguiente thread de tracer:
Ahí tenés una explicación sintética pero bastante clara y completa de qué son las BADIs y cómo utilizarlas...
yo hasta hace unas semanas no tenía idea de qué era una BADI y con ese thread como única ayuda pude realizar un desarrollo que involucraba una BADI sin ningún problema, así que lo recomiendo completamente