You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

S/4HANA环境下如何按当前PO类型限制MIRO中的预扣税显示

S/4HANA MIRO入账按PO类型过滤预扣税项实现方案

你之前尝试的MRM_WT_SPLIT_UPDATE主要用于预扣税拆分逻辑更新,MRM_HEADER_CHECK仅做发票头校验,两个BAdI都不涉及预扣税项的初始带出过滤,因此无法实现隐藏不需要税项的效果。

方案1:使用S/4HANA专属BAdI BADI_FDC_MIRO_WHT_ADJUST 实现(推荐)

该BAdI是S/4HANA 1709及以上版本专门提供的MIRO预扣税调整接口,支持在预扣税项带出后、界面渲染前修改税项列表,完全匹配需求。实现步骤如下:

  • 事务码SE18创建BAdI实现,实现接口方法IF_BADI_FDC_MIRO_WHT_ADJUST~ADJUST_WHT_ITEMS
  • 通过方法入参获取当前发票关联的PO列表,提取对应PO类型(BSART字段)
  • 遍历出参CT_WHT_ITEMS,删除与当前PO类型不匹配的预扣税项即可,参考代码示例:
DATA: lv_po_type TYPE ekko-bsart.
* 此处添加逻辑从关联PO中获取对应PO类型赋值给lv_po_type

IF lv_po_type = '你定义的特定PO类型值'.
  DELETE ct_wht_items WHERE wt_type = 'EH' AND wt_code IN ('06','07').
ENDIF.
  • 激活实现后重新打开MIRO即可生效,无需额外后台配置。

方案2:低版本兼容方案(适用于1709以下的S/4HANA版本)

如果系统版本低于1709,可通过隐式增强实现:

  • 找到包含程序LMR1MFS0中的隐式增强点,位置在预扣税内表GT_WITHT填充完成、输出到界面前的节点
  • 按同样逻辑获取当前发票关联的PO类型,过滤GT_WITHT内表中不需要的税项即可。

注意事项

  • 若存在一张发票关联多个不同类型PO的场景,可先配置PO类型和预扣税码的自定义映射关系表,按PO维度匹配对应税项后合并展示
  • 过滤逻辑需兼容贷方凭证、后续借记等特殊MIRO交易场景,避免出现税项漏带问题

内容的提问来源于stack exchange,提问作者ekekakos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 14:15:05