我可以通过define...enddefine定义一些功能关键字,看下面的2个例子就明白了:
define init_value.
&1-sign = 'I'.
&1-option = 'EQ'.
&1-low = &2.
append &1.
clear &1.
end-of-definition.
init_value gr_kstar '0007500000'.
init_value gr_wrttp '01'.
init_value gr_wrttp '04'.
init_value gr_hrkft 'Z01'.
define field_cat.
add 1 to wa_fieldcat-col_pos.
wa_fieldcat-tabname = 'IT_OUT'.
wa_fieldcat-fieldname = &1.
wa_fieldcat-seltext_l = &2.
if &1 eq 'MATNR'.
wa_fieldcat-ref_tabname = 'MARA'.
wa_fieldcat-ref_fieldname = 'MATNR'.
elseif &1 eq 'MATNR_COVP'.
wa_fieldcat-ref_tabname = 'MARA'.
wa_fieldcat-ref_fieldname = 'MATNR'.
else.
clear: wa_fieldcat-ref_fieldname,wa_fieldcat-ref_tabname.
endif.
append wa_fieldcat to it_fieldcat.
end-of-definition.
field_cat 'PRDHA' 'Series'(001).
field_cat 'PRCTR' 'Geo'(002).
field_cat 'LAND1' 'Country'(003).
field_cat 'WERKS' 'Plant'(004).
field_cat 'MATNR' 'MTM'(005).
field_cat 'AUFNR' 'Order'(006).
field_cat 'MATNR_COVP' 'Part No.'(007).
field_cat 'KDAUF' 'Sales Orde'(008).
field_cat 'KDPOS' 'S.O. Item'(009).
field_cat 'WKGBTR_ACCT' 'Total Actual ECAP'(010).