DDS23.docx
《DDS23.docx》由会员分享,可在线阅读,更多相关《DDS23.docx(29页珍藏版)》请在冰豆网上搜索。
DDS23
3.3.15CHANGE(修改)
使用此记录层或字段层键字在如下条件下把为一个输入操作定义的响应指示置为ON:
·此键字是在记录层定义的,且记录格式中所有可输入字段的修改数据标记(MDT)置
为ON。
·此键字是在可输入字段规定的,而且此字段的悠入数据标记(MDT)置为ON。
关于如何在系统36环境文件中指定CHANGE键字,详见附录F“系统36环境考虑”内容。
此键字的格式为:
CHANGE(响应指示器[‘说明’])
在显示站用户向一个可输入字段输入数据时,或者用户程序为该字段的输出操作选择了显示属性(DSPATR(MDT))键字时,该字段MDT被置为ON。
如果MDT是用DSPATR(MDT)键字置为ON的,字段中的数据可能并没有修改,即使MDT(从而是为CHANGE键字指定响应指示器)被置为ON。
注意即使显示站用户向该字段内键入与初始显示相同的数据(比如向空白字段键入数据然后再把该字段清为空白),MDT还是被置为ON。
注:
在按下命令注意键(CAnn,Help,Pring,Home或Clear)时,没有把CHANGE响应指示器置为ON。
在OS/400程序检测到有效性错误并且再次显示有错误信息的记录时,所有因向字段中键入数据而被置为ON的CHANGE键字响应指示器一直保持ON,直到所有有效性检验通过,记录数据被传送给用户程序为止。
在程序编译期间产生的清单中包括了可选说明,用来解释所用的指示器。
这个说明在文件程序中不起作用,仅仅是个注释。
说明要用两个撇号括起。
如果两个撇号间的字符多于50个,在程序打印输出时截断为50个。
可选指示器对此键字是有效的。
图3-27给出如何在字段层指定CHANGE键字。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010AFLDX5B82CHANGE(67'FLDXwaschanged')
A
00020AFLDY3I830CHANGE(68'FLDYwasentered')
A
图3-27在字段层规定CHANGE键字
图3-28给出了如何在记录层规定CHANGE键字。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010ARREC1
00020ACHANGE(88'Afieldwaschanged')
00030A*
00040AFIELD110B32
00050AFIELD25B52
00060AFIELD36B72
00070AFIELD43I92DFT('ABC')
A
图3-28在记录层规定CHANGE键字
3.3.16CHCACCEL(选项加速说明)
使用此字段层键字来为下拉记录中的单选选择字段对某一选项的加速键规定说明。
注:
CHCACCEL只描述加速键的说明。
它不能定义功能键。
此键字的格式为:
CHCACCEL(选项号加速说明)
选项号参数指定此键字用的单选字段的选项号,有效值为1到99。
加速说明参数规定标识加速键的描述。
此参数可以用下面两种格式之一规定:
·以字符串形式:
‘加速说明’。
·以程序到系统字段形式:
&字段名。
规定的字段必须和选择字段存在于同一记录中,而且必须定义为用法为P的字符字段。
说明放在距选项说明最大长度右端三个空格处。
加速说明的最大长度由最长的选项说明长度决定。
这两者合起来不能超出文件规定的最小显示尽寸的宽度。
CHCACCEL键字仅允许用于在记录层指定键字(PULLDOWN)的下拉记录的单选选择字段。
(在同一字段规定SNGCHCFLD键字。
)
可选指示器对此键字是无效的。
图3-29给出了如何规定CHCACCEL键字。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A
ARPULLEDITCF04CF06
APULLDOWN
AF12Y0B12SNGCHCFLD
ACHOICE(1'>Undo')
ACHOICE(2'>Mark')
ACHOICE(3'>Copy')
ACHCACCEL(1'F4')
ACHCACCEL(2&F6)
AF62AP
图3-29规定CHCACCEL键字
在此例中,Choice1和2分别有加速键CF04和CF06。
当显示下拉菜单时,字符说明‘F4’出现在‘Undo‘右边,其间有三个空格;字段F6的说明出现在’Mark‘右边,其间有三个空格。
最长的Choice说明决定了所有Choice说明的长度。
对ACCEL说明也是这样。
于是ACCEL说明起始于距最长Choice右端三个空格处。
3.3.17CHCAVAIL(可用选项的颜色/显示属性)
使用此字段层键字来指定在菜单条、按钮、选择字段或子文件选择表中单选或多选中可用选项所用的颜色和显示属性。
键字的格式为:
CHCAVAIL([颜色][显示属性])
必须至少规定一个参数。
颜色参数指明了在彩色显示站上显示的,使用键字MNUBARCHC、CHOICE或PSHBTNCHC的字段的选项说明颜色。
选项说明也能来自子文件选择表中单选或多选的说明。
参数是以(*COLOR值)的表达式来规定的。
颜色参数的合法值为:
值含义
BLU蓝色
GRN绿色
PNK粉红色
RED红色
TRQ蓝绿色
YLW黄色
WHT白色
如果没有指定颜色参数,菜单条中可用选项的缺省颜色为绿色。
选择字段中可用选项的缺省颜色为绿色。
在单色工作站上此参数无效。
显示属性参数表明了字段的MNUBARCHC或CHOICE键字所指定的选项说明的显示属性。
该参数以(*DSPATR值1<值2〈值3……>>〉的表达式规定。
显示属性的有效值为:
值含义
BL闪烁
CS列分隔符
HI高亮度
ND不显示
RI反象
UL下划线
菜单条中缺省显示属性为高亮度。
选择字段中缺省显示属性为正常(或低)亮度。
注:
显示属性CS,HI和BL可使在5292,3179,3197型C1和C2,3477型FC,3486,3487型HC和3488
(1)工作站上的字段显示为彩色字段。
使用显示属性HI,RI和UL时不显示分隔线。
关于COLOR键字的使用,详见3.3.30“COLOR(颜色)”内容。
CHCAVAIL键字只允许用在规定了一个或多个PSHBTNCHC,CHOICE或MNUBARCHC键字的字段中。
它也可用在子文件控制记录使用SFLSNGCHC或SFLMLTCHC键字的子文件中。
可选指示器对此键字有效。
(1)取决于连接显示设备的监视器
图3-30给出如何指定CHCAVAIL键字。
|....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A
ARRECORDMNUBAR
AF12Y0B12
AMNUBARCHC(1PULLFILE'File')
AMNUBARCHC(2PULLEDIT'Edit')
ACHCAVAIL((*COLORYLW))
A
图3-30指定CHCAVAIL键字(例1)
在图3-30中,彩色显示器上,菜单条的选项显示为黄色。
对单色显示器,菜单条缺省为高亮、绿色。
在图3-31中,选择字段的选项显示下划线。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A
ARRECORD
AF12Y0B25SNGCHCFLDCHECK(ER)
ACHOICE(1'Choicenumber1')
ACHOICE(2'Choicenumber2')
ACHCCTL(1&CHCCTL1)
ACHCCTL(2&CHCCTL2)
ACHCAVAIL((*DSPATRUL))
A
图3-31指定CHCAVAIL键字(例2)
在图3-32,在彩显中单选的选择列表显示为黄色,可用的选项有下划线。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
ARSFLRECSFL
ACTLFLD1Y0HSFLCHCCTL
ARSFLCTLRCDSFLCTL(SFLREC)
ASFLSNGCHC
A:
A:
ACHOICE(1'Choicenumber1')
A:
A:
ACHOICE(2'Choicenumber2')
A:
A:
ACHCAVAIL((*DSPATRUL))
ACHCAVAIL((*COLORYLW))
图3-32指定CHCAVAIL键字(例3)
3.3.18CHCCTL(选项控制)
在选择字段中使用此键字来控制该字段选项的可用性。
此键字的格式为下述二者之一:
CHCCTL(选项号&控制字段[信息标识符[信息库/]信息文件])
或
CHCCTL(选项号&控制字段[&信息标识[&信息库/]&信息文件])
选项号参数是必须的,它指定了使用此键字的选项。
有效为1到99。
也要求有控制字段参数,它指定了一个一字节的数字隐藏字段名,在输出时,此字段包含该选项的控制值。
此字段必须与你定义的字段在同一记录中,并且必须定义为Y(数字型),长度为1,小数位为0,用法为H的属性。
在多选的选择字段输入时,选择字段指明选择了哪个字段。
下图为隐藏字段的控制值及它在输入输出时的含义:
图3-33隐藏字段的控制值
控制值
输出含义
输入含义
0
可用
未选择
1
已选择
已选择
2
不可用,除非选项的帮助有效,否则光标不能置于选项上
3
不可用,允许光标置于选项上
4
不可用,即使选项的帮助有效,也不能置光标于选项上
注:
上述对光标的限制仅适用于连在支持不可编程工作站增强接口控制器上的显示器。
如果用的是其它显示器,则对光标无限制。
信息标识和信息文件参数是可选的,在用户选择了不可用选项时指定显示的信息。
如果没有指定这些参数,系统发出一条缺省信息CPD919B。
如果信息标识用一个字段,则该字段必须在所定义的记录中,且定义为数据类型为A,用法为P,长度为7的属性。
使用了信息标识就要求有信息文件参数。
如果没有规定库参数,在程序运行时就使用*LIBL来找信息文件。
如果信息库或信息文件使用一个字段,则该字段必须在所定义的记录中,且必须定义为数据类型为A,用法为P,长度为10。
如果为某一字段指定了CHCCTL键字,则必须对该字段用相同的选项号指定CHOICE或PSHBTNCHC键字。
可选指示符对此键字无效。
图3-34给出如何指定CHCCTL键字。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A:
A:
AF12Y0B335SNGCHCFLD
ACHOICE(1'>Undo')
ACHOICE(2'>Mark')
ACHOICE(3'>Copy')
ACHCCTL(1&CTLUNDOMSG1112QUSER/A)
ACHCCTL(2&CTLMARK&MSG&LIB/&MSGF)
ACHCCTL(3&CTLCOPY)
ACTLUNDO1Y0H
ACTLMARK1Y0H
ACTLCOPY1Y0H
AMSG7AP
AMSGF10AP
ALIB10AP
A
图3-34指定CHCCTL键字
在使用一个连在支持不可编程工作站增强接口控制器上的图形显示站时,选择字段看起来如下图:
PICTURE12
3.3.19CHCSLT(被选择的选项颜色/显示属性)
使用此字段层键字来指定在菜单条或选择字段中显示已选择的选项时,使用的颜色或显示属性。
还可使用此键字在一个有PULLDOWN(*NOSLTIND)键字的下拉菜单中,规定选择字段选中选项的颜色和显示属性。
此键字的格式为:
CHCSLT([颜色][显示属性])
必须至少指定一个参数。
颜色参数指定了在彩色工作站上由MNUBARCHC或CHOICE键字指定的选项说明的颜色。
此参数的定义为*COLOR值的表达式。
颜色参数的合法值为:
值含义
BLU蓝色
GRN绿色
PNK粉红色
RED红色
TRQ蓝绿色
YLW黄色
WHT白色
如果没有指定颜色参数,菜单条中已选择选项的缺省颜色为白色。
在不显示选择字符的下拉菜单中,选择字段的已选项缺省颜色是白色。
在单色显示器中颜色参数被忽略。
显示属性参数指明了字段的MNUBARCHC或CHOICE键字所指定的选项说明的显示属性。
该参数用(*DSPATR值1<值2<值3……>>)表达式。
显示属性的合法值为:
值含义
BL闪烁
CS列分隔符
HI高亮
ND不显示
RI反象
UL下划线
菜单条中选中选项的缺省显示属性为正常(或低)亮度。
在不显示选择字符的下拉菜单的选择字段中的已选项,它的缺省显示属性为高亮。
注:
显示属性CS,HI和BL可使在5292,3179,3197型C1和C2,3477型FC,3486,3487型HC和3488
(2)工作站上显示的字段为彩色字段。
使用显示属性HI,RI和UL时不显示分隔线。
关于COLOR键字的使用,详见3.3.30“COLOR”内容。
如果为某字段指定了这个键字,则必须也为它指定MNUBARCHC键字或CHOICE键字。
如果此字段指定了CHOICE键字而不是MNUBARCHC键字,则包含此字段的记录必须指定PULLDOWN(*NOSLTIND)。
当对子文件控制记录规定CHCSLT,那么也应同时规定SFLSNGCHC或SFLMLTCHC键字。
可选指示器对此键字有效。
(2)取决于连接显示设备的监视器
图3-35给出如何指定CHCSLT键字。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A
ARRECORDMNUBAR
AF12Y0B12
AMNUBARCHC(1PULLFILE'File')
AMNUBARCHC(2PULLEDIT'Edit')
ACHCSLT((*COLORPNK)(*DSPATRRI))
A
图3-35指定CHCSLT键字
在此例中,如果在彩色显示器上选择了某选项,菜单条以粉红色反象方式显示。
(3)取决于连在显示设备上的监视器。
3.3.20CHCUNAVAIL(不可用选项的颜色/显示属性)
使用此字段层键字来指定在选择字段或按钮字段中显示不可用选项所用的颜色或显示属性。
此键字的格式为:
CHCUNAVAIL([颜色][显示属性])
必须至少规定一个参数。
颜色参数指定了在彩色工作站上由CHOICE键字指定的选项说明的颜色。
指定此参数用*COLOR值的表达式。
颜色参数的合法值为:
值含义
BLU蓝色
GRN绿色
PNK粉红色
RED红色
TRQ蓝绿色
YLW黄色
WHT白色
如果没有指定颜色参数,选择字段中不可用选项的缺省颜色为蓝色。
此参数在单色显示器上被忽略。
显示属性参数指明了字段中CHOICE或PSHBTNCHC键字所指定选项说明的显示属性。
规定该参数用(*DSPATR值1<值2<值3……>>)的表达式。
值含义
BL闪烁
CS列分隔符
HI高亮
ND不显示
RI反象
UL下划线
在单色显示器上,选择字段中不可用选项的缺省显示属性为正常(或低)亮度。
而且不可用选项的每个字符被星号(*)复盖。
注:
显示属性CS,HI和BL可使在5292,3179,3197型C1和C2,3486,3487型HC,和3488(3)工作站上显示的字段为彩色字段。
使用显示属性HI,RI和UL时不显示分隔线。
关于COLOR键字用法,详见3.3.30“COLOR”内容。
此键字仅用于有一个或多个CHOICE或PSHBTNCHC键字的字段中。
当它用在子文件控制记录中时,也同时要指定SFLSNGCHC或SFLMLTCHC键字。
可选指示器对此键字有效。
(3)取决于连在显示设备上的监视器。
图3-36给出如何指定CHCUNAVAIL键字:
|....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
A
ARRECORD
AF12Y0B25SNGCHCFLDCHECK(ER)
ACHOICE(1'Choicenumber1')
ACHOICE(2'Choicenumber2')
ACHCCTL(1&CHCCTL1)
ACHCCTL(2&CHCCTL2)
ACHCUNAVAIL((*COLORTRQ))
A:
A:
A
图3-36指定CHCUNAVAIL键字
在此例中,选择字段的不可用选项在彩色显示器上显示为蓝绿色。
3.3.21CHECK(检验)
根据所指定的参数不同,用此键字可完成以下功能:
功能有效参数值
有效性检验AB,ME,MF,M10,M11,M11F,VN,VNE
键盘控制ER,FE,LC,RB,RZ
光标控制RL,RLTB
此键字的格式为:
CHECK(有效性检验码[……])
CHECK(键盘控制码[……])
CHECK(光标控制码)
对下述其它DDS键字,建议用CHECK键字替换:
CHECK(ER)等价于AUTO(RA)
CHECK(LC)等价于LOWER
CHECK(RB)等价于AUTO(RAB)
CHECK(RZ)等价于AUTO(RAZ)
下述CHECK键字实现的功能也可用修改输入缺省键字(CHGINPDFT)在文件、记录或字段层上指定:
CHECK键字CHGINPDFT等价键字
CHECK(FE)CHGINPDFT(FE)
CHECK(LC)CHGINPDFT(LC)
CHECK(ME)CHGINPDFT(ME)
CHECK(MF)CHGINPDFT(MF)
可选指示器仅对CHECK(ER)和CHECK(ME)有效。
3.3.21.1有效性检验
在字段层上使用CHECK键字来指定OS/400程序或设备对键入可输入字段(仅输入或输出/输入)的数据的有效性进行检验。
CHECK使用一种或多种编辑/检验算法来确认数据是否有效。
如果没有满足某一特定的编辑/检验算法,则显示一条错误信息。
注:
关于定义用户指定的信息。
详见3.3.23“CHKMSGID(检验信息标识)”内容。
有效的编辑/检验码有:
编辑/检验码含义
AB允许空白
ME强制输入
MF强制填充
M10IBM模10自检算法
M10FIBM模10自检算法
M11IBM模11自检算法
M11FIBM模11自检算法
VN有效名
VNE有效扩展名
AB(允许空白):
如果对一可输入字段的某些有效性检验失败,可在文件层、记录层或字段层指定此码,它允许输入全空白来满足有效性检验。
这使得在工作站用户把光标定位在某一字段上但把它置为空白(比如,通过按下EraseInput键,FieldExit键或空格键)时,仍能把数据传送给程序。
例如,FLD1是一个指定了CHECK(M10ME)的可输入字段。
如果工作站用户意外地键入该字段,则必须满足M10算法。
若指定了(CHECK(M10MEAB))就允许用户把该字段置为空白来满足有效性检验。
如果在文件层指定了这个键字,则它对文件中所有规定了有效检验码的可输入字段有效,同样,在记录层指定了有效性检验键字,则此键字适用于记录中所有规定了有效检验码的可输入字段。
在字段层上,它总是和其它有效性检验键字(CHECK(M10,M10F,M11,M11F,VN,VNE),CHKMSGID,COMP,RANGE或VALUES)一起指定。
如果对某一字段指定了SFLROLVAL或SFLRCDNBR键字,就不应再指定CHECK(AB)。
CHECK(AB)可用在做引用的数据库文件中。
如果和其它有效性检验功能一起指定CHECK(AB),则注意处理过程按如下顺序进行:
1.为下述任何情况:
a.在35列指定键盘转换属性(比如字母数字转换或仅为数字),可以限制键进输入某些字符。
b.如果键盘转换属性是数字转换,则数据类型(字符或数字)由36至37列(小数位)设定,并限制键进输入特定的字符。
c.如果指定了CHECK(FE),CHECK(MF)和CHECK(ME)键字,则限制键进输入。
2.为下述情况之一:
a.如果指定了CHECK(AB)键字,数据管理向程序传送输入数字(字符字段为空白,数字字段为零)。
不再做进一步的有效性检验。
b.如果没有指定CHECK(AB),则数据管理在向程序传送数据之前要执行下述有效性检验功能:
CHECK(VN),CHECK(VNE),CHECK(M10),CHECK(M10F),CHECK(M11),CHECK(M11F),COMP(……),RANGE(……),VALUES(