SAP系統中稅率按照條件價格的思想存儲,不管是銷項稅還是進項稅都存儲在A003表中,再通過定價記錄號去KONP表中獲取KBETR/1000就是稅率的值。
附上實際使用代碼,以采購信息記錄中的稅碼為例:
* 取凈價
SELECT SINGLE b~mwskz FROM eina AS a
INNER JOIN eine AS b ON a~infnr = b~infnr
INTO lw_mwskz
WHERE a~matnr = ls_a017-matnr " 物料編號
AND a~lifnr = ls_a017-lifnr " 供應商帳戶號
AND a~loekz = ''
AND b~ekorg = ls_a017-ekorg " 采購組織
AND b~werks = ls_a017-werks " 工廠
AND b~esokz = '0'
AND b~loekz = ''.
IF sy-subrc = 0.
SELECT SINGLE * FROM a003 INTO ls_a003
WHERE kappl = 'TX' " 應用程序
AND kschl = 'MWVS' " 條件類型
AND aland = 'CN' " 國家
AND mwskz = lw_mwskz." 銷售/購買稅代碼
IF sy-subrc = 0.
SELECT SINGLE * FROM konp INTO ls_konp
WHERE knumh = ls_a003-knumh
AND kopos = '1'.
IF sy-subrc = 0.
lw_price = lw_price / ( 1 + ls_konp-kbetr / 1000 ).
ENDIF.
ENDIF.
ELSE.
CONTINUE.
ENDIF.
望指正,或者留言更好的方法。