2017-09-25 5 views
0

J'essaye d'imbriquer un conteneur forloop dans un autre. Je continue d'obtenir l'erreur que l'élément enfant n'est pas autorisé.BIML Nested For Conteneur de boucle

Comment imbriquer pour une boucle?

<ForLoop Name="For loop for Year"> 
 
        <PrecedenceConstraints> 
 
         <Inputs> 
 
          <Input OutputPathName="Find count of rows.Output" SsisName="No data exist" PathAnnotation="ConstraintName" EvaluationOperation="Expression" EvaluationValue="Success" Expression="@[User::CountRows]==0" /> 
 
         </Inputs> 
 
        </PrecedenceConstraints> 
 
        <InitializerExpression>@StartYear</InitializerExpression> 
 
        <LoopTestExpression><![CDATA[@StartYear <= @EndYear]]></LoopTestExpression> 
 
        <CountingExpression><![CDATA[@StartYear = @StartYear + 1]]></CountingExpression> 
 
         <ForLoop Name="For loop for Month"> 
 
          <InitializerExpression>@StartMonth</InitializerExpression> 
 
          <LoopTestExpression><![CDATA[@StartMonth <= @EndMonth]]></LoopTestExpression> 
 
          <CountingExpression>@StartMonth = @StartMonth + 1</CountingExpression> 
 
         </ForLoop> 
 
       </ForLoop>

Répondre

0

A ForLoop est un membre de la collection de tâches. Vous avez spécifié que votre ForLoop interne est membre du ForLoop externe. Au lieu de cela, il doit être membre de la collection de tâches de ForLoop externe.

Ainsi

<Biml xmlns="http://schemas.varigence.com/biml.xsd"> 
    <Packages> 
     <Package Name="so_46415142"> 
      <Variables> 
       <Variable Name="StartYear" DataType="Int32">2014</Variable> 
       <Variable Name="EndYear" DataType="Int32">2014</Variable> 
       <Variable Name="StartMonth" DataType="Int32">1</Variable> 
       <Variable Name="EndMonth" DataType="Int32">6</Variable> 
      </Variables> 
      <Tasks> 
       <ForLoop Name="For loop for Year"> 
        <!-- 
        <PrecedenceConstraints> 
         <Inputs> 
          <Input OutputPathName="Find count of rows.Output" SsisName="No data exist" PathAnnotation="ConstraintName" EvaluationOperation="Expression" EvaluationValue="Success" Expression="@[User::CountRows]==0" /> 
         </Inputs> 
        </PrecedenceConstraints> 
        --> 
        <InitializerExpression>@StartYear</InitializerExpression> 
        <LoopTestExpression><![CDATA[@StartYear <= @EndYear]]></LoopTestExpression> 
        <CountingExpression><![CDATA[@StartYear = @StartYear + 1]]></CountingExpression> 
        <Tasks> 
         <ForLoop Name="For loop for Month"> 
          <InitializerExpression>@StartMonth</InitializerExpression> 
          <LoopTestExpression><![CDATA[@StartMonth <= @EndMonth]]></LoopTestExpression> 
          <CountingExpression>@StartMonth = @StartMonth + 1</CountingExpression> 
         </ForLoop> 
        </Tasks> 
       </ForLoop> 
      </Tasks> 
     </Package> 
    </Packages> 
</Biml>