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。