开发手册 欢迎您!
软件开发者资料库

CICS - 控制操作

CICS控制操作 - 从CICS概述,环境,基本术语,Nucleus,事务,COBOL基础知识,BMS,MAP,接口块,伪编程,辅助密钥,文件处理,错误处理,控制操作,简单而简单的步骤学习CICS临时存储,互通,状态代码。

CICS程序控制程序(PCP)管理应用程序的流程。所有应用程序必须在处理程序表中有一个条目。以下是用于程序控制服务的命令 :

  • XCTL

  • Link

  • 加载

  • 发布

  • 返回

程序逻辑级别

在CICS下执行的应用程序具有各种逻辑级别。直接接收控制的第一个程序处于最高逻辑级别,即级别1.链接程序处于链接程序的下一个逻辑级别。 XCTL程序运行在同一级别。很明显,我们将在本单元的后面部分介绍Link和XCTL。下图显示了逻辑级别 :

CICS Control Operations

XCTL

XCTL的基本解释如下 :

  • XCTL命令用于将控件从一个程序传递到同一级别的另一个程序。

  • 它不期望控制回来。

  • 它类似于GO TO语句。

  • XCTL程序可以是伪对话。

示例

以下示例说明如何使用XCTL命令将控件传递给另一个程序 :

 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.


此命令将控制传递给带有100字节数据的程序'PROG2'。 COMMAREA是一个可选参数,是包含要传递的数据的区域的名称或要返回结果的区域。

链接

Link命令用于将控制转移到较低级别的另一个程序。它期待控制回来。链接的程序不能是伪会话。

示例

以下示例显示如何使用链接命令将控件传递给另一个程序 :

 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.


加载

加载命令用于加载程序或表。以下是加载命令&minus的语法;

  EXEC CICS LOAD  PROGRAM('name') END-EXEC 。


发布

发布命令用于释放程序或表。以下是Release命令的语法 :

  EXEC CICS RELEASE   PROGRAM ('name')END-EXEC.


返回

返回命令用于将控件返回到下一个更高的逻辑级别。以下是Return命令的结构 :

 EXEC CICS RETURN   PROGRAM ('name')   COMMAREA (data-value)   LENGTH (data-value)END-EXEC.


间隔控制操作

间隔控制操作有以下两种类型 :

ASKTIME

ASKTIME用于请求当前时间和日期或时间戳。然后,我们将此值移动到程序内的工作存储变量中。以下是ASKTIME命令的语法 :

 EXEC CICS ASKTIME   [ABSTIME(WS-TIMESTAMP)]END-EXEC.


FORMATTIME

FORMATTIME根据选项将时间戳格式化为所需格式,可以是YYDDD,YYMMDD,或YYDDMM日期。 DATESEP表示DATE的分隔符,TIME表示TIMESEP变量。以下是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.