Tivoli 服务台 6.0 开发工具包脚本语言参考
返回主页
立即退出 TSD 脚本应用程序。
PROCEDURE Abort;
ACTIONS IF NOT FExists('F:\DATA\MYFILE.DAT') THEN WinMessageBox($Desktop,'Error',$MBOK,'I can't live without this file'); Abort; END;
暂停当前函数并激活 TSD 脚本调试器。
PROCEDURE BreakPoint;
注意:如果 TSD 脚本解释器不能找到调试器库文件,那么该语句不会起作用。
BreakPoint 过程主要用于帮助 TSD 脚本程序员调试应用程序。使用 TSD 脚本调试器,程序员可以检查应用程序的当前状态,还能以一次一个语句的方式监视其处理过程。
调用函数(或过程),这些函数(或过程)的知识库和函数(或过程)名是嵌入到一个字符串表达式中的。
FUNCTION CallFunction (VAL func: STRING [, arg: ANY ...] ): INTEGER;
不对 CallFunction 附加自变量进行类型检查。具有不恰当类型的自变量可能会引发出乎预料的操作,包括提前终止应用程序。
CallFunction 只返回成功或失败代码。由被调用例行程序返回的任何值都将被丢弃。
在指定要传送给目标函数的自变量时,这些自变量只能是变量,不能是值。否则,TSD 脚本语法分析器将显示一条出错信息。例如,下面这个表达式就是无效的:
CallFunction ('mykb:myfunc', 1, 'foo');
取而代之的是,用户应当引入临时变量来存储应传送给函数的值:
i:=1; s:='foo'; CallFunction ('mykb:myfunc', i,s);
要让 CallFunction 运行,必须装入包含被调用函数的知识库。通常情况下,在正常启动程序的过程中装入知识库,这是因为在一个或多个知识库的 USES 部分说明它。也可以通过将其传送到具有 /F 自变量的 TSD 脚本解释器的命令行来装入它。例如:
KML /F=EA.KBC /F=CUSTOM.KBC
在本实例中,用一个命令向 TSD 脚本解释器传送了两个知识库。可以使用该命令行技术来定制应用程序,而无需修改初始源代码。
自变量名称 | 说明 |
func | 包含一个知识库名称和一个过程或函数名称的字符串表达式,是由冒号分隔的,其格式为:kbase.func |
arg | 零个或多个任意类型的自变量。该自变量的其他信息,请参见“注意”部分。 |
该函数对创建特殊功能(例如,可定制的图符条)是很有用的。例如,用户可以创建图符和操作的数据库表。用户单击图符时,将执行与其关联的操作。由于该表只能以字符串形式存储操作,用户必须使用一个方法来调用 TSD 脚本例行程序。CallFunction 就提供这种功能。
CallFunction 取任意个数的自变量来传送给被调用的例行程序。
CallFunction('SERVICES:DISPLAYINFO');
返回码 | 说明 |
1 | 成功完成。 |
-1 | 第一个自变量是未知的。由于不能将一个或多个形式参数绑定到相应的自变量,导致调用异常中断,不能启动例行程序。这通常是由某个参数中的“下标超出约束”错误引起的。 |
-2 | 运行时系统不能找到指定的例行程序。 |
-3 | 内存不足。 |
为系统错误报表设置严重性阈值。
FUNCTION ErrorFilter [ (VAL level: INTEGER) ] : INTEGER;
自变量名称 | 说明 |
level | 如果提供该自变量,它将成为新的系统范围的错误报表阈值。 |
注意:不能抑制致命错误消息。
通常情况下,只要出现错误,TSD 脚本都会显示出错框。每个错误都分配了某个预定义错误级别:
返回码 | 说明 |
0 | 致命错误 |
1 | 错误 |
2 | 警告 |
3 | 消息 |
ErrorLevel 的缺省显示值是所有错误级。
ErrorFilter 允许用户设置阈值错误级别,以便不显示级别大于该阈值的错误 (致命错误之外的错误)。
VARIABLES oldLevel, err: INTEGER; employee: EmployeeRecord;
ACTIONS oldLevel := ErrorFilter(2); -- Suppress all warnings. err := SQLSelectInto('SELECT * FROM EMPLOYEES WHERE SALARY > ' & limit, employee); ErrorFilter(oldLevel); IF err > 0 THEN ...
返回码 | 说明 |
ErrorFilter | 返回以前的严重性级别。 |
设置一个变量值为 $Unknown。
FUNCTION SetUnknown (REF var: ANY): INTEGER;
自变量名称 | 说明 |
var | 其值被设置为 $Unknown 的变量。 |
SetUnknown 丢弃与显示变量关联的值。RECORD 类型之外的变量和 RECORD 的成员都被设置为 $Unknown。列表和数组都被设置为零。
VARIABLES r: EmployeeRecord;
ACTIONS REPEAT IF NOT DataEntryForm(r) THEN ExitLoop; END; StoreRecord(r); SetUnknown(r); UNTIL FALSE;
返回码 | 说明 |
1 | 没有出错 |
-1 | 没有这变量 |
Sin
Tivoli 服务台 6.0 开发工具包脚本语言参考