📅  最后修改于: 2020-11-22 16:34:24             🧑  作者: Mango
任何应用程序都需要一个接口来与CICS进行交互。 EIB(执行接口块)充当允许应用程序与CICS进行通信的接口。 EIB包含程序执行期间所需的信息。
在编写CICS程序时,我们不能使用将控件直接返回到MVS的命令。如果我们对这些COBOL动词进行编码,则不会产生任何编译错误,但可能会导致不可预测的结果。以下是不应在CICS程序中使用的COBOL动词-
文件I / O语句,例如打开,读取,写入,重写,关闭,删除和启动。 CICS中的所有文件I / O都由文件控制模块处理,它们具有自己的一组语句,如READ,WRITE,REWRITE和DELETE,我们将在后续模块中对其进行讨论。
不需要文件部分和环境部门。
不能使用调用操作系统功能(例如,接受,日期/时间)的COBOL语句。
不要使用“显示”,“合并”,“停止运行”和“返回”。
执行接口块(EIB)是一个控制块,由CICS自动为每个程序加载。
EIB对于任务是唯一的,并且在任务期间一直存在。它包含与任务相对应的一组系统相关信息。
它包含有关事务标识符,时间,日期等的信息,CICS在应用程序执行期间使用该信息。
作为任务一部分执行的每个程序都可以访问相同的EIB。
通过在CEDF模式下执行程序,可以查看运行时EIB中的数据。
下表提供了EIB中存在的字段的列表-
EIB Field | PIC Clause | Description |
---|---|---|
EIBAID | X(1) | Aid key Pressed |
EIBCALEN | S9(4) COMP | It contains length of DFHCOMMAREA |
EIBDATE | S9(7) COMP-3 | It contains Current System Date |
EIBRCODE | X(6) | It contains Return code of the last transaction |
EIBTASKN | S9(7) COMP-3 | It contains Task number |
EIBTIME | S9(7) COMP-3 | It contains Current System Time |
EIBTRMID | X(4) | Terminal Identifier |
EIBTRNID | X(4) | Transaction Identifier |
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命令实现用户与应用程序之间的对话。会话程序的关键点如下-
系统将消息发送到屏幕,并等待用户的响应。
用户响应所花费的时间称为“思考时间” 。该时间相当长,这是转换程序的主要缺点。
用户提供必要的输入并按AID键。
该应用程序处理用户的输入并发送输出。
该程序从一开始就加载到主存储器中,并保留到任务结束。
以下示例显示了一个转换程序,该程序从用户处获取输入,然后在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.