CICS - Phím viện trợ

Như chúng ta đã thảo luận trong các mô-đun trước đó, khóa AID được gọi là Khóa nhận dạng sự chú ý. CICS chỉ có thể phát hiện các khóa AID. Sau khi nhập tất cả dữ liệu đầu vào, chỉ khi người dùng nhấn một trong các phím AID, CICS mới có quyền kiểm soát. Các phím AID bao gồm ENTER, PF1 đến PF24, PA1 đến PA3 và CLEAR.

Xác thực khóa AID

Phím do người dùng nhấn được kiểm tra bằng cách sử dụng EIBAID.

  • EIBAID dài một byte và chứa giá trị nhận dạng sự chú ý thực tế được sử dụng trong luồng đầu vào 3270.

  • CICS cung cấp cho chúng tôi một tập hợp các biến được mã hóa trước có thể được sử dụng trong chương trình ứng dụng bằng cách viết câu lệnh sau:

    SAO CHÉP DFHAID

DFHAID

DFHAID là một sách sao chép được sử dụng trong các chương trình ứng dụng để bao gồm tập hợp các biến được mã hóa trước CICS. Nội dung sau đây có trong sách bản 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 '<'.

Thí dụ

Ví dụ sau đây cho thấy cách sử dụng DFHAID copybook trong một chương trình ứng dụng:

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.

Định vị con trỏ

Có hai cách để ghi đè vị trí được chỉ định trong định nghĩa bản đồ.

  • Một cách là chỉ định vị trí màn hình liên quan đến số dòng và cột trong tùy chọn CURSOR trên lệnh gửi bản đồ.

  • Một cách khác là di chuyển -1 đến biến bản đồ tượng trưng có hậu tố L. Sau đó, gửi bản đồ với tùy chọn CURSOR trong GỬI BẢN ĐỒ.

Thí dụ

Ví dụ sau đây cho thấy cách ghi đè vị trí con trỏ cho trường NAME -

MOVE -1 TO NAMEL
   EXEC CICS SEND 
      MAP ('map-name')
      MAPSET ('name-field')
      ERASE
      FREEKB
      CURSOR
   END-EXEC.

Tự động sửa đổi các thuộc tính

Trong khi gửi bản đồ, nếu chúng ta muốn có các thuộc tính khác nhau cho một trường khác với thuộc tính được chỉ định trong bản đồ, thì chúng ta có thể ghi đè nó bằng cách đặt trường trong chương trình. Sau đây là giải thích để ghi đè các thuộc tính của một trường:

  • Để ghi đè các thuộc tính của một trường, chúng ta phải đưa DFHATTR vào chương trình ứng dụng. Nó được cung cấp bởi CICS.

  • Thuộc tính bắt buộc có thể được chọn từ danh sách và chuyển đến biến trường tượng trưng có hậu tố là 'A'.

DFHATTR nắm giữ nội dung sau:

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 "'".