$title Tests filtered load (LOAD12,SEQ=806) $onText This tests filtered loading at compile time. The default and $onFiltered should be the same. With $offFiltered we should see errors when hitting domain violations unless we use $loadFiltered explicitly. Contributor: Lutz Westermann, December 2019 $offText $onEcho > prepData.gms Set i / i1*i3 /; Parameter p(i) / #i 2 /; $offEcho $call.checkErrorLevel 'gams prepData.gms lo=%GAMS.lo% gdx=data' $onEchoV > load.gms Set i / i2*i4 /; Parameter p(i) / i4 4 /; $onMulti $gdxIn data.gdx $load p Parameter pW(i) / (i2,i3) 2, i4 4 /; execute_unload 'p.gdx', p; execute_unload 'pW.gdx', pW=p; execute.checkErrorlevel 'gdxdiff p.gdx pW.gdx > %system.nullfile%'; $offEcho $call.checkErrorLevel 'gams load.gms lo=%GAMS.lo%' $onEchoV > load.gms Set i / i2*i4 /; Parameter p(i) / i4 4 /; $onMulti $onFiltered $gdxIn data.gdx $load p Parameter pW(i) / (i2,i3) 2, i4 4 /; execute_unload 'p.gdx', p; execute_unload 'pW.gdx', pW=p; execute.checkErrorlevel 'gdxdiff p.gdx pW.gdx > %system.nullfile%'; $offEcho $call.checkErrorLevel 'gams load.gms lo=%GAMS.lo%' $onEchoV > load.gms Set i / i2*i4 /; Parameter p(i) / i4 4 /; $onMulti $offFiltered $gdxIn data.gdx $load p $if errorFree $abort 'Error expected' $clearErrors Parameter pW(i) / (i2,i3) 2, i4 4 /; execute_unload 'p.gdx', p; execute_unload 'pW.gdx', pW=p; execute.checkErrorlevel 'gdxdiff p.gdx pW.gdx > %system.nullfile%'; $offEcho $call.checkErrorLevel 'gams load.gms lo=%GAMS.lo%' $onEchoV > load.gms Set i / i2*i4 /; Parameter p(i) / i4 4 /; $onMulti $offFiltered $gdxIn data.gdx $loadFiltered p Parameter pW(i) / (i2,i3) 2, i4 4 /; execute_unload 'p.gdx', p; execute_unload 'pW.gdx', pW=p; execute.checkErrorlevel 'gdxdiff p.gdx pW.gdx > %system.nullfile%'; $offEcho $call.checkErrorLevel 'gams load.gms lo=%GAMS.lo%'