Understanding ABAP

Objectives

After completing this lesson, you will be able to:
  • ABAP の基本についての理解
  • ABAP 環境の理解
  • ABAP RESTful アプリケーションプログラミングモデルの基礎の理解

ABAP プログラミング言語

ABAP の基本

ABAP が 1983 年に初めて公開されると、命令に基づく手続型プログラミング言語として設計されました。比較的独立していたが、当時の他の一般的なプログラミング言語、主にCOBOLとパスカルの影響を受けた。

1990 年代末までに、ABAP 言語が拡張され、オブジェクト指向プログラミングが可能になりました。C++ や Java など、一般的なオブジェクト指向プログラミング言語の重要なコンセプトは、ABAP 言語に統合されました。ABAP オブジェクトは、プログラミング言語と呼ばれるように、手続型部分とオブジェクト指向部分を 1 つの言語で組み合わせたものです。

ABAP は最新の式を使用して再度拡張されました。ABAP は、従来の命令ベースの構文エレメントと最新の式ベースの構文エレメントを 1 つのプログラミング言語に結合します。新しい ABAP 開発では、可能な限り、オブジェクト指向および式ベースの構文エレメントが推奨されます。

以下のビデオでは、ABAP の主な機能の一部を見てみましょう。

ABAP 言語の範囲が ABAP クラウド開発をサポートするように調整され、言語バージョン "クラウド開発向け ABAP" および "キーユーザ向け ABAP" が導入されました。ABAP 言語バージョンの詳細については、SAP Help Portal を参照してください。

ABAP 言語バージョンは、標準 ABAP、クラウド開発向け ABAP、キーユーザ向け ABAP の 3 つです。
標準 ABAPクラウド開発向け ABAPキーユーザ向け ABAP
ユニバーサルバージョン制限付 ABAP 言語バージョン制限付 ABAP 言語バージョン
無制限の ABAP 言語バージョンクラウド最適化キーユーザによる拡張の実装を想定
言語範囲全体をカバー

公開された公開 SAP の使用:

  • SAP 機能および SAP データにアクセスするための API (ローカルまたはリモート)
  • SAP オブジェクトを拡張するための拡張ポイント
制限付の言語エレメントセットを含む従来の ABAP の一般ルールをカバーします。
 SAP オブジェクトへのモディフィケーションはサポートされない 
ABAP IDE としての ABAP Development Tools (ADT)

注記

このコースでは、ABAP 開発の概要を説明します。3 つの言語バージョンすべてで使用可能な構文エレメントと言語機能に制限されます。ただし、ABAP RESTful アプリケーションプログラミングモデルの導入は例外であり、キーユーザ向け ABAP には含まれていません。

このコースでは、演習およびデモに SAP BTP, ABAP 環境を使用します。

ABAP クラウド

ABAP 環境

ABAP クラウドは、オンスタックシナリオおよび並列シナリオでクラウド対応の拡張およびアプリケーションを構築するための 1 つの共通開発モデルです。これは、すべての SAP S/4HANA エディションおよび SAP Business Technology Platform (BTP) ABAP 環境で使用できます。

注記

SAP S/4HANA の詳細については、https://learning.sap.com/learning-journeys/learn-the-basics-of-sap-fiori にアクセスし、ArchitectureDescribing SAP S/4HANA を選択してください。

ABAP クラウド

クラウド対応のビジネスアプリ、サービス、および拡張を構築するための ABAP 開発モデル。

SAP BTP および SAP S/4HANA で使用可能です。

パブリッククラウド、プライベートクラウド、さらには任意のオンプレミスで動作します。

ABAP 開発モデル

ABAP 開発モデルは、開発プロセスのエンドツーエンドのすべての側面をカバーする包括的な開発アプローチです。これは、基盤となるアーキテクチャ、開発、開発ガイドラインなどに使用されるツールなど、具体的で抽象的なものを包含する包括的な用語です。

ABAP クラウドプログラミングモデルの基盤となるキーコンセプトを見てみましょう。

RESTful アプリケーションプログラミングモデル

ABAP RESTful アプリケーションプログラミングモデルにより、ABAP 環境での SAP HANA に最適化された OData サービス (SAP Fiori アプリなど) の効率的なエンドツーエンド開発のためのアーキテクチャが定義されます。すべてのタイプの Fiori アプリケーションの開発および Web API の公開がサポートされています。これは、意味的に豊富なデータモデルを定義するコアデータサービス (CDS) や、カスタムロジックおよび SAPUI5 ベースのユーザインタフェース用の OData プロトコルおよび ABAP ベースのアプリケーションサービスにバインドされた OData サービスを登録するためのサービスモデルインフラストラクチャなどのテクノロジーおよびフレームワークに基づいています。

SAP は RESTful アプリケーションプログラミングモデルを使用して、新しい標準アプリケーションを構築し、既存のアプリケーションを最新化します。SAP では、カスタマおよびパートナが SAP S/4HANA および SAP Business Technology Platform (BTP), ABAP 環境でのカスタム開発に使用することもお奨めします。

データモデリングおよび動作、ビジネスサービスの公開および利用で構成される RESTful アプリケーションプログラミングモデルの構造

ABAP RESTful アプリケーションプログラミングモデルを使用して開発されたアプリケーションは、以下のビルディングブロックで構成されます。

ビジネスオブジェクト
ビジネスオブジェクトは、データモデルを表し、特定の利用とは関係なく、動作と呼ばれるデータ関連ロジックを定義します。RESTful アプリケーションプログラミングビジネスオブジェクトは、Core Data Service (CDS) データモデリングビュー、CDS 動作定義、および ABAP クラスの動作実装によって定義されます。
ビジネスオブジェクト射影
ビジネスオブジェクト射影は、特定のビジネスサービスのビジネスオブジェクトのサブセットを射影およびエイリアスするためのアプローチです。射影により、柔軟なサービス利用とロールベースのサービス設計が可能になります。RESTful アプリケーションプログラムでは、ビジネスオブジェクト射影は CDS 射影ビュー、CDS 動作射影、および必要に応じて追加ビューまたは消費固有ビューで構成されます。
Service Definition
サービス定義により、ビジネスサービスの範囲、特にこのサービスによって公開されるビジネスオブジェクト射影が定義されます。
サービスバインディング
サービスバインディングにより、OData V2 や OData V4 などの通信プロトコル、および UI サービスや Web サービスなど、コンシューマに提供されるサービスの種類が定義されます。
SAP Fiori UI
SAP Fiori UI には、OData サービスに基づいて一般的に使用されるアプリケーションパターンの指定 UI が用意されています。
Web API
Web API は、任意の OData クライアントがサービスにアクセスするためのパブリックインタフェースを提供します。

ABAP プログラミングの基本を学習した後、持続可能な食料品アプリ用の ABAP RESTful アプリケーションを作成します。リポジトリオブジェクトジェネレータを使用して、すぐに使用可能な ABAP RESTful アプリケーションプログラミングビジネスオブジェクトを 1 時間以内に登録します。このアプリケーションを使用すると、食料品とその有効期限を追跡できます。

スクリーンショット:RESTful アプリケーションプログラミングモデルを使用して構築されたアプリケーション