CICREXnnn 错误消息

CICREX218E 错误 46 无效变量引用

说明

在 ARG , DROP , PARSE , PULL 或 PROCEDURE 指令中,变量引用 (要使用其值的变量,由其名称括在括号内) 的语法不正确。 可能缺少紧跟在变量名称后面的右括号。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX219E 错误 47 意外标签

说明

在要对口译指令求值的表达式中或在交互式调试期间输入的表达式中迂到不正确使用的标签。

系统操作

执行停止。

用户响应

请勿在这些表达式中使用标签。

CICREX255T Exec 解释器的存储空间不足

说明

语言处理器没有足够的存储空间来初始化自身。

系统操作

执行在发生错误时终止。

用户响应

重新定义存储器并重新发出命令。

CICREX449E 运行 fn ftnn时发生错误 22: 无效字符串

说明

使用有效的 OPTIONS ETMODE 扫描的字符串包含下列其中一项:
  • 不匹配的移出 (SO) 和移入 (SI) 控制字符
  • 移出 (SO) 和移入 (SI) 字符之间的奇数字节数。

系统操作

执行停止。

用户响应

请更正 EXEC 文件中不正确的字符串。

CICREX450E 错误 5 正在运行 fn ftnn: 用户存储器已耗尽或请求超过限制

说明

尝试处理程序时,语言处理器无法获取继续所需的资源。 (例如,它无法获取其工作区或变量所需的空间。) 调用语言处理器的程序可能已用完大部分可用存储器,或者存储请求可能超过了实现最大值。

系统操作

执行停止。

用户响应

自行运行 exec 或宏,或者检查发出 NUCXLOAD 的程序是否存在未正确终止的可能循环。 请与系统管理员联系以了解其他存储需求。

CICREX451E 错误 3 运行 fn ft: 程序不可读

说明

无法读取 REXX 程序。 这可能是由于 exec 文件中的数据错误或 I/O 错误所致。

系统操作

执行停止。

用户响应

请检查并更正 exec 文件。

注: 在 REXX exec 的第 73 到 80 列中不允许使用序号。

CICREX452E 错误 4 运行 fn ft,行 nn: 程序已中断

说明

系统中断了 REXX 程序的执行。 如果某些实用程序模块检测到灾难性错误情况,那么可能会强制此情况。

系统操作

执行停止。

用户响应

查找在 exec 或宏中调用的实用程序模块的问题。

CICREX453E 错误 6 运行 fn ft,行 nn: 不匹配/* 或引号

说明

注释或文字串已启动,但从未完成。 这可能是因为语言处理器检测到:
  • 文件的结尾 (或再解释语句中的数据的结尾) ,但未找到注释的结尾 */ 或文字串的结尾引号
  • 字面值字符串的行尾。

系统操作

执行停止。

用户响应

编辑 exec 并添加结束 */ 或报价。 您还可以在程序顶部插入 TRACE SCAN 语句并重新运行该语句。 生成的输出应显示错误存在的位置。

CICREX454E 运行 芬夫特时发生错误 7: 需要 WHEN 或 OTHERWISE

说明

语言处理器期望 SELECT 语句中包含一系列 WHENs 和 OTHERWISE。 当找到任何其他指令时,或者如果发现所有 WHEN 表达式都为 FALSE 并且不存在 OTHERWISE 时,将发出此消息。 该错误通常是由于在 WHEN 之后的指令列表中忘记 DO 和 END 指令而导致的。 例如:
   WRONG                       RIGHT

Select                      Select
  When a1=b1 then             When a1=b1 then DO
    Say 'A1 equals B1'          Say 'A1 equals B1'
    exit                        exit
  Otherwise nop                 end
  end                         Otherwise nop
                              end

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX455E 错误 8 运行 fn ft,行 nn: 意外的 THEN 或 ELSE

说明

语言处理器找到了与相应 IF 子句不匹配的 THEN 或 ELSE。 这种情况通常是由在复杂 IF-THEN-ELSE 构造的 THEN 部分中使用不正确的 DO-END 引起的。 例如,
   WRONG                       RIGHT

If a1=b1 then do;           If a1=b1 then do;
  Say EQUALS                  Say EQUALS
  exit                        exit
 else                         end
  Say NOT EQUALS             else
                              Say NOT EQUALS

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX456E 错误 9 运行 fn ft,行 nn: 意外的 WHEN 或 OTHERWISE

说明

