SAP_MM/CO模块-超详细的CK11N/CK40N取值逻辑梳理(十几种业务场景,1.76W字)

一、业务背景

        财务月结完成后,对次月物料进行成本发布时,经常会提物料成本不准的问题,譬如说同一个物料,CK40N发布的成本与CK11N发布的成本对不上;再有就是因为物料有多个生产版本,多个采购价格,多个货源清单等主数据,导致CK11N发布成本的时候,跟用户理解的取数逻辑对不上,种种问题,导致负责成本的同事经常咨询这个成本发布的问题,本次就详细的梳理和记录一下,CK11N的成本构成到底是怎么来的(主要针对采购模块,标准采购和外协加工采购业务,生产板块的简略带过);

        本文主要讲解的是前台业务操作层面的部分,包括采购信息记录、货源清单、配额协议、以及物料主数据MRP视图2的采购类型、特殊采购类等不同组合下,对CK11N成本发布取值的影响;另外后台配置部分,后续有时间将会重新开一篇新的文章记录说明,光是这个测试文档,陆陆续续花了我一周多时间了;

        这里也先提前说明一下,由于我是一边测试,一边记录的,而不是全部测试完再重新截图记录,然后每个记录的截图都有对应的结论,再加上后面总结的结论,就会显得有些啰嗦重复。。没耐心看完的,可以只看结论部分。当然,我是建议你们按照我文档的思路看下去,相信有些疑问你们也会遇到,最好可以先看看目录,第三章节的《实际业务测试》中,讲解的图片就会多起来,就不会感觉那么枯燥了。

另外,后续所有测试结果,都以下图的配置下进行:OKKN

1、为什么CK40N发布的价格,小于CK11N发布的价格?

答:CK40N:流程步骤为“选择”时,参数设置没有勾选“展开多级结构”,在创建了成本核算变式后,修改了成品物料BOM组件的成本价,导致CK40N发布的价格与CK11N显示的不一致;当BOM组件物料的价格调高时,CK40N仍然显示的是原来的价格,而CK11N显示的是最新的价格,就会导致CK40N的价格小于CK11N的价格;

2、物料成本估算存放于哪些后台表?

SAP物料标准成本估算(CK11N/CK40N)的结果保存在相关表格:KEKO,CKIS (CKIP,CKIT) .

3、CK11N/CK40N发布的成本估算,如何冲销?

CK40N创建的需要先用CK44删除,对于CK11N或者CK40N的评估结果,使用CKR1进行删除。

4、CK11N对原材料发布成本价时,有多个采购信息记录,有多个货源清单,多个配额时,取值逻辑分别是怎么样的?

(1)配额协议 > 货源清单 > 采购价格低的 >物料成本价

(2)配额协议多个时:以配额率高的为准;配额率相同时,以配额维护的先后顺序为准,取排在最上面的那个;

(3)货源清单有多个时:以优先级高的那个为准(如勾选了固定货源的,优先级就更高);如果没有明确的优先级时,系统不会跟配额一样,取最上面的那个货源,而是不再考虑货源清单,进而取价格更低的那个供应商;

5、CK11N发布委外加工的半成品/成品时,假如有两个委外加工的生产版本,该生产版本的取值,以及委外加工采购信息记录取值的逻辑是怎么样的?

半成品/成品,外协加工时,成本包含两部分,分别为外协加工的采购价格,以及下层BOM组件的成本价;

(1)外协加工的采购价格:与第4点,原材料的成本价取值逻辑一致,也是:配额协议 > 货源清单 > 采购价格低的 >物料成本价 ,简单可以理解为,只要是采购部分相关的价格,都是这样的逻辑;

(2)BOM组件的成本价:物料主数据成本1视图指定的BOM或者生产版本 > C223维护的排最上面的版本对应的BOM组件;

PS:BOM组件的成本价取值,与外协采购信息记录指定的版本,以及配额协议指定的版本无关,这两个地方指定的版本,只会影响到外协采购订单的BOM组件取值,不会影响到CK11N/CK40N成本发布的BOM取值

以上几个问题和结论,后面都会有具体的案例测试说明

二、测试目录和结论

后面的测试场景和细节比较多,可能有部分结论也是多次重复说明,请做好心理准备,嫌麻烦的可以直接看前面的Q&A问答,基本上也能解决大多数业务场景的疑惑了。

(一)CK11N-S价物料价格发布取值逻辑----单层物料(采购类型为F)

1、物料13000000000015,物料需求计划2的采购类型F,特殊采购类型维护空值(标准)与30(外协加工)对CK11N价格取值的影响:

