You are on page 1of 2

TYPE-POOLS: slis.

DATA: x_fieldcat TYPE slis_fieldcat_alv,


it_fieldcat TYPE slis_t_fieldcat_alv,
l_layout TYPE slis_layout_alv,
x_events TYPE slis_alv_event,
it_events TYPE slis_t_event.
DATA: BEGIN OF itab OCCURS 0,
vbeln LIKE vbak-vbeln,
posnr LIKE vbap-posnr,
chk(1),
color(4),
END OF itab.
SELECT vbeln
posnr
FROM vbap
UP TO 20 ROWS
INTO TABLE itab.
x_fieldcat-fieldname = 'CHK'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-col_pos = 1.
x_fieldcat-input = 'X'.
x_fieldcat-edit = 'X'.
x_fieldcat-checkbox = 'X'.
APPEND x_fieldcat TO it_fieldcat.
CLEAR x_fieldcat.
x_fieldcat-fieldname
x_fieldcat-seltext_l
x_fieldcat-hotspot =
x_fieldcat-tabname =
x_fieldcat-col_pos =
APPEND x_fieldcat TO
CLEAR x_fieldcat.

= 'VBELN'.
= 'VBELN'.
'X'.
'ITAB'.
2.
it_fieldcat.

x_fieldcat-fieldname
x_fieldcat-seltext_l
x_fieldcat-tabname =
x_fieldcat-col_pos =
APPEND x_fieldcat TO
CLEAR x_fieldcat.

= 'POSNR'.
= 'POSNR'.
'ITAB'.
3.
it_fieldcat.

DATA selfield TYPE slis_selfield.


CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_title
= 'Select Data'
i_selection
= 'X'
i_zebra
= 'X'
i_screen_start_column = 5
i_screen_start_line
= 5
i_screen_end_column
= 50
i_screen_end_line
= 10
i_checkbox_fieldname
= 'CHK'
i_tabname
= 'ITAB'
i_scroll_to_sel_line
= 'X'
it_fieldcat
= it_fieldcat
i_callback_program
= sy-repid

i_callback_user_command
IMPORTING
es_selfield
TABLES
t_outtab
EXCEPTIONS
program_error

= 'USER_COMMAND'
= selfield
= itab
= 1.

*&---------------------------------------------------------------------*
*&
Form STATUS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->P_EXTAB
text
*----------------------------------------------------------------------*
FORM status USING p_extab TYPE slis_t_extab.
SET PF-STATUS 'STATUS'.
ENDFORM. " STATUS
*&---------------------------------------------------------------------*
*&
Form USER_COMMAND
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
*
-->R_UCOMM
text
*
-->RS_SELFIELD text
*----------------------------------------------------------------------*
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: gd_repid LIKE sy-repid, "Exists
ref_grid TYPE REF TO cl_gui_alv_grid.
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 itab WHERE chk = 'X'.
itab-color = 'C300'.
MODIFY itab INDEX sy-tabix TRANSPORTING color.
ENDLOOP.
rs_selfield-refresh = 'X'.
BREAK-POINT.
ENDFORM. "USER_COMMAND

You might also like