命令序列的不同处理
虽然可以对 APPC 映射对话和 MRO 对话使用类似的命令序列,但在某些情况下,相同的命令序列在每种对话类型中的操作方式不同。
APPC 映射对话和 MRO 对话之间的一些差异显示在 表 1中的命令序列中。
| 命令 | 映射的 APPC | MRO |
|---|---|---|
|
延迟发送 | 已发送 data1 |
|
将同步点请求添加到 data1,并同时发送这两个请求 |
发送包含空数据的同步点请求 |
|
data2的发送 (带有 INVITE) 已延迟 |
已发送带有 INVITE 的 data2 |
|
发送带有 INVITE的 data2 |
(没有要发送的内容) |
|
||
|
延迟发送带有 LAST 指示符的 data3 |
已发送 data3 ,但没有 LAST 指示符 |
|
同步点请求和 LAST 指示符已添加到 data3 并已发送 |
同步点请求和 LAST 指示符与空数据一起发送 |
当然, WAIT 选项可以添加到 SEND 命令中,以便在 APPC 链路上立即传输; 例如:
SEND CONVID(REM1)
FROM(data2)
LENGTH(251)
INVITE
WAIT
RECEIVE SESSION(REM1)此命令序列的 MRO 和 APPC 映射实现之间没有显着差异。 但是,对于 MRO ,带有 WAIT 选项的 SEND 命令会导致 CICS® 暂挂事务,直到伙伴系统收到数据为止。
与 APPC 不同, MRO 只允许传输一个未完成的 SEND。 这意味着当事务发出两个连续的 SEND 命令 (不带 WAIT 选项) 来传输数据时,在伙伴系统接收到第一个数据之前,第二个数据段不会流动。
对于包含隐式方向更改的命令序列, APPC 映射与 MRO 之间存在进一步的实现差异。 对于 MRO ,除非对话处于 接收状态 (状态 5) ,否则不得发出 RECEIVE 命令。