SAP 標準 API × CBO × Custom CDS View × OData で、業務データを取得・拡張・公開する
はじめに
SAP S/4HANA に蓄積されている業務データを、社内のさまざまなシーンで活用したいというニーズは年々高まっています。経営層が KPI ダッシュボードでリアルタイムに事業状況を把握する、現場担当者が在庫・出荷状況をその場で照会する、分析基盤や BI ツールが SAP データを直接参照する、外部システムが SAPの業務データを使って独自の処理を行う——SAP データの活用シーンは、もはや SAP 内の標準業務にとどまりません。
SAP S/4HANA Public Cloud(正式名称:SAP S/4HANA Cloud, Public Edition)では、On-Premise やPrivate Edition と異なり従来型の ABAP カスタマイズ(標準コードの修正やカスタムプログラムの直接追加)が原則として制限されています。これまで ABAP で構築してきた独自のデータ抽出ロジックや、自社専用のカスタムテーブルでのデータ管理を、Public Cloud でも引き継げるのか、というご相談を、移行を検討中の企業様からよくいただきます。
結論から言えば、SAP S/4HANA Public Cloud でも柔軟な業務データ活用は十分に可能です。
SAP の公開API と Key User Extensibility による独自データ拡張、それらを統一プロトコル OData で公開する仕組みを組み合わせれば、SAP データを柔軟に取得・拡張・公開できます。本記事では、その全体像と 4つの主要要素を順に取り上げます。
SAP S/4HANA Public Cloud のデータ活用とは
SAP S/4HANA Public Cloud のデータ活用は、次の4つの主要要素で組み立てます。
- SAP 標準 API:SAP S/4HANA Public Cloud が公開する OData / REST API で、業務データ(販売・購買・在庫・財務など)を参照・操作する
- CBO(Custom Business Object):SAP 標準のデータ構造に収まらない自社独自のデータを、Public Cloud 内に保持・管理する
- Custom CDS View:SAP 標準データと CBO データをJOIN(結合)して、統合された業務データを 1つのデータモデルとして扱えるようにする
- OData API としての公開:上記すべてをOData プロトコルで公開し、Web・モバイル・分析基盤・外部システムなど、あらゆる利用先から扱えるようにする
いずれの利用先からもOData の同じ仕組みでアクセスできるのが、このアーキテクチャの大きな特長です。

① SAP 標準 API による業務データへのアクセス
SAP API Business Hub
SAP S/4HANA Public Cloud は、販売・購買・在庫・財務・マスタなど主要な業務領域の公式 APIを、SAP API Business Hub(現 SAP Business Accelerator Hub)という公式カタログで公開しています。ここでは、各 API のエンドポイント、リクエスト/レスポンスの形式、サンプルコード、サンドボックス(試用環境)が提供され、開発者は API の動作を実際に試しながら設計を進められます。
主要な API カテゴリ
SAP S/4HANA Public Cloud で公開されている主な API カテゴリには、以下のようなものがあります。

これらはすべて、利用側のシステムから OData リクエストで参照・操作できます。
② CBO(Custom Business Object)による独自データの保持
CBO とは
SAP 標準のデータ構造に収まらない自社独自のデータを、Public Cloud 内に保持したい場合に使うのが
Custom Business Object(CBO)です。CBO はKey User Extensibilityという Public Cloud 標準の拡張機能の一部で、ABAP 開発不要、SAP Fiori の専用アプリ(Custom Business Objects アプリ)上でGUIベースで独自データオブジェクトを定義できます。
CBO で定義できるもの
- 項目(フィールド):テキスト・数値・日付・選択リスト・コードリスト・関連など
- コンポジション(親子関係):1つの CBO に対して複数の子レコードを持たせる構造
- 関連(Association):他の CBO や SAP 標準オブジェクトとの関連リンク
- ビジネスロジック:簡単な計算・検証ルール(一部、簡易スクリプトによる拡張も可)
CBO の設計時に「Service Generation」(サービス生成)オプションを ON にすると、その CBO を公開する
OData サービスが自動生成され、外部の利用側システムから CRUD 操作(参照・登録・更新・削除)が可能になります(OData の詳細は ④ で後述)

