Example of how to color a column value in ALV Report?
REPORT z_colour NO STANDARD PAGE HEADING .
TABLES :pa0002.
TYPE-POOLS: slis."ALV Declarations
DATA :
BEGIN OF it OCCURS 0,
pernr LIKE pa0001-pernr,
rufnm LIKE pa0002-rufnm,
cell_colour TYPE lvc_t_scol, "Cell colour
END OF it.
SELECTION-SCREEN BEGIN OF BLOCK main WITH FRAME.
SELECT-OPTIONS :s_pnum FOR pa0002-pernr .
SELECTION-SCREEN END OF BLOCK main.
*ALV data declarations
DATA:
fieldcatalog TYPE slis_t_fieldcat_alv WITH HEADER LINE,
gd_layout TYPE slis_layout_alv,
gd_repid LIKE sy-repid,
gt_sort TYPE slis_t_sortinfo_alv.
* To colour a cell.
DATA ls_cellcolour TYPE lvc_s_scol.
START-OF-SELECTION.
PERFORM data_retrieval.
PERFORM build_fieldcatalog.
PERFORM build_layout.
PERFORM display_alv_report.
END-OF-SELECTION.
FREE : it.
FORM build_fieldcatalog .
fieldcatalog-fieldname = 'PERNR'.
fieldcatalog-seltext_m = 'Personnel No.'.
fieldcatalog-col_pos = 0.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
fieldcatalog-fieldname = 'RUFNM'.
fieldcatalog-seltext_m = 'Name'.
fieldcatalog-col_pos = 0.
APPEND fieldcatalog TO fieldcatalog.
CLEAR fieldcatalog.
ENDFORM.
FORM build_layout .
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(256).
gd_layout-coltab_fieldname = 'CELL_COLOUR'.
ENDFORM. " build_layout
FORM display_alv_report .
gd_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program= gd_repid
is_layout = gd_layout
it_fieldcat = fieldcatalog[]
i_save = 'A'
TABLES
t_outtab = it
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
ENDIF.
ENDFORM. " display_alv_report
FORM data_retrieval .
select pernr rufnm from pa0002 into corresponding
fields of table it where pernr in s_pnum.
LOOP AT it.
*Now based on the value of the field pernr we can
change the cell colour of the field rufnm or pernr.
IF it-pernr eq '10001' .
ls_cellcolour-fname = 'RUFNM'.
ls_cellcolour-color-col = '5'.
ls_cellcolour-color-int = '1'.
ls_cellcolour-color-inv = '0'.
APPEND ls_cellcolour TO it-cell_colour.
IF sy-subrc EQ 0.
MODIFY it.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.