BAPI【Business Application Programming Interface】
概要

BAPIを利用すると、外部のプログラムはSAPシステムの内部処理を意識することなく、必要な入力値を渡して処理を呼び出し、処理結果やデータを受け取ることができる。データの登録・更新だけでなく、検索や参照を目的とした処理にも用いられる。
呼び出し方法や受け渡すデータの形式があらかじめ定義されているため、異なるシステム間でも安定した連携を実現することができる。同社が公開する標準のインターフェースとして提供されるほか、独自の業務要件に合わせて追加作成される場合もある。
技術的には、SAPシステムに共通する「ABAP」(Advanced Business Application Programming)言語で実装された関数モジュールの一種であり、「RFC」(Remote Function Call) という仕組みを通じて外部から呼び出せる構造になっている。JavaやC++言語など様々なプログラミング言語から利用でき、企業内の複数の情報システムを連携させる手段として定着した。販売管理システムや生産管理システム、Webアプリケーションとのデータ連携でも採用されることが多い。
外部のプログラムからSAPシステムの内部テーブルを直接書き換えることもできるが、データの整合性が損なわれたり、システムが不安定になったりするリスクがある。BAPIを経由することで、SAPシステムが意図した手順に沿った操作が保証され、バージョンアップの際にも外部連携プログラムへの影響を抑えやすくなる。
企業のIT環境では複数システム間でのデータ同期が頻繁に必要になることから、SAPシステムとそれ以外のシステムの間で安全で確実なデータ連携を行う経路としてBAPIは重要な位置を占めてきた。近年では「OData」(Open Data Protocol)サービスを用いたREST APIなど新しい連携方式も普及しているが、多くの既存システムではBAPIが現在も使われている。