CICS - Hoạt động kiểm soát
CICS Program Control Program (PCP) quản lý luồng các chương trình ứng dụng. Tất cả các chương trình ứng dụng phải có mục nhập trong Bảng chương trình xử lý. Sau đây là các lệnh được sử dụng cho các dịch vụ điều khiển chương trình:
- XCTL
- Link
- Load
- Release
- Return
Các cấp độ logic của chương trình
Các chương trình ứng dụng thực thi theo CICS có nhiều mức logic khác nhau. Chương trình đầu tiên nhận được điều khiển trực tiếp là ở mức logic cao nhất, tức là, Mức 1. Chương trình được liên kết nằm ở mức logic tiếp theo từ chương trình liên kết. Các chương trình XCTL chạy ở cùng một cấp độ. Sẽ rõ ràng khi chúng ta đi qua Liên kết và XCTL, ở phần sau của mô-đun này. Hình ảnh sau đây cho thấy các mức logic:
XCTL
Giải thích cơ bản về XCTL như sau:
Lệnh XCTL được sử dụng để chuyển điều khiển từ chương trình này sang chương trình khác ở cùng một mức.
Nó không mong đợi sự kiểm soát trở lại.
Nó tương tự như câu lệnh GO TO.
Một chương trình XCTL có thể là một cuộc trò chuyện giả.
Thí dụ
Ví dụ sau đây cho thấy cách sử dụng lệnh XCTL để chuyển điều khiển cho một chương trình khác:
IDENTIFICATION DIVISION.
PROGRAM-ID. PROG1.
WORKING-STORAGE SECTION.
01 WS-COMMAREA PIC X(100).
PROCEDURE DIVISION.
EXEC CICS XCTL
PROGRAM ('PROG2')
COMMAREA (WS-COMMAREA)
LENGTH (100)
END-EXEC.
Lệnh này chuyển điều khiển sẽ được chuyển tới chương trình 'PROG2' với 100 byte dữ liệu. COMMAREA là một tham số tùy chọn và là tên của vùng chứa dữ liệu sẽ được truyền vào hoặc vùng mà kết quả sẽ được trả về.
Liên kết
Lệnh liên kết dùng để chuyển điều khiển sang chương trình khác ở cấp thấp hơn. Nó mong đợi sự kiểm soát trở lại. Một chương trình được liên kết không thể là trò chuyện giả.
Thí dụ
Ví dụ sau cho thấy cách sử dụng lệnh Liên kết để chuyển điều khiển cho chương trình khác:
IDENTIFICATION DIVISION.
PROGRAM-ID. PROG1.
WORKING-STORAGE SECTION.
01 WS-COMMAREA PIC X(100).
PROCEDURE DIVISION.
EXEC CICS LINK
PROGRAM ('PROG2')
COMMAREA (WS-COMMAREA)
LENGTH (100)
END-EXEC.
Tải
Lệnh Load được sử dụng để tải một chương trình hoặc một bảng. Sau đây là cú pháp của lệnh Load:
EXEC CICS LOAD
PROGRAM ('name')
END-EXEC.
Giải phóng
Lệnh Release được sử dụng để giải phóng một chương trình hoặc một bảng. Sau đây là cú pháp của lệnh Release:
EXEC CICS RELEASE
PROGRAM ('name')
END-EXEC.
Trở về
Lệnh Return được sử dụng để đưa điều khiển trở lại mức logic cao hơn tiếp theo. Sau đây là cú pháp của lệnh Return:
EXEC CICS RETURN
PROGRAM ('name')
COMMAREA (data-value)
LENGTH (data-value)
END-EXEC.
Hoạt động kiểm soát khoảng thời gian
Các hoạt động kiểm soát khoảng thời gian có hai loại sau:
ASKTIME
ASKTIME được sử dụng để yêu cầu thời gian và ngày hiện tại hoặc dấu thời gian. Sau đó, chúng tôi di chuyển giá trị này vào biến lưu trữ đang hoạt động bên trong chương trình. Sau đây là cú pháp của lệnh ASKTIME:
EXEC CICS ASKTIME
[ABSTIME(WS-TIMESTAMP)]
END-EXEC.
HÌNH THỨC
FORMATTIME định dạng dấu thời gian thành định dạng bắt buộc dựa trên các tùy chọn, có thể là YYDDD, YYMMDD hoặc YYDDMM cho ngày tháng. DATESEP chỉ ra dấu phân cách cho DATE cũng như biến TIMESEP cho TIME. Sau đây là cú pháp của lệnh FORMATTIME:
EXEC CICS FORMATTIME
ABSTIME(WS-TIMESTAMP)
[YYDDD(WS-DATE)]
[YYMMDD(WS-DATE)]
[YYDDMM(WS-DATE)]
[DATESEP(WS-DATE-SEP)]
[TIME(WS-TIME)]
[TIMESEP(WS-TIME-SEP)]
END-EXEC.