SAPのオブジェクト/ドメイン の変更点
Top > SAPのオブジェクト > ドメイン
- 追加された行はこの色です。
- 削除された行はこの色です。
- SAPのオブジェクト/ドメイン へ行く。
SAPの項目定義において根本となる要素であり、日本語で言うと「定義域」。
* 概要 [#yd7e2932]
定義域という名の通り、''その項目が取りうる値の範囲''を定義することにより、定義域外の値の入力を抑制する。
例えば数値型で定義すれば0〜9以外の値、例えばA〜Zなどの値を排除することができるし、4ケタで定義すれば3桁や5桁の値を排除することができる。((キャストされることはあっても))
これは、システムというのは何らかの制約や前提があることが大前提であるため、「そこにブレが出ないようにすること」ということが極めて重要であること、また、例えばドメインの設定を変更した場合には参照しているプログラムをひとつひとつ変更しなくて済むことなどが挙げられる。
** 定義域について [#t9fc71df]
-切り口
--定義長
例えば、''得意先コード''を表すドメイン:KUNNRは色々な[[テーブル>SAPのオブジェクト/テーブル]]の項目として使用されているが、全て定義長は10である。
--小数点以下桁数
これを統一しておかないと、丸め誤差なんかが山程起きる。しかも追いかけづらい。
--[[変換Exit>SAPの拡張手段#db0b6f99]]
[[数量単位>ロジスティクス共通/数量単位]]が良い例だが、EDI等ではこれを使ってルールが統一されていないと地獄かと思う。
--[[ドメイン値>SAPのオブジェクト/ドメイン値]]
YesとNoやTrueとFalseなどが代表的。一番これが定義域らしいといえばらしい。
** 定義域を定めないと、どうなる?
簡単に言うと、''正体不明のフラグやカテゴリが次々と増加する。''
マインドが腐った[[ABAPer>プロジェクト/ABAPer]]は、基本的に自分が組むプログラムのことしか考えていないため、分岐や判定に「オレ流」を数多く使いたがる。((彼らは、自分で決めた自分のルールでないと理解・解釈できない))
ブランクとXのように単純なものであれば多少は目を瞑ることができても、そこそこあって且つ定数かしていない場合などは、ソースを全て追いかけないとバグが解消しなかったり不安が払拭できない・・・なんてことになりかねない。
** 他のメリット [#p91204b8]
ドメインに何らか変更を加える場合、個別に定義すると全ての[[テーブル>SAPのオブジェクト/テーブル]]を変更する必要があるが、ドメインを定義し、[[データエレメント>SAPのオブジェクト/データエレメント]]を経由し、割り当てることで、抜け漏れなく一括変更が可能となる。
また、源泉を同一とすることで、影響範囲の検索や分析が容易になったり、果ては[[翻訳>SAPの共通用語/翻訳]]を共有できることなど、メリットは多大である。
~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)