正如我们在前面的模块中所讨论的,AID密钥称为注意标识符密钥。 CICS只能检测AID密钥。键入所有输入后,仅当用户按下其中一个AID键时,CICS才会获得控制权。 AID键包括ENTER,PF1到PF24,PA1到PA3和CLEAR。
验证AID键
用户按下的键被检查使用EIBAID。
EIBAID长度为一个字节,并保存3270输入流中使用的实际注意标识符值。
CICS通过编写以下语句 :
为我们提供了一组预先编码的变量,可以在应用程序中使用COPY DFHAID
DFHAID
DFHAID是应用程序中使用的副本包括CICS预编码的变量集。 DFHAID字帖中包含以下内容 :
01 DFHAID. 02 DFHNULL PIC X VALUE IS ' '. 02 DFHENTER PIC X VALUE IS ''''. 02 DFHCLEAR PIC X VALUE IS '_'. 02 DFHCLRP PIC X VALUE IS '¦'. 02 DFHPEN PIC X VALUE IS '='. 02 DFHOPID PIC X VALUE IS 'W'. 02 DFHMSRE PIC X VALUE IS 'X'. 02 DFHSTRF PIC X VALUE IS 'h'. 02 DFHTRIG PIC X VALUE IS '"'. 02 DFHPA1 PIC X VALUE IS '%'. 02 DFHPA2 PIC X VALUE IS '>'. 02 DFHPA3 PIC X VALUE IS ','. 02 DFHPF1 PIC X VALUE IS '1'. 02 DFHPF2 PIC X VALUE IS '2'. 02 DFHPF3 PIC X VALUE IS '3'. 02 DFHPF4 PIC X VALUE IS '4'. 02 DFHPF5 PIC X VALUE IS '5'. 02 DFHPF6 PIC X VALUE IS '6'. 02 DFHPF7 PIC X VALUE IS '7'. 02 DFHPF8 PIC X VALUE IS '8'. 02 DFHPF9 PIC X VALUE IS '9'. 02 DFHPF10 PIC X VALUE IS ':'. 02 DFHPF11 PIC X VALUE IS '#'. 02 DFHPF12 PIC X VALUE IS '@'. 02 DFHPF13 PIC X VALUE IS 'A'. 02 DFHPF14 PIC X VALUE IS 'B'. 02 DFHPF15 PIC X VALUE IS 'C'. 02 DFHPF16 PIC X VALUE IS 'D'. 02 DFHPF17 PIC X VALUE IS 'E'. 02 DFHPF18 PIC X VALUE IS 'F'. 02 DFHPF19 PIC X VALUE IS 'G'. 02 DFHPF20 PIC X VALUE IS 'H'. 02 DFHPF21 PIC X VALUE IS 'I'. 02 DFHPF22 PIC X VALUE IS '¢'. 02 DFHPF23 PIC X VALUE IS '.'. 02 DFHPF24 PIC X VALUE IS '<'.
示例
以下示例显示如何在应用程序中使用DFHAID副本 :
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION.COPY DFHAID.PROCEDURE DIVISION.A000-AIDKEY-PARA. EVALUATE EIBAID WHEN DFHAID PERFORM A000-PROCES-PARA WHEN DFHPF1 PERFORM A001-HELP-PARA WHEN DFHPF3 PERFORM A001-EXIT-PARA END-EVALUATE.
光标定位
有两种方法可以覆盖地图定义中指定的位置。
一种方法是在发送地图命令的CURSOR选项中指定相对于行号和列号的屏幕位置。
其他方法是将-1移动到以L为后缀的符号映射变量。然后,在SEND MAP中发送带有CURSOR选项的地图。
示例
以下示例显示如何覆盖NAME字段的光标位置 :
MOVE -1 TO NAMEL EXEC CICS SEND MAP ('map-name') MAPSET ('name-field') ERASE FREEKB CURSOR END-EXEC.
动态修改属性
发送地图时,如果我们想要为除此之外的字段设置不同的属性在地图中指定,然后我们可以通过在程序中设置字段来覆盖它。以下是覆盖字段属性的解释 :
要覆盖字段的属性,我们必须包含DFHATTR在应用程序中。它由CICS提供。
可以从列表中选择所需的属性,并将其移动到以"A"为后缀的符号字段变量。
DFHATTR保留以下内容 :
01 CICS-ATTRIBUTES. 05 ATTR-UXN PIC X(01) VALUE SPACE. 05 ATTR-UXMN PIC X(01) VALUE 'A'. 05 ATTR-UXNL PIC X(01) VALUE 'D'. 05 ATTR-UXMNL PIC X(01) VALUE 'E'. 05 ATTR-UXBL PIC X(01) VALUE 'H'. 05 ATTR-UXMBL PIC X(01) VALUE 'I'. 05 ATTR-UXD PIC X(01) VALUE '<'. 05 ATTR-UXMD PIC X(01) VALUE '('. 05 ATTR-U9N PIC X(01) VALUE '&'. 05 ATTR-U9MN PIC X(01) VALUE 'J'. 05 ATTR-U9NL PIC X(01) VALUE 'M'. 05 ATTR-U9MNL PIC X(01) VALUE 'N'. 05 ATTR-U9BL PIC X(01) VALUE 'Q'. 05 ATTR-U9MBL PIC X(01) VALUE 'R'. 05 ATTR-U9D PIC X(01) VALUE '*'. 05 ATTR-U9MD PIC X(01) VALUE ')'. 05 ATTR-PXN PIC X(01) VALUE '-'. 05 ATTR-PXMN PIC X(01) VALUE '/'. 05 ATTR-PXNL PIC X(01) VALUE 'U'. 05 ATTR-PXMNL PIC X(01) VALUE 'V'. 05 ATTR-PXBL PIC X(01) VALUE 'Y'. 05 ATTR-PXMBL PIC X(01) VALUE 'Z'. 05 ATTR-PXD PIC X(01) VALUE '%'. 05 ATTR-PSN PIC X(01) VALUE '0'. 05 ATTR-PSMN PIC X(01) VALUE '1'. 05 ATTR-PSNL PIC X(01) VALUE '4'. 05 ATTR-PSMNL PIC X(01) VALUE '5'. 05 ATTR-PSBL PIC X(01) VALUE '8'. 05 ATTR-PSMBL PIC X(01) VALUE '9'. 05 ATTR-PSD PIC X(01) VALUE '@'. 05 ATTR-PSMD PIC X(01) VALUE "'".