本文ATP的增强(EXIT_SAPLATPC_002)会在订单,出库单的程序中被调用,我们可能希望读取这些程序的变量的数据,我们就可以通过FIELD-SYMBOLS来完成,具体参见下面的代码样例:
TABLES : y0000ca_userexit . "allready declaredDATA : c_programm LIKE y0000ca_userexit -yprogramm .
DATA : c_funcname LIKE y0000ca_userexit -yfuncname .
DATA : w_programm LIKE y0000ca_userexit -yprogramm .
DATA : w_funcname LIKE y0000ca_userexit -yfuncname .
DATA : w_active LIKE y0000ca_userexit -yactive .
DATA : w_subrc LIKE sy -subrc .
DATA : w_mandt LIKE sy -mandt .
DATA : function_name LIKE y0000ca_userexit -yfuncname .
DATA : wt_unit_params LIKE y0000ca_exit_params OCCURS 0 .
DATA : wa_unit_params LIKE y0000ca_exit_params .
DATA : w_subp ( 30 ) TYPE c .
DATA : w_prog TYPE sy -repid VALUE 'ZXATPU02' .
DATA : lv_kunnr TYPE kna1 -kunnr .
DATA : lv_vkorg TYPE tvko -vkorg .
DATA : lv_vtweg TYPE tvtw -vtweg .
DATA : lt_xvbpa TYPE vbpavb_tab .
FIELD-SYMBOLS :
<fs_vbak> TYPE vbak ,
<fs_likp> TYPE likp ,
<fs_lips> TYPE lips ,
<fs_xvbpa> TYPE vbpavb_tab .
*** ATTENTION:
*** THIS exit is also called from purchasing
*** (e.g. in stock transfer orders - doc type UB)
*** However, there (SAPMV45A)VBAK is not defined ...
*** and consequently the assign was not suces