Crystal Reports for Rational Application Developer 設計工具指南

迴圈的安全機制 (Crystal 語法)

迴圈有一個安全機制,可以防止處理報表時因為無限迴圈而導致停止。任何公式的驗算,每次最多可以驗算迴圈條件 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) 的次數將會超過最大次數,就會產生錯誤訊息。否則的話,這個迴圈就沒有問題。

附註: 這個安全機制僅限用於每個公式內,並不適用於個別迴圈。例如:
Local NumberVar i := 1;
For i := 1 To 40000 Do
(
Sin (i);
);
i := 1;
While i <= 70000 Do
(
i := i + 1;
)
以上這個公式也會觸發安全機制,因為 100,000 是指公式中迴圈條件驗算的總次數,而這個公式將會驗算 40001 + 70001 次。



Business Objects, SAP 子公司
http://www.taiwan.businessobjects.com/
支援服務
http://www.taiwan.businessobjects.com/support/
產品說明文件網站
http://support.businessobjects.com/documentation/