WAIT_MVS 调用
WAIT_MVS 请求在 MVS™ 事件控制块 (ECB) 或 MVS ECB 列表上等待。 例如,您可以发出 WAIT_MVS 以等待已为其发出 ATTACH 命令并提供了任务完成 ECB 的 MVS 任务完成。
当接收到 WAIT_MVS 请求时,分派器不会清除 ECB。 如果已发布任何 ECB ,那么控制权将立即返回给出口程序,响应为 "OK"。
单个欧洲央行不得成为上一次等待的对象。 如果接收到 WAIT_MVS 请求时已在等待任何 ECB ,那么将拒绝该请求。 响应代码为 "DSSR_INVALID" ,原因码为 "DSSR_ALREADY_WAITING"。
注: 必须始终使用 MVS POST 宏来发布 WAIT_MVS 请求中使用的 ECB。
WAIT_MVS
DFHDSSRX [CALL,]
[CLEAR,]
[IN,
FUNCTION(WAIT_MVS),
{ECB_ADDRESS(name4 | (Ra)) | ECB_LIST_ADDRESS(name4 | (Ra)),}
PURGEABLE(YES|NO),
[INTERVAL(name4 | (Rn)),]
[RESOURCE_NAME(name16 | string | 'string'),]
[RESOURCE_TYPE(name8 | string | 'string'),]]
[TIME_UNIT(SECOND|MILLI_SECOND),]
[WLM_WAIT_TYPE,]
[OUT,
RESPONSE(name1 | *),
REASON(name1 | *)]此命令是线程安全的。
- ECB_ADDRESS (name4 | (Ra))
- 指定要等待的 ECB 的地址。
- name4
- 包含 ECB 地址的位置的名称。
- (Ra)
- 包含 ECB 地址的寄存器。
- ECB_LIST_ADDRESS (name4 | (Ra))
- 指定要等待的 ECB 地址列表的地址。
- name4
- 包含 ECB 地址的位置的名称,可能后跟更多 ECB 地址。 列表中的最后一个地址字将高位设置为 1。
- (Ra)
- 指向先前描述的地址列表的寄存器。
- INTERVAL (name4 | (Rn))
- 指定自动恢复任务的时间 (以秒或毫秒计) ,并将 RESPONSE 值指定为 "PURGED" 和 REASON 值指定为 "TIMED_OUT"。 在 INTERVAL 选项上使用的时间单位取决于 TIME_UNIT 选项的设置。INTERVAL 值覆盖为事务指定的任何超时 (DTIMOUT) 值。
- name4
- 4 字节区域的名称,解释为二进制全字
- (Rn)
- 包含区间值 (二进制全字) 的寄存器。
- 可清除 (YES | NO)
- 指定代码是否可以处理由于清除而异常终止的请求。 有四种类型的清除,如 表 1中所示。 指定PUR性 (NO) 告知分派器:
- 拒绝任何 PURGE 任务的尝试
- 在此请求的持续时间内禁止死锁超时 (DTIMOUT) 工具 (如果适用于此任务)。
表 1. 暂挂调用-响应 (已清除) 推理 条件 可清除 (NO) 可清除 (YES) 任务已取消 PURGE 已取消 正常收益 FORCEPURGE 正常收益 正常收益 超时 DTIMOUT 已取消 正常收益 INTERVAL 正常收益 正常收益 注: FORCEPURGE 始终假定用户希望清除任务,因此会覆盖PUR可用 (NO) 选项。 如果用户设置了 INTERVAL ,那么这也会覆盖PUR可用 (NO) 选项。 - RESOURCE_NAME (name16 | string | "string")
- 指定可用于记录和跟踪暂挂和恢复处理中涉及的资源的 16 个字符的字符串。 不能使用寄存器表示法来指定字符串的地址。
- name16
- 存储 16 字节值的位置的名称。
- 字符串(string)
- 不包含空格的字符串; 如果长度不是 16 个字节,那么将使用空格进行扩展或根据需要进行截断。
- "字符串"
- 用引号括起的字符串。 在括起的字符串中允许有空格。 如果要在程序中记录名称 (标签) ,请使用此表单。
注: CICS® 不使用 RESOURCE_NAME 信息,而是将其包含在跟踪条目中,并将其显示在相应的 CEMT 屏幕上,以帮助您查看正在执行的任务。 CICS 内部请求指定值,您应该使用不同的值来避免岐义。 CICS 内部请求值记录在 CICS 系统任务可以等待的资源中。 - RESOURCE_TYPE (name8 | string | "string")
- 指定可用于记录和跟踪暂挂和恢复处理中涉及的资源的 8 字符字符串。 不能使用寄存器表示法来指定字符串的地址。
- 名称
- 存储 8 字节值的位置的名称。
- 字符串(string)
- 不包含空格的字符串; 如果该字符串的长度不是 8 字节,那么将使用空格进行扩展或根据需要进行截断。
- "字符串"
- 用引号括起的字符串。 在括起的字符串中允许有空格。 如果要在程序中记录名称 (标签) ,请使用此表单。
注: CICS 不使用 RESOURCE_TYPE 信息,但将其包含在跟踪条目中,并将其显示在相应的 CEMT 屏幕上,以帮助您查看正在执行的任务。 CICS 内部请求指定值,您应该使用不同的值来避免岐义。 CICS 内部请求值记录在 CICS 系统任务可以等待的资源中。 - TIME_UNIT (SECOND | 毫秒)
- 指定在 INTERVAL 选项上使用的时间单位。
- SECOND
- INTERVAL 选项指定超时前的秒数。
- 毫秒
- INTERVAL 选项指定超时前的毫秒数。
- WLM_WAIT_TYPE (name1)
- 在 1 字节的位置中,指定暂挂任务的原因。 这指示任务对 MVS 工作负载管理器的等待状态的性质。
等待类型的等同值如下所示:
- CMDRESP
- 正在等待命令响应。
- 对话
- 正在等待对话。
- 德兹里布
- 正在等待分布式请求。
- 空闲
- 充当工作管理器的 CICS 任务没有允许在监视环境中提供服务的工作请求。 例如,当没有要执行的日志记录 I/O 操作时暂挂自身的日志记录代码。
- IO
- 正在等待 I/O 操作或不确定的 I/O 相关操作 (锁定,缓冲区,字符串等)。
- LOCK
- 正在等待锁定。
- MISC
- 正在等待未识别的资源。 这是在暂挂任务且未指定 WLM_WAIT_TYPE 参数时为等待提供的缺省原因。
- 其他产品
- 等待另一个产品完成其功能; 例如,当工作负载已传递到 DB2®时。
- SESS_LOCALMVS
- 正在等待在运行此 CICS 区域的 MVS 映像中建立会话。
- SESS_NETWORK
- 正在网络中其他位置 (即,不在此 MVS 映像上) 等待建立会话。
- SESS_SYSPLEX
- 正在等待在综合系统中的某个位置 (即,不在此 MVS 映像上) 建立会话。
- TIMER
- 等待计时器超时 (例如,使其自身处于休眠状态的任务)。
如果您正在 MVS 目标方式工作负载管理环境中运行 CICS (即,您正在使用面向目标的性能管理) ,那么建议您在 WLM_WAIT_TYPE 参数上指定暂挂任务的原因。
|
注:
- 有关更多详细信息,请参阅 进行 XPI 调用中对 RESPONSE 和 REASON 的说明。
- 如果 INTERVAL 到期,或者如果死锁超时时间间隔到期,那么将返回 TIMED_OUT。
- TASK_CANCEL 表示该任务已被操作员操作或应用程序命令取消。