한국   대만   중국   일본 
ABAP - Wikipedia コンテンツにスキップ

ABAP

出典: フリ?百科事典『ウィキペディア(Wikipedia)』

ABAP (Advanced Business Application Programming, アバップ)とは、 R/3 S/4HANA などの SAP システム製品の追加開?に用いられる 高級言語 である。過去の正式名?は「ABAP/4GL」(4GL:4th Generation Language)であり、「ABAP」は「ABAP/4」と同?に略?として使われていた。

言語の特? [ 編集 ]

SAP SE の製品でのみ用いられるSAP?自の プログラミング言語 。もともとは 構造化プログラミング言語 であったが、後に オブジェクト指向言語 として?張された。

SAPアプリケ?ション群はABAPを開?言語とし、BASIS( SAP NetWeaver )をアプリケ?ションサ?バに利用することで特定のオペレ?ティングシステムやデ?タベ?ス管理システムなどのプラットフォ?ムに依存することなく、開?、運用することができる。また、ABAPをSAPアプリケ?ション開?に採用することで、Javaや.NET C#などの他のITベンダ?が提供するプログラミング言語を利用する場合に比べて言語仕?の?更やランタイムのアップデ?トの影響を受けることなく、自社でリリ?スやアップグレ?ドサイクルをコントロ?ルできるメリットがある。

文法 [ 編集 ]

文の終了記?は、"."(ピリオッド)である。 IF文の等値判?は"="である。

テ?ブル [ 編集 ]

SAP R/3 では「テ?ブル」といわれる デ?タベ?スシステム を用いている。テ?ブルの種類は「標準テ?ブル」「アドオンテ?ブル」の2種類が存在する。標準テ?ブルはSAP R/3およびS/4HANAに標準??されているテ?ブルであり、アドオンテ?ブルは顧客の?自要件?現などのために、エンジニアやコンサルタントが後から追加(アドオン)して作成するテ?ブルである。

ABAPでは、テ?ブルからのデ?タ取得、テ?ブルへのデ?タ(レコ?ド)?入、テ?ブルからのデ?タ削除を行う場合、 SQL に類似した「ABAP SQL(?:OPEN SQL)」および、特定デ?タベ?スに依存したDB言語である「ネイティブSQL」の使用が可能である。

S/4HANAが主流になり、SAP HANAがプラットフォ?ムとなったことにより、使用可能デ?タベ?スシステムの限定およびデ?タベ?スからの?答時間が短縮した。それに加えABAP SQLが大きく機能?張していることから、特定デ?タベ?スに依存した方法でのデ?タ取得?操作をする事例は減少しているものと思われる。

イベント [ 編集 ]

ABAPでは、それぞれの?理に?して、 イベント が用意されている。イベントを用いて、ABAP言語を用いて?理を行う。

なお、レポ?トプログラムを作成する場合には以下のイベントが存在する。

  • INITIALIZATION 初期設定を記述する。
  • AT SELECTION-SCREEN ?面などで入力された結果に?する?理を記述する。
  • START-OF-SELECTION 主?理を記述する。
  • END-OF-SELECTION( ?止? ) ?理結果を表示、出力する。

デ?タの宣言 [ 編集 ]

以下の方法で??を宣言することができる。

DATA : ??名 TYPE 型名 [LENGTH 長さ].

定?の宣言 [ 編集 ]

以下の方法で定?を宣言することができる。

CONSTANTS : 定?名 TYPE 型名 VALUE {値|IS INITIAL}.

?部テ?ブル(Internal Table) [ 編集 ]

ABAPプログラム?部で、テ?ブルと同?の2次元配列のデ?タ構造を持たせたもの。主に、テ?ブルやロ?カルファイル?サ?バファイル等の外部デ?タを取得した際の格納先として使用される。定義およびデ?タの格納?利用??更?削除はABAPプログラムからのみ?行使用可能である。

標準テ?ブル(Standard table) [ 編集 ]

プライマリテ?ブルインデックスで?部的に管理され、プライマリテ?ブルキ?(プライマリキ?)を一意では持たない?部テ?ブル。

ソ?トテ?ブル(Sorted table) [ 編集 ]

プライマリテ?ブルインデックスで?部的に管理され、常にプライマリキ?に?ってソ?トされる?部テ?ブル。

ハッシュテ?ブル(Hashed table) [ 編集 ]

行がハッシュアルゴリズムに?って?部に格納され、一意のハッシュキ?(ハッシュテ?ブルにおけるプライマリキ?)を使用してアクセスできる?部テ?ブル。

各?部テ?ブルの特?
テ?ブル名 アクセス方法 プライマリキ?での

アクセス時?答時間

その他
標準テ?ブル

(Standard Table)

?プライマリテ?ブルインデックス

?テ?ブルキ?(プライマリ?セカンダリ)

テ?ブル?エントリ?に比例

(線形?索)

?プライマリキ?が非一意(Non-Unique)のみ
ソ?トテ?ブル

(Sorted table)

?プライマリテ?ブルインデックス

?テ?ブルキ?(プライマリ?セカンダリ)

テ?ブル?エントリ?に

??的に比例

?プライマリキ?は一意、非一意ともに使用可

?常にプライマリキ?でエントリがソ?トされる

ハッシュテ?ブル

(Hashed table)

?テ?ブルキ?(プライマリ?セカンダリ)

?セカンダリテ?ブルインデックス

常に一定

(テ?ブル?エントリ?に

影響されない)

?プライマリテ?ブルインデックスが存在しない

?プライマリテ?ブルキ?は一意のみ

?セカンダリテ?ブルキ?を使用して

セカンダリテ?ブルインデックスを割り?て可能

トランザクションコ?ド [ 編集 ]

SAPでは、EASY ACCESSやIMG以外に、各?理?面へ移動する方法として、トランザクションコ?ドが存在している。アドオン開?に用いられるトランザクションコ?ドの一部として、以下のものが存在している。

  • SE09 移送オ?ガナイザ
  • SE11 テ?ブルやデ?タエレメントなどの追加?照?
  • SE24 クラスの作成?照?
  • SE37 汎用モジュ?ルの作成?照?
  • SE38 プログラムの作成
  • SE80 オブジェクトナビゲ?タ
  • SE81 アプリケ?ション階層
  • SE84 リポジトリ情報システム
  • SE91 メッセ?ジ
  • SE93 トランザクションコ?ドの作成?照?

?連項目 [ 編集 ]