2010-07-28 5 views
0

Selon la documentation Siebel, eScript prend en charge varargs. L'exemple suivant est tiré de la documentation Siebel:La fonction Siebel eScript varargs lève toujours une exception

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

Cependant, si j'appelle cette méthode comme SumAll(1,2,3) je reçois l'exception suivante:

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

où xxx est le numéro de ligne de l'instruction for .

Une idée, pourquoi? Merci!

Répondre

1

Au lieu de taper "SumAll.arguments", essayez d'utiliser seulement "arguments" comme ceci:

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

Merci, ça fonctionne. Cependant, je reçois un avertissement sémantique "Arguments d'identifiants non définis ..." dans Siebel Tools lors de l'enregistrement de ce code. J'ai donc deux options désagréables: Ignorer l'avertissement sémantique et accepter une fenêtre popup désagréable chaque fois que j'enregistre; ou désactiver tous les avertissements sémantiques incluant des avertissements utiles (le champ BusCop n'existe pas, etc.). Ou y a-t-il une autre option, comme supprimer certains avertissements? – nang

+1

Intéressant. Il s'agit clairement d'un défaut du produit, le défaut étant soit: 1) Les outils Siebel et la documentation de l'étagère sont erronés, soit 2) Le moteur de script ne se comporte pas comme prévu. Je dirais que vos prochaines étapes consisteront à enregistrer une demande de service auprès de votre Oracle TAM pour faire comprendre et réparer ce défaut de produit, puis faites tout votre possible pour le faire fonctionner fonctionnellement - peut-être d'une manière qui ne se casse pas car le défaut est fixe (quel que soit le défaut). L'exécution dans les défauts de produit comme un assez bon indicateur que vous faites bon usage des dispositifs disponibles;) –

Questions connexes