2007 Sep 27 10:44 AM
Hi all,
<b>I am developing a report an need to add Checkbox and icon in Grid.
Can you help me to do that pls????</b>
Thanks in advance,
Rakesh
Hi all,
<b>I am developing a report an need to add Checkbox and icon in Grid.
Can you help me to do that pls????</b>
Thanks in advance,
Rakesh
2007 Sep 27 10:50 AM
hi,
i know how to add push button is it ok?
Here is code.
*----
TYPE-POOLS
*----
TYPE-POOLS: slis. " Type pool for ALV
*----
Tables
*----
TABLES: vbak, vbap.
*----
INTERNAL TABLES
*----
DATA: BEGIN OF g_t_itab OCCURS 0,
sel TYPE c,
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
vbtyp LIKE vbak-vbtyp,
vkorg LIKE vbak-vkorg,
vtweg LIKE vbak-vtweg,
spart LIKE vbak-spart,
netwr LIKE vbak-netwr,
kunnr LIKE vbak-kunnr,
END OF g_t_itab.
DATA: BEGIN OF g_t_item OCCURS 0,
vbeln LIKE vbap-vbeln,
posnr LIKE vbap-posnr,
matnr LIKE vbap-matnr,
arktx LIKE vbap-arktx,
END OF g_t_item.
Data fields used for ALV call - simple list
DATA : g_f_repid LIKE sy-repid.
DATA : g_t_fieldcat TYPE slis_t_fieldcat_alv.
DATA : g_r_fieldcat TYPE slis_fieldcat_alv.
DATA : g_t_events TYPE slis_t_event.
DATA : g_r_events TYPE slis_alv_event.
DATA : g_r_layout TYPE slis_layout_alv.
DATA : g_r_x_variant LIKE disvariant.
DATA : g_r_variant LIKE disvariant.
DATA : g_f_exit(1) TYPE c.
DATA : g_f_save(1) TYPE c.
*----
SELECTION SCREEN
*----
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln.
SELECTION-SCREEN END OF BLOCK b1.
*----
START OF SELECTION
*----
START-OF-SELECTION.
PERFORM get_data.
*----
END OF SELECTION
*----
END-OF-SELECTION.
PERFORM set_alv_parameters.
PERFORM display_list.
&----
*& Form get_data
&----
Get data from DB tables
----
FORM get_data.
CLEAR: g_t_itab.
REFRESH: g_t_itab.
SELECT vbeln erdat vbtyp vkorg vtweg spart netwr kunnr
FROM vbak
INTO CORRESPONDING FIELDS OF TABLE g_t_itab
WHERE
vbeln IN s_vbeln.
ENDFORM. " get_data
&----
*& Form set_alv_parameters
&----
Set alv parameters , layout, events, fieldcatlog
----
FORM set_alv_parameters.
PERFORM set_filedcatlog.
Events
REFRESH : g_t_events.
CLEAR : g_r_events.
Top of Page event for standard header
g_r_events-name = 'TOP_OF_PAGE'.
g_r_events-form = 'TOP_OF_PAGE'.
APPEND g_r_events TO g_t_events.
Attributes for layout
g_r_layout-zebra = 'X'.
g_r_layout-min_linesize = 119.
g_r_layout-colwidth_optimize = 'X'.
g_r_layout-detail_initial_lines = 'X'.
g_r_layout-get_selinfos = 'X'.
g_r_layout-group_change_edit = 'X'.
Field having the check box
<b> g_r_layout-box_fieldname = 'SEL'.</b>* Field having the checkbox internal table name
<b>g_r_layout-box_tabname = 'G_T_ITAB'.</b>
ENDFORM. " set_alv_parameters
&----
*& Form display_list
&----
text
----
FORM display_list.
g_f_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_f_repid
<b>is_layout = g_r_layout</b>
it_fieldcat = g_t_fieldcat[]
it_events = g_t_events[]
TABLES
t_outtab = g_t_itab
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.
ENDFORM. " display_list
&----
*& Form set_filedcatlog
&----
text
----
FORM set_filedcatlog.
DATA: l_r_fieldcat TYPE slis_fieldcat_alv. " For column heading
CLEAR : g_t_fieldcat,
g_t_fieldcat[].
Sales Order
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'VBELN'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'VBELN'.
l_r_fieldcat-no_out = ' '.
l_r_fieldcat-input = ' '.
l_r_fieldcat-key = 'X'.
l_r_fieldcat-col_pos = 2.
l_r_fieldcat-seltext_m = 'Sales Order'.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Creation date
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'ERDAT'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'ERDAT'.
l_r_fieldcat-col_pos = 3.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
document category
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'VBTYP'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'VBTYP'.
l_r_fieldcat-col_pos = 4.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Sales organization
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'VKORG'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'VKORG'.
l_r_fieldcat-col_pos = 5.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Distribution channel
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'VTWEG'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'VTWEG'.
l_r_fieldcat-col_pos = 6.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Division
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'SPART'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'SPART'.
l_r_fieldcat-col_pos = 7.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Net Value
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'NETWR'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'NETWR'.
l_r_fieldcat-do_sum = 'X'.
l_r_fieldcat-col_pos = 8.
l_r_fieldcat-emphasize = 'C500'.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Distribution channel
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'KUNNR'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'KUNNR'.
l_r_fieldcat-col_pos = 9.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
ENDFORM. " set_filedcatlog
----
FORM top_of_page *
----
FORM top_of_page.
DATA : l_r_listheader TYPE slis_t_listheader,
l_r_line TYPE slis_listheader.
CLEAR l_r_line.
l_r_line-typ = 'H'.
l_r_line-info = 'Sales details'.
APPEND l_r_line TO l_r_listheader.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = l_r_listheader
I_LOGO =
I_END_OF_LIST_GRID =.
.
ENDFORM. "top_of_page
2007 Sep 27 12:33 PM
hi,
this is code for displaying first column as checkbox.
*----
TYPE-POOLS
*----
TYPE-POOLS: slis. " Type pool for ALV
*----
Tables
*----
TABLES: vbak, vbap.
*----
INTERNAL TABLES
*----
DATA: BEGIN OF g_t_itab OCCURS 0,
sel TYPE c,
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
vbtyp LIKE vbak-vbtyp,
vkorg LIKE vbak-vkorg,
vtweg LIKE vbak-vtweg,
spart LIKE vbak-spart,
netwr LIKE vbak-netwr,
kunnr LIKE vbak-kunnr,
END OF g_t_itab.
DATA: BEGIN OF g_t_item OCCURS 0,
vbeln LIKE vbap-vbeln,
posnr LIKE vbap-posnr,
matnr LIKE vbap-matnr,
arktx LIKE vbap-arktx,
END OF g_t_item.
Data fields used for ALV call - simple list
DATA : g_f_repid LIKE sy-repid.
DATA : g_t_fieldcat TYPE slis_t_fieldcat_alv.
DATA : g_r_fieldcat TYPE slis_fieldcat_alv.
DATA : g_t_events TYPE slis_t_event.
DATA : g_r_events TYPE slis_alv_event.
DATA : g_r_layout TYPE slis_layout_alv.
DATA : g_r_x_variant LIKE disvariant.
DATA : g_r_variant LIKE disvariant.
DATA : g_f_exit(1) TYPE c.
DATA : g_f_save(1) TYPE c.
*----
SELECTION SCREEN
*----
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln.
SELECTION-SCREEN END OF BLOCK b1.
*----
START OF SELECTION
*----
START-OF-SELECTION.
PERFORM get_data.
*----
END OF SELECTION
*----
END-OF-SELECTION.
PERFORM set_alv_parameters.
PERFORM display_list.
&----
*& Form get_data
&----
Get data from DB tables
----
FORM get_data.
CLEAR: g_t_itab.
REFRESH: g_t_itab.
SELECT vbeln erdat vbtyp vkorg vtweg spart netwr kunnr
FROM vbak
INTO CORRESPONDING FIELDS OF TABLE g_t_itab
WHERE
vbeln IN s_vbeln.
ENDFORM. " get_data
&----
*& Form set_alv_parameters
&----
Set alv parameters , layout, events, fieldcatlog
----
FORM set_alv_parameters.
PERFORM set_filedcatlog.
Events
REFRESH : g_t_events.
CLEAR : g_r_events.
Top of Page event for standard header
g_r_events-name = 'TOP_OF_PAGE'.
g_r_events-form = 'TOP_OF_PAGE'.
APPEND g_r_events TO g_t_events.
ENDFORM. " set_alv_parameters
&----
*& Form display_list
&----
text
----
FORM display_list.
g_f_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_f_repid
is_layout = g_r_layout
it_fieldcat = g_t_fieldcat[]
it_events = g_t_events[]
TABLES
t_outtab = g_t_itab
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.
ENDFORM. " display_list
&----
*& Form set_filedcatlog
&----
text
----
FORM set_filedcatlog.
DATA: l_r_fieldcat TYPE slis_fieldcat_alv. " For column heading
CLEAR : g_t_fieldcat,
g_t_fieldcat[].
<b>l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'SEL'.
l_r_fieldcat-checkbox = 'X'.
l_r_fieldcat-no_out = ' '.
l_r_fieldcat-input = ' '.
l_r_fieldcat-edit = 'X'.
l_r_fieldcat-outputlen = 2.
l_r_fieldcat-col_pos = 1.
l_r_fieldcat-seltext_m = 'Sales Order'.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.</b>
Sales Order
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'VBELN'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'VBELN'.
l_r_fieldcat-no_out = ' '.
l_r_fieldcat-input = 'X'.
l_r_fieldcat-edit = 'X'.
l_r_fieldcat-key = 'X'.
l_r_fieldcat-col_pos = 2.
l_r_fieldcat-seltext_m = 'Sales Order'.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Creation date
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'ERDAT'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'ERDAT'.
l_r_fieldcat-col_pos = 3.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
document category
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'VBTYP'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'VBTYP'.
l_r_fieldcat-col_pos = 4.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Sales organization
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'VKORG'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'VKORG'.
l_r_fieldcat-col_pos = 5.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Distribution channel
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'VTWEG'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'VTWEG'.
l_r_fieldcat-col_pos = 6.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Division
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'SPART'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'SPART'.
l_r_fieldcat-col_pos = 7.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Net Value
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'NETWR'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'NETWR'.
l_r_fieldcat-do_sum = 'X'.
l_r_fieldcat-col_pos = 8.
l_r_fieldcat-emphasize = 'C500'.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
Distribution channel
l_r_fieldcat-tabname = 'G_T_ITAB'.
l_r_fieldcat-fieldname = 'KUNNR'.
l_r_fieldcat-ref_tabname = 'VBAK'.
l_r_fieldcat-ref_fieldname = 'KUNNR'.
l_r_fieldcat-col_pos = 9.
APPEND l_r_fieldcat TO g_t_fieldcat.
CLEAR l_r_fieldcat.
ENDFORM. " set_filedcatlog
----
FORM top_of_page *
----
FORM top_of_page.
DATA : l_r_listheader TYPE slis_t_listheader,
l_r_line TYPE slis_listheader.
CLEAR l_r_line.
l_r_line-typ = 'H'.
l_r_line-info = 'Sales details'.
APPEND l_r_line TO l_r_listheader.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = l_r_listheader
I_LOGO =
I_END_OF_LIST_GRID =.
.
ENDFORM. "top_of_page
2007 Sep 27 2:34 PM
Hi Rakesh,
Hope yhis will solve your problem:
For check box
At declaring field catalog using structure LVC_S_FCAT
mark CHECKBOX = 'X' and also EDIT = 'X'.
For reference check below subroutine in program BCALV_EDIT_05.
form build_fieldcat changing pt_fieldcat type lvc_t_fcat.
data ls_fcat type lvc_s_fcat.
call function 'LVC_FIELDCATALOG_MERGE'
exporting
i_structure_name = 'SFLIGHT'
changing
ct_fieldcat = pt_fieldcat.
*§A2.Add an entry for the checkbox in the fieldcatalog
clear ls_fcat.
ls_fcat-fieldname = 'CHECKBOX'.
Essential: declare field as checkbox and
mark it as editable field:
ls_fcat-checkbox = 'X'.
ls_fcat-edit = 'X'.
do not forget to provide texts for this extra field
ls_fcat-coltext = text-f01.
ls_fcat-tooltip = text-f02.
ls_fcat-seltext = text-f03.
optional: set column width
ls_fcat-outputlen = 10.
*
append ls_fcat to pt_fieldcat.
endform.
For Icon:
itab-icon = icon_id_okay.
ELSE .
itab-icon = icon_id_failure.
ENDIF.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |