CICS - 临时存储

CICS中提供了不同的便笺簿,用于保存数据或在事务之间传输数据。 CICS提供了五个存储区域,我们将在此模块中讨论。

COMMAREA

COMMAREA的行为类似于便笺簿可用于将数据从一个程序传递到另一个程序,在同一事务中或从不同的事务中传递。它应该在使用DFHCOMMAREA名称的LINKAGE SECTION中定义。

公共工作区

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命令中使用的参数的详细信息 :

  • QUEUE由此参数中提到的名称标识。

  • FROM和LENGTH选项用于指定记录要写入队列及其长度。

  • 如果指定了ITEM选项,CICS会将项目编号分配给队列中的记录,并且将该选项中提供的数据区域设置为项目编号。如果记录开始新队列,则分配的项目编号为1,后续项目编号按顺序进行。

  • REWRITE选项用于更新记录存在于队列中。

  • MAIN / AUXILIARY选项用于存储主存储或辅助存储中的记录。默认值为AUXILIARY。

READQ TS

此命令用于读取临时存储队列。以下是READQ TS&minus的语法;

语法

 
EXEC CICS READQ TS
   QUEUE ('queue-name')
   INTO (queue-record)
   [LENGTH (queue-record-length)]
   [ITEM (item-number)]
   [NEXT]
END-EXEC.

DELETEQ TS

此命令用于删除临时存储队列。以下是DELETEQ TS&minus的语法;

语法

 
EXEC CICS DELETEQ TS
   QUEUE ('queue-name')
END-EXEC.

瞬态数据队列

瞬态数据队列本质上是暂时的,因为它可以快速创建和删除。它只允许顺序访问。

  • 队列的内容只能读取一次,因为一旦读取,它就会被销毁执行,因此名称为Transient。

  • 无法更新。

  • 它需要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

此命令用于删除Transient数据队列。以下是DELETEQ TD&minus的语法;

语法

 
EXEC CICS DELETEQ TD
   QUEUE ('queue-name')
END-EXEC.