abap 取税率(表 A003 和 KONP)

一般来说如果公司不是保税公司,无论是采购还是销售,都会定义税码,
如下为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,因为这个一般需要在循环里使用,用时非常的久

建议是在进入循环前直接把对应税码的税率取到一个内表里,在循环里read就可以了,这样程序在数据量大的时候,能省几百上千倍的时间

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值