Color a Column Value in ALV
Report
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.
Tips by : Vinod
More Abapers Questions:
ABAP Books List
ABAP/4 Certification,
Programming and Object Oriented Programming Books
Smart Forms
SAP Smartforms
ABAP Menu:
ABAP Example Hints
and Tips
Return to Index:-
SAP ABAP/4 Programming,
Basis Administration, Configuration Hints and Tips
(c) www.gotothings.com All material on this site is Copyright.
Every effort is made to ensure the content integrity.
Information used on this site is at your own risk.
All product names are trademarks of their respective
companies. The site www.gotothings.com is in no way affiliated with
SAP AG.
Any unauthorised copying or mirroring is prohibited.
|