除了用table定义外,还可以直接在程序中写代码定义,个人认为这样定义更方便,中文名称可以自行设定,每个项目还可以设置一个自订fieldcat属性,一般情况下都够用了。
---原来使用的用table定义方法,其中一些SAP自带的列名翻译正式莫名其妙,完全看不懂啊,不方便修改,还会出现各种异常。
FORM frm_fill_fieldcat .
DATA: wa LIKE LINE OF fieldcat.
DATA: empty TYPE C. "空属性变量
DEFINE d_field.
clear wa.
clear &3.
wa-fieldname = &1. "对应的内表字段名
wa-seltext_l = &2. "输出列文本
&3 = &4 . "自订动态属性
add 1 to wa-col_pos."输出列
append wa to fieldcat.
END-OF-DEFINITION.
d_field:
'WERKS' '领料工厂' empty '' ,
'BUDAT_MKPF' '过账日期' empty '' ,
'MBLNR' '物料凭证号' wa-key 'X' ,
'ZEILE' '项次' wa-key 'X' ,
'MATNR' '物料编号' wa-no_zero 'X' ,
'ZMA