问题解决之期初库存强制0金额记账

作者:ABAP技巧与实战 约 4 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:MM, 物料管理

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

**点击蓝字** 关注我们

问题描述

期初库存导入的商品凭证,如果输入的外部金额为0(EXBWR=0), 如果移动商品/地点的移动平均价不等于0,系统会自动使用移动平均价乘数量作为凭证的金额.

而不是使用外部金额EXBWR=0的值.这样期初导入的价值就不是我们期望的成本价值.

问题分析

SAP ERP软件的标准逻辑 允许输入外部金额, 但是如果外部金额为0, 系统视同为未输入外部金额, 此时系统会自动获取有效的成本单价*数量作为凭证的金额.

简单解决办法

一个最简单的解决办法是, 外部金额输入一个很小的金额. 比如0.01 ,系统认为外部金额<>0, 就不会执行获取成本价*数量的逻辑.

**但是总会有人挑战这个方案,认为系统不能有任何差异, 哪怕1分钱也不行.**

问题分析(代码追踪)

代码追踪过程比较枯燥.建议直接跳过到后面一章

系统在

MM07MFM0_M_SEGMENTE_ERGAENZEN 139行左右执行了XMSEG-DMBTR的赋值 FORM

M-SEGMENTE_ERGAENZEN

xmseg-dmbtr = yfbuz-dmbtr.

系统在 MM07MFF9_F_SEGMENTE_ERSTELLEN657行左右 添加内表YFBUZ.

MM07MFF9_F_SEGMENTE_ERZEUGEN208行左右 YFBUZ-DMBTR = XACCCR-WRBTR.

来自YACCCR[]

来自

XZCXCM[] MM07MFF9_F_SEGMENTE_BEWERTEN 51行左右.

LMBGBFSU 51行左右 xzcxcm-dmbtr = <betrag>. 来自 YCURTP[]

LMBGBFWR1529行左右 LOOP AT ycurtp.

LMBGBFWR 1324行左右 PERFORM wertesperrtab_fuellen USING mseg-matbf

LMBGBFWR 1664 行左右

/**/SPAN PERFORM (mseg-bustw) IN PROGRAM saplmbgb. 字段 BESTD VERBR

LMBGBFAS 510 行左右

问题解决

在 LMBGBFAS FORM wert_bestand 结尾的位置修正 w-bestd 金额 w-verbr 成本 两者如果不一致,计入差异

在 FORM WERT_BESTAND 开头的位置,把w-exwob调整为X. 这样后续处理的时候, 系统允许外部0价值处理商品凭证.字段W-

EXWOB的系统描述是,在货币转换后,有可能会把金额转换为0, 此时还是需要用0金额记账,而不是获取移动平均价. 符合561 期初0金额入账的需求.

一个好的办法是,设置一个配置表, 允许通过配置表打开或者关闭这个增强功能,如图的ZTBC009(可以通过移动类型配置这个开关)

问题解决之期初库存强制0金额记账 - 封面图
问题解决之期初库存强制0金额记账 - 封面图
问题解决之期初库存强制0金额记账 - 封面图
问题解决之期初库存强制0金额记账 - 封面图

** THE **

** END **

**约定**

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.

( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.

越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )

问题解决之期初库存强制0金额记账 - 封面图
问题解决之期初库存强制0金额记账 - 封面图

**公众号 : syjf1976_abap**

**ABAP开发技巧**

**微信号 : 392077**

公众号主群加入受限, 请扫码加入副群后,向管理员申请加入主群

问题解决之期初库存强制0金额记账 - 封面图
问题解决之期初库存强制0金额记账 - 封面图
ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「问题解决之期初库存强制0金额记账.md」整理生成,仅用于内部技术分享与学习交流。