s3270 - 将文本写入会话,而不是输入字段内

s3270 - Write text to session, not inside an input field

我在连接基于 IBM 大型机的 CICS 应用程序时遇到一个有趣的问题。我可以使用 s3270 和 x3270if 成功登录并写入输入字段。但是,我正在使用的 CICS 系统希望某些命令可以简单地写入 "screen",而不是正确的输入字段。我正在使用 String() 函数写入输入字段,但我似乎找不到一个函数可以简单地将字符串写入给定的屏幕位置。

有没有人处理过类似的情况,可以给我一些指导?

对于 3270,没有 "write to the screen," 与写入字段相反的东西。格式化的 3270 缓冲区是一组字段,每个字段都有一组特定的属性。您不能写入任意屏幕位置,除非存在包含该位置的未受保护字段。那是 3270 规格,这就是 3270 硬件的工作方式,这就是 3270 仿真器的工作方式,您可能用于与 3270 仿真器一起工作的任何 API 都会公开它。

(您可能有一个 3270 的未格式化缓冲区,但我认为这不是您面临的情况,从那时起您就可以写入任何屏幕位置 - 缓冲区本质上是一个大字段。)

所以您需要弄清楚您尝试写入的屏幕是如何格式化的,它的字段在哪里,以及应用程序期望它输入的位置。如果您可以 运行 仿真并根据您的任何说明键入输入,那么它应该很简单 - 无论您的输入在哪里,您都应该以编程方式将其放置在何处。