SAP S/4HANAは、SAP社が提供する代表的なERPシステムです。財務会計、管理会計、販売、購買、生産、在庫管理など、多岐にわたる業務プロセスをリアルタイムで処理し、企業の経営資源を最適に活用するための基盤となります。オンプレミスだけでなく、クラウド環境でも利用可能で、企業のデジタル変革を推進する中核システムとして世界中の企業で導入されています。

SAP S/4HANAでは標準のAPIが用意されており、外部システムとのデータ連携やUIの開発に活用できます。しかし、「SAP自体は扱っているが、APIは十分に活用できていない」「どのようなことができるのかわからない」という方も多いのではないでしょうか。

本記事では、SAP S/4HANA APIの種類やできること、利用の際の注意点などを解説します。また、SAP S/4HANA APIのデメリットや苦手分野を克服するソリューションについても詳しくご紹介します。

TROCCOでSAP S/4HANAとの連携を試したい方はこちら

https://primenumber.com/trocco/contact/free-plan

SAP S/4HANAとは

SAP S/4HANAは、ドイツSAP社が提供する現行のERPシステムで、プラットフォームにインメモリデータベース「SAP HANA」を採用しています。また名称の一部の「S/4」とは、Simpleな第4世代を表しています。各世代の名称は以下のとおりです。

  • 第1世代:SAP R/2
  • 第2世代:SAP R/3
  • 第3世代:SAP ERP
  • 第4世代:SAP S/4HANA

近年では、2027年に第3世代のSAP ERPが標準保守の期限を迎えること(2027年問題)を踏まえ、次の移行先としてSAP S/4HANAが注目されています。

SAP S/4HANAの最大の特徴は、処理能力の高さにあります。一般的なデータベースがハードディスクなどの補助記憶装置にデータを保持するのに対し、インメモリデータベースはメモリにすべてのデータを保持するため、高速処理を実現できます。そのため、「SAP HANA」を基盤とするSAP S/4HANAにおいても、各種処理やデータ分析の時間を大幅に短縮できました。

また、SAP S/4HANAには、アプリケーションを作成する設計システムとして「SAP Fiori」が採用されています。SAP Fioriを用いることで、誰でも簡単に使いやすいUIを設計可能です。

SAP S/4HANA APIを用いてできること

SAP S/4HANAでは、外部システムとの連携や既存機能の拡張を目的に、さまざまなAPIが提供されています。ここでは、それらのAPIでできることを4つご紹介します。

外部システムとの連携

SAP S/4HANAはデータベースにSAP HANAを採用していますが、ここに格納されているデータは直接参照できないため、データ連携の際にはAPIを用いる必要があります。

外部システムとのリアルタイム連携

外部システムと連携しながらサプライチェーンを管理している場合、受発注や生産、在庫などに関するデータはリアルタイム性が重要です。この場合、HTTPプロトコルでデータ連携を行えるSAP S/4HANAのAPI(OData API)が適しています。

たとえば、SAP S/4HANAと外部の受注管理システムを統合することで、即座に在庫状況を確認でき、売上機会の損失を大幅に削減可能です。

マスターデータの一元管理

部門や拠点ごとにCRM・EC・仕入先管理など複数システムを運用していると、顧客・取引先・従業員といったマスターデータが二重登録や属性差異を起こしやすく、請求ミスや分析精度の低下を招きます。

そこで、SAP S/4HANA APIを用いた、マスターデータの一元管理が有効です。SAP S/4HANAには、マスターデータ専用のOData/SOAP APIが提供されており、外部サービスで発生した新規レコードを即時登録し、名称・住所変更を双方向同期できます。

これにより、すべてのマスタがSAP側に集約された「Single Source of Truth」が実現され、重複削除や突合の工数を大幅に削減可能です。

SAP Analytics Cloudとの連携

SAP S/4HANAの膨大な基幹データは、経営戦略の立案や業務改善に不可欠なインサイトを含んでいます。これらのデータを最大限に活用するためには、データのリアルタイム性とデータ形式の柔軟性が重要です。

SAP S/4HANA APIを活用すれば、SAP Analytics Cloudのような分析プラットフォームとデータ連携でき、リアルタイム性と柔軟性を確保したデータ分析が可能です。これにより、最新の売上データ、財務情報、生産実績などを瞬時に分析ダッシュボードやレポートに反映させられるようになります。

既存機能の拡張

SAP S/4HANA APIは、外部システムとの連携だけでなく、SAP S/4HANA自体の利便性を高めるためにも活用されます。

Fioriとビジネスロジックを繋ぐ

SAP S/4HANA APIを活用し、Fioriとビジネスロジックをシームレスに連携させることで、UXの向上や開発の柔軟性を実現できます。