语言处理器在 SELECT 构造之外找到了 WHEN 或 OTHERWISE 指令。 您可能不小心将该指令括在 DO-END 构造中,因为离开了 END 指令,或者您可能尝试使用 SIGNAL 语句将该指令分支到该指令 (由于 SELECT 随后被终止而无法工作)。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX457E 运行 fn ft的错误 10 ,行 nn: 意外或不匹配的 END

说明

语言处理器在程序中发现的 END 比 DOs 或 SELECT 多,或者 END 被放置成与 DOs 或 SELECT 不匹配。 将控制变量的名称放在关闭重复循环的 END 上可以帮助找到这种错误。

如果尝试将信号传递到循环的中间,那么可能会导致此消息。 在这种情况下, END 将是意外的,因为不会执行先前的 DO。 还请记住, SIGNAL 会终止任何当前循环,因此它不能用于将控制从循环中的一个位置转移到另一个位置。

如果将 END 紧跟在 THEN 或 ELSE 构造之后,或者在 END 关键字上指定了与 DO 后面的 name 不匹配的 name ,那么也会导致此消息。

系统操作

执行停止。

用户响应

进行必要的更正。 使用 TRACE Scan 来显示程序的结构会很有帮助,从而更容易找到您的错误。 将控制变量的名称放在关闭重复循环的 END 上也有助于找到这种错误。

CICREX458E 运行 fn ft的错误 11 ,行 nn: 控制堆栈已满

说明

如果超过控制结构 (DO-END , IF-THEN-ELSE 等) 的 250 个嵌套级别的限制,或者达到用户存储限制 (以较小者为准) ,那么将发出此消息。

此消息可能是由循环响应性指令引起的,例如:
line='INTERPRET line'
INTERPRET line
这些行将循环,直到它们超过嵌套级别限制,并且将发出此消息。 类似地,不能正确终止的递归子例程可以循环,直到它导致此消息。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX459E 运行 fn ft的错误 12 ,行 nn: 子句太长

说明

您已超出条款内部表示的长度限制。 实际限制是可以在单个请求上获取的存储量。

如果此消息的原因不明显,那么可能是因为缺少引号导致在一个长字符串中包含许多行。 在这种情况下,错误可能发生在子句回溯中包含的数据的开头 (由控制台上的 +++ 标记)。

子句的内部表示不包含字符串外部的注释或多个空格。 另请注意,任何符号 (名称) 或字符串在内部表示中都有两个字符的长度。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX460E 运行 芬夫特的错误 13 ,行 : 程序中的字符无效

说明

语言处理器在字面值 (加引号) 字符串外部发现不正确的字符。 有效字符为:
  • A-Z a-z 0-9 (字母数字字符)
  • @ # $美分.?! _ (名称字符)
  • & * ( ) - + = \ ¬ ' " ; : < , > / | (special characters)
如果由 X'0E'(shift-out) 和 X'0F' (shift-in) 包围,并且如果 ETMODE 已开启,那么以下也是有效字符:
  • X'41 '-X'FE' (DBCS 字符)
此错误的一些原因是:
  1. 在符号中使用重音符和其他特定于语言的字符。
  2. 使用未生效 ETMODE 的 DBCS 字符。
注: 根据仿真器配置中使用的代码页,以下字符可能在 REXX 联机帮助中以不同方式显示: @ # $ ¢。 另请参阅 CICS 文档中使用的约定和术语

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX461E 运行 fn ft的错误 14 ,行 nn: 未完成 DO/SELECT/IF

说明

语言处理器已到达文件的末尾 (或绎指令的数据末尾) ,并且发现存在没有匹配 END 的 DO 或 SELECT ,或者没有后跟 THEN 子句的 IF。

系统操作

执行停止。

用户响应

进行必要的更正。 您可以使用 TRACE Scan 来显示程序的结构,从而更容易找到缺少的 END 或 THEN 应该在哪里。 将控制变量的名称放在关闭重复循环的 END 上也有助于找到这种错误。

CICREX462E 运行 fn ft的错误 15 ,行 nn: 十六进制或二进制字符串无效

说明

二进制字符串是 REXX 中的新增内容,现在,语言处理器可能将语句中的字符串视为二进制字符串,而这不是您的意图。

对于语言处理器,十六进制字符串不能具有前导或尾部空格,并且只能在字节边界处具有嵌入的空格。 仅允许数字 0-9 以及字母 a-fA-F 。 类似地,二进制字符串只能在四个二进制数字的组边界处具有空白,并且仅允许数字 01

以下是所有有效的十六进制或二进制常量:
'13'x                       '0101 1100'b
'A3C2 1c34'x                '001100'B
'1de8'x                     "0 11110000"b

