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 迁移思路探讨的更多相关文章

  1. SAP MM 预留单据里的Base date和Requirement date

    SAP MM 预留单据里的Base date和Requirement date Base date可以在预留创建的初始界面指定, 这个日期可以作为预留各个行项目默认的requirement date. ...

  2. SAP MM盘点流程里如何处理事务代码MI11 Recount过的盘点凭证?

    SAP MM盘点流程里如何处理事务代码MI11 Recount过的盘点凭证? 1, MI01 create a physical inventory document, 2, MI04 to inpu ...

  3. SAP MM MB5L 报表里的差异金额如何调整?

    SAP MM MB5L 报表里的差异金额如何调整? 5月3号,收到财务顾问提出的一个问题,说是MB5L报表里有差异. 如下查询条件, 报表结果里显示有差异, 经查,导致这个差异的原因之一是,一些物料批 ...

  4. SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?

    SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了? 正确答案是: 不允许,这是SAP标准逻辑. 那么问题来了!今日收到业务人员报说采购订单4300013979,完成了收货和IV, ...

  5. SAP MM ME21N 创建PO时报错 - Net price in CNY becomes too large –

    SAP MM ME21N 创建PO时报错 - Net price in CNY becomes too large – 笔者所在的项目上,由于客户尚未正式大规模量产,在现阶段,所有的物料基本都是走费用 ...

  6. SAP MM ME57 把PR转成PO

    SAP MM ME57 把PR转成PO 加入P3项目里,笔者负责采购和IM库存管理domain.采购环节里的PR转PO,客户global template里建议使用ME57或者在MD04里做.笔者在项 ...

  7. SAP MM PIR里的Lower Limit & Upper Limit

    SAP MM PIR里的Lower Limit & Upper Limit 在PIR的价格的detail数据里,有2个字段:Lower Limit和Upper Limit.在今天之前,笔者从未 ...

  8. SAP MM 一个含有多个账号分配对象的行项目的PO及其收货

    SAP MM 一个含有多个账号分配对象的行项目的PO及其收货 如下的采购订单,一个行项目数量为8PC,分别对应8个固定资产号, 在该ITEM的科目分配里,按数量做了拆分,每个数量对应一个固定资产号.如 ...

  9. SAP MM A工厂下的PR可以转成B工厂下的PO?

    SAP MM A工厂下的PR可以转成B工厂下的PO? 答案是可能的,这也是SAP标准行为之一. 如下图采购申请单据, PR中的Plant是GENL.该PR 已经转成了PO,如上图. 看这个PO,工厂代 ...

随机推荐

  1. CIKM 2012 papers to be downloaded

    http://dl.acm.org/citation.cfm?id=2398426   http://dl.acm.org/citation.cfm?id=2396825   http://dl.ac ...

  2. 轻量级C#网络通信组件StriveEngine —— C/S通信开源demo(附源码)

    前段时间,有几个研究ESFramework网络通讯框架的朋友对我说,ESFramework有点庞大,对于他们目前的项目来说有点“杀鸡用牛刀”的意思,因为他们的项目不需要文件传送.不需要P2P.不存在好 ...

  3. MySQL数据备份方法

    MySQL的备份和还原 备份:副本    RAID1,RAID10:保证硬件损坏而不会业务中止:        DROP TABLE mydb.tb1; 备份类型:        热备份.温备份和冷备 ...

  4. 使用cloudreve搭建个人网盘

    这次将腾迅的对象存储cos挂载到了服务器上,就想自己搭建个网盘,虽然每月50G的空间和10G流量,也够用了 之前写过使用owncloud来搭建个人网盘,使用起来挺方便,就是不知道为什么感觉打开速度慢, ...

  5. MySQL 数据库在 Windows 下修复 only_full_group_by 的错误

    本机上新安装了个MySQL数据库,在插入数据的时候一直提示这个错误: [Err] 1055 - Expression #1 of ORDER BY clause is not in GROUP BY ...

  6. Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖

    什么是ui-router ui-router是AngularUI库最有用的组件之一(AngularUI库由AngularJS社区构建).它是一个第三方路由框架,允许通过状态机制组织接口,而不是简单的U ...

  7. [Swift]LeetCode421. 数组中两个数的最大异或值 | Maximum XOR of Two Numbers in an Array

    Given a non-empty array of numbers, a0, a1, a2, … , an-1, where 0 ≤ ai < 231. Find the maximum re ...

  8. [Swift]LeetCode504. 七进制数 | Base 7

    Given an integer, return its base 7 string representation. Example 1: Input: 100 Output: "202&q ...

  9. Python中面向对象的概念(科普)

    面向对象(OOP)基本概念 面向对象编程 —— Object Oriented Programming 简写 OOP 目标 了解 面向对象 基本概念 01. 面向对象基本概念 我们之前学习的编程方式就 ...

  10. spark按某几列删除dataframe重复行

    新建一个 dataframe : val conf = new SparkConf().setAppName("TTyb").setMaster("local" ...