场景 1.搜索功能

典型的主机系统事务分为四个阶段:
  1. 启动事务
  2. 等待主机系统响应
  3. 分析响应以查看它是否是预期的响应
  4. 从响应中抽取和使用数据

编程运算符可以使用一系列 EHLLAPI 功能来模拟这些操作。在确定主机系统事务的正确起点后,编程运算符可以调用搜索表示空间 (6) 功能,以确定显示屏上显示哪些关键字消息或提示消息。

接下来,编程运算符可以使用发送键 (3) 功能将数据输入都主机系统会话中并输入主机系统事务。然后,编程运算符可以:
  • 使用等待 (4) 功能等待 X CLOCK、X [] 或 X SYSTEM 条件结束(如果终端已锁定,则返回键盘已锁定状态)。

    如果键盘被禁止,EHLLAPI 程序可以调用复制 OIA (13) 功能,以获取有关错误条件的更多信息。

  • 使用搜索表示空间 (6) 功能查找预期的关键字,以验证是否已收到正确的响应。
  • 使用将表示空间复制到字符串 (8) 功能(或多个数据访问功能中的任一个),以抽取所需的数据。

搜索表示空间 (6) 功能对于模拟终端操作员的另一项任务至关重要。某些主机系统在响应前不会在 X CLOCK、X [] 或 X SYSTEM 方式下保持锁定状态;相反,它们会快速解锁键盘并允许运算符堆叠其他请求。在这种环境中,终端操作员依靠其他一些视觉提示来知道数据已返回(可能是屏幕标题或标签)。搜索表示空间 (6) 功能允许 EHLLAPI 程序在等待时搜索表示空间。此外,在等待响应时,调用暂停 (18) 功能允许其他 DOS 会话共享中央处理器资源。暂停 (18) 功能有一个选项允许 EHLLAPI 程序等待主机系统更新事件发生。

如果在一段合理的超时时间后没有发生任何主机系统事件,EHLLAPI 程序可能会调用定制的错误消息,例如:
No Response From Host.  Retry?

在这种环境下,程序修订成为非常重要的考虑因素,因为即使显示消息发生微小的变化,也必须对编程运算符进行重新编程。

例如,如果终端操作员希望显示以下消息:
Enter Part Number:
作为提示,操作员可能能够正确响应生成以下消息的应用程序更改:
Enter Component Number:

但是,由于编程运算符正在查找文字关键字字符串,因此消息语法的细微变化(即使与大小写一样微不足道)可能会使程序执行预编程错误操作。