<article class=“article fmt article-content”><p>有敌人在我的常识星球上向我发问,询问 SAP ABAP ALV List 和 ALV Grid,这两种显示控件,在应用场合和办法上,有什么区别。</p><p>其实在 SAP 官网社区上,也有 ABAP 从业者问过相似的问题。本文就来简略聊聊二者的区别。<br/></p><p>在 SAP ABAP 开发环境中,ALV(Application List Viewer)是一个弱小的工具,用于展现列表格局的数据。它提供了排序、过滤、总结等多种性能,极大中央便了用户的数据查看和解决。ALV 次要有两种模式:ALV List 和 ALV Grid。尽管它们都是用于数据展现,但它们在应用场合、用户界面和性能上存在着一些差别。</p><p>本文上面列举了一些 ALV List 和 ALV Grid 的区别。</p><h2>用户界面</h2><ul><li><strong>ALV List</strong> 提供了一个较为传统的列表视图,它更实用于那些须要打印输出或须要一个简略清单显示的场景。它的界面比拟简洁,性能绝对无限,次要用于显示<code>不须要简单交互的数据</code>。</li><li><strong>ALV Grid</strong> 则提供了一个更为现代化和交互性更强的表格视图。它反对单元格编辑、拖放列、简单的布局设置等高级性能,更适宜须要与用户进行较多交互的利用场景。</li></ul><p>比方本教程花了很多文章的篇幅,来介绍 ALV Grid 里单元格的编辑性能:</p><ul><li>69. 利用 ALV 实现增删改查系列之一:让 ALV 报表进入可编辑状态</li><li>70. 利用 ALV 实现增删改查系列之二:仅让 ALV 报表某一列容许被编辑</li><li>72. 利用 ALV 实现增删改查系列之三:如何给 SAP ABAP ALV 报表的批改性能增加自定义校验逻辑</li><li>117. 利用 ALV 实现增删改查系列之四:如何给 SAP ABAP ALV 报表行我的项目删除时减少弹出提醒</li></ul><p></p><h2>功能性</h2><ul><li><strong>ALV List</strong> 在性能上绝对简略,次要反对根本的数据展现、排序和简略的过滤。它的劣势在于易于实现和应用,以及较好的打印输出反对。</li><li><strong>ALV Grid</strong> 性能则更加弱小,除了反对 ALV List 的所有基本功能外,还反对更简单的数据处理,如单元格级别的编辑、复选框、下拉列表等交互元素,以及更丰盛的数据排序和过滤选项。</li></ul><p>咱们来看看 SAP ABAP 里应用频率十分高的 SE16 事务码。</p><p>咱们抉择 <code>Settings->User Parameters</code>:</p><p></p><p>而后能够在 <code>ALV Grid</code> 和 <code>ALV List</code> 里切换。</p><p></p><p>上面是 ALV List 的显示界面:</p><p></p><p>上面是 ALV Grid 的显示界面:</p><p></p><p>笔者本教程里的 ALV 例子,都是基于实现更简单的 <code>ALV Grid</code>. 如果大家想把这些例子切换成应用 <code>ALV List</code> 显示想看看成果,只须要简略的替换 ALV 显示函数即可。</p><p>我来举个例子。</p><p>本教程这篇文章,介绍了 ALV 分组和显示小计(Subtotal)的实现办法:</p><ul><li>143. SAP ABAP ALV 的分组显示和 Subtotal 显示实现的技术步骤</li></ul><p>ALV Grid 显示成果如下:</p><p></p><p>将函数 <code>REUSE_ALV_GRID_DISPLAY</code> 替换成 <code>REUSE_ALV_LIST_DISPLAY</code>,即可改为通过 LIST 形式输入:</p><p></p><p>ALV List 的输入成果,大家能够和 ALV Grid 做比拟:<br/></p></article>