显示文件的 DSPATR (显示属性) 关键字
您可以使用此字段级别关键字来指定要定义的字段的一个或多个显示属性。
可以对同一字段多次指定 DSPATR 关键字,并且可以对同一关键字指定多个属性。 但是,每个属性 (例如 UL) 只能对每个字段指定一次。
关键字的格式为
DSPATR(attribute-1 [attribute-2 [attribute-3 [...]]])
or
DSPATR(&program-to-system-field);如果为同一字段指定多个属性 (无论是在一个关键字中还是在单独的关键字中) ,那么指定的每个属性 (在显示该字段时生效) 都会影响该字段。 例如,如果您希望在显示字段时反转其图像并具有高强度,请指定 DSPATR (RI HI) 或 DSPATR (RI) 和 DSPATR (HI)。
程序到系统字段参数是必需的,并指定必须以记录格式,字母数字 (A 在位置 35) ,长度 1 和用法 P (P 在位置 38) 来定义指定字段。 程序使用此 P 字段来设置此 DSPATR 关键字应用于的字段的显示属性。
名称 P 字段用于正在定义记录的多个字段。 每个字段允许一个 DSPATR P 字段。 P 字段包含显示属性,并标识是否应保护该字段。 请参阅 有效的 P 字段值 (Valid P-field values)。
DSPATR 关键字的第一个格式的有效属性
以下列表显示 DSPATR 关键字的第一个格式的有效属性:
- 对于所有字段
- 显示器属性 (display attribute)
- 含义
- BL
- 闪烁字段
- CS
- 列分隔符
- HI
- 高强度
- ND
- 非显示
- PC
- 位置光标
- RI
- reverse image(反色图像)
- UL
- 下划线
- 仅适用于 "可输入" 字段
- 显示器属性 (display attribute)
- 含义
- MDT
- 显示时设置已更改的数据标记
- OID
- 操作员标识
- 采购请求
- 防止字段内容输入
- SP
- 按光笔选择
- 如果在同一字段的 5250 显示站上指定 UL , HI 和 RI 属性,那么结果与指定 ND 的结果相同。
- 如果指定了 OID ,那么不应指定 SP。 除非与另一个显示属性一起指定,否则 OID 和 SP 都不能被选择。
- 还可以在文件,记录或字段级别将显示属性 BL , CS , HI , RI 和 UL 指定为 CHGINPDFT 关键字上的参数值。
- 显示属性 CS , HI 和 BL 可使 5292 , 3477 型号 FC , 3487 型号 HC , 3179 , 3197 型号 C1 和 C2以及 34881 颜色显示站上的字段显示为颜色字段。
- 如果您正在使用模拟 5250 显示站的 IBM® Personal System/2 (PS/2) 计算机,并且您正在直接更改 EBCDIC 屏幕缓冲区,那么需要设置 MDT 属性。 请参阅 IBM Personal Computer Enhanced 5250 Emulation Program Technical Reference 手册以获取更多信息。
- 如果您正在使用 PS/2 计算机和 VGA 监视器,那么由于使用缓冲区的方式存在特定于硬件的限制, UL 属性无法工作。
选项指示符对此关键字有效,但当属性 OID 或 SP 是唯一指定的显示属性时除外。
下图中提供了编码示例和样本显示之后的每个属性的详细描述。

