Добавьте еще один столбец type lvc_t_scol
к вашей окончательной выходной таблице, заполните его и скажите ALV, чтобы использовать его в качестве цветного столбца.
Вот сообщение в блоге , в котором указаны возможные цвета.
* declaration of output table with color column
TYPES: BEGIN OF lty_output,
carrid TYPE scarr-carrid,
carrname TYPE scarr-carrname,
color TYPE lvc_t_scol,
END OF lty_output.
DATA gt_output TYPE STANDARD TABLE OF lty_output.
* filling color column of output table (e.g. based on condition during a LOOP)
DATA: ls_color TYPE lvc_s_scol,
lt_color TYPE lvc_t_scol.
gt_output = VALUE #(
( carrid = 'AA' carrname = 'American Airlines' color = VALUE #(
( fname = 'CARRNAME' color = VALUE #( col = 6 int = 0 inv = 0 ) ) ) )
( carrid = 'AF' carrname = 'Air France' color = VALUE #(
( fname = 'CARRID' color = VALUE #( col = 7 int = 0 inv = 0 ) )
( fname = 'CARRNAME' color = VALUE #( col = 5 int = 0 inv = 0 ) ) ) )
( carrid = 'LH' carrname = 'Lufthansa' color = VALUE #(
( fname = '' color = VALUE #( col = 3 int = 0 inv = 0 ) ) ) ) ).
cl_salv_table=>factory(
IMPORTING
r_salv_table = DATA(go_alv)
CHANGING
t_table = gt_output ).
* setting color column
go_alv->get_columns( )->set_color_column( 'COLOR' ).
go_alv->display( ).