SAP KP26 计划作业价格变更后未生效?原因与解决方案

作者:郑德鼎 约 5 分钟阅读 更新日期:2026-07-17 内容较新 标签:PP, CO, KP26, 计划作业价格, Material Ledger, 成本核算, 生产
目录
改写来源:SAP Note 2178936 - Change of plan activity price in transaction KP26 is not considered in new confirmation postings

在生产订单报工或确认时,系统会根据成本中心作业类型(Activity Type)的计划价格计算工单成本。很多顾问在 KP26 中修改了计划作业价格后,发现新的确认(Confirmation)并没有采用最新价格。本文解释这一现象背后的系统设计,并给出处理建议。


1. 问题现象

这不是系统 Bug,而是与 Material Ledger(物料分类账) 的「实际成本核算」设计有关。


2. 根本原因:Activity Update = 2

在启用 Material Ledger 的工厂中,如果作业类型的更新方式(Activity Update)设置为 2,则该作业类型的价格确定与实际成本核算相关。

2.1 系统行为

当 Activity Update = 2 时:

  1. 系统在当期第一次确认时,把当时使用的计划价格写入 Material Ledger 表 **CKMLLACR**。
  2. 该价格会在整个会计期间内被「冻结」在 CKMLLACR 中。
  3. 后续所有确认都会继续使用这个被冻结的价格,即使 KP26 中的计划价格已经修改。

2.2 为什么是这种设计?

Material Ledger 的实际成本核算要求:

在一个期间内,计划作业价格必须保持相对稳定,否则同一期间内不同时间点的确认价格会不一致,导致实际成本多层确定(Multilevel Price Determination)难以正确分摊差异。

因此,SAP 通过 CKMLLACR 表锁定首次确认价格,确保当期成本核算的一致性。


3. 检查 Activity Update 设置

可以通过以下配置路径查看和修改作业类型的更新方式:

SPRO 路径

Controlling → Product Cost Controlling → Actual Costing/Material Ledger → Actual Costing → Activate Actual Costing

或直接查看表 TCK07 / TCK08 中的 Activity Type 设置。


4. 解决方案

4.1 理解:这不是不一致

首先要明确:当 Activity Update = 2 时,KP26 的修改不会影响已锁定价格的工厂。这是系统的标准设计,不是数据错误。

4.2 查看当前锁定价格

使用事务码 CKMLLA 可以查看 CKMLLACR 中当前锁定的计划作业价格。

4.3 期末差异处理

在期末运行 CKMLCP(实际成本核算运行)或 CKMLCPAVR 时:

4.4 如果必须立即使用新价格

参考 SAP Note 2189173:*How to consider the changed plan activity price in KP26 during new confirmation postings when Material Ledger is active?*

该 Note 提供了在特定场景下让 KP26 修改立即生效的方法,但通常需要谨慎评估,因为它可能影响当期实际成本的一致性。


5. 实务建议

  1. **在月初确认前锁定计划价格**:尽量在当期第一次生产确认之前完成 KP26 的价格维护。
  2. **建立价格维护流程**:让成本会计在月结前统一检查和发布计划作业价格。
  3. **培训用户理解 CKMLLACR**:让用户知道为什么修改后不会立即生效,避免反复报工测试。
  4. **结合 CKM3 分析**:通过事务码 **CKM3 / CKM3N** 查看物料实际成本构成,验证差异分摊是否正确。

6. 关键事务码与数据表

事务码

事务码用途
KP26维护成本中心计划作业价格
CO11N生产订单确认
COR6N生产订单确认(简化)
CKMLLA查看 Material Ledger 锁定的计划价格
CKMLCP实际成本核算运行
CKM3 / CKM3N物料分类账价格分析
KSBT作业类型价格报表
KSII实际作业价格计算
CON2作业价格重估

数据表

表名说明
CKMLLACRMaterial Ledger 锁定的计划作业价格
CKMLLAMaterial Ledger 实际成本核算汇总
CKMLQS数量结构
COSB成本对象控制:作业类型差异
COEP成本对象:行项目
AFRU订单确认记录

7. 常见问题 FAQ

Q:KP26 修改价格后,为什么有些工厂生效,有些不生效?

A:只有启用了 Material Ledger 且 Activity Update = 2 的工厂会出现价格锁定。未启用 ML 或使用 Activity Update = 1 的工厂,KP26 修改会立即生效。

Q:能否直接修改 CKMLLACR 中的价格?

A:不建议。CKMLLACR 是 Material Ledger 的核心表,直接修改会导致实际成本核算不一致。应通过标准流程(如 CKMLCP)处理差异。

Q:期末差异分摊后,物料实际成本会正确吗?

A:会。Activity Update = 2 的设计正是为了保证期末多层价格确定能够正确分摊计划与实际之间的差异。


8. 参考与延伸阅读

相关指南

郑德鼎

关于作者:郑德鼎

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

来源说明:本文由 SAP 技术资料改写整理,仅供学习交流。