Tivoli Service Desk 6.0 Developer's Toolkit Script - Manuel de référence du langage TSD Script
Retour à la page principale
Quitte immédiatement l'application TSD Script.
PROCEDURE Abort;
ACTIONS IF NOT FExists('F:\DATA\MYFILE.DAT') THEN WinMessageBox($Desktop,'Erreur',$MBOK,'Ce fichier est indispensable'); Abort; END;
Suspend la fonction en cours et active le débogueur de TSD Script.
PROCEDURE BreakPoint;
Attention : Si l'interpréteur de TSD Script ne parvient pas à localiser le fichier de bibliothèque du débogueur, cette instruction n'a aucun effet.
La procédure de point d'arrêt BreakPoint est destinée, à l'origine, à aider les programmeurs de TSD Script lors du débogage des applications. Le débogueur de TSD Script permet au programmeur d'inspecter l'état de l'application et de surveiller son exécution, une instruction après l'autre.
Tivoli Service Desk 6.0 Developer's Toolkit - Guide de programmation Script
Appelle une fonction ou une procédure pour laquelle le nom de la base de connaissances et le nom de la fonction ou de la procédure sont regroupés dans une expression de chaîne.
FUNCTION CallFunction (VAL func: STRING [, arg: ANY ...] ): INTEGER;
Aucune vérification de type n'est effectuée sur les arguments supplémentaires de CallFunction. Un argument dont le type est incorrect peut donner lieu à un comportement inattendu, qui peut aller jusqu'à la fermeture prématurée de l'application.
CallFunction renvoie uniquement un code signifiant le succès ou l'échec de l'opération. Aucune valeur renvoyée par la routine appelée n'est prise en considération.
Lorsque vous spécifiez des arguments devant être transmis à la fonction cible, ces arguments doivent se présenter sous forme de variables et non de valeurs. Si tel n'est pas le cas, l'analyseur de TSD Script affiche un message d'erreur. La syntaxe suivante, par exemple, est incorrecte :
CallFunction ('mykb:myfunc', 1, 'flûte');
Dans ce cas, l'utilisateur doit remplacer cette syntaxe en déclarant des variables temporaires permettant d'enregistrer les valeurs qui doivent être transmises à la fonction :
i:=1; s:='foo'; CallFunction ('mykb:myfunc', i,s);
Pour permettre l'exécution de CallFunction, la base de connaissances contenant la fonction doit être chargée. Le chargement de la base de connaissances a généralement lieu durant le processus de démarrage normal du programme, car cette instruction est mentionnée dans la section USES d'une ou plusieurs bases de connaissances. Le chargement peut également être accompli par le biais d'une ligne de commande de l'interpréteur TSD Script, en précisant l'argument /F. Par exemple :
KML /F=EA.KBC /F=CUSTOM.KBC
Cet exemple indique la manière dont deux bases de connaissances ont été transmises à l'interpréteur de TSD Script en n'utilisant qu'une seule commande. Cette technique d'utilisation de la ligne de commande peut servir à personnaliser une application sans intervenir sur le code source d'origine.
Nom de l'argument | Description |
func | Expression en chaîne qui contient le nom d'une base de connaissances et un nom de procédure ou de fonction, ces éléments étant séparés par deux points, dans format:kbase.func |
arg | Zéro ou plusieurs arguments de tout type. Pour plus d'informations concernant cet argument, reportez-vous à la section Avertissements. |
Cette fonction est utile pour créer des caractéristiques particulières, telles que des barres d'icônes personnalisables. Vous pouvez ainsi définir, par exemple, une table de base de données relative aux icônes et aux actions. Lorsque l'utilisateur clique sur un icône, l'action associée est exécutée. Etant donnée que l'action doit être consignée dans la table sous forme d'une chaîne, vous devez utiliser une méthode d'appel de routine TSD Script. Cette fonctionnalité est assurée par CallFunction.
CallFunction prélève un nombre arbitraire d'arguments qui sont ensuite transmis à la routine appelée.
CallFunction('SERVICES:DISPLAYINFO');
Code retour | Description |
1 | Opération achevée avec succès. |
-1 | Le premier argument est inconnu. L'appel a été abandonné sans que la routine soit activée, car un ou plusieurs paramètres formels n'ont pu être reliés à l'argument correspondant. Cette opération se traduit généralement par une erreur indiquant que l'indice de l'un des paramètres est situé hors des limites admises. |
-2 | La routine spécifiée n'a pas été trouvée par le système d'exécution. |
-3 | La mémoire est insuffisante |
Définit le seuil de gravité qui déclenche l'émssion d'une erreur système.
FUNCTION ErrorFilter [ (VAL level: INTEGER) ] : INTEGER;
Nom de l'argument | Description |
level | Lorsque cet argument est spécifié, il devient le nouveau seuil de déclenchement d'erreur sur l'ensemble du système. |
Attention : La suppression des messages relatifs aux erreurs fatales est impossible.
TSD Script affiche généralement une boîte de dialogue dès qu'une erreur se produit. Chaque erreur se trouve affectée d'un niveau d'erreur prédéfini :
Code retour | Description |
0 | Erreur fatale |
1 | Erreur |
2 | Avertissement |
3 | Message |
La valeur par défaut du niveau de gravité affiche tous les niveaux d'erreur simultanément.
ErrorFilter vous permet de fixer un seuil du niveau d'erreur en faisant en sorte qu'aucune erreur (autre que de type fatal) dont le niveau est supérieur au seuil n'est affichée.
VARIABLES oldLevel, err: INTEGER; employee: EmployeeRecord;
ACTIONS oldLevel := ErrorFilter(2); -- Supprime tous les avertissements. err := SQLSelectInto('SELECT * FROM EMPLOYEES WHERE SALARY > ' & limit, employee); ErrorFilter(oldLevel); IF err > 0 THEN ...
Code retour | Description |
ErrorFilter | Restitue le niveau de gravité précédent |
Fixe la valeur $Unknown pour une variable.
FUNCTION SetUnknown (REF var: ANY): INTEGER;
Nom de l'argument | Description |
var | Variable devant adopter la valeur $Unknown. |
SetUnknown rejette les valeurs associées à la variable indiquée. Les variables dont le type est différent de RECORD, ainsi que les membres des types RECORD, adoptent la valeur $Unknown. Les listes et les tables adoptent une valeur nulle.
VARIABLES r: EmployeeRecord;
ACTIONS REPEAT IF NOT DataEntryForm(r) THEN ExitLoop; END; StoreRecord(r); SetUnknown(r); UNTIL FALSE;
Code retour | Description |
1 | Aucune erreur |
-1 | Aucune variable |
Sin
Tivoli Service Desk 6.0 Developer's Toolkit Script - Manuel de référence du langage TSD Script