2010-07-28 54 views
0

,eScript支持可變參數。 下面的示例是從Siebel資料爲準:根據Siebel文檔,Siebel eScript可變參數函數總是拋出異常

function SumAll() 
{ 
    var total = 0; 
    for (var ssk = 0; ssk < SumAll.arguments.length; ssk++) 
    { 
    total += SumAll.arguments[ssk]; 
    } 
    return total; 
} 

但是,如果我把這個方法就像SumAll(1,2,3)我得到以下異常:

TypeError: Can't convert 'Undefined' to Object. Service.SumAll line xxx

其中xxx是該行號聲明。

任何想法,爲什麼? 謝謝!

回答

1

而是鍵入 「SumAll.arguments」 的,請嘗試使用剛剛 「論據」 是這樣的:

function SumAll() 
{ 
    var total = 0; 
    for (var ssk = 0; ssk < arguments.length; ssk++) 
    { 
    total += arguments[ssk]; 
    } 
    return total; 
} 
+0

謝謝,這工作。但是,在保存此代碼時,我在Siebel Tools中收到語義警告「未定義標識符參數...」。所以我有兩個不愉快的選擇:忽略語義警告並在我保存時接受一個令人討厭的彈出窗口;或禁用所有包含有用語義警告的語義警告(BusCop字段不存在等)。還是有另一種選擇,如抑制某些警告? – nang 2010-07-29 10:55:07

+1

有趣。這顯然是產品缺陷,缺陷是:1)Siebel Tools和Book Shelf文檔錯誤,或者2)腳本引擎的行爲不符合預期。我會說你的下一步是通過你的Oracle TAM登錄一個服務請求來獲得這個產品缺陷的理解和修復,然後盡你所能地讓它在功能上工作 - 可能以一種不會盡快破壞的方式因爲缺陷是固定的(無論實際上是什麼缺陷)。 遇到產品缺陷是一個相當好的指標,表明您正在充分利用可用的功能;) – 2010-07-29 16:38:38