T he road to Easy Street goes through the sewer.
前往「康庄大道」的路途中,你得先经历过 下水道。
1
程序效果
2
源码分享
REPORT zooalv_demo NO STANDARD PAGE HEADING .DATA gt_spfli TYPE TABLE OF spfli .
DATA go_alv TYPE REF TO cl_gui_alv_grid .
DATA gs_layout TYPE lvc_s_layo .
DATA gs_sort TYPE lvc_s_sort .
DATA gt_sort TYPE lvc_t_sort .
DATA gt_filter TYPE lvc_t_filt .
DATA gs_filter TYPE lvc_s_filt .
INITIALIZATION .
sy \- title = 'ABAP OOALV演示程序-公众号(ABAP猿)' .
START-OF-SELECTION .
SELECT * FROM spfli INTO TABLE gt_spfli UP TO 30 ROWS .CREATE OBJECT go_alv
EXPORTING
i_parent = cl_gui_container => default_screen .CLEAR gs_layout .
gs_layout \- zebra = 'X' .
gs_layout \- cwidth_opt = 'X' .
"添加排序
CLEAR gs_sort .
gs_sort \- spos = '1' .
gs_sort \- fieldname = 'CARRID' .
gs_sort \- up = '' .
gs_sort \- down = 'X' .
APPEND gs_sort TO gt_sort ."添加过滤
CLEAR gs_filter .
gs_filter \- fieldname = 'CARRID' .
gs_filter \- sign = 'E' .
gs_filter \- option = 'EQ' .
gs_filter \- low = 'JL' .
APPEND gs_filter TO gt_filter .CALL METHOD go_alv -> set_table_for_first_displayEXPORTING
is_layout = gs_layout
i_structure_name = 'SPFLI'
CHANGING
it_outtab = gt_spfli
it_sort = gt_sort
it_filter = gt_filter .
cl_abap_list_layout => suppress_toolbar ( ).
WRITE space .
3
AI解释
仅供参考
这段ABAP代码主要是在使用ABAP Object Oriented Language (OO) 和 ALV (ABAP List Viewer)
来创建一个数据表格的展示,并对表格进行排序和过滤。
以下是对这段代码的逐行解释: 首先,定义了四个变量: gs_sort:类型为 lvc_s_sort,是排序设置的数据类型。 gt_sort:类型为
lvc_t_sort,用于保存多个排序设置的数据类型。 gt_filter:类型为 lvc_t_filt,用于保存多个过滤设置的数据类型。
gs_filter:类型为 lvc_s_filt,是过滤设置的数据类型。
接下来,代码添加了排序设置: 使用 CLEAR 命令清空 gs_sort 变量。 设置排序的位置(spos)为 '1',表示在第一个位置进行排序。
设置排序的字段名(fieldname)为 'CARRID',表示按照 'CARRID' 字段进行排序。 设置排序方向(up 和 down),其中 up
为空字符串(''),表示升序;down 为 'X',表示降序。 使用 APPEND 命令将 gs_sort 添加到 gt_sort
中,以保存多个排序设置。
然后,代码添加了过滤设置: 使用 CLEAR 命令清空 gs_filter 变量。 设置过滤字段名(fieldname)为 'CARRID',表示只显示
'CARRID' 字段匹配的数据。 设置过滤符(sign)为 'E',表示等于('E')。 设置过滤选项(option)为
'EQ',表示等于('EQ')。 设置过滤的低值(low)为 'JL',表示只显示 'CARRID' 字段等于 'JL' 的数据。 使用 APPEND
命令将 gs_filter 添加到 gt_filter 中,以保存多个过滤设置。
最后,代码调用了 go_alv->set_table_for_first_display 方法,并传递了以下参数:
is_layout:指定表格的布局(gs_layout)。 i_structure_name:指定表格的数据结构名称为 'SPFLI'。
it_outtab:指定输出的表格数据(gt_spfli)。 it_sort:指定排序设置(gt_sort)。
it_filter:指定过滤设置(gt_filter)。
这段代码的主要目的是使用ABAP和ALV工具创建一个数据表格,并对表格进行排序和过滤操作。根据spfli表的内容和你的业务需求,具体的业务逻辑可能会有所不同。
以上是今日分享,希望对你有所帮助~~~
欢迎点赞、留言、分享
往期推荐
[ ABAP SALV-排序、过滤
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247493435&idx=1&sn=f4edc084193c7cd518bdf75b719f5543&chksm=cf0a33d5f87dbac30cbeff6ee4cf2333f6dc977e5e25e4cab22d17abdeb011ea750ecdb45015&scene=21#wechat_redirect)
[ ABAP SALV-演示程序 源码分享
](https://mp.weixin.qq.com/s?__biz=Mzg3OTE2Njg0OQ==&mid=2247494081&idx=1&sn=671c4de5734c7131744f47fd6abeab65&chksm=cf0a3d2ff87db43943c9a773f2572b79df043fae880909bed6178a5c2e5a308cf16f39f75aba&scene=21#wechat_redirect)
点个 在看 你最好看