BADI ME_CHANGE_OUTTAB_CUS可以增加字段,但是需要**一个什么鬼东西才能使用。
使用隐式增强。
-
在INCLUDE程序 LMEREPI03中,找到METHOD GET_DATA。
- DEBUG看到ME28时EX_STRUCTNAME的值为 MEREP_OUTTAB_PURCHDOC_REL,SE11找到此结构,附加字段
附加字段应该ZZ开头,此处注意
- 插入代码
- 代码:
*增加含税价
IF SY-TCODE = 'ME28'.
DATA:
L_KBETR TYPE T007V-KBETR, "税率
L_BRTWR TYPE EKPO-BRTWR, "含税金额
L_MENGE TYPE EKPO-MENGE. "订单数量
FIELD-SYMBOLS:
<LS_TAB> TYPE ANY, "工作区
<L_TAB_EBELN> TYPE ANY,
<L_TAB_EBELP> TYPE ANY,
<L_TAB_ZHSDJ> TYPE ANY, "含税单价
<L_TAB_MWSKZ> TYPE ANY, "税码
<L_TAB_NETPR> TYPE ANY, "净价
<LT_TAB> TYPE STANDARD TABLE.
BREAK 071754.
ASSIGN ex_table_ref->* TO <LT_TAB>.
LOOP AT <LT_TAB> ASSIGNING <LS_TAB>.
CLEAR:L_BRTWR,L_MENGE, L_KBETR.
* ASSIGN COMPONENT 'EBELN' OF STRUCTURE <LS_TAB> TO <L_TAB_EBELN>.
* ASSIGN COMPONENT 'EBELP' OF STRUCTURE <LS_TAB> TO <L_TAB_EBELP>.
ASSIGN COMPONENT 'ZHSDJ' OF STRUCTURE <LS_TAB> TO <L_TAB_ZHSDJ>.
ASSIGN COMPONENT 'MWSKZ' OF STRUCTURE <LS_TAB> TO <L_TAB_MWSKZ>.
ASSIGN COMPONENT 'NETPR' OF STRUCTURE <LS_TAB> TO <L_TAB_NETPR>.
*第一种算法:含税金额除以数量
* SELECT SINGLE BRTWR MENGE
* INTO (L_BRTWR,L_MENGE)
* FROM EKPO
* WHERE EBELN = <L_TAB_EBELN> AND EBELP = <L_TAB_EBELP>.
* <L_TAB_ZHSDJ> = L_BRTWR / L_MENGE.
*第二种:净价乘以税率
SELECT SINGLE KBETR
INTO L_KBETR
FROM T007V
WHERE T007V~MWSKZ = <L_TAB_MWSKZ> AND T007V~ALAND = 'CN'.
<L_TAB_ZHSDJ> = <L_TAB_NETPR> * ( 1 + L_KBETR / 1000 ).
ENDLOOP.
ENDIF.