大抵の認定製品の場合、SAPシステムとの接続アプリケーションによって、基本的にプログラミングせずに接続できるようになっているはずだ。しかし、システムインテグレータや製品ベンダがその機能があることを知らずに、もしくは知っていながら適用せずに、SAPシステム側に対するアドオンプログラムで認定製品と接続しているのである。
その存在を知りながら適用しない理由としては、「プロジェクトスケジュールを守るためにその接続方式に関するSAPシステムの新たな機能や技術を学ぶ時間がない」とか、「アドオンプログラムの開発をした方が、その経験から開発費用を下げることができる」などが挙げられる。
確かに、要件によってはアドオンプログラムで対応した方が開発および運用においてコスト削減できるケースもある。しかし、標準インターフェイス方式を採用するか、アドオンプログラムを採用するかの適正な判断をすることなく、つまり“問答無用”でアドオンプログラムが適用されているケースが多いのではないかと考えられる。
SAPは、SAPシステムとのシステム連携の方法として、RFC(Remote Function Call)やIDoc(Intermediate Document)、BAPIという技術について仕様を定義し、標準インターフェイスとして公開している。認定においても、ほとんどのインターフェイスがこの標準インターフェイスを使っている。SAPシステムと連携する方法としては、標準インターフェイスのほかに、SAP標準外であるABAPでアドオンプログラムを開発する方法や、R/3のDBに直接アクセスする外部SQLプログラムを開発する方法などがある。
外部プログラム開発 |
R/3プログラム開発 |
ノンプログラミング |
||
問い合わせ応答型 | BAPI | R/3に用意されている汎用モジュールを外部から呼び出すプログラムを開発 | ||
RFC | ||||
メッセージ型 | IDoc/ALE | 標準メッセージでは項目が足りない場合にはコーディングが必要(Customer-Exit) | R/3に用意されているメッセージ交換機能でデータ送受信 | |
SAP標準外 | ABAP | R/3にアドオンプログラムを開発し、データをOSファイルとして出力する(※2) | ||
SQL | R/3のDBに直接アクセスする外部プログラムを開発(※1) |
(出典)株式会社エス・アイ・サービス
アドオンプログラムを開発してシステム連携する場合、次のような項目を開発することが必要である。
この方法では、「連携するシステムとのすべての切り口」を組み合わせごとに開発することが必要であるため、開発効率が悪いだけでなく、仕様変更があるたびにアドオンプログラムを修正する必要があり、保守工数も多くなる。また、OS上にファイルを置くということは、R/3のアプリケーションサーバの追加や、ハードウェアアップグレードにも影響を与えるという認識も必要である。
また、標準インターフェイスであるRFC、BAPIについても、R/3システム内にアドオンプログラムを開発する必要はないのだが、R/3システム内に用意されている汎用モジュールを呼び出すためのプログラムを個別に開発する必要があるために、アドオンプログラム開発の場合と同様に、開発効率の悪さや保守工数の増大といった問題が起きる。
そこで私が推奨するのが、SAP標準インターフェイスの中のIDocインターフェイスである。IDocインターフェイスは、SAP R/3がリリース2.1のころからEDIによる外部接続用のプロトコルとして開発されたものである(R/3から直接、EDI接続を行うのではなく、外部フォーマットへの変換や通信は、認定製品であるEDIサブシステムが行う)。
そして、R/3リリース3.0のころからビジネス・フレームワーク・アーキテクチャというコンセプトの下に、R/3システム間および外部システムとの間などの分散環境における接続インターフェイスとして再構築された。具体的には、IDocインターフェイスを機能拡張し、ALE(Application Link Enabling)テクノロジという形でリリースした。
ビジネス・フレームワーク・アーキテクチャとは、各アプリケーション・コンポーネントを標準化されたインターフェイスとインテグレーション技術で連携できる環境の提供を目的としていたものであり、現在のSAP NetWeaverにもつながるものである。
ALEテクノロジとは、SAPシステムのアプリケーション・データをIDocフォーマットのメモリテーブルによって受け渡しする、非同期型プログラム間通信である。IDocフォーマットは、トランザクション情報(発注伝票、注文請書、出荷通知、請求書など)やマスターデータ(得意先マスタ、仕入先マスタ、品目マスタ、購買情報など)のオブジェクトに対して用意されており、R/3 Enterpriseにおいて約600?700のメッセージ・オブジェクトのデータに対応している。
また、アドオンテーブルなどにあるユーザーの固有データを送信する場合についても、ALEテクノロジを適用することによって、先に述べたシステム間連携用アドオンプログラムの開発項目のうち、データ抽出とデータ編集を除く、出力、エラー処理、データ転送、などの開発工数を削減することができる。
さらに、仕様変更への対応に要する工数についても削減することが可能だ。そのほか、R/3がデータ受信する場合については、IDocという形式で渡されて標準のオブジェクトであれば、基本的にノンプログラミングで登録が可能であるとともに、ユーザー固有オブジェクトについても、送信する場合と同様にエラー処理、データ転送などの開発工数を削減することが可能である。
Copyright © ITmedia, Inc. All Rights Reserved.