(1)特殊采购类为空时,取标准采购信息记录;

(2)特殊采购类为30时,取外协加工采购信息记录;

2、单层物料,有多个采购信息记录;

物料13000000000015,物料需求计划2的采购类型F,特殊采购类维护空值(标准),有多个采购信息记录时对CK11N取值的影响;(100164供应商和100165供应商)

(1)CK11N成本核算日期,不在供应商100164采购信息记录有效期范围内时,取在有效期范围的供应商100165采购信息记录;

(2)CK11N成本核算日期,均处于供应商100164和100165对应的采购信息记录有效期范围内时,取采购信息记录价格小的那个;与采购信息记录有效起始日期的早跟晚无关

3、物料13000000000015,物料需求计划2的采购类型F,特殊采购类维护空值(标准),有多个采购信息记录时,货源清单和配额对CK11N取值的影响;(100164供应商和100165供应商,CK11N发布的价格都在价格的有效期内)

(1)有货源清单无配额时,以货源清单中的数据为准

(2)有配额时,不管有没有货源清单,都以配额的为准

目前为止的逻辑(CK11N价格发布日期都处于对应主数据的有效期范围内):配额协议 > 货源清单 > 采购信息记录价格小的

(二)CK11N半成品价格发布取值逻辑

1、半成品物料需求计划2的采购类型是F,特殊采购类维护30(外协加工),有一个外协加工采购信息记录,多个生产版本时,取值取的是哪个生产版本的数据。

        外协加工费取唯一的那个外协加工采购信息记录价格,然后不管外协加工采购信息记录,是否指定生产版本,半成品的组件物料成本,都以半成品在事务码C223维护的生产版本中,排在最上面的生产版本的BOM组件物料为准(生产版本的编号越小,就越会排在上面,优先级就越高,001小于002,A001小于B001,001小于A001,大概是这么一些字符大小的比较)

PS:外协加工采购信息记录,指定的生产版本,不会影响CK11N发布价格时,那个BOM组件物料的成本取值;但是它是会影响创建外协加工采购订单时,BOM组件物料的带出;

(1)CK11N价格发布,外协加工的BOM组件价格取值:与外协加工采购信息记录指定的版本无关~~

(2)外协加工采购订单的BOM组件取值:与外协加工采购信息记录指定的版本有关~~

2、半成品物料需求计划2的采购类型是F,特殊采购类维护30(外协加工),有多个外协加工采购信息记录,一个生产版本时,取值取的是哪个生产版本的数据。

(1)外协加工费,取外协加工采购信息记录中,价格最低的那个(都在有效期范围内);

(2)BOM组件物料成本,取唯一的那个生产版本中绑定的BOM组件物料成本;

3、半成品物料需求计划2的采购类型是F,特殊采购类维护30(外协加工),有多个外协加工采购信息记录,多个生产版本时,取值取的是哪个生产版本的数据。

(1)外协加工费,取外协加工采购信息记录中,价格最低的那个(都在有效期范围内);

(2)BOM组件物料成本,取生产版本优先级最高的那个BOM组件物料成本(版本编号最小,在C223界面显示中,排在最上面的那个),与外协加工采购信息记录是否指定生产版本无关;

总结:以上的业务场景,可能就会出现一种特殊的情况:

半成品M的外协加工采购信息记录A,对应供应商A1;价格更低,为1块钱;指定生产版本W002,对应物料M2,成本价3.5元;

外协加工采购信息记录B,对应供应商B1,价格更高,为2块钱;指定生产版本W001,对应物料M1,成本价3元;

然后因为生产版本编号W001 < W002,W001优先级更高;

(1)CK11N发布半成品M的价格时,加工费取的是采购信息记录A的价格,1块钱;然后BOM组件物料成本,取的是W001版本对应的BOM组件M1物料成本,3块钱,所以半成品的价格是 1 + 3 =4;

        但是这里我们可以看到,其实采购信息记录A,指定的版本W002,正常按照我们理解,BOM组件的成本应该是要取W002版本对应的M2物料的成本3.5才对,但是实际上,用的是生产版本W001中M1的物料;

(2)ME21N创建外协采购订单时,带出来的PB00的外协加工价格也是采购信息记录A对应的价格,但是BOM组件,带出来的是生产版本W002对应的物料M2;

        这样看来,财务就会觉得,半成品的成本构成中,BOM组件用的是版本W001对应的M1物料,但是创建订单时,带出来的是版本W002对应的M2物料,不匹配~~!!!

目前也是因为这个原因,导致财务同事经常反馈数据不对!!

