特殊な管理 > ビジネスオブジェクトの調整 > タイプおよび属性の管理 > タイプおよび属性の管理ユーティリティの使用 > タイプの管理 > タイプの情報ページ > 「カスケード属性」タブ > カスケード属性規則の例
  
カスケード属性規則の例
以下の例では、値が制限された単純な属性データセットが使用されています。
* 
このシナリオに従って、すべてのカスケード属性規則を作成してください。
Region タイプに Country、State、City の 3 つの属性があるとします。次の表に示すような、Country 属性の値によって State 属性に使用可能な値を駆動し、State 属性の値によって City 属性に使用可能な値を駆動する、カスケード属性規則のセットを作成するとします。
Country
State
City
USA
Arizona
Avondale
Bisbee
Douglas
Colorado
Alamosa
Denver
Westminster
Florida
Atlantis
Jacksonville
Miami
Australia
New South Wales
Albury
Sydney
Wollongong
India
Gujarat
Ahmedabad
Rajkot
Surat
次のことを前提とします。
Region タイプに Country、State、City の各属性が存在する。
各属性に必要な値が指定されたグローバル列挙が作成されている。
既存のグローバル列挙を使用して、各属性に 1 つの有効な列挙値リスト制約が作成されている。
詳細については、列挙とカスケード属性規則を参照してください。
最初に、カスケード属性ツリーの 1 つ目のレベルにカスケード属性規則を作成します (Country -> State)。
If Country = USA, then State = Arizona, Colorado, Florida
If Country = Australia, then State = New South Wales
If Country = India, then State = Gujarat
次に、カスケード属性ツリーの 2 つ目のレベルを表す規則を作成します (Country -> State -> City)。
If Country = USA, and if State = Arizona, then City = Avondale, Bisbee, Douglas
If Country = USA, and if State = Colorado, then City = Alamosa, Denver, Westminster
If Country = Australia and if State = New South Wales, then City = Albury, Sydney, Wollongong
If Country = India and if State = Gujarat, then City = Ahmedabad, Surat, Rajkot
被駆動属性を非表示にする規則を作成できます。たとえば、シンガポールは主権都市国家であり、州や市はありません。
この場合、If Country = Singapore, then State = Is hidden という規則を作成できます。この規則が満たされた場合、エンドユーザーのユーザーインタフェースに State 属性は表示されません。
被駆動属性に値を必ず割り当ててもらう規則を作成することもできます。たとえば、シンガポールには州や市がないので、さらに詳細な位置情報を得るために郵便番号の値を必ず入力してもらうことができます。
この場合、If Country = Singapore, then Zip Code = Is required という規則を作成できます。この規則が満たされた場合、エンドユーザーのユーザーインタフェースで郵便番号属性の値を必ず入力する必要があります。
規則で属性を非表示または必須にする設定については、新規カスケード属性規則の作成を参照してください。
* 
ツリーの 1 つ目のレベルを表す規則は必ず作成する必要があります。これは、属性セットレポートが属性セットに関連する属性に定義されているカスケード属性規則と制約の論理積を調べることによって生成されるからです。これらの規則を作成しなければ、State の特定の値が Country の特定の値によって拘束されることをレポートが認識できません。
たとえば、規則 "If Country = USA, then State = Arizona, Colorado, Florida" を作成しなければ、State のすべての値が Country のすべての値に対して有効であると見なされます。これは、規則 "If Country = USA, and if State = Arizona, then City = Avondale, Bisbee, Douglas" が存在していても当てはまります。これは、この規則が、City の値 "Avondale"、"Bisbee"、および "Douglas" がどのような場合に選択可能であるかを指定するに過ぎないからです。この規則は、State の "Arizona" 値がどのような場合に選択可能であるかは指定しません。
詳細については、属性セットレポートを参照してください。
* 
オブジェクト編集 UI での動作:
以下の 2 つの規則が定義されているものとします。
If Country = USA, and if State = Arizona, then City = Avondale, Bisbee, Douglas
If Country = USA, and if State = Colorado, then City = Alamosa, Denver, Westminster
Country = USA、State = Arizona、City = Avondale のオブジェクトがすでに作成されており、値を Country = USA、State = Colorado、City =Denver に更新するとします
Country = USA、State = Colorado のこのオブジェクトを編集する場合、City 属性のドロップダウンリストには Alamosa、Denver、Westminster、Avondale が表示されます。現在の値はドロップダウンリストに必ず表示されるので、これは正常な動作です。ただし、Avondale を選択した場合、新規規則に合致しないので、エラーが返されます。ここで、値 Avondale は表示専用です。