通过IDoc DESADV来实现公司间STO场景中外向交货单过账后自动触发内向交货单的功能
通过IDoc DESADV来实现公司间STO场景中外向交货单过账后自动触发内向交货单的功能
公司间采购(公司间库存转储)流程里,常见的解决方案是发货方完成发货过账后,自动触发收货方的内向交货单。除了使用SAP标准的输出类型SPED来实现之外,还可以通过IDoc(DESADV)的方式来实现。
本文就是阐述如何通过IDoc来实现这个功能。
主要由如下几个步骤:
1, 创建一个外向交货单的输出类型。
T.Code – V/34,或者如下配置路径,
在Partner functions里输入条目:6/SH, 如上图。
2,将该输出类型分配给output determination procedure V10000.
Requirement 维护成1,意味着当交货单的PGI完成之后,才会触发这个ZZIB的output。
3,创建output的条件记录。
事务代码VV21/VV22。
这里的Partner需要在WE20里设置。
4,定义confirmation control key .
5, 出站IDoc的配置。
5.1), IDoc type – DELVRY03
Tools > ALE > ALE Development > IDoc > IDoc Type Development > IDoc Types
T.Code – WE30
5.2), Message Type – DESADV
Tools > ALE > ALE Development > IDoc > IDoc Type Development >Logical Messages
T.Code – WE81.
5.3), Process Code – DELV
Tools > ALE > ALE Development > IDoc > Outbound Processing > Define Process Code
T.Code – WE41.
Function Module – IDOC_OUTPUT_DELVRY.
5.4), 为出站参数维护partner profile.
SPRO > Materials Management > Purchasing > Messages > EDI > Set Up Partner Profile
T.Code – WE20.
Partner Type – KU (Customer)
Partner Role – SH
Receiver Port: A000000002
RFC Destination:
6, 入站IDOC的设置
IDoc type – DELVRY01
Message Type – DESADV
Process Code – DELS
Tools > ALE > ALE Development > IDoc > Inbound Processing > Define Process Code
T.Code – WE42
Function Module – IDOC_INPUT_DESADV1,
维护入站参数的partner profile.
事务代码WE20.
Partner Type – LS (Logical system)
7, Logical system的定义(SALE),或者直接BD54,
Logical system和SAP客户端的分配关系,
Note: 当前我所在的SAP系统就是Client 100.
8, 创建单据,看效果。
STO#4500000768,
VL10B创建了交货单#80000784,
完成了发货过账,
看该交货单的output, 触发IDoc成功了,
The Inbound delivery was triggered successfully.
-完-
写于2021-11-22。