Funzionalità per la gestione dei dati > Gestione di strutture di parti > Funzionalità Options and Variants di Windchill > Gestione dei dati per Options and Variants - Riferimento > Caricamento dei dati per Options and Variants > Espressioni in link di utilizzo e casi d'impiego
  
Espressioni in link di utilizzo e casi d'impiego
Per caricare le espressioni in casi d'impiego, è necessario verificare che la parte configurabile e la parte figlio siano presenti nel sistema. Se è necessario caricare la parte configurabile e le parti figlio, attenersi all'ordine riportato di seguito.
Caricare la parte configurabile con i link di utilizzo e i casi d'impiego.
Caricare le espressioni nei link di utilizzo, se presenti.
Caricare l'espressione assegnata al caso d'impiego.
* 
Se è necessario caricare le espressioni sia nei link di utilizzo che nei casi d'impiego, il caricamento delle espressioni nei casi d'impiego deve essere successivo al caricamento delle espressioni nei link di utilizzo.
Per caricare un caso d'impiego, includere un'istruzione nel file di caricamento per caricare le strutture configurabili, come mostrato di seguito.
<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>
Se si desidera assegnare un'espressione a un link di utilizzo, è necessario farlo subito dopo il blocco <csvBeginOccurrencedAssemblyAdd>, senza specificare l'indicatore di riferimento. L'esempio riportato di seguito illustra la modalità di assegnazione di un'espressione di base al link di utilizzo.
<csvChoiceMappableChoiceLink handler="com.ptc.windchill.option.load.Loader.createChoiceMappableChoiceLin">
<csvchoiceName>8GB </csvchoiceName>
<csvInstanceValue/>
<csvExclude/>
</csvChoiceMappableChoiceLink
L'esempio riportato di seguito illustra la modalità di caricamento di un'espressione in un caso d'impiego.
<!-- 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"/>
L'esempio riportato di seguito illustra la modalità di caricamento di un'espressione avanzata in un caso d'impiego.
<!-- Add Advanced Expression to 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"/>
* 
Se si deve soltanto caricare un link di utilizzo e assegnare ad esso un'espressione, si consiglia di utilizzare <csvAssemblyAdd>.
Di seguito viene riportato un esempio di caricamento di un link di utilizzo e dell'assegnazione ad esso di un'espressione di base se si dispone già della definizione della parte configurabile e della parte figlio.
<csvAssemblyAdd handler="wt.part.LoadPart.addPartToAssembly">
<csvassemblyPartNumber>P00001</csvassemblyPartNumber>
<csvconstituentPartNumber>P00002</csvconstituentPartNumber>
<csvconstituentPartQty>1</csvconstituentPartQty>
<csvconstituentPartUnit>ea</csvconstituentPartUnit>
<csvassemblyPartVersion/>
<csvassemblyPartIteration/>
<csvassemblyPartView>Design</csvassemblyPartView>
</csvAssemblyAdd>
<!-- Add Basic Expression to Usage Link -->
<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"/>