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: 

How to add an editable checkbox to an alv grid

former_member1110335
Participant
0 Kudos

Hi..

I need to add an editable checkbox to a alv grid.

I wouls appreciatet it if anyone could provide some sample code.

The standard example BCALV_EDIT_05 is an oops example... I need a simple example

Please help

thanks

Karen

1 ACCEPTED SOLUTION

prasanth_kasturi
Active Contributor
0 Kudos

hi

after you pass a field as checkbox in fieldcat

then in layout populate edit

ex wa_layout-edit = 'X'.

try the following code

REPORT ZALV5.

TYPE-POOLS: slis.

tables: mara.

DATA: begin of it_mara OCCURS 0,

matnr like mara-matnr,

mbrsh like mara-mbrsh,

matkl like mara-matkl,

meins like mara-meins,

ersda like mara-ersda,

ernam like mara-ernam,

W_CHK type c ,

END OF it_mara.

*data: it_mara like mara occurs 0 with header line.

data:it_feildtab type slis_t_fieldcat_alv,

wa_fieldcat type slis_fieldcat_alv.

*DATA: i_private TYPE slis_data_caller_exit,

data: i_selfield TYPE slis_selfield,

W_exit(1) TYPE c.

PARAMETERS: p_title TYPE sy-title default 'ALV'.

*

START-OF-SELECTION.

SELECT matnr mbrsh matkl meins ersda ernam FROM mara

INTO corresponding fields of table it_mara.

wa_fieldcat-col_pos = '1'.

wa_fieldcat-fieldname = 'W_CHK'.

*wa_FIELDCAT-KEY = 'X'.

*wa_fieldcat-tabname = 'IT_MARA'.

*wa_fieldcat-seltext_s = 'units of measure'.

wa_fieldcat-checkbox = 'X'.

APPEND wa_fieldcat TO it_feildtab.

CLEAR wa_fieldcat .

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = '2'.

wa_fieldcat-tabname = 'IT_MARA'.

wa_fieldcat-fieldname = 'MATNR'.

wa_fieldcat-key = 'X'.

wa_fieldcat-hotspot = 'X'.

wa_fieldcat-seltext_s = 'no'.

APPEND wa_fieldcat TO it_feildtab.

CLEAR wa_fieldcat .

wa_fieldcat-col_pos = '3'.

wa_fieldcat-fieldname = 'MBRSH'.

*wa_FIELDCAT-KEY = 'X'.

wa_fieldcat-tabname = 'IT_MARA'.

wa_fieldcat-seltext_s = 'Ind.sec'.

APPEND wa_fieldcat TO it_feildtab.

CLEAR wa_fieldcat .

wa_fieldcat-col_pos = '4'.

wa_fieldcat-fieldname = 'MATKL'.

*wa_FIELDCAT-KEY = 'X'.

wa_fieldcat-tabname = 'IT_MARA'.

wa_fieldcat-seltext_s = 'Description'.

APPEND wa_fieldcat TO it_feildtab.

CLEAR wa_fieldcat .

wa_fieldcat-col_pos = '5'.

wa_fieldcat-fieldname = 'MEINS'.

*wa_FIELDCAT-KEY = 'X'.

wa_fieldcat-tabname = 'IT_MARA'.

wa_fieldcat-edit = 'X'.

wa_fieldcat-seltext_s = 'units of measure'.

APPEND wa_fieldcat TO it_feildtab.

CLEAR wa_fieldcat .

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

EXPORTING

i_title = p_title

i_selection = 'X'

i_zebra = 'X'

I_SCREEN_START_COLUMN = 0

I_SCREEN_START_LINE = 0

I_SCREEN_END_COLUMN = 0

I_SCREEN_END_LINE = 0

i_checkbox_fieldname = 'W_CHK'

  • I_LINEMARK_FIELDNAME =

  • I_SCROLL_TO_SEL_LINE = 'X'

i_tabname = 'IT_MARA'

  • i_structure_name = 'IT_MARA'

IT_FIELDCAT = it_feildtab

  • IT_EXCLUDING =

  • I_CALLBACK_PROGRAM =

  • I_CALLBACK_USER_COMMAND =

  • IS_PRIVATE = I_PRIVATE

IMPORTING

es_selfield = i_selfield

e_exit = w_exit

TABLES

t_outtab = it_mara

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

  • MESSAGE i000(0k) WITH sy-subrc.

ENDIF.

LOOP AT it_mara WHERE W_CHK = 'X'.

WRITE: / it_mara-ersda, it_mara-ernam.

ENDLOOP.

reward if helpful

prasanth

5 REPLIES 5

Former Member
0 Kudos

Hi,

Check the Edit Option In your Layout.

so that in your output you will getting a editable checkbox.

wa_fieldcat-col_pos = '1'.

wa_fieldcat-fieldname = 'W_CHK'.

*wa_FIELDCAT-KEY = 'X'.

*wa_fieldcat-tabname = 'IT_MARA'.

*wa_fieldcat-seltext_s = 'units of measure'.

wa_fieldcat-checkbox = 'X'.

Reward If Helpfull,

Naresh.

prasanth_kasturi
Active Contributor
0 Kudos

hi

