CECI 的运行方式

解释器使用 CICS® 提供的程序作为会话式事务运行。 在会话启动和结束之间执行的所有操作都是单个任务中的单个逻辑工作单元。

由您执行的命令生成的锁定和入队将在会话期间保留。 例如,如果从可恢复文件中读取要更新的记录,那么该记录在您结束 CECI 之前不可用于任何其他任务。

异常终止

CECI 使用 NOHANDLE 选项运行所有命令,因此执行错误通常不会导致异常终止。

CECI 还在会话开始时发出 HANDLE ABEND 命令,因此即使发生异常终止,它也不会失去控制。 因此,当您获取一个资源时, CECI 将对其进行处理,并且不存在资源回退。 如果要对受保护资源执行一系列相关更新,请确保可以完成所有更新。 如果无法完成所有更新,请使用 SYNCPOINT ROLLBACK 命令或带有 CANCEL 选项的 ABEND 命令来除去先前命令对可恢复资源的影响。

异常条件

对于某些命令,即使所有指定的选项都正确, CECI 也可能会返回异常条件。 返回这些条件是因为在某些命令中, CECI 使用您未显式指定的选项。 例如, ASSIGN 命令始终返回 CECI 下的异常条件 INVREQ。 尽管 CECI 可能会正确返回您请求的信息,但它会尝试从其他选项获取信息,其中一些选项无效。

程序控制命令

因为解释器本身是应用程序,所以某些程序控制命令的解释可能会产生与执行这些命令的应用程序不同的结果。 例如,除非使用 CANCEL 选项,否则将拦截 ABEND 命令。

如果使用 LINK 命令,那么目标程序将在解释器的环境中运行。 尤其是,如果在链接至程序期间修改用户显示,那么解释器不知道这些更改。

类似地,如果您解释 XCTL 命令,那么 CECI 会将控制权传递给指定的程序,并且永远不会重新获得控制权,因此 CECI 会话将结束。

终端共享

当正在解释的命令与解释器使用同一屏幕时,命令解释器管理解释器屏幕与用户屏幕之间的屏幕共享。

在以下情况下将恢复用户显示:
  • 当正在处理的命令需要来自操作程序的数据时
  • 当正在处理的命令即将修改用户显示时
  • 请求 USER DISPLAY 时

当 SEND 命令后跟 RECEIVE 命令时, SEND 命令发送的屏幕出现两次; 一次是在处理 SEND 命令时,再次是在处理 RECEIVE 命令时。 您不必对 SEND 命令作出响应,但如果您这样做,那么在为 RECEIVE 命令恢复屏幕时,解释器将存储并显示该命令。

当解释器恢复用户显示器时,它不会像处理 SEND 命令时一样发出警报或影响键盘。