显示所有字段的属性
以下列表显示所有字段的属性:
- BL(闪烁)
- 使用此属性可指定字段在显示时闪烁。
- CS (列分隔符)
- 使用此属性来指定字段的每个位置都将在其左边缘和右边缘显示一个竖线。 当为非显示字段指定时,即使分隔符之间没有字符,也会显示分隔符。 可以使用列分隔符来精确指示字段中的光标位置,并指示非空白字段的长度。
- HI (高强度)
- 使用此属性可指定当字段显示在屏幕上时要加强 (突出显示) 该字段。
- ND (不显示)
- 使用此属性可指定不显示该字段; 此字段的显示位置显示为空白。 该属性可用于密码或其他安全敏感数据。 如果执行打印功能 (通过指定 PRINT 关键字允许) ,那么不打印非显示字段。
- PC (位置光标)
- 使用此属性将光标定位到要定义的字段的第一个字符位置。 您可以为多个字段指定此属性,并且光标将位于具有此属性的第一个选定字段。 请注意,记录中的字段在显示时按行/位置顺序排序,而不一定按您指定的顺序排序。
- RI (反向图像)
- 使用此属性来指定显示字段的图像时将从屏幕的其他部分反转。 屏幕是亮-亮-暗还是暗-亮取决于显示字段之前的显示状态。 此设置由工作站用户控制。
- UL (下划线)
- 使用此属性可指定字段在显示时将带有下划线。 缺省情况下,所有可输入字段都带有下划线。 使用 CHGINPDFT 关键字来防止缺省下划线。 (如果指定 CHGINPDFT ,那么必须指定 DSPATR (UL) 以对可输入的字段加下划线。) 如果用选项指示符指定了 DSPATR (UL) 并且未满足选项指示符 (未选择 DSPATR (UL)) ,那么该字段将显示无下划线。
显示可输入字段的属性
以下列表显示了支持输入的字段的属性:
- MDT (设置已更改的数据标记)
- 使用此属性可指定 IBM i 操作系统将在您定义的字段的已更改数据标记 (MDT) 上设置何时将该字段写入显示。 该属性确保从屏幕读取记录时从设备发送字段。注: IBM i 程序保存输入/输出字段的输出数据或指定了 DFT 关键字的字段的初始化数据。 如果未在字段中输入新的 (已更改的) 数据,那么这将导致在输入操作中返回已保存的数据。
- OID (运算符标识)
使用此属性可指定 IBM i 操作系统允许在此字段中输入磁条阅读器 OID 数据。 如果它也是非显示字段,那么必须指定 DSPATR (ND) 属性。
具有 DSPATR (OID) 关键字功能的字段与任何其他可输入的字段一样; 可以从键盘或磁条阅读器输入数据。 可以指定 DSPATR (OID) 关键字 (但不需要) 以指示可以使用磁条阅读器输入数据。 除非指定了键盘移位禁止键盘输入 (I) ,否则可以在该字段中输入。 如果在同一字段上同时指定了 DSPATR (OID) 和 DSPATR (SP) ,那么将忽略 DSPATR (SP)。
- PR (保护)
- 使用此属性可指定工作站用户无法输入您正在定义的可输入字段。 此属性仅对可输入字段有效。 仅输出字段和常量字段受定义保护。
- SP (按光笔选择)
使用此属性可指定此可输入字段可由光笔选择。 除非在字段的位置 35 (数据类型/键盘 Shift) 中指定了 I (禁止键盘输入) ,否则工作站用户可以在轻笔字段中输入。
当第一次显示该字段时,该字段的内容由您的程序 (输入/输出字段) 或在 DDS (带有 DFT 关键字或字符串的仅输入字段) 中设置。 如果工作站用户未输入任何新数据,那么此输出数据将在输入操作中返回到程序。
可以由光笔选择的字段的长度应该至少为 3 字节。 此字段的建议内容为:- 切换字符,十六进制 6F (?) ,或者,如果工作站用户通过光笔选择该字段,那么为十六进制 6E (>)
- 空白 (十六进制 40)
- 目标字符,可以是任何字符,例如星号 (*)
- 另一个空白
- 用于向工作站用户标识字段的其他数据 (1 或更多字符)
此属性仅对具有供选择的轻笔功能的工作站有用。
有效的 P 字段值
DSPATR P 字段不支持以下显示属性:
- 显示器属性 (display attribute)
- 含义
- MDT
- 显示时设置已更改的数据标记
- OID
- 操作员标识
- PC
- 位置光标
- SP
- 按光笔选择
有效的 P 字段值 (非保护)
| 十六进制 | 受限颜色 | 全色 |
|---|---|---|
| 20 | 正常 | 绿色 |
| 21 | reverse image(反色图像) | 绿色,逆向图像 |
| 22 | 高强度 | 白色 |
| 23 | 高强度逆向图像 | 白色,反面图像 |
| 24 | 下划线 | 绿色,下划线 |
| 25 | 下划线,反转图像 | 绿色,下划线和反向图像 |
| 26 | 下划线,高强度 | 白色,下划线 |
| 27 | 非显示 | 非显示 |
| 28 | 闪烁 | 红色 |
| 29 | 闪烁,反转图像 | 红色,反转图像 |
| 2A | 眨眼,高强度 | 红色,高强度 |
| 2B | 闪烁,高强度,反向图像 | 红色,高强度,逆向图像 |
| 2C | 闪烁,下划线 | 红色,下划线 |
| 2D | 闪烁,下划线,反转图像 | 红色,下划线和反转图像 |
| 2E | 闪烁,下划线,高强度 | 红色,下划线和闪烁 |
| 2F | 非显示 | 非显示 |
| 30 | 列分隔符 | 绿松石,列分隔符 |
| 31 日 | 反向图像,列分隔符 | 绿色化,列分隔符,反向图像 |
| 32 | 高强度,列分隔符 | 黄色,列分隔符 |
| 33 | 高强度,反向图像,列分隔符 | 白色,反转图像,列分隔符 |
| 34 | 下划线,列分隔符 | 绿色,下划线,列分隔符 |
| 35 | 下划线,反向图像,列分隔符 | 青绿,下划线,反转图像,列分隔符 |
| 36 | 下划线,高强度,列分隔符 | 黄色,下划线和列分隔符 |
| 37 | 非显示 | 非显示 |
| 38 | 闪烁,列分隔符 | 粉色 |
| 39 | 闪烁,反转图像,列分隔符 | 粉红色,反转图像 |
| 3A | 闪烁,高强度,柱形分离器 | 蓝色 |
| 3B | 闪烁,高强度,反向图像,列分隔符 | 蓝色,反向图像 |
| 3C | 闪烁,下划线和列分隔符 | 粉红色,下划线 |
| 3D | 闪烁,下划线,反转图像,列分隔符 | 粉红色,下划线和反转图像 |
| 3E | 闪烁,下划线,高强度,列分隔符 | 蓝色,下划线 |
| 3F | 非显示 | 非显示 |
有效的 P 字段值 (保护)
| 十六进制 | 受限颜色 | 全色 |
|---|---|---|
| A0 | 正常 | 绿色 |
| A1 | reverse image(反色图像) | 绿色,逆向图像 |
| A2 | 高强度 | 白色 |
| A3 | 高强度逆向图像 | 白色,反面图像 |
| A4 | 下划线 | 绿色,下划线 |
| A5 | 下划线,反转图像 | 绿色,下划线和反向图像 |
| A6 | 下划线,高强度 | 白色,下划线 |
| A7 | 非显示 | 非显示 |
| A8 | 闪烁 | 红色 |
| A9 | 闪烁,反转图像 | 红色,反转图像 |
| 肯定行动 | 眨眼,高强度 | 红色,高强度 |
| AB | 闪烁,高强度,反向图像 | 红色,高强度,逆向图像 |
| 交流电源 (AC) | 闪烁,下划线 | 红色,下划线 |
| 公元 | 闪烁,下划线,反转图像 | 红色,下划线和反转图像 |
| AE | 闪烁,下划线,高强度 | 红色,下划线和闪烁 |
| AF | 非显示 | 非显示 |
| B0 | 列分隔符 | 绿松石,列分隔符 |
| B1 | 反向图像,列分隔符 | 绿色化,列分隔符,反向图像 |
| B2 | 高强度,列分隔符 | 黄色,列分隔符 |
| B3 | 高强度,反向图像,列分隔符 | 白色,反转图像,列分隔符 |
| B4 | 下划线,列分隔符 | 绿色,下划线,列分隔符 |
| B5 | 下划线,反向图像,列分隔符 | 青绿,下划线,反转图像,列分隔符 |
| B6 | 下划线,高强度,列分隔符 | 黄色,下划线和列分隔符 |
| B7 | 非显示 | 非显示 |
| B8 | 闪烁,列分隔符 | 粉色 |
| B9 | 闪烁,反转图像,列分隔符 | 粉红色,反转图像 |
| BA | 闪烁,高强度,柱形分离器 | 蓝色 |
| BB | 闪烁,高强度,反向图像,列分隔符 | 蓝色,反向图像 |
| 公元前 | 闪烁,下划线和列分隔符 | 粉红色,下划线 |
| BD | 闪烁,下划线,反转图像,列分隔符 | 粉红色,下划线和反转图像 |
| CN | 闪烁,下划线,高强度,列分隔符 | 蓝色,下划线 |
| BF | 非显示 | 非显示 |
示例1
以下示例显示如何使用仅输入字段 (将建议的数据内容显示为字符串) 指定 DSPATR (SP) 关键字。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00110A SPFLD 50I I 5 4'? * OPTION 1'
00120A DSPATR(SP)
A不能将任何数据输入到字段 SPFLD 中。 当用光笔选择字段时,在字段 SPFLD 中返回的数据将是:>_*_OPTION_1,其中 _ 表示空白。
示例2
以下示例显示当工作站用户使用光笔选择字段时, MDT 位和该字段的第一个字符都将更改。 当选择该字段时,将 MDT 位设置为 on ,将该字段的第一个字符更改为>。如果再次选择同一字段,那么 MDT 位设置为 off ,第一个字符变为?。
通过指定切换字符,程序可防止将数据的第一个字符更改为> 或? 当用光笔选择该字段时。 如果当程序将输入操作发送到记录格式时 MDT 位处于打开状态,那么该字段的内容将作为用户更改的字段返回到程序。
如果使用 DSPATR (MDT) 在可由光笔选择的字段的 MDT 上设置,那么应从其他记录格式中省略 MDTOFF 关键字,或在显示任何具有有效 MDTOFF 的记录格式之前读取该字段。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A R LIGHTPEN
00020A FLD1 10 I 5 2'> * $12.50'
00030A DSPATR(SP MDT)
00040A*
00050A R RCD2 OVERLAY MDTOFF
00060A FLD1 10 B 11 2
A如果程序显示 LIGHTPEN ,然后显示 $TAG1 RCD2 $TAG2 ,然后读取 LIGHTPEN ,并且工作站用户未使用光笔选择 FLD1 ,那么 FLD1 的 MDT 将通过显示 RCD2来关闭。
另外, FLD1 的开关字符返回为? , 即使未选择该字段,切换字符也会显示为>。 MDT 和开关字符处于相反状态。
示例3
以下示例显示如何使用 P 字段用法指定 DSPATR 关键字:
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A R RECORD
A FLD1 5A 2 6DSPATR(&PFLD1)
A FLD2 5A 2 6DSPATR(&PFLD2)
A PFLD1 1A P
A PFLD2 1A P
A