CICS - BẢN ĐỒ
BMS nhận dữ liệu do người dùng nhập vào và sau đó định dạng nó thành một vùng bản đồ tượng trưng. Chương trình ứng dụng chỉ có quyền truy cập vào dữ liệu có trong bản đồ tượng trưng. Chương trình ứng dụng xử lý dữ liệu và đầu ra được gửi đến bản đồ tượng trưng. BMS sẽ hợp nhất đầu ra của dữ liệu biểu tượng với bản đồ vật lý.
Bản đồ vật lý
Bản đồ vật lý là một mô-đun tải trong thư viện tải chứa thông tin về cách hiển thị bản đồ.
Nó chứa thông tin chi tiết về thuộc tính của tất cả các trường trong bản đồ và vị trí của chúng.
Nó chứa định dạng hiển thị của bản đồ cho một thiết bị đầu cuối nhất định.
Nó được mã hóa bằng macro BMS. Nó được tập hợp riêng biệt và liên kết được chỉnh sửa vào thư viện CICS.
Bản đồ tượng trưng
Bản đồ tượng trưng là một cuốn sách Sao chép trong thư viện. Sách Copy được chương trình ứng dụng CICS sử dụng để gửi và nhận dữ liệu từ thiết bị đầu cuối.
Nó chứa tất cả dữ liệu biến được sao chép vào phần WORKINGSTORAGE của chương trình.
Nó có tất cả các trường được đặt tên. Người lập trình ứng dụng sử dụng các trường này để đọc và ghi dữ liệu vào bản đồ.
Trường Skipper và Stopper
Đối với trường có tên không được bảo vệ, trong bản đồ, nếu chúng tôi đã chỉ định độ dài là 10, điều này có nghĩa là trường tên có thể nhận các giá trị có độ dài không được vượt quá 10. Nhưng khi bạn hiển thị bản đồ này bằng CICS và bắt đầu nhập giá trị cho trường này trên màn hình, chúng ta có thể nhập hơn 10 ký tự, tức là, cho đến cuối màn hình và chúng ta có thể nhập ngay cả ở dòng tiếp theo. Để ngăn chặn điều này, chúng tôi sử dụng trường Skipper hoặc trường nút chặn. Trường Skipper nói chung sẽ là trường Không tên có độ dài 1, được chỉ định sau trường được đặt tên.
Trường Skipper
Nếu chúng ta đặt trường bỏ qua sau trường không được bảo vệ đã đặt tên, thì trong khi nhập giá trị, khi đạt đến độ dài được chỉ định, con trỏ sẽ tự động chuyển sang trường không được bảo vệ tiếp theo. Ví dụ sau cho thấy cách thêm trường bỏ qua:
NUMBER DFHMDF POS = (01,01), X
LENGTH = 5, X
ATTRB = (UNPROT,IC)
DFHMDF POS = (01,07), X
LENGTH = 1, X
ATTRB = (ASKIP)
Trường nút
Nếu chúng ta đặt trường nút chặn sau trường không được bảo vệ đã đặt tên, thì trong khi nhập giá trị, khi đạt đến độ dài được chỉ định, con trỏ sẽ dừng vị trí của nó. Ví dụ sau đây cho thấy cách thêm trường nút:
NUMBER DFHMDF POS = (01,01), X
LENGTH = 5, X
ATTRB = (UNPROT,IC)
DFHMDF POS = (01,07), X
LENGTH = 1, X
ATTRB = (PROT)
Thuộc tính Byte
Byte thuộc tính của bất kỳ trường nào lưu trữ thông tin về các thuộc tính vật lý của trường. Sơ đồ sau và bảng giải thích ý nghĩa của từng bit.
Vị trí bit | Sự miêu tả | Cài đặt bit |
---|---|---|
0 & 1 | Được xác định bởi nội dung của bit 2 đến bit 7 | |
2 & 3 | Bảo vệ & Dịch chuyển | 00 - Chữ và số không được bảo vệ 01 - Chữ số 10 không được bảo vệ - Điểm dừng được bảo vệ 11 - Bỏ qua được bảo vệ |
4 & 5 | Cường độ | 00 - Bình thường 01 - Bình thường 10 - Sáng 11 - Không hiển thị (Tối) |
6 | Phải luôn luôn bằng 0 | |
7 | Thẻ dữ liệu được sửa đổi | 0 - Trường chưa được sửa đổi 1 - Trường đã được sửa đổi |
Thẻ dữ liệu được sửa đổi
Thẻ dữ liệu sửa đổi (MDT) là bit cuối cùng trong byte thuộc tính.
MDT là một cờ chứa một bit duy nhất. Nó chỉ định liệu giá trị có được chuyển vào hệ thống hay không.
Giá trị mặc định của nó là 1, khi giá trị trường được thay đổi.
Nếu MDT bằng 0, thì không thể chuyển dữ liệu; và nếu MDT là 1, thì dữ liệu có thể được chuyển.
Gửi bản đồ
Lệnh gửi bản đồ ghi đầu ra được định dạng vào thiết bị đầu cuối. Nó được sử dụng để gửi bản đồ đến thiết bị đầu cuối từ chương trình ứng dụng. Đoạn mã sau đây cho thấy cách gửi bản đồ đến thiết bị đầu cuối:
EXEC CICS SEND
MAP('map-name')
MAPSET('mapset-name')
[FROM(data-area)]
[LENGTH(data_value)]
[DATAONLY]
[MAPONLY]
[CURSOR]
[ERASE/ERASEAUP]
[FREEKB]
[FRSET]
END-EXEC
Bảng sau liệt kê các tham số được sử dụng trong lệnh gửi bản đồ cùng với ý nghĩa của chúng.
Sr.No | Mô tả về Thông Số |
---|---|
1 | Map-name Đó là tên của bản đồ mà chúng tôi muốn gửi. Nó là bắt buộc. |
2 | Mapset-name Nó là tên của tập bản đồ có chứa tên bản đồ. Tên bộ bản đồ là cần thiết trừ khi nó giống với tên bản đồ. |
3 | FROM Nó được sử dụng nếu chúng ta quyết định sử dụng một tên DSECT khác, chúng ta phải sử dụng tùy chọn FROM (dsect-name) cùng với lệnh SEND MAP. |
4 | MAPONLY Nó có nghĩa là không có dữ liệu nào từ chương trình của bạn được hợp nhất vào bản đồ và chỉ thông tin trong bản đồ được truyền đi. |
5 | DATAONLY Nó đối lập hợp lý với MAPONLY. Chúng tôi sử dụng nó để sửa đổi dữ liệu biến trong một màn hình đã được tạo. Chỉ dữ liệu từ chương trình của bạn được gửi đến màn hình. Các hằng số trong bản đồ không được gửi. |
6 | ERASE Nó khiến toàn bộ màn hình bị xóa trước khi những gì chúng ta đang gửi được hiển thị. |
7 | ERASEUP Nó chỉ khiến các trường không được bảo vệ bị xóa. |
số 8 | FRSET Flag Reset sẽ tắt thẻ dữ liệu đã sửa đổi trong byte thuộc tính cho tất cả các trường trên màn hình trước khi những gì bạn đang gửi được đặt ở đó. |
9 | CURSOR Nó có thể được sử dụng để định vị con trỏ trên màn hình đầu cuối. Con trỏ có thể được đặt bằng cách di chuyển -1 đến phần L của trường và sau đó gửi bản đồ. |
10 | ALARM Nó khiến báo động âm thanh được phát ra. |
11 | FREEKB. Bàn phím được mở khóa nếu chúng tôi chỉ định FREEKB trong bản đồ hoặc lệnh GỬI. |
12 | Nó cho phép in đầu ra của lệnh SEND trên máy in. |
13 | FORMFEED Thao tác này khiến máy in khôi phục giấy lên đầu trang tiếp theo trước khi in đầu ra. |
Nhận bản đồ
Khi chúng ta muốn nhận đầu vào từ một thiết bị đầu cuối, chúng ta sử dụng lệnh RECEIVE MAP. Các tham số MAP và MAPSET có ý nghĩa chính xác như đối với lệnh SEND MAP. Đoạn mã sau cho biết cách nhận bản đồ -
EXEC CICS RECEIVE
MAP('map-name')
MAPSET('mapset-name')
[INTO(data-area)]
[FROM(data-area)]
[LENGTH(data_value)]
END-EXEC
Thực thi Mapset
Các bước sau là cần thiết để phát triển và thực thi một bộ bản đồ:
Step 1 - Mở phiên TSO.
Step 2 - Tạo một PDS mới.
Step 3 - Mã một bộ bản đồ trong một thành viên mới theo yêu cầu.
Step 4 - Lắp ráp bộ bản đồ bằng JCL do quản trị viên CICS cung cấp.
Step 5 - Mở một phiên CICS.
Step 6 - Cài đặt chương trình bằng lệnh -
CEMT SET PROG (tên tập bản đồ) MỚI
Step 7 - Gõ lệnh sau để gửi Bản đồ đến thiết bị đầu cuối -
CECI GỬI BẢN ĐỒ (tên-bản đồ) MAPSET (tên-bản đồ) XÓA FREEKB