zoukankan      html  css  js  c++  java
  • SAP公司间STO流程里外向交货单PGI后自动触发内向交货单的实现

    SAP公司间STO流程里外向交货单PGI后自动触发内向交货单的实现

     

    公司间采购(公司间库存转储)在很多SAP项目里很常见,笔者在很多项目里都有这种场景。项目实践中,都是采用SAP的Inter-company STO(或Cross-company STO)来实现这个流程的。

     

    不同的项目做法并不同:

    一些项目里采用一步法实现转储,即发货公司发货过账后,收货公司自动完成收货过账。

    一些项目里采用两步法转储,即发货公司先做发货过账,然后收货公司单独执行收货过账动作。

    一些项目里在收货这边需要建立inbound delivery, 他们通过系统的设置,能实现这种场景里的内向交货单在发货方发货过账后自动触发。

     

    笔者写下这篇文章,阐述一下如何通过SPED这个SAP标准的output type来实现inter-company STO场景里,外向交货单过账后自动触发采购方的内向交货单的功能。

     

     

    主要由如下几个步骤:

    1, Output Type SPED在这里定义。

     

     

     

     

     

     

    2, Output type SPED 被分配给output determination procedure V10000。

     

     

     

    输出类型SPED的字段‘Requirement’的值可以是 408/1。(注:经过笔者的仔细测试和验证,Requirement栏位维护成408或者1,都可以使得相应的outbound delivery发货过账后成功的触发inbound delivery。)

    Requirement = 408,

     

     

    如果requirement=1,

     

     

    并且Requirement为408或者1的时候,都是在完成了交货单的PGI之后,SAP才会触发SPED的输出。

     

     

    3, 交货单类型NLCC对应的Output Procedure是V10000。

     

     

     

     

    4, 维护输出类型SPED的条件记录。

    相关的事务代码:VV21/VV22/VV23

     

     

    上图中Partner栏位不能为空!

     

     

    5,为内向交货单分配Goods Receiving Point。

     

     

    需要为每个收货方的Plant/Storage Location的组合配置Shipping point。

     

     

    6, 采购订单中Confirmation Control的定义。

     

    创建一个新的确认控制码 Z004,

     

     

    确保GR-Relevant和GR Assignment Key复选框被勾选上。如上图。

     

     

    7, 创建一个跨公司的STO单据看效果。

     

    STO#4500000759。商品从工厂NMI1转入工厂NM03, 它们分属于不同的公司代码。

    VL10B创建交货单,DN#80000781。

     

    VL02N对其做拣配并执行PGI,

     

    成功了,

     

    此时VL03N 去看该交货单的output记录,

     

    输出类型SPED的output自动成功触发了,如上图。

     

     

    ME23N检查采购订单行项目里的confirmation选项卡内容,

     

    一个Inbound delivery 180000182被成功的创建了,并且Outbound delivery发货之前拣配的批次号0000000400也被自动带入到这个inbound delivery里来了。

     

     

     

     

    注意: SPED能成功触发Inbound Delivery还有一个前提是STO 单据不能勾选一步转储,

     

     

     

     

    否则当我们执行VL02N去做发货过账的时候,系统报错说:No goods receipt possible for purchase order ####。笔者在做这个测试的时候,就遇到了这个报错。

     

     

     

    -完-

     

    写于2021-11-18。

  • 相关阅读:
    RabbitMQ教程(二) ——linux下安装rabbitmq
    通讯协议序列化解读(二) protostuff详解教程
    头条号【编编成程】开通
    C++静态成员函数访问非静态成员的几种方法
    深入理解QStateMachine与QEventLoop事件循环的联系与区别
    『重构--改善既有代码的设计』读书笔记---Duplicate Observed Data
    GCC选项-Xlinker和-Wl区别
    『重构--改善既有代码的设计』读书笔记----Replace Array with Object
    解决GDB输出Qt内置类型的显示问题
    GDB源代码查找路径
  • 原文地址:https://www.cnblogs.com/DicksonJYL/p/15572317.html
Copyright © 2011-2022 走看看