
- CICS 教程
- CICS - 首頁
- CICS - 概述
- CICS - 環境
- CICS - 基本術語
- CICS - 核心
- CICS - 事務
- CICS - COBOL 基礎
- CICS - BMS
- CICS - MAP
- CICS - 介面塊
- CICS - 偽程式設計
- CICS - 輔助鍵
- CICS - 檔案處理
- CICS - 錯誤處理
- CICS - 控制操作
- CICS - 臨時儲存
- CICS - 互聯通訊
- CICS - 狀態碼
- CICS - 面試問題
- CICS 有用資源
- CICS - 快速指南
- CICS - 有用資源
- CICS - 討論
CICS - 介面塊
任何應用程式都需要一個介面來與 CICS 互動。EIB(執行介面塊)充當一個介面,允許應用程式與 CICS 通訊。EIB 包含程式執行期間所需的資訊。
受限的 COBOL 動詞
在編寫 CICS 程式時,我們不能使用直接將控制權返回給 MVS 的命令。如果我們編寫這些 COBOL 動詞,它不會產生任何編譯錯誤,但我們可能會得到不可預測的結果。以下是在 CICS 程式中不應使用的 COBOL 動詞:
檔案 I/O 語句,如 Open、Read、Write、Rewrite、Close、Delete 和 Start。CICS 中的所有檔案 I/O 由檔案控制模組處理,它們有自己的一套語句,如 READ、WRITE、REWRITE 和 DELETE,我們將在後續模組中討論。
不需要檔案段和環境部。
呼叫作業系統功能的 COBOL 語句,如 Accept、Date/Time,不能使用。
不要使用 DISPLAY、MERGE、STOP RUN 和 GO BACK。
執行介面塊
執行介面塊 (EIB) 是一個控制塊,由 CICS 為每個程式自動載入。
EIB 對任務是唯一的,並且在任務持續期間存在。它包含一組與任務相關的系統資訊。
它包含有關事務識別符號、時間、日期等的資訊,這些資訊在 CICS 執行應用程式程式期間使用。
作為任務的一部分執行的每個程式都可以訪問相同的 EIB。
可以在 CEDF 模式下執行程式以檢視執行時 EIB 中的資料。
EIB 欄位
下表提供了 EIB 中存在的欄位列表:
EIB 欄位 | PIC 子句 | 描述 |
---|---|---|
EIBAID | X(1) | 按下的輔助鍵 |
EIBCALEN | S9(4) COMP | 它包含 DFHCOMMAREA 的長度 |
EIBDATE | S9(7) COMP-3 | 它包含當前系統日期 |
EIBRCODE | X(6) | 它包含上次事務的返回碼 |
EIBTASKN | S9(7) COMP-3 | 它包含任務編號 |
EIBTIME | S9(7) COMP-3 | 它包含當前系統時間 |
EIBTRMID | X(4) | 終端識別符號 |
EIBTRNID | X(4) | 事務識別符號 |
CICS 程式分類
CICS 程式分為以下三類,我們將逐一討論:
- 非對話式程式
- 對話式程式
- 偽對話式程式 - 我們將在下一個模組中討論
非對話式程式
執行非對話式程式時,不需要人工干預。所有必要的輸入都在程式啟動時提供。
它們類似於以批處理模式執行的批處理程式。因此,在 CICS 中,它們很少被開發。
我們可以說它們僅用於定期顯示一系列螢幕。
示例
以下示例顯示了一個非對話式程式,它將簡單地在 CICS 終端上顯示“HELLO WORLD”作為輸出:
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-MESSAGE PIC X(30). PROCEDURE DIVISION. ******************************************************** * SENDING DATA TO SCREEN * ******************************************************** MOVE 'HELLO WORLD' TO WS-MESSAGE EXEC CICS SEND TEXT FROM (WS-MESSAGE) END-EXEC ******************************************************** * TASK TERMINATES WITHOUT ANY INTERACTION FROM THE USER* ******************************************************** EXEC CICS RETURN END-EXEC.
對話式程式
向終端傳送訊息並接收使用者的響應稱為對話。聯機應用程式透過一對 SEND 和 RECEIVE 命令實現使用者與應用程式程式之間的對話。對話式程式的關鍵點如下:
系統將訊息傳送到螢幕並等待使用者的響應。
使用者響應所需的時間稱為思考時間。此時間相當長,這是轉換程式的主要缺點。
使用者提供必要的輸入並按下輔助鍵。
應用程式處理使用者的輸入併發送輸出。
程式在開始時載入到主儲存器中,並在任務結束前保留。

示例
以下示例顯示了一個轉換程式,它從使用者那裡獲取輸入,然後簡單地在 CICS 終端上顯示相同的輸入作為輸出:
IDENTIFICATION DIVISION. PROGRAM-ID. HELLO. DATA DIVISION. WORKING-STORAGE SECTION. 01 WS-MESSAGE PIC X(30) VALUE SPACES. PROCEDURE DIVISION. MOVE 'ENTER MESSAGE' TO WS-MESSAGE ******************************************************** * SENDING DATA FROM PROGRAM TO SCREEN * ******************************************************** EXEC CICS SEND TEXT FROM (WS-MESSAGE) END-EXEC ******************************************************** * GETTING INPUT FROM USER * ******************************************************** EXEC CICS RECEIVE INTO(WS-MESSAGE) END-EXEC EXEC CICS SEND TEXT FROM (WS-MESSAGE) END-EXEC ******************************************************** * COMMAND TO TERMINATE THE TRANSACTION * ******************************************************** EXEC CICS RETURN END-EXEC.