CBO の活用例
- 訪問記録:営業担当者の顧客訪問履歴を、SAP 顧客マスタと紐付けて保持
- 検査結果:製造現場の検査ログを、SAP 設備マスタと紐付けて保持
- 申請履歴:稟議・各種申請の履歴を、SAP 社員マスタと紐付けて保持
- 独自評価データ:取引先の与信評価・与信枠の独自管理
これらの独自データを SAP の業務データと並べて持つことで、SAP 標準が網羅しない自社固有の情報もPublic Cloud 内で一元管理できます。
③ Custom CDS View による SAP データと CBO データの統合
Custom CDS View とは
CDS(Core Data Services)Viewは、SAP S/4HANA におけるデータモデルの基盤となる仮想ビュー定義の仕組みです。SAP S/4HANA Public Cloud では、Custom CDS Viewという Key User Extensibility の機能を使い、SAP 標準の CDS View と CBO データを JOIN(結合)した独自ビューを定義できます。
Custom CDS View も SAP Fiori の専用アプリ(Custom CDS Views アプリ)上でGUI ベースで設計可能で、ABAP 開発は不要です。
統合できる組み合わせ
- SAP 標準 CDS View + 別の SAP 標準 CDS View:標準データ同士の結合
- SAP 標準 CDS View + CBO:標準データと独自データの結合(データ活用の主役パターン)
- CBO + 別の CBO:独自データ同士の結合
Custom CDS View も、CBO と同様に「Service Generation」オプションで OData サービスを自動生成できます。結合済みのデータを 1つの OData API として利用側に提供できる仕組みです(OData の詳細は④ で後述)。
Custom CDS View の活用例
- 顧客マスタ + 訪問記録:顧客一覧と最終訪問日・訪問履歴を 1つの API で取得
- 設備マスタ + 検査結果:設備別の検査履歴と次回点検予定を一括把握
- 取引先マスタ + 売掛残高 + 独自与信評価:SAP の取引情報と独自評価を統合
- 受注(Sales Order)+ 案件補足情報:SAP の受注データに営業独自のメモを付加
このように、SAP 標準データと CBO データを Custom CDS View で結合することで、業務に必要な情報を1つの API で取得できるようになり、利用側の実装が大幅にシンプルになります。
④ OData API として公開し、業務全体で活用する
SAP 標準 API も、CBO も、Custom CDS View も、すべてODataという共通プロトコルで公開されます。本セクションでは、OData の基本仕様と、利用側からのアクセス方法を整理します。
OData プロトコルの概要
OData は OASIS で標準化された、HTTP 上で動作する RESTful なデータアクセスプロトコルで、SAPS/4HANA Public Cloud の主要 API はOData v2またはOData v4に対応しています。
OData の特徴:
- HTTP メソッドで CRUD 操作:GET(参照)・POST(登録)・PUT/PATCH(更新)・DELETE(削除)
- クエリオプション:
$filter、$select、$expand、$orderby、$top、$skipなど、柔軟なデータ取得が可能 - メタデータ:
$metadataエンドポイントで API スキーマを取得可能、クライアント側の自動生成にも対応 - バッチリクエスト:複数の操作を 1 リクエストにまとめて送信可能
認証方式
利用側のシステムから OData API を呼び出す際の認証は、主に以下の方式が利用できます。
- OAuth 2.0:標準的なクライアント認証。アプリと SAP の Communication Arrangement で OAuth クライアント情報を発行
- 基本認証(Basic Authentication):技術ユーザー(Communication User)の ID/パスワードを使う方式
- X.509 クライアント証明書:証明書ベースの強い認証
本番では OAuth 2.0 または X.509 証明書が推奨されます。
クエリ表現で取得を絞り込む
利用側のシステムは OData の標準的なクエリオプションを使い、必要なデータだけを効率的に取得できます。以下は OData v2 形式でのサンプルです(v4 では substringof → contains、datetime'…' リテラル → ISO 8601 日時直書きに置き換わります)。
顧客名に「商事」を含む顧客のうち、上位10件を取得
GET /sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner?$filter=substringof('商事',BusinessPartnerName)&$top=10
# 受注番号 1000 の受注ヘッダと明細を一括取得
GET /sap/opu/odata/sap/API_SALES_ORDER_SRV/A_SalesOrder('1000')?$expand=to_Item
# Custom CDS View で結合した「顧客 + 訪問記録」の一覧を取得
GET /sap/opu/odata/sap/YY1_CUSTOMERVISIT_CDS/YY1_CustomerVisit?$filter=VisitDate ge datetime'2026-01-01T00:00:00'
このように、$filter で絞り込み、$expand で関連エンティティを一括取得、$top で件数制限、といったクエリ表現でサーバ側の処理を制御できます。これにより、利用側で大量データをすべてダウンロードして処理する必要がなく、必要なデータだけを最小コストで取得できます。
各種クライアントからの呼び出し
OData は HTTP ベースの標準プロトコルなので、ほぼあらゆるクライアントから呼び出せます。
- 業務アプリ・社内ポータル:ブラウザ上の JavaScript、SAPUI5、React などから HTTP リクエスト
- モバイル端末:iOS / Android のネイティブ HTTP クライアント、または OData 専用ライブラリ
- バックエンド・中間層:Node.js / Java / Python / Rust / .NET など、各種言語の HTTP クライアント
- 分析基盤・BI ツール:Tableau、Power BI、Excel など、OData コネクタを持つあらゆるツール
- 外部システム:取引先システム、AWS / Azure 上の独自アプリ、Microsoft Power Platform などからの直接接続

