
- 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程序控制程序(PCP)管理应用程序程序的流程。所有应用程序程序都必须在处理程序表中有一个条目。以下是用于程序控制服务的命令:
- XCTL
- Link
- Load
- Release
- Return
程序逻辑级别
在CICS下执行的应用程序程序具有不同的逻辑级别。直接接收控制的第一个程序处于最高逻辑级别,即级别1。链接程序位于从链接程序开始的下一个逻辑级别。XCTL程序在同一级别运行。稍后在本模块中,当我们学习Link和XCTL时,这一点将更加清晰。下图显示了逻辑级别:

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
Link命令用于将控制转移到较低级别的另一个程序。它期望控制返回。链接程序不能是伪会话的。
示例
以下示例显示如何使用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.
Load
Load命令用于加载程序或表。以下是Load命令的语法:
EXEC CICS LOAD PROGRAM ('name') END-EXEC.
Release
Release命令用于释放程序或表。以下是Release命令的语法:
EXEC CICS RELEASE PROGRAM ('name') END-EXEC.
Return
Return命令用于将控制返回到下一个较高的逻辑级别。以下是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指示日期的分隔符,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.
广告