您可能未正确输入其中一个数字,例如,输入字母 o 而不是 0。 或者,您可能已将 1 字符符号 XxBb (分别为变量 XB的名称) 放在文字串之后,当该字符串不打算用作十六进制或二进制规范时。 在这种情况下,请使用显式并置运算符 (||) 将字符串并置为符号的值。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX463E 运行 fn ft的错误 16 ,行 nn: 找不到标签

说明

当发生相应 (捕获的) 事件时,语言处理器找不到 SIGNAL 指令指定的标签或与启用条件匹配的标签。 您可能输入了错误的标签或忘记了包含该标签,或者您可能在需要大写时以混合大小写的方式输入了该标签。

系统操作

执行停止。 错误回溯中包含缺少的标签的名称。

用户响应

进行必要的更正。

CICREX464E 运行 芬夫特行时发生错误 21: 子句末尾的数据无效

说明

您已按 SELECT 或 NOP之类的子句跟踪除注释以外的某些数据。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX465E 运行 fn ft的错误 17 ,行 nn: 意外的 PROCEDURE

说明

语言处理器在不正确的位置迂到 PROCEDURE 指令。 发生此情况的原因可能是没有内部例程处于活动状态,因为内部例程中已迂到 PROCEDURE 指令,或者因为 PROCEDURE 指令不是在 CALL 或函数调用之后执行的第一个指令。 导致此错误的原因可能是 删除 到内部例程,而不是使用 CALL 或函数调用来调用该例程。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX466E 运行 fn ftnn时发生错误 26: 整数无效

说明

语言处理器在 NUMERIC 指令,解析位置模式或指数 (**) 运算符的右边项中找到一个表达式,但该表达式未求值为整数,或者大于这些用途的限制 (999999999)。

如果从 EXIT 或 RETURN 指令 (当作为命令调用 REXX 程序时) 传回的返回码不是整数或不适合常规寄存器,那么也可以发出此消息。 此错误可能是由于错误输入符号的名称而导致的,因此它不是任何这些语句的表达式中的变量的名称。 例如,如果您输入了 EXIT CR 而不是 EXIT RC,那么可能是 true。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX467E 运行 fn ftnn时发生错误 27: DO 语法无效

说明

语言处理器在 DO 指令中发现语法错误。 您可能已使用 BY , TO , FOR , WHILE 或 UNTIL 两次,或者使用了 WHILE 和 UNTIL。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX468E 运行 fn ft的错误 30 ,行 nn: 名称或字符串> 250 个字符

说明

语言处理器找到长度超过限制的变量或字面值 (括在引号内) 字符串。

名称的限制是 250 个字符,遵循任何替换。 此错误的可能原因是在名称中使用句点 (.) ,导致意外替换。

文字串的限制为 250 个字符。 由于可以在字符串中包含多个子句,因此此错误可能是由于将结束引号 (或将单个引号放入字符串中) 留出而导致的。 例如,字符串 'don't' 应写为 'don''t'"don't"

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX469E 运行 fn ft的错误 31 ,行 nn: 名称以数字开头或。

说明

语言处理器找到其名称以数字数字或句点 (.) 开头的符号。 REXX 语言规则不允许您将值分配给其名称以数字或句点开头的符号,因为您可以重新定义数字常量,这将是灾难性的。

系统操作

执行停止。

用户响应

正确重命名变量。 最好以字母字符开头变量名,但允许使用其他一些字符。

CICREX470E 运行 fn ft的错误 34 ,行 nn: 逻辑值不是 0 或 1

说明

语言处理器在 IF , WHEN , DO WHILE 或 DO UNTIL 短语中找到未生成 0 或 1 的表达式。 Any value operated on by a logical operator (¬, \, |, &, or &&) must result in a 0 or 1. 例如,如果结果的值不是 0 或 1 ,那么短语 If result then exit rc 将失败。 因此,最好将该短语写为 If result¬=0 then exit rc

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX471E 运行 芬夫特的错误 35 ,行 : 表达式无效

说明

语言处理器在表达式中发现语法错误。 这可能是因为:
  • 您结束了一个带有运算符的表达式。
  • 您在表达式中指定了两个相邻的运算符,但它们之间没有任何内容。
  • 当需要表达式时,未指定表达式。
  • 当需要右括号时,您未指定右括号。
  • 您在预期的字符表达式中使用了特殊字符 (例如,运算符) ,而未将它们括在引号中。
最后一个案例的示例是 LISTFILE * * * 应写为 LISTFILE '* * *' (如果 LISTFILE 不是变量) 或甚至写为 'LISTFILE * * *'

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX472E 运行 芬夫特的错误 36 ,行 : 不匹配 (在表达式中)

说明

