Ayuda SAP

Agregar ícono dentro de tabla en screen painter

Hola a todos.
Estoy modificando un reporte en la herramienta SCREEN PAINTER que lo han diseñado mediante una dynpro, lo que se requiere es que en la nueva columna que he agregado y está enmarcada en rojo pueda mostrar el ícono del tacho de basura según cierta condición.

Gracias de antemano.

Jimmy.

Hola,

No entendí muy bien. Esa columna por lo que veo, contiene check-boxs… ¿quieres que en base a cierta condición, en lugar de ese check-box, se muestre el ícono del tacho de basura?

eso o quiere poner el botón de borrar en la fila …

pues yo se que por alv, puedes agregar iconos ahora, aqui en esta herramienta…desconozco pero si aqui se crea un catalogo, asumo que si !! la verdad no se, porque yo he trabajado con alv y alv en contenedores

@sconoredhot asi es en lugar de los check-box deseo que se muestre un icono de tacho de basura. @adalove solamente deseo que se muestre ese icono ya que no voy hacer ningún evento cuando sea presionada.

Ahora entendi.

Bueno, sí se puede. Te paso más o menos como sería:

Primero buscás en la tabla ICON, el ícono que necesitás, en este caso ICON_DELETE

Luego en tu programa, haría falta algo así:

* Que la definicion de tu tabla interna/working 
* area tenga un campo para el icono de char70
TYPES: BEGIN OF ty_prueba,
         icon1 TYPE char70,
         campo1 TYPE char50,
         campo2 TYPE char50,
       END OF ty_prueba.

* Una variable de char70
DATA: wa_prueba TYPE ty_prueba,
      lt_prueba TYPE TABLE OF ty_prueba,
      lv_tabix TYPE sy-tabix,
      lv_icon TYPE char70.

* creás el Icono borrar de esta manera, guardándolo en lv_icon
  CALL FUNCTION 'ICON_CREATE'
    EXPORTING
      name                  = 'ICON_DELETE'
      add_stdinf            = space
    IMPORTING
      RESULT                = lv_icon
    EXCEPTIONS
      icon_not_found        = 1
      outputfield_too_short = 2
      OTHERS                = 3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

* Cuando completas tu tabla, acorde a las condiciones que sean, 
* si hace falta, pasás el valor de lv_icon a tu working area / tabla interna.
wa_prueba-icon1  = lv_icon.
wa_prueba-campo1 = 'Foro'.
wa_prueba-campo2 = 'Consultoria-sap'.
APPEND wa_prueba TO lt_prueba.

* Llamás a la screen
CALL SCREEN 2000.

Te asegurás que el table control tenga el campo:

Y listo, es cuestión de probarlo:

Espero que te sirva!
Sebastián

3 Me gusta

Gracias @sconoredhot, antes que leyera tu post ya lo había resuelto e ingresé para compartirles la respuesta, veo que utilizaste una función para traer el icono yo lo hice con un SELECT SINGLE por name y obtengo el ID. De igual forma muchas gracias por tu ayuda.

2 Me gusta

Este tema se cerró automáticamente 7 días después del último post. No se permiten nuevas respuestas.