📜  CICS-临时存储(1)

📅  最后修改于: 2023-12-03 14:59:55.889000             🧑  作者: Mango

CICS-临时存储

简介

CICS (Customer Information Control System)是一种常用的事务处理系统。在CICS中,提供了一种临时存储(Temporary Storage,TS)的机制。TS可以在一个CICS任务内、不同CICS任务之间、不同CICS Region之间共享数据。

目的

TS用于在CICS应用程序之间传递信息并保持状态。TS支持多种转换和访问方式。TS设计用于临时处理和传输数据。一旦使用完毕,它们就会被删除。

TS的使用

定义一个TS可以分为以下几个步骤:

1. 定义临时存储区

在CICS的资源定义(Resource Definition)表中定义一段空间作为临时存储区,CICS会自动将其格式化并管理。

DEFINE TS QUEUE (QUEUE.NAME) -
   INITIALSIZE(nnnn) -
   MAXSIZE(nnnn) -
   TYPE(QUEUE|MAP) -
   RECOVERY(ENABLED|DISABLED) -
   USERDATA(user-defined-information)
2. 写入临时存储区

写入数据到临时存储区可以使用以下CICS命令:

WRITEQ TS QUEUE(NAME) INTO(data-item)
3. 读取临时存储区

从临时存储区中读取数据可以使用以下CICS命令:

READNEXT TS QUEUE(NAME) INTO(data-item)
4. 清除临时存储区

清除临时存储区所有的数据可以使用以下CICS命令:

DELETEQ TS QUEUE(NAME)
TS的类型

CICS支持两种类型的TS:队列(Queue)和地图(Map)。

1. 队列

队列是先进先出(FIFO)的。当一个应用程序写入队列时,它的数据将被添加到队列的末尾。当一个应用程序从队列中读取数据时,它总是读取队列中的第一个元素。

2. 地图

地图是一个固定长度的存储区,按名称组织。每个地图都包括一个唯一的名称和一组数据项。应用程序可以使用该名称将其数据项写入和读取地图。地图数据项需要被事先定义,然后在使用时被引用。

TS的优点
  1. 临时存储区数据可以在不同的CICS任务之间共享。
  2. 可以通过写/读/清楚数据项,实现控制不同CICS任务之间的同步和通信。
  3. 可以实现在CICS应用程序之间保持状态的目的。
  4. 使用临时存储区比直接操作数据集效率更高、更安全。
结论

上述介绍是一般的使用CICS-临时存储过程,但也不是完全通用的,不同业务需求可能还需要做一定的调整,具体使用按实际情况来。 总之,TS是对于CICS程序员来说是必不可少的一个利器,当面对不同的问题时,操作TS会是一个不错的选择。