OData API 利用の典型的なフロー
- SAP API Business Hub で利用したい API(標準・CBO・CDS View)を特定
- SAP S/4HANA Public Cloud 側で Communication Arrangement を設定し、API 公開先と認証情報を登録
- 利用側のシステムから OAuth 2.0 等で認証トークンを取得
- OData クエリで必要なデータを取得・操作
- 取得したデータを利用側で活用、または利用側からの入力を OData で SAP に反映
このフローは、利用側のシステム種別(業務アプリ・モバイル・分析基盤・BI ツール・外部システム等)に依存しないため、幅広い利用先に対応できる柔軟なデータ活用基盤として機能します。
データ活用シナリオの具体例
シナリオ① 営業活動の見える化(顧客マスタ × 訪問記録)
SAP の顧客マスタと、営業独自の訪問記録を CBO で持ち、両者を Custom CDS View で結合して 1つの API として公開するシーン。
- SAP 標準 API:ビジネスパートナー API で顧客マスタを取得
- CBO:「訪問記録」を独自オブジェクトとして定義(訪問日・対応者・内容・次回フォロー予定)
- Custom CDS View:SAP 顧客マスタ + 訪問記録 CBO を JOIN し、「顧客一覧 + 最終訪問日 + 訪問回数」のような統合データを 1つの OData API として公開
- 利用側:社内営業ポータル、モバイル端末、Power BI などから OData API を呼び出して活用
これにより、SAP に分散している顧客情報と、営業独自の活動履歴が 1つの API から取得できるようになり、利用側のシステム種別に依存せず、リアルタイムに参照・更新ができます。
シナリオ② 現場検査データのデジタル化(設備マスタ × 検査結果)
製造現場・保全部門の検査作業をデジタル化し、検査結果を SAP の設備マスタと統合管理するシーン。
- SAP 標準 API:設備マスタ API で設備一覧を取得
- CBO:「検査結果」を独自オブジェクトとして定義(検査日・検査者・項目別の合否・写真添付)
- Custom CDS View:SAP 設備マスタ + 検査結果 CBO を JOIN し、「設備別の最新検査日 + 次回点検予定 + 直近の不具合件数」を 1つの OData API として公開
- 利用側:現場のモバイル端末、保全管理ポータル、予防保全分析基盤などから利用
紙ベースの検査記録を電子化し、検査結果が即座に SAP 側にも反映されるため、検査履歴の集計・分析・予防保全への活用がスムーズになります。
シナリオ③ 経営 KPI の集計と分析基盤連携
経営層・管理職が日次・週次に確認する KPI を、SAP のトランザクションデータから直接生成するシーン。
- SAP 標準 API:販売・購買・財務の各種 OData API でトランザクションデータを参照
- Custom CDS View:複数の SAP 標準 CDS View を結合し、「事業部別の売上 + 粗利 + 受注残」のような集計済みビューを 1つの OData API として公開
- 利用側:BI ツール(Power BI / Tableau 等)、経営ダッシュボード、データウェアハウス(DWH)、Python / Rust などで実装した独自集計バッチなど、各種クライアントからの OData 接続
経営判断に必要な指標を、SAP のデータを直接ソースとしてリアルタイムに集計・可視化できます。
まとめ
SAP S/4HANA Public Cloud のデータ活用は、SAP 標準 API でデータを取得し、CBO で拡張し、Custom CDS View で統合して、すべてを OData API として公開することで実現できます。これにより、社内のあらゆる利用先で柔軟に SAP データを活用できる基盤を構築できます。
プロアクシアコンサルティングではこれまで多数の SAP 導入・データ活用プロジェクトを支援してまいりました。SAP S/4HANA Public Cloud のデータ活用についても、以下のようなご相談に対応しております。
- 業務データ活用要件のヒアリング・現行データ管理とのギャップ整理
- SAP 標準 API の調査・利用設計(SAP API Business Hub からの選定、Communication Arrangement 設計)
- CBO の設計・実装(独自データのモデリング、関連設計、OData サービス公開)
- Custom CDS View の設計・実装(SAP 標準データと CBO データの結合、API 公開)
- OData API の認証・運用設計(OAuth 2.0、X.509 証明書、API キーの方式選定)
- BI ツール・分析基盤(Power BI / Tableau 等)や Python・Rust・Node.js など各種言語からの SAP データ接続支援
- 既存オンプレミスのカスタムテーブル・抽出ロジックから Public Cloud のデータ活用基盤への移行支援
SAP S/4HANA Public Cloud の導入・周辺開発をご検討の方は、お気軽にお問い合わせください。
お問い合わせ
