추가 Windchill 기능 > 서비스 정보 관리 > Customizing Windchill Service Information Manager and Windchill Service Parts(Windchill Service Information Manager 및 Windchill Service Parts 사용자 정의) > 서비스 유효성 사용자 정의 개요 > 서비스 유효성 사용자 정의
  
서비스 유효성 사용자 정의
다음 절차를 따라 적용 가능성 관리 대화 상자의 유형 드롭다운 메뉴 및 필터 편집 대화 상자의 서비스 유효성 탭에 표시되는 목록에 서비스 유효성 객체의 사용자 정의 유형과 속성을 추가합니다.
1. 구성 파일을 참조하십시오.
codebase/com/ptc/arbortext/windchill/serviceEffectivityFilter
/server/serviceEffectivityConfig.xml
이 파일은 서비스 유효성 설정 및 필터링에 대한 유형 메뉴에서 선택할 수 있는 객체 목록과 일치하는 속성 목록을 정의합니다.
* 
이 파일을 편집하기 전에 사용자 정의 가능한 파일에 대한 Safe Area에 파일을 추가하여 이후 업그레이드/설치 중에 파일을 덮어쓰지 않도록 해야 합니다.
2. 포함할 속성의 내부 이름은 유형 및 속성 관리 유틸리티를 참조하십시오. 이 유틸리티에서 새 사용자 정의 속성을 작성해야 합니다. 자세한 내용은 유형 및 속성 관리 유틸리티 작업을 참조하십시오.
3. serviceEffectivityConfig.xml에서 ServiceEffectivtyType 엔트리를 아래 표시된 형식으로 작성하여 속성을 선언합니다.
<ServiceEffectivityType name="seLotNumber" renderer="com.ptc.arbortext.windchill.serviceEffectivityFilter.client.ui.
renderers.configTypes.DefaultCustomConfigType" effectivityType="com.ptc.arbortext.windchill.siscore.serviceeff.
ServiceEffectivity"/>
다음은 이 예의 매개변수에 대한 설명입니다.
name은 서비스 유효성 속성의 내부 이름입니다. 이 이름은 유형 및 속성 관리에 정의된 속성의 내부 이름과 일치해야 합니다.
renderer는 유형에 대해 표시할 필드와 UI에서 해당 필드를 처리하는 방법을 결정하는 Java 클래스입니다. 기본적으로 일반 DefaultCustomConfigType입니다. 이 렌더러는 단순 디스플레이 즉, 속성의 디스플레이 이름과 Value 텍스트 필드를 생성합니다.
사용자 정의 렌더러를 작성하여 ServiceEffectivityConfigType을 구현하고 이 속성 아래에 선언할 수 있습니다.
또한 이 렌더러는 사용자 정의 속성을 JSON 객체 내의 필터에 전달하는 방법을 결정합니다.
속성에 대한 사용자 정의 데이터 엔트리 필드 작성에 대한 자세한 내용은 사용자 정의 서비스 유효성 구성 패널 작성 항목을 참조하십시오.
effectivityType은 사용자 정의 속성이 작성된 서비스 유효성 유형(객체)의 내부 이름입니다. ServiceEffectivity의 하위 유형일 수 있습니다. 이 이름은 유형 및 속성 관리에 정의된 유형의 내부 이름과 일치해야 합니다.
4. 다시 serviceEffectivityConfig.xml에서 구조 루트 노드의 객체 유형 컨텍스트의 속성에 대한 엔트리를 작성합니다(예: WTPart). 이 엔트리는 관련 객체에 대한 유형 드롭다운에 속성을 표시하는 데 필요합니다.
관련 ServiceEffectivityInstance 요소에 대한 csvalid 엔트리를 아래 표시된 형식으로 작성합니다.
<csvalid serviceeffectivitytype="seLotNumber"/>
다음은 WTPart에 대한 전체 ServiceEffectivityInstance 엔트리의 예입니다.
<ServiceEffectivityInstance objectType="wt.part.WTPart,wt.part.WTPartMaster,wt.part.alternaterep.WTPartAlternateRep"
objectMaster="wt.part.WTPartMaster">
<csvalid serviceeffectivitytype="serialNumber"/>
<csvalid serviceeffectivitytype="date"/>
<csvalid serviceeffectivitytype="seLotNumber"/>
</ServiceEffectivityInstance>
여기서 serialNumberdate는 파일에 대한 기본 엔트리고, seLotNumber는 사용자 정의 속성입니다.
* 
이 파일의 csvalid 엔트리 순서에 따라 드롭다운 메뉴의 유형 순서가 결정됩니다.
5. Setting Up a Directory Structure for Managing Customized Files and Text Tailoring에서 설명한 규약에 따라 변경 사항을 serviceEffectivityConfig.xml에 저장합니다.
서비스 유효성을 필터링할 때 사용자 정의 속성을 효율적으로 사용하려면 사용자 정의 필터 위임을 작성하여 필터 객체와 서비스 유효성 객체 사이의 비교를 처리합니다. 자세한 내용은 사용자 정의 필터 위임 작성을 참조하십시오.
사용자 정의 서비스 유효성 속성에 대한 사용자 정의 필터 위임 작성
Windchill은 필터링할 때 서비스 유효성 속성 처리를 위한 위임을 제공합니다(줄 바꿈 무시).
com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.
DefaultServiceEffectivityDelegate
Windchill에서 서비스 등록 정보를 사용하여 이 위임을 무시하고 사용자 정의 위임을 제공할 수 있습니다.
1. 등록 정보에 대한 적절한 새 값을 포함하는 XCONF 파일을 작성합니다.
com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.
DefaultServiceEffectivityDelegate
다음 XML 문서는 필터링할 때 서비스 유효성 객체를 처리하는 XCONF 명령입니다.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE Configuration
SYSTEM "xconf.dtd">
<Configuration targetFile="codebase/typedservices.properties">
<Service context="default" name="com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivityFilterFactory">
<Option requestor="WCTYPE|com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivity"
serviceClass="com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.DefaultServiceEffectivityDelegate"/>
</Service>
<Service context="default" name="wt.filter.NavigationFilterDelegate2">
<Option cardinality="singleton" requestor="null"
serviceClass="com.ptc.arbortext.windchill.siscore.serviceeff.filterDelegates.DefaultServiceEffectivityDelegate"
selector="com.ptc.arbortext.windchill.siscore.serviceeff.ServiceEffectivityFilter"/>
</Service>
</Configuration>
새 사용자 정의 위임을 반영하도록 serviceClass 속성 아래에서 DefaultServiceEffectivityDelegate 참조를 변경합니다.
xconfmanager 유틸리티 사용에 대한 자세한 내용은 Using the xconfmanager Utility를 참조하십시오.
2. xconfmanager 유틸리티를 사용하여 Windchill 서비스 등록 정보를 업데이트합니다. 다음 명령은 새 파일과 해당 컨텐트를 등록합니다.
xconfmanager -i codebase/custom/myServiceXconfFile.properties.xconf -p