测试解决方案:(这里记录的是当时思考的方案,实际上不可行)

        从前面的结论可以知道,CK11N的价格取值逻辑,是配额协议 > 货源清单 > 采购价格低的 ,那么这个时候,我们想指定自己想要取值的物料或者版本是哪个时,最好的方法就是直接用MEQ1维护对应的配额来指定;

        延续前面那个例子,假如我们想指定取外协加工费更高的那个采购信息记录B,对应供应商B1,并且取其对应的生产版本W002,那么我们先用MEQ1,维护半成品物料M的配额供应商B1(A1可不维护,或者说A1维护进去的话,配额率要低于B1),然后生产版本指定W002;

        这样,我们幻想的场景是,无论是CK11N发布价格,还是创建外协采购订单,带出来的价格,都是采购信息记录B的价格,然后BOM组件物料都是用的版本W002对应的M2物料;

        想象很美好,但是实际测试下来发现,配额协议即使维护了对应的生产版本W002,但是CK11N发布价格时,BOM组件物料的价格取值,仍然是以C223维护的生产版本的优先级来决定的!!!

(三)根据测试结果,得出最终结论(半成品属于外协加工的场景);

(1)CK11N发布半成品的成本价时,分两部分:外协加工采购信息记录 + BOM组件物料的成本

A、外协加工采购信息记录取值,配额协议选定的供应商 > 货源清单生效的供应商 >价格更低的

B、BOM组件物料的成本,分两步:

第一步:先通过半成品的C223维护的生产版本的优先级(按文本排序,越小的排在越上面,优先级越高),来决定使用哪个委外BOM;(与配额协议指定的生产版本和委外采购信息记录指定的版本无关)

第二步:根据第一步确定的BOM组件,按照价格取值逻辑:配额协议选定的供应商 > 货源清单生效的供应商 >价格更低的,来决定原材料成本价;

(2)半成品的外协采购信息记录指定生产版本、或者说半成品的配额协议指定生产版本,只会影响创建外协采购订单时,订单中带出来的BOM组件;

不会影响CK11N对半成品进行成本价发布时,BOM组件物料成本价的取值;

(四)CK11N发布成品,与CK40N发布成品的异同点以及注意事项

CK40N,如果不勾选

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/478332.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

今天你学C++了吗?——C++中的类与对象(第二集)

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…

部署实战(二)--修改jar中的文件并重新打包成jar文件

一.jar文件 JAR 文件就是 Java Archive &#xff08; Java 档案文件&#xff09;&#xff0c;它是 Java 的一种文档格式JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中&#xff0c;多出了一个META-INF/MANIFEST.MF 文件META-INF/MANIFEST.MF 文件在生成 JAR 文件的时候…

