zenet_logo

-株式会社ゼネット技術ブログ-

【SAP】SAP専用言語であるABAPはどのようなことができるのか

 

 

はじめに
初めてSAPシステムの開発を行う方、興味がある方にSAP専用言語であるABAPについて紹介します。

 

ABAPとは
ABAPとはAdvanced Business Application Programingの略称で、
1979年にSAP社が開発したSAPのシステム開発に用いられるSAP専用言語です。
そのため、標準機能はもちろんのこと、アドオン機能もABAPで作成されています。


SAP独自の言語ではありますが、JavaやRubyを学習したことがあれば簡単に扱えるようになると思います。

 

ABAPの特徴
ABAPを使うことで、SAPで必要な機能実行時の画面作成(画面項目および配置、入力チェックなど)や、データ抽出・編集、オンライン/バッチ処理など、さまざまな機能を作成できます。
かつては手続型プログラミング言語ですが、現在はオブジェクト指向にも対応しています。
開発に用いるエディタは、SAPのトランザクション機能から呼び出して使用できます。
そして、トランザクション機能には入力内容から使用する命令を推測・提案する補助機能やプログラムのインデント・書式を自動で整えてくれる機能や、プログラムがコーディング規約に則っているかなどを確認してくれる校閲機能などが備わっています。

 

ABAPプログラムの種類
ABAPで作成する代表的なプログラムを3つ紹介します。

 

①レポート
入力画面に実行条件を入力し、その値をもとにSAP内のDBやファイルサーバ上のファイルからデータを取得し、その値をもとに帳票作成や、DBへのデータ操作、ファイル出力などを行う最も基本的なプログラムです。
1つのプログラムを単独で動かすことも可能ですが、プログラム内で別プログラムを呼び出して実行することも可能です。

 

②Dynpro(Dynamic Programming)
対話型の画面入力を行えるプログラムを作成する機能です。
対話型とは、入力内容や選択したボタンによって画面の変化(入力項目のロック・アンロックなど)や画面の遷移を行うタイプのプログラムです。
他にも、画面の表示前後やボタン押下時に行う処理などをそれぞれ定義可能です。

 

③部品化
複数機能で共通の処理を行う場合、当該処理を部品化して各プログラムから呼び出すことができます。
(汎用モジュール、インクルードなど)

・汎用モジュール
月末・月初日の計算、ファイルの入出力など、共通で使用できる単一機能を切り出したものです。
レポートプログラムから実行に必要なパラメータを受け渡して呼び出すことで使用します。
SAP標準が用意しているものもありますが、新規に作成(Add-on)することも可能です。

・インクルード
単体では実行できないプログラムであり、複数の小規模な機能を纏めたものです。
使用する場合は、レポートプログラム上で呼び出すインクルードを定義した上で
インクルード内の使用したい機能を指定して呼び出して使用します。

 

さいごに
ABAPで開発するうえで注意したいのは日本語のヘルプが多くない事です。
ですが、英語が出来なくても翻訳するなどの方法もあるので要らない心配かも知れません。

 

他にもSAP記事を公開しております。ぜひご覧ください。

media.zenet-web.co.jp