set

下列各节描述 EGL set 语句的作用:

对整个记录(或固定记录)的影响

下表描述影响整个记录或固定记录或者记录或固定记录数组的 set 语句。

set 语句的格式 作用
set record empty 清空每个基本字段。对于记录,将清空每个下级记录,清空这些下级记录的每个下级记录,以此类推。对于固定记录(它本身可能在记录中),基本字段位于固定结构的最低级别。
每个基本字段的影响取决于该字段的基本类型:
  • 对于类型为 ANY 的字段,set 语句会根据字段的当前类型对字段进行初始化;并且如果字段为 ANY 类型并且不具有任何其它类型,则 set 语句将不起作用
  • 有关其它类型的字段的详细信息,请参阅数据初始化
set record initial 将字段值复位为由 value 属性在开发时指定的值,这对于在 pageHandler 或表单中声明的记录或固定记录是可行的。由赋值设置的值永远不会复位。

如果 value 属性没有值或者如果记录不在 pageHandler 或表单中,set record initial 的效果与 set record empty 的效果相同,但以下情况例外:对于类型为 ANY 的字段,set 语句将除去 ANY 之外的所有类型说明。

set record position 确定与类型为 indexedRecord 的固定记录相关联的 VSAM 文件中的位置,如稍后所述。

此 set 语句格式对数组不可用。

可将各种语句格式组合使用,选项间用逗号隔开。对于给定记录,选项按它们在 set 语句中的出现顺序起作用。您还可以指定多个记录,记录间用逗号隔开。

语法图如下所示:


影响整个记录的 set 语句的语法图
record name
任何类型的记录或固定记录的名称。可以指定数组。
indexed record name
类型为 indexedRecord 的固定记录的名称。仅当未包括 set record position 时,才能指定数组。
empty
如上表所述。
initial
如上表所述。
position
根据 set value(这是带索引记录中的键值)确定文件位置。整体作用取决于代码对同一个带索引记录执行的下一个输入或输出操作:
  • 如果下一个操作是 EGL get next 语句,则该语句读取键值等于或大于 set value 的第一个文件记录。如果不存在这样的记录,则 get next 语句的结果是 endOfFile
  • 如果 set record position 之后的下一个操作是 EGL get previous 语句,则该语句读取键值等于或小于 set value 的第一个文件记录。如果不存在这样的记录,则 get previous 的结果是 endOfFile
  • set record position 之后的任何其它操作都将重置文件位置,并且 set record position 不起作用。
如果用十六进制 FF 值填充了 set value,则下列情况成立:
  • set record position 在文件中的最后一条记录之后确定文件位置
  • 如果下一个操作是 get previous 语句,则检索文件中的最后一条记录

对整个表单的作用

下表描述影响整个表单的 set 语句。

set 语句的格式 作用
set form alarm 仅限于文本表单;当下一次 converse 语句显示表单时发出警报声。
set form empty 清空表单中的每个字段的值,清除任何内容。对给定字段的影响取决于基本类型:
  • 对于类型为 ANY 的字段,set 语句会根据字段的当前类型对字段进行初始化;并且如果字段为 ANY 类型并且不具有任何其它类型,则 set 语句将不起作用
  • 有关其它类型的字段的详细信息,请参阅数据初始化
set form initial 将每个表单字段重置为其最初定义的状态,该状态是在表单声明中指定的。程序所作的更改都将被取消。对于类型为 ANY 的字段,set 语句会除去 ANY 之外的所有类型说明。
set form initialAttributes 将每个表单字段重置为其最初定义的状态,该状态是在表单声明中指定的。字段的内容不受影响,类型也不受影响(如果字段类型为 ANY 的话)。

可以将各种语句格式组合使用,选项(如 emptyalarm)间用逗号隔开。您还可以指定多个表单,表单间用逗号隔开。

对于下列格式,可以选择一种格式,也可以不选择:
  • set form empty
  • set form initial
对于下列格式,可以选择一种格式、两种格式或不选择:
  • set form alarm(仅可用于文本表单)
  • set form initialAttributes

语法图如下所示:


影响整个表单的 set 语句的语法图
form name
text 类型或 print 类型的表单的名称,如表单部件中所述。
text form name
text 类型的表单的名称,如表单部件中所述。

上表对这些选项作了描述。

对任何上下文中的字段的影响

下表描述影响任何上下文中的字段的 set 语句的格式。

set 语句的格式 作用
set field empty 清空字段或(对于具有子结构的固定字段)清空每个下级基本字段。
它的影响取决于字段的基本类型:
  • 对于类型为 ANY 的字段,set 语句会根据字段的当前类型对字段进行初始化;并且如果字段为 ANY 类型并且不具有任何其它类型,则 set 语句将不起作用
  • 有关其它类型的字段的详细信息,请参阅数据初始化
set field null 使字段为 NULL(如果这样做有效的话)。有关此操作何时有效的详细信息,请参阅 itemsNullable。有关 SQL 记录中的 NULL 处理的详细信息,请参阅 SQL 项属性

语法图如下所示:


影响非表单项或数组的 set 语句的语法图
field name
字段的名称。

您可以选择一个或另一个选项,每个选项在上表中作了描述。

对文本表单中的字段的作用