微信小程序+Vant-自定义选择器组件(多选

实现效果 无筛选&#xff0c;如有需要可参照单选组件中的方法.json文件配置"component": true,columns需要处理成含dictLabel和dictValue字段&#xff0c;我是这样处理的&#xff1a; let list arr.map(r > {return {...r,dictValue: r.xxxId,dictLabel: r.xxx…

.NET Core发布网站报错 HTTP Error 500.31

报错如图&#xff1a; 解决办法&#xff1a; 打开任务管理器》》服务》》找到这仨服务&#xff0c;右键启动即可&#xff0c;如果已经启动了就重启&#xff1a;

Canvas 前端艺术家

目前各种数据来看&#xff0c;前端未来在 数据可视化 和 AI 这两个领域会比较香&#xff0c;而 Canvas 是 数据可视化 在前端方面的基础技术。所以给大家唠唠Canvas这个魔幻工具。 Canvas 介绍 Canvas 中文名叫 “画布”&#xff0c;是 HTML5 新增的一个标签。Canvas 允许开发…

Leetcode142. 环形链表 II(HOT100)

链接 我的错误代码&#xff1a; class Solution { public:ListNode *detectCycle(ListNode *head) {if(!head||!head->next)return nullptr;ListNode* f head->next,*s head;while(f){f f->next,s s->next;if(!f)return nullptr;f f->next;if(fs){ListNo…

centos安装小火车

平时没事闲着 装个小火车玩-------->>>>> yum install sl.x86_64 启动命令 sl 就会出现以下场景

JavaScript的let、var、const

这张图片主要介绍了JavaScript中的三种变量声明方式&#xff1a;let、var和const。 1. let 含义&#xff1a;let是现在实际开发中常用的变量声明方式。特点&#xff1a; 块级作用域&#xff1a;let声明的变量只在其所在的块级作用域内有效。例如&#xff1a;{let x 10; } co…

替换Nacos的MySQL驱动

前言&#xff1a;替换Nacos的MySQL驱动能实现使Nacos支持MySQL8.0及以上版本的MySQL数据库 注&#xff1a;下述教程会使用命令先解压Nacos的jar包然后重新用命令把Nacos压缩成jar包&#xff0c;不然直接用压缩工具替换MySQL驱动后的Nacos是会启动不起来的&#xff08;因为没有替…

蓝桥杯每日真题 - 第21天

题目&#xff1a;(空间) 题目描述&#xff08;12届 C&C B组A题&#xff09; 解题思路&#xff1a; 转换单位&#xff1a; 内存总大小为 256MB&#xff0c;换算为字节&#xff1a; 25610241024268,435,456字节 计算每个整数占用空间&#xff1a; 每个 32 位整数占用…

AI赋能电商:构建高效、智能化的新零售生态

随着人工智能&#xff08;AI&#xff09;技术的不断进步&#xff0c;其在电商领域的应用日益广泛&#xff0c;从购物推荐到供应链管理&#xff0c;再到商品定价&#xff0c;AI正在全面改变传统电商的运营模式&#xff0c;并推动行业向智能化和精细化方向发展。本文将探讨如何利…

Python酷库之旅-第三方库Pandas(237)

目录 一、用法精讲 1116、pandas.tseries.offsets.BusinessHour.is_year_end方法 1116-1、语法 1116-2、参数 1116-3、功能 1116-4、返回值 1116-5、说明 1116-6、用法 1116-6-1、数据准备 1116-6-2、代码示例 1116-6-3、结果输出 1117、pandas.tseries.offsets.Cu…

不一样的css(三)

目录 一、前言 二、五角星 1.五角星&#xff0c;叠盖法&#xff1a; 2.五角星&#xff0c;拼凑法&#xff1a; 3.五角星&#xff0c;svg画法&#xff1a; 4.五角星&#xff0c;利用clip-path属性进行裁剪 三、结束语 一、前言 通过上两节的内容我们对css画小图标有了新…

autogen框架中使用chatglm4模型实现react

本文将介绍如何使用使用chatglm4实现react&#xff0c;利用环境变量、Tavily API和ReAct代理模式来回答用户提出的问题。 环境变量 首先&#xff0c;我们需要加载环境变量。这可以通过使用dotenv库来实现。 from dotenv import load_dotenv_ load_dotenv()注意.env文件处于…

Neural Magic 发布 LLM Compressor:提升大模型推理效率的新工具

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

LabVIEW实现TCP/IP通信

目录 1、TCP通信原理 2、硬件环境部署 3、云端环境部署 4、TCP通信函数 5、程序架构 6、前面板设计 7、程序框图设计 8、测试验证 本专栏以LabVIEW为开发平台&#xff0c;讲解物联网通信组网原理与开发方法&#xff0c;覆盖RS232、TCP、MQTT、蓝牙、Wi-Fi、NB-IoT等协议。 结合…

Linux系统Docker部署开源在线协作笔记Trilium Notes与远程访问详细教程

目录 ⛳️推荐 前言 1. 安装docker与docker-compose 2. 启动容器运行镜像 3. 本地访问测试 4.安装内网穿透 5. 创建公网地址 6. 创建固定公网地址 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下…

Linux关于vim的笔记

Linux关于vim的笔记&#xff1a;(vimtutor打开vim 教程) --------------------------------------------------------------------------------------------------------------------------------- 1. 光标在屏幕文本中的移动既可以用箭头键&#xff0c;也可以使用 hjkl 字母键…

Swift 实现链表重新排列:L0 → Ln → L1 → Ln-1

前言 本题由于没有合适答案为以往遗留问题&#xff0c;最近有时间将以往遗留问题一一完善。 143. 重排链表 不积跬步&#xff0c;无以至千里&#xff1b;不积小流&#xff0c;无以成江海&#xff0c;Swift社区 伴你前行。如果大家有建议和意见欢迎在文末留言&#xff0c;我们会…

C++ —— 以真我之名 如飞花般绚丽 - 智能指针

目录 1. RAII和智能指针的设计思路 2. C标准库智能指针的使用 2.1 auto_ptr 2.2 unique_ptr 2.3 简单模拟实现auto_ptr和unique_ptr的核心功能 2.4 shared_ptr 2.4.1 make_shared 2.5 weak_ptr 2.6 shared_ptr的缺陷&#xff1a;循环引用问题 3. shared_ptr 和 unique_…