一般来说如果公司不是保税公司,无论是采购还是销售,都会定义税码,
如下为PO的税码
ABAP 可以直接从表里取到税码对应的税率:
首先进表A003,可以直接获得税码和定价记录号.
然后拿对应的定价记录号进表 KONP 即可查到税率(获得的金额 / 1000):
代码如下:
"采购税码的税率
SELECT a~mwskz, "税码
k~kbetr "税率
INTO TABLE @DATA(t_sl)
FROM a003 AS a INNER JOIN konp AS k
ON a~knumh = k~knumh
WHERE a~mwskz IN ( 'J0' , 'J1' , 'J2' , 'J3' , 'J4' , 'J5' , 'J6' )
AND a~aland = 'CN'.
SORT t_sl BY mwskz.
......
READ TABLE t_sl INTO DATA(s_sl) WITH KEY mwskz = ls_ekpo-mwskz BINARY SEARCH.
IF sy-subrc = 0.
"含税单价
itab-zhsdj = ls_ekpo-netpr / ls_ekpo-peinh * ( 1 + s_sl-kbetr / 1000 ).
"含税总金额
itab-zhsze = ls_ekpo-netpr / ls_ekpo-peinh * ( 1 + s_sl-kbetr / 1000 ) * ls_ekpo-menge.
ENDIF.
另外,标准RFC GET_TAX_PERCENTAGE 也可以获得税率
重点
在写程序的时候,不建议用系统标准RFC,因为这个一般需要在循环里使用,用时非常的久