トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

SAPのオブジェクト/ドメイン

Last-modified: 2014-06-26 (木) 11:03:00 (3585d)
Top > SAPのオブジェクト > ドメイン


SAPの項目定義において根本となる要素であり、日本語で言うと「定義域」。

概要

定義域という名の通り、その項目が取りうる値の範囲を定義することにより、定義域外の値の入力を抑制する。

例えば数値型で定義すれば0〜9以外の値、例えばA〜Zなどの値を排除することができるし、4ケタで定義すれば3桁や5桁の値を排除することができる。*1

これは、システムというのは何らかの制約や前提があることが大前提であるため、「そこにブレが出ないようにすること」ということが極めて重要であること、また、例えばドメインの設定を変更した場合には参照しているプログラムをひとつひとつ変更しなくて済むことなどが挙げられる。

定義域について

  • 切り口
    • 定義長
      例えば、得意先コードを表すドメイン:KUNNRは色々なテーブルの項目として使用されているが、全て定義長は10である。
    • 小数点以下桁数
      これを統一しておかないと、丸め誤差なんかが山程起きる。しかも追いかけづらい。
    • 変換Exit
      数量単位が良い例だが、EDI等ではこれを使ってルールが統一されていないと地獄かと思う。
    • ドメイン値
      YesとNoやTrueとFalseなどが代表的。一番これが定義域らしいといえばらしい。

定義域を定めないと、どうなる?

簡単に言うと、正体不明のフラグやカテゴリが次々と増加する。
マインドが腐ったABAPerは、基本的に自分が組むプログラムのことしか考えていないため、分岐や判定に「オレ流」を数多く使いたがる。*2
 ブランクとXのように単純なものであれば多少は目を瞑ることができても、そこそこあって且つ定数かしていない場合などは、ソースを全て追いかけないとバグが解消しなかったり不安が払拭できない・・・なんてことになりかねない。

他のメリット

ドメインに何らか変更を加える場合、個別に定義すると全てのテーブルを変更する必要があるが、ドメインを定義し、データエレメントを経由し、割り当てることで、抜け漏れなく一括変更が可能となる。
また、源泉を同一とすることで、影響範囲の検索や分析が容易になったり、果ては翻訳を共有できることなど、メリットは多大である。




【スポンサードリンク】
  





コメントはありません。 Comments/SAPのオブジェクト/ドメイン?

お名前: