トップ > 技術コラムNews > SAP技術情報 > SAPの拡張開発の種類とは?In-App拡張とSide-by-Side拡張の違い

更新日 

SAPの拡張開発の種類とは?In-App拡張とSide-by-Side拡張の違い

—————————————-

【コラム監修者 プロフィール】

クラウドコンサルティング代表取締役 岸仲篤史

 

新卒でSAPジャパン株式会社に入社。

SAPジャパン在籍中にCOコンサルとして従事したことで、会計コンサルの面白さに目覚め、

大和証券SMBC株式会社 投資銀行部門、新日本有限責任監査法人、アビームコンサルティングにて、

一貫して約10年間、会計金融畑のプロフェッショナルファームにてキャリアを積む。

その後、2017年クラウドコンサルティング株式会社を設立し、SAPフリーランス向けSAP free lanceJobsを運営し、コラムの監修を手掛ける。

 

Facebook

https://www.facebook.com/atsushi.kishinaka#

 

X

https://x.com/free_sap_consul

 

—————————————-

 

 

 

はじめに

SAPシステムを企業の業務に最適化するためには、標準機能だけでなく「拡張開発」が必要になるケースが多くあります。

特に、SAP S/4HANAの導入においては、カスタマイズを最小限に抑える「クリーンコア」戦略が推奨されており、SAPの公式な拡張手法を理解することが重要です。

SAPが提供する拡張開発の方法は、大きく「In-App拡張」と「Side-by-Side拡張」の2種類に分類されます。

本記事では、それぞれの拡張手法の特徴や違い、活用シナリオについて詳しく解説します。

 

 

 

1.SAPの拡張開発の種類とは?

SAPの拡張開発は、主に以下の2つの方法に分けられます。

 

In-App拡張(インアプリ拡張)

SAP S/4HANAの標準機能内で行うカスタマイズ・拡張。

コード変更を伴わない設定変更や、ローコード開発による機能追加が可能。

 

Side-by-Side拡張(サイドバイサイド拡張)

SAP BTP(Business Technology Platform)などの外部プラットフォーム上で、SAPと連携する形で開発を行う方式。

SAP本体のコア機能には影響を与えず、独立したアプリケーションやマイクロサービスを構築可能。

 

それぞれより詳しく見ていきましょう。

 

 

 

2.In-App拡張とは?

In-App拡張(インアプリ拡張)とは、SAP S/4HANAのシステム内部で拡張を行う方法です。

SAP標準の開発ツールや設定を利用し、システム本体を改変することなく機能を追加・変更できます。

 

 

2-1.特徴

・SAPの標準機能を活用しながら柔軟なカスタマイズが可能

・コーディング不要(ノーコード・ローコード開発)で拡張できるケースが多い

・アップグレードに影響を与えにくいため、SAPのクリーンコア戦略と親和性が高い

 

 

2-2.代表的なIn-App拡張の方法

・キー・ユーザー拡張(Key User Extensibility)

SAP Fioriアプリ内で、フィールドの追加やレイアウト変更を行う

コーディング不要で、GUIベースの設定のみで実装可能

 

・カスタムフィールドとロジック(Custom Fields & Logic)

SAPの標準エンティティに独自のカスタムフィールドを追加できる

ビジネスルールを設定することで、特定条件下での動作変更も可能

 

・Embedded Steampunk(ABAP Cloud)

SAP S/4HANAのクラウド環境で、標準のABAP拡張機能を利用

SAPのアップグレードと互換性を保ちつつ、ABAPで拡張開発できる

 

 

2-3.活用シナリオ

・SAP Fioriの画面カスタマイズ(不要なフィールドを非表示、入力フィールドの追加など)

・売上伝票や購買オーダーに独自の承認ルールを追加

・特定の業務プロセスのカスタムバリデーションを実装

 

 

 

3.Side-by-Side拡張とは?

Side-by-Side拡張(サイドバイサイド拡張)は、SAP S/4HANAの外部にあるプラットフォーム上で拡張を行う方法です。

主に、SAP BTP(Business Technology Platform)を活用して、独自のアプリケーションやサービスを構築します。

 

 

3-1.特徴

・SAP本体のコードを改変せずに、新しい機能を追加可能

・APIを活用して、SAPと外部アプリケーションを連携

・最新のクラウド技術(AI, IoT, モバイル)と統合しやすい

 

 

3-2.代表的なSide-by-Side拡張の方法

 

SAP BTP上でのアプリ開発

・SAP FioriアプリやカスタムUIを、SAP BTP上に構築

・SAP S/4HANAとの連携は、OData APIやSAP Graphを活用

 

SAP Integration Suiteによるシステム連携

・異なるシステム(SAP以外のERPやクラウドサービス)とSAPをつなぐ

イベント駆動型アーキテクチャ(Event-Driven Architecture)

・SAP S/4HANA内のイベントをトリガーにして、外部システムとリアルタイム連携

・受注データが更新されたら、AIで自動分析を行うといったシナリオを実現

 

 

3-3.活用シナリオ

・AIや機械学習を活用した予測分析をSAPと統合

