リポジトリの構造

リポジトリ情報システムには、プログラム、データベーステーブルの定義、共通データ型の定義などのすべての開発オブジェクトが含まれます。 このため、開発オブジェクトはリポジトリオブジェクトとも呼ばれます。 リポジトリオブジェクトはクライアントには依存しません。そのため、すべてのクライアントで照会と利用が可能です。

リポジトリに格納される全ての開発オブジェクトは、アプリケーションコンポーネント→パッケージ→開発オブジェクトというカテゴリ構造で管理されます。

アプリケーションコンポーネントはアプリケーション階層にツリー構造で表示されます。SE81でアプリケーション階層を照会することができます。

上記の図から馴染みのSDやMMなどのアプリケーションコンポーネント名称を読み取ることができます。アプリケーションコンポーネントは公式名称ですが、実際には別名の「モジュール」のほうがよく使用されています。

パッケージはリポジトリオブジェクトをカテゴリ化で管理できるようにする仕組みです。SE21(パッケージビルダ)でパッケージを照会又は定義することができます。 パッケージとは、意味的に関連する開発オブジェクトのコンテナであり、以前の開発クラスにかわったものです。1つのパッケージに、異なる開発オブジェクト(プログラム、テーブル、Dynpro、汎用モジュール、クラスなど)を含めることができます。。パッケージの特徴は、プロパティのネスト、インタフェース、可視性、およびアクセス管理にあります。。 パッケージはパッケージビルダ(トランザクションSPAK)を使用して作成および管理される。また、オブジェクト変更の記録と移送は、パッケージへの割当を使用する移送/修正システム(CTS)によっても管理されます。 以下の図でパッケージMBを例として取り上げます。

リポジトリオブジェクトはSE84(リポジトリ情報システム)で検索できます。

リポジトリオブジェクトの分類

リポジトリオブジェクトは主に以下のような大分類があります。

  • ビジネスオブジェクト
  • ABAPディクショナリ
  • プログラム
  • クラス
  • WebDynpro

オブジェクトディレクトリ

オブジェクトディレクトリは、全てのリポジトリオブジェクトに基本属性情報を管理します。

リポジトリ情報システムに格納される各リポジトリオブジェクトはその種類の抜粋を下記の表で示します。

カテゴリ完全オブジェクトサブオブジェクト
総合DEVC(パッケージ)-
ABAPディクショナリTABL(テーブル)TABD(テーブル定義)
TABT(テーブルの技術属性)
TTYD(テーブルデータ型定義)
TTYX(テーブルデータ型定義のテキスト)
INDX(テーブル索引)
TABU(テーブル内容)-
VIEW(ビュー)VIED(ビュー定義)
VIET(ビュー技術属性)
DTEL(データエレメント)DTED(データエレメント定義)
DOMA(ドメイン)DOMD(ドメイン定義)
SHLP(検索ヘルプ)-
ENQU(ロックオブジェクト)ENQD(ロックオブジェクト定義)
プログラムPROG(プログラム)REPS(レポートソースプログラム)
REPT(レポートテキスト)
VARI(レポートプログラムのシステムバリアント)
VARX(レポートプログラムのアプリケーションバリアント)
FUGR(汎用グループ)FUGT(汎用グループテキスト)
FUNC(汎用モジュール)
CLAS(クラス)CLSD(クラス定義)
CINC(クラスインクルード)
CPRI(クラスプライベットヘッダ)
CPRO(クラス保護ヘッダ)
CPUB(クラスパブリックヘッダ)
METH(メソッド)
INTF(インタフェース)INTD(インタフェース)
STVI(トランザクションバリアント)-
SCVI(画面バリアント)-
ENHC(複合拡張実装)-
ENHO(拡張実装)-
ENHS(拡張スポット)-
WDYN(WebDynproコンポネント)WDYC(コントローラ)
WDYD(定義)
WDYV(ビュー)