“FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
-1162 并发打开的屏幕表格数目超出了FMP的限制。
“FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
-1163 FMP版本号与4GL程序不兼容。重新连接4GL程序并且再运行。
“FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
-1164 在当前的输入语句中,屏幕表格指令部分指定的NEXT FIELD没有被使用。
当前屏幕表格显示字段有NEXT FIELD的说明(在屏幕表格的INSTRUCTION部分中指
定)。然而,指定的下一个显示字段没有在当前的INPUT语句中指明,故游标不能移
到那一个显示字段。
-1165 FMP不允许用这个语句。
“FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
-1166 FMP 收到一段非法代码。
“FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
-1167 FMP收到一个未知的屏幕表格名称。
“FMP”是指 INFORMIX-4GL/RF。详见系统安装手册。
-1168 菜单中没有这一命令。
SHOW OPTION,HIDE OPTION或NEXT OPTION 语句不能引用不存在的选项(命令)。
检查选项名的拼写。
-1170 你的终端类型系统不支持。
检查你的TERM环境变量以及TERMCAP或TERMINFO环境变量的设置。如果你需要这方面的
帮助,通知系统管理员。
-1171 FMP遇到一个不被允许的数据类型。
"FMP"意思是指 INFORMIX-4GL/RF。详见你的系统安装手册。
-1176 同样的COMMAND KEY 值在当前菜单的另一处出现。
在指定的MENU语句中,定义了一个在多个COMMAND KEY键表中出现的键值;或该键值既
在COMMAND KEY键表中出现,同时又是一个或几个非隐藏COMMAND
子句的缺省激活键(例如,这个键值也是一个或几个菜单选项字串的首字符)。这种
情况是非法的,因为给定的键敲入后,菜单没办法知道该做哪件事。
因为在得到唯一的字串前,程序将提示用户输入后续字符,所以某个特定的键可以作
为多个COMMAND(没有KEY子句)的缺省激活键。但这在COMMAND KEY中却不
可以,因为只比较一个敲入的键。
如果一个COMMAND当前是隐藏的(使用HIDE OPTION关键字),那么它的激活键被忽
略,从而不会触发这个错误条件。
-1200 对于DECIMAL数据类型,数值太大了。
DECIMAL 数据类型数值的绝对值范围在 10-130 到 10124 之间。精度(有效位数)在
1到32之间变化;但是这个错误的原因不在于数值的长度而是它的量级。
-1201 对于DECIMAL数据类型,值太小了。
DECIMAL 数据类型数值的绝对值范围在 10-130 到 10124 之间。精度(有效位数)在
1到32之间变化;但是这个错误的原因不在于数值的长度而是它的量级。
-1202 试图作除以0的运算。
一个除数不能为0。在一些情况下,出现这个错误是因为除数是一个字符值而没有恰当
地转换为数值。
-1203 用于MATCH的值必须都是CHARACTER类型。
MATCHES 关系仅能应用于字符数据;它的操作项必须是CHAR或VARCHAR类型的字段或变
量,或文字字符串。如果你需要进行正规模式与一个数字值的匹配,那么你可以在4GL
中通过把数字值赋值给一个CHAR变量从而进行比较。
-1204 日期中的无效年份。
DATE值或文字中的年份必须由二或四位数字给出;即从 00 到 99 或 0001到 9999。数
0000 和其它数字值是都不被接受的。
-1205 日期中的无效月份。
DATE值或文字中的月份必须是 1 到 12之 间的一位或二位数字。
-1206 日期中的无效日值。
DATE值或文字中的日值必须是从 1 到 28,30或31之间(取决于所给的月份)的,并且
以一位或两位数的形式给出。
-1207 被转换值不能放入分配的空间。
一个非字符值在转换成字符串后过长以致不能放进提供的缓冲区。若转换是自动的,
修改程序以提供更大的主机变量来接受串。若是显式调用转换函数,传递更大的缓冲
区。
-1208 没有从非字符值到字符值的转换。
如果你在用版本4.0以前的数据库服务器,在 INSERT 和UPDATE等SQL语句中,没有从
数值到字符的自动转换。确认指定给每一字段的值符合该字段的数据类型。若使用版
本4.0或更高的数据库服务器,不会出现此信息。
-1209 没有定界符,日期必须恰好包含 6 或 8 个数字。
当一个文字日期值被用数值形式输入,而不是包含在引号中作为字符串时,必须准确
地用 6 位数字(代表mmddyy)或 8 位数字(代表mmddyyyy)输入。由于没有标点,任何
含其它数量数字的日期是二义的;它不能被确凿地分成月,日,年。
-1210 日期不能被转换为 月/日/年 格式。
DATE类型和INTEGER类型是兼容的,但不是所有整数都是有效的日期。当试图将数值小
于 -693,594 或大于 2,958,464的日期转换为字符时,将产生此错误。超出此范围的
数值不表示日期。
-1211 内存不足。
4GL不能分配一块小的,临时的内存以处理一个表达式。尽量简化程序来释放足够多的
内存,从而避免此错误。
-1212 数据转换格式必须包含月,日,年元件。
当一数值在内部二进制格式和显示或输入格式间被转换时,转换由模式指引。当转换
自动进行时,模式来自DBDATE环境变量。当转换是通过显式调用rfmtdate(),
rdefmtdate(),或USING函数进行时,模式串作为参数被传递。在任何情况中,模式串(
信息的"格式")必须包括指示日期的三部分的字母:2或3个字母d; 2或3个字母m;2或4个
字母y。
-1213 字符到数值的转换失败。
一个字符被转换为数值形式来存储进数值字段或变量中。然而,字符串不能被解释为
数值:它包含了除空格,数字,符号,小数点,字母e之外的字符; 或有顺序错误,因
此不能被解释。
如果你使用NLS,那么十进制字符或千分符可能在本地环境下出错。
-1214 值过大,不能放进一个SMALLINT。
SMALLINT数据类型能接受绝对值从 0 到 32,767 (±215-1)的数值。若要存储超过此
范围的数,字段或变量必须重定义为INTEGER或DECIMAL类型。(-32,767是16
位的值,但不被接受;在4GL中,它被用来指示一个null值。)
-1215 值过大,不能放进一个INTEGER。
INTEGER数据类型能接受绝对值从 0 到 2,147,483,647 (±231-1)的数值。若要存储
超过此范围的数,字段或变量必须重定义为DECIMAL类型。(-2,147,483,648
是32位的值,但不被接受;在4GL中,它被用来指示一个null值。)
-1216 不合法的指数。
一个数值文字的指数不能超越 32,767。事实上,可供使用的数据类型中,都不能接纳
这么大的指数的;然而,在检查数值的目的之前,指数本身触发了此信息。检查语句是
否遗漏或错放了标点,那将导致两个数被连在一起。
-1217 格式串过大。
被用来格式化一个日期(或是DBDATE环境变量,或是传递到rfmtdate()或USING功能的
模式)的模式串过长。限制是80字节。
-1218 串到日期转换错误。
函数 rstrdate() 的输入未正确表示一个日期:或者在应是数字处有非数字,或有非期
望的定界符,或者数值过大或不一致。
-1219 来自数据库的数值对COBOL数据项来说过大。
在当前的任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境并与
Informix技术支持部门联系。
-1220 来自数据库的数值对COBOL数据项来说过小。
在当前的任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境并与
Informix技术支持部门联系。
-1221 不能转换null数据类型。
在当前的任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境并与
Informix技术支持部门联系。
-1222 值不能用SMALLFLOAT表达。
SMALLFLOAT数据类型能接受一定指数范围内的数值。最大和最小指数值依主机操作系
统不同而不同(取值范围与主机系统中 C 编译程序支持的 float 值范围一样)。在当
前语句中,一常数数值被转换存储进FLOAT变量或字段中,但指数过大或过小。
-1223 值不能用FLOAT表达。
FLOAT数据类型能接受一定指数范围的数值。最大和最小指数值依主机操作系统不同
而不同(取值范围与主机系统中 C 编译程序支持的 double 值范围一样)。在当前语
句中,一常数数值被转换存储到FLOAT变量或字段中,但指数过大或过小。
-1224 非法的十进制数。
在当前的任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境与
Informix技术支持部门联系。
-1225 字段不接受NULL值。
此语句试图存储null值到已被定义为不允许null的字段。检查表的定义,修改语句,
使它提供值给所有需要的字段。
-1226 十进制或money值超出了最大精度。
4GL试图转换一个字符格式的数值为DECIMAL或MONEY变量。然而,此数值小数点左边的
数字多于变量说明允许的位数。修改程序,分配被转换数值给具有更高精度的变量。
-1227 没找到信息文件。
4GL找不到一信息文本文件。此文件有.iem后缀且存放在产品目录$INFORMIXDIR/msg
中。重新安装这些文件。若你已修改了用户信息文件4glusr.msg,确认它的编译后的
版本已被放在当前目录下。
-1228 在信息文件中没有找到信息号。
4GL不能在与产品一起安装的信息文件中找到相应的信息号。重新安装所有.iem
类型文件。若你已修改文件4glusr.msg的内容,检查你所有可能的删除,并且重新编
译此文件。
-1229 不兼容的信息文件。
4GL试图在信息文件中查找一信息文本,文件中有和产品的当前版本不匹配的内容。可
能文件是损坏的;可能找到的是以前的版本信息文件。文件有后缀.iem且存放在
INFORMIXDIR环境变量指定的路径的 etc 子目录中。重新安装这些文件。如果你已修
改用户信息文件4glusr.msg,一定要用当前版本的mkmessage 工具重新编译它。
-1230 错误的信息文件名格式。
提供给信息文件的文件名是非法的,此信息文件要用来象本书这样显示错误信息,故
它无法被打开。检查DBLANG环境变量的值,如果它被指定了的话。
-1231 不能在信息文件中查找。
应用程序试图在一信息文件中查找一信息文本,当试图在文件中定位时收到一错误代
码。这说明文件本身有问题;可能文件已被损坏或截断。重新安装所有的.iem
类型文件。如果你已修改了用户信息文件4glusr.msg,要重新编译它。
-1232 信息缓冲区太小。
4GL在从一编译过的信息文件中读取信息文本,但不能调整缓冲区大小来容纳完整的信
息。这可能说明数据空间的危急短缺,更可能是表明信息文件被毁或者非法。重新安
装所有.iem类型的文件。如果你已修改了用户信息文件4glusr.msg,你需要重新编译
它。
-1233 无效的时,分,秒。
在当前任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境与
Informix技术支持部门联系。
-1234 函数只可用于datetime数据类型。
在当前任何产品中,此信息不被采用。若此错误再次发生,请记下所有环境与
Informix技术支持部门联系。
-1235 字符主机变量相对数据太短。
在一个 ESQL/C 程序中,程序试图取得一个字段值放进一个不够大的主机变量中。可
用DESCRIBE命令得到字段值的大小。
如果这个错误出现在4GL程序中,请记下所有环境后与Informix技术支持部门联系。
-1236 错误的日期纪元
输入串中给定的纪元名或纪元偏移的是非法的或没有以要求的格式输入。检查输入串
中的纪元名和偏移是否合法,次序是否适当。检查输入串格式对于DBTIME型值,
DBDATE型值或传递到SQL API函数的格式化串是否合适。
-1237 错误的纪元名
日期格式要求一个纪元名,但在输入串中却未找到与GLS局部环境设置中的纪元名
相对应的名字。检查是否使用了正确的局部环境设置以及输入了正确的纪元名。
-1238 错误的纪元初始化
这是一个内部错误,请通知Informix技术支持部门。
-1239 纪元年号溢出
给出的纪元偏移不在纪元所指定的范围。检查纪元偏移是否在纪元指定的合法范围
中。
-1250 不能建立管道。
应用程序使用操作系统的管道功能初始化它与数据库服务器的通讯时,操作系统返回
了非期望的错误代码。查阅操作系统错误信息可以得到更多的细节。
-1251 不能建立共享内存。semget失败。
在服务器用共享内存进行通讯的版本中,应用程序在初始化与服务器的通讯时,调用
操作系统函数semget发生了非期望的错误。查阅操作系统错误信息可以得到更多的细
节。请向安装Informix 共享内存产品的人咨询。
-1252 不能建立共享内存。shmget失败。
在使用共享内存进行通讯的服务器的版本中,应用程序在初始化与服务器的通讯时,
调用操作系统函数shmget发生了非期望的错误。查阅操作系统错误信息可以得到更多
的细节。请向安装Informix 共享内存产品的人咨询。
-1254 不能与远程主机连接。
程序试图打开一个由另一个系统中的数据库服务器管理的数据库,但不能打开与另一
个系统的网络连接。检查DATABASE或CREATE DATABASE语句中指定的节点名。如果那是
你想要的,寻找来自网络元件或操作系统的错误信息。与另一系统的操作者联系,验
证它是活动的且接受网络连接。
-1257 操作系统不能为后端产生分支进程。
"后端"是指数据库服务器。这是一个内部错误。寻找操作系统信息将给出更多信息。
在DOS系统中,你可能是内存不足;退回到操作系统命令行,并再次提交你的程序。若
验证了这不是系统极限的后果或本地问题,请记下所有环境并与Informix技术支持部
门联系。
-1258 不能连上用来与后端通信的共享内存。
"后端"是指数据库服务器。这是一个内部错误。寻找操作系统信息将给出更多信息。
若验证了这不是系统极限的后果或本地问题,请记下所有环境并与Informix
技术支持部门联系。
-1260 在指定的类型间转换是不可能的。
系统将尝试任何有意义的数据转换。然而,有一些转换是不支持的,如INTERVAL
到DATE,DATETIME到MONEY。你可能涉及了错误的变量或字段。确认你已指定了你所要
的数据类型,且数据值的文字的格式正确。
-1261 datetime或INTERVAL的第一个显示字段中数字太多。
一个DATETIME文字的第一个显示字段必须包含1或2个数字(如果它不是YEAR),或者2或
4个数字(如果它是YEAR)。一个INTERVAL文字的第一个显示字段代表单元的个数,且最
多可有9位数字,这依赖它的限定符中指定的精度。请检查此语句中的DATETIME和
INTERVAL文字并且改正。
-1262 非数值字符出现在datetime或INTERVAL中。
DATETIME或INTERVAL文字的格式是很严格的。只能包含十进制数字和允许的分界符:在
年,月,日间的连字符;在日和时间的空格;在时,分,秒间的冒号,和在秒和分数间
的小数点。任何其它字符,或这些字符的次序错误,都被检测为错误。
-1263 datetime或INTERVAL中的显示字段超出了范围或是非法的。
检查此语句中的DATETIME和INTERVAL文字;至少其中一个包含了至少一个非法的显示
字段。在一个DATETIME文字中,年可能是零;月可能不在1-12内;日可能不在1-31
内或与月冲突;小时可能不在0-23内;分或秒可能不在0-59内;或相对指定的精度,分数
的数字太多。
在一个INTERVAL文字中,除了第一个显示字段是一个计数且可有限定符指定的个数的
数字之外,约束是同样的。
-1264 在datetime或INTERVAL尾部的额外字符。
除了空格,DATETIME或INTERVAL文字值之后不能有任何字符。检查此语句是否有
遗漏或非法的标点。
-1265 datetime或INTERVAL运算溢出。
DATETIME和INTERVAL值在内部都存储为DECIMAL值。在此语句中,一个使用DATETIME
或INTERVAL值的算术运算导致了溢出。这是不应发生的。检查为INTERVAL值指定的精
度。如果你想输入的INTERVAL值超过了显示字段允许的数字数,你必须在定义中明确
标识有效数字位数。如果错误重复发生,请记下所有环境并与Informix技术支持部门
联系。
-1266 INTERVAL或datetime对运算不兼容。
有些DATETIME,INTERVAL和数值的算术组合是无意义和不允许的。请检查语句中的数
学表达式。可能其中之一错误地使用了DATETIME或INTERVAL字段或变量。如果没有,
查看你的SQL参考资料中这些数据类型的正确用法。
-1267 一个datetime的计算结果越界。
在此语句中,一个DATETIME计算产生了不能被存储的值。例如,如果一个很大的
INTERVAL加到DATETIME上,就会发生这种情况。请检查语句中的表达式,看是否可以
改变运算顺序来避免溢出。
-1268 无效的datetime或INTERVAL限定符。
此语句包含了一个不可接受的DATETIME或INTERVAL限定符。这些限定符只可是YEAR,
MONTH,DAY,HOUR,MINUTE,SECOND,FRACTION和TO。FRACTION后的圆括号中可以是
一个1到5之间的数。检查语句中遗漏的标点和错放的词。一个常见的错误是多加了
个s,如MINUTES,这是非法的。
-1269 定位器转换错误。
此信息的产生是因为一个要求定位器参数(BYTE或TEXT值的引用)的函数接收的不是一
个有效的定位器(如一个NULL参数)。检查程序逻辑,确认参数是正确的。如果错误再
次发生,请记下所有环境并与Informix技术支持部门联系。
-1270 INTERVAL文字值不能有嵌入的负号。
你可以在一个INTERVAL文字和其它值之间使用负号作为算术运算符,或用负号作为一
个INTERVAL文字的前缀来说明它是负的量。然而你不能在文字之中嵌入负号。如果你
没有这样作,检查语句是否遗漏或错放标点。
-1271 在datetime或INTERVAL分数中遗漏了小数点。
当DATETIME或者INTERVAL文字值的限定符中包含FRACTION一词时,此文字值应该有一
个小数点。此语句中有这样一个文字值但缺少小数点。检查文字的限定符并寻找遗漏
或错放的标点。
-1272 没指定输入缓冲区。
你没有为此函数指定一个输入串,所以转换不能进行。设置输入串参数,再调用函
数。(此函数可能要求用DBTIME环境变量定义格式指令。)
-1273 输出缓冲区为NULL或太小不能保持结果。
当函数被调用并且输出缓冲区的地址空间为null或小于格式串长度时,发生此错误。
重定义地址大小并执行函数。(此函数可能要求用DBTIME环境变量定义格式指令。)
-1274 没指定输出缓冲区。
当输出缓冲区的长度为零或缓冲区指针为null时,发生此错误。版本5.01之后的数据
库服务器不采用此错误信息。
-1275 在DATETIME或INTERVAL格式串中显示字段的宽度或精度无效。
在DATETIME或INTERVAL格式说明中的显示字段的宽度或精度必须是有意义的。显示字
段宽度必须是一个十进制数,带前导零或负号(-)。如果有精度说明,也必须是十进制
数,且用点(.)与显示字段的宽度说明分开。
-1276 格式转换字符不被支持。
格式串中的格式转换字符不是有效的。对照你的嵌入语言的产品手册中关于DATETIME
和INTERVAL格式转换函数的格式转换指令表检查串。可以参看 "Informix SQL指南:参
考手册" 第四章中关于DBTIME环境变量的详述。
-1277 输入与格式说明不匹配。
确认包含DATETIME或INTERVAL值的ASCII串与格式串一致。例如,在DATETIME或
INTERVAL ASCII串中的一个百分号字符(),在格式串中必须有一个匹配序列"%%"。可
以参看 "Informix SQL指南:参考手册" 第四章中关于DBTIME环境变量的详述。
-1278 无效的转义顺序。
检查语句的LIKE或MATCHES子句中指定的模式匹配串。在ANSI数据库中,可以有效转义
的字符只有: LIKE子句的%,_和转义字符,MATHES子句的*,?,[,]和转义字符。
-1279 值超过了字符串字段的长度
这条信息仅出现在ANSI数据库中。试图将一个字符串主变量插入到一个CHAR,NCHAR,
VARCHAR,或NVARCHAR字段中,但字符串太长了。
-1280 libgen.so与Library API不兼容。
和你的客户应用程序一起编译的libgen.so共享库与在$INFORMIXDIR/lib目录中的版本
不兼容。用新的libgen.so共享库的路径设定INFORMIXDIR,然后重新编译你的应用程
序。
-1281 libos.so与Library API不兼容。
和你的客户应用程序一起编译的libos.so共享库与在$INFORMIXDIR/lib目录中的版本
不兼容。用新的libos.so共享库的路径设定INFORMIXDIR,然后重新编译你的应用程
序。
-1282 libsql.so与Library API不兼容。
和你的客户应用程序一起编译的libsql.so共享库与在$INFORMIXDIR/lib目录中的版本
不兼容。用新的libsql.so共享库的路径设定INFORMIXDIR,然后重新编译你的应用程
序。
-1283 libgls.so与Library API不兼容。
和你的客户应用程序一起编译的libgls.so共享库与在$INFORMIXDIR/lib目录中的版本
不兼容。用新的libgls.so共享库的路径设定INFORMIXDIR,然后重新编译你的应用程
序。
-1301 这个值不在有效的可能范围之中。
本字段可接受的值的列表或范围已被建立(由屏幕表格说明中的INCLUDE属性)。你必须
输入一个在可接受范围之内的值。
-1302 两次输入是不同的--请再试一次。
为防止敲键错误,此显示字段已被指定VERIFY(在屏幕表格说明文件中)。此显示字段
的值必须被同样地输入两次。仔细地重输数据。你也可以用中断键取消屏幕表格输入
(通常是CTRL-C,但要看程序作者提供的操作说明)。
-1303 由于存在图片你不能使用这个编辑特性。
此显示字段被(在屏幕表格说明文件中的)PICTURE属性指定了格式。当你编辑这样的显
示字段时,特定的编辑键(例如,CTRL-A,CTRL-D和CTRL-X)是不允许用的。只能用输
入可打印字符和退格输入值。
-1304 显示字段中的错误。
你已经在显示字段中输入一个值,但不能被存储在接收它的程序变量中。例如,你输
入一个十进制数,而应用程序只提供了整型变量;或你可能输入了一个超出应用程序
期望长度的字符串。记下所有环境并且和写应用程序的人讨论这个问题。
-1305 这个显示字段要求一个输入值。
游标在已被指定REQUIRED的屏幕表格显示字段中。在游标能移动到另一显示字段之前
你必须输入值。然而,你可以通过敲入任何可打印字符再退格消去的方法来输入null
值。代替地,你可以用中断键取消屏幕表格输入(通常是CTRL-C,但要看程序作者提供
的操作说明)。
-1306 为了校验请再敲一遍。
游标在已被指定VERIFY的屏幕表格显示字段中。在游标能移动到另一显示字段之前,
你必须输入同样的值两次。这是为了确保在数据输入中没有敲键错误。你也可以用中
断键取消屏幕表格输入(通常是CTRL-C,但要看程序作者提供的操作说明)。
-1307 不能插入另一行,输入数组已满。
你正在输入数据到一个记录数组,此数组在程序中用程序变量数组表示。这个数组现
在是满的;没有地方来存储另一个记录。按ACCEPT键(通常是ESCAPE,但要看程序
作者提供的操作说明)来处理你已输入的记录。
-1308 不能删除行 - 此行没有数据。
你在一空行上按下删除行功能健(通常是F2,但要看程序作者提供的操作说明),没有
任何东西被删除。
-1309 在你进行的方向上没有更多的行。
你在试图在范围外滚动记录数组,或者是在数组顶端向上滚,或者是在数组底端向下
滚。进一步尝试将会是同样的结果,如果那使你高兴就继续吧。
-1310 没有执行一个RETURN语句而结束了当前函数。
当前函数不是返回void类型的,但没有执行RETURN语句就准备退出。
-1312 FORMS语句错误号<号码>。
这是有关于屏幕表格的问题。在本文档中查找错误号。结合当前的语句对它进行分
析。
-1313 SQL语句错误号<号码>。
当前语句访问数据库服务器时后者侦测到错误并且返回一个错误代码号。在本文档中
查找号码。也可寻找其它错误信息。
-1314 程序在语句<行号>行处停止。
在程序的指示点侦测到错误。寻找其它给出本错误细节的错误信息。用本信息中的号
可在程序源文件中定位错误。
-1315 4GL 运行时错误号<号码>。
因为侦测到错误,程序已经停止。在本文档中查找错误代码号。也寻找其它错误信
息,以得到更多细节。
-1316 ISAM错误号<号码>。
当前的语句访问数据库服务器,数据库服务器侦测到了错误(可能显示错误 -1313
报告)。这条信息包含关于错误发生的附加信息。可在本文档中查找号码。
-1317 因为在调用程序和它的函数参数之间或变量和它的赋值表达式之间的
不兼容,发生了数值转换错误。
只要不丢失信息,4GL在两种数据类型间自动转换。在当前的语句里,不能这样做。
首先查看函数调用,检查作为参数传递的值。确认传递的值和参数在函数体内定义的
类型相符。(一个错误的实例是调用函数fun("X"),而函数的参数定义为整数。)
如果是LET语句,确认在右边计算出的值能被左边命名的变量容纳。
-1318 调用函数和被调用函数的参数个数不匹配。
在调用函数时给的参数太多或太少。调用可能在与被调用的函数不同的源模块中。
检查函数的定义和它被调用的所有点,确认使用参数个数与定义的相同。
-1319 4GL程序已经超出了运行时可用的数据空间内存。
你将不得不减少程序要求的数据空间。检查大字符变量的大小和数组的维数。可能需
要将程序分割成可以分别装入的几个程序。
-1320 函数没有返回调用函数期望的数值的数目。
如果函数作为表达式的一部分被调用,那么它返回多于一个的数值。如果使用CALL语
句调用它,那么RETURN语句(函数中)后表达式的数目不同于RETURNING从句(CALL
语句中)中列出的变量的数目。
确认调用了正确的函数。检查该函数的逻辑,特别是它的返回语句,确认总是返回期
望数目的数值。
-1321 VALIDATE命令的执行结果出现确认错误。
VALIDATE语句对照存储于syscolval表中的规则测试当前变量的值。检测出失配情况。
通常程序使用WHENEVER语句来获取这个错误,显示或修正错误的值。检查VALIDATE语
句,找出正在测试的变量,并找出为什么它们是错误的。
-1322 不能打开报表输出文件。
不能打开REPORT TO语句指定的文件。确认你的帐户具有对这样文件的写权限,磁盘未
满,并且你没有超过某些关于可打开文件数目的极限。
-1323 不能打开报表输出管道。
REPORT TO PIPE语句指定的管道不能开始。确认其中命名的所有程序都存在,并在你
的执行路径中是可访问的。还要查看操作系统信息,可能给出更具体的错误信息。
-1324 报表输出文件无法写入。
REPORT TO语句指定的文件已经打开,但写入时出现错误。可能磁盘已满。查看操作系
统信息,可能会给出更多的细节。
-1326 数组变量的引用超过指定的维数范围。
数组下标表达式产生的数值或小于1或大于数组元素的个数。检查直到这条语句的逻
辑,判定错误是如何产生的。
-1327 无法准备插入语句以将数据行插入报表使用的临时表。
在报表函数中,4GL生成SQL语句把数据行保存在临时表中。语句的动态准备(参考
PREPARE语句的参考资料)发生错误。最可能的原因是程序被编译后保持原样,直到运
行时,数据库表格还没有定义;或者数据库已改变或者程序选择了与当前编译不同的
数据库。另外的可能性是数据库管理员已回收你对报表中使用的一个或多个表的
SELECT权限。查看其它错误信息,可能给出更多细节。
-1328 在选定的数据库中,不能创建报表所需的临时表。用户在所定的数据库中必
须具有创建表的权限。
在报表定义中,4GL生成SQL语句将数