- 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 中提供了不同的暂存区用于保存数据或在事务之间传输数据。CICS 提供了五个存储区域,我们将在本模块中讨论这些区域。
COMMAREA
COMMAREA 的行为类似于暂存区,可用于将数据从一个程序传递到另一个程序,无论是在同一事务内还是在不同事务之间。它应该在 LINKAGE SECTION 中使用 DFHCOMMAREA 名称进行定义。
公共工作区
CICS 区域中的任何事务都可以访问公共工作区,因此必须由系统中所有决定使用它的事务商定其格式和用法。整个 CICS 区域中只有一个 CWA。
事务工作区
事务工作区用于在同一事务中执行的应用程序程序之间传递数据。TWA 只存在于事务期间。其大小在程序控制表中定义。
临时存储队列
临时存储队列 (TSQ) 是由临时存储控制程序 (TSP) 提供的功能。
TSQ 是一个记录队列,可以在同一 CICS 区域中的不同任务或程序中创建、读取和删除。
队列标识符用于标识 TSQ。
TSQ 中的记录由称为项目号的相对位置标识。
TSQ 中的记录保持可访问,直到整个 TSQ 被显式删除。
TSQ 中的记录可以顺序读取或直接读取。
TSQ 可以写入主存储器或 DASD 中的辅助存储器。
WRITEQ TS
此命令用于向现有 TSQ 添加项目。此外,我们可以使用此命令创建新的 TSQ。以下是 WRITEQ TS 命令的语法:
语法
EXEC CICS WRITEQ TS QUEUE ('queue-name') FROM (queue-record) [LENGTH (queue-record-length)] [ITEM (item-number)] [REWRITE] [MAIN /AUXILIARY] END-EXEC.
以下是 WRITEQ TS 命令中使用的参数的详细信息:
队列由在此参数中提到的名称标识。
FROM 和 LENGTH 选项用于指定要写入队列的记录及其长度。
如果指定了 ITEM 选项,则 CICS 会为队列中的记录分配一个项目号,并将该选项中提供的 数据区域设置为项目号。如果记录启动一个新队列,则分配的项目号为 1,后续的项目号依次递增。
REWRITE 选项用于更新队列中已存在的记录。
MAIN/AUXILIARY 选项用于将记录存储在主存储器或辅助存储器中。默认为 AUXILIARY。
READQ TS
此命令用于读取临时存储队列。以下是 READQ TS 的语法:
语法
EXEC CICS READQ TS QUEUE ('queue-name') INTO (queue-record) [LENGTH (queue-record-length)] [ITEM (item-number)] [NEXT] END-EXEC.
DELETEQ TS
此命令用于删除临时存储队列。以下是 DELETEQ TS 的语法:
语法
EXEC CICS DELETEQ TS QUEUE ('queue-name') END-EXEC.
瞬态数据队列
瞬态数据队列本质上是瞬态的,因为它可以快速创建和删除。它只允许顺序访问。
队列的内容只能读取一次,因为它在执行读取后会被销毁,因此得名“瞬态”。
它不能被更新。
它需要 DCT 中的条目。
WRITEQ TD
此命令用于写入瞬态数据队列,它们始终写入文件。以下是 WRITEQ TD 命令的语法:
语法
EXEC CICS WRITEQ TD QUEUE ('queue-name') FROM (queue-record) [LENGTH (queue-record-length)] END-EXEC.
READQ TD
此命令用于读取瞬态数据队列。以下是 READQ TD 的语法:
语法
EXEC CICS READQ TD QUEUE ('queue-name') INTO (queue-record) [LENGTH (queue-record-length)] END-EXEC.
DELETEQ TD
此命令用于删除瞬态数据队列。以下是 DELETEQ TD 的语法:
语法
EXEC CICS DELETEQ TD QUEUE ('queue-name') END-EXEC.