头图

有朋友在我的知识星球上向我提问,询问 SAP ABAP ALV List 和 ALV Grid,这两种显示控件,在使用场合和方法上,有什么区别。

其实在 SAP 官方社区上,也有 ABAP 从业者问过类似的问题。本文就来简单聊聊二者的区别。

在 SAP ABAP 开发环境中,ALV(Application List Viewer)是一个强大的工具,用于展示列表格式的数据。它提供了排序、过滤、总结等多种功能,极大地方便了用户的数据查看和处理。ALV 主要有两种形式:ALV List 和 ALV Grid。虽然它们都是用于数据展示,但它们在使用场合、用户界面和功能上存在着一些差异。

本文下面罗列了一些 ALV List 和 ALV Grid 的区别。

用户界面

  • ALV List 提供了一个较为传统的列表视图,它更适用于那些需要打印输出或需要一个简单清单显示的场景。它的界面比较简洁,功能相对有限,主要用于显示不需要复杂交互的数据
  • ALV Grid 则提供了一个更为现代化和交互性更强的表格视图。它支持单元格编辑、拖放列、复杂的布局设置等高级功能,更适合需要与用户进行较多交互的应用场景。

比如本教程花了很多文章的篇幅,来介绍 ALV Grid 里单元格的编辑功能:

功能性

  • ALV List 在功能上相对简单,主要支持基本的数据展示、排序和简单的过滤。它的优势在于易于实现和使用,以及较好的打印输出支持。
  • ALV Grid 功能则更加强大,除了支持 ALV List 的所有基本功能外,还支持更复杂的数据处理,如单元格级别的编辑、复选框、下拉列表等交互元素,以及更丰富的数据排序和过滤选项。

我们来看看 SAP ABAP 里使用频率非常高的 SE16 事务码。

我们选择 Settings->User Parameters:

然后可以在 ALV GridALV List 里切换。

下面是 ALV List 的显示界面:

下面是 ALV Grid 的显示界面:

笔者本教程里的 ALV 例子,都是基于实现更复杂的 ALV Grid. 如果大家想把这些例子切换成使用 ALV List 显示想看看效果,只需要简单的替换 ALV 显示函数即可。

我来举个例子。

本教程这篇文章,介绍了 ALV 分组和显示小计(Subtotal)的实现方法:

ALV Grid 显示效果如下:

将函数 REUSE_ALV_GRID_DISPLAY 替换成 REUSE_ALV_LIST_DISPLAY,即可改为通过 LIST 方式输出:

ALV List 的输出效果,大家可以和 ALV Grid 做比较:


注销
1k 声望1.6k 粉丝

invalid