Start a new topic

Comparison grid running out of memory

When we try to use a grid to compare information in two structure trees, the server calls reach about 200,000 and then the client runs out of memory. Do you have any suggestions? Here is a snippet of the script: 


.......
<Variable name="b" select="." as ="Items"/>
<Variable name="bb" select="$aa/5ABC[AncestorHandle in $b.Select(AncestorHandle)]" as ="Items"/>
<ForEach select ="/5ABC/5ARS*/part::IDRE">
    <Variable name="c" select="/defobj::" as ="Items"/>
    <Choose>
      <When test=" /defobj:: in $bb/5ABC/5ARS*/IDRE"></When>                          
      <When test=" /defobj::[any AllVersions satisfies . in $bb/5ABC/5ARS*/IDRE]">
        <DefObj>
          <Choose>
            <When test ="any AllVersions satisfies . in $a/7FIR/7TES">
              <ForEach select ="$a/7FIR/part::7TES">
                <If test ="/defobj::[. in $c]">
                .......


Thanks!

1 Comment

Hi, 

Instead of checking against AllVersions, you can simply check with AncestorHandle instead. It will require much less server calls and your grid should only take a few minutes to load. 


.....
<Variable name="b" select="." as ="Items"/>
<Variable name="bb" select="$aa/5ABC[AncestorHandle in $b.Select(AncestorHandle)]" as ="Items"/>
<ForEach select ="/5ABC/5ARS*/part::IDRE">
    <Variable name="c" select="/defobj::" as ="Items"/>
    <Choose>
      <When test=" /defobj:: in $bb/5ABC/5ARS*/IDRE"></When>
      <span class="fr-marker" data-id="0" data-type="true" style="display: none; line-height: 0;"></span><When test=" /defobj::[AncestorHandle in $bb/5ABC/5ARS*/IDRE.Select (AncestorHandle)]">
        <DefObj>
          <Choose>
            <When test ="AncestorHandle in $a/7FIR/7TES.Select(AncestorHandle)">
              <ForEach select ="$a/7FIR/part::7TES">
                <If test ="/defobj::[. in $c]">
                ......


Best regards, 

SystemWeaver Support

Login to post a comment