いくつかのオプションのセットからの 1 つのオプションの選択
ユーザーの応答に基づいて、いくつかの可能なオプションのセットから 1 つのオプションを選択できます。ただし、オプションが多すぎて、1 つのケーステーブルでオプションごとにコラムを割り当てると、整理や管理が困難になることがあります。
たとえば、木製のテーブル天板には、Oak Veneer、Solid Oak、Solid Oak with Maple Trim、Maple Veneer、Solid Maple、Solid Maple with Oak Trim、Cherry Veneer、Solid Cherry、Solid Cherry with Maple Trim など、材料と仕上げの組み合わせが多数あります。
この情報を管理しやすくするため、追加するオプションのサブアセンブリを決定するブールパラメータにケーステーブルを接続する中間パラメータを導入できます。このアプローチでは、ユーザーのリクエストが入力パラメータに取り込まれ、有効なオプションのケーステーブルによって評価されます。ケーステーブルの結果 (出力) は単一のパラメータに取り込まれます。最後に、この中間パラメータを評価することによって各ブールの値が決まります。
いくつかのオプションのセットから 1 つのオプションを選択するには、次の操作を行います。
1. コンフィギュレーション可能モジュールを作成します。
2. 関連する仕上げオプションそれぞれに子部品を関連付けます。
3. コンフィギュレーション可能モジュールに文字列入力パラメータを追加します (例: askFinish)。
◦ この文字列パラメータに適切なプロンプト値を定義します。
◦ この文字列パラメータに、次の値から成るリスト制約を定義します。
▪ Oak Veneer
▪ Solid Oak
▪ Solid Oak with Maple Trim
4. ユーザーの応答を正しいサブアセンブリに対応付けるために使用する、pickFinish などの文字列非入力パラメータを定義します。このパラメータは、ケーステーブルとブールパラメータの間の中間パラメータとして機能します。
5. 関連する各オプションのコンフィギュレーション可能モジュールにブール非入力パラメータを追加します。以下に例を示します。
◦ useOakVeneer - オークベニヤ材を使用します。
◦ useSolidOak - オークソリッド材を使用します。
◦ useSolidOakMaple - カエデ材のトリムが付いたオークソリッド材を使用します。
6. 各ブールパラメータに中間パラメータを評価するデフォルト定義式を追加します。以下に例を示します。
◦ pickFinish.equals(“OakVeneer”) - オークベニヤのブール
◦ pickFinish.equals(“SolidOak”) - オークソリッドのブール
◦ pickFinish.equals(“SolidOakMaple”) - カエデ材のトリムが付いたオークソリッドのブール
7. このコンフィギュレーション可能モジュールの各オプションに対応する関連子部品の「挿入オプション」に、次のようなブールパラメータを設定します。
◦ useOakVeneer - オークベニヤ仕上げのサブアセンブリ
◦ useSolidOak - オークソリッド仕上げのサブアセンブリ
◦ useSolidOakMaple - カエデ材のトリムが付いたオークソリッド仕上げのサブアセンブリ
8. ユーザーの応答を中間パラメータの正しい値にマッピングするケーステーブル制約を設定します。たとえば、ケーステーブル制約 pickFinish について考えてみます。
askFinish
|
pickFinish
|
Oak Veneer
|
Oak Veneer
|
Solid Oak
|
Solid Oak
|
Solid Oak with Maple Trim
|
SolidOakMaple
|
Maple Veneer
|
Maple Veneer
|
Solid Maple
|
Solid Maple
|
Solid Maple with Oak Trim
|
SolidMapleOak
|
|
このアプローチが適切に機能するためには、ケーステーブルの pickFinish コラムのすべての値が一意である必要があります。
|
このアプローチでは、ユーザーが Oak Veneer などの特定の値を選択すると、ケーステーブルによって値 OakVeneer がパラメータ pickFinish に割り当てられます。ブールパラメータ useOakVeneer は、そのデフォルト定義式 {pickFinish.equals(“OakVeneer”)} を真として評価し、オークベニヤのサブアセンブリがバリエーション製品構造に追加されます。