语言处理器在表达式中找到不匹配的括号。 如果在命令中包含单括号而不将其括在引号中,那么会出现此消息。 例如,写入 COPY A B C A B D (REP 为 COPY A B C A B D '('REP)。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX473E 运行 fn ft的错误 37 ,行 nn: 意外或)

说明

语言处理器在例程调用外部找到逗号 (,) ,或者在表达式中找到过多的右括号。 如果在字符表达式中包含逗号而不将其括在引号中,那么会出现此消息。 例如,以下指示信息:
Say Enter A, B, or C
应写为:
Say 'Enter A, B, or C'

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX474E 运行 fn ft的错误 39 ,行 nn: 评估堆栈溢出

说明

语言处理器无法对表达式求值,因为它太复杂 (例如许多嵌套的括号和函数)。

系统操作

执行停止。

用户响应

通过将子表达式分配给临时变量来拆分表达式。

CICREX475E 运行 芬夫特时发生错误 40: 对例程的调用无效

说明

语言处理器迂到了对例程的不正确使用的调用。 一些可能的原因是:
  • 您将不正确的数据 (自变量) 传递到内置例程或外部例程 (这取决于实际例程)。
  • 您将过多自变量传递到内置例程,外部例程或内部例程。
  • 调用的模块与语言处理器不兼容。
