Functional ALV系列 (02) - 如何填充 Field Catalog

填充 field catalog 是 使用 ALV 显示数据的一个必须内容。本篇说明如何填充 field catalog。接着上一篇的示例。

手工填充

这种方法在开发人员中应用的最广泛,手工为每一个需要输出的 ALV 填充 field catalog 。下面的示例说明了这种方法:

因为代码的重复,常见的方式是将填充 field catalog 的代码放在一个子例程或者宏定义中:

子例程的代码请自行参考上一篇博文。

自动填充

自动填充的方法在上一篇已经讲解过。因为自动填充的比较实用,我把它写在一个专门的函数中,函数名:Z_FALV_FIELD_CATALOG。

创建一个 Function Group: ZALVGROUP,在函数组的 include 程序 LZALVGROUPTOP 中引入 slis,以及定义获取结构的子例程:

新建一个名为 Z_FALV_FIELD_CATALOG 的函数,考虑到每个内表的数据结构都不一样,所以将 lt_output 参数的类型设置为 any table。


field_catalog 参数(表类型)

然后编写如下的代码:

有了 Z_FALV_FIELD_CATALOG 函数,输出数据到 ALV 就简单多了:

REUSE_ALV_FIELDCATALOG_MERGE

对于老式的内表类型,可以通过 REUSE_ALV_FIELDCATALOG_MERGE 函数来填充 field catalog。比如从 SPFLI 表获取数据填充 field catalog,函数的 i_structure_name 参数设置为 SPFLI:

在这里插入图片描述

如果根据内表的结构来填充 field catalog,通过 i_internal_tabname 参数。这种方法有诸多限制,代码中有说明:

源码

FALV/02-Populate Field Catalog

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值