・モバイルアプリを開発し、現場の作業者向けにSAPデータを提供

・SAP以外のクラウドサービス(Salesforce, Microsoft Teams)とデータ連携

 

 

 

4.In-App拡張とSide-by-Side拡張の違い

In-App拡張とSide-by-Side拡張の違いは、開発のアプローチや適用範囲、拡張の自由度など多岐にわたります。

簡単にまとめると以下の表になりますね。

 

項目 In-App拡張 Side-by-Side拡張
開発場所 SAP S/4HANA本体 SAP BTPや外部プラットフォーム
開発難易度 低(ノーコード・ローコード開発) 中〜高(プログラミングが必要)
拡張の自由度 SAP標準の範囲内で可能 SAP外部に独自アプリを構築可能
適用範囲 SAP標準機能のカスタマイズ SAPと外部サービスの連携、独自機能追加
アップグレードの影響 影響が少ない 影響なし(SAP本体を改変しない)
代表的な技術 カスタムフィールド、キー・ユーザー拡張、ABAP Cloud SAP BTP、OData API、Event Mesh

 

 

4-1.開発の場所

In-App拡張がSAP S/4HANA本体の内部で行われるのに対し、Side-by-Side拡張はSAP BTP(Business Technology Platform)などの外部プラットフォーム上で行われます。

In-App拡張はSAPの標準機能のカスタマイズを目的とし、SAP本体の環境を直接変更せずに拡張できるのが特徴です。

一方、Side-by-Side拡張はSAPの外部環境に独自のアプリケーションやマイクロサービスを構築し、APIを通じてSAPと連携する形で開発が進められます。

 

 

4-2.難易度

開発の難易度については、In-App拡張がノーコード・ローコード開発が中心であるのに対し、Side-by-Side拡張では一般的にプログラミングが必要です。

したがって、Side-by-Side拡張のほうが技術的なハードルは高めです。

SAPのキー・ユーザー拡張やカスタムフィールドの追加などは、GUIベースの設定変更で簡単に実装できるため、SAPエンジニアでなくても扱いやすいです。

一方で、Side-by-Side拡張は、SAP BTP上でアプリを開発したり、イベント駆動型アーキテクチャを活用したりするため、JavaやNode.jsなどの開発スキルが求められます。

 

 

4-3.拡張の自由度

拡張の自由度については、Side-by-Side拡張が上ですね。

SAP本体の標準機能内で拡張を行うIn-App拡張は制約が多いです。

これに対し、Side-by-Side拡張ではSAP本体に依存せず自由に機能を追加できます。

SAPの標準機能に沿って拡張を行うIn-App拡張は、SAPのガイドラインに準拠したカスタマイズが可能ですが、業務要件に応じた大規模な変更には不向きです。

一方、Side-by-Side拡張では、SAP本体の制約を受けずに独自のシステムや外部サービスとの連携を実現できます。モバイルアプリやAI、機械学習を活用した高度な機能追加が可能です。

 

 

4-4.アップグレードの影響

アップグレードの影響についても両者には違いがあります。

In-App拡張はSAP S/4HANAの標準機能に準拠しているため、アップグレード時の影響を受けにくいです。

しかし、拡張の範囲がSAPの標準機能内に限定されるため、業務要件によっては対応しきれない場合もあります。

Side-by-Side拡張はSAP本体のコードを改変しないため、SAPのアップグレードに影響を与えません。

そのため、SAPの最新バージョンに常に対応できるというメリットがあります。

 

 

4-5.代表的な技術

最後に、代表的な技術についても違いがあります。

In-App拡張では、カスタムフィールドの追加やキー・ユーザー拡張、ABAP Cloud(Embedded Steampunk)などが活用されます。

一方、Side-by-Side拡張では、SAP BTPのOData APIやSAP Graph、Event Meshを利用した拡張が主流となります。

 

 

 

まとめ

このように、In-App拡張はSAPの標準機能を活かした軽量なカスタマイズに適しており、Side-by-Side拡張はより柔軟で高度な拡張を必要とする場合に適しています。

どちらの拡張手法を選択するかは、業務要件やシステムの将来性を考慮し、適切に判断することが重要です。

SAP人材として成長し続けるためには、最新のSAP技術トレンドをキャッチアップし、クリーンコアを意識した開発アプローチを実践することが不可欠です。

今後のプロジェクトでは、どの拡張手法が最適かを判断し、柔軟に対応できるスキルを身につけることが、SAPスペシャリストとしての価値を高める鍵となります。

SAPの標準機能、拡張開発、クラウド活用の知識を深め、DX時代に求められるSAP人材としてさらなる成長を目指していきましょう。

LINEで送る
Pocket

SAP案件紹介や独立前相談

ほとんどのSAPコンサルタントの方は、独立すると、まずは当社へご登録いただいております。

60秒で無料登録

案件情報やSAP技術情報を
気軽に受け取る

メルマガ登録

つの情報を送るだけで案件紹介へ

    御氏名
    メールアドレス
    電話番号
    生年月日

    つの情報を送るだけで案件紹介へ

      御氏名
      メールアドレス
      電話番号
      生年月日