SAPとSalesforceはどう連携する?公式の連携方法を調べてみた|ドキュメントから確認した5つの方法と費用・制限

こんにちは。セルバの中山です。
営業はSalesforceで商談を管理し、受注・出荷・請求はSAPで動いている。この組み合わせの会社では、「Salesforceで受注確定したのに、SAPに手で入れ直している」「SAPの在庫や請求状況が営業から見えない」という問題が必ず出ます。
では、SAPとSalesforceをつなぐ「公式の」方法は何があるのか。この記事では、公式ドキュメントを根拠に、連携方法を5つに整理し、それぞれの費用と制限を公式の数字で確認しました。
先に結論を言うと、公式に用意されている連携手段は「SAP側のiPaaS(SAP Integration Suite)」「Salesforce側のiPaaS(MuleSoft)」「Salesforceの仮想化(Salesforce Connect)」「両社のAPIを使った自社開発」「AppExchangeのサードパーティ製品」の5つで、どれを選ぶかは「データをコピーするのか、その場で見に行くのか」「SAPの中を触らずに済ませたいか」で決まります。
SAP側とSalesforce側、それぞれの接続口
SAP側:OData・BAPI/RFC・IDoc、Public CloudはリリースAPIのみ
SAPの公式学習コンテンツでは、外部連携の口が3つ説明されています。BAPIは「SAPと非SAPシステムの間でビジネスデータを交換するための標準SAPインターフェース」、RFCは「SAPシステム間の通信のための標準SAPインターフェースで、リモートシステムで関数を実行する」、IDocは「システム間のEDI(電子データ交換)のための標準SAPフォーマット」です。これに加えて、S/4HANAではOData APIが標準の口になっています。
注意が必要なのはSAP S/4HANA Cloud Public Editionで、SAPの公式教材は「顧客は、新規開発と拡張開発の両方で、公開リリースされたインターフェースのみを使うことに同意する」「拡張開発では、公開拡張ポイントや公開リモートAPIといったリリース済みAPIのみ使用できる」としています。Public Editionでは、昔ながらのBAPIを自由に叩く前提は成り立ちません。
背景にあるのがSAPの「クリーンコア」方針です。公式教材では「リリース済みAPI(アップグレードに安定なインターフェース)のみを使う」「改変ゼロの方針をとる」「SAP Integration Suiteを使う」「拡張はSAPアプリケーションから厳密に分離して保つ」と説明されています。SAPの中を触らず、外側の標準APIでつなぐのが、SAP自身が推す形です。
出典:SAP Learning: BAPI・IDoc・RFCの基礎、SAP Learning: Exploring released APIs、SAP Learning: Introducing the clean core approach
Salesforce側:REST/Bulk API、24時間あたりの呼び出し上限
Salesforceの公式リミット早見表では、APIリクエストの上限(24時間あたり)は、Enterprise/Professional(API有効)が100,000+(ライセンス数×ライセンス種別ごとの回数。Salesforceライセンスは1,000)、Unlimited/Performanceが100,000+(ライセンス数×5,000)、Developer Editionが15,000、Full Sandboxが5,000,000です。20秒を超える長時間リクエストの同時実行は本番で25まで、20秒未満のリクエストには同時実行の上限がありません。
SAP側からSalesforceに書き込む連携は、この24時間上限の中に収める設計が必要です。件数が多い場合はBulk APIやバッチ化が前提になります。
出典:Salesforce Developers: Platform API limits cheat sheet
方法1:SAP Integration Suite(SAP側のiPaaS)でつなぐ
SAPが提供する統合基盤で、公式ページは「SAPとサードパーティの環境をまたいでビジネスを統合する、モダンでスケーラブルで安全なiPaaS」「数千のプリビルト統合・API・イベントで統合を素早く立ち上げる」と説明しています。
Salesforce向けの部品として、SAP Help Portalには「Salesforce Sender Adapter」「Salesforce Receiver Adapter」が用意されており、認証はOAuth 2.0 Username-Password、OAuth 2.0 JWT Bearer、OAuth 2.0 Client Credentialsから選べます。SAP公式ブログでは、S/4HANA Cloudの顧客マスタをSalesforceのAccountに複製する標準パッケージについて、「データはSAP S/4HANAから取得され、Salesforce互換の形式(SObject)に変換され、Salesforce Adapterを通じてSalesforceに送られる」と説明されています。SAP Business Accelerator Hubには「SAP S/4HANA with Salesforce integration」というパッケージが公開されています(詳細ページはサインインが必要で、対象オブジェクトの一覧は本記事では確認できていません)。
費用(公式価格ページ、米ドル・月額、契約3〜36か月):
- Starter edition:USD 1,728/月。月50,000メッセージ、カスタム統合フロー10本まで、SAP Business Accelerator Hubへのアクセス
- Standard edition:USD 5,339/月。API管理、B2Bライブラリ、160以上のサードパーティSaaSへのアクセス、イベント連携
- Enhanced edition:USD 7,688/月。Standardの全内容に加えて拡張(月500Kメッセージなど)
課金の単位は「メッセージ数」で、含まれる数を超えた分は追加購入です。プリビルトコンテンツは「3,400以上」、Open Connectorsは「200以上のサードパーティアプリへのコネクタ」とされています。
向いているケース:SAPが中心のIT部門が、Salesforceを含む複数システムの連携を1か所で管理したい場合。すでにSAP BTPを契約している会社。
出典:SAP Integration Suite 製品ページ、SAP Integration Suite Pricing、SAP Help Portal: Salesforce Sender Adapter、SAP Community(SAP公式ブログ): Connect Everything featuring Salesforce
方法2:MuleSoft(Salesforce側のiPaaS)でつなぐ
Salesforce傘下のMuleSoft Anypoint Platformには、SAP向けのコネクタが公式に用意されています。
- SAP Connector(バージョン5.9、Mule 4.1.1以降):sRFC/aRFCの実行、BAPIの実行、tRFC/qRFCでのIDoc送受信に対応し、「BAPIとしてsRFC/aRFCで呼ばれるJCoサーバーとして動作」もできます。対象はSAP NetWeaver Application Server系(ECC、CRMを含む)。認証はX.509証明書、Kerberos、ユーザー名/パスワード。SAP側のJCoライブラリはSAPのサイトから別途入手が必要で、公式ドキュメントに「このコネクタには別途ライセンスが必要」とあります。
- SAP S/4HANA OData Connector(バージョン2.9):「エンティティの作成・取得・更新・削除」「複数エンティティのクエリ」「バッチリクエストの実行」に対応。認証はBasicとOAuth 2.0 Client Credentials。
- SAP SuccessFactors Connector(バージョン5.0)もあります。
費用:MuleSoftの公式価格ページは「Contact for pricing」(要問い合わせ)で、金額は公開されていません。
向いているケース:Salesforceが中心で、Salesforce側の担当者・パートナーが連携を運用する場合。ECC(旧世代SAP)とBAPI/IDocでつなぐ必要がある場合。
出典:MuleSoft Docs: SAP Connector、MuleSoft Docs: SAP S/4HANA OData Connector、MuleSoft Docs: SAP SuccessFactors Connector、MuleSoft Pricing
方法3:Salesforce Connectで「コピーせずに見に行く」
Salesforce Connectは、外部システムのデータを外部オブジェクトとしてSalesforce上に仮想的に表示する機能で、OData 2.0/4.0のアダプターを持ちます。SAPのOData APIを外部オブジェクトにすれば、SAPの在庫や請求データをコピーせずにSalesforceの画面で参照する形が作れます(Salesforce公式開発者ブログも「SAPなどのデータソースと統合し、Salesforce環境内で外部データにアクセスできる」としています)。
公式の制限(Salesforce Help):
- 1組織あたりの外部オブジェクト数:200(既定100、増枠はサポート申請)
- 1時間あたりに取得・作成できる新規行:100,000(Hyperforce組織と高データ量ソースを除く)
- ODataのHTTPリクエスト・レスポンスの最大サイズ:各8MB、クエリ結果セットの最大:16MB、サブクエリ:1,000行
- 外部オブジェクトと他オブジェクトをまたぐ結合は1クエリ4つまで、サーバー駆動ページングの最大は2,000行
- コールアウト回数そのものの上限はない(「there are no callout limits」)が、外部システム側の制限は別
ライセンス:「Enterprise、Performance、Unlimited Editionで追加費用で利用可能」。金額は非公開です。
向いているケース:営業がSAPの情報を「見る」だけでよく、Salesforce側にデータを持ちたくない場合。逆に、大量のトランザクションを扱う、SAP側に書き戻す、という用途には制限が効いてきます。
出典:Salesforce Help: Salesforce Connect General Limits、Salesforce Help: OData General Limits、Salesforce Developers Blog: Lightning Connect & SAP
方法4:両社のAPIを使って自社の連携基盤を作る
iPaaSを買わずに、SAPのOData/BAPIとSalesforceのREST/Bulk APIを、自社で用意した連携サービス(クラウド上の小さなアプリ)でつなぐ方法です。公式が「こう作れ」と一枚で示しているわけではありませんが、Salesforce Architectsの公式ドキュメント「Integration Patterns」が、設計の型を6つ挙げています。
- Remote Process Invocation—Request and Reply(Salesforceから外部を呼び、応答を待つ)
- Remote Process Invocation—Fire and Forget(呼びっぱなし)
- Batch Data Synchronization(バッチでのデータ同期)
- Remote Call-In(外部からSalesforceを呼ぶ)
- UI Update Based on Data Changes(データ変更で画面更新)
- Data Virtualization(データ仮想化=方法3)
SAP側は前述の通り、Public EditionではリリースAPIのみ、クリーンコア前提です。Salesforce側は24時間あたりのAPI上限の中で設計します。
向いているケース:iPaaSの月額(SAP Integration Suiteで月USD 1,728〜)に見合うほど連携本数がない、または「SalesforceにもSAPにもない、自社の業務ロジック」を間に置きたい場合。たとえば、Salesforceの商談をSAPの受注に変換するときの品目・価格の読み替え、承認フロー、現場向けの入力画面などです。
出典:Salesforce Architects: Integration Patterns、Trailhead: Integration Patterns
方法5:AppExchangeのサードパーティ製コネクタを使う
Salesforceの公式マーケットプレイスAppExchangeには、SAP連携をうたうサードパーティ製品が複数掲載されています。たとえばGyanSysの「Salesforce-SAP Connector」は「SAP ECCオンプレミスとS/4HANAの両方をサポート」とし、掲載ページの価格は「SAPインスタンスあたり月$4,000から」です。ほかにAPPSeCONNECT、Commercient SYNC、Vigience Overcast、enosix Surfaceなどが検索で確認できます。
注意:AppExchangeに掲載されていても、SAP・Salesforceが公式に推奨している製品という意味ではありません。対象オブジェクト、ECC/S/4HANAの対応、Public Cloud対応、サポート体制を各製品ページで確認する必要があります。
出典:AppExchange: Salesforce-SAP Connector(GyanSys)
補足:Salesforce Data 360(旧Data Cloud)のSAPコネクタ
Salesforceの公式開発者ドキュメントでは、Data 360(旧Data Cloud)の取り込みコネクタとしてSAP Concur(GA)、SAP HANA(GA)、SAP SuccessFactors(Beta)、SAP ASE(Beta)、SAP Hybris(Beta)、SAP IQ(Beta)が挙げられています。S/4HANAを直接取り込む専用コネクタはこの一覧にありません。分析用途でSAP HANAのデータを取り込む場合の選択肢です。
出典:Salesforce Developers: Data Cloud SAP integration
5つの方法の比較
- データの持ち方:方法1・2・4・5はデータをコピー(同期)する、方法3はコピーせず参照する
- 費用の型:方法1は月額+メッセージ数(USD 1,728/月〜)、方法2は要問い合わせ+コネクタ別ライセンス、方法3は有償アドオン(金額非公開)、方法4は開発費+クラウド利用料、方法5は製品ごと(例:月$4,000/インスタンス)
- SAPの世代:ECCとBAPI/IDocでつなぐなら方法2(SAP Connector)か方法5、S/4HANA Cloud Public Editionなら方法1・3・4のODataが中心
- 運用の主体:SAP側のIT部門なら方法1、Salesforce側なら方法2・3、両方の外に置くなら方法4
- 業務ロジックの置き場所:方法1・2はiPaaS内のフロー、方法3は置けない、方法4は自由、方法5は製品の設定範囲
選ぶときに決めておくこと
1. 「見るだけ」か「書き戻す」か
営業がSAPの在庫・納期・請求状況を見たいだけなら方法3で足ります。受注をSAPに登録する、SAPの出荷実績をSalesforceに戻すなら、方法1・2・4のどれかで同期の仕組みが要ります。
2. APIの件数と上限
SalesforceのAPIは24時間で「100,000+ライセンス数×1,000(Enterprise)」、Salesforce Connectは1時間10万行・外部オブジェクト200。SAP Integration Suiteはメッセージ数課金。自社の1日の受注件数・参照回数を先に数えると、方法と費用が決まります。
3. SAPの中を触らない
クリーンコアの方針通り、SAPはリリース済みAPIで外からつなぎ、変換や承認のロジックはSAPの外(iPaaSか自社の連携基盤)に置くと、アップグレード時に壊れません。
4. 誰が運用するか
iPaaSはフローの保守が必要で、SAP Integration SuiteとMuleSoftはそれぞれ専門スキルが要ります。方法4は自社(または開発会社)が保守する前提です。
まとめ:道具はそろっている。足りないのは「データを繋ぐロジック」
SAPとSalesforceの連携は、両社の公式ドキュメントに手段が用意されています。SAP Integration SuiteのSalesforceアダプター、MuleSoftのSAPコネクタ、Salesforce ConnectのOData、そして両社のAPI。つなぐ道具に困ることはありません。
実際に詰まるのは、「Salesforceの商談をSAPの受注に変換する読み替え」「承認や例外処理」「現場が使う入力画面」といった、どちらの製品にもない自社の業務ロジックをどこに置くかです。SAPをカスタマイズすると高くつき、Salesforceに寄せると営業以外の部門が使いにくい。この「間」を、SAPの外側に自社専用の連携基盤や画面として作るのが、方法4の役割です。
セルバはSAP領域に力を入れています
セルバは、SAPをカスタマイズせずに、SAPの標準API(OData/BAPI)とSalesforceのAPIをつなぐ自社専用の連携基盤・現場向け画面の開発をお手伝いしています。iPaaSを入れるべきか、自社開発で十分か、Salesforce Connectで済むか、といった切り分けから、受注件数とAPI上限を前提にした構成の試算まで、無料相談で一緒に整理できます。 SAPとSalesforceの二重入力に困っている方は、お気軽にお問い合わせください。
