首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在线VSAM文件

在线VSAM文件
EN

Stack Overflow用户
提问于 2018-09-09 21:43:38
回答 3查看 347关注 0票数 1

我有一个想法,我不知道它是否可以在Cobol中做,我想在在线程序中使用在线VSAM文件,所以我的在线VSAM文件有多个记录,我想如果有新的记录添加到文件中,我的在线程序检测到并做一些处理,它是可行的,请给我一些提示

EN

回答 3

Stack Overflow用户

发布于 2018-09-10 02:01:20

你所描述的基本上是一个基于事件的触发器。您将COBOL描述为一种语言,但是为了实现您想要的,您还需要选择一个运行时环境。例如CICS、IMS、WebSphere ( Db2 )、MQ等。

VSAM本身不提供触发机制。开始实现您想要的目标的一种方法是创建一个MQ队列,该队列处理要写入的记录,它们可以写入记录并采取其他操作。MQ跨越了上面列出的所有运行时,可能是最可靠的。

另一种选择是考虑使用Db2,您可以在其中创建触发器或用户定义的函数,这些函数可能会实现您想要的结果。这是一个reference article that describes many methods

以下是上面提到的链接中的一些文章的列表:

阿列克谢·舍普琴科的

Utilizing Triggers within DB2

Using Stored Procedures as Communication Mechanism to a Mainframe作者: Robert Catterall

Workload Manager Implementation and Exploitation

Stored Procedures, UDFs and Triggers-Common Logic or Common Problem?

如果您希望处理简单地从任何源写入VSAM的记录,那么在定义VSAM数据集的Access Method Services中实际上没有实现这一点的固有功能。

在继续设计时,您需要考虑您的运行时环境、功能和目标。

票数 3
EN

Stack Overflow用户

发布于 2018-09-11 00:05:22

如果这是一个大容量应用程序,您可以考虑使用IBM的“变更数据捕获”产品。每次更新选定的VSAM文件时,它都会将记录的前后图像转储到消息队列中。然后可以由您选择的语言和平台进行处理。

同样值得考虑的是,如果您所说的“在线”是指CICS应用程序,那么VSAM文件将由单个CICS区域独占,并且所有更新都将由该区域中运行的程序处理。您可以调整应用程序以启动一些后期处理(就像添加"EXEC CICS START yourtransacion ...“一样简单。添加到现有程序。

票数 0
EN

Stack Overflow用户

发布于 2018-10-04 15:58:32

查看CICS Events。您可以设置VSAM文件写入时间的事件,并使用COBOL程序对其执行操作。有几个事件适配器,您可能会对写入TS队列的事件适配器感兴趣。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52245101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档