ALV Grid Color - Table Row Background Color in ALV List
ABAP developers can find a tutorial on how alternating ALV grid color can be used while displaying data rows on ALV lists at Multi Color ALV Grid Color Alternate using ALV Layout info_fname Property.
Of course, in this method in ABAP codes zebra layout style is not used for ALV Grid table row background color.
Because zebra layout has only two colors alternating each row or each record on the ALV list.
But on the mentioned ABAP ALV tutorial, we have pairs to be in same color on the ALV Grid display.
And following pairs must have different grid color.
In this ALV tutorial, we are going one more step ahead in order to color grids and color ALV list sample.
Here is the ABAP report source code for the ALV Grid color sample program where ALV list has table row background color different in each ALV grid row.
In the below ABAP report, ABAP developers will see the color grid codes assigned to the info_fname property of the ALV grid layout structure.
There are 9 color grid codes for use in ALV lists.
These ALV grid color codes are :
C110
C210
C310
C410
C510
C610
C710
C810
C010
REPORT ZABAPColorALVGridRows .
TYPES:
BEGIN OF gty_vbak,
vbeln TYPE vbeln,
line_color(4) TYPE c,
END OF gty_vbak.
DATA :
lv_i TYPE i,
lv_c(1) TYPE c,
lv_doubl(1) TYPE c,
lv_color(4) TYPE c,
gs_vbak TYPE gty_vbak,
gt_vbak TYPE TABLE OF gty_vbak.
DATA :
g_container TYPE scrfname VALUE 'CC_CONTAINER',
g_custom_container TYPE REF TO cl_gui_custom_container,
g_grid TYPE REF TO cl_gui_alv_grid,
gs_layout TYPE lvc_s_layo,
gs_fieldcatalog TYPE lvc_s_fcat OCCURS 0,
gv_fcat LIKE LINE OF gs_fieldcatalog,
ok_code LIKE sy-ucomm.
START-OF-SELECTION.
SELECT vbeln INTO TABLE gt_vbak FROM vbak UP TO 20 ROWS.
LOOP AT gt_vbak INTO gs_vbak.
lv_i = sy-tabix MOD 9.
lv_c = lv_i.
CONCATENATE 'C' lv_c '10' INTO lv_color.
gs_vbak-line_color = lv_color.
MODIFY gt_vbak FROM gs_vbak.
ENDLOOP.
CALL SCREEN 100.
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
CASE ok_code .
WHEN 'BACK' OR 'EXIT' OR 'CNCL'.
LEAVE PROGRAM.
WHEN OTHERS.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS'.
SET TITLEBAR 'TITLE'.
IF g_custom_container IS INITIAL.
" Create CONTAINER object with reference to container name on the screen
CREATE OBJECT g_custom_container EXPORTING container_name = g_container.
" Create GRID object with reference to parent name
CREATE OBJECT g_grid EXPORTING i_parent = g_custom_container.
PERFORM u_preparefieldcatalog.
gs_layout-info_fname = 'LINE_COLOR'.
" SET_TABLE_FOR_FIRST_DISPLAY
CALL METHOD g_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_fieldcatalog = gs_fieldcatalog
it_outtab = gt_vbak.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
*& Form u_preparefieldcatalog
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM u_preparefieldcatalog .
CLEAR gv_fcat.
gv_fcat-fieldname = 'VBELN'.
gv_fcat-tabname = 'VBAP'.
gv_fcat-coltext = 'Order No.'.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
ENDFORM. "u_preparefieldcatalog
ABAP programmers can use the above color codes for their ALV grid table row background color to make their SAP applications more advanced.