Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

alvs

Former Member
0 Kudos

hi,

how to use traffic light symbol in alvs,if possible with sample code also...........

regards,

srinu.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi Srinu,

check this sample code,

TYPE-POOLS : SLIS,

ICON.

TABLES : ZEMPLOYEEALV,ZEMPLOYEEALV2.

DATA : BEGIN OF WA_EMP1,

NAME TYPE ZEMPLOYEEALV-NAME,

SALARY TYPE ZEMPLOYEEALV-SALARY,

EXPERIENCE TYPE ZEMPLOYEEALV-EXPERIENCE,

DESIGNATION TYPE ZEMPLOYEEALV-DESIGNATION,

EXPAND,

BOX,

END OF WA_EMP1.

DATA: BEGIN OF WA_EMP2,

NAME TYPE ZEMPLOYEEALV2-NAME,

CITY TYPE ZEMPLOYEEALV2-CITY,

ADDRESS TYPE ZEMPLOYEEALV2-ADDRESS,

INCENTIVE TYPE ZEMPLOYEEALV2-INCENTIVE,

LIGHT,

END OF WA_EMP2.

DATA : IT_EMP1 LIKE TABLE OF WA_EMP1 WITH HEADER LINE, "Header Table

IT_EMP2 LIKE TABLE OF WA_EMP2 WITH HEADER LINE, "Item Table

IT_FCAT TYPE SLIS_T_FIELDCAT_ALV, "Fieldcat Table

WA_FIELDCAT LIKE LINE OF IT_FCAT. "Fieldcat Workarea

DATA IT_FCAT1 TYPE SLIS_T_FIELDCAT_ALV.

DATA WA_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA WA_KEYINFO TYPE SLIS_KEYINFO_ALV.

DATA: IT_EVENTS TYPE SLIS_T_EVENT,

WA_EVENTS LIKE LINE OF IT_EVENTS.

DATA WA_REPID TYPE SY-REPID.

*********************************************

WA_KEYINFO-HEADER01 = 'NAME'.

WA_KEYINFO-ITEM01 = 'NAME'.

******************************************

PERFORM FILL_TABLES.

PERFORM LAYOUT.

PERFORM FIELDCAT.

*******************************************

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

  • EXPORTING

  • I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = IT_EVENTS

  • EXCEPTIONS

  • LIST_TYPE_WRONG = 1

  • OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

BREAK-POINT.

READ TABLE IT_EVENTS INTO WA_EVENTS WITH KEY NAME = 'USER_COMMAND'.

IF SY-SUBRC = 0.

WA_EVENTS-FORM = 'FORM1'.

MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.

ENDIF.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

I_CALLBACK_PROGRAM = 'Z0255ALV_HIERARCHIALLIST'

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = IT_EVENTS

  • IT_EVENT_EXIT =

i_tabname_header = 'IT_EMP1'

i_tabname_item = 'IT_EMP2'

  • I_STRUCTURE_NAME_HEADER =

  • I_STRUCTURE_NAME_ITEM =

is_keyinfo = WA_KEYINFO

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

  • IR_SALV_HIERSEQ_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

tables

t_outtab_header = IT_EMP1

t_outtab_item = IT_EMP2

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

&----


*& Form FILL_TABLES

&----


form FILL_TABLES .

SELECT NAME

SALARY

EXPERIENCE

DESIGNATION

INTO TABLE IT_EMP1

FROM ZEMPLOYEEALV

UP TO 8 ROWS.

SELECT NAME

CITY

ADDRESS

INCENTIVE

INTO TABLE IT_EMP2

FROM ZEMPLOYEEALV2.

  • FOR ALL ENTRIES IN IT_EMP1 WHERE

  • NAME = IT_EMP1-NAME.

LOOP AT IT_EMP2.

IF IT_EMP2-INCENTIVE = 221.

IT_EMP2-LIGHT = '2'.

ELSEIF IT_EMP2-INCENTIVE = 255.

IT_EMP2-LIGHT = '1'.

ELSE.

IT_EMP2-LIGHT = '3'.

ENDIF.

MODIFY IT_EMP2 INDEX SY-TABIX.

ENDLOOP.

LOOP AT IT_EMP1.

IF IT_EMP1-SALARY = '100'.

IT_EMP1-BOX = 'X'.

ENDIF.

MODIFY IT_EMP1 INDEX SY-TABIX.

ENDLOOP.

