Skip to Content


Recientemente tuve la solicitud de agregar un botón en una transacción estándar para lanzar un programa Z desde ella.   Lo lógico es buscar un USER EXIT o BADI que permita hacer la modificación, pero hay ocasiones en que la transacción no proporciona ninguna de las dos opciones.

Afortunadamente, el ENHANCEMENT FRAMEWORK ofrece una alternativa para casos como este. El ejemplo siguiente describe el procedimiento:

Supongamos que nos piden agregar un botón en la DYNPRO inicial de la transacción VL02N para desplegar un reporte Z y decidimos hacerlo mediante la implementación de un ENHANCEMENT.

En primer lugar identificamos el programa y la Dynpro que queremos modificar.  Para esto vamos al menú sistema y elegimos la opción status

En esta pantalla podemos ver que el programa correspondiente a la transacción es SAPMV50A con la Dynpro 4004 usando el Status GUI E0.

A continuación creamos una copia del status GUI E0 en un programa Z y le ponemos el nombre ZE0.  Una forma de hacerlo es mediante la transacción SE41:

En el nuevo status creamos el botón adicional.  Para el ejemplo lo llamamos BOTON_TEST

El paso siguiente es crear la ampliación ENHANCEMENT en la dynpro 4004.  Para ello buscamos el texto “pf-satus” en el programa SAPMV50A.

Vamos a la línea numerada con el 52 que es donde se asigna el status GUI por defecto E0 y creamos un enhancement en este objeto, teniendo cuidado de poner restricciones para que solo se active en el programa, la dynpro y bajo las condiciones que deseamos que se active:

Una vez activado el objeto de ampliación ejecutamos la transacción VL02N y veremos cómo se ejecuta la ampliación presentando en STATUS GUI personalizado en lugar del estándar incluyendo el nuevo botón.

Muchas gracias por su atención.  Espero que les sea de ayuda.

To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

Leave a Reply