REUSE_ALV_FIELDCATALOG_MERGE

 

作用

根据程序中的数据内表结构,来自动生成FIELDCAT[]内表,不用定义宏或者Form来一个个加入,会根据内表结构所参照的词典类型来自动完成如表标题字段名的生成,得到大概的FIELDCAT[]后,可以再根据特殊情况再修改FIELDCAT[]内表,这样可以大大减少FIELDCAT[]内表的创建工作。

注意事项:

  • 如果是用本程序定义的内表的话,除了基本类型(I,N,C,etc.)可以用TYPE定义外,其他的必须要用LIKE,
  • 这个参数必须是一个用OCCUR 0定义的ITAB。不然获取不到它的Field Catalog.
  • 当使用程序中的内表的时候,“i_program_name”这个参数必须是本程序名SY-REPID
  • 程序中用来输出的内表结构中的每个字段都要参考了数据字典中的Data element,否则无法获取字段的相关信息,此时在自动构建FIELDCAT后再手动对无参照字典类型的字段进行手工设置
  • 还有一点,程序代码段要小于72个字符,不然会报dump:
    • The READ REPORT statement allows you to copy a program text into an

      internal table. The occupied line length in the program text must not

      exceed the width of the internal table.

      The internal table "\FUNCTION=K_KKB_FIELDCAT_MERGE\DATA=L_ABAP_SOURCE[]" is 72

        characters wide. The program line is

      xxx characters wide.

猜你喜欢

转载自www.cnblogs.com/aurora-cj/p/9341117.html
alv