📜  CICS-辅助键

📅  最后修改于: 2020-11-22 16:35:52             🧑  作者: Mango


正如我们在较早模块中讨论的那样,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抄写本-

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.

光标定位

有两种方法可以覆盖地图定义中指定的位置。

  • 一种方法是在send map命令的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 '