以前にIDOCの全般的な設定方法をまとめた。
![](https://mirukognosis.com/wp-content/uploads/2020/05/SAP_Overview-160x90.png)
今回はより実践的・具体的な手順として、勘定コードマスタをIDOCで送信する方法をご紹介する。
IDOCで勘定コードマスタを送信する設定手順
IDOCは色々と設定すべき項目が多いが、今回は以下の手順が登場する。
・分散モデル(Tr:BD64)
・IDOC送信(PGM:RBDSEGLM、Tr:BD21)
これ以外にも論理システムの設定、RFC宛先の設定、ポート設定等の手順が前提として必要なのだが、そちらは冒頭で紹介した前回記事を参照頂きたい。
パートナープロファイル(Tr:WE20)にGLMASTを設定する
GLMASTとは勘定コードをIDOCで送信する際のメッセージタイプだ。
予めパートナープロファイルをTr:WE20で作成しておく。(パートナータイプLS)
送信したい論理システムに対して、メッセージタイプ:GLMASTを送信パラメータに設定しておく。
送信パラメータの詳細として、受信側ポート(RFC宛先が紐づいている)とIDOCタイプの基本タイプを指定する。
基本タイプは「GLMAST01」を指定。(使用しているSAPバージョンにより、基本タイプの末尾の番号がカウントアップされている場合がある。相手システムのバージョンを確認し、共通のものを設定する)
分散モデル(Tr:BD64)でメッセージタイプを追加する
分散モデルでは、自システムからどの論理システムに対して、どのメッセージタイプ(またはBAPI設定)を配信するか設定する。
Tr:BD64でモデルビューを定義し、「メッセージタイプの追加」ボタンから送信側論理システム、受信側論理システム、メッセージタイプを定義しよう。
ここではメッセージタイプGLMASTを設定する。
・フィルタ等の制御
メッセージタイプを設定すると、メッセージタイプ表示の下位に「データフィルタ有効」という欄が表れる。
ダブルクリックすると小ウインドウが表示される。
ここではデータのフィルタリングを行うことが出来る。
「フィルタグループの登録」からフィルタ対象の項目やフィルタ値を登録しておこう。
GLMASTであれば、勘定コード表、G/L勘定コード、グローバル会社というフィルタ項目が表示される。
この設定により、狙ったコードしか送らないよう制御が可能となる。
勘定コードデータ送信
【初期送信】勘定コードをIDOC送信する(プログラム:RBDSEGLM)
まず最初に相手側システムで勘定コードマスタを登録するため、プログラム:RBDSEGLMを用いて勘定コードのIDOCデータを生成する。
プログラム:RBDSEGLMでは、勘定コード表、会社コード、勘定コード、論理メッセージ、受信論理システムを設定する。
送信したい対象範囲の勘定コード(勘定コード表、会社コード、勘定コード)を指定しよう。
論理メッセージには「GLMAST」を設定する。
受信論理システムはデータ届け先の論理システムIDを指定する。
このプログラムからIDOCを生成し送信することで、相手側システムで勘定コードマスタが生成される。
・データ連携を開始する最初の一回
・勘定コードが新規追加になった場合
・Tr:BD64でフィルタ条件が変更され、相手システムにとっての新規勘定コードを送る場合
【差分送信】勘定コードをIDOC送信する(Tr:BD21)
マスタ類は変更される可能性が常にあるが、変更された場合はその変更内容を相手側システムにも伝える必要がある。
差分送信はTr:BD21から実行する。
トランザクションの名称は「変更ポインタからのIDOC登録」となっており、前回送信から変更のあった対象のみを送るものとなっている。
画面指定項目は「メッセージタイプ」のみ。
GLMASTを指定しよう。
あとはジョブ(Tr:SM37)などでTr:BD21が自動実行されるように設定しておけば、マスタ変更があった場合はシステムが判断して差分を送信してくれる。
より詳しく学びたい方へ(参考書、専門書のご紹介)
・ファーストステップABAP入門 (Espresso Tutorials)
ABAPを勉強したい人向けの入門書。めずらしく日本語で書かれており、図表付きで初学者の導入にはかなり良いカンジの参考書となっている。
・ABAP to the Future (3rd edition updated and expanded)
次世代のSAP動向を勉強したいのであれば、ABAP to the Future (3rd edition updated and expanded)もおススメできる。
これも英語だが、2025年問題(現2027年問題)以降のSAP業界を技術者として生きていくのであれば、押さえておくべき重要知識が詰まっている。