长时间运行的命令
所有命令过程都是长时间运行的命令。 命令过程的 RESUME 例程阻止先前推送的 RESUME 例程,与其他 LRC 处理器完全相同。 命令过程的暂停或等待状态也不例外。
RESUME 例程的 DSIPUSH 是主例程或次例程。 一个主要的 DSIPUSH 将新的 RESUME 例程放在 LRC 处理器堆栈的顶部,暂挂先前发出的长时间运行的命令。 主 DSIPUSH 与 NetView® 命令列表语言处理器配合使用。 次 DSIPUSH 将新的 RESUME 例程放在堆栈上的任何前导命令过程 (在同一组中) 之后,并使前导命令过程能够在新的 RESUME 例程增益控制之前完成。 其他 LRC 处理器已暂挂的命令过程不受影响。
- 完成代码
长时间运行的命令可以通过在 DSIPOP 宏中指定 COMPCDE 关键字的值,将完成代码返回给调用它的长时间运行的命令 (在同一组中)。 如果以异步方式调用长时间运行的命令,那么将忽略为 COMPCDE 指定的值。 完成代码将在恢复时传递到 CWBRCODE 中的调用长时间运行的命令。
- 返回码
RESUME 例程可以在其调用者完成之前多次将控制权返回给其调用者,以提供消息,排队的命令,调用的长时间运行的命令以及其他要处理的异步工作。 在初始返回时 (命令时, CWBBUF¬=0) ,将忽略寄存器 15 中的值。 每次恢复后,寄存器 15 中的值传达 STIFLE 的长时间运行的命令需求。 有关 STIFLE 的说明,请参阅 消息 STIFLE。 注册 15 = -8 请求 stifle; 注册 15 = + 8 请求无 stifle。 保留其他返回码的含义。 为了与先前发行版兼容,在发出 DSIPOP 以从堆栈中除去长时间运行的命令之后,零 (0) 返回码有效。
任何 RESUME 例程功能的一个重要部分是屏幕控制。 由于操作员终端的状态在条目上未知 (请参阅 屏幕标识) ,因此 RESUME 例程必须确保操作员不会被先前 LRC 处理器遗留的面板锁定。 确保此情况可能意味着发出消息 (DSIPSS TYPE=FLASH) 以保证命令设施面板和命令行可供操作员使用。 确保这种情况也可能意味着显示全屏面板 (DSIPSS TYPE=ASYPANEL)。 屏幕控制需求意味着您无法将 NetView 产品提供的 DSILRCR8 例程 用作带有 NetView 程序的 RESUME 例程,这有时适用于 NCCF。 如果除了 DSIPOP 之外不需要清除,那么可以将 DSILRCR8 用作异常终止恢复或 LOGOFF 例程。