Para que tu botón llame a una transacción lo primero que debes hacer es asignarle un valor a tu botón, esto se realiza es el pf-status de tu alv (aquí también defines los botones que este tendrá ya sean Standard o alguno creado por ti), luego en el programa preguntas por el sy-ucomm, cuando este sea igual al nombre de tu botón realizas un call transaction, el código seria mas o menos así:
if sy-ucomm = "nombre que le asignaste a tu botón".
CALL TRANSACTION 'el nombre de la transacción que deseas llamar’.
endif.
Ojala te sirva de algo mi ayuda, cualquier cosa preguntas.
Saludos.