데이터 관리 기능 > 부품 구조 관리 > 구성 가능 모듈에 대한 고급 선택 로직 개발 > 고급 선택 로직의 예제 및 모범 사례 > 구성 가능 모듈에 대한 옵션 선택 > 여러 옵션 세트에서 하나의 옵션 선택
  
여러 옵션 세트에서 하나의 옵션 선택
사용자의 응답에 따라 여러 가지 가능한 옵션 세트에서 단일 옵션을 선택할 수 있습니다. 그러나 옵션이 너무 많아 각 옵션에 대해 열이 할당된 단일 케이스 테이블을 구성하거나 유지하기 어려울 수 있습니다.
예를 들어, 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. 구성 가능 모듈을 생성합니다.
2. 각 관련 마감재 옵션에 대해 하위 부품을 첨부합니다.
3. 구성 가능 모듈에 문자열 입력 매개변수를 추가합니다(예: askFinish).
문자열 매개변수에 대해 적절한 프롬프트 값을 정의합니다.
다음 값을 사용하여 문자열 매개변수에 대한 목록 제약 조건을 정의합니다.
Oak Veneer
Solid Oak
Solid Oak with Maple Trim
4. 사용자의 응답을 올바른 서브어셈블리와 일치시키는 데 사용되는 문자열 비입력 매개변수를 정의합니다(예: pickFinish). 이 매개변수는 케이스 테이블과 부울 매개변수 사이의 중간 역할을 합니다.
5. 관련 옵션 각각에 대한 구성 가능 모듈에 부울 비입력 매개변수를 추가합니다. 예를 들면 다음과 같습니다.
useOakVeneer - oak veneer 재료의 사용을 나타냄
useSolidOak - solid oak 재료의 사용을 나타냄
useSolidOakMaple - solid oak with maple trim 재료의 사용을 나타냄
6. 중간 매개변수를 평가하는 각 부울 매개변수에 기본 표현식을 추가합니다. 예를 들면 다음과 같습니다.
pickFinish.equals(“OakVeneer”) - oak veneer 부울
pickFinish.equals(“SolidOak”) - solid oak 부울
pickFinish.equals(“SolidOakMaple”) - solid oak with maple trim 부울
7. 다음과 같이 각 옵션의 관련 하위 부품에 대한 이 구성 가능 모듈의 포함 옵션에 부울 매개변수를 추가합니다.
useOakVeneer - oak veneer 마감재 서브어셈블리
useSolidOak - solid oak 마감재 서브어셈블리
useSolidOakMaple - solid oak with maple trim 마감재 서브어셈블리
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와 같은 특정 값을 선택하면 케이스 테이블에서 매개변수 pickFinish에 값 OakVeneer를 할당합니다. 부울 매개변수 useOakVeneer는 기본 표현식 {pickFinish.equals(“OakVeneer”)}를 true로 평가하고 oak veneer 서브어셈블리가 파생 제품 구조에 포함됩니다.