데이터 관리 기능 > 부품 구조 관리 > Windchill 옵션 및 변형 기능 > 옵션 및 변형에 대한 데이터 관리 - 참조 > 옵션 및 변형에 대한 데이터 로드 > 사용 링크 및 발생의 표현식
  
사용 링크 및 발생의 표현식
발생에 표현식을 로드하려면 구성 가능 부품과 하위 부품이 시스템에 존재하는지 확인해야 합니다. 구성 가능 부품과 하위 부품도 로드해야 하는 경우 다음 순서를 따르십시오.
사용 링크와 발생으로 구성 가능 부품을 로드합니다.
있는 경우 사용 링크에 표현식을 로드합니다.
발생에 지정된 표현식을 로드합니다.
* 
사용 링크와 발생 모두에 표현식을 로드해야 하는 경우 사용 링크에 표현식을 로드한 다음 발생에 표현식을 로드해야 합니다.
발생을 로드하려면 다음에 표시된 대로 구성 가능 구조를 로드하기 위해 로드 파일에 문을 포함합니다.
<csvBeginOccurrencedAssemblyAdd handler="wt.part.LoadPart.beginOccurrencedAssemblyAdd">
<csvassemblyPartNumber>CONFIGURABLE_PART_NUMBER</csvassemblyPartNumber>
<csvassemblyPartVersion/>
<csvconstituentPartNumber>CHILD_PART_NUMBER</csvconstituentPartNumber>
<csvconstituentPartQty>QUANTITY</csvconstituentPartQty>
<csvconstituentPartUnit>UNIT</csvconstituentPartUnit>
<csvlineNumber/>
<csvfindNumber/>
<csvoccurrenceLocation>LOCATION</csvoccurrenceLocation>
<csvreferenceDesignator>OCCURRENCE</csvreferenceDesignator>
<csvassemblyPartIteration/>
<csvassemblyPartView>VIEW</csvassemblyPartView>
<csvorganizationName/>
<csvorganizationID/>
</csvBeginOccurrencedAssemblyAdd>
표현식을 사용 링크에 지정하려면 참조 지정자를 지정하지 않고 <csvBeginOccurrencedAssemblyAdd>를 차단한 즉시 이를 수행해야 합니다. 다음 예에서는 사용 링크에 기본 표현식을 지정하는 방법을 보여 줍니다.
<csvChoiceMappableChoiceLink handler="com.ptc.windchill.option.load.Loader.createChoiceMappableChoiceLin">
<csvchoiceName>8GB </csvchoiceName>
<csvInstanceValue/>
<csvExclude/>
</csvChoiceMappableChoiceLink
다음 예에서는 발생에 지정된 기본 표현식을 로드하는 방법을 보여 줍니다.
<!-- Add Basic Expression to OCCURRENCE-2 -->
<csvBeginAssignBasicExpression handler="com.ptc.windchill.option.load.Loader.beginAssignBasicExpression">
<csvoptionSet>Has Optionality</csvoptionSet>
<csvreferenceDesignator>OCCURRENCE-2</csvreferenceDesignator>
</csvBeginAssignBasicExpression>
<csvAddBasicExpressionMember handler="com.ptc.windchill.option.load.Loader.addBasicExpressionMember">
<csvchoiceName>8-MP</csvchoiceName>
<csvInstanceValue/>
<csvExclude/>
</csvAddBasicExpressionMember>
<csvEndAssignBasicExpression handler="com.ptc.windchill.option.load.Loader.endAssignBasicExpression"/>
다음 예에서는 발생에 고급 표현식을 로드하는 방법을 보여 줍니다.
<!-- OCCURRENCE-1에 고급 표현식 추가 -->
   <csvBeginAssignExpression handler="com.ptc.windchill.option.load.Loader.beginAssignExpression">
       <csvexpression>EXP1 OR EXP2</csvexpression>
       <csvreferenceDesignator>OCCURRENCE-1</csvreferenceDesignator>
   </csvBeginAssignExpression>
   <csvAddLogicalExpression handler="com.ptc.windchill.option.load.Loader.addLogicalExpression">
        <csvnumber>EXP1</csvnumber>
       <csvexpression>"8-MP" AND "8GB"</csvexpression>
       <csvdescription></csvdescription>
   </csvAddLogicalExpression>
   <csvAddLogicalExpressionMember handler="com.ptc.windchill.option.load.Loader.addLogicalExpressionMember">
       <csvmemberName>8-MP</csvmemberName>
       <csvmemberNumber/>
       <csvmemberClass>com.ptc.windchill.option.model.ChoiceMaster</csvmemberClass>
        <csvcontainerPath>/wt.inf.container.OrgContainer=Demo Organization/wt.pdmlink.PDMLinkProduct=AssignOptionalityTestData</csvcontainerPath>
   </csvAddLogicalExpressionMember>
   <csvAddLogicalExpressionMember handler="com.ptc.windchill.option.load.Loader.addLogicalExpressionMember">
       <csvmemberName>8GB</csvmemberName>
       <csvmemberNumber/>
       <csvmemberClass>com.ptc.windchill.option.model.ChoiceMaster</csvmemberClass>
        <csvcontainerPath>/wt.inf.container.OrgContainer=Demo Organization/wt.pdmlink.PDMLinkProduct=AssignOptionalityTestData</csvcontainerPath>
   </csvAddLogicalExpressionMember>
   <csvEndLogicalExpression handler="com.ptc.windchill.option.load.Loader.endLogicalExpression"/>
   <csvAddLogicalExpression handler="com.ptc.windchill.option.load.Loader.addLogicalExpression">
        <csvnumber>EXP2</csvnumber>
       <csvexpression>"6-MP" AND "16GB"</csvexpression>
       <csvdescription></csvdescription>
   </csvAddLogicalExpression>
   <csvAddLogicalExpressionMember handler="com.ptc.windchill.option.load.Loader.addLogicalExpressionMember">
       <csvmemberName>6-MP</csvmemberName>
       <csvmemberNumber/>
       <csvmemberClass>com.ptc.windchill.option.model.ChoiceMaster</csvmemberClass>
        <csvcontainerPath>/wt.inf.container.OrgContainer=Demo Organization/wt.pdmlink.PDMLinkProduct=AssignOptionalityTestData</csvcontainerPath>
   </csvAddLogicalExpressionMember>
   <csvAddLogicalExpressionMember handler="com.ptc.windchill.option.load.Loader.addLogicalExpressionMember">
       <csvmemberName>16GB</csvmemberName>
       <csvmemberNumber/>
       <csvmemberClass>com.ptc.windchill.option.model.ChoiceMaster</csvmemberClass>
        <csvcontainerPath>/wt.inf.container.OrgContainer=Demo Organization/wt.pdmlink.PDMLinkProduct=AssignOptionalityTestData</csvcontainerPath>
   </csvAddLogicalExpressionMember>
   <csvEndLogicalExpression handler="com.ptc.windchill.option.load.Loader.endLogicalExpression"/>
   <csvEndAssignExpression handler="com.ptc.windchill.option.load.Loader.endAssignExpression"/>
