本章介绍如何向SALV上添加布局(Layout)按钮, 默认情况下,SALV的tool bar上只有修改 layout一个按钮,并没有保存和选择layout的按钮,如下:

添加布局(layout)按钮

实现方法:

1,取得SALV中CL_SALV_LAYOUT的实例,

2,通过CL_SALV_LAYOUT实例中的方法set_key,set_save_restriction,set_initial_layout显示layout 按钮

添加布局(layout)按钮

例子程序的UML流程图如下,在之前基础上添加set_layout方法,

添加布局(layout)按钮

完整代码:

 
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
*&---------------------------------------------------------------------*
*& 一个简单的通过类CL_SALV_TABLE生成SALV的例子
*&---------------------------------------------------------------------*
.
*
*----------------------------------------------------------------------*
*       CLASS lcl_report DEFINITION
*----------------------------------------------------------------------*
.
*
.
*
*   定义SALV输出内表
,
,
,
,
,
.
*
.
*
*   ALV reference
.
*
:
*     抽取数据
,
*
*     生成输出内容
.
*
*$*$*.....CODE_ADD_1 - Begin..................................1..*$*$*
*
* 定义private method来设定SALV不同特性
.
:
.
 
:
.
*$*$*.....CODE_ADD_1 - End....................................1..*$*$*
 
 
*----------------------------------------------------------------------*
*       CLASS lcl_report IMPLEMENTATION
*----------------------------------------------------------------------*
* 类实现
.
*
.
*   抽取数据
vbeln
           erdat
           auart
           kunnr
_vbak
vbak
.
*
 
*.......................................................................
.
*   New ALV instance
*   We are calling the static Factory method which will give back
*   the ALV object reference.
*
* exception class
.
.
(
IMPORTING
_alv
CHANGING
.
.
.
*
*$*$*.....CODE_ADD_2 - Begin..................................2..*$*$*
*
*    In this area we will call the methods which will set the
*      different properties to the ALV
*   调用status设置方法
_status
CHANGING
.
 
*   调用layout按钮设置方法
_layout
CHANGING
.
 
*$*$*.....CODE_ADD_2 - End....................................2..*$*$*
*
*
*   调用Display方法将数据输出到屏幕上
.
*
*
*$*$*.....CODE_ADD_3 - Begin..................................3..*$*$*
*
*    In this area we will implement the methods which are defined in
*      the class definition
* status设置方法实现
.
 
.
*   设置默认的标准状态栏
.
.
 
.
 
* layout设置方法的实现
.
*
,
,
.
*
*   get layout object
.
*
*   set Layout save restriction
*   1. Set Layout Key .. Unique key identifies the Differenet ALVs
.
.
*   2. 显示保存layout按钮
.
*
*   set initial Layout
.
.
*
*$*$*.....CODE_ADD_3 - End....................................3..*$*$*
*
 
.
 
.
 
.
* 抽取数据
.
* 生成SALV
.

运行结果显示如下:

添加布局(layout)按钮

以上

相关文章:

  • 2022-02-12
  • 2022-12-23
  • 2022-12-23
  • 2021-05-21
  • 2021-08-26
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-10
  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
  • 2021-12-27
  • 2021-05-05
相关资源
相似解决方案