endform. " FILL_TABLES

&----


*& Form LAYOUT

&----


form LAYOUT .

WA_LAYOUT-ZEBRA = 'X'.

WA_LAYOUT-EXPAND_FIELDNAME = 'EXPAND'. "FOR EXPANDING

WA_LAYOUT-EXPAND_ALL = 'X'.

WA_LAYOUT-LIGHTS_FIELDNAME = 'LIGHT'. " FOR LIGHT

WA_LAYOUT-LIGHTS_TABNAME = 'IT_EMP2'.

WA_LAYOUT-BOX_FIELDNAME = 'BOX'. " FOR CHECKBOX

WA_LAYOUT-BOX_TABNAME = 'IT_EMP1'.

endform. " LAYOUT

&----


*& Form FIELDCAT

&----


form FIELDCAT .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = WA_REPID

I_INTERNAL_TABNAME = 'IT_EMP1'

I_STRUCTURE_NAME = 'ZEMPLOYEEALV'

  • I_CLIENT_NEVER_DISPLAY = 'X'

  • I_INCLNAME = WA_REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_FCAT

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

DELETE IT_FCAT WHERE FIELDNAME <> 'NAME' AND

FIELDNAME <> 'SALARY' AND

FIELDNAME <> 'EXPERIENCE' AND

FIELDNAME <> 'DESIGNATION'.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = WA_REPID

I_INTERNAL_TABNAME = 'IT_EMP2'

I_STRUCTURE_NAME = 'ZEMPLOYEEALV2'

  • I_CLIENT_NEVER_DISPLAY = 'X'

  • I_INCLNAME =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_FCAT1

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

DELETE IT_FCAT1 WHERE FIELDNAME <> 'NAME' AND

FIELDNAME <> 'CITY' AND

FIELDNAME <> 'ADDRESS' AND

FIELDNAME <> 'INCENTIVE'.

APPEND LINES OF IT_FCAT1 TO IT_FCAT.

" FIELDCAT

ENDFORM.

*

FORM FORM1 USING UCOMM LIKE SY-UCOMM SEL_FIELD TYPE SLIS_SELFIELD.

BREAK-POINT.

WRITE: SEL_FIELD-FIELDNAME.

WRITE: SEL_FIELD-VALUE.

BREAK-POINT.

*IF SEL_FIELD-FIELDNAME = 'NAME'.

*SELECT * FROM ZEMPLO

ENDFORM.

Thanks,

reward If Helpful.

4 REPLIES 4

Former Member
0 Kudos

<b>Just check some checkboxes keep on doubleclicking.</b>

REPORT YMS_CHECKBOXALV.

TYPE-POOLS: slis.

DATA: t_fieldcatalog TYPE slis_t_fieldcat_alv.

DATA: s_fieldcatalog TYPE slis_fieldcat_alv.

DATA: s_layout TYPE slis_layout_alv.

DATA: BEGIN OF itab OCCURS 0,

icon TYPE icon-id,

vbeln TYPE vbeln,

kunnr TYPE kunnr,

erdat TYPE erdat,

box TYPE c,

END OF itab.

DATA: v_repid TYPE syrepid.

START-OF-SELECTION.

  • Get the data.

SELECT vbeln kunnr erdat UP TO 100 ROWS

FROM vbak

INTO CORRESPONDING FIELDS OF TABLE itab.

IF sy-subrc <> 0.

MESSAGE s208(00) WITH 'No data found'.

LEAVE LIST-PROCESSING.

ENDIF.

  • Modify the record with red light.

itab-icon = '@0A@'.

MODIFY itab TRANSPORTING icon WHERE NOT vbeln IS initial.

v_repid = sy-repid.

  • Get the field catalog.

CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '1'.

s_fieldcatalog-fieldname = 'ICON'.

s_fieldcatalog-tabname = 'ITAB'.

s_fieldcatalog-seltext_l = 'Status'.

s_fieldcatalog-icon = 'X'.

APPEND s_fieldcatalog TO t_fieldcatalog.

CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '2'.

s_fieldcatalog-fieldname = 'VBELN'.

s_fieldcatalog-tabname = 'ITAB'.

s_fieldcatalog-rollname = 'VBELN'.

APPEND s_fieldcatalog TO t_fieldcatalog.

CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '3'.

s_fieldcatalog-fieldname = 'KUNNR'.

s_fieldcatalog-tabname = 'ITAB'.

