Friday is awesome

SAPについて個人的なメモをまとめたブログです

MENU

SAP IDocとは

SAP IDocとは?
SAPのプロジェクトをやっていると、IDocという仕組みに触れることがあると思います。ABAPで作成したアドオンインタフェースプログラムとは毛色が異なるため、私も最初に聞いたときはIDocって何???と思いました。IDocとはIntermediate Documentの略でトランザクションデータを転送するためのSAPが定めたドキュメントフォーマットのことです。SAPではないシステムもIDocの仕組みを使用してSAPとインタフェースを構築することができます。例えば、SAP側でIDocを使用していて購買発注伝票を作成すると、IDoc機能によりこのデータがVendor側のシステムに送信され、Vendor側のシステムでは自動で受注伝票が作成されるといった感じです。

IDoc実例
私が以前に関わっていたPJでは、グループ会社間の取引でIDocを使用していました。以下のようなイメージとなります。本社、製造子会社ともにSAPを導入していて、本社から製造子会社に発注する際にMessage Type: ORDERS/ORDCHGを用いて発注データの連携をして、製造子会社側で受注して製造して出荷するという流れです。製造子会社側で出荷伝票に対して出庫確認するとMessage Type: DESADVのIDocが作成されて、本社側に入荷伝票(作に作成された購買発注伝票に紐づく)が作成されます。つまり、製造子会社側を製品出荷したので、本社側では入荷予定として入荷伝票を作成するというわけです。

f:id:carthat:20201124114559p:plain

IDoc関連設定
IDocデータを作成するためには出力レコードが必要となるので、出力タイプを設定します。Tr-CD: SPROからIMG -> 物流管理 -> 出荷管理 -> 基本出荷機能 -> 出力管理 -> 出力決定 -> 設定:出力タイプ 

f:id:carthat:20201124134633p:plain
出庫確認で作成されるDESADVを例に取ると、出荷伝票の出力タイプはLAVA(出荷通知送信)を使用します。これはSAP標準の出力タイプで、標準プログラムが定義されています。また、価格の条件マスタなどと同様に出力用のマスタも設定する必要があります(Tr-CD: VV21)

f:id:carthat:20201124134711p:plain

f:id:carthat:20201124134741p:plain
また、Tr-CD: WE20でパートナプロファイルの設定を行います。パートナとは、DESADVであれば、得意先コードとなります(Partner TypeはKU)。

f:id:carthat:20201124134937p:plain
設定した後に出荷伝票を作成すると、出力レコードが作られていることが確認できます。

f:id:carthat:20201124140234p:plain
出荷伝票作成時点で未処理の出力レコード(黄色信号)が作成されます。

f:id:carthat:20201124140442p:plain

出庫確認することで、出力が処理されて緑色信号となります(このタイミングでIDocデータも作成される)。

f:id:carthat:20201124140504p:plain

作成されたIDocデータはTr-CD: BD87やWE02で見ることができます。保守を担当している方などはIDocの送受信でエラーがないかなどのモニタリングを下記の画面で確認していると思います。

f:id:carthat:20201124140716p:plain

f:id:carthat:20201124140744p:plain

以上、簡単ですがSAP IDocの紹介でした。

追記
IDOC番号と伝票番号のつながりを記事にしました。

sapbasic.hatenablog.com