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.
Serkan AKKAVAK
Computer Engineer
serkurumsal@yandex.com
Social Plugin