S/4HANA時代のSAP開発とは?S/4HANA・CDS・OData・Fioriの4つの技術を初心者向けに解説
SAP開発は、SAP S/4HANAへの移行に伴い大きく変化しています。
従来のABAPプログラム中心の開発に加え、現在では
S/4HANA、CDS、OData、SAP Fioriを組み合わせ、
データモデル、API、ユーザーインターフェースを連携させる開発が重要になっています。
- S/4HANA時代のSAP開発で何が変わったのか
- S/4HANA・CDS・OData・Fioriそれぞれの役割
- 「CDS → OData → Fiori」がどのようにつながるのか
- 従来のSAP ECC開発との違い
- SAPエンジニアが今後身につけたいスキル
- ABAP基礎から最新SAP開発へ進む学習ロードマップ
本コラムでは、これからSAP開発を学ぶ方や、従来型ABAP開発から
S/4HANA時代の開発へステップアップしたい方に向けて、
4つの技術の全体像をできるだけ分かりやすく整理します。
1. S/4HANA時代のSAP開発とは
SAPが進化している理由
SAPは長年、企業の会計、販売、購買、生産、在庫、人事などの基幹業務を支えてきました。
その中心的なERP製品が従来のSAP ERP、いわゆるSAP ECCです。
一方、企業ではクラウド活用、リアルタイム分析、モバイル対応、
業務データのAPI連携などが急速に進みました。
こうした変化に対応するために登場したのが
SAP S/4HANAです。
ECCからS/4HANAへの変化
従来のSAP開発では、ABAPプログラムがデータベースからデータを取得し、
ABAP側で加工・集計したうえでSAP GUIに表示する方式が一般的でした。
S/4HANAでは、SAP HANAの高い処理性能を活用し、
必要なデータ処理をできるだけデータベースに近い場所で実行する
Code Pushdownという考え方が重要になります。
CDSなどを活用してデータベース側で必要なデータを絞り込み、
意味づけし、必要な形にしてからアプリケーションへ渡す設計が重要です。
S/4HANA時代の開発は何が変わったのか
現代のSAP開発では、単にABAPプログラムを書くだけではなく、
データモデル、サービス、UIを分けて考える機会が増えています。
| 領域 | 主な技術 | 役割 |
|---|---|---|
| ERP・業務基盤 | SAP S/4HANA | 企業の基幹業務とデータを管理する土台 |
| データモデル | CDS | 業務データを意味のある形で定義・取得する |
| サービス/API | OData | SAPのデータや機能をWebサービスとして公開する |
| UI/UX | SAP Fiori・SAPUI5 | ユーザーが利用するWebベースの画面を提供する |
この4つを個別に覚えるだけでなく、
それぞれがどのようにつながるのかを理解することが、
S/4HANA時代のSAP開発を学ぶうえで重要です。
2. S/4HANAとは何か
S/4HANAの概要
SAP S/4HANAは、SAP HANAを前提として設計された
SAPのERP製品です。
SAP HANAはインメモリ技術を活用したデータベースであり、
大量データの高速処理やリアルタイム分析を得意としています。
S/4HANAでは、データモデルの簡素化やリアルタイム処理、
SAP Fioriを利用したユーザー体験など、
従来のSAP ERPからさまざまな面で進化しています。
従来のSAP ECCとの主な違い
| 比較項目 | SAP ECC | SAP S/4HANA |
|---|---|---|
| データベース | 複数のデータベースを利用可能 | SAP HANAを前提 |
| データ処理 | ABAPアプリケーション側での処理が多い | HANA・CDSを活用したDB側処理を重視 |
| データモデル | 従来型テーブル構成 | 簡素化されたデータモデルとCDSによる仮想データモデル |
| ユーザー画面 | SAP GUI中心 | SAP Fioriを活用したWeb UIが重要 |
| 外部連携 | RFC、BAPI、IDocなど | 従来技術に加えてODataや各種APIを活用 |
なぜ今S/4HANAが重要なのか
S/4HANAへの移行が進むと、既存ABAP資産の理解だけでなく、
HANAを意識したデータアクセス、CDSによるデータモデル、
ODataを利用したサービス公開、Fioriを利用したUI開発など、
より幅広いスキルが求められます。
そのため、これからSAPエンジニアを目指す方は、
ABAP基礎とS/4HANA時代の開発技術をセットで理解する
ことが重要です。
3. 現代SAP開発を支える「4つの核」
① SAP S/4HANA:高速処理を実現する最新ERPの土台
S/4HANAは、企業の会計・販売・購買・生産・在庫などの業務を支えるERPであり、
ここに業務データや業務ロジックが存在します。
開発者の視点では、S/4HANAは単なる「新しいSAP製品」ではなく、
HANAの性能を前提に設計された新しい開発基盤
と捉えると理解しやすくなります。
② CDSビュー:データモデルの司令塔
CDS(Core Data Services)は、
SAPの業務データを意味のある形でモデル化するための重要な技術です。
単純にテーブルから項目を取得するだけでなく、
関連するデータの結合、集計、関連付け、意味情報、
UIや分析で利用するためのアノテーションなどを
データモデル側に定義できます。
テーブル → CDSで意味づけ・絞り込み → サービス → Fioriなどで利用
つまりCDSは、S/4HANA上のデータを
「アプリケーションから利用しやすい業務データモデル」に変換する役割
を担います。
③ OData:SAPと外部をつなぐAPI
ODataは、Web技術を利用してデータを取得・更新するための
標準的なプロトコルです。
SAPでは、Fioriアプリや外部Webアプリケーションが
バックエンドのデータやサービスにアクセスする際に広く利用されます。
ODataを利用することで、たとえば次のような連携が可能になります。
- SAP FioriアプリからS/4HANAのデータを取得する
- 外部WebシステムからSAPデータを参照する
- モバイルアプリからSAPの業務サービスを利用する
- APIを通じてSAPと周辺システムを連携する
④ SAP Fiori:直感的なユーザー体験を実現するUI
SAP Fioriは、SAPが提供するユーザー体験の考え方と
アプリケーション群・設計体系です。
Webブラウザを利用でき、デスクトップだけでなく
タブレットやスマートフォンを含むさまざまなデバイスで利用できます。
FioriアプリのWeb UIではSAPUI5が重要な技術となり、
必要な業務データをODataなどのサービス経由で取得して画面に表示します。
ODataが「データや機能を届けるサービス」、
Fioriが「ユーザーが操作する画面」です。
4. S/4HANA開発の全体構造(アーキテクチャ)
S/4HANA時代の開発を理解するうえで最も重要なのが、
バックエンドからフロントエンドまでのデータの流れです。
業務データを保存・高速処理
↓
CDS View / Data Model
データを意味づけし、利用しやすい形に定義
↓
OData / Service Layer
データや機能をサービスとして公開
↓
SAP Fiori / SAPUI5
ユーザーが操作するWebアプリケーション
よく「CDS → OData → Fiori」と表現されますが、
正確にはその下にSAP HANAやS/4HANAの業務データが存在します。
バックエンドからフロントエンドへのデータの流れ
たとえば「受注一覧をFiori画面に表示する」場合を考えてみましょう。
S/4HANAに保存されている受注関連データをCDSで必要な形にモデル化し、
そのデータをODataサービスとして公開し、
Fioriアプリがサービスを呼び出して画面に表示します。
| 工程 | 担当する技術 | 受注一覧の例 |
|---|---|---|
| 1. データ保持 | S/4HANA / HANA | 受注、得意先、品目などのデータを保持 |
| 2. データモデル | CDS | 必要な項目や関連データを定義 |
| 3. サービス公開 | OData | 受注一覧をWebから利用できるサービスとして提供 |
| 4. 画面表示 | Fiori / SAPUI5 | ユーザーが検索・閲覧・操作できる画面を提供 |
「三層構造」と考える場合の整理
学習上は、次の3つの論理層に分けると理解しやすくなります。
- データ・バックエンド層:S/4HANA、HANA、ABAP、CDS
- サービス層:OData、各種API
- フロントエンド層:SAP Fiori、SAPUI5
「Database → CDS → OData → Fiori」という4段階の技術フローと、
「バックエンド → サービス → フロントエンド」という3つの論理層は、
矛盾するものではありません。
5. 従来のSAP ECC開発とS/4HANA開発の違い
S/4HANA時代になってもABAPそのものが不要になるわけではありません。
むしろABAPの基礎知識は引き続き重要です。
ただし、開発者が意識すべき範囲が広がっています。
| 観点 | 従来型SAP開発 | S/4HANA時代の開発 |
|---|---|---|
| 中心技術 | ABAP | ABAP + CDS + OData + Fioriなど |
| データ取得 | Open SQLを使ったABAP処理 | Open SQLに加えCDSを積極活用 |
| 処理設計 | アプリケーションサーバ側の処理が多い | HANAを活用したCode Pushdownを意識 |
| 画面 | SAP GUIが中心 | Fiori/Web UIの重要性が高い |
| 連携 | RFC・BAPI・IDocなど | 従来技術にOData/API活用が加わる |
| 開発の考え方 | プログラム単体中心 | データモデル・サービス・UIを連携して設計 |
したがって、従来型ABAPエンジニアがS/4HANAへ対応する場合は、
ABAPを捨てるのではなく、
ABAPを土台としてCDS・OData・Fioriへスキルを広げる
ことが現実的なステップです。
6. SAPエンジニアに求められるスキル
S/4HANA時代のSAP開発では、担当領域によって必要な技術は異なりますが、
次のようなスキルを段階的に身につけると全体像を理解しやすくなります。
| スキル | 主な学習内容 | 重要性 |
|---|---|---|
| ABAP | データ型、内部テーブル、Open SQL、モジュール化、オブジェクト指向など | SAP開発の基礎 |
| ABAP on HANA | HANAを意識したデータアクセス、性能、Code Pushdown | S/4HANA開発で重要 |
| CDS | ビュー定義、Association、Annotation、データモデル設計 | 現代SAP開発の中核 |
| OData | サービスの考え方、公開、CRUD、API連携 | バックエンドとUIをつなぐ |
| SAP Fiori | Fiori UX、Launchpad、アプリ構成 | ユーザー体験を理解する |
| SAPUI5 | JavaScript、XML View、データバインディングなど | Fioriフロントエンド開発 |
| RAP | CDS、Behavior Definition、Service Definition、Service Bindingなど | 新しいABAPアプリケーション開発で重要 |
フルスタック型SAPエンジニアとは
すべてのSAPエンジニアが、バックエンドからフロントエンドまで
すべてを一人で開発する必要があるわけではありません。
しかし、CDSで作られたデータがODataを通じてFioriに届く流れを理解していると、
担当領域以外のエンジニアとも連携しやすくなります。
特に、ABAPだけではなくデータモデル、API、Fioriまで全体を理解できる人材は、
S/4HANA関連プロジェクトにおいて対応できる領域を広げやすくなります。
7. SAPエンジニアの学習ステップ
STEP 1:ABAP基礎を身につける
初心者がいきなりCDSやFioriから始めると、
SAP特有のデータ構造や処理の考え方を理解しにくいことがあります。
まずABAPの基礎を学び、SAPシステム上でデータを扱う感覚を身につけましょう。
特に、データ型、内部テーブル、Open SQL、SELECT文、
ALV、デバッグ、モジュール化、オブジェクト指向などは、
後の学習にもつながります。
STEP 2:S/4HANAとHANAの特徴を理解する
次に、S/4HANAが従来のECCと何が違うのかを理解します。
HANAのインメモリ処理、データモデルの簡素化、
Code Pushdownなどの考え方を押さえると、
CDSを学ぶ理由が見えてきます。
STEP 3:CDSビューを作成する
実際にCDSビューを作成し、
複数テーブルの関連付けやAssociation、
Annotationなどを学びます。
ここでは「SQLを書く」ことだけを目的にせず、
業務データを再利用しやすいモデルとして定義する
という視点を持つことが重要です。
STEP 4:ODataサービスを理解する
CDSなどで定義したデータを、どのように外部へ提供するのかを学びます。
URL、HTTP、JSON、CRUDなどWeb APIの基本概念も理解しておくと、
ODataの学習がスムーズになります。
STEP 5:Fiori・SAPUI5を学ぶ
最後に、ODataサービスから取得したデータを
Fioriアプリとしてどのように表示・操作するのかを学びます。
SAPUI5を本格的に学ぶ場合は、
HTML、CSS、JavaScript、XMLといったWeb技術の基礎も役立ちます。
STEP 6:RAPへ進む
基礎を理解した後は、
RAP(ABAP RESTful Application Programming Model)
へ進むと、現在のSAPのABAPアプリケーション開発をより体系的に理解できます。
RAPではCDSをベースに、
振る舞い、サービス定義、サービス公開などを組み合わせ、
ODataサービスやFioriアプリにつながる開発を行います。
8. SAP技術を学ぶには ― 実践が重要
S/4HANA、CDS、OData、Fioriは、
用語だけを暗記しても実務で使えるようになるとは限りません。
重要なのは、ひとつの業務シナリオを使って
データ取得から画面表示までを一連の流れとして体験することです。
おすすめの実践課題
たとえば「受注一覧アプリ」を題材にすると、
一連の技術を次のように学べます。
- S/4HANAの受注関連データを確認する
- CDSビューで必要な項目を定義する
- 得意先や品目などの関連データを結び付ける
- ODataサービスとして公開する
- ブラウザやツールからサービスの結果を確認する
- Fiori/SAPUI5画面に一覧として表示する
- 検索・絞り込み・詳細表示などを追加する
小さくても1つのアプリケーションを最後まで作成すると、
各技術の役割とつながりを理解しやすくなります。
9. 神田ITスクールのSAP研修
神田ITスクールでは、SAP・ABAPを初めて学ぶ方から、
S/4HANA時代の開発技術へステップアップしたい方までを想定した
実践的な研修を提供しています。
実践的な学習環境
SAP技術は、テキストを読むだけでなく、
実際のSAP環境を操作しながら学ぶことで理解が深まります。
研修では、操作、プログラミング、デバッグ、
データ確認などを実際に行いながら学習を進めます。
現場を意識したカリキュラム
単なる文法学習だけではなく、
「なぜこの処理が必要なのか」
「実務ではどのようにデータを扱うのか」
「後続のCDS・OData・Fiori学習にどうつながるのか」
という視点を重視します。
選べる受講形態
学習目的や受講環境に合わせて、
対面研修、オンライン研修、eラーニングなど、
複数の受講方法を検討できます。
SAPエンジニアとしての第一歩を踏み出したい方へ
ABAP基礎から、S/4HANA、CDS、OData、Fioriへと
段階的にスキルを広げることが、
次世代のSAP開発を理解する近道です。
神田ITスクールのSAP研修について、
カリキュラムや受講形式、法人研修について詳しく知りたい方は、
SAP研修ページをご確認ください。
10. S/4HANA・CDS・OData・Fioriに関するよくある質問
Q1. S/4HANAを学ぶ前にABAPを学ぶ必要はありますか?
開発者を目指す場合は、ABAPの基礎を先に学ぶことをおすすめします。
データ型、内部テーブル、Open SQL、デバッグなどを理解していると、
CDSやODataを学ぶ際にもSAPのデータ処理を理解しやすくなります。
Q2. CDSビューはSQLビューと何が違いますか?
CDSは単なるデータ抽出だけでなく、AssociationやAnnotationなどを利用して、
業務上の意味を持つデータモデルを定義できる点が大きな特徴です。
S/4HANAでは仮想データモデルの重要な基盤として利用されています。
Q3. ODataはFiori専用の技術ですか?
いいえ。Fioriで広く利用されますが、外部Webアプリケーションや
周辺システムからSAPのデータやサービスを利用するAPIとしても活用できます。
Q4. SAP FioriとSAPUI5は同じものですか?
同じものではありません。FioriはSAPのユーザー体験やアプリケーションの考え方を含む概念で、
SAPUI5はFioriのWebアプリケーションを実装する際に利用されるUI開発技術です。
Q5. S/4HANA時代になると従来のABAPは不要になりますか?
不要にはなりません。ABAPはS/4HANA環境でも重要な開発言語です。
ただし、CDS、OData、Fiori、RAPなどと組み合わせて利用する機会が増えています。
Q6. CDS・OData・Fioriはどの順番で学ぶのがおすすめですか?
初心者であれば、ABAP基礎 → S/4HANA/HANAの基本 → CDS → OData →
Fiori/SAPUI5の順番がおすすめです。その後、RAPを学ぶと、
これらの技術を統合した開発モデルを理解しやすくなります。
