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.