ABAP【Advanced Business Application Programming】
概要

ERPパッケージのR/3やインメモリデータベースのS/4HANAなどの同社製品を導入・運用する際、標準機能だけでは対応できない業務要件を追加機能(アドオン)として独自に実装するために用いられる。同社のシステムにはABAPプログラムを追加・実行する仕組みが備わっており、記述したプログラムを登録すればすぐに利用できるようになる。
用途や処理内容に応じてプログラムのタイプ(種類)が定義されている。実行可能プログラム、レポート(REPORT)、モジュールプール(Dynpro)、汎用モジュール(Function Module)、クラスプール、サブルーチンプール、インクルードプログラムなどの中から選択する。
同社ではABAPによるプログラム開発を支援する統合開発環境(IDE)として「ABAP Workbench Tools」およびEclipseベースの「ABAP Development Tools」(ADT)が提供されており、コードの記述や表示・操作画面設計、デバッグなどを行なうことができる。ADTはコード補完、リファクタリング、ユニットテスト連携などモダンな機能を備え、近年の開発現場ではADTへの移行が進んでいる。
ABAPは1980年代にSAP社が自社製品向けに開発した言語で、当初は手続き型言語として設計されたが、後にオブジェクト指向の機能が追加され「ABAP Objects」として拡張された。クラスの定義、継承、ポリモーフィズムといったオブジェクト指向プログラミングの主要な概念を取り入れており、現在は手続き型とオブジェクト指向の両方のスタイルで記述できる。
近年では、同社のクラウド上のアプリケーション開発プラットフォーム「SAP Business Technology Platform」(BTP)におけるABAP環境として「ABAP Cloud」が提供されている。ABAP Cloudでは従来の機能の一部が制限される代わりに、「クリーンコア」と呼ばれる設計思想に基づいたSAP標準APIを通じた開発が推奨されており、アップグレード耐性の高いアドオン開発が可能となっている。
ABAPer (アバッパー)
日本のIT業界では、ABAPを利用してソフトウェア開発を行なうことができる技術者のことを、俗に「ABAPer」(アバッパー)と呼ぶことがある。ABAPはSAP専用の言語であるため人気の言語に比べ開発機会、人材ともに限られているとされる。ABAPerはABAPの言語仕様の知識やコーディング技能だけでなく、基盤となるSAP製ERP製品やデータベースなどに関する理解も必要となる。