CICS - 援助钥匙
正如我们在前面的模块中讨论的那样,AID 键称为“注意标识符键”。CICS 只能检测 AID 密钥。键入所有输入后,只有当用户按下 AID 键之一时,CICS 才会进行控制。AID 键包括 ENTER、PF1 至 PF24、PA1 至 PA3 和 CLEAR。
验证 AID 密钥
使用 EIBAID 检查用户按下的按键。
EIBAID 是一字节长,保存 3270 输入流中使用的实际注意标识符值。
CICS 为我们提供了一组预编码的变量,可以通过编写以下语句在应用程序中使用它们 -
复制 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 copybook -
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 选项发送映射。
例子
以下示例显示如何覆盖名称字段的光标位置 -
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 "'".