2010-07-28 4 views
0

예외를 throw하고 eScript는 varargs를 지원합니다. 다음 샘플은 시벨 문서에서 가져온 것입니다 :Siebel eScript varargs 함수는 Siebel 설명서에 따라 항상

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

그러나, 나는 SumAll(1,2,3)처럼,이 메소드를 호출하면 나는 다음과 같은 예외를 얻을 : xxx는 문의 행 번호입니다

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

.

이유가 무엇입니까? 감사합니다. 대신 "SumAll.arguments"를 입력의

답변

1

, 다음과 같이 그냥 "인자"를 사용해보십시오 : 작동

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

감사합니다. 그러나이 코드를 저장할 때 Siebel Tools에서 의미없는 경고 "정의되지 않은 식별자 인수 ..."가 표시됩니다. 따라서 두 가지 불쾌한 옵션이 있습니다 : 의미 론적 경고를 무시하고 저장할 때마다 불쾌한 팝업 창을 허용합니다. (BusCop 필드가 존재하지 않는 등) 유용한 의미를 포함하는 모든 의미 론적 경고를 사용하지 않도록 설정하십시오. 아니면 다른 경고를 강요하는 것과 같은 다른 옵션이 있습니까? – nang

+1

흥미 롭습니다. Siebel Tools와 Book Shelf 설명서가 잘못되었거나 2) 스크립팅 엔진이 의도 한대로 작동하지 않습니다. 다음 단계는 Oracle TAM을 통해 서비스 요청을 로깅하여이 제품 결함을 이해하고 수정 한 다음 기능적으로 작동하도록 할 수있는 모든 방법을 사용하는 것입니다. 결함은 고정되어 있기 때문에 (결함이 실제로 무엇이든). 사용 가능한 기능을 잘 활용하고 있음을 보여주는 매우 좋은 지표로 제품 결함을 실행합니다. –

관련 문제