SAP MM 实施项目里Open PO 迁移思路探讨
SAP MM 实施项目里Open PO 迁移思路探讨
.序言.
SAP项目上线前夕,除了静态主数据需要导入以外,可能还有一些动态数据,比如open的采购订单,open的销售订单等单据也要迁移到SAP系统里。
笔者所在的项目里,对于Open PO 的迁移,是MM模块里一件非常重要的工作任务。笔者通过参与这个项目,了解到客户global template中Open PO的迁移策略,很受启发。所以写下这篇文字,予以记录。
.Open PO的定义.
实际业务里,Open PO 一般需要考虑GR和IR两个指标。只要没有全数量的GR, 或者没有全数量的IR,则该PO都被视为Open的PO 。笔者所在的项目里也是采用这个标准来判定一个PO是否是open PO。
.Open PO的处理策略.
项目实践中,对于上线前夕open PO的处理,都采用特殊处理方式。
比如定义特殊的PO类型,这种类型的PO可能允许外部给号,毕竟之前的PO号码已经发给供应商了,因企业内部SAP系统切换,如果导致legacy PO 号码发生了变化,需要采购部门在商务上与供应商做比较多的沟通。如果允许外部给号,则业务人员可以将老的PO号码直接输入SAP系统里,这样供应商在后续的送货以及发票环节,完全是无缝衔接,不用额外沟通成本。
另外,项目实施的时候定义的PO release strategy也不对这种类型的PO生效。毕竟Open PO在也上已经是经过企业内部审批过了的,迁移到SAP系统里之后,可以不用再次审批了。通过定义特殊的document type, 可以屏蔽掉BAU采购订单上的release strategy。
处理策略大致是:
Open GR: 新建特殊类型的PO,迁移到SAP系统里的PO里的数量就是OPEN GR的数量。
Open IR:新建特殊类型的PO,迁移到SAP系统里的PO ITEM中Account Assignment Category设置某个标记比如Y(需要自定义),带暂估科目,不用做收货了(不勾选GR Indicator)。
但是具体的业务场景可能比较复杂,上述策略在适用于具体业务场景的时候,需要灵活处理。
.复杂场景分析举例.
举例分析:比方说一个老的采购订单,有4个 Line Item。
Line 1, PO 下了100, GR收20, IR 收20。如何迁移?
SAP里创建PO的Line1,数量是80,后续正常在SAP PO下收货、发票校验。
Line2, PO 下了100, 没GR,有IR。如何迁移?
在SAP里采购订单里line2,采购数量还是100;业务人员在老系统里该PO已入账的IR 冲销掉,然后重新在SAP PO里做发票校验。
Line3, PO 下了100, GR收80,没发票。如何迁移?
LINE3进入SAP系统里后分两个行项目,
第一个行项目,数量是80, Account Assignment设置为 Y,带暂估科目(财务提供科目),以后收到发票,借这个暂估科目,贷应付账款;GR indicator去掉,因为不会再收货。
第2个行项目,数量是20,正常PO行。
Line4, PO下了100,GR收80, IR收30. 如何迁移?
LINE4进入SAP系统里后分两个行项目,
第一个行项目,数量是50,Account Assignment设置为 Y,带暂估科目(财务提供科目), 以后收到发票,借这个暂估科目,贷应付账款; GR indicator去掉,因为不会再收货。
第一个行项目,数量是20,正常PO行。
看得出,业务场景越复杂,在准备迁移数据,判定各个ITEM迁移的数量的时候,需要花费大量人力物力去统计与分析,工作量不少的。
2019-1-10 写于杭州市.
SAP MM 实施项目里Open PO 迁移思路探讨的更多相关文章
- SAP MM 预留单据里的Base date和Requirement date
SAP MM 预留单据里的Base date和Requirement date Base date可以在预留创建的初始界面指定, 这个日期可以作为预留各个行项目默认的requirement date. ...
- SAP MM盘点流程里如何处理事务代码MI11 Recount过的盘点凭证?
SAP MM盘点流程里如何处理事务代码MI11 Recount过的盘点凭证? 1, MI01 create a physical inventory document, 2, MI04 to inpu ...
- SAP MM MB5L 报表里的差异金额如何调整?
SAP MM MB5L 报表里的差异金额如何调整? 5月3号,收到财务顾问提出的一个问题,说是MB5L报表里有差异. 如下查询条件, 报表结果里显示有差异, 经查,导致这个差异的原因之一是,一些物料批 ...
- SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?
SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了? 正确答案是: 不允许,这是SAP标准逻辑. 那么问题来了!今日收到业务人员报说采购订单4300013979,完成了收货和IV, ...
- SAP MM ME21N 创建PO时报错 - Net price in CNY becomes too large –
SAP MM ME21N 创建PO时报错 - Net price in CNY becomes too large – 笔者所在的项目上,由于客户尚未正式大规模量产,在现阶段,所有的物料基本都是走费用 ...
- SAP MM ME57 把PR转成PO
SAP MM ME57 把PR转成PO 加入P3项目里,笔者负责采购和IM库存管理domain.采购环节里的PR转PO,客户global template里建议使用ME57或者在MD04里做.笔者在项 ...
- SAP MM PIR里的Lower Limit & Upper Limit
SAP MM PIR里的Lower Limit & Upper Limit 在PIR的价格的detail数据里,有2个字段:Lower Limit和Upper Limit.在今天之前,笔者从未 ...
- SAP MM 一个含有多个账号分配对象的行项目的PO及其收货
SAP MM 一个含有多个账号分配对象的行项目的PO及其收货 如下的采购订单,一个行项目数量为8PC,分别对应8个固定资产号, 在该ITEM的科目分配里,按数量做了拆分,每个数量对应一个固定资产号.如 ...
- SAP MM A工厂下的PR可以转成B工厂下的PO?
SAP MM A工厂下的PR可以转成B工厂下的PO? 答案是可能的,这也是SAP标准行为之一. 如下图采购申请单据, PR中的Plant是GENL.该PR 已经转成了PO,如上图. 看这个PO,工厂代 ...
随机推荐
- CAS实现单点登录SSO执行原理及部署
一.不落俗套的开始 1.背景介绍 单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. CAS框架:CAS(Centra ...
- FFmpeg 结构体学习(八):FFMPEG中重要结构体之间的关系
FFMPEG中结构体很多.最关键的结构体可以分成以下几类: 解协议(http,rtsp,rtmp,mms) AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议 ...
- [SQL]LeetCode595. 大的国家 | Big Countries
SQL架构 Create table If Not Exists World (name varchar(), continent varchar(), area int, population in ...
- [Swift]LeetCode657. 机器人能否返回原点 | Robot Return to Origin
There is a robot starting at position (0, 0), the origin, on a 2D plane. Given a sequence of its mov ...
- [Swift]LeetCode931. 下降路径最小和 | Minimum Falling Path Sum
Given a square array of integers A, we want the minimum sum of a falling path through A. A falling p ...
- 阿里云服务器公网Ip外网无法访问
拥有了自己的服务器后,发现需要各种配置,之前应用公司的服务器的时候,一般通过内网访问,或者外网访问时,很多配置其他人员都已经配置好了,但是现在在自己的服务器上发布自己的网站的时候,才发现事情并没有自己 ...
- Python内置函数(57)——setattr
英文文档: setattr(object, name, value) This is the counterpart of getattr(). The arguments are an object ...
- Java 多线程(五)—— 线程池基础 之 FutureTask源码解析
FutureTask是一个支持取消行为的异步任务执行器.该类实现了Future接口的方法. 如: 取消任务执行 查询任务是否执行完成 获取任务执行结果(”get“任务必须得执行完成才能获取结果,否则会 ...
- asp.net core 系列 20 EF基于数据模型创建数据库
一.概述 本章使用 Entity Framework Core 构建执行基本数据访问的 ASP.NET Core MVC 应用程序.使用迁移(migrations)基于数据模型创建数据库,是一种cod ...
- 一个类是怎么被JVM执行的
现有如下代码,那么我们的JVM是怎么执行的呢 public class Test{ public static vodi main(String[] args){ MaYun my=new MaYun ...