s_fieldcatalog-rollname = 'KUNNR'.

APPEND s_fieldcatalog TO t_fieldcatalog.

CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '4'.

s_fieldcatalog-fieldname = 'ERDAT'.

s_fieldcatalog-tabname = 'ITAB'.

s_fieldcatalog-rollname = 'ERDAT'.

APPEND s_fieldcatalog TO t_fieldcatalog.

  • Set the layout.

s_layout-box_fieldname = 'BOX'.

S_LAYOUT-F2CODE = 'DISP'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

i_callback_program = v_repid

is_layout = s_layout

i_callback_pf_status_set = 'SET_PF_STATUS'

i_callback_user_command = 'USER_COMMAND'

it_fieldcat = t_fieldcatalog[]

TABLES

t_outtab = itab.

FORM set_pf_status USING extab TYPE slis_t_extab.

SET PF-STATUS 'TEST1'.

ENDFORM.

FORM user_command USING ucomm LIKE sy-ucomm

selfield TYPE slis_selfield.

  • Check the ucomm.

IF UCOMM = 'DISP'.

LOOP AT itab WHERE box = 'X'.

IF ITAB-ICON = '@0A@'.

ITAB-ICON = '@08@'.

ELSEIF ITAB-ICON = '@08@'.

ITAB-ICON = '@09@'.

ELSEIF ITAB-ICON = '@09@'.

ITAB-ICON = '@0A@'.

ENDIF.

MODIFY itab TRANSPORTING icon.

ENDLOOP.

ENDIF.

selfield-refresh = 'X'.

ENDFORM.

@0A@ - Red

@09@ - Yellow

@08@ - Green

<b><u>Please dont forget to award points if needful</u></b>

Sudheer

sreeramkumar_madisetty
Active Contributor
0 Kudos

Hi Srinu

This coding is only for Red light, Modify the code accordingly as per your requirement.

REPORT YMS_CHECKBOXALV.

TYPE-POOLS: slis.

DATA: t_fieldcatalog TYPE slis_t_fieldcat_alv.

DATA: s_fieldcatalog TYPE slis_fieldcat_alv.

DATA: s_layout TYPE slis_layout_alv.

DATA: BEGIN OF itab OCCURS 0,

icon TYPE icon-id,

vbeln TYPE vbeln,

kunnr TYPE kunnr,

erdat TYPE erdat,

box TYPE c,

END OF itab.

DATA: v_repid TYPE syrepid.

START-OF-SELECTION.

  • Get the data.

SELECT vbeln kunnr erdat UP TO 100 ROWS

FROM vbak

INTO CORRESPONDING FIELDS OF TABLE itab.

IF sy-subrc <> 0.

MESSAGE s208(00) WITH 'No data found'.

LEAVE LIST-PROCESSING.

ENDIF.

  • Modify the record with red light.

itab-icon = '@0A@'.

MODIFY itab TRANSPORTING icon WHERE NOT vbeln IS initial.

v_repid = sy-repid.

  • Get the field catalog.

CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '1'.

s_fieldcatalog-fieldname = 'ICON'.

s_fieldcatalog-tabname = 'ITAB'.

s_fieldcatalog-seltext_l = 'Status'.

s_fieldcatalog-icon = 'X'.

APPEND s_fieldcatalog TO t_fieldcatalog.

CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '2'.

s_fieldcatalog-fieldname = 'VBELN'.

s_fieldcatalog-tabname = 'ITAB'.

s_fieldcatalog-rollname = 'VBELN'.

APPEND s_fieldcatalog TO t_fieldcatalog.

CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '3'.

s_fieldcatalog-fieldname = 'KUNNR'.

s_fieldcatalog-tabname = 'ITAB'.

s_fieldcatalog-rollname = 'KUNNR'.

APPEND s_fieldcatalog TO t_fieldcatalog.

CLEAR: s_fieldcatalog.

s_fieldcatalog-col_pos = '4'.

s_fieldcatalog-fieldname = 'ERDAT'.

s_fieldcatalog-tabname = 'ITAB'.

s_fieldcatalog-rollname = 'ERDAT'.

APPEND s_fieldcatalog TO t_fieldcatalog.

  • Set the layout.

s_layout-box_fieldname = 'BOX'.

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

i_callback_program = v_repid

is_layout = s_layout

i_callback_pf_status_set = 'SET_PF_STATUS'

i_callback_user_command = 'USER_COMMAND'

