セクション 2 / 11

ABAP開発環境

SE80とADT(Eclipse)という2つの開発環境、パッケージとトランスポートの仕組み、名前空間のルールを解説します。

目次を開く

ABAP開発には、SAP GUI上で動く従来型の環境と、Eclipseベースの新しい環境の2つがあります。どちらを使うかは、対象のシステムと開発する内容によって決まります。

2つの開発環境

開発環境の比較
観点SAP GUI(SE80など)ADT(Eclipse)
動作環境SAP GUI内Eclipseプラグイン
エディタABAPエディタモダンなコードエディタ
補完・リファクタリング限定的充実している
画面(Dynpro)開発可能不可(GUIが必要)
CDSビュー開発不可必須
複数システムの同時操作困難容易
対象ECC、S/4HANAオンプレミスS/4HANA、BTP、Cloud

新しい技術(CDSビュー、RAP、ABAP Cloud)はADTでしか開発できません。一方、従来型のDynpro画面はSAP GUIでしか作れません。実務では両方を使い分けることになります。

主要なトランザクション

Tコード用途
SE38ABAPエディタ(プログラムの作成・編集・実行)
SE80オブジェクトナビゲータ(統合開発環境)
SE11データディクショナリ(テーブル、データ要素の定義)
SE37関数ビルダ(関数モジュールの作成)
SE24クラスビルダ(グローバルクラスの作成)
SE41メニューペインタ(画面のメニュー定義)
SE51スクリーンペインタ(Dynpro画面の作成)
SE93トランザクションコードの定義
SE09 / SE10トランスポートオーガナイザ
SE16Nテーブルの内容表示

パッケージ

パッケージ(旧称:開発クラス)は、開発オブジェクトをまとめる単位です。すべての開発物は、いずれかのパッケージに属します。

パッケージは単なるフォルダではありません。トランスポート層と紐づいており、そのパッケージに属するオブジェクトがどのシステムへ移送されるかを決めます。

パッケージ意味
$TMPローカルオブジェクト。移送されない。一時的な検証用
Z*/Y*顧客が作成する通常のパッケージ。移送対象
それ以外SAP標準のパッケージ

トランスポート

開発したものを開発機から品質保証機、本番機へ移す仕組みがトランスポートです。ABAPでは、オブジェクトを変更すると自動的にトランスポート要求への登録が求められます。

トランスポート要求の種類
種類内容
ワークベンチ要求プログラム、テーブル定義など開発オブジェクト
カスタマイジング要求IMGで設定した内容。クライアント依存

トランスポート要求は、要求(Request)とタスク(Task)の2階層です。要求が移送の単位で、タスクは開発者ごとの作業単位です。開発者が自分のタスクをリリースし、すべてのタスクがリリースされてはじめて、要求をリリースできます。

名前空間

顧客が作成するオブジェクトの名前は、ZまたはYで始めるという規約があります。これはSAPが提供するオブジェクトとの衝突を防ぐためです。

SAPが将来リリースするオブジェクトがZやYで始まることはありません。したがって、この規約を守っている限り、バージョンアップで名前が衝突することはありません。

接頭辞意味
Z顧客開発(最も一般的)
Y顧客開発(Zとの使い分けは組織による)
/名前空間/SAPに登録した専用名前空間。パートナー企業などが使用

大規模な組織では、Zの後にさらに接頭辞を付ける命名規約を設けることが多くあります。「ZFI_」「ZMM_」のようにモジュールを示す、あるいは「ZR_」でレポート、「ZI_」でインタフェースを示す、といった規約です。

📖 わからない用語は SAP用語辞典 で調べられます。

理解度チェック

このセクションの内容を確認しましょう。

確認問題 1

ABAPワークベンチのトランザクションコードはどれか。

確認問題 2

ファンクションモジュールを開発するためのトランザクションコードはどれか。

確認問題 3

ABAP Development Tools(ADT)はEclipse上で動作する開発環境である。

確認問題 4

ABAPクラスを開発するためのトランザクションコードはどれか。

確認問題 5

SE38はデータディクショナリのトランザクションコードである。

確認問題 6

S/4HANAの開発で推奨される開発環境はどれか。