無限ループが原因でレポート処理が停止してしまうことを防ぐための安全装置があります。式を 1 回評価する間に、最高で 100,000 回まではループ条件の評価が可能です。例 :
Local NumberVar i := 1; While i <= 200000 Do ( If i > {movie.STARS} Then Exit While; i := i + 1 ); 20
{movie.STARS} が 100,000 より大きい場合、ループ条件 (i <= 200000) は最大の評価回数を超えて評価されるので、エラー メッセージが表示されます。30,000 以下の場合は、ループは可能です。
注 安全装置は、個々のループではなく、式単位で適用されます。例 :
Local NumberVar i := 1; For i := 1 To 40000 Do ( Sin (i); ); While i <= 70000 Do ( i := i + 1; )
この式でも安全装置が作動します。100,000 という数字は、式の中でループ条件が評価される合計回数を意味します。この式はそのような評価を 40001 +70001 回実行するため安全装置が働きます。