I'm trying to nest a forloop container within another. I keep getting error that child element is not allowed.
How do I nest for loop?
<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>
A ForLoop is a member of the Tasks collection. You have specified that your inner ForLoop is a member of the outer ForLoop. Instead, it should be a member of the outer ForLoop's Task collection.
Thus
<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>