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用的是这个类型。
注意:
要得到 vc_t_fcat类型的field catalog本来可以用 LVC_FIELDCATALOG_MERGE 的, 但是他只能用来得到DDIC表的fieldcat, 虽然有internal_tablename的参数,但是好像不能用。
所以如果只是需要DDIC表的field catalog(对alv object来说 ), 那就用 LVC_FIELDCATALOG_MERGE
阅读(4842) | 评论(7) | 转发(1) |