[ ABAP 技巧与实战 ](javascript:void\(0\);)
编者荐语:
解决问题的终极大法: DEBUG + 直接更新表内容, 每一次尝试都需要反复验证.
以下文章来源于玩转ERP ,作者故事与茶
**玩转ERP** . 热爱工作又不能去上班的时候,不妨找个地方来一起玩工作。
引言
在通常零售S4的实施中,所有工厂(门店)均需启用物料分类账(ML),用于完整记录移动平均计价商品真实的成本信息。一旦物料分类账无法正常激活,将导致商品的成本数据异常。本文简单介绍一下,如何简单修复由于商品设置异常,导致的分类账无法正常激活的处理方法。
物料主记录中设置的价格控制程序可确定用于评估物料收货的值,以及这两种价格控制类型采用 **标准价格(S价格**)** ** 或
**移动平均价格(V价格**)** ** 执行。
• **标准价格(S价格**)** **
使用标准价格评估时(价格控制S),以物料主记录中定义的标准价格执行所有的库存过账。如果收货或发票接收包含不同干标准价格的价格,差额将过账到价格差异科目。库存评估中不考虑差异。
• **移动平均价格(V价格**)** **
通过移动平均价格(MAP)评估时,将使用采购订单价格评估所有采购订单的收货。(其他货物移动以当前移动平均价格进行过账。)如果有足够的库存数量,采购订单价格和发票之间的差异会直接过账到相关的库存科目。这会更改库存的值和物料的移动平均价格。物料主数据中的价格会根据采购价格调整。
系统将自动计算移动平均价格, **总库存值/总库存数量 = 移动平均价格** 。
商品的会计视图中可以看到与分类账相关的几个标记属性,如下图所示:
而异常的物料(商品)创建方式将导致ML作业无法勾选,在对应的分类账成本表(CKMLCR、CKMLLHD、CKMLKALNR、CKMLPP、CKMLPR)中也无法查询。
最终商品无法正常记录成本变动。系统所有业务单据均报错,看起来我们只有将这个 **商品归档**
后,重新创建新的商品了。但是由于有些迁移项目,商品编码也是历史导入的,无法随意更改,那我们不妨死马当活马医一把。
异常报错
—
**。**
** **工厂 XXXX中 的物料 XXXXX 至物料分类账的连接缺失** **** **
可以看到异常的商品如下:
而正确的商品应该为
处理方法
—
**Step 1.** **更新MBEW-BWTTY** 系统的评估标记。
**Step 1**
** 如果仅完成 这一步, 系统的单据仍然会进一步提示: **
### 由于评估范围 8001 存在 ACDOCA/ACDOCA_M_EXTRACT,因此无法执行物料分类账重置
消息号 FINS_ML_START014
### 诊断
表 ACDOCA 和 ACDOCA_M_EXTRACT 中仍存在物料分类账相关数据。
### 系统响应
无法为对应的评估范围执行物料分类账取消激活。
### 过程
执行报表 SAPRCKMJX 之前,必须在对应的公司代码中删除现有的 ACDOCA 和 ACDOCA_M_EXTRACT 条目。 可使用事务 OBR1
执行此操作。请注意,事务 OBR1 只能用于测试系统
**Step 2.** **采用S4系统提供的修复程序FCMLHELP** 在原来在ECC中的事务码是CKMLHELP,是通过一个Notes 打进去的。
但S/4 HANA中,在1709的版本以后,新的事务码FCMLHELP用来解决物料账的一些问题 。这里采用主数据的帮助台。
**Step2**
**去掉测试运行的选择**
帮助文件取消测试执行后,会提示让你输入passcode。
D ebug模式设立断点,修改sy-subrc = 0 , 跳过就行了
也可以直接注释相关代码。
**Step3** **. 执行物料帐修复程序** 。
**Step3**
**Step 4.** ** 执行修复程序 **
,此时还要再次点击录制按钮,才能进入录制界面,正常执行屏幕操作即可录制。(PS:录制过程中系统会记录每一个动作,比正常操作要卡顿)。记录完成后,点击右上角的结束按钮即可完成。
**Step 5.** ** 再次更新会计视图(MM02 or ** ** MM42) ** 略 。
**Step 6.** ** 更改错误单据。 ** 将不完整的采购订单,做删除标记 。略
相关知识
—
1 . SAP ML的相关逻辑
玩转系列并非SAP教程,更多详细内容请参考官网课程
本文参考 SAP 相关教材
**S4500** //S4 HANA 寻源与采购管理
** AC530 ** //Actual Costing-Material Ledger
更多物料账异常处理文章
凭证修复处理方式,可如:物料分类账的帮助工具使用 - S/4 HANA 版本 - 知乎 (zhihu.com)