ISC (DPM-Bn) 子系统的输入格式控制
将 MFS 的主要输入消息格式化功能与 ISC 节点配合使用。
您可以使用以下 DPAGE 选择选项对消息进行格式化,并从多个 DPAGE 创建消息。
输入 DPAGE 选择
DIV 语句上的 OPTIONS = (DNM) 参数允许使用数据结构名 (DSN) 来选择 DPAGE。
如果定义了多个 DPAGE ,那么必须在每个 DPAGE 中指定一个 DPAGE 标签。 如果未选择任何 DPAGE ,那么将拒绝该消息并向另一个子系统发送错误消息。
如果定义了 OPTIONS=NODNM 和多个 DPAGEs ,那么将对第一条输入记录执行条件测试。 测试结果 (将 COND= 规范与数据相匹配) 确定选择哪个 DPAGE 进行输入数据格式设置。 如果不满足条件,并且所有定义的 DPAGEs 都是有条件的,那么将拒绝输入消息并向其他子系统发送错误消息。
单传输链
对于单传输链,可以使用条件数据来选择 DPAGEs。
使用条件数据选择 DPAGE对于具有单个传输链的多个 DPAGE 输入,请使用 OPTIONS=NODNM 参数。 第一个输入记录中的数据用于选择第一个 (或仅) 用于格式化的 DPAGE。 如果提供的数据与定义的任何 COND= 都不匹配,那么如果未对此 DPAGE 指定 COND= ,那么将选择最后定义的 DPAGE。 如果不满足条件,并且所有定义的 DPAGEs 都是有条件的,那么将拒绝输入消息并向其他子系统发送错误消息。 如果 DSN 在 DD 头中提供,那么将忽略该 DSN。 对于任何其他 DPAGE (提供的数据多于为所选 DPAGE 定义的数据) ,将使用后续记录中的数据来选择下一个 DPAGE 进行格式化。
多个传输链
对于多个传输链,可以使用 DSN 或使用条件测试来选择 DPAGEs。
使用 DSN 选择 DPAGE对于具有多个传输链的多个 DPAGE 输入,请使用 OPTIONS=DNM 参数。 在 DD 头中提供的 DSN 与消息的每个链一起使用,以选择用于格式化的 DPAGE。 如果找不到匹配项,那么将拒绝该消息并将错误消息 (DFS2113) 发送至另一个子系统。
对数据使用条件测试的 DPAGE 选择如果在 DD 头中提供了 DSN 以及消息的每个链 (或任何链) ,并且在 DIV 语句上指定了 OPTIONS=NODNM ,那么将忽略该 DSN。 每个链的第一条记录中的数据用于选择用于格式化的 DPAGE。 如果不满足任何条件,并且最后定义的 DPAGE 是无条件的 (即,未指定 COND= 参数) ,那么将选择此 DPAGE 进行格式化。 如果不满足条件,并且所有定义的 DPAGEs 都是有条件的,那么将拒绝输入消息并向其他子系统发送错误消息。
条件和无条件 DPAGE 的指定方式取决于是否指定了 OPTIONS=DNM 或 OPTIONS=NODNM。
- 对于 OPTIONS=DNM ,条件是使用 DPAGE 语句中的标签指定的。
- 对于 OPTIONS=NODNM:
- 要指定条件,请在 DPAGE 语句上指定 COND= 关键字。
- 要指定无条件,请省略 COND= 关键字。
MFS 支持两种输入方式: 记录和流。
记录方式
在记录方式下, ATTACH 管理器向 MFS 提供的一条记录对应于向 MFS 定义的一条记录。 按顺序处理为每条记录定义的记录和字段。 不得跨记录边界分割字段。 在此记录中必须存在记录中定义的字段的数据,才能由 MFS 考虑。 如果在记录末尾定义的字段不存在任何数据,那么可以向 MFS 显示简短记录。 如果不在记录末尾的字段的数据小于为相应 DFLD 定义的长度,或者如果不存在该字段的数据,那么必须插入字段制表符分隔字符以显示省略或截断。 如果不存在整个记录的数据,那么如果后面有其他数据记录,那么必须存在空记录或 1 字节记录 (包含单个 FTAB 字符)。 可以省略该记录:
- 对于单个 DPAGE 输入,在 DPAGE 结束时。
- 在具有多个传输链的多个 DPAGE 输入的 DPAGE 结束时。
- 在具有单个传输链的多个 DPAGE 输入的最后一个 DPAGE 结束时。 如果另一个 DPAGE 的数据跟在后面,那么无法从 DPAGE 中除去该记录。
流方式
在流方式下,将忽略记录边界,并且字段可以跨越记录边界。 DPAGE 中任何位置的字段省略的数据必须由 FTAB 指示。
对于省略到 DPAGE 结尾的数据,不需要 fTABs:
- 对于单个 DPAGE 输入,在 DPAGE 结束时。
- 在 DPAGE 结束时,用于具有多个传输链的多个 DPAGE 输入。
- 在具有单个传输链的多个 DPAGE 输入的最后一个 DPAGE 结束时。 如果另一个 DPAGE 的数据跟在后面,那么无法从 DPAGE 中除去 FTABs。
在 IMS的输入中, ATTACH 管理器提供了四种去块算法 (UNDEFINED , Ru , VLVB 和 CHAINED ASSEMBLY) ,它们指定以下内容:
- UNDEFINED 或 RU 指定一个 RU 等于处理的一个 MFS 记录。 当在 ATTACH FM 头中指定了 UNDEFINED 时, IMS TM 缺省为 RU 算法。
- VLVB 指定一个 VLVB 记录等于一个已处理的 MFS 记录。
- CHAINED ASSEMBLY 指定一个输入链等于为整个 DPAGE 处理的单个 MFS 记录。
对于 MFS RECORD 方式,请使用 VLVB 去块算法。 对于 MFS 记录方式,请勿使用:
- CHAINED ASSEMBLY ,因为整个输入链将作为单个 MFS 记录进行处理。
- UNDEFINED 或 RU ,因为 MFS 记录定义将取决于 RU 的大小。
对于 MFS STREAM 方式,可以使用所有去块选项。 在大多数情况下, UNDEFINED 和 RU 算法使用较少的缓冲区空间。
页面调度请求
使用 FM 头在使用 ISC 时输入页面调度请求。