この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "ABAP"
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言語を用いて処理を行う。 なお、レポートプログラムを作成する場合には以下のイベントが存在する。 以下の方法で変数を宣言することができる。 DATA : 変数名 TYPE 型名 [LENGTH 長さ]. 以下の方法で定数を宣言することができる。 CONSTANTS : 定数名 TYPE 型名 VALUE {値|IS INITIAL}. ABAPプログラム内部で、テーブルと同様の2次元配列のデータ構造を持たせたもの。主に、テーブルやローカルファイル・サーバファイル等の外部データを取得した際の格納先として使用される。定義およびデータの格納・利用・変更・削除はABAPプログラムからのみ実行使用可能である。 プライマリテーブルインデックスで内部的に管理され、プライマリテーブルキー(プライマリキー)を一意では持たない内部テーブル。 プライマリテーブルインデックスで内部的に管理され、常にプライマリキーに従ってソートされる内部テーブル。 行がハッシュアルゴリズムに従って内部に格納され、一意のハッシュキー(ハッシュテーブルにおけるプライマリキー)を使用してアクセスできる内部テーブル。 各内部テーブルの特徴テーブル名アクセス方法プライマリキーでの アクセス時応答時間その他 (Standard Table)・プライマリテーブルインデックス ・テーブルキー(プライマリ・セカンダリ)テーブル内エントリ数に比例 (線形検索)・プライマリキーが非一意(Non-Unique)のみ (Sorted table)・プライマリテーブルインデックス ・テーブルキー(プライマリ・セカンダリ)テーブル内エントリ数に 対数的に比例・プライマリキーは一意、非一意ともに使用可 ・常にプライマリキーでエントリがソートされる (Hashed table)・テーブルキー(プライマリ・セカンダリ) ・セカンダリテーブルインデックス常に一定 (テーブル内エントリ数に 影響されない)・プライマリテーブルインデックスが存在しない ・プライマリテーブルキーは一意のみ ・セカンダリテーブルキーを使用して セカンダリテーブルインデックスを割り当て可能 SAPでは、EASY ACCESSやIMG以外に、各処理画面へ移動する方法として、トランザクションコードが存在している。アドオン開発に用いられるトランザクションコードの一部として、以下のものが存在している。
言語の特徴
文法
テーブル
イベント
INITIALIZATION 初期設定を記述する。
AT SELECTION-SCREEN 画面などで入力された結果に対する処理を記述する。
START-OF-SELECTION 主処理を記述する。
END-OF-SELECTION(廃止済) 処理結果を表示、出力する。
データの宣言
定数の宣言
内部テーブル(Internal Table)
標準テーブル(Standard table)
ソートテーブル(Sorted table)
ハッシュテーブル(Hashed table)
標準テーブル
ソートテーブル
ハッシュテーブル
トランザクションコード
SE09 移送オーガナイザ
SE11 テーブルやデータエレメントなどの追加・照会
SE24 クラスの作成・照会
SE37 汎用モジュールの作成・照会
SE38 プログラムの作成
SE80 オブジェクトナビゲータ
SE81 アプリケーション階層
SE84 リポジトリ情報システム
SE91 メッセージ
SE93 トランザクションコードの作成・照会
.mw-parser-output .asbox{position:relative;overflow:hidden}.mw-parser-output .asbox table{background:transparent}.mw-parser-output .asbox p{margin:0}.mw-parser-output .asbox p+p{margin-top:0.25em}.mw-parser-output .asbox{font-size:90%}.mw-parser-output .asbox-note{font-size:90%}.mw-parser-output .asbox .navbar{position:absolute;top:-0.90em;right:1em;display:none}
.mw-parser-output .hlist ul,.mw-parser-output .hlist ol{padding-left:0}.mw-parser-output .hlist li,.mw-parser-output .hlist dd,.mw-parser-output .hlist dt{margin-right:0;display:inline-block;white-space:nowrap}.mw-parser-output .hlist dt:after,.mw-parser-output .hlist dd:after,.mw-parser-output .hlist li:after{white-space:normal}.mw-parser-output .hlist li:after,.mw-parser-output .hlist dd:after{content:" ・\a0 ";font-weight:bold}.mw-parser-output .hlist dt:after{content:": "}.mw-parser-output .hlist-pipe dd:after,.mw-parser-output .hlist-pipe li:after{content:" |\a0 ";font-weight:normal}.mw-parser-output .hlist-hyphen dd:after,.mw-parser-output .hlist-hyphen li:after{content:" -\a0 ";font-weight:normal}.mw-parser-output .hlist-comma dd:after,.mw-parser-output .hlist-comma li:after{content:"、";font-weight:normal}.mw-parser-output .hlist-slash dd:after,.mw-parser-output .hlist-slash li:after{content:" /\a0 ";font-weight:normal}.mw-parser-output .hlist dd:last-child:after,.mw-parser-output .hlist dt:last-child:after,.mw-parser-output .hlist li:last-child:after{content:none}.mw-parser-output .hlist dd dd:first-child:before,.mw-parser-output .hlist dd dt:first-child:before,.mw-parser-output .hlist dd li:first-child:before,.mw-parser-output .hlist dt dd:first-child:before,.mw-parser-output .hlist dt dt:first-child:before,.mw-parser-output .hlist dt li:first-child:before,.mw-parser-output .hlist li dd:first-child:before,.mw-parser-output .hlist li dt:first-child:before,.mw-parser-output .hlist li li:first-child:before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child:after,.mw-parser-output .hlist dd dt:last-child:after,.mw-parser-output .hlist dd li:last-child:after,.mw-parser-output .hlist dt dd:last-child:after,.mw-parser-output .hlist dt dt:last-child:after,.mw-parser-output .hlist dt li:last-child:after,.mw-parser-output .hlist li dd:last-child:after,.mw-parser-output .hlist li dt:last-child:after,.mw-parser-output .hlist li li:last-child:after{content:")\a0 ";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li:before{content:" "counter(listitem)" ";white-space:nowrap}.mw-parser-output .hlist dd ol>li:first-child:before,.mw-parser-output .hlist dt ol>li:first-child:before,.mw-parser-output .hlist li ol>li:first-child:before{content:" ("counter(listitem)" "}.mw-parser-output .navbar{display:inline;font-size:75%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}.mw-parser-output .infobox .navbar{font-size:88%}.mw-parser-output .navbox .navbar{display:block;font-size:88%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}
表示
Size:14 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)』
担当:undef