使用REUSE_ALV_GRID_DISPLAY_LVC显示ALV时,如何将列、行或者具体的某个单元格设置成可编辑能输入状态?这个其实很简单,下面一一讲解:
1, 列可编辑
只要将catalog中的字段edit设置成‘X',整列就变成能输入的了,LVC_S_FCAT-EDIT
代码:
ABAP
REPORT ztest_alv_lvc_edit.
TYPES:BEGIN OF gty_ekko,
ebeln TYPE ekko-ebeln,
verkf TYPE ekko-verkf,
END OF gty_ekko.
DATA:git_ekko TYPE STANDARD TABLE OF gty_ekko.
DATA:git_fcat TYPE lvc_t_fcat,
gwa_fcat LIKE LINE OF git_fcat,
gwa_layout TYPE lvc_s_layo.
DATA:l_pos TYPE i VALUE 1.
START-OF-SELECTION.
SELECT ebeln
verkf
INTO TABLE git_ekko
FROM ekko
UP TO 10 ROWS.
CLEAR: l_pos.
l_pos = l_pos + 1.
gwa_fcat-coltext = 'PO'.
gwa_fcat-scrtext_l = 'PO'.
gwa_fcat-scrtext_m = 'PO'.
gwa_fcat-scrtext_s = 'PO'.
gwa_fcat-fieldname = 'EBELN'.
gwa_fcat-col_pos = l_pos.
gwa_fcat-outputlen = '10'.
APPEND gwa_fcat TO git_fcat.
l_pos = l_pos + 1.
gwa_fcat-coltext = 'PO item'.
gwa_fcat-scrtext_l = 'PO item'.
gwa_fcat-scrtext_m = 'PO item'.
gwa_fcat-scrtext_s = 'PO item'.
gwa_fcat-fieldname = 'VERKF'.
gwa_fcat-col_pos = l_pos.
gwa_fcat-edit = 'X'. "设置列为可编辑状态
gwa_fcat-outputlen = '20'.
APPEND gwa_fcat TO git_fcat.
gwa_layout-zebra = 'X'.
gwa_layout-sel_mode = 'A'.
gwa_layout-cwidth_opt = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program = sy-repid
is_layout_lvc = gwa_layout
it_fieldcat_lvc = git_fcat
TABLES
t_outtab = git_ekko[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc = 0.
* BREAK-POINT.
ENDIF.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
REPORTztest_alv_lvc_edit.
TYPES:BEGIN OFgty_ekko,
ebelnTYPEekko-ebeln,
verkfTYPEekko-verkf,
END OFgty_ekko.
DATA:git_ekkoTYPESTANDARD TABLE OFgty_ekko.
DATA:git_fcatTYPElvc_t_fcat,
gwa_fcatLIKELINEOFgit_fcat,
gwa_layoutTYPElvc_s_layo.
DATA:l_posTYPEiVALUE1.
START-OF-SELECTION.
SELECTebeln
verkf
INTOTABLEgit_ekko
FROMekko
UP TO10ROWS.
CLEAR:l_pos.
l_pos=l_pos+1.
gwa_fcat-coltext='PO'.
gwa_fcat-scrtext_l='PO'.
gwa_fcat-scrtext_m='PO'.
gwa_fcat-scrtext_s='PO'.
gwa_fcat-fieldname='EBELN'.
gwa_fcat-col_pos=l_pos.
gwa_fcat-outputlen='10'.
APPENDgwa_fcatTOgit_fcat.
l_pos=l_pos+1.
gwa_fcat-coltext='PO item'.
gwa_fcat-scrtext_l='PO item'.
gwa_fcat-scrtext_m='PO item'.
gwa_fcat-scrtext_s='PO item'.
gwa_fcat-fieldname='VERKF'.
gwa_fcat-col_pos=l_pos.
gwa_fcat-edit='X'."设置列为可编辑状态
gwa_fcat-outputlen='20'.
APPENDgwa_fcatTOgit_fcat.
gwa_layout-zebra='X'.
gwa_layout-sel_mode='A'.
gwa_layout-cwidth_opt='X'.
CALL FUNCTION'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
i_callback_program=sy-repid
is_layout_lvc=gwa_layout
it_fieldcat_lvc=git_fcat
TABLES
t_outtab=git_ekko[]
EXCEPTIONS
program_error=1
OTHERS=2.
IFsy-subrc=0.
* BREAK-POINT.
ENDIF.