it_fieldcat = t_fieldcatalog[]

TABLES

t_outtab = itab.

----


  • FORM SET_PF_STATUS *

----


  • ........ *

----


  • --> EXTAB *

----


FORM set_pf_status USING extab TYPE slis_t_extab.

SET PF-STATUS 'TEST2'.

ENDFORM.

----


  • FORM user_command *

----


  • ........ *

----


  • --> UCOMM *

  • --> SELFIELD *

----


FORM user_command USING ucomm LIKE sy-ucomm

selfield TYPE slis_selfield.

  • Check the ucomm.

IF ucomm = 'DETAIL'.

LOOP AT itab WHERE box = 'X'.

itab-icon = '@08@'.

MODIFY itab TRANSPORTING icon.

ENDLOOP.

ENDIF.

selfield-refresh = 'X'.

ENDFORM.

Hope this resolves your query.

Reward all the helpful answers.

Regards,

Sree

Former Member
0 Kudos

Hi Srinu,

check this sample code,

TYPE-POOLS : SLIS,

ICON.

TABLES : ZEMPLOYEEALV,ZEMPLOYEEALV2.

DATA : BEGIN OF WA_EMP1,

NAME TYPE ZEMPLOYEEALV-NAME,

SALARY TYPE ZEMPLOYEEALV-SALARY,

EXPERIENCE TYPE ZEMPLOYEEALV-EXPERIENCE,

DESIGNATION TYPE ZEMPLOYEEALV-DESIGNATION,

EXPAND,

BOX,

END OF WA_EMP1.

DATA: BEGIN OF WA_EMP2,

NAME TYPE ZEMPLOYEEALV2-NAME,

CITY TYPE ZEMPLOYEEALV2-CITY,

ADDRESS TYPE ZEMPLOYEEALV2-ADDRESS,

INCENTIVE TYPE ZEMPLOYEEALV2-INCENTIVE,

LIGHT,

END OF WA_EMP2.

DATA : IT_EMP1 LIKE TABLE OF WA_EMP1 WITH HEADER LINE, "Header Table

IT_EMP2 LIKE TABLE OF WA_EMP2 WITH HEADER LINE, "Item Table

IT_FCAT TYPE SLIS_T_FIELDCAT_ALV, "Fieldcat Table

WA_FIELDCAT LIKE LINE OF IT_FCAT. "Fieldcat Workarea

DATA IT_FCAT1 TYPE SLIS_T_FIELDCAT_ALV.

DATA WA_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA WA_KEYINFO TYPE SLIS_KEYINFO_ALV.

DATA: IT_EVENTS TYPE SLIS_T_EVENT,

WA_EVENTS LIKE LINE OF IT_EVENTS.

DATA WA_REPID TYPE SY-REPID.

*********************************************

WA_KEYINFO-HEADER01 = 'NAME'.

WA_KEYINFO-ITEM01 = 'NAME'.

******************************************

PERFORM FILL_TABLES.

PERFORM LAYOUT.

PERFORM FIELDCAT.

*******************************************

CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

  • EXPORTING

  • I_LIST_TYPE = 0

IMPORTING

ET_EVENTS = IT_EVENTS

  • EXCEPTIONS

  • LIST_TYPE_WRONG = 1

  • OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

BREAK-POINT.

READ TABLE IT_EVENTS INTO WA_EVENTS WITH KEY NAME = 'USER_COMMAND'.

IF SY-SUBRC = 0.

WA_EVENTS-FORM = 'FORM1'.

MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.

ENDIF.

CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

I_CALLBACK_PROGRAM = 'Z0255ALV_HIERARCHIALLIST'

  • I_CALLBACK_PF_STATUS_SET = ' '

  • I_CALLBACK_USER_COMMAND = ' '

IS_LAYOUT = WA_LAYOUT

IT_FIELDCAT = IT_FCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = IT_EVENTS

  • IT_EVENT_EXIT =

i_tabname_header = 'IT_EMP1'

i_tabname_item = 'IT_EMP2'

  • I_STRUCTURE_NAME_HEADER =

  • I_STRUCTURE_NAME_ITEM =

is_keyinfo = WA_KEYINFO

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

  • IR_SALV_HIERSEQ_ADAPTER =

  • IT_EXCEPT_QINFO =

  • I_SUPPRESS_EMPTY_DATA = ABAP_FALSE

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

tables

t_outtab_header = IT_EMP1

t_outtab_item = IT_EMP2

  • EXCEPTIONS

  • PROGRAM_ERROR = 1

  • OTHERS = 2

.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

&----


*& Form FILL_TABLES

&----


form FILL_TABLES .

SELECT NAME

SALARY

EXPERIENCE

DESIGNATION

INTO TABLE IT_EMP1

FROM ZEMPLOYEEALV

UP TO 8 ROWS.

SELECT NAME

CITY

ADDRESS

INCENTIVE

INTO TABLE IT_EMP2

FROM ZEMPLOYEEALV2.

  • FOR ALL ENTRIES IN IT_EMP1 WHERE

  • NAME = IT_EMP1-NAME.

LOOP AT IT_EMP2.

IF IT_EMP2-INCENTIVE = 221.

IT_EMP2-LIGHT = '2'.

ELSEIF IT_EMP2-INCENTIVE = 255.

IT_EMP2-LIGHT = '1'.

ELSE.

IT_EMP2-LIGHT = '3'.

ENDIF.

MODIFY IT_EMP2 INDEX SY-TABIX.

ENDLOOP.

LOOP AT IT_EMP1.

IF IT_EMP1-SALARY = '100'.

IT_EMP1-BOX = 'X'.

ENDIF.

MODIFY IT_EMP1 INDEX SY-TABIX.

ENDLOOP.

endform. " FILL_TABLES

&----


*& Form LAYOUT

&----


form LAYOUT .

WA_LAYOUT-ZEBRA = 'X'.

WA_LAYOUT-EXPAND_FIELDNAME = 'EXPAND'. "FOR EXPANDING

WA_LAYOUT-EXPAND_ALL = 'X'.

WA_LAYOUT-LIGHTS_FIELDNAME = 'LIGHT'. " FOR LIGHT

WA_LAYOUT-LIGHTS_TABNAME = 'IT_EMP2'.

WA_LAYOUT-BOX_FIELDNAME = 'BOX'. " FOR CHECKBOX

WA_LAYOUT-BOX_TABNAME = 'IT_EMP1'.

endform. " LAYOUT

&----


*& Form FIELDCAT

&----


form FIELDCAT .

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = WA_REPID

I_INTERNAL_TABNAME = 'IT_EMP1'

I_STRUCTURE_NAME = 'ZEMPLOYEEALV'

  • I_CLIENT_NEVER_DISPLAY = 'X'

  • I_INCLNAME = WA_REPID

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_FCAT

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

DELETE IT_FCAT WHERE FIELDNAME <> 'NAME' AND

FIELDNAME <> 'SALARY' AND

FIELDNAME <> 'EXPERIENCE' AND

FIELDNAME <> 'DESIGNATION'.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

I_PROGRAM_NAME = WA_REPID

I_INTERNAL_TABNAME = 'IT_EMP2'

I_STRUCTURE_NAME = 'ZEMPLOYEEALV2'

  • I_CLIENT_NEVER_DISPLAY = 'X'

  • I_INCLNAME =

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE =

CHANGING

CT_FIELDCAT = IT_FCAT1

  • EXCEPTIONS

  • INCONSISTENT_INTERFACE = 1

  • PROGRAM_ERROR = 2

  • OTHERS = 3

.

IF SY-SUBRC <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

DELETE IT_FCAT1 WHERE FIELDNAME <> 'NAME' AND

FIELDNAME <> 'CITY' AND

FIELDNAME <> 'ADDRESS' AND

FIELDNAME <> 'INCENTIVE'.

APPEND LINES OF IT_FCAT1 TO IT_FCAT.

" FIELDCAT

ENDFORM.

*

FORM FORM1 USING UCOMM LIKE SY-UCOMM SEL_FIELD TYPE SLIS_SELFIELD.

BREAK-POINT.

WRITE: SEL_FIELD-FIELDNAME.

WRITE: SEL_FIELD-VALUE.

BREAK-POINT.

*IF SEL_FIELD-FIELDNAME = 'NAME'.

*SELECT * FROM ZEMPLO

ENDFORM.

Thanks,

reward If Helpful.

Former Member
0 Kudos

Hi,

To use traffic light symbols you have to build a LAYOUT within which one field should be used for Lights and then pass this layout in Function Module parameter named layout.

You can get all idea of how to do it using program: BALVSD01 which can be seen in SE80 : enter Package name: SLIS

Reward if useful.

Regards,

Harsha