如果您未尝试调用例程,那么当您将符号或字符串用空格或运算符分隔时,可能有一个符号或字符串与括号 ( 相邻。 这将使其被视为函数调用。 例如, TIME (4 + 5) 可能应写为 TIME*(4+5)

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX476E 运行 fn ftnn时发生错误 41: 算术转换错误

说明

语言处理器在算术表达式中发现一个不是有效数字的项,或者它的指数超出允许的范围 -99999999999 到 +999999999。

您可能输入了错误的变量名称,或者在字符表达式中包含了算术运算符而未将其括在引号中。 例如,命令 MSG * Hi! 应该写为 'MSG * Hi!',否则语言处理器将尝试将 MSG 乘以 Hi!

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX477E 运行 fn ft的错误 42 ,行 nn: 算术溢出/下溢

说明

语言处理器迂到一个算术运算的结果,该运算要求指数大于 9 位的限制 (大于 999999999 或小于 -99999999999)。

在表达式求值期间 (通常是由于尝试将数字除以 0) ,或者在 DO 循环控制变量的步进期间,可能会发生此错误。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX478E 运行 fn ftnn时发生错误 43: 找不到例程

说明

语言处理器找不到程序中调用的例程。 您在表达式中或在 CALL 调用的子例程中调用了函数,但指定的标签不在程序中,或者不是内置函数的名称,并且 REXX/CICS 无法在外部找到该函数。

导致此错误的最简单且可能最常见的原因是错误输入名称。 另一种可能是其中一个标准函数包不可用。

如果您未尝试调用例程,那么可能已在 旁边放置符号或字符串 (当您表示该符号或字符串由空格或运算符分隔时, )。 语言处理器会将此视为函数调用。 例如,字符串 3 (4 + 5) 应写为 3*(4+5)

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX479E 运行 fn ft的错误 44 ,行 nn: 函数未返回数据

说明

语言处理器在表达式中调用了外部例程。 例程似乎在没有错误的情况下结束,但它未返回要在表达式中使用的数据。

这可能是由指定不打算用作 REXX 函数的模块的名称引起的。 它应该作为命令或子例程调用。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX480E 运行 芬夫特时发生错误 45 ,行 : 未在函数 RETURN 上指定数据

说明

REXX 程序已作为函数调用,但正在尝试返回 (通过 RETURN; 指令) 而不传递任何数据。 同样,作为函数调用的内部例程必须以指定表达式的 RETURN 语句结束。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX481E 运行 fn ft的错误 49 ,行 nn: 语言处理器故障

说明

语言处理器进行众多内部自一致性检查。 如果迂到严重错误,那么将发出此消息。

系统操作

执行停止。

用户响应

向 IBM 代表报告此消息的任何实例。

CICREX482E 运行 fn ft的错误 19 ,行 nn: 期望字符串或符号

说明

语言处理器期望 CALL 或 SIGNAL 指令后面有一个符号,但找不到任何符号。 您可能省略了字符串或符号,也可能在其中插入了特殊字符 (例如括号)。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX483E 运行 fn ft的错误 20 ,行 nn: 期望符号

说明

语言处理器期望在 CALL ON , CALL OFF , END , ITERATE , LEAVE , NUMERIC , PARSE , PROCEDURE , SIGNAL ON 或 SIGNAL OFF 关键字后面有一个符号,或者期望在 DROP , UPPER 或 PROCEDURE 关键字后面有一个符号或变量引用的列表 (带有 display 选项)。 当需要一个符号或找到一些其他字符时,没有任何符号。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX484E 运行 fn ftnn时发生错误 24: TRACE 请求无效

说明

语言处理器在以下情况下发出此消息:
  • 在 TRACE 指令或 TRACE 内置函数的自变量上指定的操作以与其中一个有效字母字符选项不匹配的字母开头。 有效选项为 A , C , E , F , I , L , N , O , R 或 S。
  • 尝试在任何控制构造内或在交互式调试期间请求 TRACE 扫描
  • 在交互式跟踪中,输入不是整数的数字。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX485E 运行 fn ft的错误 25 ,行 nn: 找到无效的子关键字

说明

语言处理器期望在指令中的此位置具有特定子关键字,并且找到了其他内容。 例如, NUMERIC 指令必须后跟子关键字 NUMERIC , FUZZ 或 FORM。 如果 NUMERIC 后跟任何其他内容,那么将发出此消息。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX486E 运行 fn ftnn时发生错误 28: LEAVE 或 ITERATE 无效

说明

语言处理器迂到不正确的 LEAVE 或 ITERATE 指令。 由于下列其中一个原因,该指令不正确:
  • 无循环处于活动状态。
  • 在指令上指定的名称与任何活动循环的控制变量都不匹配。
请注意,内部例程调用和绎指令通过使 DO 循环处于不活动状态来保护这些循环。 因此,例如,子例程中的 LEAVE 指令不能影响调用例程中的 DO 循环。

如果使用 SIGNAL 指令在循环中或在循环中传输控制,那么可以发出此消息。 SIGNAL 指令终止所有活动循环,然后发出的任何 ITERATE 或 LEAVE 指令将导致发出此消息。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX487E 运行 fn ft的错误 29 ,行 nn: 环境名称太长

说明

语言处理器迂到了在 ADDRESS 指令上指定的长度超过 8 个字符限制的环境名称。

系统操作

执行停止。

用户响应

正确指定环境名称。

CICREX488E 运行 fn ft的错误 33 ,行 nn: 表达式结果无效

说明

语言处理器迂到了在其特定上下文中不正确的表达式结果。 在下列其中一项中,结果可能不正确:
  • ADDRESS VALUE 表达式
  • 数字数字数字表达式
  • NUMERIC FORM VALUE 表达式
  • NUMERIC FUZZ 表达式
  • OPTIONS 表达式
  • SIGNAL VALUE 表达式
  • TRACE VALUE 表达式。
(FUZZ 必须小于数字。)

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX489E 运行 fn ftnn时发生错误 38: 模板或模式无效

说明

语言处理器在解析模板中找到不正确的特殊字符 (例如%) ,或者变量触发器的语法不正确 (在左括号后找不到符号)。 如果 PARSE VALUE 指令中省略了 WITH 子关键字,那么也会发出此消息。

系统操作

执行停止。

用户响应

进行必要的更正。

CICREX490E 运行 fn ft的错误 48 ,行 nn: 系统服务中发生故障

说明

语言处理器停止程序的执行,因为某些系统服务 (例如用户输入或输出或控制台堆栈的操作) 无法正常工作。

系统操作

执行停止。

用户响应

确保输入正确且程序正常工作。 如果问题仍然存在,请通知系统支持人员。

CICREX491E 运行 fn ft的错误 18 ,行 nn: 期望 THEN

说明

所有 REXX IF 和 WHEN 子句都必须后跟一个 THEN 子句。 在找到 THEN 语句之前,找到了另一个子句。

系统操作

执行停止。

用户响应

在 IF 或 WHEN 子句与以下子句之间插入 THEN 子句。

CICREX492E 运行 fn ft的错误 32 ,行 nn: 无效使用词干

说明

REXX 程序尝试更改作为词干的符号的值。 (一个词干是一个符号直到第一个句号的那部分。 如果要影响以该词干开头的所有变量,请使用词干。) 这可能是在 UPPER 指令中,在这种情况下,操作未知,因此出错。

系统操作

执行停止。

用户响应

更改程序,使其不会尝试更改词干的值。

CICREX1106E 运行 fn ftnn时发生错误 23: SBCS/DBCS 混合字符串无效。

说明

使用有效的 OPTIONS EXMODE 处理了具有不匹配的 SO-SI 对 (即,没有 SI 的 SO) 或 SO-SI 字符之间的奇数个字节的字符串。

系统操作

执行停止。

用户响应

更正不正确的字符串。