ABAPとは?―初心者向け/勉強法【50記事で解説】基礎編

ABAP

ABAPAdvanced Business Application Programming)とは、SAP製品を構成するプログラミング言語のことです。2025年に向けて、SAPの新規導入やS4/HANAへのリプレイス案件が盛んな今、ABAPスキルを持つ人の単価は右肩上がりで上昇しています。

このページは、初めてABAPを学ぶ人、もう一度ABAPを1から勉強したい人のために、ABAPの知識を1から解説していきます。このページを読み終わるころには、簡単な機能であれば一人で実装できるようになるレベルまで到達できるように解説します。

このページで学べる内容
  • ABAPの基本的な書き方・ルール
  • ABAPの特徴/基本知識
  • ABAPの実装方法
  • 知っておきたいSAP製品の基礎知識/デバッグの仕方

ABAPerと名乗るためには最低限知っていないと恥ずかしい内容ばかりを網羅的に整理しました。是非最後までご覧ください。(ブックマーク推奨

スポンサーリンク
スポンサーリンク

ABAPとは?

ABAPとは、SAPを構成しているプログラミング言語のこと。読み方は「アバップ」。

SAP製品を拡張して、企業独自の機能を追加したり、SAP標準の機能に新たな機能を追加する場合にはABAPを使って開発を行う必要があります。

ABAPは、Javaなどの有名なプログラミング言語と異なりSAP以外の製品で利用されることがないため知名度も圧倒的に低いのが実情ですが、その分ABAPスキルを持っているエンジニアも数は多くありません。ただし、逆に言えばその分ABAPスキルを有することの希少性も高いため、一人当たりの平均単価(お給料)は非常に高いのも事実です。

ABAPの特徴

ABAPは、もともとはCOBOLと同じような構造化プログラミング言語でしたが、時代とともに進化しオブジェクト指向を取り入れつつ拡張しています。

基本となる構造化プログラミングの概念だけでなく、オブジェクト指向といった現代のプログラミング言語に共通する基本知識も必要となります。

また、ABAPエンジニアはABAPだけではなくSAP製品そのものへの理解も必須です。1から機能を追加する際も、完全に独立した機能を作ることはめったになく、基本はSAPの機能の一部に依存する形で開発が行われるためです。

したがって、ABAPスキルを使って実際に業務をこなすためには、頭に入れておくべき知識量が他言語と比較して多いのが現実。

では、最低限どのような知識を身につける必要があるか?このページでは、ABAPの基本的な必須知識を網羅的に整理しています。

ABAPプログラム開発の前提

早速ABAP言語がどのようなものか具体的に1から見ていきましょう。

ABAPプログラムを開発する際に、まずは前提として覚えておきたいSAPの基本操作や、SAPのプログラミング環境を支える仕組みを学んでいきましょう。

この章で学べる内容
  • SAPのシステム構成
  • ABAPのプログラムの種類(Dynpro/インクルード.etc)
  • トランザクションコードとは?
  • ABAPプログラム開発時に必要なツール
  • ABAPプログラムのデバッグ方法
  • RICEF(ライセフ)
  • SE11:ABAPディクショナリ
    • アドオンテーブル
    • データエレメント
    • ドメイン

ABAPの基本ルール

この章ではABAPの基本的な書き方について解説します。基本的な書き方を覚えれば、なんとなくABAPをコーディングしていくことのイメージが掴めるようになります。

以下の記事では、ABAPをコーディングしていく上で重要な9つの構文ルールについて解説しています。

この記事の内容が、様々なABAP命令を学んでいく上での基礎になります。


ABAPでのデータ定義・構造

ABAPの基本構文を理解した上で、データ定義・構造について学習します。

データ定義の章では、変数/定数の定義方法、内部テーブルや構造といったABAP特有の概念について学んでいきます。データ定義を理解せずにABAPのコーディングをすることはほぼ不可能といっても過言ではありません。

この章で学べる内容
  • ABAPデータ型の基本
  • 【重要!】TYPES命令―データ型の定義
  • TYPEオプションとLIKEオプションの使い分け
  • 【重要!】DATA命令―変数/構造/内部テーブルの定義
  • 変数/構造/内部テーブルとは?
  • レンジテーブルの意味と使い方・定義方法
  • 定数定義の方法と定数を定義する意味・目的
  • テキストシンボル(テキストエレメント)
  • フィールドシンボルとは?意味と使い方

計算(算術式/論理式)

この章では、ABAPで用いる基本的な計算方法(算術式)と、論理式について学習します。どちらも、使用頻度が高く基本的な内容であるため、しっかり理解しておきましょう。

この章で学べる内容
  • 算術式(ABAPでの四則演算の方法)
  • 論理式(比較演算子について)

プログラムフローの制御

この章では、ABAPのプログラムフロー(処理の流れ)制御について学習します。条件分岐(IF文/CASE文)などの基本知識から、DO/WHILE文まで処理の制御方法を分かりやすく説明します。

この章で学べる内容
  • 【重要!】IF文/CASE文(条件分岐)の使い方・書き方
  • DO/WHILE(繰り返し)の使い方・書き方
  • 繰り返し処理の制御ーEXIT/CONTINUE/CHECK命令

イベント/選択画面

ABAPはイベントドリブン言語に分類されます。イベントとは何か?この章では、イベントブロックの意味・使い方と合わせて、選択画面の作り方についても合わせて解説していきます。

この章で学べる内容
  • イベントブロックとは何か?使い方と基本イベントについて
  • 選択画面の作り方―SELECTION-SCREEN
  • 選択項目の作成方法―①PARAMETERS / ②SELECT-OPTIONS
  • 【応用編】PUSHBUTTON(押しボタン)の使い方
  • 【応用編】画面の動的制御(LOOP AT SCREEN)

構造化

ABAPにおけるプログラムの構造化について学習します。構造化とは、プログラムのコードを整理されたブロックの組み合わせで構成する方法です。

ABAPを何となく読んだことがある方や、SAPの現場にいる方であれば、サブルーチンや汎用モジュールといった単語を聞いたことがあるかもしれません。本章では、ABAPにおける構造化手法について解説します。

この章で学べる内容
  • 【重要!】サブルーチン(FORM~ENDFORM)の使い方と処理内容
  • 【重要!】汎用モジュール(CALL FUNCTION命令)の使い方の処理内容
  • サブルーチンと汎用モジュールの違いについて
  • ABAPマクロの使い方
  • INCLUDEプログラムとは何か?使い方と実装方法

内部テーブルの操作

ABAPプログラミングで最重要といっても過言ではないのが、内部テーブルの操作方法です。

この章では、ABAPの大きな特徴の一つである内部テーブルの操作方法を解説します。内部テーブルの操作をマスターできると、プログラミングの幅がぐっと広がります。

この章で学べる内容
  • 内部テーブルの宣言方法と使い方
  • 内部テーブルのテーブルデータ型について
  • READ TABLE命令―内部テーブルの読み込み方法
  • DESCRIBE TABLE命令―内部テーブルの属性の判別方法
  • SORT命令―内部テーブルレコードの並び替え
  • APPEND命令―内部テーブルへのレコード追加
  • 内部テーブルのLOOP処理
  • 値の代入―MOVE命令
  • 内部テーブルの初期化―CLEAR命令/REFRESH命令/FREE命令
  • 【番外編】TABLES命令の処理内容と使い方

データベース操作

この章では、データベース(DB)操作について学習します。データベース操作においては、基本的な命令文を学習する前に、ABAPにおけるデータベースがどのように構成されているかを押さえておく必要があります。

この章で学べる内容
  • オープンSQLとネイティブSQLとは?その違いは何か?
  • クラスタテーブルとプールテーブル
  • ビュー(view)とは何か?
  • データ取得―SELECT命令
  • 内部結合/外部結合の意味と使い分け方法
  • INSERT命令―レコードの挿入
  • LUW―データベースの整合性担保の考え方

文字列操作

ABAPにおける文字列操作命令について学習します。

文字列操作は、画面の作成や帳票機能を実装する際の重要知識です。

この章で学べる内容
  • WRITE命令
  • オフセットの意味と使い方
  • CONDENSE命令―文字列のブランク操作
  • CONCATENATE命令―文字列の結合操作について

その他(Tips)

最後の章では、ABAPプログラミングにおける特殊なテクニックについて学習します。この章の内容を理解できれば、今までに学習した内容との組み合わせで多くの機能のプログラミングが可能になります。

この章で学べる内容
  • システム項目とは何か?
  • AUTHORITY-CHECK命令―権限チェック
  • バッチインプット「CALL TRANSACTION命令」の使い方
  • MESSAGE命令
  • オンライン実行とバックグラウンド実行の違い
  • バックグラウンド実行のプログラムをデバッグする方法

SAP/ABAPを勉強したいならこちらの参考書がおすすめ

ブログだけでなく、最近はSAP・ABAPに関する参考書も多くなりました。

その中でも、SAP・ABAPを知るものならこれだけは読んでいないと恥ずかしい・・・という良書3つをセレクトして紹介します。

タイトルとURLをコピーしました