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