有没有办法在大型机终端窗口中自动执行简单的重复性任务?

Posted

技术标签:

【中文标题】有没有办法在大型机终端窗口中自动执行简单的重复性任务?【英文标题】:Is there a way to automate simple repetitive tasks in mainframe terminal window? 【发布时间】:2012-05-06 18:56:52 【问题描述】:

我的雇主使用 TN3270 Plus 2.07 版大型机模拟器。它是相当旧的版本,不支持一些脚本命令/功能,如等待屏幕刷新、“if”条件和简单的计算指令,如递增等,这些在较新版本中可用。我需要这些功能,所以我不能使用内置脚本。

它不支持 DDE。

我只能选择 VBScript、JScript 或 PowerShell 等任何选项(或 Windows 7 Enterprise 中可用的任何其他选项,而无需安装 AutoIt 等第三方工具)。

我需要的是,我希望能够从文件中读取一些数据,将其输入到大型机终端,等到我收到大型机的响应(这是非常随机的,有时是瞬时的,但有时可能需要 20到 30 秒),即等待屏幕刷新。然后我想从终端窗口读取文本,根据这些信息,我需要采取一些措施,比如继续从文件循环中读取下一行或做一些其他事情。

有什么办法可以做到吗?

注意:更改模拟器或安装第 3 方工具不是一种选择;)

【问题讨论】:

【参考方案1】:

我自己从未尝试过,但您可能想查看 x3270,特别是 s3270 和可能的 tcl3270:

http://sourceforge.net/projects/x3270/

除非您愿意努力编写自己的 3270 协议实现,否则将需要某种第 3 方工具。问题是时间和许可方面的成本之一(使用上述选项,唯一的成本是时间)。

当然,你现有的模拟器可能还可以,但我不熟悉它,而且版本似乎相当旧。

【讨论】:

感谢您的回复。我会调查的。【参考方案2】:

您可以使用诸如 IBM HATS 之类的抓取工具,也可以使用一些 IBM Java TN3270 类与大型机通信。

无论哪种情况,您都可以通过软件建立 TN3270 连接。不要为你的模拟器编写脚本。

如果您可以让大型机软件达到可以在批处理作业级别与其交互的程度——或者您编写一些与之交互的简单 Rexx 命令——您可以使用 ftp 协议提交作业以发出命令到主机软件。它不会直接与它进行 TN3270 会话,但 Rexx 命令和/或其他自定义编写的程序可以替代该交互。然后,您可以使用简单的 JCL 与大型机软件对话。

【讨论】:

+1 用于添加关于使用 REXX 的建议,或者通常在大型机上执行自动化。我避免提及 HATS,因为发帖人不愿意使用 3rd 方工具(我放松的意思是为 3rd 方许可证付费......)。【参考方案3】:

是的。 UiPath 是一个通用的自动化工具,有专门的活动用于工作 with terminals and green screens。

目前通过 API 支持:

附件 火箭蓝区 伦巴舞 IBM 个人通信 IBM EHLL

适用于 TN3270、TN5250 或 VT 端子类型。

【讨论】:

这个问题已经有将近四年的历史了,而且是在话题边缘。何苦回答呢?该产品甚至不包括使用的模拟器。屏幕截图显示了一个 AS/400 会话,甚至不是大型机。

以上是关于有没有办法在大型机终端窗口中自动执行简单的重复性任务?的主要内容,如果未能解决你的问题,请参考以下文章

在拉撒路有没有办法使用代码最大化控制台[重复]

OSX - 如何在“退出”命令执行后自动关闭终端窗口。

如何自动化 jcl 在大型机上运行 cobol 程序

有没有办法在大型机上使用 python 脚本发送 ISPF 命令并获取作业统计信息?

有没有办法“收听”到 Telnet 流?

sh OSX - 执行“exit”命令后如何自动关闭终端窗口。