通過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。