REUSE_ALV_LIST_DISPLAY- 6

light11Use of ALV LAYOUT- Displaying Traffic Light

 

 

 

The previous post shows REUSE_ALV_LIST_DISPLAY- 5 how to hide the column header text. This post shows how to display traffic light by setting the layout property.


Code Snippet:


———-data declarations——–
TYPE-POOLS: slis.
TYPES: BEGIN OF ty_flight,
light.                                                     ” ADD a filed for the traffic light of length char 1
INCLUDE STRUCTURE spfli.
TYPES: END OF ty_flight.
DATA: lt_spfli TYPE TABLE OF ty_flight.
DATA: ls_spfli TYPE ty_flight.
DATA: ls_layout TYPE slis_layout_alv.
———————————–

START-OF-SELECTION.
PERFORM build_data.
PERFORM build_layout.
PERFORM display_list_alv.

&————————————————-
& Form BUILD_DATA
&————————————————-*
FORM build_data.
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE lt_spfli.

” For each record provide the LIGHT value- it  should be 1/2/3
LOOP AT lt_spfli INTO ls_spfli.
IF sy-tabix LE 5.
ls_spfli-light = 1. ” 1 means Red Light
ELSEIF sy-tabix GT 5 AND sy-tabix LE 15.
ls_spfli-light = 2. ” 2 means Yellow Light
ELSE.
ls_spfli-light = 3. ”  3 means Green Light
ENDIF.
MODIFY lt_spfli FROM ls_spfli TRANSPORTING light.
ENDLOOP.
ENDFORM. ” BUILD_DATA
&————————————————–
& Form BUILD_LAYOUT
&————————————————–
FORM build_layout.
ls_layout-zebra = ‘X’.
“ls_layout-no_vline = ‘X’.
“ls_layout-no_colhead = ‘X’.
ls_layout-lights_fieldname = ‘LIGHT’.   ” Pass the field name that will act as traffic light
ENDFORM. ” BUILD_LAYOUT
&—————————————————
& Form DISPLAY_LIST_ALV
&—————————————————-
FORM display_list_alv.
CALL FUNCTION ‘REUSE_ALV_LIST_DISPLAY’
EXPORTING
i_callback_program = sy-cprog
i_structure_name = ‘SPFLI’
is_layout = ls_layout
TABLES
t_outtab = lt_spfli
EXCEPTIONS
program_error = 1
OTHERS = 2.
CASE sy-subrc.
WHEN 1.
MESSAGE ‘Program Error’ TYPE ‘I’.
WHEN OTHERS.
ENDCASE.
ENDFORM. ” DISPLAY_LIST_ALV


Program Output:

5.jpg


 

2 comments

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s