一般情况,做ALV报表时都会调用系统函数REUSE_ALV_FIELDCATALOG_MERGE, 我发现当字段较多时,调用该函数经常出现超长错误。
于是改为用手工生成 FIELDCATALOG, 利用宏可以使用代码更简练一些,示例如下:
*手工构造FieldCatalog.
CLEAR it_filed.
*&-------------------------------------------------
*& 定义生成FieldCatalog的宏
*&-------------------------------------------------
DEFINE gen_FieldCatalog.
it_filed-col_pos = &1.
it_filed-fieldname = &2.
it_filed-seltext_M = &3.
append it_filed to it_fieldcat.
END-OF-DEFINITION.
gen_FieldCataLog 1 'xref3' '项目号' .
gen_FieldCataLog: 2 'f_ordtx' '项目描述'.
gen_FieldCataLog: 3 'f_hkont' '总帐科目'.
...