与基于IBM大型机的CICS应用程序的接口有一个有趣的问题。我可以使用s3270和x3270if成功地登录和写入输入字段。但是,我所使用的CICS系统期望某些命令只是写到“屏幕”上,而不是一个适当的输入字段。我使用String()函数向输入字段写入,但似乎找不到将字符串写到给定屏幕位置的函数。
有没有人处理过类似的情况,并能给我提供一些指点?
发布于 2016-06-14 20:47:56
对于3270,没有“写到屏幕”这样的东西,而不是写到一个字段。格式化的3270缓冲区是一组字段,每个字段都具有特定的属性集。除非存在包含该位置的无保护字段,否则不能写入任意屏幕位置。这是3270规范,这就是3270硬件的工作方式,这就是3270模拟器的工作方式,您可能使用的任何用于3270仿真器的API都会公开这一点。
(您可能有一个带有3270的未格式化缓冲区,但我想这不是您所面临的情况,因为这样您就可以写入到任何屏幕位置--缓冲区本质上是一个大字段。)
因此,您需要弄清楚您试图写入的屏幕是如何格式化的,它的字段在哪里,应用程序期望它的输入在哪里。如果您只需运行模拟并按照您所得到的任何指令键入输入,那么它应该是简单明了的--无论您的输入到哪里,都应该以编程的方式将它放在那里。
https://stackoverflow.com/questions/37704222
复制相似问题