従来のSAPシステムでは、クライアント端末にインストールするSAP GUIが主流でした。しかし、SAP S/4HANAでは、より直感的でユーザーフレンドリーな操作性を持つFioriが提供されています。

FioriとSAP S/4HANAのビジネスロジックを連携するのが、SAP S/4HANA API(OData API)です。ODataは、Webサービスを通じてデータにアクセスするためのプロトコルであり、FioriのフロントエンドとSAP S/4HANAのバックエンドを繋ぐ役割を果たします。

ODataを事前に定義しておくことで、ABAPの知識がないWeb開発者でも、Fioriの実装を効率的に進めることが可能です。開発期間の短縮や外部の開発リソースの活用が容易になり、システム開発全体のコスト削減にも貢献します。

SAP S/4HANA APIの種類

SAP S/4HANAの代表的なAPIは、大きく「ODataベースのAPI」と「SOAPベースのAPI」に分けられます。ここでは、それぞれのAPIの特徴を解説します。また、レガシーモデルとなった「BAPI」「IDoc」についてもご紹介します。

ODataベースのAPI

ODataとは、正式名称をOpen Data Protocolという、RESTベースの標準プロトコルです。RESTプロトコルであるため、各APIのCRUD(Create、Read、Update、Delete)は、POST、GET、PUT、DELETEに対応しています。現在のSAP S/4HANA APIの大部分はOData v2がもとになっています。

OData APIを用いれば、SAP S/4HANAと外部システム・クラウドサービス間でRESTfulかつ拡張性の高い統合を迅速に構築でき、UI/UXを重視したFioriアプリやマイクロサービス基盤との親和性を確保できます。

ODataベースのAPIを検索する方はこちら

SOAPベースのAPI

SOAPは、2000年代に流行したWebサービスのプロトコルで、現在でもRESTと並んで広く利用されています。以前SOA(Service Oriented Architecture)の中核技術だったこともあり、現在でもS/4HANAにSOAPベースのAPIが存在しています。

HTTPSプロトコルを基盤とする点はODataと同じですが、リクエスト/レスポンスの本文に SOAP Envelopeと呼ばれるXMLコンテナを配置し、その内部に業務データを格納する SOAP Bodyを含める点が大きな特徴です。さらに、WSDL(Web Service Description Language)ファイルによってサービスのメタデータが記述されているため、開発者は WSDLを基に自動生成されたSOAPクライアントを利用してエンドポイントへ容易に接続できます。

これにより、SAP S/4HANAと外部システム間で堅牢かつ拡張性の高いWebサービス連携を迅速に構築可能です。

SOAPベースのAPIを検索する方はこちら

BAPI

BAPIとは、Business Application Programming Interfaceの略で、SAPの汎用モジュールと呼ばれる関数の形式で実装されているAPIです。BAPIは、SAP R/3やSAP ECCの時代から長く使われており、現在はレガシーモデルとなっています。

BAPIは、伝票やマスタなどS/4HANAで定義されているオブジェクトのメソッドとして定義されています。外部からは、RFCと呼ばれるSAP独自のプロトコルで呼び出すことが可能です。

BAPIについての詳細はこちら

IDoc

IDocとは、Intermediate Documentの略で、日本語では「中間文書」と訳されます。IDocを利用することで、メッセージベースのインタフェースを使用して異なるシステムどうしを接続できます。BAPIと同じく、SAP R/3やSAP ECCの時代から長く使われているレガシーモデルです。

従来は、さまざまなEDIフォーマットに対応するための中間ファイルフォーマットを定義し、外部ミドルウェアなどでIDocデータと取引先で利用されるフォーマットとの変換をすることでデータ交換を実現する技術でした。しかし現在では、従来のファイルベースのものが徐々に拡張され、RFCやSOAP、素のHTTPなどで直接データのインポート/エクスポートができるようになりました。

IDocについての詳細はこちら

SAP S/4HANA APIを利用する際の注意点

SAP S/4HANA APIは非常に便利なツールですが、利用にあたってはいくつかの注意点があります。ここでは、主な注意点を3つ説明します。

APIのレート制限に注意する

SAP S/4HANA APIでは、システムの安定性を確保し、過負荷を防ぐために、レートリミットメカニズムが採用されています。主なメカニズムは以下の通りです。(ただし、具体的な制限は一般に公開されていません。)

  • クォータポリシー
    特定の期間内に許可されるAPI呼び出しの総数を制限します。
  • スパイクアレストポリシー
    APIトラフィックの急増を緩和し、システムが過負荷になるのを防ぎます。
  • 同時レートリミット
    APIエンドポイントへの同時接続数を制限します。

APIリクエストがレートリミットを超過し、HTTP 429 “Too Many Requests”エラーを受け取った場合、指定された期間待機してから、Retry-Afterヘッダーでリクエストを再試行する必要があります。これにより、一時的な制限に対応できます。

