📅  最后修改于: 2020-11-22 16:38:01             🧑  作者: Mango
CICS中提供了不同的暂存器,用于保存数据或在事务之间传输数据。 CICS提供了五个存储区域,我们将在本模块中进行讨论。
COMMAREA的行为就像便笺簿,可用于将数据从一个程序传递到另一个程序,无论是在同一事务中还是在不同事务中。应该在链接部分中使用DFHCOMMAREA名称进行定义。
CICS区域中的任何事务都可以访问“通用工作区”,因此,决定使用它的系统中的所有事务都必须同意该事务的格式和使用。在整个CICS区域中只有一个CWA。
事务工作区用于在同一事务中执行的应用程序之间传递数据。 TWA仅在交易期间存在。它的大小在程序控制表中定义。
临时存储队列(TSQ)是临时存储控制程序(TSP)提供的功能。
TSQ是可由同一CICS区域中的不同任务或程序创建,读取和删除的记录队列。
队列标识符用于标识TSQ。
TSQ中的记录由称为项目编号的相对位置标识。
TSQ中的记录将保持可访问状态,直到整个TSQ被明确删除为止。
TSQ中的记录可以顺序或直接读取。
TSQ可以写入DASD的主存储器或辅助存储器中。
此命令用于将项目添加到现有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的语法-
EXEC CICS READQ TS
QUEUE ('queue-name')
INTO (queue-record)
[LENGTH (queue-record-length)]
[ITEM (item-number)]
[NEXT]
END-EXEC.
该命令用于删除临时存储队列。以下是DELETEQ TS的语法-
EXEC CICS DELETEQ TS
QUEUE ('queue-name')
END-EXEC.
瞬态数据队列本质上是瞬态的,因为它可以快速创建和删除。它仅允许顺序访问。
队列的内容只能被读取一次,因为一旦执行读取,队列的内容将被销毁,因此被命名为Transient。
无法更新。
它需要在DCT中输入。
此命令用于写入瞬态数据队列,并且始终将它们写入文件。以下是WRITEQ TD命令的语法-
EXEC CICS WRITEQ TD
QUEUE ('queue-name')
FROM (queue-record)
[LENGTH (queue-record-length)]
END-EXEC.
该命令用于读取瞬态数据队列。以下是READQ TD的语法-
EXEC CICS READQ TD
QUEUE ('queue-name')
INTO (queue-record)
[LENGTH (queue-record-length)]
END-EXEC.
该命令用于删除瞬态数据队列。以下是DELETEQ TD的语法-
EXEC CICS DELETEQ TD
QUEUE ('queue-name')
END-EXEC.