TXSeries入门系列文章11

DELETEQ TD用于删除intrapartition TDQ中的所有临时数据,换句话说,所有intrapartition TDQ中的记录都将被移除。

参阅:

 

5. TSQ的APIs

TSQAPIsTDQ类似,只是有另外一些选项。不同于TDQ,没有必要为TSQ添加类型定义——TSQ会在 WRITEQ TS命令第一次使用时被创建。所以首先向用户介绍如何向TSQ中写入数据。

1)向TSQ写入

语法

WRITEQ TS QUEUE”<TSQName>” FROM(<dataSet>) LENGTH(<lengthOfData>) [ITEM(<recordIndex>)] [AUXILIARY|MAIN]

选项

<TSQName>                           将要被写入的TSQ的名称。在C程序中,名称的长度满8个字符,例如”ABCDEFGH“和”ABCD    “。如果名称的长度小于8,一些意外的字符会出现在指定的字符之后。

<lengthOfData>          指定数据的长度。

<recordIndex>                         这个变量的值会自动更新为将要写入TSQ的记录的索引数。如果一个新的TSQ被创建,值从1开始。不能通过<recordIndex>指定写入位置,因为记录是顺序追加到TSQ中的。

AUXILIARY                   指定TSQ在辅存中。如果不指定,这是默认选项。

MAIN                           指定TSQ在内存中。

参阅:

 

2)更新TSQ

除了向TSQ中写入新记录,还可以通过使用WRITEQ TS并添加REWRITE选项来更新一条指定记录。

语法

WRITEQ TS QUEUE”<TSQName>” FROM(<dataSet>) LENGTH(<lengthOfData>) ITEM(<recordIndex>) REWRITE

选项

<dataSet>       用于更新记录的数据。

<recordIndex> 指定将要被更新的记录的索引。必须是一个已存在的记录索引。

参阅:

 

3)从 TSQ读取

通过使用READQ TS命令,不仅可以顺序读取记录,也可以从指定索引处读取一条记录。

语法

READQ TS QUEUE”<TSQName>” INTO(<dataSet>) LENGTH(<lengthOfData>) [NEXT| ITEM(<recordIndex>)]

选项

<TSQName>   指定一个存在的TSQ来读取。

NEXT                           命令将会读取最后一次被读取记录的下一条记录。例如,如果已经读取了第15条记录,在执行指定了NEXT选项的READQ TS命令后,我们将会从<dataSet>中获得第16条记录。如果没有指定,那么这是默认选项。

<recordIndex> :指定读取哪条记录的索引。

参阅:

 

4)删除TSQ

内存和辅存中的TSQ都可以通过DELETEQ TS命令完全删除。

语法

DELETEQ TS QUEUE(“<TSQName>”)

参阅:

 

6. 练习

本部分的练习可以分为两组,一是关于TDQ的操作,一是关于TSQ的操作。

一组

1)在regionqueue“中添加一个名为ITDQintrapartition TDQ

2)在regionqueue“中添加一个名为TTDQintrapartition TDQ,触发水平为3,触发交易idTDQA

3)在regionqueue“中添加一个名为ETDQextrapartition TDQextrapartition文件名称是”ExtrapartitionFile.txt“,可变长度。

4)实现一个可以向ITDQ TTDQ写入记录的名为TDQA的交易。另外,它可以向ETDQ中写入程序中写操作的日志。

5)实现一个名为TDQB的交易,它可以从ITDQ中读取数据,还可以向ETDQ中写入程序中读操作的日志。

6)实现一个名为TDQC的交易,它可以从TTDQ读取数据,当被TDQA的第三次写操作触发时会删除TTDQ。另外,它可以向ETDQ写入程序中读操作和删除操作的日志。

二组

1)实现一个名为TSQA的交易,它可以向名为”TSQ1“的TSQ中写入3条记录(在内存或辅存中)。

2)实现一个名为TSQB的交易,它可以读取第3条记录,更新第2条记录并删除TSQ1

7. 答案

一组

1)在regionqueue“中添加一个名为ITDQintrapartition TDQ

cicsadd -c tdd -r queue ITDQ DestType=intrapartition RSLKey=public

2)在regionqueue“中添加一个名为TTDQintrapartition TDQ,触发水平为3,触发交易idTDQA

cicsadd -c tdd -r queue TTDQ TriggerLevel=3 TriggeredTransId=”TDQC” DestType=intrapartition RSLKey=public

3)在regionqueue“中添加一个名为ETDQextrapartition TDQextrapartition文件名称是”ExtrapartitionFile.txt“,可变长度。

cicsadd -c tdd -r queue ETDQ  DestType=extrapartition RSLKey=public ExtrapartitionFile=”ExtrapartitionFile.txt” RecordType=variable_length

4)实现一个可以向ITDQ TTDQ写入记录的名为TDQA的交易。另外,它可以向ETDQ中写入程序中写操作的日志。

查看Unit3/Part2 TDQTSQ/TDQ_A.ccs

5)实现一个名为TDQB的交易,它可以从ITDQ中读取数据,还可以向ETDQ中写入程序中读操作的日志。

查看Unit3/Part2 TDQTSQ/TDQ_B.ccs

6)实现一个名为TDQC的交易,它可以从TTDQ读取数据,当被TDQA的第三次写操作触发时会删除TTDQ。另外,它可以向ETDQ写入程序中读操作和删除操作的日志。

查看Unit3/Part2 TDQTSQ/TDQ_B.ccs

二组

1)实现一个名为TSQA的交易,它可以向名为”TSQ1“的TSQ中写入3条记录(在内存或辅存中)。

查看Unit3/Part2 TDQTSQ/TSQ_A.ccs

2)实现一个名为TSQB的交易,它可以读取第3条记录,更新第2条记录并删除TSQ1

查看Unit3/Part2 TDQTSQ/TSQ_B.ccs

TXSeries入门系列文章单元三
数据管理
四部分 WebSphere MQ

三单元 数据管理

第四部分 WebSphere MQ

关于本部分

正如本单元上一部分看到的,用户可以使用TDQ/TSQregion间和应用程序间传递数据。但是如果需要和多种不同的计算环境通信呢?IBM提供的WebSphere MQ将会是最好的选择。下面是从Knowledge Center获取的关于WebSphere MQ的简短介绍:WebSphere MQ可以以消息的形式传输任何类型的数据,使企业可以建立灵活的,可重用的架构,例如面向服务的体系架构(SOA)等环境。它可以和广泛的计算平台、应用程序、网络服务和通信协议协同工作来安全丰富地传递消息。WebSphere MQ提供一个通信层来控制系统内部和外部的信息和数据流。

以下文章点击率最高

Loading…

     

如果这文章对你有帮助,请扫左上角微信支付-支付宝,给于打赏,以助博客运营