【问题标题】:How to automatically update time in cicscics如何自动更新时间
【发布时间】:2012-04-28 18:34:16
【问题描述】:

我有两个问题,第一个是主要问题。 1. 我能够在 cics 地图中显示日期,但我需要的是,我希望它在滴答作响,即它应该每秒显示一次更新。 2. 我有一个 COBOL-DB2 程序,它自动将数据库(DB2)中的数据插入到文件中。我希望基于时间戳调用该程序,即每 1 小时、2 小时或每天。

谢谢

【问题讨论】:

  • 请将您的 DB2 问题拆分为单独的主题。它与您的主题行无关。

标签: map db2 cobol cics


【解决方案1】:

您可以这样做,但您需要更改修改传统的伪对话方法。无需返回并等待用户事件,您可以在几秒钟后使用当前的 commarea 启动您的 tran 并退出。如果在那段时间发生了用户事件,您可以取消您的启动请求,如果没有,您可以刷新屏幕时间戳并重复。

只是刷新时间戳有点痛苦。除非您有充分的理由,否则打扰没有多大意义。

DB2 的东西很简单。使用间隔控制启动您的 tran,与上述相同的 START AFTER(),您可以让它每小时运行一次,或每两小时运行一次。

【讨论】:

    【解决方案2】:

    我认为你不需要修改你的伪对话方法来实现你所需要的。只需为仅向终端设备发出发送映射(或 TC 写入)的小程序发出带有一秒延迟的 EXEC CICS START 命令(只需执行一次)。理想情况下,在屏幕上保留一个公共区域,以便所有交易都可以使用一个公共程序。在某些时候,当不再需要更新时,取消 START 请求。在我看来,计时器更新事务将与用户发起的事务流很好地混合。如果启动计时器弹出时用户事务处于活动状态,则计时器更新程序将延迟一点。

    虽然这应该可行,但您需要记住,您每小时可能会为每位用户推动 3,600 笔交易。这个功能真的值得吗?

    【讨论】:

      【解决方案3】:

      这在使用地图的标准 CICS 中是不可能的。 3270 协议不适合不断更新屏幕。大多数自动更新屏幕(例如控制台和监控显示)都使用本地 VTAM 方法,构建自己的数据流。

      使用未格式化的数据也许可以做到这一点,但我不建议在 CICS 中这样做。伪对话式 CICS 在屏幕显示期间没有程序可以控制,非常不鼓励使用对话式编程。

      【讨论】:

        【解决方案4】:

        您无法在 CICS 中真正做到这一点,CICS 充其量是为伪交互式响应而设计的。它设计用于向您的终端发送整个页面或屏幕的大型机,程序读取接收到的屏幕(其中有一些用户将更新的字段,如果您没有更改它们,终端不会发回数据) 然后,CICS 事务占据了包含更改的屏幕的一部分,将响应发送回并退出。

        这使得数据输入和查询程序非常高效。但是要意识到,当程序处理完屏幕后,它就退出了,它消失了,甚至不再在内存中,所有的资源都被回收了。这允许公司运行一个有 300 个终端和可能 10 兆实际内存的大型机,因为当程序等待你响应时,它根本不使用任何资源,如果有 200 人运行数据输入程序,他们正在运行一个可重入程序,其中所有 200 人都在运行同一个程序的相同副本,他们唯一使用的可能是每个用户 1K 的可写存储空间,用于必须读取屏幕或文件的部分记录并做一些计算。想想看,200 个人在运行同一个程序,而他们同时都在使用一个模块,该模块为应用程序使用 20K 内存——每个人都使用相同的 20K 内存——每个实际读取 1K/写入数据。

        想一想,第一个启动该数据输入程序的用户使用 20K 的内存用于应用程序,外加 1K 用于可写数据。之后在该程序上处理的每个用户使用额外的 1K 内存,仅此而已。当他们坐在那里看着终端时,他们可能只使用表格中的 4 个字节来告诉系统有一个终端连接。根本没有使用任何资源。

        能够定期更新屏幕意味着某些东西必须保持运行,这不是 CICS 做得很好的事情。 CICS 不打算像 PC 那样用于交互式处理,因为您实际上是在 PC 上实时运行。

        【讨论】:

          【解决方案5】:

          EXEC CICS ASK TIME END-EXEC 更新时间戳。 EXEC CICS SEND MAP DATA ONLY END-EXEC 更新屏幕。

          但是,使用建议的 EXEC CICS START TRANSID ('name' | namefld) 延迟时间) 结束执行。 实际上是更好的方法。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2013-09-28
            • 1970-01-01
            • 2013-04-28
            • 2012-11-14
            • 1970-01-01
            • 2012-03-22
            相关资源
            最近更新 更多