天天看點

ME28增加一個含稅價字段

BADI 

ME_CHANGE_OUTTAB_CUS可以增加字段,但是需要激活一個什麼鬼東西才能使用。

使用隐式增強。

  1. 在INCLUDE程式 LMEREPI03中,找到METHOD GET_DATA。
    ME28增加一個含稅價字段
  2. DEBUG看到ME28時EX_STRUCTNAME的值為 MEREP_OUTTAB_PURCHDOC_REL,SE11找到此結構,附加字段

    附加字段應該ZZ開頭,此處注意

    ME28增加一個含稅價字段
  3. 插入代碼
    ME28增加一個含稅價字段
  4. 代碼:

    *增加含稅價

    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.