Fonctionnalités de gestion des données > Gestion de structures d'article > Fonctionnalités des Options et variantes Windchill > Gestion de données pour les Options et variantes — Référence > Chargement de données pour les Options et variantes > Expressions sur les liens de cas d'emploi et sur les occurrences
  
Expressions sur les liens de cas d'emploi et sur les occurrences
Pour charger des expressions sur les occurrences, vous devez vous assurer de l'existence de l'article configurable et de l'article parent dans le système. Si l'article configurable et les articles parents doivent également être chargés, respectez l'ordre suivant :
Chargez l'article configurable avec les liens de cas d'emploi et les occurrences.
Chargez les expressions sur les liens de cas d'emploi, le cas échéant.
Chargez l'expression affectée à l'occurrence.
* 
Si vous devez charger des expressions sur les liens de cas d'emploi et sur les occurrences, respectez cet ordre.
Pour charger une occurrence, ajoutez une instruction relative au chargement des structures configurables dans le fichier de chargement, comme représenté ci-après.
<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>
Si vous souhaitez affecter une expression à un lien de cas d'emploi, faites-le juste après le bloc <csvBeginOccurrencedAssemblyAdd>, sans définir le repère topologique. L'exemple suivant représente l'affectation d'une expression de base à un lien de cas d'emploi.
<csvChoiceMappableChoiceLink handler="com.ptc.windchill.option.load.Loader.createChoiceMappableChoiceLin">
<csvchoiceName>8GB </csvchoiceName>
<csvInstanceValue/>
<csvExclude/>
</csvChoiceMappableChoiceLink
L'exemple suivant représente le chargement d'une expression de base affectée à une occurrence :
<!-- 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'exemple suivant représente le chargement d'une expression avancée affectée à une occurrence :
<!-- 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"/>
* 
Si vous devez uniquement charger un lien de cas d'emploi et lui affecter une expression, nous vous recommandons d'utiliser <csvAssemblyAdd>.
Voici un exemple de chargement de lien de cas d'emploi et d'affectation d'une expression de base à ce dernier, sous réserve que vous disposez déjà de l'article et de l'article enfant définis :
<csvAssemblyAdd handler="wt.part.LoadPart.addPartToAssembly">
<csvassemblyPartNumber>A00001</csvassemblyPartNumber>
<csvconstituentPartNumber>A00002</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"/>