Sap-abap-overview

提供:Dev Guides
移動先:案内検索

SAP ABAP-概要

ABAPは、4GL(第4世代)言語であるAdvanced Business Application Programmingの略です。 現在、Javaとともに、SAPアプリケーションサーバープログラミングの主要言語として位置付けられています。

SAPシステムの高レベルアーキテクチャから始めましょう。 典型的なSAPシステムの3層のクライアント/サーバーアーキテクチャは次のように表されます。

3層クライアント/サーバーアーキテクチャ

  • プレゼンテーション層*は、SAPシステムの制御に使用できる任意の入力デバイスで構成されています。 これは、Webブラウザ、モバイルデバイスなどです。 すべての中央処理は*アプリケーションサーバー*で行われます。 アプリケーションサーバーは、それ自体が1つのシステムではなく、処理システムの複数のインスタンスである場合があります。 サーバーは、主にパフォーマンス上の理由とセキュリティのために、通常は別のサーバーに保持されている*データベースレイヤー*と通信します。 プレゼンテーション層からデータベースまで、システムの各層の間で通信が行われ、その後チェーンがバックアップされます。

注意-ABAPプログラムはアプリケーションサーバーレベルで実行されます。 ソフトウェアの技術的な配布は、物理的な場所とは無関係です。 つまり、基本的に3つのレベルすべてを1台のコンピューターに重ねてインストールしたり、各レベルを別のコンピューターまたはサーバーにインストールしたりできます。

ABAPプログラムはSAPデータベース内にあります。 これらは、SAPカーネルの一部であるランタイムシステムの制御下で実行されます。 ランタイムシステムはすべてのABAPステートメントを処理し、制御ロジックを制御し、ユーザーイベントに応答します。

そのため、C ++やJavaとは異なり、ABAPプログラムは個別の外部ファイルに保存されません。 データベース内では、ABAPコードは2つの形式で存在します-

  • ABAPワークベンチツールで表示および編集できる*ソース*コード。
  • 生成されたコード、これはバイナリ表現です。 Javaに精通している場合、この生成されたコードは、Javaバイトコードに多少匹敵します。

ランタイムシステムは、Java仮想マシンと同様に、仮想マシンと見なすことができます。 ABAPランタイムシステムの主要なコンポーネントは、データベースに依存しないステートメント(Open SQL)を、基礎となるデータベース(ネイティブSQL)が理解できるステートメントに変換するデータベースインターフェイスです。 SAPはさまざまなデータベースで動作し、同じABAPプログラムをそれらすべてで実行できます。