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. CAS实现单点登录SSO执行原理及部署

    一.不落俗套的开始 1.背景介绍 单点登录:Single Sign On,简称SSO,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. CAS框架:CAS(Centra ...

  2. FFmpeg 结构体学习(八):FFMPEG中重要结构体之间的关系

    FFMPEG中结构体很多.最关键的结构体可以分成以下几类: 解协议(http,rtsp,rtmp,mms) AVIOContext,URLProtocol,URLContext主要存储视音频使用的协议 ...

  3. [SQL]LeetCode595. 大的国家 | Big Countries

    SQL架构 Create table If Not Exists World (name varchar(), continent varchar(), area int, population in ...

  4. [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 ...

  5. [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 ...

  6. 阿里云服务器公网Ip外网无法访问

    拥有了自己的服务器后,发现需要各种配置,之前应用公司的服务器的时候,一般通过内网访问,或者外网访问时,很多配置其他人员都已经配置好了,但是现在在自己的服务器上发布自己的网站的时候,才发现事情并没有自己 ...

  7. Python内置函数(57)——setattr

    英文文档: setattr(object, name, value) This is the counterpart of getattr(). The arguments are an object ...

  8. Java 多线程(五)—— 线程池基础 之 FutureTask源码解析

    FutureTask是一个支持取消行为的异步任务执行器.该类实现了Future接口的方法. 如: 取消任务执行 查询任务是否执行完成 获取任务执行结果(”get“任务必须得执行完成才能获取结果,否则会 ...

  9. asp.net core 系列 20 EF基于数据模型创建数据库

    一.概述 本章使用 Entity Framework Core 构建执行基本数据访问的 ASP.NET Core MVC 应用程序.使用迁移(migrations)基于数据模型创建数据库,是一种cod ...

  10. 一个类是怎么被JVM执行的

    现有如下代码,那么我们的JVM是怎么执行的呢 public class Test{ public static vodi main(String[] args){ MaYun my=new MaYun ...