after you pass a field as checkbox in fieldcat

then in layout populate edit

ex wa_layout-edit = 'X'.

try the following code

REPORT ZALV5.

TYPE-POOLS: slis.

tables: mara.

DATA: begin of it_mara OCCURS 0,

matnr like mara-matnr,

mbrsh like mara-mbrsh,

matkl like mara-matkl,

meins like mara-meins,

ersda like mara-ersda,

ernam like mara-ernam,

W_CHK type c ,

END OF it_mara.

*data: it_mara like mara occurs 0 with header line.

data:it_feildtab type slis_t_fieldcat_alv,

wa_fieldcat type slis_fieldcat_alv.

*DATA: i_private TYPE slis_data_caller_exit,

data: i_selfield TYPE slis_selfield,

W_exit(1) TYPE c.

PARAMETERS: p_title TYPE sy-title default 'ALV'.

*

START-OF-SELECTION.

SELECT matnr mbrsh matkl meins ersda ernam FROM mara

INTO corresponding fields of table it_mara.

wa_fieldcat-col_pos = '1'.

wa_fieldcat-fieldname = 'W_CHK'.

*wa_FIELDCAT-KEY = 'X'.

*wa_fieldcat-tabname = 'IT_MARA'.

*wa_fieldcat-seltext_s = 'units of measure'.

wa_fieldcat-checkbox = 'X'.

APPEND wa_fieldcat TO it_feildtab.

CLEAR wa_fieldcat .

CLEAR wa_fieldcat.

wa_fieldcat-col_pos = '2'.

wa_fieldcat-tabname = 'IT_MARA'.

wa_fieldcat-fieldname = 'MATNR'.

wa_fieldcat-key = 'X'.

wa_fieldcat-hotspot = 'X'.

wa_fieldcat-seltext_s = 'no'.

APPEND wa_fieldcat TO it_feildtab.

CLEAR wa_fieldcat .

wa_fieldcat-col_pos = '3'.

wa_fieldcat-fieldname = 'MBRSH'.

*wa_FIELDCAT-KEY = 'X'.

wa_fieldcat-tabname = 'IT_MARA'.

wa_fieldcat-seltext_s = 'Ind.sec'.

APPEND wa_fieldcat TO it_feildtab.

CLEAR wa_fieldcat .

wa_fieldcat-col_pos = '4'.

wa_fieldcat-fieldname = 'MATKL'.

*wa_FIELDCAT-KEY = 'X'.

wa_fieldcat-tabname = 'IT_MARA'.

wa_fieldcat-seltext_s = 'Description'.

APPEND wa_fieldcat TO it_feildtab.

CLEAR wa_fieldcat .

wa_fieldcat-col_pos = '5'.

wa_fieldcat-fieldname = 'MEINS'.

*wa_FIELDCAT-KEY = 'X'.

wa_fieldcat-tabname = 'IT_MARA'.

wa_fieldcat-edit = 'X'.

wa_fieldcat-seltext_s = 'units of measure'.

APPEND wa_fieldcat TO it_feildtab.

CLEAR wa_fieldcat .

CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'

EXPORTING

i_title = p_title

i_selection = 'X'

i_zebra = 'X'

I_SCREEN_START_COLUMN = 0

I_SCREEN_START_LINE = 0

I_SCREEN_END_COLUMN = 0

I_SCREEN_END_LINE = 0

i_checkbox_fieldname = 'W_CHK'

  • I_LINEMARK_FIELDNAME =

  • I_SCROLL_TO_SEL_LINE = 'X'

i_tabname = 'IT_MARA'

  • i_structure_name = 'IT_MARA'

IT_FIELDCAT = it_feildtab

  • IT_EXCLUDING =

  • I_CALLBACK_PROGRAM =

  • I_CALLBACK_USER_COMMAND =

  • IS_PRIVATE = I_PRIVATE

IMPORTING

es_selfield = i_selfield

e_exit = w_exit

TABLES

t_outtab = it_mara

EXCEPTIONS

program_error = 1

OTHERS = 2.

IF sy-subrc <> 0.

  • MESSAGE i000(0k) WITH sy-subrc.

ENDIF.

LOOP AT it_mara WHERE W_CHK = 'X'.

WRITE: / it_mara-ersda, it_mara-ernam.

ENDLOOP.

reward if helpful

prasanth

Former Member
0 Kudos

hi check this example...

http://www.saptechnical.com/Tutorials/ALV/Edit/demo.htm

regards,

venkat.

Former Member
0 Kudos

Hi,

Check the following link, it may help to you:

http://sapdev.co.uk/reporting/alv/alvgrid_editable.htm

Regards,

Bhaskar

Former Member
0 Kudos

hi

ur problem will be solved if u add this code while u

r preparing field catalog

i_fcat-fieldname = 'CHECK'.

i_fcat-tabname = 'I_INV_DISPLAY'.

i_fcat-scrtext_s = 'CB'.

i_fcat-checkbox = 'X'.

i_fcat-edit = 'X'.

i_fcat-outputlen = 1.

i_fcat-fix_column = c_true_x.

APPEND i_fcat.

CLEAR i_fcat.

plz reward point if usefull

snehi chouhan