REPORT zalv_checkbox.
TYPE-POOLS: slis.
TYPES: BEGIN OF ty_data,
name TYPE char20,
age TYPE i,
check TYPE c,
END OF ty_data.
TYPES: BEGIN OF ty_data1,
name TYPE char20,
age TYPE i,
END OF ty_data1.
DATA: it_data TYPE TABLE OF ty_data WITH HEADER LINE,
it_data1 TYPE TABLE OF ty_data1 WITH HEADER LINE.
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF it_fieldcat,
it_layout TYPE slis_layout_alv,
it_events TYPE slis_t_event,
wa_event LIKE LINE OF it_events.
PARAMETERS: alv_list RADIOBUTTON GROUP g1,
alv_grid RADIOBUTTON GROUP g1.
START-OF-SELECTION.
it_data-name = 'Venkat1'.
it_data-age = '11'.
APPEND it_data.
it_data-name = 'Venkat2'.
it_data-age = '12'.
APPEND it_data.
it_data-name = 'Venkat3'.
it_data-age = '13'.
APPEND it_data.
wa_fieldcat-fieldname = 'CHECK'.
wa_fieldcat-seltext_m = 'Check'.
wa_fieldcat-edit = 'X'.
wa_fieldcat-checkbox = 'X'.
wa_fieldcat-input = 'X'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'NAME'.
wa_fieldcat-seltext_m = 'Name'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-fieldname = 'AGE'.
wa_fieldcat-seltext_m = 'Age'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
it_layout-edit = 'X'.
*it_layout-box_fieldname = 'CHECK'.
IF alv_list IS NOT INITIAL.
.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
* I_STRUCTURE_NAME = I_STRUCTURE_NAME
is_layout = it_layout
it_fieldcat = it_fieldcat
* IT_EVENTS = IT_EVENTS
TABLES
t_outtab = it_data .
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
* I_STRUCTURE_NAME = I_STRUCTURE_NAME
is_layout = it_layout
it_fieldcat = it_fieldcat
* IT_EVENTS = IT_EVENTS
TABLES
t_outtab = it_data .
ENDIF.
*--------------------------------------------------------------*
* pf status
*--------------------------------------------------------------*
FORM set_pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'DATA'.
ENDFORM. "set_pf_status
*--------------------------------------------------------------*
* user command
*--------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
rs_selfield-refresh = 'X'.
REFRESH : it_data1.
CASE : r_ucomm.
WHEN 'TEST'.
IF alv_list IS NOT INITIAL.
LOOP AT it_data WHERE check = 'X'.
MOVE-CORRESPONDING it_data TO it_data1.
APPEND it_data1.
CLEAR :it_data, it_data1.
ENDLOOP.
ELSEIF alv_grid IS NOT INITIAL.
DATA : ref_grid TYPE REF TO cl_gui_alv_grid. "new
IF ref_grid IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = ref_grid.
ENDIF.
IF NOT ref_grid IS INITIAL.
CALL METHOD ref_grid->check_changed_data.
ENDIF.
LOOP AT it_data WHERE check = 'X'.
MOVE-CORRESPONDING it_data TO it_data1.
APPEND it_data1.
CLEAR :it_data, it_data1.
ENDLOOP.
ENDIF.
ENDCASE.
DELETE it_fieldcat WHERE fieldname = 'CHECK'.
IF alv_list IS NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
* I_STRUCTURE_NAME = I_STRUCTURE_NAME
is_layout = it_layout
it_fieldcat = it_fieldcat
* IT_EVENTS = IT_EVENTS
TABLES
t_outtab = it_data1 .
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_pf_status_set = 'SET_PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
* I_STRUCTURE_NAME = I_STRUCTURE_NAME
is_layout = it_layout
it_fieldcat = it_fieldcat
* IT_EVENTS = IT_EVENTS
TABLES
t_outtab = it_data1 .
ENDIF.
ENDFORM. "user_command
Welcome To My BLOG
This site is to give a brief idea for the abap learners who are looking for some real time programs .It consists of collection of programs from my side . I hope these programs are very much used for all of the learners. Please check the links for any information in ABAP.
Please vote for my Blog. And please input me on this mail addrssess.Email me
Please vote for my Blog. And please input me on this mail addrssess.Email me
Share this link with your friends
http://www.rebtel.com/u/15163104576
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment