IBM 扩展

PROGRAM STATUS 子句

PROGRAM STATUS 子句指定一个数据项,在程序中发生错误后,会将预定义程序状态结构中的值移动到该数据项中。

PROGRAM STATUS 子句-格式

读取语法图跳过可视语法图PROGRAM STATUSISdata-name-1 START POSITIONISinteger-1
data-name–1
必须是 WORKING-STORAGE SECTION中描述的字母数字字段。 如果从嵌套程序引用 data-name-1 ,那么必须在最外层程序中将其定义为全局。 data-name-1 的长度必须是程序状态结构子字段的长度的倍数。
integer–1
指定程序状态结构的起始位置。 如果未指定 integer-1 ,那么假定开始位置为 0。 Integer-1 必须与程序状态结构子字段的起始位置匹配。

如果在 SPECIAL-NAMES 段中指定了 PROGRAM STATUS 子句,那么将使用预定义程序状态结构中的值更新 data-name-1 。 此结构包含子字段,这些子字段向您提供有关发生的程序异常/错误的信息。 表 1 提供数据结构的子字段的布局及其包含的信息。

表 1. 程序状态数据结构的内容
开始位置 长度 格式 描述
0 10 字符 程序名。
10 10 字符 程序库名。
20 10 字符 模块名称。
30 10 字符 语句号。 *N (如果不可用)。
40 6 字符 优化级别。
46 7 字符 异常消息标识。
53 10 字符 作业名。
63 6 字符 作业号。
69 1 字符 作业类型。
70 10 字符 运行程序的用户概要文件。
80 14 字符 发生错误的时间的时间戳记 (格式为 YYYYMMDDHHMMSS)。

通过对子字段的长度和起始位置进行编码,从移动到 data-name-1 中的程序状态结构中选择子字段。 编译器使用长度和起始位置来确定 data-name-1 映射到的程序状态子字段。 长度和起始位置必须与程序状态结构的一个或多个预定义子字段匹配。

IBM 扩展结束