【SAP】ドメインとは?初心者向けに1から解説

BASIS

SAP初心者の方が混乱しがちなドメインについて解説します。

ドメインは、データ型と項目長を定義する役割を担う概念で、ABAPディクショナリから登録されます。アドオンテーブルを作成する際などには、このドメインへの理解が必須となりますので、是非最後までご覧ください。

このページで学べる内容
  • ドメインとは?
  • データエレメントとの関係
  • ドメインのメリット
  • ドメインの登録方法

SAPエンジニアを目指す方であれば、知らないと恥ずかしい超基本知識です。人に説明できるレベルになるまで理解を深めておきましょう。

それでは、早速解説を始めます。

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

SAP:ドメインとは?

SAPのドメインとは、データエレメントのデータ型と項目長を決定する役割を担うものです。

データエレメントを簡単に説明するとテーブルの項目の意味属性を決めている情報のことで、テーブル項目のラベルの名前(SE16などで表示されます) などを決める役割を担います。

ちょっとわかりづらいですが、上記テーブルは項目 "MANDT" に対して、データエレメントは "MANDT" が指定されています。

データエレメントは意味属性とも呼ばれます。テーブルの項目の業務的な意味(利用目的)を定義するのがデータエレメントの役割で、例えば、「税込み額」とか「ユーザ名称」などの業務的な意味を与えます。

一方で、ドメインはデータエレメントの技術属性を定義します。つまり、データ型と項目長、そして取りうる値の範囲です。

「税込み額」を表すデータエレメントはこのドメインを参照することで、数値型・13桁という技術属性を取得するわけです。

このドメインを1つ定義しておけば、複数のデータエレメントへの紐づけが可能なので、適切に設定を行うことで構造化されたデータ管理が可能となります。

データエレメントとドメイン

データエレメント
⇒意味属性(例/支払日・登録日・請求日
⇒ドメインを参照し技術属性を獲得する

ドメイン
技術属性(例/DATS型・8桁

ドメインの設定方法

それでは、ドメインの設定方法を見ていきましょう。

実際に登録する方法をしることで、よりドメインに対する理解が深まるはずです。

1:ABAPディクショナリ(SE11)

SAPメニュー > ツール > ABAPワークベンチ > 開発 > ABAPディクショナリ(SE11)

トランザクションコード:SE11を実行すると「ABAPディクショナリ」の画面が開きます。

「ドメイン」の項目に、登録したいドメイン名を入力して登録ボタンを押します。

ドメイン登録画面が開きます。

2:ドメイン定義

実際にドメインの詳細定義を行っていきます。

ドメイン定義:内容説明

ここはドメインの説明を適切に設定しておけばOK。

ドメイン定義:データ型

事前定義されたABAPのディクショナリデータ型を指定します。

ディクショナリデータ型とは、ABAPディクショナリの中でのみ利用できるデータ型です。

ディクショナリデータ型意味
ACCP会計期間 YYYYMM
CHAR文字列
CLNTクライアント
CUKY通貨コード(CURR項目による参照)
CURR通貨項目
DATS日付
DEC計算/金額項目
FLTP浮動小数点数
INT11 バイト整数
INT22 バイト整数
INT44 バイト整数
LANG言語
LCHR文字 (長)
LRAWバイト順序 (長)
NUMC数値テキスト
PREC精度
QUAN数量
RAWバイト順序
RAWSTRING可変長のバイト順序
STRING可変長の文字列
TIMS時刻 HHMMSS
UNIT単位

ドメイン定義:文字数

文字数(項目長)を決定します。

格納できるレコードの長さは、ここで指定した長さ以下に限定されます。大は小を兼ねる的な考えで長く設定していてもシステムとして動かないことはありませんが、思わぬエラーデータが入ってくる確率が高くなります。

3.値範囲定義

値範囲タブを選択します。

ここでは、そのドメイン情報を持つテーブル項目に格納できる値を制限する設定します。

上記のように指定値を設定しておけば、その値以外のレコードを保持できなくなります。

あとはこれで保存・有効化をするだけ。

ドメインについては以上です。

プロパティタブについて

プロパティタブには特に何も登録しなくてOK。システム的な情報(作成者名や作成日など)が自動的に登録されます。

ABAPを1から勉強したい方は

ABAPを1から学習したい初心者の方向けに、できるだけ網羅的にABAPが理解できるよう以下ページに知識体系を整理しています。

特に初心者のうちは、どこから学べばよいか?どう勉強すれば良いか?すらわからない状態になりがち。

ある程度の知識を持ったうえで、はじめて実践的な理解へとつながります。

是非、一度ご覧になってみてください。

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