ABAPとは?SAP開発の基本ルール・勉強するメリット徹底解説

2019年10月1日

what-is-abap

ABAPとは、SAPシステムの開発でのみ使われる独自プログラミング言語です。2025年のSAP製品のサポート終了に向かってSAP案件は増えており、ABAPエンジニアのニーズは高まっています。

エンジニア転職なら【Tech Stars Agent】

この記事では、ABAPを開発する際の基本的なルールをはじめ、ABAPの種類ごとに分け、レポート、バッチインプットDynpro についても解説します。

ABAPとは?

ABAP(Advanced Business Application Programming, アバップ)とはどんな言語なのか、基本的な内容を解説します。

SAP開発のための言語

ABAPとは、SAPシステムの開発でのみ使われる独自のプログラミング言語です。

SAPに特化した言語なので、Javaのような有名言語と比べるとあまり知られていません。

ABAPはもともと、構造化プログラミング言語でしたが、拡張されてJavaなどと同じオブジェクト指向言語になりました。

現在ABAPを使用できるエンジニアの数は少ないのですが、ABAPを使用する案件は増えており、ニーズは高まっています。
そのため、ABAPを勉強することで希少価値の高いエンジニアを目指せます。

また、ABAPはプログラミング初心者でも比較的取り組みやすい言語であり、勉強するハードルも低めです。

ABAPを使いSAPシステムを開発する際、BASIS(SAP NetWeaver)をアプリケーションサーバーに使うため、特定のプラットフォームに依存せず、開発と運用ができます。

Javaなど他のプログラミング言語に比べ、言語仕様を変更したり、ランタイムのアップデートをしたりする際、影響を受けずにリリースできるのもメリットです。

ABAPの基本

ABAPの書式ルールを解説します。

命令文は半角ローマ字で、大文字と小文字は同一視されます。
リテラルの中のみ日本語が使用できます。
記述する際はキーワードで始め、単語は半角スペースで区切り、最後はピリオドで終わりましょう。

同じキーワードの命令が続く場合は、「チェーン命令」を使うことで一文にまとめられます。

「IF~ENDIF」[CASE~ENDCASE]というように複数の命令が一連になる場合は、キーワードごと最後にピリオドをつけるようにしましょう。

文の最初からコメントを記述する場合は「*」をつけ、途中からコメントを記述する場合は「”(ダブルクォーテーション)」を記述します。

ABAPは「起承転結」のように、あらかじめプログラムの流れがある程度決められています。
これらのルールを守れば、ある程度自由にプログラムを記述できます。

エンジニア転職なら【Tech Stars Agent】

ABAPは大きく3つに分けられる

ここまではABAPの基本的な内容を解説しました。
次は、ABAPにある3つのタイプを解説します。

ABAPはプログラムの特徴ごとに、レポート、バッチインプット、Dynproという3つのタイプに分けられます。

  • レポート:データ出力を目的としたプログラム
  • バッチインプット:バッチ処理を実現するプログラム
  • Dynpro:対話型の画面入力に関するプログラム

これら3つのタイプを、それぞれ解説します。

レポート

ABAPのレポートプログラムは、データの出力を目的としたプログラムです。

データを取得し、一覧で表示します。

データを取得し報告書にまとめる業務の例として、予算と実績値を照会したり、他の人が入力した値をチェックしたり、会計業務で財務諸表を作ったりするものがあります。

これらの作業がレポートプログラムです。

レポートプログラムはさらに大きく3つに分けられます。
ユーザーにプログラムを実行する条件を選択させ、プログラムを実行するもの
実行条件の入力なしですぐにプログラムが実行されるもの
データを出力し表示したあと、データの更新などができるもの
レポートは動作の仕方で3つに分類されると理解しておきましょう。

バッチインプット

バッチインプットとは、大量のデータをまとめて処理するプログラムのことです。

伝票の登録を例に見てみます。
伝票は商品が売れた時など、取引が発生する度に入力します。
取引が発生する度に処理すると、大量のデータを登録しなければなりません。

バッチインプットでは、大量のデータを一度にまとめて処理できるので、時間を短縮できます。
さらに、作業が自動化されるので、夜中など人がいない時も処理できるなど、さまざまなメリットがあります。

Dynpro

Dynproとは、対話型の画面入力プログラムのことです。

対話型とは、ユーザーが入力した内容に応じ、画面表示がされていくものを指します。
「ユーザーがこうしたら、画面がこうなる」というように、人と画面が対話するように進んでいきます。

対話型の画面入力の例として、Googleがあります。
Googleでは、ユーザーが検索スペースにキーワードを入力すると、そのキーワードを含む検索結果を表示したり、ユーザーがリンクをクリックするとそのページを表示したりします。

SAPもGoogleと同じように対話型の画面入力ができ、これを実現するのがDynproというプログラムです。
Dynproはレポートやバッチインプットと比べ、開発数は少ないのですが難易度の高いプログラムなので、Dynproが書ける人は重宝されます。

ABAPを勉強するメリット

最近SAP案件は少しずつ増えていますが、ABAPを使用できるエンジニアはまだまだ少ないので、勉強すれば重宝されるエンジニアになれます。

ABAPを勉強することで得られるメリットを解説します。

希少性の高いエンジニアになれる

ABAPは知名度が低く、あまり知られていない言語で、使用できるエンジニアも少ないです。しかし最近では日本でも需要があり、世界中の多くの大企業のシステムでも用いられている言語です。ABAPは他の言語に比べ、高い金額の開発案件が多く、安定して受注可能です。また、ABAPが書けるようになれば、給料アップも見込めます。

さらに、ABAPの案件は残業が少なく徹夜もありません。JAVAなどと違い元々システムの動きが決められているので、システムの動きを柔軟に合わせるようなことがありません。システムエンジニアの負担も減り、残業が少なくなります。

ABAPを学んで希少価値の高いエンジニアになろう

ABAPという言語を解説しました。

ABAPはSAPシステムの開発でのみ使われる独自のプログラミング言語です。

ABAPはレポート、バッチインプット、Dynproと3つの種類に分けられます。

ABAPを使用できるエンジニアは少ないのですが、現在SAPの案件は増えてきており、ニーズは高まっています。
つまり今ABAPを勉強して使えるようになれば、希少価値の高いエンジニアになれます。

「重宝されるエンジニアになりたい!」という人はぜひABAPを勉強してみてください。

エンジニア転職なら【Tech Stars Agent】

Posted by Motus admin