* 
사용 링크만 로드하여 해당 링크에 표현식을 지정해야 하는 경우 <csvAssemblyAdd>를 사용하는 것이 좋습니다.
다음은 구성 가능 부품과 하위 부품이 이미 정의된 경우 사용 링크를 로드하고 해당 링크에 기본 표현식을 지정하는 예입니다.
<csvAssemblyAdd handler="wt.part.LoadPart.addPartToAssembly">
<csvassemblyPartNumber>P00001</csvassemblyPartNumber>
<csvconstituentPartNumber>P00002</csvconstituentPartNumber>
<csvconstituentPartQty>1</csvconstituentPartQty>
<csvconstituentPartUnit>ea</csvconstituentPartUnit>
<csvassemblyPartVersion/>
<csvassemblyPartIteration/>
<csvassemblyPartView>Design</csvassemblyPartView>
</csvAssemblyAdd>
<!-- 사용 링크에 기본 표현식 추가 -->
<csvBeginAssignBasicExpression handler="com.ptc.windchill.option.load.Loader.beginAssignBasicExpression">
<csvoptionSet>Has Optionality</csvoptionSet>
</csvBeginAssignBasicExpression>
<csvAddBasicExpressionMember handler="com.ptc.windchill.option.load.Loader.addBasicExpressionMember">
<csvchoiceName>8GB</csvchoiceName>
<csvInstanceValue/>
<csvExclude/>
</csvAddBasicExpressionMember>
<csvEndAssignBasicExpression handler="com.ptc.windchill.option.load.Loader.endAssignBasicExpression"/>