レートリミットに達しないためには、一度にすべてのデータを要求するのではなく、ページネーションやフィルタリングを活用して、出力結果を制限することが重要です。また、完全なデータ同期ではなくデルタ変更のみを同期することで、リソース消費を抑えられます。

バージョン管理を徹底する

SAP S/4HANA APIは、アップデートや拡張が頻繁に行われるため、適切なバージョン管理が不可欠です。アップデートに気づかずにレガシーモデルを使用していた場合、予期せぬ不具合やサポート切れの懸念を招くおそれがあります。

SAP側からの更新情報を見逃さないようにチェックしつつ、アップデートがあった際には開発・検証・本番の3層環境で段階的にアップグレードするようにしましょう。

セキュリティと認証方式に気をつける

APIエンドポイントのセキュリティ確保は、不正なアクセスやデータ侵害から保護するために欠かせない作業です。ベストプラクティスには、OAuth 2.0などの強力な認証・承認メカニズムの導入や、SSL/TLSを使用した転送中データの暗号化などが挙げられます。

また、定期的なセキュリティ監査と侵入テストを行い、脆弱性の特定と軽減に努めることも重要です。

SAP S/4HANAのデータ連携にはTROCCOがおすすめ

ここまで、SAP S/4HANAが提供するAPIについて詳しく解説しました。しかし、SAP S/4HANA APIを用いたデータ連携には、いくつかのデメリット・苦手な分野が存在します。

そこで、それらの課題解決におすすめなのが、クラウド型ETLツール「TROCCO」です。ここでは、S/4HANA APIを用いたデータ連携のデメリット・苦手な分野と、TROCCOがそれらの課題をどのように解決するのかを解説します。

データ連携の工数を大幅に削減できる

APIを用いてサービス間を連携する場合、APIに関する専門的な知識やプログラミングスキルが必要となるケースが多いです。また、APIエラーの原因特定やログ分析の際にも、専門知識が求められます。

一方TROCCOを利用すれば、APIに関する専門的な知識や高度なプログラミングスキルがなくても、GUI上の操作のみでデータ連携を設定可能です。また、エラー通知や詳細なログ管理の機能を備えており、エラーの原因特定やログ分析も容易に行えます。

またAPI連携では、複数のシステムとデータ連携を行いたい場合、個別に接続設定を行う必要があります。一方TROCCOには、あらかじめ100種類以上多くのコネクタが用意されているため、複数のサービスとの連携を行う際も、個別に接続設定を行う必要はありません。

これらの機能により、TROCCOを導入することで開発期間を大幅に短縮可能です。実際、本来4ヶ月かかるはずのデータパイプライン構築が1ヶ月で完了した事例や、通常1ヶ月は要するデータ転送設定が数日で終わった事例があります。

DWHともデータ連携できるようになる

SAP S/4HANAで収集した受注・在庫・財務データを高度なデータ分析に利用するためには、 それらのデータをDWH(データウェアハウス)に集約する必要があります。

しかし、OData APIはJSON /XML形式でデータを返すため、DWHが得意とするCSVやテーブル形式へ変換する前処理が必須です。また、一般にJSONはCSVよりサイズが大きく、大量データを扱う場合はバッチ実行時間が長くなり、分析のリアルタイム性が損なわれる可能性もあります。

一方TROCCOは、SAP S/4HANA OData v2専用コネクタを標準搭載しており、GUI上の操作だけで接続設定と転送ジョブを構築できます。DWH側についても、BigQueryやSnowflake、Redshiftなど、30以上のコネクタを網羅しており、間にCSVを経由せずにS/4HANAとDWHを直結可能です。

また、ページサイズや並列実行数、リトライ間隔をジョブ単位で設定し、API制限に合わせた最適な転送を行うため、転送時間の短縮にも寄与します。スケジューリング設定も行えるため、一度設定した転送は「変更分のみを自動検出し、定期ロードする」といった自動化が可能です。

SAP S/4HANA ODataのTROCCO接続情報はこちら

まとめ

SAP S/4HANA APIの概要やできること、利用時の注意点、外部システムとの連携事例について解説しました。

SAP S/4HANA APIを活用することで、S/4HANA内の膨大なデータを外部システムへリアルタイムに連携したり、基幹業務のワークフローを自動化したりできます。これにより、より柔軟で効率的なシステム運用を実現し、企業全体のデータの一元管理とビジネスプロセスの最適化を促進できます。

なお、システム間のデータ連携にはETLツールの活用も有効です。ETLツールがデータの抽出・加工・DWHへの書き出しを担うため、煩雑なデータの整形作業を自動化できます。また、基本的な操作はGUI上で完結するため、API連携よりも少ないコーディングでデータ連携を実装できます。

primeNumber編集長

primeNumberのブログを担当している編集長