下表描述影响文本表单中的字段或字段数组的 set 语句。给定的 set 语句只能按一组特定的方式来组合选项,如稍后所述。

注: 描述的许多操作都取决于显示文本表单的设备。建议您在所支持的每个设备上测试输出。

set 语句的格式 作用
set field blink 导致文本重复地闪烁。此选项仅在 COBOL 程序中可用。
set field bold 使文本以粗体字显示。
set field cursor 将游标定位在指定的字段中。

如果字段标识了数组,并且没有 occurs 值,则缺省情况下游标定位在第一个数组元素上。

如果程序运行多个具有 set field cursor 格式的语句,则最后一个语句在 converse 语句运行时起作用。

set field defaultColor 将特定于字段的 color 属性设置为 defaultColor,这表示显示的颜色由其它条件确定。有关详细信息,请参阅字段显示属性
set field dim 导致字段以低于正常的密度显示。使用此效果来淡化字段内容。
set field empty 初始化字段的值,并清除任何内容。对给定字段的作用取决于基本类型,如数据初始化中所述。
set field full 在显示表单之前,将空的、空白的或 NULL 字段设置为一系列完全相同的字符:
  • 如果字段属性 fillCharacter 是以下值(这也是 fillCharacter 的缺省值),则该字符为星号(*):
    • 对于 HEX 类型的字段,值为 0
    • 对于数字类型的字段,值为空格
    • 对于其它字段,值为空字符串
  • 如果未将 fillCharacter 设置为上面描述的值,则该字符与 fillCharacter 的值完全相同。

仅当针对该字段的已修正数据标记被设置好时,才将表单上的字符返回给程序,如已修正数据标记和 modified 属性中所述。更改字段的用户必须除去字段中的所有字符才能避免将它们返回给程序。

仅当表单组是使用构建描述符选项 setFormItemFull 生成时,set field full 的使用才起作用。

如果 MBCHAR 类型的字段只包含单字节空格,则认为它是空的。对于这样的字段,set field full 指定一系列单字节字符。

set field initial 将字段重置为其最初定义的状态,和程序所作的任何更改无关
set field initialAttributes 将字段重置为其最初定义的状态,而不使用 value 属性(该属性指定字段的当前内容)
set field invisible 使字段文本不可见
set field masked 适用于密码字段。如果文本表单是由 Java™ 程序提供的,将显示星号而不是用户在输入字段中输入的任何非空白字符。
set field modified 设置已修正数据标记,如已修正数据标记和 modified 属性中所述。
set field noHighlight 消除闪烁、反转和下划线等特殊效果。
set field normal 重置字段,如下列格式所述:
  • Set field normalIntensity
  • Set field unmodified
  • Set field unprotected

有关详细信息,请参阅下表。

set field normalIntensity 将字段设置为可视,并且没有粗体字效果。
set field protect 设置字段,使用户不能覆盖其中的值。另请参阅 set field skip
set field reverse 反转文本和背景色,举例来说,如果显示器是黑底白字的,则背景变为白色的,而文本变为黑色的。
set field selectedColor 将特定于字段的 color 属性设置为指定的值。selectedColor 的有效值如下所示:
  • black
  • blue
  • green
  • pink
  • red
  • torquoise
  • white
  • yellow
set field skip 设置字段,使用户不能覆盖其中的值。另外,在下列任何一种情况下,光标将跳过该字段:
  • 用户正在跳进顺序中的上一个字段中输入,并且按下 Tab 键或者在上一个字段填充了内容;或者
  • 用户正在跳进顺序中的下一个字段中输入,并且按下 Shift Tab 键。
set field underline 在字段底部放置一条下划线。
set field unprotect 设置字段,使用户可以覆盖其中的值。
可以按照三种方式中的任何一种方式来将各种语句格式组合使用,并插入逗号以将选项(如 cursorfull)分隔开:
  1. 可以按照以下方式构造 set 语句:
    • 选择下列其中一种字段属性格式或不选择任何字段属性格式:
      • set field initialAttributes
      • set field normal
    • 选择任意数目的下列格式:
      • set field cursor
      • set field empty
      • set field full
  2. 其次,可以使用任意数目的下列格式来构造 set 语句:
    • set field cursor
    • set field full
    • set field initialset field initialAttributes
  3. 最后,可以按照以下方式构造 set 语句:
    • 选择任意数目的下列格式:
      • set field cursor
      • set field full
      • set field modified
    • 选择下列其中一种颜色格式或不选择任何颜色格式:
      • set field defaultColor
      • set field selectedColor
    • 选择下列其中一种突出显示格式或不选择任何突出显示格式:
      • set field blink
      • set field reverse
      • set field underline
      • set field noHighlight
    • 选择下列其中一种亮度格式或不选择任何亮度格式:
      • set field bold
      • set field dim
      • set field invisible
      • set field masked
      • set field normalIntensity
    • 选择下列其中一种保护格式或不选择任何保护格式:
      • set field protect
      • set field skip
      • set field unprotect

语法图如下所示:


影响文本字段的 set 语句的语法图
field name
文本表单中的字段的名称。该名称可能指的是字段数组。

上表对这些选项作了描述。

使用条款 | 反馈
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.