Inicio > ABAP/4 > Push Button dinámico en dynpro

Push Button dinámico en dynpro

Transacción: SE51, SE80

Escenario: Se busca crear un pushbutton dinámico en una dynpro: cuando inicie la pantalla el botón tendrá un ícono y un texto y luego de realizar una acción se busca que tenga otro ícono y otro texto distinto.

Para ello, necesitamos crear una variable con el mismo nombre del pushbutton en el TOP del programa y después en el PBO hacer el cambio.

* En el TOP

DATA: BTN_CANCELAR(20) type c.

* PBO

PROCESS BEFORE OUTPUT.

MODULE texto_boton.

* MODULES

MODULE texto_boton OUTPUT.

LOOP AT SCREEN.

* Botón cancelar: cuando se realiza una factura, muestra el botón VOLVER

IF screen-name = ‘BTN_CANCELAR’.

IF w_fac_generada = ‘X’.

btn_cancelar = ‘@2W@Volver’.

ELSE.

btn_cancelar = ‘@02@Cancelar Factura’.

ENDIF.

ENDIF.

ENDLOOP.

Podemos buscar los íconos de SAP en la tabla ICON por la transacción SE16. Para conocer los distintos códigos de ícono de cada uno, tenemos que concatenar el campo id+1(2) e id entre arrobas.

Ejemplo:

La X roja, o ICON_INCOMPLETE sería: @02@. Como en la SE16 aparecen con la imagen un truco es ir al matchcode, elegir el que uno quiere y el valor que retorna es el código buscado.

Sino este programa puede ser útil para listarlos:

REPORT ZSAPIconsList .

DATA :

gs_icon TYPE ICON,

gt_icon TYPE TABLE OF ICON.

SELECT * FROM icon INTO TABLE gt_icon.

LOOP AT gt_icon INTO gs_icon.

WRITE:/

gs_icon-name,

33 ‘@’,

34 gs_icon-id+1(2),

36 ‘@’,

40 gs_icon-id.

ENDLOOP.

Categorías:ABAP/4 Etiquetas: , ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: