2016-06-08 54 views
0

我有一個有趣的問題與基於IBM大型機的CICS應用程序接口。我可以使用s3270和x3270if成功登錄並寫入輸入字段。但是,我正在使用的CICS系統期望某些命令可以簡單地寫入「屏幕」,而不是正確的輸入字段。我正在使用String()函數來寫入輸入字段,但我似乎無法找到一個函數,它只會將字符串寫入給定的屏幕位置。s3270 - 將文本寫入會話,而不是在輸入字段內

有沒有人處理過類似的情況,並可以提供一些指針?

+0

是否在http://x3270.bgp.nu/Unix/x3270-script.html中描述了您要查找的MoveCursor()函數? –

+0

@ValerieR我試着移動光標,然後使用String(),但顯然String()只會將文本寫入輸入字段。我移動光標,發送我想要的文本,然後發送回車鍵,但CICS應用程序只會引發錯誤。 – kaigoh

+0

您可能想要獲取傳入3270屏幕的轉儲,以驗證您要移至的行/列未受到保護。移動/字符串應該工作,只要你在屏幕的未受保護的部分。 –

回答

0

對於3270,沒有「寫入屏幕」這樣的東西,而不是寫入字段。格式化的3270緩衝區是一組字段,每個字段都有一組屬性。除非存在包含該位置的未受保護的字段,否則無法寫入任意屏幕位置。這就是3270規格,這就是3270硬件的工作方式,3270仿真器的工作方式,以及任何你可能用來與3270仿真器一起工作的API都只是揭示了這一點。

(您可能有一個未格式化的緩衝區3270,但據我瞭解,不是你所面臨的形勢,因爲那麼你就能夠編寫到屏幕的任意位置 - 緩衝區本質上是一個很大的領域。)

所以你需要弄清楚你試圖寫入的屏幕是如何格式化的,它的字段在哪裏以及應用程序期望輸入的地方。如果您只需運行仿真並根據您的指示鍵入輸入,那麼它應該很簡單 - 無論您輸入什麼地方,都應該以編程方式進行輸入。

相關問題