关于 REUSE_ALV_FIELDCATALOG_MERGE 的使用

REUSE_ALV_FIELDCATALOG_MERGE 方法用来获得 内表或者DDIC表的field catalog.

1. 如果是内表, i_program_name 和 i_inclname 参数都要写为本程序名 (sy-repid)。 而且内表中的字段,只有基本类型可以用TYPE声明,而其他类型只能用LIKE,(比如sy-ucomm,本来既可以用TYPE也可以用LIKE,但是这里只能用LIKE,因为sy-ucomm不是基本类型。一切data element用TYPE的也都不行),否则用该方法不能得到。 也就是除了基本类型,其他的只能用LIKE, 比如用 name TYPE char10,就不可以, 只能用 name LIKE xxx (或者xxxx-xxx)。

2. 得到的结果是 slis_t_fieldcat_alv 类型的 ,只能用在ALV的 Function module, 要用object, 就只能把slis_t_fieldcat_alv中的结果取出来放到 vc_t_fcat中,因为alv的 object用的是这个类型。

同时这个函数的buffer 缓存有时候很恶心,多留意,有时候需要退出去一下,清下缓存再进行测试。用程序BALVBUFDEL即可清除ALV缓存.

注意:

要得到 vc_t_fcat类型的field catalog本来可以用 LVC_FIELDCATALOG_MERGE 的, 但是他只能用来得到DDIC表的fieldcat, 虽然有internal_tablename的参数,但是好像不能用。

所以如果只是需要DDIC表的field catalog(对alv object来说 ), 那就用 LVC_FIELDCATALOG_MERGE

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值