ABAPとは?基礎知識から学習方法までを紹介
はじめに
- ABAPは、SAPで使われるプログラミング言語です
- ABAPはSAP機能拡張の役割をもつ
- ABAPエンジニアには今後も一定の需要が見込まれる
- SAPやABAPを利用する人は早期に学習をはじめるとよい
ABAPとは?
ABAP(アバップ)は、SAP社が提供するERPシステムで使用されているプログラミング言語です。ERPシステムとは企業全体の経営資源を一元的に管理し、情報共有の効率化を目的として開発され、とくにSAPのシステムは世界中の企業に導入されています。このABAPはSAP製品の機能を拡張して使用する際に重要です。ABAPは、利用者の操作などに応じて起動され、対応した処理を行うプログラム部品(モジュール)を記述する形でソフトウェアを開発します。このような方式のプログラム言語はイベントドリブン言語と呼ばれます。
ABAPがSAPで果たす役割
ABAPは、SAPのERPシステムをより多くのタスクに対応させる役割を果たしています。SAPの標準機能では対応できない独自の処理や、企業特有のニーズに応えるために使用されます。アドオン開発と呼ばれるカスタマイズや機能の拡張が実現でき、企業の業務効率化や合理化に大きく貢献しているのです。SAPの機能に依存する形で開発され、バージョン管理にも対応しています。また、セキュリティ機能もあり、企業のセキュリティポリシーや法規制に対応する開発も可能です。
ABAPの来歴
ABAPは、1980年代からある言語で、SAPツールを使う人たちのために作られました。最初はABAP/4という名前で、1992年に一般公開されたのち、1999年には、オブジェクト指向が導入され、非手続き型プログラミングの機能が実装されました。2006年には、ABAPはスイッチフレームワーク機能が導入され、2012年には、テーブル式機能を使ってより早いデータ操作に対応可能となりました。2015年には、Open SQLという機能をサポートし、ABAPは幅広いデータベース操作に対応しました。そして、2017年には、内部テーブルの仮想ソート機能が導入され、大規模データの処理性能が向上しました。
ABAPでよく開発する機能を紹介
レポート (REPORT):
レポートは、SAP内にある沢山の数字やデータを集めて加工し、利用者が必要とする情報をリストのように一覧で表示する機能です。ABAPの最も基本となる機能になります。どれだけ商品が販売されたかのデータや、どれだけの在庫があるかなどのデータを抽出し、知りたい情報を見やすく提示できます。
バッチインプット (Batch Input):
バッチインプットでは、SAPの入力に関連する複数の処理を利用し、データを一括で自動入力する処理を実行・管理できます。外部のデータをSAPに入力する際に、入力担当者が手作業でデータの入力処理を行うプログラムのマネをして動作します。毎日行っている沢山の情報を入力する業務や情報の更新作業を、自動で早く正確に行えるのです。バッチインプットでは、SAPのチェック機能を利用できるため、入力の間違いが少なくデータを登録できます。
ディンプロ(Dynamic Programming):
ディンプロは、利用者の入力内容に応じて動作し、画面を変更するような動的な「画面(UI)」と「画面の制御」を製作するプログラムです。直接データを入力するためのフォームや情報を表示するウィジェットなどの製作に対応します。ディンプロは、UIの表示などを担当するため、単独ではあまり利用されません。他のプログラムと併用して利用される場合が多いです。
一般的なABAPの用途と例
どのような分野でABAPが利用されているのかを紹介します。
財務会計:
ABAPは、財務会計の分野でお金の計算などを見やすく表示できます。SAPにはFI(Financial Accounting)モジュールという会計システムがあります。リアルタイムでお金の流れを処理し、財務諸表の作成など、外部向けの処理を担当します。
管理会計:
管理会計とは、社内向けに収益や費用を分析するレポートを指します。SAPではCO(Controlling)モジュールが担当しており、部署ごとの業績など社内のコストに関係した処理や分析を担当しています。
上記以外にもお店を運営ための販売管理や、どこに何を発注したかを担当する在庫購買管理など、SAPとABAPはいろいろな部門で活躍しています。
ABAPで最低限覚えておきたい知識
ABAPに興味をもった初心者の方向けに基本的な知識を紹介します。
1. ABAPのコーディングは、半角英字(アルファベット)で行う
2. 単語と単語の間には、スペースをあける
3. 特別なABAPキーワードという言葉でコードが始まり、ピリオドという点でコードが終わる
4. 大文字も小文字も、同じようにあつかう
5. 同じ命令を複数回実行する際、チェーンという短い方法で記述できる
6. ソースコードの中に説明文を載せたい時は、「*」を行頭に書く
7. コードの途中で説明文を入れたい時は、「” “」で囲む
8.「IF文」「CASE文」など条件分岐やループなどを記述する際は、キーワードの後にそれぞれピリオドが必要である
基本的なABAPプログラミング用語
ABAPでコーディングをする際に使う用語をいくつか紹介します。
イベントブロック:
イベントブロックとは、プログラム実行時に処理されるイベントキーワードごとの区切りを指します。イベントブロックは、イベントキーワードの宣言によって開始され、イベントキーワード内の処理が終了したら次のイベントキーワード内の処理を行います。
データ型:
データ型とは「文字列」や「数値」など、データの種類を示します。ABAPは静的型付け言語のため、変数のデータ型を事前定義する必要があります。プログラミング言語によっては、変数を宣言する際に型宣言が必要ないものもあり、このようなプログラミング言語は「動的型付け言語」と呼びます。
ABAPエンジニアの需要と学習方法
ここからはABAPエンジニアの需要と学習方法について紹介します。
ABAPエンジニアの市場価値は?
ABAPエンジニアは、前述のとおり、SAPが利用されている案件の業務に従事します。SAPというツールでのみ利用されているABAPというプログラミング言語をあつかっているため、エンジニアの数は多くないと思われます。また、現行の『SAP ERP 6.0』の標準保守期限は2025年で終了のはずでした。しかしエンジニア不足が深刻であることと保守を理由に、2027年末終了に延長されていることから、今後も一定の需要があると考えられます。
効果的なABAPの学習方法
ABAPのコーディングを学ぶためには、いろいろな方法があります。楽しく学ぶためには、自分に合った方法を見つけるとよいでしょう。
WEBサイトで学ぶ:
コーディングの基本を学ぶためには、インターネットが役立ちます。
ABAP プログラミング(BC-ABA) :プログラミング概要資料:
ABAPの基本が網羅的に掲載されています。
ABAP プログラミング (BC-ABA) (SAP ライブラリ – ABAP プログラミング (BC-ABA)) :
https://help.sap.com/doc/saphelp_nw70/7.0.12/ja-JP/43/41341147041806e10000000a1553f6/content.htm?no_cache=true
ビズドットオンライン:
ABAPについての基礎情報をわかりやすく掲載しています。はじめの一歩を踏み出す人にはよいサイトです。
ビズドットオンライン:https://it-biz.online/
本で学ぶ:
本を読んでの学習も、ABAPのコーディングに役立ちます。しかし、日本語で書いてある本は少ないため、英語が難しい人は他の学習方法を考えた方がいいかもしれません。日本語で書かれたABAPの書籍を紹介します。
世界一わかりやすいSAPの教科書 入門編 – 秀和システム あなたの学びをサポート!:
https://www.shuwasystem.co.jp/book/9784798065199.html
図解入門 よくわかる最新SAPの導入と運用 – 秀和システム あなたの学びをサポート!:
https://www.shuwasystem.co.jp/book/9784798055503.html
まとめ
ABAPは、SAPシステム内で機能拡張をするためのプログラミング言語であることがわかりました。もしもABAPエンジニアに興味がある場合は、ABAPのコーディングのルールや、文法の理解が第一歩になります。ABAPを学ぶことで、業務に対応できる幅がより広くなる場合もあるでしょう。とくに、SAPやABAPを利用した業務に従事する予定のある人は、早期にABAPの学習をはじめるとよいでしょう。