CICS - 接口块


任何应用程序都需要一个与 CICS 交互的接口。EIB(执行接口块)充当允许应用程序与CICS通信的接口。EIB 包含程序执行期间所需的信息。

受限 COBOL 动词

在编写CICS程序时,我们不能使用将控制权直接返回到MVS的命令。如果我们对这些 COBOL 动词进行编码,它不会给出任何编译错误,但我们可能会得到不可预测的结果。以下是不应在 CICS 程序中使用的 COBOL 动词 -

  • 文件 I/O 语句,如打开、读取、写入、重写、关闭、删除和启动。CICS 中的所有文件 I/O 均由文件控制模块处理,它们有自己的一组语句,例如 READ、WRITE、REWRITE 和 DELETE,我们将在接下来的模块中讨论这些语句。

  • 不需要文件部分和环境部分。

  • 不能使用调用操作系统函数(例如 Accept、Date/Time)的 COBOL 语句。

  • 请勿使用“显示”、“合并”、“停止运行”和“返回”。

执行接口块

执行接口块(EIB)是由CICS为每个程序自动加载的控制块。

  • EIB 对于任务来说是唯一的,并且在任务期间存在。它包含一组与任务相对应的系统相关信息。

  • 它包含有关事务标识符、时间、日期等的信息,供CICS 在应用程序执行期间使用。

  • 作为任务一部分执行的每个程序都可以访问相同的 EIB。

  • 运行时EIB中的数据可以通过在CEDF模式下执行程序来查看。

欧洲投资银行领域

下表提供了 EIB 中存在的字段列表 -

欧洲投资银行领域 事先知情同意条款 描述
伊贝德 X(1) 按下辅助键
欧洲银行卡伦 S9(4) 补偿 它包含 DFHCOMMAREA 的长度
EBD日期 S9(7) COMP-3 它包含当前系统日期
欧洲银行代码 X(6) 它包含最后一笔交易的返回码
EIB任务 S9(7) COMP-3 它包含任务编号
欧洲投资银行时间 S9(7) COMP-3 它包含当前系统时间
EBTMID 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命令实现用户和应用程序之间的对话。会话程序的要点如下 -

  • 系统向屏幕发送一条消息并等待用户的响应。

  • 用户做出响应所花费的时间称为思考时间。这个时间相当长,这是转换程序的一个主要缺点。

  • 用户提供必要的输入并按下 AID 键。

  • 应用程序处理用户的输入并发送输出。

  • 程序一开始就被加载到主存中,并一直保留到任务结束。

CICS 转换计划

例子

以下示例显示了一个转换程序,它接受用户的输入,然后简单地将相同的输入显示在 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.