jueves, 16 de mayo de 2013

Colores/Formato en ABAP

Color en columnas ALV


Muchas veces queremos dar color a algunas celdas especificas de nuestro ALV.

Aquí la manera más sencilla de hacerlo:

Crear tu tabla interna (en lo personal, prefiero crear un tipo) con dos campos especiales
  
    a)   col(4)     TYPE c
  b) color      TYPE lvc_t_styl.

TYPES:      BEGIN OF ty_alv,
      col(4)     TYPE c,
      color      TYPE lvc_t_styl,
      campo      TYPE n,
      id         TYPE setid,
      campo1(50TYPE c,
      campo2     TYPE fdbl_de_h,
      campo3     TYPE fdbl_de_h,
      camp1      TYPE n,
      id1        TYPE setid,
      campo4(50TYPE c,
      campo5     TYPE fdbl_de_h,
      campo6     TYPE fdbl_de_h,
      END OF ty_alv,


DATAi_alv     TYPE TABLE OF ty_alv    WITH HEADER LINE,

El campo col será para indicar el color de la fila completa, mientras que el campo color permite
agregar formato a una celda en especifico.

El campo color es un tipo de linea, el cual se debe llenar de la siguiente manera:

a)  Declarar una variable del siguiente tipo lvc_t_styl

DATAcolores  TYPE LINE OF lvc_t_styl,

  colores-fieldname 'CAMPO1'. (nombre del campo al que se le dará formato)
  colores-style     '000000FF'.
  APPEND colores TO i_alv-color.


Con esto indicamos el formato que tendrá la celda del campo1. (Esto se debe hacer para todas las filas a las que se le quiera dar formato)
 
Y para cada fina al campo col se le asigna un color

 i_alv-col 'C111'. "(Azul)

Ejemplo de como quedaría la tabla interna.

 
 Al dar doble clic al campo color podemos observar lo siguiente:

 
Y el resultado final sería:

 
 
Espero les sirva.









No hay comentarios:

Publicar un comentario